:root {
  --ink: #0c0c0a;
  --panel: #151510;
  --panel-2: #1c1b16;
  --panel-3: #24231d;
  --paper: #eee9d8;
  --muted: #918d7c;
  --line: #39372d;
  --amber: #f3a72f;
  --amber-soft: #9f6720;
  --cyan: #66e0df;
  --danger: #ed6a5a;
  --success: #a5d66a;
  --shadow: 0 18px 60px rgba(0, 0, 0, .35);
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body { margin: 0; background: var(--ink); color: var(--paper); overflow-x: hidden; }
button { font: inherit; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.scanlines { position: fixed; inset: 0; pointer-events: none; z-index: 20; opacity: .13; background: repeating-linear-gradient(to bottom, transparent 0, transparent 3px, #000 4px); mix-blend-mode: multiply; }

.topbar { min-height: 66px; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: minmax(240px, 1fr) minmax(320px, 2fr) auto; align-items: stretch; position: sticky; top: 0; z-index: 10; background: rgba(12, 12, 10, .96); backdrop-filter: blur(12px); }
.brand { color: inherit; text-decoration: none; display: flex; gap: 11px; align-items: center; padding: 10px 18px; border-right: 1px solid var(--line); }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--amber); color: var(--amber); font-family: Georgia, serif; font-weight: 900; font-size: 22px; transform: rotate(-2deg); }
.brand-mark span { color: var(--cyan); }
.brand strong { display: block; letter-spacing: .18em; font-size: 14px; }
.brand small { display: block; color: var(--muted); font-size: 10px; margin-top: 4px; }
.version-badge { display:inline-block; margin-left:7px; border:1px solid var(--cyan); border-radius:999px; color:var(--cyan); padding:2px 5px; font:700 7px ui-monospace,monospace; letter-spacing:.06em; vertical-align:2px; }
.ticker { display: flex; align-items: center; min-width: 0; color: #bdb8a7; font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; padding: 0 18px; overflow: hidden; white-space: nowrap; }
.ticker-label { color: var(--amber); border: 1px solid var(--amber-soft); padding: 2px 5px; margin-right: 12px; font-weight: 800; letter-spacing: .12em; }
#tickerText { text-overflow: ellipsis; overflow: hidden; }
.top-actions { display: flex; align-items: stretch; }
.text-button { border: 0; border-left: 1px solid var(--line); background: transparent; color: var(--muted); padding: 0 15px; cursor: pointer; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; }
.text-button:hover { color: var(--paper); background: var(--panel); }
.text-button span { color: var(--amber); }

.game-shell { display: grid; grid-template-columns: minmax(370px, 1.05fr) minmax(320px, .82fr) minmax(390px, 1.08fr); height: calc(100vh - 66px); }
.lab-panel, .research-panel, .store-panel { min-width: 0; overflow-y: auto; border-right: 1px solid var(--line); background: var(--panel); }
.column-lab { --column-accent:var(--amber); background:#11100d; box-shadow:inset -10px 0 30px rgba(0,0,0,.18); }
.research-panel { background-color:#0d1515; background-image:linear-gradient(rgba(102,224,223,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(102,224,223,.035) 1px,transparent 1px); background-size:24px 24px; padding: 22px; }
.column-research { --column-accent:var(--cyan); box-shadow:inset 3px 0 rgba(102,224,223,.28); }
.store-panel { border-right: 0; background-color:#1a1711; background-image:repeating-linear-gradient(135deg,rgba(243,167,47,.018) 0,rgba(243,167,47,.018) 8px,transparent 8px,transparent 18px); }
.column-store { --column-accent:#ed875a; box-shadow:inset 3px 0 rgba(237,135,90,.25); }
.status-strip { height: 38px; display: flex; align-items: center; padding: 0 14px; border-bottom: 1px solid var(--line); color: var(--muted); font: 10px ui-monospace, monospace; letter-spacing: .1em; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--success); margin-right: 9px; box-shadow: 0 0 10px var(--success); }
.status-right { margin-left: auto; }.status-right b { color: var(--success); }
.lab-stage { min-height: 590px; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: center; background: radial-gradient(circle at 50% 43%, rgba(62, 122, 122, .18), transparent 30%), linear-gradient(#14140f, #0c0c0a); }
.grid-horizon { position: absolute; inset: 46% -25% -10%; opacity: .24; transform: perspective(320px) rotateX(54deg); transform-origin: top; background-image: linear-gradient(rgba(102,224,223,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(102,224,223,.25) 1px, transparent 1px); background-size: 46px 46px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.token-readout { text-align: center; position: relative; z-index: 2; margin-top: 40px; }
.token-readout p, .eyebrow { color: var(--muted); font: 10px ui-monospace, monospace; letter-spacing: .16em; margin: 0 0 7px; }
.token-readout h1 { font: 700 clamp(27px, 3vw, 42px)/1 Georgia, serif; margin: 0; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.token-readout > span { display: block; color: var(--cyan); font: 12px ui-monospace, monospace; margin-top: 9px; }
.core-button { width: 224px; height: 224px; border: 0; border-radius: 50%; background: transparent; cursor: pointer; position: relative; z-index: 2; margin: 50px 0 38px; touch-action: manipulation; filter: drop-shadow(0 20px 25px rgba(0,0,0,.5)); }
.core-disc { position: absolute; inset: 33px; border-radius: 50%; display: grid; place-content: center; background: radial-gradient(circle at 38% 34%, #fff6c6 0 3%, #f7bd4d 10%, #9b4d12 64%, #30180d 100%); border: 3px double #f4bb51; box-shadow: inset 0 0 0 10px rgba(40,14,4,.35), inset 0 0 45px #190c06, 0 0 30px rgba(243,167,47,.18); transition: transform .08s ease, filter .15s ease; }
.core-button:hover .core-disc { filter: brightness(1.13); }
.core-button:active .core-disc, .core-button.is-hit .core-disc { transform: scale(.94); }
.core-disc b { font: 900 18px ui-monospace, monospace; color: #241307; letter-spacing: .12em; text-shadow: 0 1px rgba(255,255,255,.3); }
.core-disc small { font: 700 10px ui-monospace, monospace; color: #45230c; margin-top: 6px; }
.core-orbit { position: absolute; border: 1px solid rgba(102,224,223,.4); border-radius: 50%; pointer-events: none; }
.orbit-one { inset: 14px; animation: spin 11s linear infinite; border-left-color: var(--cyan); border-right-color: transparent; }
.orbit-two { inset: 2px 28px; transform: rotate(57deg); animation: spinReverse 16s linear infinite; border-top-color: var(--amber); border-bottom-color: transparent; }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes spinReverse { from { transform: rotate(57deg); } to { transform: rotate(-303deg); } }
.float-layer { position: absolute; inset: 0; pointer-events: none; z-index: 4; }
.anomaly { position: fixed; z-index: 19; width: 54px; height: 54px; border-radius: 50%; border: 1px solid var(--cyan); background: rgba(9, 28, 28, .88); color: var(--cyan); font-size: 27px; cursor: pointer; box-shadow: 0 0 0 7px rgba(102,224,223,.08), 0 0 28px rgba(102,224,223,.5); animation: anomalyPulse 1.15s ease-in-out infinite alternate; }
@keyframes anomalyPulse { to { transform: scale(1.16) rotate(25deg); filter: brightness(1.45); } }
.float-token { position: absolute; color: var(--paper); font: 800 14px ui-monospace, monospace; animation: floatUp .9s ease-out forwards; text-shadow: 0 2px 5px #000; }
@keyframes floatUp { from { opacity: 1; transform: translate(-50%, 0); } to { opacity: 0; transform: translate(-50%, -72px); } }
.lab-meters { width: calc(100% - 34px); display: grid; grid-template-columns: repeat(4,1fr); position: relative; z-index: 2; border: 1px solid var(--line); background: rgba(12,12,10,.8); }
.lab-meters div { padding: 11px; border-right: 1px solid var(--line); min-width: 0; }.lab-meters div:last-child { border: 0; }
.lab-meters span { display: block; color: var(--muted); font: 9px ui-monospace, monospace; letter-spacing: .08em; }
.lab-meters b { display: block; margin-top: 4px; font: 12px ui-monospace, monospace; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.event-console { border-top: 1px solid var(--line); background: #0a0a08; min-height: 190px; padding: 14px 16px; }
.console-head { display: flex; justify-content: space-between; color: var(--amber); font: 9px ui-monospace, monospace; letter-spacing: .12em; margin-bottom: 10px; }
#eventLog { list-style: none; padding: 0; margin: 0; font: 11px/1.55 ui-monospace, monospace; color: #858172; }
#eventLog li { border-top: 1px dotted #26251f; padding: 4px 0; }#eventLog li:first-child { color: #c8c2ae; }

.section-head { display: flex; align-items: end; justify-content: space-between; border-bottom: 1px solid var(--line); padding-bottom: 12px; margin-bottom: 14px; }
.section-head h2 { font: 700 24px/1 Georgia, serif; margin: 0; }
.section-head > span { color: var(--muted); font: 10px ui-monospace, monospace; }
.column-intro { max-width:430px; margin:8px 0 0; color:var(--muted); font:10px/1.45 ui-monospace,monospace; }
.column-research .section-head { border-bottom-color:rgba(102,224,223,.38); }
.column-research .section-head h2 { color:#d8ffff; }
.column-store .section-head { border-bottom:3px double #65472c; }
.column-store .section-head h2 { color:#ffe0b4; }
.upgrade-grid { display: grid; grid-template-columns: 1fr; gap: 7px; min-height: 72px; }
.upgrade { min-height:82px; display:grid; grid-template-columns:42px 1fr auto; gap:10px; align-items:center; border: 1px solid var(--line); background: var(--panel-2); color: var(--paper); cursor: pointer; padding: 9px; text-align: left; position: relative; overflow: hidden; }
.upgrade:hover:not(:disabled) { border-color: var(--amber); transform: translateY(-1px); }
.upgrade.unaffordable { opacity: .48; }.upgrade.unaffordable:hover { opacity:.78; border-color:var(--danger); }
.upgrade .upgrade-icon { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); font: 22px Georgia, serif; color: var(--amber); }
.upgrade-copy { min-width:0; }.upgrade-copy b,.upgrade-copy em,.upgrade-copy strong { display:block; }.upgrade-copy b { font:14px Georgia,serif; }.upgrade-copy em { color:#aaa897; font:normal 10px/1.45 ui-monospace,monospace; margin:4px 0; }.upgrade-copy strong { color:var(--cyan); font:800 8px/1.4 ui-monospace,monospace; letter-spacing:.03em; }.upgrade > small { color:var(--amber); font:8px ui-monospace, monospace; text-align:right; white-space:nowrap; }
.program-bay { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:16px; }
.program { min-height:116px; border:1px solid var(--line); background:var(--panel-2); color:var(--paper); text-align:left; padding:10px; cursor:pointer; position:relative; }
.program:hover { border-color:var(--cyan); background:#202722; }.program.locked { opacity:.46; }.program.locked:hover { opacity:.78; border-color:var(--danger); }.program > i { position:absolute; right:10px; top:8px; color:var(--amber); font:normal 22px Georgia,serif; }.program span,.program small { display:block; color:var(--muted); font:8px ui-monospace,monospace; letter-spacing:.08em; padding-right:24px; }.program b { display:block; margin:5px 0; font:15px Georgia,serif; }.program em { display:block; min-height:32px; color:var(--muted); font:normal 9px/1.35 ui-monospace,monospace; }.program small { color:var(--cyan); margin-top:7px; padding-right:0; }
.risk-panel { margin-top:8px; border:1px solid #573a27; background:#1f1710; display:flex; justify-content:space-between; align-items:center; padding:11px; }.risk-panel.hidden,.hidden { display:none !important; }.risk-panel b { display:block; color:var(--amber); font:19px Georgia,serif; }.risk-panel small { display:block; color:var(--muted); font-size:9px; margin-top:3px; }.risk-panel button { border:1px solid var(--amber-soft); background:transparent; color:var(--amber); padding:9px 11px; cursor:pointer; font:9px ui-monospace,monospace; }.risk-panel button:disabled { opacity:.3; }
.milestone-card { margin-top: 18px; border: 1px solid var(--line); padding: 15px; background: linear-gradient(135deg, var(--panel-2), #11110e); }
.milestone-card h3 { margin: 0 0 7px; font: 18px Georgia, serif; }.milestone-card p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 0 0 14px; }
.progress-track { height: 4px; background: #2c2a22; overflow: hidden; }.progress-track span { display: block; height: 100%; width: 0; background: var(--cyan); box-shadow: 0 0 9px var(--cyan); }
.milestone-card small { display: block; color: var(--muted); font: 9px ui-monospace, monospace; margin-top: 7px; text-align: right; }
.log-heading { margin-top: 25px; }
.capability-ledger { font: 10px/1.5 ui-monospace, monospace; color: var(--muted); }
.capability-row { display: grid; grid-template-columns: 74px 1fr auto; gap: 8px; padding: 8px 0; border-bottom: 1px dotted #302f27; }.capability-row b { color: var(--paper); font-weight: 500; }.capability-row span:last-child { color: var(--cyan); }

.sticky-head { position: sticky; top: 0; z-index: 3; background: rgba(24,21,15,.97); margin: 0; padding: 18px 15px 13px; backdrop-filter: blur(10px); }
.bulk-controls { display: flex; border: 1px solid var(--line); }.bulk { border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); font: 9px ui-monospace, monospace; padding: 7px 8px; cursor: pointer; }.bulk:last-child { border:0; }.bulk.active { background: var(--amber); color: #241307; font-weight: 900; }
.building-list { padding-bottom: 80px; }
.building { width: 100%; min-height: 112px; display: grid; grid-template-columns: 68px 1fr auto; gap: 11px; align-items: center; border: 0; border-bottom: 1px solid #413326; background: transparent; color: var(--paper); text-align: left; padding: 12px 15px; cursor: pointer; position: relative; }
.building:hover { background: #222119; }.building.unaffordable { opacity:.48; }.building.unaffordable:hover { opacity:.8; }.building.locked:hover { border-left:2px solid var(--danger); }
.building.locked { filter: grayscale(1); }
.building-icon { width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--line); color: var(--amber); background: radial-gradient(circle, #2b2a21, #14140f); position:relative; overflow:hidden; }.building-icon i { font:normal 27px Georgia,serif; }.building-icon small { position:absolute; right:3px; bottom:2px; color:var(--cyan); font:7px ui-monospace,monospace; }.building-price > small { display:block; color:var(--muted); font-size:7px; margin-top:2px; }
.building-copy { min-width: 0; }.building-copy > span { display: block; }.building-name { font: 700 17px Georgia, serif; }.building-kicker { color:#b67843; font:700 7px ui-monospace,monospace; letter-spacing:.12em; margin-top:3px; }.building-desc { color:#aaa38e; font:10px/1.4 ui-monospace,monospace; margin-top:6px; white-space:normal; }.building-output { color:var(--cyan); font:800 8px/1.4 ui-monospace, monospace; margin-top:7px; letter-spacing:.02em; }
.building-price { text-align: right; font: 11px ui-monospace, monospace; color: var(--amber); }.building-price b { display: block; font: 700 26px Georgia, serif; color: var(--paper); margin-top: 5px; }
.building-flash { animation: purchased .35s ease-out; }@keyframes purchased { 50% { background: rgba(243,167,47,.2); } }

.toast-layer { position: fixed; top: 78px; right: 16px; z-index: 30; display: grid; gap: 8px; pointer-events: none; }
.toast { width: min(330px, calc(100vw - 32px)); padding: 12px 14px; background: #1d1c16; border: 1px solid var(--amber-soft); box-shadow: var(--shadow); animation: toastIn .25s ease-out; }.toast b { display: block; font: 15px Georgia, serif; color: var(--amber); }.toast span { display: block; color: var(--muted); font-size: 11px; margin-top: 3px; }
@keyframes toastIn { from { opacity: 0; transform: translateX(18px); } }
dialog { width: min(720px, calc(100vw - 30px)); max-height: min(760px, calc(100vh - 50px)); background: var(--panel); color: var(--paper); border: 1px solid var(--line); box-shadow: var(--shadow); padding: 0; }dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(3px); }
.modal-head { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); padding: 18px 20px; }.modal-head h2 { margin:0; font: 24px Georgia, serif; }.modal-head button { border: 0; background: none; color: var(--muted); font-size: 30px; cursor: pointer; }.modal-body { padding: 20px; overflow-y: auto; max-height: 650px; }.modal-body h3 { font: 18px Georgia, serif; }.modal-body p, .modal-body li { color: var(--muted); font-size: 13px; line-height: 1.55; }.modal-grid { display:grid; grid-template-columns: repeat(2,1fr); gap: 9px; }.modal-stat, .achievement-card { border:1px solid var(--line); padding:12px; background:var(--panel-2); }.modal-stat span, .achievement-card span { display:block; color:var(--muted); font:9px ui-monospace,monospace; }.modal-stat b { display:block; margin-top:5px; font:20px Georgia,serif; }.achievement-card { position:relative; min-height:160px; padding-top:30px; }.achievement-card.locked { opacity:.72; filter:grayscale(.45); }.achievement-card.earned { border-color:#6b572c; background:linear-gradient(145deg,#252116,#181712); }.achievement-card b { display:block; margin-bottom:8px; color:var(--amber); font:16px Georgia,serif; }.achievement-card strong { display:block; margin-top:7px; color:var(--cyan); font:800 8px/1.4 ui-monospace,monospace; }.achievement-card p { margin:9px 0 0; color:#aaa38e; font:11px/1.45 Georgia,serif; }.achievement-stamp { position:absolute; top:8px; right:8px; color:var(--success); border:1px solid currentColor; padding:2px 5px; font:700 7px ui-monospace,monospace; letter-spacing:.1em; transform:rotate(1deg); }.achievement-card.locked .achievement-stamp { color:var(--muted); }.achievement-requirement { line-height:1.4 !important; }.option-row { display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid var(--line); padding:12px 0; }.option-row button { border:1px solid var(--line); background:var(--panel-2); color:var(--paper); padding:8px 11px; cursor:pointer; }.option-row .danger { color:var(--danger); border-color:#6e3430; }
.achievement-progress { height:5px; background:var(--line); margin:10px 0 16px; }.achievement-progress span { display:block; height:100%; background:var(--amber); }.achievement-list { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; max-height:500px; overflow:auto; padding-right:4px; }
.load-achievements { width:100%; margin-top:12px; border:1px solid var(--amber-soft); background:#24190e; color:var(--amber); padding:12px; cursor:pointer; font:800 9px ui-monospace,monospace; letter-spacing:.08em; }
.prestige-summary { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:12px; }.prestige-summary div { border:1px solid var(--line); background:var(--panel-2); padding:12px; }.prestige-summary span { color:var(--muted); font:9px ui-monospace,monospace; }.prestige-summary b { display:block; color:var(--cyan); font:25px Georgia,serif; margin-top:4px; }
.prestige-action { width:100%; border:1px solid var(--cyan); background:#10201e; color:var(--cyan); padding:13px; cursor:pointer; font:800 12px ui-monospace,monospace; letter-spacing:.08em; }.prestige-action small { display:block; opacity:.7; margin-top:4px; font-size:9px; }.prestige-action[aria-disabled="true"] { opacity:.48; }.prestige-action.paradigm { border-color:var(--amber); color:var(--amber); background:#24190e; }
.capability-tree,.doctrine-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; margin:12px 0 22px; }.capability-tree button,.doctrine-grid button { border:1px solid var(--line); background:var(--panel-2); color:var(--paper); text-align:left; padding:10px; cursor:pointer; }.capability-tree button.owned,.doctrine-grid button.owned { border-color:var(--success); background:#172016; }.capability-tree button[aria-disabled="true"]:not(.owned),.doctrine-grid button[aria-disabled="true"]:not(.owned) { opacity:.48; }.capability-tree b,.doctrine-grid b { display:block; font:14px Georgia,serif; }.capability-tree span,.doctrine-grid span { display:block; color:var(--muted); font-size:10px; line-height:1.4; margin:4px 0; }.capability-tree small,.doctrine-grid small { display:block; color:var(--cyan); font:8px ui-monospace,monospace; margin-top:5px; }
.crisis-copy,.sample-card { border-left:3px solid var(--danger); background:#211411; padding:16px !important; color:var(--paper) !important; font:16px/1.55 Georgia,serif !important; }.crisis-choices,.training-policies { display:grid; gap:8px; }.crisis-choices button,.training-policies button { border:1px solid var(--line); background:var(--panel-2); color:var(--paper); padding:13px; text-align:left; cursor:pointer; }.crisis-choices button:hover { border-color:var(--danger); }.crisis-choices b,.training-policies b { display:block; color:var(--amber); }.crisis-choices span,.training-policies span { display:block; color:var(--muted); font-size:11px; margin-top:4px; }
.chip-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:7px; margin:18px 0; }.chip-grid button { aspect-ratio:1; border:1px solid var(--line); background:#181914; color:var(--muted); cursor:pointer; font:18px ui-monospace,monospace; }.chip-grid button.hot { animation:chipHeat .8s ease-in-out infinite alternate; }@keyframes chipHeat { to { border-color:var(--danger); box-shadow:inset 0 0 22px rgba(237,106,90,.28); color:var(--paper); } }
.program-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }.program-actions button { border:1px solid var(--cyan); background:#10201e; color:var(--cyan); padding:14px; cursor:pointer; font:800 11px ui-monospace,monospace; }
.lore-list { display:grid; gap:9px; }.lore-list article { border:1px solid var(--line); border-left:3px solid var(--amber); background:var(--panel-2); padding:14px; }.lore-list article.locked { opacity:.32; filter:grayscale(1); }.lore-list article > span { color:var(--cyan); font:8px ui-monospace,monospace; letter-spacing:.1em; }.lore-list h3 { margin:7px 0 4px; }.lore-list p { margin:0; }
.high-contrast { --muted:#c7c2b2; --line:#696658; }.large-text { font-size:112%; }.no-motion *,.no-motion *::before,.no-motion *::after { animation:none !important; transition:none !important; }

@media (max-width: 1180px) { .game-shell { grid-template-columns: minmax(360px, 1fr) minmax(390px, 1fr); height:auto; }.research-panel { grid-row:2; grid-column:1 / -1; border-top:1px solid var(--line); min-height:500px; }.lab-panel,.store-panel { height:calc(100vh - 66px); }.upgrade-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width: 1000px) and (min-width: 761px) { .topbar { grid-template-columns:minmax(220px,1fr) auto; }.ticker { grid-column:1 / -1; grid-row:2; min-height:38px; border-top:1px solid var(--line); }.top-actions { grid-column:2; grid-row:1; }.text-button { padding:0 9px; font-size:9px; } }
@media (max-width: 760px) { .topbar { position:relative; grid-template-columns:minmax(0,1fr); }.brand { min-width:0; padding:8px 10px; border-right:0; }.brand-mark { width:35px; height:35px; flex:0 0 35px; font-size:18px; }.brand > span:last-child { min-width:0; }.brand strong { font-size:12px; letter-spacing:.12em; }.brand small { display:none; }.ticker { grid-column:1; grid-row:2; min-height:38px; border-top:1px solid var(--line); }.top-actions { grid-column:1; grid-row:3; min-width:0; height:38px; border-top:1px solid var(--line); }.top-actions .text-button { display:block; flex:1; min-width:0; padding:0 4px; font-size:8px; }.game-shell { display:block; }.lab-panel,.store-panel,.research-panel { height:auto; overflow:visible; border-right:0; }.lab-stage { min-height:570px; }.store-panel { border-top:1px solid var(--line); }.research-panel { padding:17px 14px; }.upgrade-grid { grid-template-columns:1fr; }.program-bay { grid-template-columns:1fr; }.lab-meters { grid-template-columns:repeat(2,1fr); }.lab-meters div:nth-child(2) { border-right:0; }.lab-meters div:nth-child(-n+2) { border-bottom:1px solid var(--line); }.modal-grid,.achievement-list,.capability-tree,.doctrine-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; } }
