/* 0.9.4: one stable portrait play surface, shared semantic status colors. */
/* Input feedback must not masquerade as a second selection. */
.mission.selected:before{content:'✓';position:absolute;right:6px;top:5px;color:var(--color);font-size:10px;line-height:12px}
.mission:focus-visible,.mode-tabs button:focus-visible,.tower-card:focus-visible{outline:2px dashed #d8ecf5;outline-offset:-3px}
.pad:focus-visible{outline:2px dashed #d8ecf5}
.tower-card:disabled{cursor:not-allowed;opacity:.65}
button:not(.pad):enabled:active{filter:brightness(1.08)}
:root{--health:#7ce0b3;--credit:#ffd46b;--energy:#c5b1ff;--info:#91d9f5}
.hud{gap:18px;min-height:78px}.hud small{font-size:11px;font-weight:600;letter-spacing:.2px}.hud strong{font-size:28px;font-weight:600}.hud strong span{font-size:13px}.hud .stat-note{font-size:11px}.core-stat{--health:#7ce0b3}.core-stat[data-health="hurt"]{--health:#ffce80}.core-stat[data-health="danger"]{--health:#ff927e}.core-meter{height:6px}.credit-stat{min-width:95px!important}.timer{min-width:105px!important}.pause{min-height:44px}
.notice-slot{height:44px;padding:0;display:flex;gap:8px;align-items:center;margin:2px 0 6px;border:1px solid #304552;border-radius:6px;background:#11202b;flex:none;overflow:hidden}
.notice-icon{font-size:20px;color:var(--info);padding-left:10px;flex:none}
.notice-slot .toast{opacity:1;position:static;max-height:none;width:auto;flex:1;min-width:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:12px;line-height:16px;text-align:left;transition:none;color:#d1dfe6}
.notice-slot .mini{align-self:stretch;min-width:44px;min-height:44px;padding:0 7px;border:0;border-left:1px solid #344752;border-radius:0;flex:none;font-size:12px}
.notice-slot[data-kind="move"]{border-color:#c1dfa4;background:#1b2b28}.notice-slot[data-kind="move"] .notice-icon{color:#c1dfa4}.notice-slot[data-kind="target"]{border-color:var(--energy)}.notice-slot[data-kind="target"] .notice-icon,.notice-slot[data-kind="ready"] .notice-icon{color:var(--energy)}.notice-slot[data-kind="event"]{border-color:#c59b72}.notice-slot[data-kind="event"] .notice-icon{color:#ffb581}
.battle-wrap{align-items:center;min-width:0}.battle{min-width:0!important;flex:none;max-width:100%}.pad{display:grid;place-items:center;color:#0c171c;font-size:17px;font-weight:bold;max-width:60px;text-shadow:none;outline-offset:-2px}.pad[data-move="move"],.pad[data-move="swap"]{background:#c8eaaae6!important;border:2px solid #e5ffd2}.pad[data-move="same"]{background:#263646e6!important;color:#fff;border:2px solid #d8e6ee}.pad[data-move="cooldown"]{background:#34252cea!important;color:#ffc1b0;border:1px dashed #dc9682;font-size:12px}.pad[data-move=""]{background:transparent!important}
.wave-strip{position:relative;align-items:center;min-height:26px;padding:5px 0}.wave-strip .boss{position:static;width:auto;flex:1;min-width:0;font-size:10px;letter-spacing:0;line-height:1}.wave-strip .boss>div{margin-top:3px;height:3px}.wave-strip .boss i{height:3px}
.tower-card[data-state="short"]{background:#101923}.tower-card[data-state="short"] em{color:#bdaba1}.tower-card[data-state="short"] small{color:#ffc3ac}.tower-card[data-state="locked"]{border-style:dashed;opacity:.7}.tower-card.selected{outline:1px solid var(--color);outline-offset:-2px}.tower-card small{font-size:11px}
.tower-actions .armed{border-color:#c8eaaa;background:#293b30;color:#e8ffd6}.ability-title{color:#c1c3cc}.ability-title #energy{color:var(--energy)}.ability-box p{color:#b1c2cf}.ability:disabled{opacity:.8}.ability #ability-note{color:#d8c9e8}
.entry-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 22px;border-bottom:1px solid #34434e;flex:none}.entry-header .mini{border:0}.modal[data-screen="intro"]{padding:0;display:flex;flex-direction:column;overflow:hidden;max-height:100%;width:min(570px,100%)}.entry-scroll{padding:0 24px 16px;overflow-y:auto;min-height:0}.modal .entry-scroll h1{font-size:clamp(60px,13vw,92px);margin:22px 0 16px}.modal .entry-scroll .lead{font-size:19px}.modal .entry-scroll .fine{line-height:1.7;margin:16px 0 0}.entry-loop{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:15px 0;border-block:1px solid #304451}.entry-loop span{color:#f0cd84;font-size:24px}.entry-loop b{display:block;font:11px Arial,sans-serif;letter-spacing:.8px;color:#dce6e5;margin-top:5px}.entry-loop i{font-size:14px;font-style:normal;color:#637b8d}.entry-actions{display:grid;gap:8px;padding:14px 22px 18px;border-top:1px solid #34434e;flex:none;background:#14212b}.entry-actions button{min-height:48px}
.modal[data-screen="choice"]{padding:0;display:flex;flex-direction:column;overflow:hidden}.evolution-heading{padding:16px 18px 0;flex:none}.modal[data-screen="choice"] h2{padding:0 18px;margin:10px 0 6px;font-size:28px;flex:none}.modal .evolution-intro{padding:0 18px;margin:0 0 12px;font-size:12px;flex:none}.evolution-choices{overflow-y:auto;min-height:0;padding:0 16px 16px;overscroll-behavior:contain;scrollbar-width:thin}.evolution-pick{min-height:100px;padding:10px 12px;gap:10px}.evolution-copy>b{font-size:21px}.evolution-family{font-size:10px}.evolution-context{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.evolution-fit{display:inline-block;font-size:10px;color:#bbccda;background:#ffffff08;padding:3px 5px;border-radius:3px;line-height:1.3}.fit-ready{color:var(--tower-color)}.fit-missing{color:#e6d2b6;border:1px dashed #89765d;padding:2px 4px}.evolution-detail summary{min-height:44px;padding:12px;line-height:18px;font-size:11px}.evolution-icon{width:32px;font-size:31px}.evolution-arrow{font-size:18px}
@media(max-width:760px){
 .top{height:44px;padding:0 10px;flex:none}.top .brand{font-size:18px}.top-actions .mini{min-height:44px}.game-shell{padding:0 8px;margin-top:3px;gap:0;max-width:540px;width:100%}.hud{min-height:65px;gap:12px}.hud small{font-size:10px;letter-spacing:0}.hud strong{font-size:24px}.hud .stat-note{font-size:10px;margin-top:2px;line-height:1.2}.core-stat{min-width:88px!important}.credit-stat{min-width:89px!important}.timer{min-width:92px!important}.timer .stat-note{font-size:9px}.hud strong span{font-size:12px}.hud .timer strong span{font-size:10px}.progress{height:2px;margin:3px 0 4px;flex:none}.progress>div{height:2px}.notice-slot{height:44px;margin:2px 0 5px;gap:5px}.notice-slot .toast{font-size:11px;line-height:15px}.notice-icon{padding-left:7px;font-size:18px}.wave-strip{font-size:10px;min-height:24px;padding:4px 0;flex:none}
 .console{padding:0;min-width:0}.tower-shop{gap:5px}.tower-card{height:58px;min-height:58px;padding:5px 6px}.tower-card .glyph{height:21px;font-size:21px}.tower-card b{font-size:10px;line-height:13px;margin:0;overflow:hidden;text-overflow:ellipsis}.tower-card small{display:block;font-size:9px;line-height:10px;margin-top:2px}.tower-card em{font-size:11px;top:7px;right:5px}
 .selection{height:88px;min-height:88px;margin-top:4px;padding:0;border:0;overflow:hidden}.selection-top{height:38px;min-height:38px!important}.selection h2{font-size:12px}.selection .mini{min-height:38px!important;min-width:44px!important}.selection p{font-size:11px;line-height:1.5;margin:0;max-height:34px;overflow:hidden}.selection .sel-stats{display:none}.selection[data-selected="true"] #sel-desc{display:none}.tower-actions{margin:0;gap:4px;height:44px}.tower-actions button{font-size:10px;padding:2px;line-height:1.3;min-width:0;min-height:44px}.tower-actions .primary{font-size:10px;flex:1.2}.tower-actions #priority{font-size:9px;flex:1}.tower-actions #move{flex:1.2}
 .launch{margin:0;min-height:48px;height:48px;font-size:13px}.ability-box{height:48px;min-height:48px;padding:0;margin:0;grid-template-columns:1fr 1.1fr;gap:0 8px}.ability-title{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;grid-row:1;line-height:1.2;font-size:10px}.ability-title #energy{font-size:11px}.ability-box p{display:none}.ability{min-height:48px;height:48px;grid-row:1;grid-column:2;padding:5px 10px}.ability #ability-name{font-size:17px}.ability #ability-note{font-size:10px}.footer{display:none}
 .compact-play #app{height:var(--overlay-height,100dvh);min-height:600px;display:flex;flex-direction:column;overflow:hidden}.compact-play .game-shell{margin-top:0;padding-top:3px;padding-bottom:max(6px,env(safe-area-inset-bottom));flex:1;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 198px}.compact-play .field-column{display:flex;flex-direction:column;min-height:0}.compact-play .battle-wrap{flex:1;min-height:0}.compact-play .console{height:198px;overflow:hidden}.compact-play .console-top{display:none}
 .modal[data-screen="choice"] h2{font-size:25px}.evolution-pick{min-height:101px;padding:8px;gap:8px}.evolution-copy>b{font-size:18px}.evolution-family{font-size:9px}.evolution-effect{font-size:11px}.evolution-fit{font-size:9px}.evolution-icon{width:24px;font-size:26px}.evolution-detail summary{padding:10px;min-height:40px}.evolution-heading{padding-top:12px}.evolution-choices{gap:7px;padding-bottom:12px}
}
@media(max-width:350px){.hud{gap:7px}.core-stat{min-width:75px!important}.credit-stat{min-width:75px!important}.timer{min-width:77px!important}.hud small{font-size:9px}.hud strong{font-size:22px}.hud .timer strong span{display:none}.hud .stat-note{font-size:9px}.game-shell{padding-bottom:10px}.evolution-copy>b{font-size:16px}.evolution-heading{padding-inline:12px}.entry-scroll{padding-inline:18px}.entry-loop span{font-size:20px}.entry-actions{padding:10px 16px}.entry-actions button{min-height:44px}.entry-header{padding:5px 16px}.modal .entry-scroll h1{font-size:63px}.modal .entry-scroll .lead{font-size:16px}}
.pad[data-tower]:not([data-move="move"]):not([data-move="swap"]):not([data-move="cooldown"]):not([data-move="same"]){font-size:18px;color:var(--color)}
.pad .tower-symbol{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#0c1720e8;border:1px solid var(--color);line-height:1;pointer-events:none}
@media(min-width:761px){.pad .tower-symbol{display:none}}
@media(max-width:760px){.selection-top{height:44px;min-height:44px!important}.selection .mini{min-height:44px!important}.evolution-detail summary{min-height:44px;padding:12px 10px}}
@media(prefers-reduced-motion:reduce){.core-meter i{transition:none}}
.pad[data-move]{background:transparent!important;border:0!important}
.pad .move-symbol,.pad .tower-symbol{width:var(--badge-size,26px);height:var(--badge-size,26px);font-size:calc(var(--badge-size,26px)*.66);pointer-events:none}
.pad .move-symbol{display:grid;place-items:center;border:1px solid #dbefc9;border-radius:50%;background:#b6d99bef;color:#142018;line-height:1}
.pad[data-move="same"] .move-symbol{background:#203140ef;border-color:#e5edf0;color:#fff}
.pad[data-move="cooldown"] .move-symbol{background:#3a2928ed;border-style:dashed;border-color:#dda589;color:#ffdac4;font-size:10px}
.notice-slot[data-kind="danger"]{border-color:#ff9baa;background:#38222b}.notice-slot[data-kind="danger"] .notice-icon{color:#ffbdc9}.notice-slot[data-kind="synergy"]{border-color:#4e676f}
.backup-link{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;color:#9dafbc;min-height:44px;padding:4px 0;font-size:11px}.backup-actions{display:grid;gap:12px;margin:18px 0}.backup-actions label{font-size:12px;color:#bdcddb}.backup-actions input{width:100%;font:12px Arial,sans-serif;min-height:44px;color:#b8cbd8}.backup-actions input::file-selector-button{min-height:44px;background:#1d3040;border:1px solid #657989;color:#e8eef2;border-radius:5px;padding:8px;margin-right:10px}
.backup-download{display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:6px;text-decoration:none;text-align:center;font-size:13px;font-weight:bold}.backup-download:focus-visible{outline:2px solid #fff;outline-offset:3px}
.backup-text{border-top:1px solid #34434e}.backup-text summary{min-height:44px;padding:14px 0;font-size:11px;cursor:pointer}.backup-text p{font-size:12px;line-height:1.6}.backup-text textarea{display:block;width:100%;height:96px;resize:vertical;background:#0e1720;color:#c3d9e4;border:1px solid #587285;border-radius:5px;padding:8px;font:10px ui-monospace,monospace}.backup-text .buttons{margin:10px 0}.backup-text button{min-height:44px;font-size:11px}
.compact-play[data-run="playing"] .top{display:none}.pause-preferences{display:flex;gap:8px;padding-top:12px;border-top:1px solid #34434e;margin-top:16px}.pause-preferences button{min-height:44px;flex:1;font-size:12px}
.pad[data-danger="true"] .tower-symbol,.pad[data-danger="true"] .move-symbol{border:2px solid #ffb1bf;box-shadow:0 0 0 3px #ff79944d}
.hud-controls{display:flex;align-items:center;gap:4px;flex:none}.hud-controls button{width:44px;min-width:44px;height:44px;min-height:44px;padding:2px}.speed{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;font-variant-numeric:tabular-nums}.speed>span{font-size:17px;font-weight:700;line-height:20px}.hud .speed>small{font-size:8px;font-weight:400;letter-spacing:.3px;line-height:10px;margin:0}.speed[aria-pressed="true"]{color:#f5d48e;border-color:#c8a45a;background:#3c3320}.speed[data-guarded="true"]{color:#ffc2cb;border-color:#d58b9b;background:#39232c}
@media(max-width:760px){.hud{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.12fr) 92px;gap:7px}.hud .core-stat,.hud .credit-stat,.hud .timer{min-width:0!important;margin-left:0}.hud strong{font-size:23px}.hud small{font-size:9px;white-space:nowrap}.hud .stat-note{font-size:9px}.hud .timer strong span{font-size:9px}.hud .timer .stat-note{font-size:8px}.hud-controls{justify-self:end}.hud .core-meter{width:100%}}
@media(max-width:350px){.hud{gap:5px}.hud strong{font-size:21px}.hud small{font-size:8px}.hud .stat-note{font-size:8px}.hud .timer .stat-note{font-size:7px}.hud .timer strong span{display:none}}
.trial-list{display:grid;gap:8px;margin:8px 0}.trial{display:grid;gap:4px;padding:10px;border:1px solid #354552;border-radius:6px}.trial b{font-size:13px;color:#d9e1e7}.trial span{font-size:11px;line-height:1.5;color:#9cb0bf}.trial.complete{border-color:#6ba995}.trial.complete b{color:#a5e3c6}
.modal[data-screen="end"]{padding:0;display:flex;flex-direction:column;overflow:hidden;width:min(560px,100%)}.result-heading{padding:18px 20px 8px;flex:none}.result-heading h2{font-size:34px;margin:10px 0 5px}.result-heading>p{font-size:12px;margin:0;color:#bdcddb}.result-scroll{padding:0 20px 16px;overflow-y:auto;min-height:0;overscroll-behavior:contain}.result-scroll .score-grid{margin:14px 0}.result-scroll .score-grid b{font-size:25px}.result-scroll .score-grid span{font-size:10px}.result-tip{font-size:13px!important;line-height:1.6!important;padding:10px;border-left:3px solid #dcc68a;background:#ffffff04}.result-reactions{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;color:#c7d9e1;margin:16px 0}.result-reactions span:nth-child(1){color:#ffd46b}.result-reactions span:nth-child(2){color:#89dfff}.result-reactions span:nth-child(3){color:#c6adff}.result-actions{display:grid;gap:8px;padding:14px 20px 18px;background:#14212b;border-top:1px solid #34434e;flex:none}.result-actions button{min-height:44px}.result-detail{border-top:1px solid #34434e}.result-detail summary{padding:14px 0;font-size:12px;min-height:44px;cursor:pointer}.result-detail h3{font-size:11px;letter-spacing:1px;font-weight:400;color:#91a9ba}.damage-report{display:grid;gap:8px}.damage-report>div{display:grid;grid-template-columns:1fr auto;position:relative;padding-bottom:6px;gap:5px;font-size:11px;color:var(--report-color)}.damage-report b{font-size:11px;font-weight:400}.damage-report i{position:absolute;bottom:0;height:3px;border-radius:2px;background:var(--report-color)}.tempo-report{display:flex;align-items:end;justify-content:space-around;gap:8px;height:95px}.tempo-report>div{display:flex;flex-direction:column;align-items:center;justify-content:end;gap:5px;flex:1}.tempo-report b{font-size:10px;font-weight:400;color:#dfe4eb}.tempo-report i{display:block;background:#84cab4;width:100%;max-width:44px;min-height:2px;border-radius:3px}.tempo-report small{font-size:10px;color:#a4b7c6}.tempo-report .unreached{opacity:.35}.trial-earned{font-size:12px!important;line-height:1.6!important;color:#a7e8c4!important}.result-scroll .fine{font-size:11px;line-height:1.6;margin-bottom:0}
@media(max-width:350px){.result-heading{padding:12px 14px 5px}.result-heading h2{font-size:28px}.result-scroll{padding-inline:14px}.result-actions{padding:10px 14px}.result-scroll .score-grid b{font-size:21px}}

/* Bilingual chrome and consistent return navigation. */
body{font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}.collection-return{display:flex;align-items:center;justify-content:center;min-height:44px;color:#e1c885;margin:10px auto 0;text-decoration:none;font-size:14px}.collection-return:focus-visible{outline:3px solid #f4d894;outline-offset:3px}.pause-preferences button{min-height:44px}.campaign-header button{min-height:44px;min-width:44px}.backup-text summary{min-height:44px;align-content:center}.evolution-choices button{min-width:0;overflow-wrap:anywhere}.selection h2{overflow-wrap:anywhere}
