:root{color-scheme:dark;--ink:#101d25;--gold:#d9b87a;--cream:#f5ead0;--blue:#67d9ef;--red:#ec8a7b;--app-h:100vh;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;overflow:hidden;width:100%;height:100%;overscroll-behavior:none}body{background:#080f13;color:var(--cream);display:flex;align-items:center;justify-content:center;background-image:radial-gradient(ellipse at 20% 20%,#1e3a3d88,transparent 60%),radial-gradient(ellipse at 90% 90%,#634d2544,transparent 55%)}button{font:inherit;color:inherit;cursor:pointer;border:0;touch-action:manipulation}button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}button:disabled{opacity:.6;cursor:wait}.hidden{display:none!important}#game-shell{position:relative;width:100%;max-width:520px;height:var(--app-h);overflow:hidden;isolation:isolate;background:#22352e;box-shadow:0 0 100px #0009}#battlefield{width:100%;height:100%;display:block;touch-action:none;user-select:none;-webkit-user-select:none}.vignette{position:absolute;inset:0;pointer-events:none;z-index:1;box-shadow:inset 0 0 55px #07111666;background:linear-gradient(#09141f22,transparent 25%,transparent 65%,#07101450)}
#hud{position:absolute;top:0;left:0;right:0;z-index:3;padding:calc(env(safe-area-inset-top,0px) + 7px) 13px 7px;background:linear-gradient(#101c25fa 20%,#11212de8 80%,#152b3600);pointer-events:none}.base-row{display:flex;align-items:center;gap:8px;padding-bottom:6px}.base-status{display:flex;align-items:center;gap:6px;flex:1;min-width:0}.base-status>div{flex:1;min-width:0}.base-status small{display:block;font-size:8px;letter-spacing:1.5px;margin-bottom:4px;color:#c0d0d5}.base-status.enemy{text-align:right}.base-status b{font-size:10px;color:#afc4d3;min-width:24px;font-variant-numeric:tabular-nums}.base-status.enemy b{color:#deb0a4}.castle-icon{font-size:24px;line-height:1;color:var(--blue);text-shadow:0 0 8px #4dc7ed33}.enemy .castle-icon{color:var(--red)}.versus{font-family:Georgia,serif;font-size:9px;color:#aa926a;letter-spacing:1px}.base-track{height:5px;background:#071218;border:1px solid #51748866;transform:skew(-12deg);overflow:hidden}.base-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#286d9c,#75e3ee);transition:width .15s}.enemy .base-track{border-color:#995b4966}.enemy .base-track i{background:linear-gradient(90deg,#bb5e4b,#f5aa86);float:right}.resource-row{height:49px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #8d9d9344;border-bottom:1px solid #8d9d9333}.gold-block{display:flex;align-items:center;gap:8px;min-width:130px}.coin-icon{display:grid;place-items:center;width:26px;height:26px;border:1px solid #f3d994;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fce6a6,#d69a38 65%,#82591d);box-shadow:inset 0 0 0 3px #bc872f,0 2px 4px #0007;color:#fff0b6;font-size:18px}.gold-block strong{font-family:Georgia,"Times New Roman",serif;font-size:27px;font-weight:500;letter-spacing:.5px;color:#ffefc7;font-variant-numeric:tabular-nums}.income-label{font-size:10px;color:#b9a87d;padding-top:5px}.time-block{text-align:center;margin-left:-9px}.time-block>span{font-size:18px;letter-spacing:1.2px;font-variant-numeric:tabular-nums}.time-block small{display:block;font-size:8px;color:#8aa5ae;letter-spacing:1px;margin-top:2px}.square-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #a98d5b9c;border-radius:7px;background:linear-gradient(#34414c,#18242e);box-shadow:inset 0 0 0 2px #0c182766,0 2px 6px #0005;font-size:27px;pointer-events:auto}.pause-icon{display:block;width:12px;height:15px;border-left:4px solid #ead6ac;border-right:4px solid #ead6ac}.cycle-row{display:flex;gap:12px;align-items:center;padding-top:7px;font-size:9px;color:#b4c9ca;font-variant-numeric:tabular-nums}.cycle-pill{display:flex;gap:5px;align-items:center}.cycle-pill b{font-weight:500;color:#eef0dd}.cycle-dot{width:10px;height:10px;border-radius:50%;background:conic-gradient(var(--gold) 0deg,#3a3c31 0deg);border:1px solid #9e9a7355}.blue-dot{border-color:#629eb055}.army-pill{margin-left:auto;color:#b7c4ba}.army-pill b{color:#f5e5bf;font-size:11px;margin-left:2px}
#lower-hud{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 13px);left:12px;right:12px;height:193px;pointer-events:none;z-index:3}.commander-card{position:absolute;left:0;bottom:0;display:flex;align-items:center;gap:7px;width:210px;height:64px;background:linear-gradient(115deg,#152434ee,#13251deb);border:1px solid #c5a56d88;border-radius:4px 13px 4px 4px;box-shadow:0 4px 13px #0008,inset 0 0 0 2px #070e1833}.commander-card canvas{width:68px;height:82px;align-self:flex-end;object-fit:contain;filter:drop-shadow(0 1px 3px #0009);margin-left:-3px;flex-shrink:0}.commander-copy{flex:1;min-width:0;padding:2px 8px 0 0}.commander-copy>span{font-family:"Songti SC",SimSun,serif;font-weight:600;font-size:16px;color:#f5e1b7}.commander-copy>small{display:block;font-size:8px;letter-spacing:1px;color:#93b4bb;margin:2px 0 5px}.commander-hp-track{height:15px;background:#081914;position:relative;border:1px solid #80bc9588;overflow:hidden;border-radius:2px}.commander-hp-track i{position:absolute;left:0;top:0;bottom:0;width:100%;background:linear-gradient(#90de89,#289765);transition:width .15s}.commander-hp-track b{position:relative;display:block;text-align:center;font-size:9px;font-weight:500;line-height:13px;color:#f4fff5;text-shadow:0 1px 2px #142a1f}.commander-card.ghost .commander-hp-track i{background:linear-gradient(#a7e9f8,#4e8ac3)}.action-card{position:absolute;left:0;bottom:78px;width:192px;background:linear-gradient(100deg,#0c2228e8,#163133d9);border:1px solid #8ea99566;border-left:2px solid #e0c28a;border-radius:3px 10px 3px 3px;padding:9px 10px 8px;box-shadow:0 3px 12px #0005}.action-top{display:flex;gap:7px;align-items:center}.action-top>span{font-size:18px;color:#efcf8f;line-height:1}.action-top strong{font-size:11px;font-weight:500;letter-spacing:.8px}.action-card p{margin:5px 0 7px;font-size:9px;color:#bac6b3;line-height:1.5}.action-track{height:3px;background:#03111688;overflow:hidden}.action-track i{display:block;height:100%;width:0;background:#e6c982;transition:width .09s linear}.action-card.contested{border-color:#e7a473}.action-card.contested .action-track i{background:#e99173}.minimap-frame{position:absolute;right:0;bottom:0;width:111px;height:193px;padding:5px 5px 6px;background:#0b1b24ed;border:1px solid #c4a87999;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);box-shadow:inset 0 0 0 3px #030b0f99}.minimap-heading{height:15px;font-size:8px;letter-spacing:1.6px;color:#baa57d;display:flex;justify-content:space-between;align-items:center;padding:0 2px}.minimap-heading span{color:#a2dbdf;font-size:12px}#minimap{width:99px;height:165px;display:block}.hint-toast,.event-toast{position:absolute;left:50%;transform:translateX(-50%);z-index:5;pointer-events:none;text-align:center;max-width:86%;width:max-content;border:1px solid #ccb88577;background:#14252ae8;box-shadow:0 3px 14px #0006;backdrop-filter:blur(8px);border-radius:4px;color:#f2e4be;font-size:11px;letter-spacing:.5px;padding:9px 14px}.hint-toast{top:calc(env(safe-area-inset-top,0px) + 135px)}.event-toast{top:calc(env(safe-area-inset-top,0px) + 178px);color:#e9dab1;font-size:12px;animation:toast-in .25s ease-out}@keyframes toast-in{from{opacity:0;transform:translate(-50%,7px)}to{opacity:1;transform:translate(-50%,0)}}
.screen-overlay{position:absolute;inset:0;z-index:10}.start-screen{overflow:hidden;background:#101c24}.start-art{position:absolute;inset:-2px;background-position:center 42%;background-size:cover;background-repeat:no-repeat;filter:saturate(.86);transform:scale(1.12)}.start-shade{position:absolute;inset:0;background:linear-gradient(#06151bb8 0%,#0b202b22 25%,#0a1c2766 43%,#07121ded 72%,#060e16 100%)}.start-content{position:absolute;inset:auto 29px calc(env(safe-area-inset-bottom,0px) + 22px);text-align:center}.eyebrow{font-size:9px;letter-spacing:3px;color:#b5a17d;display:flex;align-items:center;justify-content:center;gap:9px}.eyebrow span{width:22px;height:1px;background:linear-gradient(90deg,transparent,#d6bc7b)}.eyebrow span:last-child{transform:rotate(180deg)}h1,h2,p{margin-top:0}h1{font-family:"Songti SC",STSong,SimSun,serif;font-size:clamp(40px,12vw,58px);font-weight:700;letter-spacing:7px;margin:13px -7px 7px;color:#f5e6c2;text-shadow:0 2px 0 #8e704a,0 5px 20px #0009}.start-brand{margin-bottom:28px}.brand-en{font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:400;letter-spacing:1.6px;color:#dfc895;margin:0 0 5px;text-shadow:0 2px 12px #0008}.start-brand h1{font-size:clamp(43px,13.8vw,62px);letter-spacing:9px;margin:8px -9px 13px}.start-subtitle{display:flex;align-items:center;justify-content:center;gap:14px;font-size:12px;letter-spacing:4px;color:#d4c7a8;margin:0}.start-subtitle span{width:24px;height:1px;background:linear-gradient(90deg,transparent,#b7985e)}.start-subtitle span:last-child{transform:rotate(180deg)}.loading-panel{margin:0 0 22px;opacity:1;transition:opacity .7s ease}.loading-panel.complete{opacity:0;pointer-events:none}.loading-caption{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#b2c3c1;margin-bottom:9px}.loading-caption span:last-child{font-family:Georgia,serif;font-size:12px;letter-spacing:.6px;color:#e6cc91;font-variant-numeric:tabular-nums}.loading-track{height:5px;background:#06131dcc;border:1px solid #b99b604d;border-radius:3px;overflow:hidden;box-shadow:0 0 10px #c5a3630a}.loading-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#8f7345,#e1c386,#fff0bf);box-shadow:0 0 8px #eac17c66;transition:width .12s linear}.loading-panel.failed .loading-caption{color:#e6ac92}.loading-panel.failed .loading-track i{background:#c58565}.primary-button{width:100%;min-height:52px;padding:12px 19px;display:flex;align-items:center;justify-content:center;gap:17px;color:#19262a;font-size:16px;font-weight:650;letter-spacing:2px;background:linear-gradient(115deg,#f0d9a3,#c59d5f);border:1px solid #f8e4b3;border-radius:4px 13px 4px 4px;box-shadow:0 6px 20px #0006,inset 0 0 0 2px #98723c44;transition:filter .15s,transform .15s}.primary-button:active{filter:brightness(.9);transform:translateY(1px)}.primary-button b{font-size:21px;font-weight:400;line-height:1}.text-button{display:block;background:none;font-size:11px;letter-spacing:1px;color:#c9bd9f;padding:13px 15px;margin:3px auto 0}.version-line{border-top:1px solid #7d755c44;padding-top:12px;display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.4px;color:#6e888f}.sound-link{background:none;font-size:10px;color:#b3beb5;padding:4px 0;letter-spacing:1px}.modal-overlay{background:#061119bd;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:25px}.modal-card{width:100%;max-width:358px;background:linear-gradient(150deg,#233b44,#101e2b 65%);border:1px solid #bca16b88;border-radius:5px 22px 5px 5px;padding:27px 24px 22px;box-shadow:0 18px 80px #0009,inset 0 0 0 4px #08162277;text-align:center}.modal-ornament{font-size:32px;color:#d8b97d;margin-bottom:9px}.modal-card h2{font-family:"Songti SC",SimSun,serif;font-size:30px;letter-spacing:4px;font-weight:600;margin:13px 0 10px}.modal-subtitle{font-size:11px;color:#a7bec0;line-height:1.7;margin-bottom:25px}.setting-row{display:flex;align-items:center;justify-content:space-between;min-height:52px;border-bottom:1px solid #708a8740;font-size:12px;letter-spacing:.5px;width:100%;text-align:left}.setting-row b{font-size:11px;font-weight:500;color:#c5aa74}.setting-button{background:none}.speed-options{display:flex;gap:5px}.speed-options button{height:28px;min-width:34px;background:#0b1b25;color:#a4bbc0;border:1px solid #55777b66;border-radius:3px;font-size:11px}.speed-options button.selected{background:#bfa16b;color:#0c222a;border-color:#e1c78e}.secondary-button{width:100%;min-height:43px;background:#10212b;color:#d2bea0;border:1px solid #7d846a88;border-radius:4px;font-size:12px;letter-spacing:1px;margin-top:18px}.modal-note{display:block;margin-top:17px;color:#7b99a0;font-size:9px;line-height:1.8}.result-symbol{font-size:55px;color:#e6cc8c;text-shadow:0 0 30px #d6b56e66;margin:0 0 12px}.result-card.defeat .result-symbol{color:#bd8d89}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:18px 10px;margin:26px 0 30px}.result-stats div{border-bottom:1px solid #a49b6f44;padding-bottom:12px}.result-stats strong{display:block;font-size:23px;color:#e8d4aa;font-family:Georgia,serif;font-weight:400}.result-stats small{display:block;color:#93aeb3;font-size:10px;margin-top:5px}.guide-card{width:100%;height:85%;max-height:720px;background:linear-gradient(#253b44,#101e2b);border:1px solid #bca16b88;border-radius:5px 17px 5px 5px;display:flex;flex-direction:column;overflow:hidden}.guide-header{display:flex;justify-content:space-between;align-items:center;padding:20px 18px 16px;border-bottom:1px solid #8d9b8255}.guide-header .eyebrow{justify-content:flex-start;font-size:8px;letter-spacing:2px}.guide-header h2{font-family:"Songti SC",SimSun,serif;font-size:24px;letter-spacing:3px;margin:7px 0 0}.guide-scroll{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:18px}.guide-rules p{font-size:11px;line-height:1.9;color:#a9bdbe;margin-bottom:17px}.guide-rules b{font-weight:500;color:#eed7a4;font-size:12px}.unit-codex{border-top:1px solid #9e9e7044;padding-top:12px}.codex-tier{font-family:Georgia,serif;color:#e2c78f;font-size:19px;margin:13px 0 8px}.codex-row{display:flex;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid #7d999427}.codex-row canvas{width:52px;height:56px;flex-shrink:0;object-fit:contain}.codex-row strong{font-size:12px;color:#ead6ae;font-weight:500}.codex-row p{font-size:9px;line-height:1.7;color:#9fb6b7;margin:4px 0 0}.loading-error{position:absolute;top:20%;left:20px;right:20px;padding:15px;background:#382a27ed;border:1px solid #b97d68;font-size:12px;line-height:1.8}.rotate-notice{display:none;position:absolute;inset:0;z-index:30;background:#0e2029f5;align-items:center;justify-content:center;flex-direction:column}.rotate-notice>span{font-size:55px;color:#c9b07a}.rotate-notice h2{font-size:21px;font-weight:500;letter-spacing:4px;margin:15px 0 10px}.rotate-notice p{font-size:12px;color:#9cb6ba}
@media(min-width:700px){#game-shell{max-height:960px;border-left:1px solid #7c724755;border-right:1px solid #7c724755}body:before{content:'Dodo Overlords  /  刀刀霸业';position:fixed;left:28px;bottom:26px;writing-mode:vertical-rl;color:#557073;font-size:10px;letter-spacing:4px}}
@media(max-width:365px){#lower-hud{left:8px;right:8px}.commander-card{width:190px}.action-card{width:174px}.minimap-frame{width:98px;height:177px}#minimap{width:86px;height:149px}.start-content{left:23px;right:23px}.gold-block{min-width:110px}.cycle-row{gap:9px}.resource-row{height:44px}}
@media(max-height:700px){.start-content{bottom:calc(env(safe-area-inset-bottom,0px) + 13px)}.start-brand{margin-bottom:19px}.brand-en{font-size:20px}.start-brand h1{font-size:46px;margin:5px -7px 10px;letter-spacing:7px}.loading-panel{margin-bottom:17px}#lower-hud{height:168px}.minimap-frame{height:168px;width:99px}#minimap{width:87px;height:140px}.action-card{bottom:73px}}
@media(orientation:landscape) and (max-height:500px) and (pointer:coarse){.rotate-notice{display:flex}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
