:root{color:var(--ui-text);background:var(--ui-canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:"Source Sans 3",Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;overflow-x:hidden}button,input,select{font:inherit}button,select{color:inherit}button{border:0}button:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}.icon{flex:none;width:20px;height:20px;display:block}.button{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:10px 18px;font-size:.92rem;font-weight:700;transition:background-color 90ms ease-out,border-color 90ms ease-out,color 90ms ease-out,translate 60ms ease-out;display:inline-flex}.button:not(:disabled):active,.small-action:not(:disabled):active,.row-action:not(:disabled):active,.command-button:not(:disabled):active{translate:0 1px}.button-primary{color:var(--ui-canvas);background:var(--ui-accent);box-shadow:0 9px 24px color-mix(in srgb, var(--ui-canvas) 42%, transparent)}.button-primary:not(:disabled):hover{background:var(--ui-accent-hover)}.button-secondary{border-color:var(--ui-border-strong);background:var(--ui-panel-raised)}.button-secondary:not(:disabled):hover{background:var(--ui-panel-hover)}.button-danger{border-color:color-mix(in srgb, var(--ui-danger) 70%, transparent);color:color-mix(in srgb, var(--ui-danger) 18%, var(--ui-text));background:color-mix(in srgb, var(--ui-danger) 42%, transparent)}.eyebrow,.micro-label{color:var(--ui-accent);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:750}.brand{align-items:center;gap:11px;display:inline-flex}.brand-emblem{border:1px solid color-mix(in srgb, var(--ui-accent) 65%, transparent);width:42px;height:42px;color:var(--ui-accent);background:var(--ui-panel);box-shadow:inset 0 0 0 4px color-mix(in srgb, var(--ui-accent) 7%, transparent);border-radius:50%;place-items:center;display:grid}.brand-emblem .icon{width:25px;height:25px}.brand-words{gap:1px;display:grid}.brand-words strong{font-family:"Source Serif 4",Georgia,serif;font-size:1.08rem;line-height:1.1}.brand-words small{color:var(--ui-text-muted);letter-spacing:.045em;text-transform:uppercase;font-size:.68rem}.brand-compact{gap:8px}.brand-compact .brand-emblem{width:31px;height:31px}.brand-compact .brand-emblem .icon{width:18px;height:18px}.brand-compact .brand-words strong{font-size:.92rem}.maritime-backdrop{z-index:-2;background:var(--world-ocean-deep);position:absolute;inset:0;overflow:hidden}.maritime-map{width:100%;height:100%}.backdrop-sea-drift{transform-box:fill-box;transform-origin:50%}.backdrop-sea-drift-a{animation:22s ease-in-out infinite alternate backdrop-sea-drift-a}.backdrop-sea-drift-b{animation:29s ease-in-out infinite alternate backdrop-sea-drift-b}.backdrop-vignette{background:linear-gradient(180deg, color-mix(in srgb, var(--ui-canvas) 16%, transparent), transparent 28%, transparent 72%, color-mix(in srgb, var(--ui-canvas) 28%, transparent)), radial-gradient(circle at 50% 44%, transparent 24%, color-mix(in srgb, var(--ui-canvas) 10%, transparent) 78%);position:absolute;inset:0}.lobby{isolation:isolate;background:var(--world-ocean-mid);grid-template-rows:auto auto 1fr auto;gap:24px;min-height:100dvh;padding:22px clamp(24px,5vw,72px) 18px;display:grid;position:relative;overflow:hidden auto}.lobby-header,.lobby-hero,.seat-panel,.lobby-footer{width:min(1220px,100%);margin-inline:auto}.lobby-header{justify-content:space-between;align-items:center;display:flex}.lobby-hero{border:1px solid color-mix(in srgb, var(--ui-border-strong) 82%, transparent);background:color-mix(in srgb, var(--ui-panel) 96%, transparent);box-shadow:0 22px 54px color-mix(in srgb, var(--ui-canvas) 40%, transparent);border-radius:10px;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);display:grid;overflow:hidden}.lobby-copy{padding:clamp(30px,4.5vw,62px)}.lobby-copy h1,.error-card h1,.mobile-gate-card h1,.result-dialog h1{color:var(--ui-text);margin:10px 0 16px;font-family:"Source Serif 4",Georgia,serif;font-weight:650;line-height:1.02}.lobby-copy h1{max-width:700px;font-size:clamp(2.7rem,5.5vw,5.5rem)}.lobby-copy>p:not(.eyebrow){max-width:630px;color:var(--ui-text-muted);margin-bottom:25px;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.58}.lobby-facts{flex-wrap:wrap;gap:9px;margin-bottom:28px;display:flex}.lobby-facts span{border:1px solid var(--ui-border);color:var(--ui-text);background:var(--ui-panel-raised);border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.76rem;display:inline-flex}.lobby-facts .icon{width:15px;height:15px;color:var(--ui-accent)}.join-form{gap:8px;max-width:630px;display:grid}.join-form>label{color:var(--ui-text-muted);letter-spacing:.065em;text-transform:uppercase;font-size:.72rem;font-weight:700}.join-controls{grid-template-columns:minmax(150px,1fr) auto;gap:9px;display:grid}.join-controls input,.route-controls select{border:1px solid var(--ui-border-strong);min-width:0;color:var(--ui-text);background:var(--ui-canvas);border-radius:6px}.join-controls input{min-height:46px;padding:9px 13px}.field-error{color:color-mix(in srgb, var(--ui-danger) 28%, var(--ui-text));font-size:.76rem}.departure-card{border-left:1px solid var(--ui-border);text-align:center;background:linear-gradient(180deg, color-mix(in srgb, var(--ui-panel-raised) 90%, transparent), color-mix(in srgb, var(--ui-canvas) 96%, transparent)), var(--ui-panel);align-content:center;justify-items:center;gap:22px;padding:36px;display:grid;position:relative}.departure-card:before{border:1px solid color-mix(in srgb, var(--world-foam) 9%, transparent);content:"";border-radius:50%;position:absolute;inset:20px}.countdown{border:2px solid var(--ui-accent);width:152px;height:152px;box-shadow:inset 0 0 0 9px color-mix(in srgb, var(--ui-accent) 9%, transparent);border-radius:50%;place-content:center;display:grid;position:relative}.countdown-value{font-variant-numeric:tabular-nums;font-family:"Source Serif 4",Georgia,serif;font-size:3.5rem;line-height:.9}.countdown-label{color:var(--ui-text-muted);letter-spacing:.12em;text-transform:uppercase;margin-top:8px;font-size:.68rem}.departure-copy{gap:7px;max-width:260px;display:grid;position:relative}.departure-copy strong{font-family:"Source Serif 4",Georgia,serif;font-size:1.2rem}.departure-copy>span{color:var(--ui-text-muted);font-size:.82rem;line-height:1.45}.seat-panel{border:1px solid color-mix(in srgb, var(--ui-border-strong) 78%, transparent);background:color-mix(in srgb, var(--ui-panel) 96%, transparent);box-shadow:0 16px 38px color-mix(in srgb, var(--ui-canvas) 32%, transparent);border-radius:10px;padding:18px}.seat-panel-heading{justify-content:space-between;align-items:end;gap:18px;margin-bottom:14px;display:flex}.seat-panel-heading h2{margin:3px 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:1.38rem}.seat-count{color:var(--ui-text-muted);font-variant-numeric:tabular-nums;font-size:.78rem}.seat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.seat{border:1px solid var(--ui-border);background:var(--ui-panel-raised);border-radius:6px;grid-template-columns:28px 34px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:62px;padding:9px;display:grid}.seat-open{background:color-mix(in srgb, var(--ui-canvas) 65%, transparent)}.seat-current{border-color:var(--ui-accent);box-shadow:inset 3px 0 var(--ui-accent)}.seat-number{color:var(--ui-text);font-variant-numeric:tabular-nums;font-size:.65rem}.player-mark,.diplomacy-player-mark{border:2px solid var(--player-color);color:var(--ui-text);background:color-mix(in srgb, var(--player-color) 48%, var(--ui-panel));place-items:center;font-size:.68rem;font-style:normal;font-weight:800;display:grid}.player-mark{border-radius:50%;width:32px;height:32px}.seat-details{gap:2px;min-width:0;display:grid}.seat-details strong,.seat-details small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.seat-details strong{font-size:.82rem}.seat-details small{color:var(--ui-text-muted);font-size:.66rem}.you-chip,.live-chip,.route-chip,.relation{border-radius:999px;font-size:.65rem;font-weight:700}.you-chip{color:var(--ui-canvas);background:var(--ui-accent);padding:3px 6px}.lobby-footer{width:fit-content;color:var(--ui-text);background:color-mix(in srgb, var(--ui-canvas) 58%, transparent);letter-spacing:.07em;text-transform:uppercase;border-radius:4px;justify-content:center;align-items:center;gap:10px;padding:6px 12px;font-size:.7rem;display:flex}.connection-overlay{z-index:100;background:color-mix(in srgb, var(--ui-canvas) 76%, transparent);place-items:center;padding:24px;display:grid;position:fixed;inset:0}.connection-overlay-compact{pointer-events:none;background:linear-gradient(180deg, color-mix(in srgb, var(--ui-canvas) 72%, transparent), transparent 230px);place-items:start center;padding-top:78px}.connection-card{border:1px solid var(--ui-border-strong);background:var(--ui-panel);width:min(440px,100%);box-shadow:0 20px 52px color-mix(in srgb, var(--ui-canvas) 52%, transparent);border-radius:8px;align-items:center;gap:15px;padding:18px;display:flex}.connection-card .brand{margin-right:auto}.connection-card>div:last-child{gap:3px;display:grid}.connection-card>div:last-child span{color:var(--ui-text-muted);font-size:.78rem}.connection-compass,.error-icon,.mobile-compass,.result-emblem{border:1px solid color-mix(in srgb, var(--ui-accent) 65%, transparent);color:var(--ui-accent);background:var(--ui-panel-raised);border-radius:50%;place-items:center;display:grid}.connection-compass{width:42px;height:42px;animation:2.6s linear infinite compass-turn}.connection-error,.mobile-gate{isolation:isolate;background:var(--world-ocean-mid);place-items:center;min-height:100dvh;padding:24px;display:grid;position:relative;overflow:hidden}.error-card,.mobile-gate-card{border:1px solid var(--ui-border-strong);text-align:center;background:color-mix(in srgb, var(--ui-panel) 97%, transparent);width:min(480px,100%);box-shadow:0 24px 64px color-mix(in srgb, var(--ui-canvas) 52%, transparent);border-radius:10px;padding:clamp(26px,5vw,46px)}.error-card .brand,.mobile-gate-card .brand{justify-content:center;margin-bottom:24px}.error-icon,.mobile-compass{width:66px;height:66px;margin:0 auto 22px}.error-icon{color:color-mix(in srgb, var(--ui-danger) 28%, var(--ui-text));border-color:color-mix(in srgb, var(--ui-danger) 75%, transparent)}.error-icon .icon,.mobile-compass .icon{width:32px;height:32px}.error-card h1,.mobile-gate-card h1{font-size:clamp(2rem,7vw,3.1rem)}.error-card>p:not(.eyebrow),.mobile-gate-card>p:not(.eyebrow){color:var(--ui-text-muted);margin-bottom:25px;line-height:1.55}.button-row{flex-wrap:wrap;justify-content:center;gap:9px;display:flex}.mobile-gate-card{max-width:340px}.mobile-copy-button{width:100%}.game-screen{isolation:isolate;color:var(--ui-text);background:var(--world-ocean-deep);position:fixed;inset:0;overflow:hidden}.game-world,.game-canvas{width:100%;height:100%;position:absolute;inset:0}.game-world{z-index:-1}.game-canvas canvas{width:100%;height:100%;display:block}.panel-surface,.command-dock,.context-inspector,.minimap,.side-drawer{border:1px solid var(--ui-border);background:color-mix(in srgb, var(--ui-panel) 97%, transparent);box-shadow:0 10px 26px color-mix(in srgb, var(--ui-canvas) 38%, transparent);border-radius:6px}.top-hud{z-index:20;pointer-events:none;grid-template-columns:minmax(195px,.7fr) minmax(470px,2fr) minmax(238px,.8fr);gap:8px;display:grid;position:fixed;top:12px;left:12px;right:12px}.top-hud>*{pointer-events:auto;min-width:0;min-height:44px}.match-cluster,.match-metrics,.resource-cluster{align-items:center;padding:6px 10px;display:flex}.match-cluster{gap:9px}.match-divider,.resource-divider{background:var(--ui-border);align-self:stretch;width:1px}.match-identity{min-width:0;display:grid}.match-identity small,.match-metrics small,.resource-stat small,.coin-stat small,.player-rail-heading small{color:var(--ui-text-muted);text-transform:uppercase;font-size:.62rem;line-height:1.1}.match-identity strong{letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.live-chip{color:color-mix(in srgb, var(--ui-success) 22%, var(--ui-text));background:color-mix(in srgb, var(--ui-success) 38%, transparent);align-items:center;gap:5px;margin-left:auto;padding:3px 7px;display:inline-flex}.live-chip i{background:var(--ui-success);border-radius:50%;width:6px;height:6px}.resource-cluster{justify-content:center;gap:9px}.coin-stat,.match-metrics>span,.resource-stat{align-items:center;gap:6px;min-width:0;display:flex}.coin-stat{flex:none}.coin-stat>span,.match-metrics>span>span,.resource-stat{min-width:0}.coin-stat>span,.match-metrics>span>span{display:grid}.coin-stat .icon{color:var(--ui-accent)}.coin-stat strong,.match-metrics strong,.resource-stat strong{font-variant-numeric:tabular-nums;font-size:.78rem}.goods-strip{flex:1;grid-template-columns:repeat(8,minmax(42px,1fr));gap:3px;min-width:0;display:grid}.resource-stat{border-radius:4px;justify-content:center;gap:4px;padding:2px 4px}.resource-stat:hover{background:var(--ui-panel-hover)}.resource-stat:hover small{color:var(--ui-text)}.resource-stat i,.cargo-grid i,.resource-glyph{color:var(--resource-ink);background:var(--resource-color);place-items:center;font-size:.64rem;font-style:normal;font-weight:850;display:grid}.resource-stat i{border-radius:4px;width:18px;height:18px}.resource-stat small{display:none}.match-metrics{justify-content:space-between;gap:8px}.match-metrics>span{flex:1;justify-content:center}.match-metrics .icon{width:17px;height:17px;color:var(--ui-accent)}.player-rail{z-index:20;width:220px;padding:10px;position:fixed;top:64px;right:12px}.player-rail-heading{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.player-rail-heading>span{display:grid}.player-rail-heading strong{font-variant-numeric:tabular-nums;font-size:.9rem}.player-rail-heading .icon{color:var(--ui-accent)}.player-mark-grid{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.player-mark-grid>span{aspect-ratio:1;border:1px solid var(--player-color);min-width:0;color:var(--ui-text-muted);background:color-mix(in srgb, var(--player-color) 30%, var(--ui-panel));border-radius:4px;place-items:center;font-size:.62rem;font-weight:800;display:grid}.player-mark-grid>.is-current{outline:2px solid var(--ui-accent);outline-offset:1px}.player-mark-grid>.is-eliminated{filter:grayscale();opacity:.35}.objective-tracker{z-index:20;width:292px;position:fixed;top:64px;left:12px;overflow:hidden}.objective-tracker header{border-bottom:1px solid var(--ui-border);min-height:34px;color:var(--ui-accent);background:var(--ui-panel-raised);justify-content:space-between;align-items:center;padding:0 8px 0 10px;display:flex}.objective-tracker header>span{align-items:center;gap:7px;display:flex}.objective-tracker header .icon{width:16px;height:16px}.objective-tracker header small{color:var(--ui-text-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.64rem;font-weight:800}.objective-tracker header button{width:25px;height:25px;color:var(--ui-text-muted);font:inherit;background:0 0;border:1px solid #0000;border-radius:3px;font-size:1rem;line-height:1}.objective-tracker header button:hover,.objective-tracker header button:focus-visible{border-color:var(--ui-border-strong);color:var(--ui-text);background:var(--ui-panel-hover)}.objective-tracker>div{gap:5px;padding:10px 12px 12px;display:grid}.objective-tracker>div>strong{color:var(--ui-text);font-family:"Source Serif 4",Georgia,serif;font-size:1rem;line-height:1.15}.objective-tracker p{color:var(--ui-text-muted);margin:0;font-size:.75rem;line-height:1.35}.objective-tracker>div>small{border-top:1px solid var(--ui-border);color:color-mix(in srgb, var(--ui-accent) 72%, var(--ui-text));padding-top:5px;font-size:.67rem;line-height:1.3}.objective-tracker.is-collapsed{width:210px}.objective-tracker.is-collapsed header{border-bottom:0}.edge-actions{grid-template-columns:1fr 1fr;gap:5px;margin-top:8px;display:grid}.edge-actions button{border:1px solid var(--ui-border-strong);min-width:0;min-height:38px;color:var(--ui-text-muted);background:var(--ui-panel-raised);border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:5px;padding:6px;font-size:.66rem;display:grid}.edge-actions button:hover,.edge-actions button.is-active{border-color:var(--ui-accent);color:var(--ui-text);background:var(--ui-panel-hover)}.edge-actions .icon{width:16px;height:16px}kbd{border:1px solid var(--ui-border-strong);color:var(--ui-text-muted);background:var(--ui-canvas);border-radius:3px;font-family:inherit;font-size:.58rem;line-height:1}.edge-actions kbd{padding:2px 3px}.minimap{z-index:20;width:232px;height:166px;position:fixed;bottom:12px;left:12px;overflow:hidden}.minimap header{border-bottom:1px solid var(--ui-border);height:30px;color:var(--ui-text-muted);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 9px;font-size:.67rem;display:flex}.minimap canvas{width:100%;height:calc(100% - 30px);display:block}.bottom-console{z-index:20;pointer-events:none;grid-template-columns:minmax(330px,.9fr) minmax(360px,1.1fr);gap:8px;height:166px;display:grid;position:fixed;bottom:12px;left:256px;right:12px}.bottom-console>*{pointer-events:auto;min-width:0}.command-dock,.context-inspector{min-height:0;overflow:hidden}.command-dock{grid-template-rows:minmax(0,1fr) 30px;grid-template-columns:minmax(145px,.46fr) minmax(180px,1fr);padding:10px;display:grid}.command-context{border-right:1px solid var(--ui-border);align-items:center;gap:9px;min-width:0;padding-right:10px;display:flex}.context-icon{border:1px solid var(--ui-border-strong);width:36px;height:36px;color:var(--ui-accent);background:var(--ui-panel-raised);border-radius:5px;flex:none;place-items:center;display:grid}.context-icon .icon{width:19px;height:19px}.command-context>span:last-child{gap:2px;min-width:0;display:grid}.command-context small,.inspector-heading small{color:var(--ui-accent);letter-spacing:.075em;text-transform:uppercase;font-size:.58rem;font-weight:750}.command-context strong,.command-context em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.command-context strong{font-family:"Source Serif 4",Georgia,serif;font-size:.94rem}.command-context em{color:var(--ui-text-muted);font-size:.67rem;font-style:normal}.command-grid{align-items:center;gap:7px;min-width:0;padding-left:10px;display:flex;overflow-x:auto}.command-button{border:1px solid var(--ui-border-strong);width:64px;min-width:58px;height:66px;color:var(--ui-text);background:var(--ui-panel-raised);border-radius:5px;place-items:center;gap:2px;padding:7px 5px 5px;transition:background-color 90ms ease-out,border-color 90ms ease-out,translate 60ms ease-out;display:grid;position:relative}.command-button:not(:disabled):hover,.command-button.is-selected{border-color:var(--ui-accent);background:var(--ui-panel-hover)}.command-button.is-selected{box-shadow:inset 0 -3px var(--ui-accent)}.command-button.command-danger:not(:disabled):hover{border-color:var(--ui-danger);color:color-mix(in srgb, var(--ui-danger) 22%, var(--ui-text))}.command-button .icon{width:24px;height:24px;color:var(--ui-accent)}.command-label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.62rem;font-weight:700;overflow:hidden}.command-button kbd{min-width:13px;padding:2px;position:absolute;bottom:3px;right:3px}.empty-command-hint{color:var(--ui-text-muted);align-items:center;gap:10px;display:flex}.empty-command-hint .icon{color:var(--ui-accent)}.empty-command-hint span{gap:2px;display:grid}.empty-command-hint strong{color:var(--ui-text);font-size:.78rem}.empty-command-hint small{font-size:.66rem}.order-feedback{border-top:1px solid var(--ui-border);min-width:0;color:var(--ui-text-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;align-items:center;gap:6px;padding-top:7px;font-size:.64rem;display:flex;overflow:hidden}.order-feedback .icon{width:15px;height:15px;color:var(--ui-warning)}.status-key{border:1px solid var(--ui-border-strong);color:var(--ui-text);background:var(--ui-canvas);border-radius:3px;padding:2px 4px}.inline-spinner{border:2px solid var(--ui-border-strong);border-top-color:var(--ui-accent);border-radius:50%;width:13px;height:13px;animation:.8s linear infinite compass-turn}.context-inspector{scrollbar-color:var(--ui-border-strong) transparent;scrollbar-width:thin;padding:10px;overflow-y:auto}.inspector-heading{align-items:center;gap:9px;min-width:0;margin-bottom:9px;display:flex}.inspector-heading>span:last-child{min-width:0}.inspector-heading h2,.inspector-heading p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inspector-heading h2{margin:1px 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:1rem}.inspector-heading p{color:var(--ui-text-muted);margin:0;font-size:.66rem}.inspector-stats{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:5px;margin-bottom:8px;display:grid}.inspector-stat{border:1px solid var(--ui-border);background:var(--ui-panel-raised);border-radius:4px;gap:1px;padding:6px 7px;display:grid}.inspector-stat small,.section-heading small{color:var(--ui-text-muted);text-transform:uppercase;font-size:.58rem}.inspector-stat strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.inspector-section{border-top:1px solid var(--ui-border);margin-top:8px;padding-top:8px}.section-heading{justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.7rem;font-weight:700;display:flex}.section-heading .icon{width:15px;height:15px;color:var(--ui-accent)}.producer-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.producer-row{border:1px solid var(--ui-border);background:var(--ui-panel-raised);border-radius:4px;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:6px;min-width:0;min-height:48px;padding:5px;display:grid}.resource-glyph{border-radius:4px;width:26px;height:26px}.producer-name{min-width:0;display:grid}.producer-name strong,.producer-name small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.producer-name strong{font-size:.68rem}.producer-name small{color:var(--ui-text-muted);font-size:.56rem}.level-pips{gap:2px;display:flex}.level-pips i{background:var(--ui-border-strong);border-radius:1px;width:4px;height:12px}.level-pips i.is-filled{background:var(--ui-accent)}.row-action,.small-action,.relation-actions button,.icon-button{border:1px solid var(--ui-border-strong);color:var(--ui-text);background:var(--ui-panel-hover);border-radius:4px;font-weight:700}.row-action{min-height:25px;padding:3px 6px;font-size:.56rem}.route-builder label{color:var(--ui-text-muted);margin-bottom:4px;font-size:.58rem;display:block}.route-controls{grid-template-columns:minmax(0,1fr) auto;gap:5px;display:grid}.route-controls select{min-height:30px;padding:4px 7px;font-size:.65rem}.small-action{min-height:30px;padding:4px 9px;font-size:.62rem}.inspector-copy{color:var(--ui-text-muted);margin:6px 0;font-size:.69rem;line-height:1.4}.inspector-action{width:100%;min-height:34px;margin-top:7px;padding:6px 10px;font-size:.7rem}.hull-meter{gap:4px;display:grid}.hull-meter>span{color:var(--ui-text-muted);justify-content:space-between;font-size:.64rem;display:flex}.hull-meter>div{background:var(--ui-canvas);border-radius:2px;height:6px;overflow:hidden}.hull-meter i{background:var(--ui-success);height:100%;display:block}.cargo-grid{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px;display:grid}.cargo-grid span{border:1px solid var(--ui-border);border-radius:4px;align-items:center;gap:5px;padding:4px;display:flex}.cargo-grid i{border-radius:3px;width:20px;height:20px}.cargo-grid b{font-variant-numeric:tabular-nums;font-size:.62rem}.fleet-list,.final-ranking,.diplomacy-list{margin:0;padding:0;list-style:none}.fleet-list{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.fleet-list li{border:1px solid var(--ui-border);border-radius:4px;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;padding:5px;font-size:.63rem;display:grid}.fleet-list .icon{width:15px;height:15px;color:var(--ui-accent)}.fleet-list small{color:var(--ui-text-muted)}.route-chip,.resistance{align-items:center;gap:7px;display:flex}.route-chip{width:fit-content;color:color-mix(in srgb, var(--ui-info) 18%, var(--ui-text));background:color-mix(in srgb, var(--ui-info) 24%, transparent);margin-top:7px;padding:4px 7px}.route-chip .icon,.resistance .icon{width:16px;height:16px}.resistance{border:1px solid color-mix(in srgb, var(--ui-warning) 52%, transparent);color:color-mix(in srgb, var(--ui-warning) 28%, var(--ui-text));background:color-mix(in srgb, var(--ui-warning) 22%, transparent);border-radius:4px;padding:7px}.resistance span{display:grid}.resistance small{color:var(--ui-text-muted);font-size:.57rem}.route-summary{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;margin-bottom:8px;display:grid}.route-summary>span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;min-width:0;font-size:.65rem;display:flex;overflow:hidden}.route-summary i{background:var(--ui-accent);border-radius:50%;flex:none;width:7px;height:7px}.route-summary .icon{width:17px;height:17px;color:var(--ui-info)}.empty-inspector{min-height:76px;color:var(--ui-text-muted);text-align:center;place-content:center;justify-items:center;display:grid}.empty-inspector .icon{width:24px;height:24px;color:var(--ui-accent);margin-bottom:4px}.empty-inspector strong{color:var(--ui-text);font-size:.72rem}.empty-inspector p{max-width:250px;margin:3px 0 0;font-size:.62rem}.side-drawer{z-index:50;width:min(360px,100vw - 24px);padding:14px;animation:.16s cubic-bezier(.2,.8,.2,1) drawer-in;position:fixed;top:64px;bottom:190px;overflow-y:auto}.diplomacy-drawer{left:12px}.settings-drawer{right:12px}.drawer-heading{border-bottom:1px solid var(--ui-border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:10px;display:flex}.drawer-heading small{color:var(--ui-accent);letter-spacing:.07em;text-transform:uppercase;font-size:.61rem;font-weight:700}.drawer-heading h2{margin:2px 0 0;font-family:"Source Serif 4",Georgia,serif;font-size:1.35rem}.icon-button{place-items:center;width:32px;height:32px;font-size:1.2rem;display:grid}.drawer-copy{color:var(--ui-text-muted);font-size:.74rem;line-height:1.48}.war-warning{border:1px solid color-mix(in srgb, var(--ui-warning) 65%, transparent);color:color-mix(in srgb, var(--ui-warning) 24%, var(--ui-text));background:color-mix(in srgb, var(--ui-warning) 28%, transparent);border-radius:5px;align-items:center;gap:9px;margin-bottom:10px;padding:9px;display:flex}.war-warning>span{gap:2px;display:grid}.war-warning small{color:var(--ui-text);font-size:.65rem;line-height:1.35}.diplomacy-list{gap:7px;display:grid}.diplomacy-row{border:1px solid var(--ui-border);background:var(--ui-panel-raised);border-radius:5px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.diplomacy-player-mark{border-radius:5px;width:36px;height:36px}.diplomacy-player{min-width:0;display:grid}.diplomacy-player strong,.diplomacy-player small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diplomacy-player strong{font-size:.77rem}.diplomacy-player small{color:var(--ui-text-muted);font-size:.62rem}.relation{color:var(--ui-text-muted);background:var(--ui-canvas);align-items:center;gap:4px;padding:4px 7px;display:inline-flex}.relation .icon{width:13px;height:13px}.relation-trade,.relation-alliance{color:color-mix(in srgb, var(--ui-info) 20%, var(--ui-text))}.relation-war{color:color-mix(in srgb, var(--ui-danger) 25%, var(--ui-text))}.relation-actions{flex-wrap:wrap;grid-column:2/-1;gap:5px;display:flex}.relation-actions button{min-height:28px;padding:4px 7px;font-size:.61rem}.relation-actions .danger-link{border-color:color-mix(in srgb, var(--ui-danger) 55%, transparent);color:color-mix(in srgb, var(--ui-danger) 25%, var(--ui-text));background:color-mix(in srgb, var(--ui-danger) 34%, transparent)}.hostile-label{color:color-mix(in srgb, var(--ui-danger) 25%, var(--ui-text));align-items:center;gap:5px;font-size:.65rem;display:inline-flex}.hostile-label .icon{width:14px;height:14px}.settings-group{margin-bottom:16px}.settings-group h3,.shortcut-card h3{color:var(--ui-text-muted);letter-spacing:.07em;text-transform:uppercase;margin:0 0 7px;font-size:.66rem}.toggle-row{border:1px solid var(--ui-border);background:var(--ui-panel-raised);grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:10px;min-height:54px;padding:8px 9px;display:grid;position:relative}.toggle-row+.toggle-row{border-top:0}.toggle-row>span{gap:2px;display:grid}.toggle-row strong{font-size:.76rem}.toggle-row small{color:var(--ui-text-muted);font-size:.64rem}.toggle-row input{opacity:0;width:1px;height:1px;position:absolute}.toggle-row>i{border:1px solid var(--ui-border-strong);background:var(--ui-canvas);border-radius:999px;width:40px;height:22px;position:relative}.toggle-row>i b{background:var(--ui-text-muted);border-radius:50%;width:14px;height:14px;transition:translate .12s ease-out,background-color .12s ease-out;position:absolute;top:3px;left:3px}.toggle-row input:checked+i{border-color:var(--ui-accent);background:color-mix(in srgb, var(--ui-accent) 18%, transparent)}.toggle-row input:checked+i b{background:var(--ui-accent);translate:18px}.toggle-row input:focus-visible+i{outline:2px solid var(--ui-focus);outline-offset:2px}.shortcut-card{border:1px solid var(--ui-border);background:var(--ui-canvas);border-radius:5px;padding:11px}.shortcut-card h3{align-items:center;gap:6px;display:flex}.shortcut-card h3 .icon{width:15px;height:15px;color:var(--ui-accent)}.shortcut-card dl{margin:0}.shortcut-card dl div{color:var(--ui-text-muted);justify-content:space-between;align-items:center;padding:5px 0;font-size:.68rem;display:flex}.shortcut-card dl div+div{border-top:1px solid var(--ui-border)}.shortcut-card dd{margin:0}.shortcut-card kbd{text-align:center;min-width:24px;padding:3px 5px;display:inline-block}.notifications{z-index:70;pointer-events:none;gap:7px;width:min(360px,100vw - 24px);display:grid;position:fixed;top:70px;left:50%;translate:-50%}.toast{border:1px solid var(--ui-border-strong);border-left:4px solid var(--ui-info);background:var(--ui-panel);box-shadow:0 12px 30px color-mix(in srgb, var(--ui-canvas) 45%, transparent);pointer-events:auto;border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px;animation:.22s ease-out toast-in;display:grid}.toast-success{border-left-color:var(--ui-success)}.toast-warning{border-left-color:var(--ui-warning)}.toast-danger{border-left-color:var(--ui-danger)}.toast>span{gap:2px;display:grid}.toast strong{font-size:.76rem}.toast small{color:var(--ui-text-muted);font-size:.66rem}.toast button{width:26px;height:26px;color:var(--ui-text-muted);background:0 0;border-radius:4px}.result-overlay{z-index:90;background:color-mix(in srgb, var(--ui-canvas) 84%, transparent);place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.result-dialog{border:1px solid var(--ui-border-strong);text-align:center;background:var(--ui-panel);width:min(620px,100%);box-shadow:0 25px 70px color-mix(in srgb, var(--ui-canvas) 60%, transparent);border-radius:10px;padding:24px;animation:.18s ease-out result-in}.result-emblem{width:64px;height:64px;margin:0 auto 14px}.result-emblem .icon{width:32px;height:32px}.result-dialog h1{font-size:clamp(2rem,5vw,2.8rem)}.result-reason{color:var(--ui-text-muted);margin-bottom:16px}.result-score-card{border:1px solid var(--ui-border);text-align:left;background:var(--ui-panel-raised);border-radius:6px;margin-bottom:12px;overflow:hidden}.result-score-card>header,.result-score-card>footer{justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.result-score-card>header{border-bottom:1px solid var(--ui-border)}.result-score-card>header strong{color:var(--ui-accent);font-size:1.35rem}.result-score-card>footer{border-top:1px solid var(--ui-border);color:var(--ui-text-muted)}.score-components{grid-template-columns:repeat(2,1fr);display:grid}.score-components>div{border-bottom:1px solid var(--ui-border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.score-components>div:nth-child(odd){border-right:1px solid var(--ui-border)}.score-components .icon{color:var(--ui-accent)}.score-components span{display:grid}.score-components strong{font-size:.73rem}.score-components small{color:var(--ui-text-muted);font-size:.6rem}.score-components b{font-variant-numeric:tabular-nums}.final-ranking{text-align:left;gap:4px;margin-bottom:14px;display:grid}.final-ranking li{border:1px solid var(--ui-border);color:var(--ui-text-muted);border-radius:4px;grid-template-columns:24px 10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px 9px;font-size:.72rem;display:grid}.final-ranking li.is-current{border-color:var(--ui-accent);color:var(--ui-text)}.final-ranking i{background:var(--player-color);border-radius:50%;width:8px;height:8px}.final-ranking b{font-variant-numeric:tabular-nums}.result-action{min-width:210px}.color-assist .player-mark-grid>span,.color-assist .diplomacy-player-mark{border-style:double;border-width:3px}@keyframes compass-turn{to{rotate:360deg}}@keyframes backdrop-sea-drift-a{0%{transform:translate(-10px,-4px)}to{transform:translate(14px,7px)}}@keyframes backdrop-sea-drift-b{0%{transform:translate(9px,5px)}to{transform:translate(-13px,-6px)}}@keyframes drawer-in{0%{opacity:0;translate:-6px}}@keyframes toast-in{0%{opacity:0;translate:0 -6px}}@keyframes result-in{0%{opacity:0;translate:0 6px}}@media (width>=720px) and (width<=1199px){.lobby{gap:16px;padding:16px}.lobby-hero{grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr)}.lobby-copy{padding:30px}.lobby-copy h1{font-size:clamp(2.6rem,6vw,4rem)}.departure-card{padding:26px 18px}.countdown{width:124px;height:124px}.countdown-value{font-size:2.8rem}.seat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top-hud{grid-template-rows:44px 52px;grid-template-columns:minmax(200px,1fr) minmax(260px,1fr)}.match-cluster,.match-metrics,.resource-cluster{padding:5px 8px}.resource-cluster{grid-column:1/-1}.resource-stat{justify-content:initial;grid-template-rows:1fr 1fr;grid-template-columns:18px 1fr;display:grid}.resource-stat i{grid-row:1/3}.resource-stat small{display:block}.player-rail{width:184px;top:116px}.objective-tracker{width:232px;top:116px}.objective-tracker.is-collapsed{width:190px}.player-rail-heading{margin-bottom:6px}.edge-actions{grid-template-columns:1fr}.edge-actions button{min-height:34px}.minimap{width:176px;height:128px}.bottom-console{grid-template-columns:minmax(250px,.95fr) minmax(280px,1.05fr);height:168px;left:196px}.command-dock{grid-template-rows:auto minmax(0,1fr) 27px;grid-template-columns:1fr;padding:8px}.command-context{border-right:0;border-bottom:1px solid var(--ui-border);min-height:34px;padding:0 0 6px}.command-context .context-icon{width:30px;height:30px}.command-context em{display:none}.command-grid{padding:5px 0}.command-button{width:58px;height:58px}.order-feedback{grid-column:auto;padding-top:4px}.producer-list{grid-template-columns:1fr}.side-drawer{width:min(320px,100vw - 24px);top:116px;bottom:190px}.notifications{top:122px}}@media (width>=720px) and (height<=719px){.top-hud{grid-template-rows:38px 44px;top:8px;left:8px;right:8px}.top-hud>*{min-height:38px}.brand-compact .brand-words,.resource-stat small,.match-identity small,.match-metrics small,.coin-stat small{display:none}.player-rail{width:168px;padding:7px;top:98px;right:8px}.objective-tracker{width:226px;top:60px}.player-rail-heading,.edge-actions span,.edge-actions kbd{display:none}.edge-actions{grid-template-columns:1fr 1fr}.edge-actions button{grid-template-columns:1fr;place-items:center;display:grid}.minimap{width:168px;height:116px;bottom:8px;left:8px}.bottom-console{height:132px;bottom:8px;left:184px;right:8px}.command-context{display:none}.command-dock{grid-template-rows:minmax(0,1fr) 25px}.command-button{height:54px}.inspector-section,.inspector-copy,.empty-inspector p{display:none}.side-drawer{top:98px;bottom:148px}.notifications{top:98px}}@media (width<=719px),(pointer:coarse){.mobile-gate{padding:18px}.mobile-gate-card{padding:28px 22px}.mobile-gate-card .brand-words small{display:none}.mobile-gate-card h1{font-size:clamp(2rem,10vw,2.8rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.reduce-motion .side-drawer,.reduce-motion .toast,.reduce-motion .result-dialog,.reduce-motion .inline-spinner,.reduce-motion .connection-compass,.reduce-motion .backdrop-sea-drift{animation:none}
