:root{color-scheme:dark;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#e5f6ff;background:#040b13;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}#shell{position:relative;margin:env(safe-area-inset-top) auto 0;width:min(100vw,calc((100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))*.5625));height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:177.7778vw;background:#071525;isolation:isolate}#game{position:absolute;inset:0;touch-action:none}canvas{display:block;touch-action:none}#brand{position:absolute;top:5%;left:3%;right:3%;display:grid;gap:8px;text-align:center;pointer-events:none;text-shadow:0 3px #071525,0 0 24px #1a8dc9}#brand strong{font-size:clamp(26px,7vw,42px);letter-spacing:.075em;color:#e4f7ff}#brand span{font-size:.75rem;letter-spacing:.14em;color:#91dcf9}#panel{position:absolute;inset:19% 4% 68px;max-height:none;padding:18px;background:#061321f5;border:1px solid #387391;box-shadow:0 16px 35px #020811aa;overflow:auto;text-align:center;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#387391 #061321}h1{font-size:1.2rem;letter-spacing:.07em;margin:8px 0}h2{font-size:1.15rem;margin:8px 0}.eyebrow{font-size:.75rem;letter-spacing:.06em;color:#ffd166}p{font-size:1rem;line-height:1.45}#message{font-size:.875rem;margin:10px 0}#help{font-size:.875rem;color:#b2c6d8;line-height:1.5}button{font-weight:650;min-height:44px;border:1px solid #64819a;background:#102a40;color:#e5f6ff;padding:10px 12px;border-radius:3px;font-size:.875rem}button:hover{background:#214666}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #ffd166;outline-offset:3px}#launch,#continue,#retry,#return-menu{width:100%;margin:8px 0 0}#launch{background:#133c53;border-color:#7dd4f4;letter-spacing:.05em;text-transform:uppercase}#continue{background:#ffd166;color:#071525;border-color:#ffe5a0}#launch:hover{background:#195371}#hangar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.craft{--accent:#72dcff;display:grid;place-items:center;align-content:start;gap:5px;min-width:0;padding:8px 3px;border-color:#27475d;background:#081928;color:#9eb5c7}.craft[aria-checked=true]{color:#fff;border-color:var(--accent);background:#102b3e;box-shadow:inset 0 0 0 1px var(--accent)}.craft img{width:68px;max-width:100%;height:68px;object-fit:contain;image-rendering:pixelated}.craft strong{font-size:.875rem;color:var(--accent);letter-spacing:-.04em;overflow-wrap:anywhere}.craft span{font-size:.875rem;overflow-wrap:anywhere}.craft small{font-size:.75rem}#pilot-label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;font-size:.875rem;letter-spacing:.08em;color:#79dfff;text-align:left}input,select{min-width:0;width:100%;min-height:44px;padding:8px;border:1px solid #315b73;background:#06101b;color:#fff;font-size:1rem}#nickname{text-transform:uppercase}.settings-row{display:grid;gap:9px;margin:12px 0;text-align:left}label{display:grid;gap:6px;font-size:.875rem}.settings-row label{align-items:center}.settings-row select{font-size:1rem}#record{color:#ffd166;font-size:.875rem}small{font-size:.75rem;color:#9bb2c9}details{text-align:left;border-top:1px solid #355067;padding-top:10px;margin:16px 0;font-size:.875rem}summary{cursor:pointer;min-height:44px;display:list-item;align-content:center;color:#9de5ff}details p{font-size:.875rem;overflow-wrap:anywhere}#ranking ol{display:grid;gap:6px;margin:0;padding:0;list-style:none}#ranking li{display:grid;grid-template-columns:16px 1fr auto;gap:6px;font-size:.875rem;color:#8da6b8}#ranking li>span:nth-child(3){grid-column:2;font-size:.75rem}#ranking li em{grid-column:3;grid-row:1/3;font-style:normal;color:#ffd166;align-self:center}#ranking li strong{color:#e5f6ff;overflow-wrap:anywhere}#ranking li.empty{display:block}#campaign-map{display:grid;gap:6px}.route-node{border-left:2px solid #304f67;padding:7px 10px;color:#829aac;font-size:.875rem}.route-node.current{border-color:#ffd166;color:#ffd166}.route-node.cleared{border-color:#8fc7e2;color:#c0e5fa}#build-list,#synergy-list,#upgrade-inspect{white-space:pre-line;font-size:.875rem;line-height:1.6;text-align:left;color:#c4dceb}#upgrade{position:absolute;z-index:20;top:50%;left:4%;right:4%;transform:translateY(-50%);max-height:calc(100% - 16px);overflow:auto;overscroll-behavior:contain;padding:12px;background:#050e1af8;border:1px solid #4e86a3;box-shadow:0 18px 70px #000;text-align:center}#upgrade-build,#wave-debrief{font-size:.875rem;color:#a9c7db;white-space:pre-line;line-height:1.35;margin:6px 0}#upgrade-options{display:grid;gap:8px;margin:10px 0}.upgrade-card{position:relative;display:grid;gap:5px;min-width:0;min-height:105px;padding:10px;text-align:left;background:#0a2031}.upgrade-card span{font-size:.75rem;color:#83c7e6}.upgrade-card strong{font-size:1rem;color:#eaf8ff}.upgrade-card small{font-size:.875rem;line-height:1.4;letter-spacing:0;color:#b2cbdc}.upgrade-card em{position:absolute;right:10px;top:12px;font-size:.75rem;font-style:normal;color:#cee8f7}.upgrade-card span{padding-right:70px}.upgrade-card.rare{border-color:#35baf1}.upgrade-card.epic{border-color:#b36aff;box-shadow:inset 0 0 18px #7629a52b}.upgrade-card.epic span{color:#d498ff}.upgrade-actions,.save-actions{display:flex;flex-wrap:wrap;gap:8px}.upgrade-actions button,.save-actions button{flex:1 1 100px}#checkpoint-note{font-size:.75rem;color:#94c9dc}#upgrade-inspect{margin-top:16px;padding:12px;background:#0c2132}#controls{position:absolute;inset:auto 8px 8px;display:flex;gap:6px;justify-content:space-between;pointer-events:none}#controls button{pointer-events:auto;background:#071525ef;border-color:#387391;padding:10px 8px;touch-action:manipulation}#focus[aria-pressed=true]{border-color:#ffd166;color:#ffd166}dialog{z-index:50;max-width:min(90vw,440px);padding:22px;background:#081928;color:#e5f6ff;border:1px solid #88c6e3}dialog::backdrop{background:#020811dd}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#shell:not([data-mode=playing]){width:min(100%,540px);max-height:none}#shell:not([data-mode=playing]):not([data-mode=upgrade]) #game:after{content:"";position:absolute;inset:-7%;background:linear-gradient(#06101b55,#06101bd9),url(/citadel-v1.webp) center/cover;pointer-events:none;animation:menu-drift 12s ease-in-out infinite alternate;will-change:transform,filter}#shell:not([data-mode=playing]):not([data-mode=upgrade]) #game:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle at 51% 9%,#ffcb7070 0 1px,transparent 5px),radial-gradient(circle at 8% 35%,#ff832b80 0 1px,transparent 4px),radial-gradient(circle at 92% 40%,#ffb34770 0 1px,transparent 5px);background-size:100% 100%;mix-blend-mode:screen;animation:menu-lights 3.7s steps(4,end) infinite}@keyframes menu-drift{0%{transform:scale(1.05) translate3d(-8px,-14px,0);filter:saturate(.9) brightness(.92)}to{transform:scale(1.12) translate3d(10px,14px,0);filter:saturate(1.12) brightness(1.06)}}@keyframes menu-lights{0%,to{opacity:.25}45%{opacity:.85}70%{opacity:.42}}#shell:not([data-view=home]) #panel,#shell[data-mode=paused] #panel,#shell[data-mode=ended] #panel{top:4%}.back-button{display:block;background:transparent;border-color:#315b73;margin:0 0 18px;text-align:left}#title:focus{outline:none}#flight-summary{display:flex;align-items:center;justify-content:center;gap:16px;margin:8px 0 12px}#flight-summary img{object-fit:contain;image-rendering:pixelated;flex:none}#flight-summary p{display:grid;gap:6px;text-align:left;margin:0;font-size:.875rem;min-width:0}#selected-name{color:#9ae7ff;letter-spacing:.08em}#selected-mode{color:#b2c6d8;font-size:.75rem;overflow-wrap:anywhere}#menu-navigation{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}#menu-navigation button{text-align:left;padding:13px}#menu-footer{display:flex;justify-content:center;border-top:1px solid #25485f;margin-top:14px;padding-top:6px}#menu-footer button{background:transparent;border-color:transparent;font-weight:400;color:#b5d6e9}#menu-footer button:hover{color:#fff;background:#163247}#pause-settings,.full-width{width:100%;margin:12px 0 0}.reading-view{text-align:left;line-height:1.6;overflow-wrap:anywhere}.reading-view h2{font-size:1rem;letter-spacing:.03em;color:#9ae7ff;margin:26px 0 8px;padding-top:16px;border-top:1px solid #27465b}.reading-view>h2:first-child{margin-top:20px}.reading-view p{margin:8px 0 16px}.reading-view a{color:#9de5ff;text-underline-offset:4px;display:inline-block;padding:6px 0;line-height:1.6}.hint,#aircraft-description{color:#b2c6d8;font-size:.875rem;line-height:1.6;text-align:left}.credit-studio{letter-spacing:.16em;color:#ffd166;margin-top:28px!important}#save-feedback{color:#ffd166}#save-feedback:empty{display:none}#ranking li{padding:14px 8px;border-bottom:1px solid #27465b}@media(max-width:360px){#panel{padding:12px}.craft{gap:7px}.craft img{width:56px;height:56px}#brand strong{font-size:28px}}@media(max-height:680px){#panel{top:19%;padding:12px}#brand{top:3%;gap:4px}#brand strong{font-size:26px}#brand span{font-size:.75rem}#upgrade{padding:12px}#upgrade-build{font-size:.875rem}.upgrade-card{min-height:90px}#help{font-size:.875rem}}@media(max-height:440px){#brand{display:none}#shell #panel{top:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}#shell #game:before,#shell #game:after{animation:none}}.upgrade-card .upgrade-impact{margin:0;color:#a5efff;font-size:.875rem;line-height:1.4;font-weight:600}#upgrade .eyebrow{margin:2px 0 6px}#upgrade h2{margin:6px 0}#checkpoint-note{margin:8px 0 0}#shell[data-mode=upgrade] #game{visibility:hidden}#upgrade-receipt{position:absolute;z-index:15;bottom:68px;left:4%;right:4%;pointer-events:none;text-align:center;color:#a5efff;text-shadow:0 2px 2px #020811,1px 0 #020811,-1px 0 #020811;font-size:.75rem;line-height:1.4}#upgrade-receipt strong,#upgrade-receipt span{display:block}#upgrade-receipt strong{font-size:.875rem}#shell:not([data-mode=playing]) #upgrade-receipt{display:none}#controls button small{display:block;font-size:.625rem;line-height:1.2;color:inherit;letter-spacing:.03em}#resume-countdown{position:absolute;z-index:16;top:40%;left:0;right:0;text-align:center;pointer-events:none;color:#a5efff;text-shadow:0 3px 3px #020811}#resume-countdown span{display:block;font-size:.875rem;letter-spacing:.15em}#resume-countdown strong{display:block;font-size:3rem}#shell:not([data-mode=playing]) #resume-countdown{display:none}
