:root,[data-theme=dark]{--bg: #020304;--surface: #0b1016;--surface-2: #101922;--line: #17232f;--text: #eaf2f8;--dim: #9db2c4;--dimmer: #64798d;--accent: #5fd8e8;--on-accent: #04141a;--good: #4fd69c;--warn: #ff9e3d;--bad: #ff5470;--steel: #b7c7d6;--fuel: #ecb94f;--circuits: #5fd8e8;--power: #ac82ff;--face: "Titillium Web", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--radius: 12px;--tab-h: 58px;--surface-lift: rgba(185, 240, 245, .045);--shadow: 0 10px 24px -14px rgba(0, 0, 0, .55), 0 3px 8px -4px rgba(0, 0, 0, .4);--ground: #0f1d28;--ground-line: #22384b;--hull: #7f91a6;--scene-glow: rgba(77, 163, 255, .5);color-scheme:dark}:root[data-theme=ember],[data-theme=ember]{--bg: #0a0504;--surface: #170a09;--surface-2: #1c0c0b;--line: #341613;--text: #f7ece6;--dim: #d1a89b;--dimmer: #96685b;--accent: #ff5a3c;--on-accent: #2b0a04;--good: #4fd69c;--warn: #ffb23d;--bad: #ff2d78;--steel: #cbbcbc;--fuel: #e8b54a;--circuits: #5fd8e8;--power: #c77dff;--surface-lift: rgba(255, 150, 100, .06);--shadow: 0 10px 24px -14px rgba(0, 0, 0, .65), 0 3px 8px -4px rgba(0, 0, 0, .5);--ground: #230f10;--ground-line: #4b2424;--hull: #a8928b;--scene-glow: rgba(255, 90, 60, .55)}:root[data-theme=volt],[data-theme=volt]{--bg: #03050d;--surface: #0a0f1e;--surface-2: #0d1426;--line: #131c30;--text: #eaf0ff;--dim: #93a6d9;--dimmer: #5c6c98;--accent: #3d7bff;--on-accent: #04102a;--good: #4fd69c;--warn: #ffab3d;--bad: #ff3d78;--steel: #b7c7d6;--fuel: #ecb94f;--circuits: #5fd8e8;--power: #ac82ff;--surface-lift: rgba(160, 195, 255, .05);--shadow: 0 10px 24px -14px rgba(0, 0, 0, .58), 0 3px 8px -4px rgba(0, 0, 0, .42);--ground: #0a1330;--ground-line: #1f3468;--hull: #8797c4;--scene-glow: rgba(61, 123, 255, .55);color-scheme:dark}:root[data-theme=light],[data-theme=light]{--bg: #eef2f5;--surface: #ffffff;--surface-2: #f7f9fb;--line: #d7dee3;--text: #121a21;--dim: #4f606c;--dimmer: #7c8b96;--accent: #0089b3;--on-accent: #ffffff;--good: #1c8f5c;--warn: #c1650a;--bad: #d81b46;--steel: #55636e;--fuel: #a56a0f;--circuits: #0089b3;--power: #6a3fc4;--surface-lift: rgba(255, 255, 255, 0);--shadow: 0 10px 22px -14px rgba(20, 30, 40, .16), 0 3px 8px -4px rgba(20, 30, 40, .1);--ground: #dde5ec;--ground-line: #b5c3d0;--hull: #6f7f91;--scene-glow: rgba(10, 137, 179, .4);color-scheme:light}:root{--space: 1;--type-floor: 0px;--fs-body: 15px;--lh-body: 1.5;--fs-h1: 20px;--fs-h2: 16px;--fs-h3: 15px;--fs-h4: 14px;--tap: 44px;--label-case: uppercase;--label-track: 1;--fs-tab: 11px;--cell-cols: 3;--cell-flow: column;--cell-align: stretch;--head-line: 44px}:root[data-density=compact]{--space: .62;--type-floor: 13px;--fs-body: 14px;--lh-body: 1.4;--fs-h1: 17px;--fs-h2: 15px;--fs-h3: 14px;--fs-h4: 13px;--label-case: none;--label-track: 0;--fs-tab: clamp(11px, calc(3.6vw - 1px) , 13px);--cell-cols: 1;--cell-flow: row;--cell-align: baseline;--tab-h: 50px;--dock-h: 44px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:var(--fs-body) / var(--lh-body) var(--face);-webkit-text-size-adjust:100%;overscroll-behavior-y:none}h1{font-size:var(--fs-h1);margin:0}h2{font-size:var(--fs-h2);margin:0 0 calc(8px * var(--space))}h3{font-size:var(--fs-h3);margin:0 0 calc(4px * var(--space))}h4{font-size:var(--fs-h4);margin:0 0 calc(6px * var(--space));color:var(--dim)}p{margin:0 0 calc(8px * var(--space))}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.dim{color:var(--dim)}.small{font-size:13px}.big{font-size:20px}.good{color:var(--good)}.warn{color:var(--warn)}.bad{color:var(--bad)}.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.nowrap{white-space:nowrap}.capitalise{text-transform:capitalize}.row{display:flex;align-items:center;gap:calc(8px * var(--space))}.row.wrap,.wrap{flex-wrap:wrap}.gap-small{gap:calc(4px * var(--space))}.centred{display:grid;place-items:center}button{font:inherit;min-height:40px;padding:calc(8px * var(--space)) calc(14px * var(--space));border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--text);cursor:pointer;touch-action:manipulation}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}button.warn{border-color:var(--warn);color:var(--warn)}button.warn:disabled{opacity:.7;border-color:var(--warn);color:var(--warn)}button.destructive{background:transparent;border-color:var(--line);color:var(--text)}button.destructive:hover:not(:disabled),button.destructive:focus-visible{border-color:var(--text);background:var(--surface-2)}button.destructive:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.ghost{background:transparent}button.link{background:none;border:none;color:var(--accent);padding:calc(4px * var(--space)) calc(6px * var(--space));min-height:0}button.small{min-height:32px;padding:calc(4px * var(--space)) calc(10px * var(--space));font-size:13px}button.wide{width:100%}.view-btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(5px * var(--space));font:inherit;min-height:40px;padding:calc(8px * var(--space)) calc(14px * var(--space));border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--text);cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.view-btn.ghost{background:transparent}.view-btn.small{min-height:32px;padding:calc(4px * var(--space)) calc(10px * var(--space));font-size:13px}.view-btn:hover{border-color:var(--accent)}.view-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input,select,textarea{font:inherit;font-size:16px;min-height:40px;padding:calc(8px * var(--space)) calc(10px * var(--space));width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--text)}textarea{font-family:var(--mono);font-size:13px;min-height:140px}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}input:disabled,select:disabled,textarea:disabled{opacity:.5}.field{display:flex;flex-direction:column;gap:calc(4px * var(--space));margin-bottom:calc(12px * var(--space))}.field-label{font-size:13px;color:var(--dim)}.field-hint{font-size:max(12px,var(--type-floor));color:var(--dimmer);line-height:1.4}.field-effect{display:block;margin-top:calc(4px * var(--space));color:var(--dim)}.field-effect .warn-text{color:var(--warn)}.field.check>span:first-child{display:flex;align-items:center;gap:calc(8px * var(--space))}.field.check input{width:20px;height:20px;min-height:20px;flex:0 0 auto}.search{margin-bottom:calc(12px * var(--space))}.screen{min-height:100%;display:flex;flex-direction:column}.screen-body{padding:calc(12px * var(--space));padding-bottom:calc(24px + env(safe-area-inset-bottom));max-width:1100px;width:100%;margin:0 auto}.screen-body section{margin-bottom:calc(20px * var(--space))}.top-bar{display:flex;justify-content:space-between;align-items:center;gap:calc(12px * var(--space));padding:calc(12px * var(--space));border-bottom:1px solid var(--line);background:var(--surface);padding-top:calc(12px + env(safe-area-inset-top))}.section-nav{padding:calc(10px * var(--space)) calc(12px * var(--space));border-bottom:1px solid var(--line)}.panel{position:relative;background:linear-gradient(var(--surface-lift),transparent 56px),var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:calc(14px * var(--space));margin-bottom:calc(12px * var(--space));box-shadow:var(--shadow)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:calc(8px * var(--space));margin-bottom:calc(8px * var(--space))}.panel-head h2{margin:0}.panel.is-empty{display:flex;align-items:baseline;justify-content:space-between;gap:calc(10px * var(--space));padding:calc(10px * var(--space)) calc(14px * var(--space))}.panel.is-empty .panel-head{margin:0}.panel.is-empty h2{font-size:14px;color:var(--dim);font-weight:600}.panel.is-empty .empty{padding:0;font-size:13px;text-align:right}.theme-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:calc(8px * var(--space));--picker-accent: var(--accent)}.theme-option{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"swatch name" "swatch note";align-items:center;gap:1px calc(10px * var(--space));text-align:left;padding:calc(10px * var(--space));min-height:56px}.theme-option.active{border-color:var(--picker-accent);box-shadow:0 0 0 2px var(--picker-accent)}.theme-option.active .theme-swatch:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:15px;font-weight:700;color:var(--text);text-shadow:0 1px 3px var(--bg)}.theme-swatch{grid-area:swatch;position:relative;display:block;width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--bg);overflow:hidden}.theme-swatch-card{position:absolute;top:6px;right:5px;bottom:12px;left:5px;border-radius:3px;background:var(--surface);border:1px solid var(--line)}.theme-swatch-accent{position:absolute;left:5px;right:5px;bottom:5px;height:5px;border-radius:3px;background:var(--accent)}.view-swatch{background:var(--surface)}.view-swatch svg{width:100%;height:100%;fill:none;stroke:var(--dim);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.view-swatch .view-swatch-top{fill:color-mix(in srgb,var(--hull),white 25%);stroke:none}.view-swatch .view-swatch-left{fill:var(--hull);stroke:none}.view-swatch .view-swatch-right{fill:color-mix(in srgb,var(--hull),black 35%);stroke:none}.picker-heading{margin-top:calc(16px * var(--space))}.theme-name{grid-area:name;font-size:14px;font-weight:600}.theme-note{grid-area:note;font-size:max(12px,var(--type-floor));color:var(--dim);line-height:1.3}.group{margin-bottom:calc(16px * var(--space))}.group-head{margin:0 2px calc(8px * var(--space))}.group-head h2{margin:0}.group-head .hint{margin:2px 0 0}.hint{color:var(--dim);font-size:13px}.footnote{color:var(--dimmer);font-size:max(12px,var(--type-floor));line-height:1.5;margin:calc(10px * var(--space)) 0 0}.empty{color:var(--dimmer);font-size:14px;padding:calc(12px * var(--space)) 0}.auth-screen{min-height:100%;display:grid;place-items:center;padding:calc(16px * var(--space))}.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:calc(24px * var(--space))}.auth-head{margin-bottom:calc(20px * var(--space))}.auth-foot{display:flex;justify-content:space-between;flex-wrap:wrap;margin-top:calc(14px * var(--space));border-top:1px solid var(--line);padding-top:calc(10px * var(--space))}.card-list{display:grid;gap:calc(10px * var(--space))}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:calc(12px * var(--space));display:flex;flex-direction:column;gap:calc(10px * var(--space))}.card-main{flex:1;min-width:0}.admin-actions{display:flex;flex-wrap:wrap;gap:calc(6px * var(--space))}.join-form{display:flex;gap:calc(6px * var(--space));flex-wrap:wrap}.join-form input{flex:1 1 140px}@media (min-width: 640px){.card{flex-direction:row;align-items:center}.admin-world{flex-direction:column;align-items:stretch}}.tag{display:inline-block;font-size:max(11px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.04em * var(--label-track));padding:2px calc(7px * var(--space));border-radius:999px;border:1px solid var(--line);color:var(--dim);background:var(--surface-2);white-space:nowrap}.tag-ok{color:var(--good);border-color:color-mix(in srgb,var(--good) 45%,transparent)}.tag-warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.tag-bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,transparent)}.tag-info{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.notice{border:1px solid var(--line);border-left-width:3px;border-radius:6px;padding:calc(10px * var(--space)) calc(12px * var(--space));margin:calc(10px * var(--space)) 0;font-size:13px;line-height:1.55}.notice-bad{border-left-color:var(--bad);background:color-mix(in srgb,var(--bad) 8%,transparent)}.notice-warn{border-left-color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,transparent)}.confirm-press{display:inline-flex;flex-wrap:wrap;align-items:center;gap:calc(6px * var(--space)) calc(10px * var(--space));max-width:100%}.confirm-press-q{font-size:13px;line-height:1.4}.confirm-press-acts{display:inline-flex;gap:calc(8px * var(--space))}.confirm-press-acts button{min-height:44px}.notice-info{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.error-note{color:var(--warn);font-size:13px;margin:calc(8px * var(--space)) 0}.error-note:before{content:"⚠ ";content:"⚠ " / ""}.banner{padding:calc(10px * var(--space)) calc(12px * var(--space));font-size:13px;border-bottom:1px solid var(--line)}.banner-warn{background:color-mix(in srgb,var(--warn) 12%,var(--bg))}.banner-bad{background:color-mix(in srgb,var(--bad) 14%,var(--bg))}.game{min-height:100%;display:flex;flex-direction:column;padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}.game.has-dock{padding-bottom:calc(var(--tab-h) + var(--dock-h) + 16px + env(safe-area-inset-bottom))}.game-head{position:sticky;top:0;z-index:10;background:var(--surface);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top);touch-action:pan-y;user-select:none;-webkit-user-select:none}.game-head-row{display:flex;align-items:center;gap:calc(10px * var(--space));padding:calc(8px * var(--space)) calc(10px * var(--space))}.game-title{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}.head-profile{flex:0 0 auto;min-height:36px;padding:calc(4px * var(--space)) calc(9px * var(--space));font-size:15px;line-height:1}.view-toggle{flex:0 0 auto;display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.view-toggle button{min-height:36px;width:34px;padding:0;border:0;border-radius:0;background:transparent;color:var(--dim);display:grid;place-items:center}.view-toggle button.active{background:var(--accent);color:var(--on-accent)}.view-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.profile-ident{min-width:0;flex:1}.profile-who{min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facts{margin:0;display:grid;grid-template-columns:1fr;gap:2px calc(16px * var(--space))}.facts dt{font-size:max(12px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.04em * var(--label-track));color:var(--dimmer)}.facts dd{margin:0 0 calc(10px * var(--space));overflow-wrap:anywhere}@media (min-width: 480px){.facts{grid-template-columns:auto 1fr;align-items:baseline}.facts dt{text-align:right}}.notify-kinds{margin:calc(4px * var(--space)) 0 calc(8px * var(--space));padding-left:calc(18px * var(--space));max-width:640px}.notify-kinds li{margin-bottom:calc(4px * var(--space));line-height:1.4}.switch-row{display:flex;align-items:center;gap:calc(12px * var(--space));min-height:44px;max-width:640px;cursor:pointer}.switch-row input[type=checkbox]{width:22px;height:22px;min-height:22px;margin:0;flex:0 0 auto;accent-color:var(--accent)}.switch-row input:disabled+.switch-text{opacity:.5}.switch-text{min-width:0;overflow-wrap:anywhere}.notify-hours{display:flex;flex-wrap:wrap;gap:0 calc(12px * var(--space));max-width:640px}.notify-hours .field{flex:1 1 120px;max-width:200px;margin-bottom:calc(4px * var(--space))}.notify-hours select{min-height:44px}.notify .field-hint{display:block;margin:calc(4px * var(--space)) 0 calc(8px * var(--space));max-width:640px}.notify-acts{margin:calc(8px * var(--space)) 0 calc(4px * var(--space))}.notify-acts button{min-height:44px}.game-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-body{flex:1;padding:calc(12px * var(--space));max-width:1100px;width:100%;margin:0 auto;overflow-x:clip}.res-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-top:1px solid var(--line)}.res-cell{background:var(--surface);padding:calc(6px * var(--space)) calc(8px * var(--space));display:flex;flex-direction:column;min-width:0}.res-label{font-size:max(11px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.06em * var(--label-track));color:var(--dimmer)}.res-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:15px}.res-sub{font-size:max(11px,var(--type-floor));color:var(--dimmer);font-family:var(--mono)}.res-sub.bad{color:var(--bad)}.res-s .res-value{color:var(--steel)}.res-f .res-value{color:var(--fuel)}.res-c .res-value{color:var(--circuits)}.res-p .res-value{color:var(--power)}.res-cell.full .res-sub{color:var(--warn)}.res-cell.tone-bad{background:color-mix(in srgb,var(--bad) 14%,var(--surface))}.res-cell.tone-warn{background:color-mix(in srgb,var(--warn) 12%,var(--surface))}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.game-head.hud .res-label{display:flex;align-items:center;height:15px}.game-head.hud .res-s .res-label{color:var(--steel)}.game-head.hud .res-f .res-label{color:var(--fuel)}.game-head.hud .res-c .res-label{color:var(--circuits)}.game-head.hud .res-p .res-label{color:var(--power)}.res-bar{display:block;height:3px;margin:2px 0 calc(3px * var(--space));border-radius:2px;background:color-mix(in srgb,var(--line),transparent 30%);overflow:hidden}.res-bar>span{display:block;height:100%;border-radius:2px;background:currentColor}.res-s .res-bar{color:var(--steel)}.res-f .res-bar{color:var(--fuel)}.res-c .res-bar{color:var(--circuits)}.res-p .res-bar{color:var(--power)}.res-bar.full>span{background:var(--warn)}.game-head.hud .lane-chip{align-items:center;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 22%,transparent) var(--done, 0%),transparent var(--done, 0%)),var(--surface-2)}.game-head.hud .lane-chip.idle{background:transparent}.game-head.hud .lane-chip .icon{color:var(--dim)}.game-head.hud .lane-chip.idle .icon{color:var(--warn)}.build-footer{margin:calc(24px * var(--space)) 0 calc(8px * var(--space));text-align:center;font-size:max(12px,var(--type-floor))}.update-toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 12px);z-index:50;display:flex;align-items:center;gap:calc(8px * var(--space));width:max-content;max-width:calc(100vw - 32px);padding:calc(8px * var(--space)) calc(8px * var(--space)) calc(8px * var(--space)) calc(14px * var(--space));border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);font-size:14px}.update-toast button{min-height:36px}.offline-lock{border:0;margin:0;padding:0;min-width:0}.install-card{border-color:var(--accent)}.lane-strip{display:flex;gap:calc(6px * var(--space));padding:calc(6px * var(--space)) calc(10px * var(--space));overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--line)}.lane-strip::-webkit-scrollbar{display:none}.lane-chip{display:inline-flex;align-items:baseline;gap:calc(6px * var(--space));flex:0 0 auto;max-width:70vw;min-height:36px;padding:calc(4px * var(--space)) calc(10px * var(--space));border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font-size:max(12px,var(--type-floor));white-space:nowrap}.lane-chip .lane-name{color:var(--dim)}.lane-chip .lane-item{overflow:hidden;text-overflow:ellipsis;min-width:0}.lane-chip .lane-more{color:var(--dim)}.lane-chip.idle{border-color:var(--warn);background:transparent}.lane-chip.idle .lane-item{color:var(--warn)}.lane-chip.rested .lane-item{color:var(--dim)}.lane-chip:disabled{cursor:default}.tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:20;display:grid;grid-template-columns:repeat(7,1fr);background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tab{border:none;border-radius:0;background:none;min-height:var(--tab-h);font-size:var(--fs-tab);color:var(--dim);padding:calc(4px * var(--space)) 1px;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab.active{color:var(--accent)}.tab.active:after{content:"";position:absolute;left:50%;bottom:6px;width:18px;height:2px;border-radius:2px;transform:translate(-50%);background:var(--accent)}.pip{position:absolute;top:6px;right:6px;background:var(--accent);color:var(--on-accent);font-size:max(10px,var(--type-floor));min-width:16px;height:16px;line-height:16px;border-radius:8px;padding:0 calc(4px * var(--space))}.conn{display:flex;align-items:center;gap:calc(5px * var(--space));font-size:max(11px,var(--type-floor));color:var(--dim)}.conn-dot{width:8px;height:8px;border-radius:50%;background:var(--dimmer)}.conn-live .conn-dot{background:var(--good)}.conn-reconnecting .conn-dot{background:var(--warn);animation:pulse 1.2s infinite}.conn-offline .conn-dot{background:var(--warn)}.conn-label{display:none}@keyframes pulse{50%{opacity:.3}}.queue{list-style:none;margin:0;padding:0}.queue-item{display:flex;align-items:center;gap:calc(10px * var(--space));padding:calc(8px * var(--space)) 0;border-bottom:1px solid var(--line);font-size:14px}.queue-label{flex:1;min-width:0}.queue-item>button{flex:0 0 auto}.report-actions{display:flex;justify-content:flex-end;padding:0 0 calc(4px * var(--space))}.queue-item:last-child{border-bottom:none}.queue-item.active{color:var(--text)}.queue-item:not(.active){color:var(--dim)}.building-list,.tech-list{display:grid;gap:calc(8px * var(--space))}.building,.tech{display:flex;gap:calc(10px * var(--space));align-items:center;padding:calc(10px * var(--space));background:var(--surface-2);border-radius:8px}.building-main,.tech-main{flex:1;min-width:0}.building-main p,.tech-main p{margin:2px 0 0}.level{color:var(--dim);font-weight:400;font-size:13px}.cost{display:inline-flex;flex-wrap:wrap;gap:calc(4px * var(--space)) calc(10px * var(--space));font-variant-numeric:tabular-nums}.cost-part{display:inline-flex;align-items:baseline;gap:calc(4px * var(--space));white-space:nowrap}.cost-n{font-weight:600;color:var(--text)}.cost-u{font-size:max(12px,var(--type-floor))}.cost .res-s .cost-u{color:var(--steel)}.cost .res-f .cost-u{color:var(--fuel)}.cost .res-c .cost-u{color:var(--circuits)}.cost .short .cost-n,.cost .short .cost-u{color:var(--warn)}.stat-grid{display:grid;gap:calc(8px * var(--space));grid-template-columns:1fr}@media (min-width: 560px){.stat-grid{grid-template-columns:repeat(3,1fr)}}.stat{background:var(--surface-2);border-radius:8px;padding:calc(10px * var(--space));display:flex;flex-direction:var(--cell-flow);flex-wrap:wrap;align-items:var(--cell-align);gap:calc(4px * var(--space)) calc(8px * var(--space))}.stat-label{font-size:max(11px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.05em * var(--label-track));color:var(--dimmer)}.stat-value{font-size:20px;font-family:var(--mono)}.stat-sub{font-size:max(12px,var(--type-floor));color:var(--dim);line-height:1.4}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;font-weight:600;color:var(--dim);font-size:max(11px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.04em * var(--label-track));padding:calc(6px * var(--space)) calc(8px * var(--space));border-bottom:1px solid var(--line);white-space:nowrap}td{padding:calc(7px * var(--space)) calc(8px * var(--space));border-bottom:1px solid var(--line);vertical-align:top}tr:last-child td{border-bottom:none}tr.total td{border-top:1px solid var(--line)}tr.spent{opacity:.45}td.detail{max-width:320px;overflow-wrap:anywhere}.chip-row{display:flex;gap:calc(6px * var(--space));overflow-x:auto;padding-bottom:calc(4px * var(--space));margin-bottom:calc(10px * var(--space))}.chip-row.wrap{flex-wrap:wrap;overflow:visible}.chip{min-height:34px;padding:calc(5px * var(--space)) calc(12px * var(--space));border-radius:999px;font-size:13px;white-space:nowrap}.chip.active{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.stepper{display:flex;align-items:center;gap:calc(6px * var(--space));margin:calc(6px * var(--space)) 0}.stepper-label{min-width:68px;font-size:13px;color:var(--dim)}.stepper button{min-width:40px;padding:calc(6px * var(--space))}.stepper input{width:88px;text-align:center;font-family:var(--mono)}.army-picker{margin:calc(8px * var(--space)) 0}.unit-facts,.quote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(8px * var(--space));margin:calc(10px * var(--space)) 0}@media (min-width: 560px){.unit-facts,.quote-grid{grid-template-columns:repeat(3,1fr)}}.fact,.q{display:flex;flex-direction:column;background:var(--surface-2);border-radius:6px;padding:calc(6px * var(--space)) calc(8px * var(--space))}.fact-label,.q-label{font-size:max(11px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.05em * var(--label-track));color:var(--dimmer)}.fact-value,.q-value{font-size:14px}.repair-row{display:flex;align-items:center;gap:calc(10px * var(--space));flex-wrap:wrap;padding:calc(6px * var(--space)) 0;border-bottom:1px solid var(--line)}.roster,.fleet-list{list-style:none;margin:0;padding:0}.roster-row{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(10px * var(--space));width:100%;text-align:left;border:none;border-bottom:1px solid var(--line);border-radius:0;background:none;padding:calc(10px * var(--space)) 2px;min-height:52px}.roster-row.selected{background:var(--surface-2)}.roster>li{scroll-margin-top:calc(var(--head-h, 160px) + 8px)}.roster-main{min-width:0}.roster-main p{margin:calc(3px * var(--space)) 0 0}.roster-distance{color:var(--dim);font-size:13px;white-space:nowrap;padding-top:2px}.roster-count{font-variant-numeric:tabular-nums;white-space:nowrap}.roster-search{display:flex;align-items:center;gap:calc(8px * var(--space));padding:0 calc(10px * var(--space));margin-bottom:calc(8px * var(--space));border:1px solid var(--line);border-radius:var(--radius);background:var(--bg)}.roster-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.roster-search>svg{flex:0 0 auto;width:15px;height:15px;fill:none;stroke:var(--dim);stroke-width:1.6;stroke-linecap:round}.roster-search-field{flex:1 1 auto;min-width:0;font-size:16px;line-height:22px;padding:calc(9px * var(--space)) 0;outline:none;white-space:nowrap;overflow-x:auto;scrollbar-width:none}.roster-search-field::-webkit-scrollbar{display:none}.roster-search-field:empty:before{content:attr(data-placeholder);color:var(--dimmer)}.roster-search-clear{flex:0 0 auto;min-height:32px;padding:0 calc(6px * var(--space));border:none;background:none;border-radius:6px;color:var(--dim);font-size:19px;line-height:1}.roster-search-clear:hover{border-color:transparent;color:var(--text)}.filter-more{display:grid;gap:calc(10px * var(--space));padding:calc(10px * var(--space));margin-bottom:calc(10px * var(--space));border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.filter-group{display:flex;flex-wrap:wrap;gap:calc(6px * var(--space))}.filter-label{flex:0 0 100%;font-size:max(11px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.05em * var(--label-track));color:var(--dimmer)}.roster-active{display:flex;flex-wrap:wrap;gap:calc(6px * var(--space));margin-bottom:calc(10px * var(--space))}.roster-active .chip.active{background:color-mix(in srgb,var(--accent),transparent 84%);border-color:color-mix(in srgb,var(--accent),transparent 55%);color:var(--text)}.roster-active .chip.active>span{color:var(--dim);font-size:15px}.chip.chip-clear{background:none;border-color:var(--line);color:var(--dim)}.roster-more{padding:calc(10px * var(--space)) 0 2px}.roster-more-btn{width:100%;min-height:44px;background:none;border-style:dashed;color:var(--accent);font-size:14px}.fleet{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(10px * var(--space));padding:calc(10px * var(--space)) 0;border-bottom:1px solid var(--line)}.fleet:last-child{border-bottom:none}.fleet-right{display:flex;flex-direction:column;align-items:flex-end;gap:calc(6px * var(--space));white-space:nowrap}.target-panel{border-color:var(--accent)}.scan-block,.composer{border-top:1px solid var(--line);padding-top:calc(10px * var(--space));margin-top:calc(10px * var(--space))}.quote{background:var(--surface-2);border-radius:8px;padding:calc(10px * var(--space));margin:calc(8px * var(--space)) 0}.quote-head{display:flex;align-items:center;justify-content:space-between;gap:calc(8px * var(--space));min-height:18px;margin-bottom:calc(6px * var(--space))}.quote-title{font-size:max(11px,var(--type-floor));letter-spacing:calc(.06em * var(--label-track));text-transform:var(--label-case);color:var(--dimmer)}.quote-status{display:inline-grid;place-items:center;width:16px;height:16px}.quote-spin{width:12px;height:12px;border-radius:50%;border:2px solid var(--dim);border-top-color:transparent;opacity:0;animation:quote-appear 0s linear .3s forwards}.quote-body{transition:opacity .15s ease-out .15s}.quote.stale .quote-body{opacity:.55}@keyframes quote-appear{to{opacity:1}}@media (prefers-reduced-motion: no-preference){.quote-spin{animation:quote-appear 0s linear .3s forwards,quote-turn .9s linear infinite}}@keyframes quote-turn{to{transform:rotate(360deg)}}.rail{border-left:3px solid var(--line)}.rail-good{border-left-color:var(--good)}.rail-bad{border-left-color:var(--bad)}.rail-warn{border-left-color:var(--warn)}.rail-info{border-left-color:var(--accent)}.rail-quiet{border-left-color:var(--dimmer)}.report-head{display:grid;grid-template-columns:1fr auto;gap:calc(6px * var(--space)) calc(10px * var(--space));width:100%;text-align:left;background:none;border:none;border-radius:0;padding:2px 0;align-items:center}.report-title{display:grid;gap:2px;min-width:0}.report-title strong{font-size:15px;font-weight:600}.report-figures{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(64px,1fr));gap:calc(8px * var(--space));padding-top:calc(6px * var(--space));border-top:1px solid var(--line)}.figure{display:grid;gap:1px}.figure-label{font-size:max(11px,var(--type-floor));letter-spacing:calc(.1em * var(--label-track));text-transform:var(--label-case);color:var(--dimmer)}.figure-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:17px;font-weight:500;line-height:1.1}.figure-value.good{color:var(--good)}.figure-value.bad{color:var(--bad)}.report-body{border-top:1px solid var(--line);margin-top:calc(10px * var(--space));padding-top:calc(12px * var(--space));display:grid;gap:calc(6px * var(--space))}.report-sides{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:calc(8px * var(--space));margin:2px 0 calc(4px * var(--space))}.side{display:flex;flex-direction:column;gap:1px;min-width:0;padding:calc(6px * var(--space)) calc(10px * var(--space));border-radius:8px;border:1px solid var(--line);background:var(--surface-2)}.side.you{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.side.defender{text-align:right;align-items:flex-end}.side-role{display:inline-flex;align-items:center;gap:calc(4px * var(--space));font-size:max(10.5px,var(--type-floor));letter-spacing:calc(.1em * var(--label-track));text-transform:var(--label-case);color:var(--dimmer);font-weight:600}.side.you .side-role{color:var(--accent)}.side-glyph{flex:0 0 auto}.side-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.side-you{display:inline-block;margin-left:calc(6px * var(--space));padding:0 calc(6px * var(--space));border-radius:999px;font-size:max(10px,var(--type-floor));font-weight:700;letter-spacing:calc(.06em * var(--label-track));text-transform:var(--label-case);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);vertical-align:1px}.side-vs{font-size:max(11px,var(--type-floor));color:var(--dim)}table.ledger .side-row th{text-align:center;letter-spacing:calc(.04em * var(--label-track));text-transform:none;font-size:max(11.5px,var(--type-floor));color:var(--text);border-bottom:1px solid var(--line)}table.ledger .side-row th.side-h.you{color:var(--accent)}.report-h{font-size:max(11px,var(--type-floor));letter-spacing:calc(.1em * var(--label-track));text-transform:var(--label-case);color:var(--dimmer);margin:calc(10px * var(--space)) 0 2px;font-weight:600}.report-callout{background:var(--surface-2);border-left:3px solid var(--warn);border-radius:0 8px 8px 0;padding:calc(8px * var(--space)) calc(10px * var(--space));font-size:13px;margin:0 0 calc(4px * var(--space))}table.ledger{width:100%;border-collapse:collapse;font-size:13px}table.ledger th{font-size:max(11px,var(--type-floor));letter-spacing:calc(.1em * var(--label-track));color:var(--dimmer);font-weight:600;padding:calc(4px * var(--space)) calc(8px * var(--space));white-space:nowrap}table.ledger td{padding:calc(6px * var(--space)) calc(8px * var(--space));border-bottom:1px solid var(--line);vertical-align:top}table.ledger .num{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}table.ledger tr.total td{border-top:1px solid var(--line);border-bottom:none;font-weight:600}table.ledger.two-col td:first-child{width:auto}table.ledger.two-col td:last-child{width:96px}.loot-row{display:grid;grid-template-columns:repeat(4,1fr);gap:calc(8px * var(--space));padding:calc(4px * var(--space)) 0 2px}table.ledger tr.me td{background:#4da3ff12}table.ledger td.bound{font-size:max(12px,var(--type-floor));line-height:1.45;border-left:1px solid var(--line);vertical-align:top}table.forces td:first-child,table.forces th:first-child{width:40%}.dimmer{color:var(--dimmer)}.block{display:block}.report-notes{font-size:13px;color:var(--dim);padding-left:calc(18px * var(--space));margin:calc(8px * var(--space)) 0}.world-form{background:var(--surface-2);border-radius:8px;padding:calc(12px * var(--space));margin:calc(10px * var(--space)) 0}.form-grid{display:grid;gap:0 calc(14px * var(--space));grid-template-columns:1fr}@media (min-width: 720px){.form-grid{grid-template-columns:1fr 1fr}}.form-filter{width:100%;margin:0 0 calc(10px * var(--space))}.form-section{border-top:1px solid var(--line);padding:2px 0 calc(6px * var(--space))}.form-section>summary{display:flex;align-items:center;flex-wrap:wrap;gap:calc(8px * var(--space));cursor:pointer;padding:calc(8px * var(--space)) 0;font-size:14px}.form-section-title{font-weight:600}.form-section-lead,.form-section-locked{margin:0 0 calc(8px * var(--space))}.form-section-locked{color:var(--warn)}.form-group{margin:calc(4px * var(--space)) 0}.form-group-title{margin:calc(10px * var(--space)) 0 2px;font-size:13px}.form-group-note{margin:0 0 calc(8px * var(--space))}.form-span{grid-column:1 / -1}.figure-value{font-size:14px}.members{border-top:1px solid var(--line);margin-top:calc(12px * var(--space));padding-top:calc(10px * var(--space))}.member-row{display:flex;justify-content:space-between;align-items:center;gap:calc(10px * var(--space));flex-wrap:wrap;padding:calc(8px * var(--space)) 0;border-bottom:1px solid var(--line)}.member-row select{width:auto;min-width:120px}.confirm{border:1px solid var(--line);border-radius:8px;padding:calc(12px * var(--space));margin-top:calc(10px * var(--space))}.confirm input{margin:calc(8px * var(--space)) 0}.confirm-expect{margin:calc(8px * var(--space)) 0 0}.confirm-expect code{font-family:var(--mono);font-weight:600;color:var(--text);background:var(--surface-lift);border:1px solid var(--line);border-radius:4px;padding:1px calc(6px * var(--space));-webkit-user-select:all;user-select:all}.spinner{display:flex;align-items:center;gap:calc(8px * var(--space));color:var(--dim);padding:calc(16px * var(--space)) 0;font-size:14px}.spinner-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:pulse 1s infinite}.bar{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.bar-fill{height:100%}.bar-ok{background:var(--good)}.bar-warn{background:var(--warn)}.bar-bad{background:var(--bad)}@media (min-width: 900px){.conn-label{display:inline}.tab{font-size:13px}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}.no-margin{margin:0}.cc-panel{border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.cc-panel .row{justify-content:space-between;margin-top:calc(8px * var(--space))}.type-list{display:grid;gap:calc(10px * var(--space))}.type{background:linear-gradient(var(--surface-lift),transparent 48px),var(--surface);border:1px solid var(--line);border-radius:10px;padding:calc(12px * var(--space));box-shadow:var(--shadow)}.type.locked{opacity:.55}.type-head{display:flex;justify-content:space-between;align-items:flex-start;gap:calc(10px * var(--space));margin-bottom:calc(8px * var(--space))}.type-head h3{margin:0}.instances{list-style:none;margin:0 0 calc(8px * var(--space));padding:0;display:grid;gap:calc(4px * var(--space))}.instance{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:calc(8px * var(--space));padding:calc(7px * var(--space)) calc(9px * var(--space));background:var(--bg);border-radius:8px;font-size:13px}.instance.spare{opacity:.8;border:1px dashed var(--line);padding:calc(6px * var(--space)) calc(8px * var(--space))}.instance.spare .instance-level,.instance.spare .instance-name{text-decoration:line-through;text-decoration-thickness:1px}.spot-list{list-style:none;margin:calc(8px * var(--space)) 0 0;padding:0;display:grid;gap:calc(4px * var(--space));max-height:220px;overflow-y:auto}.spot{display:flex;align-items:center;gap:calc(8px * var(--space))}.spot.blocked{opacity:.65}.spot.chosen>.chip{border-color:var(--accent);color:var(--accent)}.tutorial{background:color-mix(in srgb,var(--accent) 10%,var(--surface-2));border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:10px;padding:calc(12px * var(--space));margin-bottom:calc(12px * var(--space))}.tutorial-head{display:flex;align-items:baseline;justify-content:space-between;gap:calc(8px * var(--space))}.tutorial-step{font-size:max(11px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.06em * var(--label-track));color:var(--accent);font-weight:600}.tutorial-title{margin:calc(4px * var(--space)) 0 2px;font-size:16px}.tutorial-why{margin:0;color:var(--dim);font-size:13px}.tutorial-progress{margin:calc(8px * var(--space)) 0 0;font-size:13px;color:var(--dim)}.tutorial-progress.ok{color:var(--good)}.tutorial-actions{display:flex;flex-wrap:wrap;align-items:center;gap:calc(8px * var(--space));margin-top:calc(10px * var(--space))}.tutorial-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:calc(8px * var(--space));flex:1 1 100%}.pip-dot{min-width:8px;width:8px;height:8px;padding:0;border-radius:50%}.recovery-option{display:flex;flex-direction:column;gap:calc(4px * var(--space));align-items:flex-start}.instance-name{font-weight:600}.instance-level{font-family:var(--mono);font-size:max(12px,var(--type-floor));color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border-radius:4px;padding:2px calc(6px * var(--space));min-width:34px;text-align:center;flex:0 0 auto}.instance-detail{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;line-height:1.35}.instance-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px calc(6px * var(--space))}.instance-effect{color:var(--dim)}.instance-next{display:flex;align-items:baseline;flex-wrap:wrap;gap:calc(4px * var(--space));color:var(--dimmer);font-size:max(12px,var(--type-floor))}.instance-next .cost{font-size:max(12px,var(--type-floor))}.instance-next .cost-n{font-weight:500;color:var(--dim)}.instance-next .cost-u{font-size:max(11px,var(--type-floor))}.instance button{flex:0 0 auto;align-self:center}.type-foot{display:flex;justify-content:space-between;align-items:center;gap:calc(8px * var(--space));flex-wrap:wrap;border-top:1px solid var(--line);padding-top:calc(8px * var(--space))}@media (max-width: 420px){.instance{align-items:start;padding:calc(8px * var(--space))}.instance-level{margin-top:1px}}.between{justify-content:space-between}.plain{list-style:none;margin:calc(8px * var(--space)) 0 0;padding:0}.plain>li{padding:calc(6px * var(--space)) 0;border-bottom:1px solid var(--line)}.plain>li:last-child{border-bottom:0}.form-row{display:grid;gap:calc(8px * var(--space));grid-template-columns:1fr;margin:calc(8px * var(--space)) 0}@media (min-width: 520px){.form-row{grid-template-columns:2fr 1fr}}.form-row label,.reinforce-row label{display:block;font-size:13px;color:var(--dim)}.invite-row{padding:calc(8px * var(--space)) 0;border-bottom:1px solid var(--line)}.window-card{background:var(--surface-2);border-radius:8px;padding:calc(10px * var(--space)) calc(12px * var(--space));margin:calc(10px * var(--space)) 0;border-left:3px solid var(--good)}.window-card.locked{border-left-color:var(--warn)}.commitments{list-style:none;margin:calc(8px * var(--space)) 0;padding:0;font-size:13px}.commitments>li{padding:calc(4px * var(--space)) 0}.commit-form{border-top:1px solid var(--line);margin-top:calc(8px * var(--space));padding-top:calc(8px * var(--space))}.declare{margin-top:calc(10px * var(--space))}.declare summary{cursor:pointer;padding:calc(6px * var(--space)) 0;font-size:14px}.target-picker{margin:calc(8px * var(--space)) 0}.target-picker>label{display:block;font-size:13px;color:var(--dim)}.target-picker .roster{margin:calc(6px * var(--space)) 0}.coverage{display:grid;grid-template-columns:repeat(24,1fr);gap:2px;margin:calc(8px * var(--space)) 0 calc(4px * var(--space))}.coverage-cell{height:18px;border-radius:2px;background:var(--surface-2)}.cover-0{background:var(--surface-2)}.cover-1{background:color-mix(in srgb,var(--good) 25%,var(--surface-2))}.cover-2{background:color-mix(in srgb,var(--good) 55%,var(--surface-2))}.cover-3{background:color-mix(in srgb,var(--good) 85%,var(--surface-2))}.member{padding:calc(10px * var(--space)) 0;border-bottom:1px solid var(--line);list-style:none}.member:last-child{border-bottom:0}.contrib{display:grid;gap:calc(3px * var(--space));margin-top:calc(6px * var(--space))}.contrib-row{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:calc(8px * var(--space))}.panel.urgent{border-color:color-mix(in srgb,var(--bad) 55%,var(--line));background:color-mix(in srgb,var(--bad) 7%,var(--surface))}.attacks{list-style:none;margin:calc(8px * var(--space)) 0 0;padding:0;display:grid;gap:calc(8px * var(--space))}.attack{padding:calc(8px * var(--space)) calc(10px * var(--space));background:var(--bg);border-radius:8px;display:grid;gap:calc(4px * var(--space))}.ok-note{color:var(--good)}.forces{margin-top:calc(8px * var(--space));padding-left:calc(10px * var(--space));border-left:2px solid color-mix(in srgb,var(--accent) 45%,transparent)}.force-bases{list-style:none;margin:calc(6px * var(--space)) 0 0;padding:0;display:grid;gap:calc(3px * var(--space));font-size:13px}.contrib-label{font-size:max(12px,var(--type-floor));color:var(--dim)}.reinforce-row{padding:calc(8px * var(--space)) 0;border-bottom:1px solid var(--line)}.reinforce-row:last-child{border-bottom:0}table.mini{width:100%;font-size:13px;margin:calc(6px * var(--space)) 0}table.mini td{padding:2px 0}.feed{list-style:none;margin:calc(8px * var(--space)) 0 0;padding:0;font-size:13px}.feed-row{display:flex;gap:calc(8px * var(--space));padding:calc(5px * var(--space)) 0;border-bottom:1px solid var(--line)}.feed-row:last-child{border-bottom:0}.feed-when{flex:0 0 auto;font-size:max(12px,var(--type-floor))}.buys{list-style:none;margin:calc(8px * var(--space)) 0;padding:0;display:grid;gap:calc(4px * var(--space));font-size:13px}.buys li{display:grid;grid-template-columns:14px minmax(0,1fr);gap:calc(8px * var(--space));align-items:start}.buys li>*{grid-column:2}.buys li:before{content:"+";font-family:var(--mono);color:var(--good);line-height:1.5}.buys li.dim:before{content:"·";color:var(--dimmer)}.chip.locked{opacity:.55;border-style:dashed}.gates{list-style:none;margin:calc(8px * var(--space)) 0;padding:0;display:grid;gap:calc(6px * var(--space));font-size:13px}.gates li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:calc(8px * var(--space));align-items:start}.gates li>*{grid-column:2}.gates li:before{font-family:var(--mono);line-height:1.5}.gates li.met:before{content:"✓";color:var(--good)}.gates li.unmet:before{content:"✗";color:var(--warn)}.danger-zone{margin-top:calc(16px * var(--space));border-top:1px solid var(--line)}.danger-zone>summary{cursor:pointer;padding:calc(12px * var(--space)) 2px;min-height:44px;display:flex;align-items:center;font-size:14px;color:var(--dim)}.danger-zone[open]>summary{color:var(--text);font-weight:600}.danger-zone[open]{border:1px solid var(--line);border-radius:8px;padding:0 calc(12px * var(--space)) calc(12px * var(--space));margin-top:calc(16px * var(--space))}.danger-zone[open]>summary{margin:0 calc(-12px * var(--space)) calc(4px * var(--space));padding-left:calc(12px * var(--space))}.danger-zone p{line-height:1.5}.danger-zone .field{margin-bottom:calc(8px * var(--space))}.round-chip{display:flex;align-items:center;gap:calc(8px * var(--space));width:100%;min-height:34px;padding:calc(5px * var(--space)) calc(10px * var(--space));border:0;border-top:1px solid var(--line);border-radius:0;background:var(--surface-lift);font-size:13px;text-align:left}.round-chip .round-chip-where{flex:0 0 auto;white-space:nowrap}.round-chip .round-chip-phase{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.round-chip.open{background:var(--accent);color:var(--on-accent)}.round-chip.open .dim{color:var(--on-accent);opacity:.8}.round-screen{display:flex;flex-direction:column}.round-count{margin:calc(4px * var(--space)) 0 calc(8px * var(--space))}.you-list>li.you-row{padding:calc(8px * var(--space)) 0}.board-blurb{margin-top:0}.board-list{list-style:none;margin:0;padding:0}.board-row{display:grid;grid-template-columns:2.2rem minmax(0,1fr) 1.1rem auto;gap:calc(8px * var(--space));align-items:baseline;padding:calc(9px * var(--space)) 0;border-bottom:1px solid var(--line)}.board-row:last-child{border-bottom:0}.board-readings{grid-column:2 / -1;line-height:1.35}.board-rank{color:var(--dim);text-align:right}.board-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-score{text-align:right;font-variant-numeric:tabular-nums}.board-row.mine{border-left:3px solid var(--accent);margin-left:calc(-3px * var(--space));padding-left:calc(6px * var(--space))}.board-row.pinned{border-bottom:1px solid var(--accent);margin-bottom:calc(4px * var(--space))}.board-move{font-size:max(11px,var(--type-floor));line-height:1}.board-move.up{color:var(--good)}.board-move.down{color:var(--warn)}.board-more{padding:calc(10px * var(--space)) 0 2px;list-style:none}.board-chips{margin-bottom:calc(8px * var(--space))}.round-pact{display:flex;align-items:center;justify-content:space-between;gap:calc(10px * var(--space));width:100%;min-height:48px;padding:calc(8px * var(--space)) calc(10px * var(--space));text-align:left}.op-row,.effort-row{display:flex;align-items:baseline;justify-content:space-between;gap:calc(10px * var(--space))}.op-row>span:first-child,.effort-row>span:first-child{min-width:0}.op-more{padding-top:calc(6px * var(--space))}.effort-value{font-variant-numeric:tabular-nums}.effort-row.mine strong{color:var(--accent)}.load-row{display:grid;grid-template-columns:68px 1fr 72px;align-items:center;gap:calc(8px * var(--space));margin:calc(6px * var(--space)) 0}.load-label{font-size:13px;color:var(--dim)}.load-row.res-s .load-label{color:var(--steel)}.load-row.res-f .load-label{color:var(--fuel)}.load-row.res-c .load-label{color:var(--circuits)}.load-row input[type=range]{width:100%;min-height:34px;accent-color:var(--accent)}.load-value{text-align:right;font-size:13px}.load-picker .chip-row{margin-top:calc(4px * var(--space))}.amount-row{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,6.5em) 44px auto;grid-template-areas:"name less input more max" "slider slider slider slider slider" "note note note note note";align-items:center;gap:2px calc(6px * var(--space));margin:calc(6px * var(--space)) 0}.amount-name{grid-area:name;display:grid;justify-items:start;align-content:center;min-width:0;min-height:44px;padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer;touch-action:manipulation}.amount-name:disabled{cursor:default}.amount-label{font-size:13px;color:var(--dim)}.amount-label:after{content:" ▾";font-size:max(10px,var(--type-floor));color:var(--dimmer)}.amount-row.open .amount-label:after{content:" ▴"}.amount-name:disabled .amount-label:after{content:none}.amount-row.res-s .amount-label{color:var(--steel)}.amount-row.res-f .amount-label{color:var(--fuel)}.amount-row.res-c .amount-label{color:var(--circuits)}.amount-row.res-p .amount-label{color:var(--power)}.amount-of{max-width:100%;font-size:max(12px,var(--type-floor));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.amount-step{width:44px;height:44px;padding:0;font-size:20px;line-height:1;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.amount-step.less{grid-area:less}.amount-step.more{grid-area:more}.amount-input{grid-area:input;min-height:44px;padding:calc(6px * var(--space)) calc(8px * var(--space));text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}.amount-max,.amount-row .amount-max.small{grid-area:max;min-height:44px;min-width:48px}.amount-slider{grid-area:slider;display:none;width:100%;min-height:40px;padding:0;border:0;background:transparent;accent-color:var(--accent);touch-action:pan-y}.amount-row.open .amount-slider{display:block}.amount-note{grid-area:note}.picker-picks{margin-bottom:2px}.picker-picks .chip{min-height:44px;min-width:56px;padding-inline:calc(16px * var(--space))}@media (min-width: 560px) and (pointer: fine){.amount-row{grid-template-columns:minmax(6.5em,8em) minmax(0,1fr) 36px minmax(0,7em) 36px auto;grid-template-areas:"name slider less input more max" "note note note note note note"}.amount-slider{display:block}.amount-name{cursor:default;min-height:36px}.amount-label:after{content:none}.amount-step{width:36px;height:36px}.amount-input,.amount-max,.amount-row .amount-max.small,.picker-picks .chip{min-height:36px}}.route-row{padding:calc(10px * var(--space)) 0;border-bottom:1px solid var(--line)}.route-row:last-child{border-bottom:0}.route-row{display:flex;align-items:flex-start;justify-content:space-between;gap:calc(10px * var(--space))}.route-row>div:first-child{min-width:0}.route-actions{display:flex;gap:calc(6px * var(--space));flex:0 0 auto}.new-route,.send-block{margin-top:calc(10px * var(--space))}.new-route>summary,.send-block>summary{cursor:pointer;padding:calc(8px * var(--space)) 0;color:var(--accent);font-size:14px}.send-block>.panel{margin-top:calc(8px * var(--space))}.landing{margin-top:.75rem}.landing h4{margin:0 0 .25rem;font-size:.95rem}.landing-options li{margin:.2rem 0}.landing-options label{display:inline}.inline-number{width:5.5em;display:inline-block;margin:0 .25em}:root{--dock-h: 48px}.bottom-stack{position:fixed;left:0;right:0;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom));z-index:30;display:flex;flex-direction:column;align-items:center;gap:calc(8px * var(--space));padding:0 calc(12px * var(--space)) calc(8px * var(--space));pointer-events:none}.bottom-stack>*{pointer-events:auto}.toasts{display:flex;flex-direction:column;align-items:center;gap:calc(6px * var(--space));width:100%;max-width:480px;pointer-events:none}.toast{pointer-events:auto;width:100%;display:flex;align-items:center;gap:calc(8px * var(--space));padding:calc(8px * var(--space)) calc(6px * var(--space)) calc(8px * var(--space)) calc(12px * var(--space));font-size:13px;line-height:1.35;background:var(--surface);color:var(--text);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:10px;box-shadow:0 6px 24px #00000047;animation:toast-in .16s ease-out}.toast-good{border-left-color:var(--good)}.toast-warn{border-left-color:var(--warn)}.toast-bad{border-left-color:var(--bad)}.toast-error{border-left-color:var(--warn)}.toast-combat{border-left-color:var(--accent)}.toast-text{flex:1;min-width:0}.toast-count{color:var(--dim);font-family:var(--mono)}.toast-action{flex:0 0 auto;font-weight:600}.toast-close{flex:0 0 auto;min-width:44px;min-height:36px;padding:0;border:0;background:none;color:var(--dim);font-size:18px}.toast-more{pointer-events:auto;min-height:32px;padding:calc(4px * var(--space)) calc(12px * var(--space));font-size:max(12px,var(--type-floor));border-radius:999px;background:var(--surface-2);color:var(--dim);border:1px solid var(--line)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.activity-dock{width:100%;max-width:560px;min-height:var(--dock-h);display:flex;align-items:center;gap:calc(10px * var(--space));padding:calc(6px * var(--space)) calc(14px * var(--space));background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:12px;box-shadow:0 6px 24px #00000040;cursor:pointer;font-size:14px}.activity-dock.tone-bad{border-left-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--surface))}.activity-dock.tone-warn{border-left-color:var(--warn)}.activity-dock.tone-ok{border-left-color:var(--good)}.activity-dock:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.activity-icon{flex:0 0 auto;width:18px;text-align:center;color:var(--dim)}.tone-bad .activity-icon{color:var(--bad)}.activity-title{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-when{flex:0 0 auto;font-variant-numeric:tabular-nums}.activity-more{flex:0 0 auto;font-size:max(12px,var(--type-floor));color:var(--dim);padding:1px calc(7px * var(--space));border-radius:999px;background:var(--surface-2)}.activity-chevron{color:var(--dim)}.activity-group+.activity-group{margin-top:calc(14px * var(--space))}.activity-group h3{margin:0 0 calc(6px * var(--space));font-size:max(12px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.06em * var(--label-track));color:var(--dim)}.activity-group ul{list-style:none;margin:calc(6px * var(--space)) 0 0;padding:0;display:grid;gap:calc(6px * var(--space))}.activity-row{display:flex;align-items:center;gap:calc(8px * var(--space));padding:calc(8px * var(--space)) calc(10px * var(--space));border:1px solid var(--line);border-left:3px solid var(--line);border-radius:10px;background:var(--surface)}.activity-row.tone-bad{border-left-color:var(--bad)}.activity-row.tone-warn{border-left-color:var(--warn)}.activity-row.tone-ok{border-left-color:var(--good)}.activity-row-main{flex:1;min-width:0;display:flex;align-items:center;gap:calc(8px * var(--space))}.activity-row-main.navigable{cursor:pointer}.activity-text{flex:1;min-width:0;display:flex;flex-direction:column}.activity-row .activity-when{font-size:max(12px,var(--type-floor));color:var(--dim);text-align:right}.activity-action{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.why{display:block;font-size:max(11.5px,var(--type-floor));line-height:1.3;color:var(--dim);max-width:22ch;text-align:right}.sheet-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#00000073;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:640px;max-height:82vh;max-height:82dvh;display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -8px 32px #00000059;padding-bottom:env(safe-area-inset-bottom);animation:sheet-up .18s ease-out;outline:none}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:calc(12px * var(--space)) calc(8px * var(--space)) calc(8px * var(--space)) calc(16px * var(--space));border-bottom:1px solid var(--line)}.sheet-head h2{margin:0;font-size:16px}.sheet-close{min-width:44px;min-height:44px;font-size:20px}.sheet-body{overflow-y:auto;padding:calc(12px * var(--space)) calc(16px * var(--space)) calc(16px * var(--space))}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}}@keyframes sheet-in{0%{transform:translate(24px);opacity:0}}@media (min-width: 900px){.sheet-layer{align-items:stretch;justify-content:flex-end;background:#00000040}.sheet{max-width:420px;max-height:none;margin-top:var(--head-h, 0px);border-radius:0;border-left:1px solid var(--line);border-top:1px solid var(--line);animation-name:sheet-in}}.state-pill{flex:0 1 auto;min-width:0;max-width:38vw;display:inline-flex;align-items:center;gap:calc(6px * var(--space));min-height:32px;padding:calc(3px * var(--space)) calc(11px * var(--space));border-radius:999px;font-size:max(12.5px,var(--type-floor));font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;border:1px solid var(--line);background:var(--surface-2)}.state-pill.tone-warn{border-color:color-mix(in srgb,var(--warn) 60%,transparent);background:color-mix(in srgb,var(--warn) 16%,var(--surface))}.state-pill.tone-bad{border-color:color-mix(in srgb,var(--bad) 60%,transparent);background:color-mix(in srgb,var(--bad) 16%,var(--surface))}.state-pill-more{color:var(--dim);font-weight:400}.state-pill.glyph{gap:calc(4px * var(--space));padding:calc(3px * var(--space)) calc(9px * var(--space))}.state-pill-icon{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}@media (max-width: 480px){.state-pill{max-width:26vw}}.inbox-btn{position:relative;flex:0 0 auto;display:grid;place-items:center;width:36px;height:36px;border-radius:999px;color:var(--dim);cursor:pointer}.inbox-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.inbox-actions{display:flex;justify-content:flex-end;margin-bottom:calc(6px * var(--space))}.inbox-count{position:absolute;top:1px;right:0;min-width:16px;height:16px;padding:0 calc(4px * var(--space));border-radius:999px;font-size:max(10px,var(--type-floor));line-height:16px;text-align:center;background:var(--accent);color:var(--on-accent)}.state-list{list-style:none;margin:0;padding:0;display:grid;gap:calc(12px * var(--space))}.inbox-group+.inbox-group{margin-top:calc(16px * var(--space))}.inbox-group h3{margin:0 0 calc(6px * var(--space));font-size:max(12px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.06em * var(--label-track));color:var(--dim)}.inbox-group ul{list-style:none;margin:0;padding:0}.inbox-row{display:flex;align-items:baseline;gap:calc(10px * var(--space));padding:calc(7px * var(--space)) 0 calc(7px * var(--space)) calc(10px * var(--space));border-left:3px solid transparent;border-bottom:1px solid var(--line);font-size:13px}.inbox-row.unread{border-left-color:var(--accent)}.inbox-row.kind-bad{border-left-color:var(--bad)}.inbox-row.kind-warn,.inbox-row.kind-error{border-left-color:var(--warn)}.inbox-text{flex:1;min-width:0}.pip.pip-bad{background:var(--bad);color:#fff}.base-picker{display:inline-flex;align-items:center;gap:calc(4px * var(--space));min-width:0;max-width:100%;cursor:pointer;position:relative}.base-picker strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-picker-caret{flex:0 0 auto;color:var(--dim);font-size:max(11px,var(--type-floor))}.base-picker-dot{flex:0 0 auto;width:7px;height:7px;border-radius:999px;background:var(--bad)}.base-picker:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.base-title-row{display:flex;align-items:center;gap:2px;min-width:0}.base-name-wrap{position:relative;display:inline-flex;min-width:0;max-width:100%}.base-name-wrap .base-picker{animation:base-in .2s ease-out}.base-name-out{position:absolute;left:0;top:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;animation:base-out .2s ease-out forwards}@keyframes base-in{0%{opacity:0}}@keyframes base-out{to{opacity:0}}.game-head .res-strip,.game-head .lane-strip{animation:base-in .2s ease-out}.game-title-sub{display:flex;align-items:center;gap:calc(8px * var(--space));min-width:0}.base-dots{display:inline-flex;align-items:center;gap:calc(4px * var(--space));flex:0 0 auto}.base-dots i{display:block;width:5px;height:5px;border-radius:999px;background:var(--dim);opacity:.45}.base-dots i.on{width:7px;height:7px;background:var(--accent);opacity:1}.base-step{display:none}@media (min-width: 900px){.base-step{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:24px;height:24px;border-radius:6px;color:var(--dim);font-size:20px;line-height:1;cursor:pointer}.base-step:hover{color:var(--text);background:var(--line)}.base-step.none{visibility:hidden}.base-step:focus-visible{outline:2px solid var(--accent);outline-offset:1px}}.bases-pager,.bases-pane.flow{position:relative}.bases-pane.other{position:absolute;left:0;right:0;top:0;z-index:1;pointer-events:none}.bases-pager.moving .bases-pane{will-change:transform,opacity}.bases-pager{touch-action:pan-y}html{overscroll-behavior-x:none}:root{--pill-h: 44px}.base-pill{display:flex;align-items:stretch;width:100%;max-width:480px;height:calc(var(--pill-h) + 2px);box-sizing:border-box;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);overflow:hidden}.base-pill button{border:0;border-radius:0;background:none;color:var(--text);height:100%;min-height:0;touch-action:manipulation}.base-pill-step{flex:0 0 52px;font-size:22px;color:var(--accent)!important}.base-pill-name{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:calc(8px * var(--space));font-weight:700;font-size:14px}.base-pill-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-pill-dots{display:inline-flex;gap:calc(4px * var(--space));flex:0 0 auto}.base-pill-dots i{width:6px;height:6px;border-radius:50%;background:var(--dimmer)}.base-pill-dots i.on{width:14px;border-radius:3px;background:var(--accent)}.base-pill-dots i.hit{background:var(--bad);box-shadow:0 0 0 2px color-mix(in srgb,var(--bad) 35%,transparent)}.base-pill-count{font-size:max(12px,var(--type-floor));font-family:var(--mono)}.game.has-pill{padding-bottom:calc(var(--tab-h) + var(--pill-h) + 16px + env(safe-area-inset-bottom))}.game.has-dock.has-pill{padding-bottom:calc(var(--tab-h) + var(--dock-h) + var(--pill-h) + 24px + env(safe-area-inset-bottom))}@media (min-width: 900px){.base-pill{display:none}.game.has-pill{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}.game.has-dock.has-pill{padding-bottom:calc(var(--tab-h) + var(--dock-h) + 16px + env(safe-area-inset-bottom))}}.round-chip.compact{display:inline-flex;width:auto;max-width:100%;min-height:0;padding:0;gap:calc(6px * var(--space));border:0;background:none;font-size:max(12px,var(--type-floor));color:var(--dim)}.round-chip.compact .round-chip-phase{flex:0 1 auto;font-weight:500}.round-chip.compact.open{background:none;color:var(--accent)}.res-strip{align-items:start}.res-strip.tappable{cursor:pointer}.res-strip.tappable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.res-cell{padding:calc(5px * var(--space)) calc(8px * var(--space)) calc(6px * var(--space));min-height:100%}.res-sub{font-size:max(11px,var(--type-floor));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.res-sub.warn{color:var(--warn)}.res-cap{display:none;font-size:max(11px,var(--type-floor));color:var(--dimmer)}@media (min-width: 720px){.res-cap{display:inline}}.lane-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:calc(6px * var(--space));overflow:visible}.lane-chip{max-width:none;min-width:0;justify-content:center;align-items:center;font-variant-numeric:tabular-nums}.base-rows{list-style:none;margin:calc(10px * var(--space)) 0 0;padding:0;display:grid;gap:calc(6px * var(--space))}.base-row{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:calc(10px * var(--space));padding:calc(8px * var(--space)) calc(12px * var(--space));text-align:left;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:10px}.base-row.current{border-color:var(--accent)}.base-row-name{min-width:0;overflow:hidden;text-overflow:ellipsis}.base-row-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:calc(4px * var(--space))}.base-row.newbases{margin-top:calc(12px * var(--space));font-size:13px;color:var(--dim);background:transparent;border-style:dashed}.base-row.newbases.act{color:var(--text);border-style:solid;border-color:var(--good)}.res-ledger{width:100%}.res-ledger th:first-child,.res-ledger td:first-child{text-align:left}.res-sheet-h{margin:calc(16px * var(--space)) 0 calc(6px * var(--space));font-size:13px}.res-sheet .res-s{color:var(--steel)}.res-sheet .res-f{color:var(--fuel)}.res-sheet .res-c{color:var(--circuits)}.act{display:inline-flex;flex-direction:column;align-items:flex-end;gap:calc(3px * var(--space));flex:0 0 auto;max-width:100%}.act.act-start{align-items:flex-start}.act-start .why{text-align:left;max-width:none}.why-not{display:block;font-size:max(12px,var(--type-floor));line-height:1.35;color:var(--dim);text-align:right}.why-not.type-why{text-align:left;margin:0 0 calc(8px * var(--space))}.cost-short{gap:2px calc(8px * var(--space));font-size:max(12px,var(--type-floor))}.cost-short .res-s{color:var(--steel)}.cost-short .res-f{color:var(--fuel)}.cost-short .res-c{color:var(--circuits)}.cost-short .cost-part.short{color:var(--warn)}.panel.is-empty.cc-max{flex-wrap:wrap}.cc-max .cc-facts{margin:0;font-size:13px;color:var(--dim);font-variant-numeric:tabular-nums}.cc-upgrading{margin-top:calc(8px * var(--space));color:var(--accent)}.type-title{min-width:0}.type-sum{margin:2px 0 0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:max(12px,var(--type-floor));color:var(--dim)}.type-action{display:flex;margin:0 0 calc(8px * var(--space))}.type-action .act{align-items:flex-start}.type-action .why-not{text-align:left}.type-action button{max-width:100%;text-align:left}.type-action button.primary .cost-n,.type-action button.primary .cost-u{color:inherit}.fold-toggle{display:block;box-sizing:border-box;min-height:44px;padding:calc(10px * var(--space)) 2px;font-size:14px;color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none}.fold-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.ledger{list-style:none;margin:0 0 calc(8px * var(--space));padding:0;display:grid;gap:calc(3px * var(--space))}.ledger-row{display:grid;grid-template-columns:2.2em 3em minmax(0,1fr) auto auto;grid-template-areas:"ord lvl eff cap up" "ord lvl next next up";align-items:center;gap:1px calc(8px * var(--space));padding:calc(4px * var(--space)) calc(6px * var(--space)) calc(4px * var(--space)) calc(9px * var(--space));background:var(--bg);border-radius:8px;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:max(12px,var(--type-floor))}.ledger-row.ledger-done .l-next{color:var(--dim)}.ledger-row.selected{outline:1px solid var(--accent)}.l-ord{grid-area:ord;color:var(--dimmer)}.l-lvl{grid-area:lvl;color:var(--accent)}.l-eff{grid-area:eff}.l-cap{grid-area:cap;text-align:right;color:var(--dim)}.l-next{grid-area:next;color:var(--dimmer)}.l-next .cost-short{display:inline}.l-next .cost-short .cost-part{margin-right:calc(6px * var(--space))}.l-busy{color:var(--accent)}.ledger-row .l-up{grid-area:up}.l-up{min-width:2.5rem;padding:calc(4px * var(--space)) calc(10px * var(--space))}.ledger-why{grid-column:3 / -1;font:max(12px,var(--type-floor)) / 1.35 var(--face);color:var(--dim)}@media (min-width: 560px){.ledger-row{grid-template-columns:2.4em 3.1em minmax(0,1fr) minmax(0,.8fr) minmax(0,1.9fr) auto;grid-template-areas:"ord lvl eff cap next up"}.l-eff,.l-next,.ledger-why{text-align:right}}.type-foot .act{margin-left:auto}.type.single{padding:calc(10px * var(--space)) calc(12px * var(--space))}.type.single.selected{outline:1px solid var(--accent)}.single-row{display:flex;flex-wrap:wrap;align-items:center;gap:calc(4px * var(--space)) calc(10px * var(--space))}.single-row h3{margin:0}.single-row .l-lvl{font-family:var(--mono);font-size:max(12px,var(--type-floor))}.single-eff{flex:1 1 8em;min-width:0;font-size:13px;color:var(--dim)}.single-end{display:flex;align-items:center;gap:calc(8px * var(--space));margin-left:auto}.single-next{color:var(--dimmer)}.type-more{margin-top:calc(6px * var(--space))}.type.unlocks-later{padding:calc(10px * var(--space)) calc(12px * var(--space))}.type.unlocks-later .type-head{margin:0;align-items:baseline}.group-title{display:flex;flex-wrap:wrap;align-items:center;gap:calc(8px * var(--space))}.locked-line{margin:calc(8px * var(--space)) 2px 0;font-size:13px;color:var(--dimmer)}.panel.is-empty.idle-lane{flex-wrap:wrap;align-items:center}.panel.is-empty.idle-lane h2{color:var(--warn)}.panel.is-empty.base-line{flex-wrap:wrap;align-items:center}.panel.is-empty.base-line h2{color:var(--text);font-size:15px}.base-line-name{display:flex;align-items:center;gap:calc(4px * var(--space))}.edit-mark{min-width:2.75rem;padding:calc(4px * var(--space)) calc(8px * var(--space))}.base-line .danger-zone:not([open]){margin:0;border-top:0}.base-line .danger-zone[open]{flex:1 1 100%;margin-top:calc(8px * var(--space))}.base-line-error{flex:1 1 100%;margin:calc(8px * var(--space)) 0 0}.rename{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:flex-start;gap:calc(8px * var(--space))}.rename input{flex:1 1 12em;min-width:0}.rename .act{align-items:flex-start}.rename .why-not{text-align:left}.build-here-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(8px * var(--space))}.build-here-grid .act{align-items:stretch}.build-here-grid button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.build-here-grid button.build-ok{border-color:var(--accent)}.build-here-grid .why-not{text-align:left}.build-here-name{font-weight:600}.build-here-price{font-size:max(12px,var(--type-floor))}.roster-row{align-items:center;min-height:44px}.roster-main{flex:1;display:flex;align-items:center;gap:calc(8px * var(--space));overflow:hidden}.roster-main strong{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-tags{display:flex;gap:calc(4px * var(--space));flex-wrap:nowrap;min-width:0;overflow:hidden}.roster-tags .tag{flex:0 0 auto}.expansion-line{flex-wrap:wrap}.expansion-why{flex:1;min-width:0;text-align:right}.expansion-why summary{cursor:pointer;list-style:none}.expansion-why summary::-webkit-details-marker{display:none}.expansion-why[open]{text-align:left;flex-basis:100%}.lane-fold summary{cursor:pointer;padding:2px 0}.lane-fold[open] summary{margin-bottom:calc(6px * var(--space))}.quantity-row{align-items:center}.tech-locked{margin:calc(8px * var(--space)) 0 0}.tech-maxed{margin:calc(8px * var(--space)) 0 0;display:flex;flex-wrap:wrap;align-items:center;gap:calc(4px * var(--space))}.achievements summary{cursor:pointer}.achievements .chip-row{margin-top:calc(8px * var(--space))}.side-rail{display:none}.recent-log{list-style:none;margin:0;padding:0}@media (min-width: 1100px){.game-columns.with-rail{display:grid;grid-template-columns:minmax(0,860px) 340px;justify-content:center;gap:calc(16px * var(--space));width:100%;max-width:1440px;margin:0 auto}.game-columns.with-rail .game-body{max-width:none;margin:0}.game-columns.with-rail .side-rail{display:block;position:sticky;top:calc(var(--head-h, 120px) + 12px);align-self:start;max-height:calc(100vh - var(--head-h, 120px) - var(--tab-h) - 24px);overflow-y:auto;padding:calc(12px * var(--space)) calc(12px * var(--space)) calc(12px * var(--space)) 0}.side-rail-block+.side-rail-block{margin-top:calc(18px * var(--space))}.side-rail-block>h2{margin:0 0 calc(8px * var(--space));font-size:max(12px,var(--type-floor));text-transform:var(--label-case);letter-spacing:calc(.06em * var(--label-track));color:var(--dim)}.game-columns.with-rail~.bottom-stack .activity-dock{display:none}.game:has(.game-columns.with-rail).has-dock{padding-bottom:calc(var(--tab-h) + env(safe-area-inset-bottom))}.bottom-stack{align-items:flex-end}}.tutorial.tutorial-line{display:flex;align-items:center;justify-content:space-between;gap:calc(10px * var(--space));padding:calc(8px * var(--space)) calc(12px * var(--space))}.launch-bar{position:sticky;bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 8px);z-index:4;margin-top:calc(8px * var(--space));padding:calc(10px * var(--space)) 0;background:var(--surface);border-top:1px solid var(--line)}.game.has-dock .launch-bar{bottom:calc(var(--tab-h) + var(--dock-h) + 16px + env(safe-area-inset-bottom))}.game.has-pill .launch-bar{bottom:calc(var(--tab-h) + var(--pill-h) + 22px + env(safe-area-inset-bottom))}.game.has-dock.has-pill .launch-bar{bottom:calc(var(--tab-h) + var(--dock-h) + var(--pill-h) + 30px + env(safe-area-inset-bottom))}@media (min-width: 900px){.game.has-pill .launch-bar{bottom:calc(var(--tab-h) + env(safe-area-inset-bottom) + 8px)}.game.has-dock.has-pill .launch-bar{bottom:calc(var(--tab-h) + var(--dock-h) + 16px + env(safe-area-inset-bottom))}}.sheet-body .launch-bar,.game.has-dock .sheet-body .launch-bar,.game.has-pill .sheet-body .launch-bar,.game.has-dock.has-pill .sheet-body .launch-bar{bottom:0}.defined-chip{cursor:pointer}.defined-chip.open{outline:2px solid var(--accent);outline-offset:1px}.defined-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chip-definition{margin:calc(6px * var(--space)) 0 0;padding:calc(8px * var(--space)) calc(10px * var(--space));border-left:3px solid var(--accent);background:var(--surface-2);border-radius:0 var(--radius) var(--radius) 0}.target-panel.in-sheet .scan-block:first-of-type{border-top:0;margin-top:0;padding-top:0}.target-sheet .sheet-body>.target-panel>.row:first-of-type{margin-bottom:calc(4px * var(--space))}.tree-lane{margin:0 0 calc(8px * var(--space))}.act-stack{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;max-width:100%}.act-stack.start{align-items:flex-start}.act-stack.start .why,.recovery-option .why{text-align:left;max-width:34ch}.why-row{margin:calc(4px * var(--space)) 0 calc(6px * var(--space))}.why-row .why{max-width:none;text-align:left}.row:has(>.act-stack){align-items:flex-start}.pact-glance .glance-facts{margin:0 0 calc(6px * var(--space));color:var(--dim)}.glance-lines{list-style:none;margin:0;padding:0;display:grid;gap:2px;font-size:13px}.glance-lines>li{display:flex;align-items:center;justify-content:space-between;gap:calc(8px * var(--space));min-height:34px}.glance-lines>li>span:first-child{min-width:0}.glance-lines .view-btn,.glance-more .view-btn{flex:0 0 auto}.glance-feed{margin-top:calc(6px * var(--space));border-top:1px solid var(--line)}.glance-feed .feed{margin-top:2px}.glance-more{display:flex;justify-content:flex-end;margin-top:calc(4px * var(--space))}.panel.pact-section,.panel.found-pact-panel,.panel.pact-list-panel{padding:0}.pact-summary{display:flex;align-items:center;gap:calc(10px * var(--space));min-height:44px;padding:calc(10px * var(--space)) calc(14px * var(--space));cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent}.pact-summary::-webkit-details-marker{display:none}.pact-summary::marker{content:""}.pact-summary h2{flex:0 0 auto;margin:0;font-size:15px}.pact-state{flex:1;min-width:0;text-align:right;font-size:13px;color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pact-summary:after{content:"▸";flex:0 0 auto;margin-left:auto;color:var(--dimmer);transition:transform .15s ease}details[open]>.pact-summary:after{transform:rotate(90deg)}.pact-body{padding:0 calc(14px * var(--space)) calc(14px * var(--space))}.pact-summary:focus-visible,.member-line:focus-visible,summary.effort-row:focus-visible,.pact-why>summary:focus-visible,.member-manage>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.pact-why{margin:0 0 calc(6px * var(--space))}.pact-why>summary{display:inline-flex;align-items:center;min-height:32px;cursor:pointer;list-style:none;font-size:max(12px,var(--type-floor));color:var(--accent)}.pact-why>summary::-webkit-details-marker{display:none}.pact-why>summary::marker{content:""}.pact-why[open]>summary{color:var(--dim)}.pact-why .hint{margin:0 0 calc(6px * var(--space));line-height:1.5}.pact-section .members{margin:calc(8px * var(--space)) 0 0;padding:0;border-top:1px solid var(--line)}.pact-section .member{padding:0}.member-line{display:flex;align-items:center;gap:calc(8px * var(--space));min-height:44px;padding:calc(6px * var(--space)) 0;cursor:pointer;list-style:none}.member-line::-webkit-details-marker{display:none}.member-line::marker{content:""}.member-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-line .tag,.member-time,.member-power{flex:0 0 auto}.member-power{min-width:7ch;text-align:right}.member-line:after,summary.effort-row:after{content:"▸";flex:0 0 auto;color:var(--dimmer);transition:transform .15s ease}details[open]>.member-line:after,details[open]>summary.effort-row:after{transform:rotate(90deg)}summary.effort-row{justify-content:flex-start}summary.effort-row>strong{flex:1 1 auto;min-width:0}.member>details[open]>.member-line .member-name strong{color:var(--accent)}.member-body{display:grid;gap:calc(4px * var(--space));padding:0 0 calc(10px * var(--space))}.member-manage>summary{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:32px;padding:0 calc(10px * var(--space));border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;list-style:none;font-size:16px;line-height:1;color:var(--dim)}.member-manage>summary::-webkit-details-marker{display:none}.member-manage>summary::marker{content:""}.member-manage[open]>summary{border-color:var(--accent);color:var(--accent)}.member-manage .manage-actions{margin-top:calc(8px * var(--space))}.effort-head{margin:calc(14px * var(--space)) 0 2px;font-size:14px}.effort-list>li.effort-item{padding:0}.effort-item .effort-row{min-height:40px;align-items:center}summary.effort-row{cursor:pointer;list-style:none}summary.effort-row::-webkit-details-marker{display:none}summary.effort-row::marker{content:""}.effort-item.mine strong{color:var(--accent)}.effort-body{padding:0 0 calc(10px * var(--space))}.declare-where{margin:calc(10px * var(--space)) 0 0;color:var(--dim)}.under-attack{margin-bottom:calc(12px * var(--space))}.under-attack h3{color:var(--bad)}.under-attack .attack{background:color-mix(in srgb,var(--bad) 7%,var(--bg))}.standing-armies{margin-top:calc(14px * var(--space));padding-top:calc(10px * var(--space));border-top:1px solid var(--line)}table.ledger{display:table;gap:0;margin:0}.why-more{margin:calc(4px * var(--space)) 0 0;font-size:13px}.why-more>summary{display:inline-flex;align-items:center;min-height:32px;padding:0 2px;color:var(--accent);font-size:max(12px,var(--type-floor));cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.why-more>summary::-webkit-details-marker{display:none}.why-more>summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:6px}.why-more-body{color:var(--dim);font-size:13px;line-height:1.5;padding:2px 0 calc(4px * var(--space))}.why-more-body p:last-child{margin-bottom:0}.panel.is-empty.econ-line .empty{color:var(--good)}.econ-fix{display:flex;flex-wrap:wrap;align-items:center;gap:calc(4px * var(--space)) calc(10px * var(--space));margin:0 0 calc(8px * var(--space));padding:calc(4px * var(--space)) calc(4px * var(--space)) calc(4px * var(--space)) calc(10px * var(--space));border-left:3px solid var(--warn);border-radius:0 8px 8px 0;background:var(--surface-2);font-size:14px}.econ-fix .econ-fix-send{margin-left:auto;min-width:64px}.econ-stocks th,.econ-stocks td{padding-left:calc(5px * var(--space));padding-right:calc(5px * var(--space))}.econ-stocks th:first-child,.econ-stocks td:first-child{padding-left:0}.econ-stocks td,.econ-power td,.econ-army td{white-space:nowrap}.econ-stocks td.res-s{color:var(--steel)}.econ-stocks td.res-f{color:var(--fuel)}.econ-stocks td.res-c{color:var(--circuits)}.econ-power td:first-child{white-space:normal}.econ-power .act-stack .dim{white-space:normal;max-width:30ch}.econ-stats{margin-top:calc(6px * var(--space))}.econ-stats>summary{display:inline-flex;align-items:center;min-height:40px;color:var(--accent);font-size:14px;cursor:pointer}.panel.send-panel{padding-top:calc(4px * var(--space));padding-bottom:calc(4px * var(--space))}.panel.send-panel.send-prominent{border-left:3px solid var(--accent)}.send-prominent .send-line>summary h2{font-size:var(--fs-h2);color:var(--accent)}.send-line>summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 calc(6px * var(--space));min-height:44px;padding:calc(10px * var(--space)) 0;box-sizing:border-box;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.send-line>summary::-webkit-details-marker{display:none}.send-line>summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.send-line>summary h2{margin:0;font-size:14px;font-weight:600}.send-route{font-size:14px}.send-lift{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;color:var(--dim)}.send-lift.warn{color:var(--warn);font-family:inherit}.send-chev{margin-left:auto;color:var(--accent);transition:transform .15s ease}.send-line[open]>summary .send-chev{transform:rotate(90deg)}.send-line[open]>summary{margin-bottom:calc(6px * var(--space));border-bottom:1px solid var(--line)}.send-line[open]{padding-bottom:calc(10px * var(--space))}.send-stay{margin:calc(6px * var(--space)) 0}.send-stay .field{margin-bottom:0}.route-head{display:inline-flex;align-items:center;gap:calc(8px * var(--space))}.route-ledger th,.route-ledger td{padding-left:calc(4px * var(--space));padding-right:calc(4px * var(--space));vertical-align:middle}.route-ledger th:first-child,.route-ledger td:first-child{padding-left:0}.route-ledger td:nth-child(3),.route-ledger td:nth-child(4){white-space:nowrap}.route-ledger td:first-child .tag{margin-left:calc(6px * var(--space))}.route-ledger tr.route-group th{text-align:left;font-size:max(11px,var(--type-floor));letter-spacing:calc(.1em * var(--label-track));text-transform:var(--label-case);color:var(--dimmer);padding:calc(10px * var(--space)) calc(8px * var(--space)) 2px}.route-status{white-space:nowrap;color:var(--dim)}.route-status.warn{color:var(--warn);font-weight:600}.route-ledger .route-actions{display:table-cell;white-space:nowrap;text-align:right}.route-ledger .route-actions button+button{margin-left:calc(6px * var(--space))}.route-ledger tr.bad-run td{border-bottom:none}.route-ledger tr.route-note td{padding-top:0}.reports .panel-head{flex-wrap:wrap}.all-bases-h{margin:calc(12px * var(--space)) 0 calc(4px * var(--space));font-size:13px}.all-bases-each tr.current td{background:var(--surface-2)}.all-bases-name{white-space:nowrap}.all-bases-sub{display:block}.all-bases-link{color:var(--accent);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.all-bases-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sub-figure,.garrison-each{display:block;font-size:max(10.5px,var(--type-floor));font-weight:400}.report-group+.report-group{margin-top:calc(12px * var(--space))}.report-day{margin:calc(6px * var(--space)) 0 2px;font-size:max(12px,var(--type-floor));font-weight:600;letter-spacing:calc(.06em * var(--label-track));text-transform:var(--label-case);color:var(--dim)}.report-line,.report-cols{display:grid;grid-template-columns:auto minmax(0,1fr) 32px 40px 48px 28px;gap:calc(5px * var(--space));align-items:center}.report-cols{padding:0 calc(6px * var(--space)) 2px calc(11px * var(--space));grid-template-columns:0 minmax(0,1fr) 32px 40px 48px 28px;font-size:max(11px,var(--type-floor));letter-spacing:calc(.08em * var(--label-track));text-transform:var(--label-case);color:var(--dimmer);text-align:right}.report-rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.report-row{border-bottom:1px solid var(--line);border-left:3px solid var(--line);padding-left:calc(8px * var(--space))}.report-row.rail-good{border-left-color:var(--good)}.report-row.rail-bad{border-left-color:var(--bad)}.report-row.rail-quiet{border-left-color:var(--dimmer)}.report-line{min-height:44px;padding:calc(4px * var(--space)) calc(6px * var(--space)) calc(4px * var(--space)) 0;box-sizing:border-box;font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.report-line:hover{background:var(--surface-2)}.report-line:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.rl-out .tag{font-size:max(11px,var(--type-floor));padding:1px calc(5px * var(--space));letter-spacing:calc(.02em * var(--label-track))}.rl-target{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rl-num,.rl-age{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:max(12px,var(--type-floor));text-align:right;white-space:nowrap}.rl-age{color:var(--dim)}.report-recover{display:flex;flex-wrap:wrap;align-items:flex-start;gap:calc(6px * var(--space)) calc(8px * var(--space));padding:2px calc(6px * var(--space)) calc(8px * var(--space)) 0}.report-recover>.small:first-child{align-self:center}.report-recover .why,.report-recover .why-more{flex-basis:100%;max-width:none;margin:0;text-align:left}.report-row .report-body{margin-top:calc(4px * var(--space));padding:calc(10px * var(--space)) calc(6px * var(--space)) calc(10px * var(--space)) 0}.report-body-actions{display:flex;justify-content:flex-end}@media (min-width: 560px){.report-line{grid-template-columns:auto minmax(0,1fr) 48px 48px 60px 40px;gap:calc(10px * var(--space))}.report-cols{grid-template-columns:0 minmax(0,1fr) 48px 48px 60px 40px;gap:calc(10px * var(--space))}}.load-note{flex-basis:100%;grid-column:2 / -1;margin-top:.15rem}.titan-line-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.titan-line{display:inline-block;width:6rem;height:.55rem;border-radius:999px;background:color-mix(in srgb,var(--fg, #e8ecf1) 14%,transparent);overflow:hidden;vertical-align:middle}.titan-line-fill{display:block;height:100%;border-radius:inherit;background:var(--warn, #e0a22a)}.launch-sentence.pending,.launch-confirm .pending{opacity:.6}.launch-confirm .facts{margin-bottom:calc(8px * var(--space))}.launch-confirm .confirm-actions{align-items:flex-start;margin-top:calc(12px * var(--space))}.why-slot{display:block;min-height:1.45em}.stale-line{opacity:.55;transition:opacity .15s ease-out .15s}@media (max-width: 559px){.train-total,.train-power{min-height:4.35em}}.fold-units>summary{display:flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;color:var(--accent);cursor:pointer;list-style:none}.fold-units>summary::-webkit-details-marker{display:none}.fold-units>summary:before{content:"▸";margin-right:calc(8px * var(--space));color:var(--dim)}.fold-units[open]>summary:before{content:"▾"}@media (pointer: coarse){button{min-height:44px}button.small{min-height:36px;position:relative}button.small:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.chip{min-height:40px}.l-up{min-width:44px;min-height:44px}.why-more>summary{display:inline-flex;align-items:center;min-height:44px;min-width:44px}.defined-chip{min-height:36px}.game-head-row>button,.game-head-row .view-toggle button,.game-head-row .inbox-btn{min-width:44px;min-height:44px}}.report-act{display:flex;flex-wrap:wrap;align-items:center;gap:calc(2px * var(--space)) calc(10px * var(--space));padding:calc(2px * var(--space)) 0 calc(6px * var(--space))}.report-act>button{min-height:44px;color:var(--accent)}.report-act-note{flex:1 1 10em;min-width:0;overflow-wrap:anywhere}.ready-grid{display:grid;grid-template-columns:repeat(var(--cell-cols),minmax(0,1fr));gap:calc(8px * var(--space))}.ready-cell{display:flex;flex-direction:var(--cell-flow);flex-wrap:wrap;align-items:var(--cell-align);gap:2px calc(8px * var(--space));min-width:0;background:var(--surface-2);border-radius:8px;padding:calc(8px * var(--space)) calc(10px * var(--space))}.ready-value{font-size:16px;white-space:nowrap}.ready-sub{font-size:max(12px,var(--type-floor));color:var(--dim);overflow-wrap:anywhere}.ready>.bad{margin-top:calc(8px * var(--space))}.bk-summary{text-align:right}.bk-list{display:grid;gap:calc(10px * var(--space));margin-bottom:calc(10px * var(--space))}@media (min-width: 900px){.bk-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}.bk{border:1px solid var(--line);border-radius:10px;padding:calc(8px * var(--space));display:grid;gap:calc(6px * var(--space));min-width:0}.bk-top{display:flex;justify-content:space-between;align-items:baseline;gap:calc(8px * var(--space));flex-wrap:wrap}.bk-id{font-weight:600}.bk-letter{color:var(--accent);font-family:var(--mono)}.bk-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(6px * var(--space))}.slot{min-height:56px;padding:calc(6px * var(--space)) calc(8px * var(--space));display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;text-align:left;min-width:0;font-size:13px}.slot-name{font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-when{font-size:max(12px,var(--type-floor))}.slot-note{font-size:max(11px,var(--type-floor));color:var(--dim)}.slot-active{border-color:var(--accent);background:linear-gradient(var(--surface-lift),transparent),var(--surface-2)}.slot-picked{outline:2px solid var(--accent);outline-offset:1px}.slot-empty{align-items:center;font-size:20px;color:var(--dimmer);border-style:dashed;background:transparent}.bk-bay{display:flex;justify-content:space-between;gap:calc(8px * var(--space));padding:calc(6px * var(--space)) calc(8px * var(--space));border-radius:6px;background:var(--surface-2);min-height:32px;align-items:center}.bk-actions{display:flex;flex-wrap:wrap;gap:calc(6px * var(--space));align-items:flex-start}.bk-actions button{min-height:44px}.order-panel{display:grid;gap:calc(10px * var(--space))}.seg{display:flex;flex-wrap:wrap;gap:calc(6px * var(--space))}.seg-opt{flex:1 1 60px;min-height:48px;display:flex;flex-direction:column;align-items:center;gap:0;padding:calc(4px * var(--space)) calc(8px * var(--space))}.seg-opt small{font-size:max(11px,var(--type-floor));color:var(--dim)}.seg-opt.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.seg-opt.off small{color:var(--warn)}.unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:calc(6px * var(--space))}@media (min-width: 560px){.unit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.unit-card{min-height:56px;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;padding:calc(6px * var(--space)) calc(8px * var(--space));min-width:0}.unit-card>span{max-width:100%;overflow-wrap:anywhere}.unit-card.on{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.unit-card.locked{opacity:.6}.order-quote{display:grid;gap:calc(4px * var(--space));margin:0}.order-quote>div{display:flex;justify-content:space-between;gap:calc(10px * var(--space));flex-wrap:wrap}.order-quote dt{color:var(--dim);font-size:13px}.order-quote dd{margin:0;text-align:right;font-size:13px;overflow-wrap:anywhere}.unit-more summary{min-height:44px;display:flex;align-items:center;color:var(--dim);cursor:pointer}.wounded-list{list-style:none;margin:0 0 calc(8px * var(--space));padding:0;display:grid;gap:calc(6px * var(--space))}.wounded-list>li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(6px * var(--space)) calc(10px * var(--space));padding:calc(6px * var(--space)) 0;border-bottom:1px solid var(--line)}.wounded-list>li>span:first-child{min-width:0;flex:1 1 180px}.wounded-list button{min-height:44px}.garrison-rows{list-style:none;margin:0 0 calc(8px * var(--space));padding:0;display:grid;gap:2px}.garrison-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name home" "where where" "upkeep fight";gap:0 calc(10px * var(--space));padding:calc(6px * var(--space)) 0;border-bottom:1px solid var(--line)}.g-name{grid-area:name;font-weight:600}.g-home{grid-area:home;text-align:right}.g-where{grid-area:where;color:var(--dim)}.g-where:empty{display:none}.g-upkeep{grid-area:upkeep}.g-fight{grid-area:fight;text-align:right}@media (min-width: 560px){.garrison-row{grid-template-columns:90px 90px minmax(0,1fr) auto auto;grid-template-areas:"name home where upkeep fight";align-items:baseline}.g-where:empty{display:block}}.whats-new .change{padding:calc(8px * var(--space)) 0;border-bottom:1px solid var(--line)}.whats-new .change:last-of-type{border-bottom:none}.change-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(4px * var(--space)) calc(10px * var(--space));margin:0 0 calc(6px * var(--space));color:var(--text);font-size:15px}.change-items{margin:0;padding-left:calc(18px * var(--space));display:grid;gap:calc(4px * var(--space));max-width:68ch}.change-older summary{min-height:44px;display:flex;align-items:center;color:var(--accent);cursor:pointer}.head-profile{position:relative}.menu-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--bg)}.panel.needs-you{border-left:3px solid var(--warn)}.needs{list-style:none;margin:0;padding:0;display:grid;gap:calc(8px * var(--space))}.need{display:grid;gap:calc(4px * var(--space));min-width:0;padding:calc(8px * var(--space)) calc(10px * var(--space));background:var(--bg);border-radius:8px}.need-line{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px calc(10px * var(--space));min-width:0}.need-what{min-width:0;overflow-wrap:anywhere}.need-when,.need-figure{font-variant-numeric:tabular-nums}.need-figure.mono{font-family:var(--mono);font-size:13px}.need-acts{display:flex;flex-wrap:wrap;align-items:center;gap:calc(8px * var(--space));margin-top:2px}.need-acts>button,.need-acts>.act-stack>button,.need-acts>.confirm-press button{min-height:44px}.need-send{margin:0 calc(-10px * var(--space)) calc(-8px * var(--space))}.need-from{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:calc(4px * var(--space)) calc(8px * var(--space));margin:calc(6px * var(--space)) calc(10px * var(--space)) 0}.need-from select{flex:1 1 12em;min-width:0;min-height:44px}.need-send>.panel.send-panel{margin:calc(4px * var(--space)) 0 0;padding-left:calc(8px * var(--space));padding-right:calc(8px * var(--space));border-width:1px 0 0;border-radius:0 0 8px 8px;box-shadow:none;background:var(--surface)}.map-send>.panel.send-panel{margin:calc(4px * var(--space)) 0 0;padding-left:calc(10px * var(--space));padding-right:calc(10px * var(--space));box-shadow:none;background:var(--surface)}.ask-kind{margin:calc(12px * var(--space)) 0 calc(4px * var(--space))}.ask-amounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 calc(10px * var(--space))}.ask-amount .number-input{width:100%;min-width:0}.ask-amount>span{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0 calc(6px * var(--space))}.leadership{display:grid;gap:calc(8px * var(--space));margin-bottom:calc(10px * var(--space))}.leadership-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(6px * var(--space)) calc(10px * var(--space));padding:calc(8px * var(--space)) calc(10px * var(--space));border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 7%,var(--bg));border-radius:6px}.takeover-start>summary{display:flex;align-items:center;min-height:44px;color:var(--accent);cursor:pointer;font-size:14px}.member-bases{margin:calc(4px * var(--space)) 0;display:grid;gap:2px}.member-bases .mono{font-variant-numeric:tabular-nums}.invites-head{margin:calc(12px * var(--space)) 0 calc(4px * var(--space));font-size:14px}.route-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:calc(8px * var(--space));margin:calc(10px * var(--space)) 0}.route-end{display:grid;gap:2px;min-width:0}.route-end select{width:100%;min-width:0;min-height:44px}.route-here{display:flex;align-items:center;min-height:44px;padding:0 calc(10px * var(--space));border:1px dashed var(--line);border-radius:8px;font-weight:600;overflow-wrap:anywhere}.route-swap{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:20px;cursor:pointer;-webkit-user-select:none;user-select:none}.route-swap:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.trip-meter{display:grid;gap:calc(6px * var(--space));margin:calc(8px * var(--space)) 0}.meter-row{display:grid;grid-template-columns:4.6em minmax(0,1fr) 10em;align-items:center;gap:calc(8px * var(--space))}.meter-label{font-size:13px;color:var(--dim)}.meter-track{height:8px;border-radius:4px;background:var(--bg);border:1px solid var(--line);overflow:hidden}.meter-fill{display:block;height:100%;background:var(--accent);transition:width .16s ease-out}@media (prefers-reduced-motion: reduce){.meter-fill{transition:none}}.meter-figure{font-size:13px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.trip-line{display:flex;flex-wrap:wrap;gap:2px calc(12px * var(--space));margin:0;font-size:14px}.chip.chip-main{border-color:var(--accent);color:var(--accent)}.game-head.compact{background:transparent;border-bottom:0;padding-top:0;pointer-events:none}.game-head.compact .head-line{position:relative;display:flex;align-items:center;gap:4px;min-height:var(--head-line);padding:0 6px 0 2px;background:var(--surface);pointer-events:auto}.game-head.compact .head-top{z-index:2;padding-top:env(safe-area-inset-top);box-shadow:0 1px 0 var(--line)}.game-head.compact .head-lanes{z-index:1;border-bottom:1px solid var(--line);transition:transform .16s ease-out,opacity .16s ease-out,visibility 0s}.game-head.compact.folded .head-lanes{transform:translateY(-100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .16s ease-out,opacity .16s ease-out,visibility 0s .16s}@media (prefers-reduced-motion: reduce){.game-head.compact .head-lanes,.game-head.compact.folded .head-lanes{transition:none}}.game-head.compact button,.game-head.compact [role=button]{min-height:var(--tap)}.game-head.compact .head-back{flex:0 0 auto;width:36px;padding:0;border:0}.game-head.compact .game-title{flex:1 1 auto;min-width:0}.game-head.compact .game-title-sub{display:none}.game-head.compact .base-picker{display:inline-flex;align-items:center;max-width:100%;font-size:15px}.game-head.compact .base-picker strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-strip{flex:0 0 auto;display:flex;align-items:center}.stock{position:relative;display:inline-flex;align-items:center;gap:2px;min-width:0;padding:0 4px;border:0;border-radius:8px;background:none;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:-.02em;white-space:nowrap}.stock .icon{width:12px;height:12px}.stock.res-s{color:var(--steel)}.stock.res-f{color:var(--fuel)}.stock.res-c{color:var(--circuits)}.stock.res-p{color:var(--power)}.stock[aria-expanded=true]{background:var(--surface-2);box-shadow:inset 0 -2px 0 currentColor}.stock-v{padding:2px 0}.stock.tone-warn .stock-v{box-shadow:inset 0 -2px 0 var(--warn)}.stock.tone-bad .stock-v{box-shadow:inset 0 -2px 0 var(--bad)}.stock-mark{position:absolute;top:9px;right:0;width:5px;height:5px;border-radius:50%;background:var(--warn)}.stock.tone-bad .stock-mark{background:var(--bad)}@media (max-width: 374.98px){.stock .icon{display:none}}.stock-pop{position:absolute;top:100%;right:6px;left:6px;z-index:3;max-width:360px;margin:4px 0 0 auto;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);pointer-events:auto}.stock-pop-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-weight:600}.stock-pop-name{display:inline-flex;align-items:center;gap:6px}.stock-pop.res-s .stock-pop-name{color:var(--steel)}.stock-pop.res-f .stock-pop-name{color:var(--fuel)}.stock-pop.res-c .stock-pop-name{color:var(--circuits)}.stock-pop.res-p .stock-pop-name{color:var(--power)}.stock-pop-figure{font-size:16px}.stock-pop-lines{display:flex;flex-wrap:wrap;gap:0 12px;margin:2px 0 0;font-size:13px;color:var(--dim)}.stock-pop-lines .warn{color:var(--warn)}.stock-pop-lines .bad{color:var(--bad)}.stock-pop-more{margin-top:4px}.lane-strip.lanes-compact{display:flex;flex:1 1 auto;min-width:0;gap:4px;padding:0 0 0 4px;border-top:0;overflow:visible;animation:none}.lanes-compact .lane-chip{position:relative;flex:0 1 auto;min-width:0;min-height:32px;gap:3px;padding:0 8px;font-family:var(--face);font-variant-numeric:tabular-nums;font-size:13px}.game-head.compact .lanes-compact .lane-chip{min-height:32px}.lanes-compact .lane-chip:after{content:"";position:absolute;top:-6px;right:0;bottom:-6px;left:0}.lanes-compact .lane-chip .icon{color:var(--dim)}.lanes-compact .lane-chip.idle .icon{color:var(--warn)}.lanes-compact .lane-time,.lanes-compact .lane-item{white-space:nowrap}.head-tools{flex:0 1 auto;min-width:0;display:flex;align-items:center;gap:2px;margin-left:auto}.head-tools>*{flex-shrink:0}.head-tools>.state-pill{flex-shrink:1}@media (max-width: 359.98px){.lanes-compact .lane-chip{padding:0 6px}}.game-head.compact.held .lanes-compact .lane-time,.game-head.compact.held .lanes-compact .lane-item{display:none}.game-head.compact .inbox-btn{width:36px;height:auto}.game-head.compact .head-profile{width:38px;padding:0;border:0}.game-head.compact .view-toggle{border:0;overflow:visible;gap:1px}.game-head.compact .view-toggle button{position:relative;width:32px;height:32px;min-height:32px;border:1px solid var(--line);border-radius:999px 0 0 999px}.game-head.compact .view-toggle button+button{border-radius:0 999px 999px 0}.game-head.compact .view-toggle button.active{border-color:var(--accent)}.game-head.compact .view-toggle button:after{content:"";position:absolute;top:-7px;right:0;bottom:-7px;left:0}.game-head.compact .state-pill{max-width:30vw;border:6px solid transparent;background-clip:padding-box;box-shadow:inset 0 0 0 1px var(--line)}.game-head.compact .state-pill.tone-warn{border-color:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn) 60%,transparent)}.game-head.compact .state-pill.tone-bad{border-color:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--bad) 60%,transparent)}.roster-main{flex-wrap:wrap;row-gap:2px}.roster-main strong{white-space:normal;overflow:visible;overflow-wrap:anywhere}.roster-tags{flex-wrap:wrap;overflow:visible}.rl-target{white-space:normal;overflow:visible;overflow-wrap:anywhere;line-height:1.3}@media (max-width: 559.98px){.report-line{grid-template-columns:auto minmax(0,1fr) 34px 46px 56px 30px}.report-cols{grid-template-columns:0 minmax(0,1fr) 34px 46px 56px 30px}}:root[data-density=compact] .slot{min-height:var(--tap)}:root[data-density=compact] .slot-note{display:none}@media (max-width: 559.98px){:root[data-density=compact] .ledger-row{grid-template-areas:"ord lvl eff cap up" "next next next next up"}}@media (pointer: coarse){.chip,.view-btn,select,input:not([type=checkbox]):not([type=radio]):not([type=range]),.amount-slider,summary,.round-chip,.field.check>span:first-child,.pact-why>summary,.member-manage>summary,.effort-item .effort-row,.econ-stats>summary{min-height:var(--tap)}.view-btn.small{min-height:36px}.view-btn.small,.defined-chip{position:relative}.view-btn.small:after,.defined-chip:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.game-head:not(.compact) .lane-chip,.game-head:not(.compact) .base-picker{position:relative}.game-head:not(.compact) .lane-chip:after,.game-head:not(.compact) .base-picker:after{content:"";position:absolute;top:-4px;right:0;bottom:-4px;left:0}.game-head:not(.compact) .base-picker:after{top:-13px;right:-4px;bottom:-13px;left:-4px}}.explain-row{display:flex;align-items:center;gap:4px;min-width:0;margin-bottom:calc(8px * var(--space))}.explain-row>:first-child:not(.explain-i){flex:0 1 auto;min-width:0;margin-bottom:0}.explain-row>.panel-head,.explain-row>.group-head{flex:1 1 auto}.explain-row:has(>.type-sum){flex-wrap:wrap}.explain-row>.explain-i{order:1}.explain-row>.type-sum{order:2;flex-basis:100%}.explain-lone{justify-content:flex-end;margin:0}.explain-i{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:30px;min-height:24px;color:var(--accent);font-size:17px;line-height:1;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.explain-i:after{content:"";position:absolute;top:-10px;right:-4px;bottom:-10px;left:-4px}.explain-i.open{color:var(--text)}.explain-i:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-radius:6px}.explain-inline{display:inline}.explain-inline .explain-i{vertical-align:middle;min-height:20px}.explain-inline .explain-i:after{top:-12px;right:-4px;bottom:-12px;left:-4px}.explain-body{animation:base-in .16s ease-out}
