:root{color-scheme:dark;--ink: #030c14;--console: rgba(5, 19, 31, .88);--console-solid: #061622;--edge: rgba(89, 227, 194, .16);--edge-strong: rgba(89, 227, 194, .4);--sonar: #59e3c2;--sonar-bright: #8ff5dd;--sonar-faint: rgba(89, 227, 194, .08);--amber: #ffb454;--amber-faint: rgba(255, 180, 84, .12);--red: #ff5c6a;--red-faint: rgba(255, 92, 106, .14);--violet: #c39bff;--text: #d7e9ef;--bright: #f2fbff;--dim: #7e9aa9;--dimmer: #55707e;--cell: rgba(126, 154, 169, .07);--cell-edge: rgba(126, 154, 169, .14);--display: "Avenir Next Condensed", "Futura", "Arial Narrow", "Helvetica Neue", sans-serif;--mono: ui-monospace, "SF Mono", "Menlo", "Cascadia Mono", "Consolas", monospace;--body: system-ui, -apple-system, "Segoe UI", sans-serif;font-family:var(--body);font-size:13px;line-height:1.3;color:var(--text);background:var(--ink)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--ink)}::selection{background:#59e3c24d}button,input{font:inherit}button{min-height:26px;color:var(--text);background:#59e3c20f;border:1px solid rgba(89,227,194,.22);border-radius:3px;padding:4px 9px;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}button:hover:not(:disabled),button.active{color:#032018;background:var(--sonar);border-color:var(--sonar-bright);box-shadow:0 0 14px #59e3c259}button:focus-visible{outline:2px solid var(--sonar-bright);outline-offset:1px}button:disabled{cursor:default;opacity:.38}#water-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:var(--ink)}#game-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:transparent;touch-action:none}#hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}#hud>*{pointer-events:auto}#app.menu-open #hud{display:none}.panel,#event-log{position:relative;background:var(--console);border:1px solid var(--edge);border-radius:4px;box-shadow:0 18px 48px #00000073;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.panel:before,#event-log:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,var(--sonar) 0%,rgba(89,227,194,.05) 65%,transparent 100%);opacity:.55;pointer-events:none}.panel-title{display:flex;align-items:center;gap:7px;margin:0 0 9px;color:var(--sonar);font-family:var(--display);font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase}[data-collapse-panel],[data-collapse-tutorial]{cursor:pointer;-webkit-user-select:none;user-select:none}[data-collapse-panel]:hover,[data-collapse-tutorial]:hover{color:var(--sonar-bright)}.chevron{margin-left:auto;color:var(--dim);font-size:11px}.panel.collapsed,#event-log.collapsed{height:auto;max-height:none;overflow:hidden}.panel.collapsed .panel-title,#event-log.collapsed .panel-title{margin-bottom:0}#event-log .panel-body{overflow-y:auto;max-height:150px}.panel-title:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--sonar);box-shadow:0 0 #59e3c280;animation:ping 3.2s ease-out infinite}@keyframes ping{0%{box-shadow:0 0 #59e3c273}55%,to{box-shadow:0 0 0 8px #59e3c200}}.top-stat strong,.clock,.resource-price,.resource-owned,.rate,.share-price,.log-time,.build-cost,.active-event strong,.result-grid strong,.sabotage-main span,.trade-buttons button{font-family:var(--mono);font-variant-numeric:tabular-nums}#topbar{position:absolute;top:0;left:0;right:0;height:48px;display:flex;align-items:center;gap:18px;padding:6px 14px;background:linear-gradient(180deg,#04101bf5,#04101be0);border-bottom:1px solid var(--edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:9px;color:var(--bright);font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.3em;padding-right:6px}.brand:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid var(--sonar);border-bottom-color:transparent;transform:rotate(45deg)}.top-stat{display:flex;align-items:baseline;gap:6px;white-space:nowrap}.top-stat span,.top-stat small{color:var(--dim);font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.top-stat small{display:none}.top-stat strong{color:var(--bright);font-size:14px;font-weight:600}.top-stat.negative strong{color:var(--red)}.top-stat button{margin-left:4px}.debt-tag{color:var(--red);border:1px solid rgba(255,92,106,.5);background:var(--red-faint);border-radius:3px;padding:1px 5px;font-family:var(--display);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.14em;animation:debt-pulse 1.6s ease-in-out infinite}@keyframes debt-pulse{50%{background:#ff5c6a4d}}.time-controls{display:flex;gap:4px;margin-left:auto}.time-controls button{min-width:36px;padding-inline:6px;font-family:var(--mono)}.clock{min-width:52px;color:var(--sonar);font-size:15px;font-weight:600;text-align:right}#market-panel{position:absolute;top:60px;left:12px;width:506px;max-height:calc(100vh - 320px);padding:11px 12px;overflow-y:auto}.market-head,.market-row{display:grid;grid-template-columns:minmax(102px,1fr) 50px 62px 34px 56px 108px 26px;align-items:center;gap:6px}.market-head{color:var(--dimmer);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:0 2px 6px}.market-list{display:grid;gap:3px}.market-row{min-height:33px;padding:3px 4px;border-radius:3px;border-bottom:1px solid rgba(126,154,169,.08)}.market-row:hover{background:var(--sonar-faint)}.resource-name{min-width:0;display:flex;align-items:center;gap:7px;font-weight:600;font-size:12px}.resource-name span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-icon{width:20px;text-align:center;filter:saturate(.85)}.resource-price{text-align:right;color:var(--bright);font-size:13px}.resource-owned{text-align:right;color:var(--dim)}.rate{text-align:right;color:var(--dimmer);font-size:11px}.sparkline{width:66px;height:20px;display:block;opacity:.9}.trade-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:3px}.trade-buttons button{min-height:21px;padding:1px 2px;font-size:10px;background:transparent;border-color:var(--cell-edge);color:var(--dim)}.trade-buttons button[data-trade-direction=buy]:hover:not(:disabled){color:#032018;background:var(--sonar);border-color:var(--sonar-bright)}.trade-buttons button[data-trade-direction=sell]:hover:not(:disabled){color:#2b1210;background:var(--amber);border-color:#ffd096;box-shadow:0 0 14px #ffb4544d}.auto-sell{display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:0}.auto-sell input{width:13px;height:13px;accent-color:var(--sonar);cursor:pointer}.positive,.price-up{color:var(--sonar)}.negative,.price-down{color:var(--red)}.rate.positive{color:var(--sonar)}.rate.negative{color:var(--red)}.price-up,.price-down{animation:price-flash .62s ease}@keyframes price-flash{0%{text-shadow:0 0 14px currentColor}to{text-shadow:none}}#right-column{position:absolute;top:60px;right:12px;width:316px;display:grid;gap:10px}#stock-panel,#sabotage-panel{padding:11px 12px}.locked-panel,.empty-state,.hint-line{color:var(--dim);padding:6px 0}.locked-panel{font-family:var(--mono);font-size:12px}.lock-bar{height:3px;margin-top:8px;border-radius:2px;background:#7e9aa926;overflow:hidden}.lock-bar i{display:block;height:100%;background:linear-gradient(90deg,rgba(89,227,194,.4),var(--sonar));transition:width .4s linear}.takeover-warning{margin-bottom:9px;padding:7px 9px;color:#ffd7db;background:var(--red-faint);border:1px solid rgba(255,92,106,.4);border-left:3px solid var(--red);border-radius:3px;font-family:var(--display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:11px}.stock-list,.sabotage-list{display:grid;gap:6px}.stock-row{display:grid;grid-template-columns:minmax(0,1fr) 62px 58px;grid-template-areas:"label price buy" "track track buy";align-items:center;gap:5px 7px;padding:7px 8px;border-radius:3px;background:var(--cell);border:1px solid transparent}.stock-row:hover{border-color:var(--cell-edge)}.company-label{grid-area:label;min-width:0;display:flex;align-items:center;gap:7px}.company-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650;font-size:12px}.company-dot{width:9px;height:9px;flex:0 0 auto;border-radius:2px}.absorbed{opacity:.55}.absorbed .company-name{color:var(--dim);text-decoration:line-through}.absorbed em{color:var(--dim);font-size:10px;font-style:normal}.share-price{grid-area:price;text-align:right;color:var(--bright);font-size:12px}.stock-row button{grid-area:buy;min-height:34px}.share-track{grid-area:track;display:grid;grid-template-columns:repeat(10,1fr);gap:2px}.share-square{height:12px;border-radius:2px;background:#7e9aa929;border:1px solid rgba(126,154,169,.2)}.share-square.owned{border-color:#ffffff59;box-shadow:inset 0 0 4px #00000059}.armed-banner,.cooldown{margin-bottom:8px;padding:6px 9px;border-radius:3px;background:var(--amber-faint);border:1px solid rgba(255,180,84,.35);border-left:3px solid var(--amber);color:#ffe6c4;font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.armed-banner{display:flex;align-items:center;justify-content:space-between;gap:8px}.armed-banner button{min-height:21px;padding:1px 7px;font-size:10px;letter-spacing:.06em}.cooldown{font-family:var(--mono);text-transform:none;letter-spacing:0}.sabotage-row{padding:7px 8px;border-radius:3px;background:var(--cell)}.sabotage-main{display:grid;grid-template-columns:24px minmax(0,1fr) 60px;align-items:center;gap:8px}.sabotage-main strong,.sabotage-main span{display:block}.sabotage-main strong{font-size:12px}.sabotage-main span{color:var(--amber);font-size:11px}.sabotage-main .cost-part{display:inline-flex;align-items:center;gap:2px}.sabotage-icon{text-align:center;font-size:17px;filter:saturate(.85)}.sabotage-row p{margin:5px 0 0;color:var(--dim);font-size:11px}.target-buttons{display:grid;gap:4px;margin-top:7px}.target-buttons button{width:100%}.disabled-row{opacity:.6}#inspector{position:absolute;left:12px;bottom:12px;width:506px;max-height:288px;padding:11px 12px;overflow-y:auto}.tile-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:9px}.tile-meta div{min-width:0;padding:6px 8px;border-radius:3px;background:var(--cell);border-left:2px solid var(--cell-edge)}.tile-meta span{display:block;color:var(--dimmer);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.tile-meta strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;color:var(--bright);font-size:12px}.owner-chip{color:var(--owner-color)}.building-detail{display:grid;gap:3px;margin-bottom:9px;color:var(--text)}.building-detail span,.building-detail.muted{color:var(--dim)}.building-detail em{color:var(--amber);font-style:normal;font-weight:700;font-family:var(--mono)}.inspector-actions{display:grid;gap:8px}.inspector-actions>button{min-height:32px;font-family:var(--display);font-weight:600;letter-spacing:.14em;text-transform:uppercase}.build-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.build-cell{min-height:54px;display:grid;grid-template-columns:26px minmax(0,1fr);grid-template-areas:"icon name" "icon cost" "icon reason";gap:1px 8px;align-items:center;padding:6px 7px;text-align:left;background:var(--cell);border-color:var(--cell-edge)}.build-cell:hover:not(:disabled){color:var(--text);background:var(--sonar-faint);border-color:var(--edge-strong);box-shadow:none}.build-icon{grid-area:icon;font-size:20px;text-align:center;filter:saturate(.85)}.build-name{grid-area:name;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:12px;color:var(--bright)}.build-cost{grid-area:cost;color:var(--sonar);font-size:11px}.build-reason{grid-area:reason;color:var(--dimmer);font-size:10px}.build-cell.blocked .build-reason{color:var(--amber)}.build-cell.blocked .build-cost{color:var(--dim)}#event-log{position:absolute;right:12px;bottom:12px;width:316px;padding:9px 10px;font-size:12px}.event-pins{display:grid;gap:4px;margin-bottom:6px}.active-event{display:flex;justify-content:space-between;gap:8px;padding:4px 8px;border-radius:3px;color:#ffe0ae;background:var(--amber-faint);border-left:2px solid var(--amber)}.log-list{display:grid;gap:3px}.log-entry{display:grid;grid-template-columns:38px minmax(0,1fr);gap:7px;color:var(--text)}.log-time{color:var(--dimmer);font-size:11px;padding-top:1px}.log-alert{color:var(--red)}.log-stock{color:var(--sonar)}.log-event{color:var(--amber)}.log-sabotage{color:var(--violet)}#toast-container{position:absolute;top:60px;left:50%;width:380px;display:grid;gap:7px;transform:translate(-50%);pointer-events:none}.toast{padding:9px 12px;border-radius:3px;opacity:0;transform:translateY(-10px);background:#04101bf5;border:1px solid var(--edge);border-left:3px solid var(--sonar);box-shadow:0 12px 32px #00000073;transition:opacity .24s ease,transform .24s ease;font-size:12px}.toast.show{opacity:1;transform:translateY(0)}.toast-alert{border-left-color:var(--red);border-color:#ff5c6a66}.toast-sabotage{border-left-color:var(--violet);border-color:#c39bff66}.toast-event{border-left-color:var(--amber);border-color:#ffb45466}.toast-stock{border-left-color:var(--sonar)}#tooltip{position:fixed;z-index:20;max-width:260px;display:none;padding:6px 9px;color:var(--bright);background:#020910f5;border:1px solid var(--edge);border-radius:3px;box-shadow:0 10px 28px #00000080;pointer-events:none;font-size:12px}#tooltip.visible{display:block}#menu-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:none;overflow:hidden;background:linear-gradient(100deg,#02080ef0,#02080ee0 30%,#02080e73 55%,#02080e14 78%,#02080e00)}#menu-overlay.visible{display:block}.menu-shell{height:100%;display:flex;align-items:center;padding:0 6vw}.menu-left{width:min(430px,86vw);border-left:2px solid rgba(89,227,194,.35);padding-left:30px}.menu-kicker{color:var(--dim);font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.42em;text-transform:uppercase}.menu-left h1{margin:10px 0 6px;color:var(--bright);font-family:var(--display);font-size:76px;font-weight:700;line-height:.95;letter-spacing:.14em;text-shadow:0 4px 40px rgba(0,0,0,.8)}.end-left.defeat h1{color:var(--red)}.end-left.victory h1{color:var(--sonar)}.tagline{margin:0 0 34px;color:var(--dim);font-family:var(--mono);font-size:13px}.menu-foot{margin-top:26px;color:var(--dimmer);font-size:11px;line-height:1.6;max-width:300px}.menu-section{display:grid;gap:7px;margin:15px 0;text-align:left}.menu-label{color:var(--dimmer);font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}.segmented{display:grid;grid-auto-flow:column;gap:5px}.segmented button{min-height:38px;text-transform:capitalize}.faction-grid{grid-template-columns:1fr 1fr;grid-auto-flow:row}.faction-grid button{min-height:34px;font-size:11px}.faction-desc{color:var(--dim);font-size:11px;min-height:28px;line-height:1.5}.primary-start{width:100%;max-width:340px;min-height:46px;margin-top:20px;color:#032018;background:var(--sonar);border-color:var(--sonar-bright);font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.28em;text-indent:.28em;text-transform:uppercase}.primary-start:hover:not(:disabled){background:var(--sonar-bright);box-shadow:0 0 30px #59e3c273}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:4px 0 10px;max-width:400px}.result-grid div{min-width:0;padding:10px;border-radius:3px;background:var(--cell);border-top:2px solid var(--cell-edge)}.result-grid span{display:block;color:var(--dimmer);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.result-grid strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;color:var(--bright);font-size:14px}#phase-banner{position:absolute;top:60px;left:50%;transform:translate(-50%);display:none;text-align:center;padding:10px 26px;background:#04101beb;border:1px solid var(--edge-strong);border-radius:4px;box-shadow:0 0 40px #59e3c22e;pointer-events:none}#phase-banner.visible{display:block}#phase-banner strong{display:block;color:var(--sonar);font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.26em;text-indent:.26em}#phase-banner span{display:block;margin-top:2px;color:var(--dim);font-family:var(--mono);font-size:12px}#phase-banner.targeting{border-color:#ffb4548c;box-shadow:0 0 40px #ffb45433}#phase-banner.targeting strong{color:var(--amber)}#tutorial{position:absolute;left:50%;bottom:12px;transform:translate(-50%);width:330px;padding:9px 11px;display:none}#tutorial.open{display:block}#tutorial .panel-title{margin-bottom:6px}.tut-dismiss{min-height:18px;padding:0 5px;margin-left:6px;font-size:10px;background:transparent;border-color:transparent;color:var(--dimmer)}.tut-step{display:flex;gap:9px;align-items:flex-start;padding:3px 2px}.tut-step.pending{opacity:.42}.tut-step.done{opacity:.6}.tut-step.done .tut-check{color:#032018;background:var(--sonar);border-color:var(--sonar)}.tut-step.active .tut-check{border-color:var(--sonar);color:var(--sonar);box-shadow:0 0 10px #59e3c259}.tut-check{flex:0 0 auto;width:18px;height:18px;display:grid;place-items:center;margin-top:1px;border:1px solid var(--cell-edge);border-radius:50%;color:var(--dimmer);font-family:var(--mono);font-size:10px}.tut-copy strong{display:block;font-size:12px;color:var(--bright)}.tut-step.done .tut-copy strong{color:var(--dim);text-decoration:line-through}.tut-copy span{display:block;color:var(--dim);font-size:11px;margin-top:1px}.tut-done{padding:4px 2px 7px;color:var(--sonar);font-family:var(--mono);font-size:12px}#help-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:none;place-items:center;padding:20px;background:#01060bb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#help-overlay.visible{display:grid}.help-card{position:relative;width:min(640px,calc(100vw - 40px));max-height:calc(100vh - 60px);overflow-y:auto;padding:28px 32px 26px;background:#04101bf7;border:1px solid var(--edge);border-radius:4px;box-shadow:0 32px 90px #000000a6}.help-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--sonar),transparent);opacity:.6}.help-card h2{margin:8px 0 4px;color:var(--bright);font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:.2em}.help-card h3{margin:18px 0 5px;color:var(--sonar);font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.help-card p{margin:0;color:var(--text);font-size:13px;line-height:1.55}.help-card p strong{color:var(--sonar-bright)}.help-time{color:var(--amber);font-family:var(--mono);font-size:11px;letter-spacing:0;text-transform:none;margin-left:4px}.help-close{position:absolute;top:12px;right:12px;min-height:24px;padding:2px 8px}.help-card .primary-start{margin-top:24px}.help-controls{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--dim);font-size:12px}.help-controls kbd{padding:1px 6px;border:1px solid var(--cell-edge);border-bottom-width:2px;border-radius:3px;background:var(--cell);color:var(--bright);font-family:var(--mono);font-size:11px;margin-right:4px}.legend{display:grid;gap:3px;margin-top:6px}.legend-row{display:grid;grid-template-columns:22px 118px minmax(0,1fr);align-items:center;gap:8px;font-size:11px;color:var(--dim)}.legend-row strong{color:var(--text);font-weight:600}.legend-swatch{width:16px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.14);justify-self:center}.legend-icon{text-align:center;font-size:12px;color:var(--dimmer);font-family:var(--mono)}.menu-link{display:block;margin-top:12px;padding-left:0;text-align:left;background:transparent;border-color:transparent;color:var(--dim);font-size:12px;letter-spacing:.08em}.menu-link:hover:not(:disabled){color:var(--sonar);background:transparent;border-color:transparent;box-shadow:none}.help-btn{min-width:30px;font-family:var(--mono);font-weight:700}.snd-btn{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.12em}.snd-btn:not(.active){opacity:.55;text-decoration:line-through}.icon{width:15px;height:15px;display:block;fill:currentColor}.icon-xs{width:11px;height:11px;display:inline-block;vertical-align:-1px;margin-right:2px}.inline-icon{display:inline-block;vertical-align:-2px}.inline-icon .icon{display:inline-block;color:var(--sonar)}.cost-part{display:inline-flex;align-items:center;gap:1px;margin-left:5px;font-family:var(--mono);font-size:10px}.resource-icon .icon{margin:0 auto}.build-icon .icon{width:19px;height:19px;margin:0 auto;color:var(--sonar)}.build-cell.blocked .build-icon .icon{color:var(--dim)}.sabotage-icon .icon{width:17px;height:17px;margin:0 auto;color:var(--amber)}.legend-icon .icon{width:13px;height:13px;margin:0 auto}.bond{font-family:var(--display);font-size:10px;font-style:normal;font-weight:700;letter-spacing:.1em;padding:1px 5px;border-radius:3px;border:1px solid currentColor;cursor:help}.bond-AAA,.bond-A{color:var(--sonar);background:var(--sonar-faint)}.bond-B{color:var(--amber);background:var(--amber-faint)}.bond-C{color:#ff8c5a;background:#ff8c5a1f}.bond-D{color:var(--red);background:var(--red-faint);animation:debt-pulse 1.6s ease-in-out infinite}.control-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;margin-bottom:9px}.control-row button{min-height:28px;font-family:var(--display);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:11px}.control-row button[data-inspector-action=scrap]{border-color:#ff5c6a4d;color:#ffb9bf}.control-row button[data-inspector-action=scrap]:hover:not(:disabled){color:#2b1012;background:var(--red);border-color:#ff8b95;box-shadow:0 0 14px #ff5c6a4d}.launch-block{margin-bottom:9px}.launch-caption,.market-ops-cost,.market-ops-cd{color:var(--amber);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}.launch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.launch-cell{min-height:44px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:6px;padding:5px 7px;text-align:left;background:var(--cell);border-color:var(--cell-edge)}.launch-cell:hover:not(:disabled){color:#2b1210;background:var(--amber);border-color:#ffd096;box-shadow:0 0 14px #ffb4544d}.launch-icon .icon{width:16px;height:16px;margin:0 auto}.launch-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:11px}.launch-qty{font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums}.launch-progress{margin-bottom:9px;padding:7px 9px;border-radius:3px;background:var(--amber-faint);border-left:3px solid var(--amber);color:#ffe6c4;font-family:var(--mono);font-size:12px}.market-ops{margin-bottom:10px;padding:8px 9px;border-radius:3px;background:var(--amber-faint);border:1px solid rgba(255,180,84,.25);border-left:3px solid var(--amber)}.market-ops-head{color:var(--amber);font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}.market-ops-cd{font-family:var(--mono);text-transform:none;letter-spacing:0}.market-ops-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.spoof-row{display:grid;grid-template-columns:18px auto auto;align-items:center;gap:4px}.spoof-icon .icon{width:14px;height:14px;margin:0 auto}.spoof-btn{min-height:20px;padding:1px 4px;font-size:10px;background:transparent;border-color:var(--cell-edge);color:var(--dim)}.spoof-btn.short:hover:not(:disabled){color:#2b1012;background:var(--red);border-color:#ff8b95;box-shadow:none}.spoof-btn.flood:hover:not(:disabled){color:#032018;background:var(--sonar);border-color:var(--sonar-bright);box-shadow:none}#auction{position:fixed;top:120px;left:50%;transform:translate(-50%);z-index:15;width:300px;display:none;padding:11px 14px;pointer-events:auto;background:#04101bf5;border:1px solid rgba(255,180,84,.45);border-radius:4px;box-shadow:0 0 40px #ffb4542e,0 18px 48px #00000080;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}#auction.visible{display:block}#auction:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,transparent,var(--amber),transparent);opacity:.7}.auction-kicker{color:var(--amber);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.24em;text-transform:uppercase}.auction-lot{margin:2px 0 8px;color:var(--bright);font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.auction-info{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;margin-bottom:9px}.auction-stat{min-width:0;display:grid;gap:1px}.auction-stat span{color:var(--dimmer);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.auction-stat strong{color:var(--bright);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:13px}.auction-leader{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}.auction-leader.none{color:var(--dim);font-weight:500}.auction-clock{color:var(--amber);font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600;text-align:right}.auction-bid{width:100%;min-height:34px;color:#2b1210;background:var(--amber);border-color:#ffd096;font-family:var(--display);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.auction-bid:hover:not(:disabled){background:#ffd096;border-color:#ffe4bd;box-shadow:0 0 18px #ffb45466}.panel::-webkit-scrollbar,#event-log::-webkit-scrollbar{width:8px}.panel::-webkit-scrollbar-thumb,#event-log::-webkit-scrollbar-thumb{background:#59e3c22e;border-radius:4px}.panel::-webkit-scrollbar-track,#event-log::-webkit-scrollbar-track{background:transparent}@media (max-height: 760px){#market-panel{max-height:calc(100vh - 250px)}#inspector{max-height:224px}}@media (prefers-reduced-motion: reduce){.brand:before,.sonar-sweep,.panel-title:before,.debt-tag{animation:none}}.online-section{margin-top:18px;padding-top:14px;border-top:1px solid var(--cell-edge)}.online-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px}.online-row input{min-height:34px;padding:4px 10px;color:var(--text);background:var(--cell);border:1px solid var(--cell-edge);border-radius:3px;font-family:var(--mono);font-size:12px}.online-row input:focus{outline:none;border-color:var(--edge-strong)}.online-error{margin-top:8px;color:var(--red);font-size:12px}.lobby-list{display:grid;gap:6px}.lobby-player{display:grid;grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;background:var(--cell);border-radius:3px;border:1px solid transparent}.lobby-player.me{border-color:var(--edge-strong)}.lobby-player strong{color:var(--bright);font-size:13px}.lobby-player span:last-child{color:var(--dim);font-size:11px}.online-section input#online-name{width:100%;min-height:34px;margin-bottom:6px;padding:4px 10px;color:var(--text);background:var(--cell);border:1px solid var(--cell-edge);border-radius:3px;font-family:var(--mono);font-size:12px}.online-create{font-family:var(--display);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.room-plate{display:grid;gap:2px;margin:14px 0 4px;padding:12px 16px;background:var(--cell);border:1.5px dashed var(--edge-strong);border-radius:4px;cursor:pointer;position:relative}.room-plate:hover{border-color:var(--sonar)}.room-plate span{color:var(--dimmer);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.room-plate strong{color:var(--sonar);font-family:var(--mono);font-size:30px;letter-spacing:.14em}.room-plate .copy-hint{position:absolute;right:12px;bottom:10px;color:var(--dim);font-size:10px;font-style:normal;font-family:var(--mono);text-transform:uppercase}.berth{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;background:var(--cell);border-radius:3px;border-left:3px solid var(--berth-color, var(--cell-edge))}.berth.me{background:#59e3c20f}.berth.empty{grid-template-columns:26px minmax(0,1fr);border-left-style:dashed;border-left-color:var(--cell-edge);opacity:.55}.berth-shrimp .icon{width:20px;height:20px;color:var(--berth-color, var(--dimmer))}.berth.empty .berth-shrimp .icon{color:var(--dimmer)}.berth-shrimp.bobbing{animation:shrimp-bob 2.6s ease-in-out infinite}@keyframes shrimp-bob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-3px) rotate(5deg)}}.berth-copy strong{display:block;color:var(--bright);font-size:13px}.berth-copy span{color:var(--dim);font-size:11px}.berth-waiting{color:var(--dimmer);font-family:var(--mono);font-size:11px}.leader-tag{padding:2px 7px;color:#2b1c05;background:var(--amber);border-radius:3px;font-family:var(--display);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.leader-config{margin-top:14px;padding:12px;background:#ffb4540d;border:1px solid rgba(255,180,84,.25);border-radius:4px}.leader-grid{display:grid;gap:9px;margin:8px 0 4px}.mini-label{display:block;margin-bottom:3px;color:var(--dimmer);font-family:var(--display);font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.lobby-wait{margin:14px 0 0;color:var(--dim);font-size:12px;line-height:1.5}@media (prefers-reduced-motion: reduce){.berth-shrimp.bobbing{animation:none}}
