.editor-compact-select{min-width:120px}.editor-compact-number-input{width:60px}.editor-center-header{text-align:center}.editor-bold-cell{font-weight:700}html,body{height:100dvh;overflow:hidden}body{font-variant-numeric:tabular-nums;padding-bottom:0}.editor-shell{flex-direction:column;height:100%;display:flex}.editor-tabs{padding:max(10px, var(--safe-top)) 20px 0;background:var(--ink-1);border-bottom:1px solid var(--line);flex-shrink:0;align-items:stretch;gap:0;display:flex}.editor-tab{height:40px;font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--paper-mute);cursor:pointer;background:0 0;border:none;padding:0 22px;font-size:11px;font-weight:500;transition:color .2s;position:relative}.editor-tab:hover{color:var(--paper-dim)}.editor-tab.is-active{color:var(--active)}.editor-tab.is-active:after{content:"";background:var(--active);height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.editor-view{flex:1;min-height:0;display:none}.editor-view.is-active{flex-direction:column;display:flex}#economy-editor-view.is-active{padding:0 32px 120px;overflow:auto}.readonly-banner{background:repeating-linear-gradient(43deg, #f5c26b0a 0 1px, transparent 1px 5px), var(--ink-1);border-bottom:1px dashed var(--line-2);color:var(--paper-dim);font-family:var(--font-mono);letter-spacing:.06em;align-items:center;gap:12px;padding:8px 20px;font-size:11px;display:none}.readonly-banner.is-visible{display:flex}.readonly-banner-label{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-weight:700}.readonly-banner-label:before{content:"// ";color:var(--paper-mute);font-weight:500}.toolbar{border-bottom:1px dashed var(--line-2);flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;padding:20px 0 14px;display:flex}.toolbar h1{font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--paper);white-space:nowrap;margin:0 8px 0 0;font-size:13px;font-weight:500}.toolbar h1 em{color:var(--active);font-style:normal}.toolbar-group{align-items:center;gap:6px;display:flex}.toolbar-divider{background:var(--line-2);flex-shrink:0;align-self:stretch;width:1px;margin:2px 4px}.panel{isolation:isolate;background:repeating-linear-gradient(43deg, #f5c26b05 0 1px, transparent 1px 5px), repeating-linear-gradient(-43deg, #4fb3b804 0 1px, transparent 1px 7px), linear-gradient(180deg, var(--ink-2) 0%, var(--ink-1) 100%);border:1px solid var(--line-2);border-radius:6px;margin:16px 0;padding:0;position:relative;overflow:hidden;box-shadow:0 16px 40px #00000059,inset 0 1px #ffffff08}.panel-header{border-bottom:2px dashed var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px 10px;display:flex}h2{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--paper);white-space:nowrap;font-size:12px;font-weight:500}h2:before{content:"// ";color:var(--paper-mute);letter-spacing:.02em;font-weight:500}.panel-simulation{border-color:color-mix(in srgb, var(--accent) 35%, var(--line-2))}.panel-simulation .panel-header h2{color:var(--accent)}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;vertical-align:middle;padding:7px 14px;font-size:12px}th{font-family:var(--font-mono);color:var(--paper-mute);letter-spacing:.18em;text-transform:uppercase;background:var(--ink-1);z-index:1;border-bottom:1px dashed var(--line-2);padding-top:8px;padding-bottom:10px;font-size:10px;font-weight:500;position:sticky;top:0}td{color:var(--paper-dim);border-bottom:1px dashed var(--line)}tbody tr:hover>td,table:not(.fleet-table) tr:not(.separator):hover>td{background:#f5c26b08}.table-scroll{padding:0 20px 18px;overflow:auto}.table-scroll-stations,.table-scroll-fleet{overflow-x:auto}.metric-table td.label-cell{color:var(--paper);white-space:nowrap;font-weight:500}.metric-table td.description-cell{color:var(--paper-mute);white-space:normal;min-width:420px;font-size:12px;font-family:var(--font-display);letter-spacing:0;text-transform:none}.metric-table th.numeric-column,.metric-table td.numeric-cell,.fleet-table th.numeric-column,.fleet-table td.numeric-cell{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--paper)}.input-cell input[type=number]{text-align:right;width:96px;margin-left:auto;display:block}.input-cell input[type=number].small{width:68px}.calculated-cell{color:var(--paper-dim);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px}.station-grid .ware-cell{text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;min-width:52px;padding:3px 4px;font-size:12px}.station-grid .ware-header{text-align:center;letter-spacing:.08em;min-width:52px;padding:4px 4px 8px;font-size:9px}.totals-label{font-family:var(--font-mono);color:var(--paper-mute);text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:700}.totals-cell{text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--paper);font-size:12px}.table-scroll::-webkit-scrollbar{width:6px;height:6px}.table-scroll::-webkit-scrollbar-track{background:0 0}.table-scroll::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:3px}.table-scroll::-webkit-scrollbar-thumb:hover{background:var(--line-3)}#economy-editor-view::-webkit-scrollbar{width:8px}#economy-editor-view::-webkit-scrollbar-track{background:0 0}#economy-editor-view::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}#economy-editor-view::-webkit-scrollbar-thumb:hover{background:var(--line-3)}input[type=number],select{color:var(--paper);border:1px solid var(--line-3);width:80px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:#ffffff05;border-radius:3px;padding:5px 9px;font-size:12px;transition:border-color .15s,background .15s,box-shadow .15s}input[type=number]:hover,select:hover{border-color:var(--paper-mute)}input[type=number]:focus,select:focus{border-color:var(--active);box-shadow:0 0 0 2px color-mix(in srgb, var(--active) 18%, transparent);background:#f5c26b0a;outline:none}input:disabled,select:disabled,button:disabled{opacity:.35;cursor:not-allowed}input[type=number].small{width:55px}select{cursor:pointer;width:auto;font-family:var(--font-mono);letter-spacing:.02em}input.changed{border-color:var(--active);background:color-mix(in srgb, var(--active) 10%, transparent);box-shadow:0 0 0 1px color-mix(in srgb, var(--active) 24%, transparent)}button{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--paper-dim);border:1px solid var(--line-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0000004d;border-radius:4px;align-items:center;gap:8px;height:36px;padding:0 14px;font-size:11px;font-weight:500;transition:border-color .2s,color .2s,background .2s;display:inline-flex;box-shadow:inset 0 1px #ffffff05,inset 0 -1px #0006}button:hover{border-color:var(--line-3);color:var(--paper)}button:disabled:hover{border-color:var(--line-2);color:var(--paper-dim)}.button-primary{background:var(--active);border-color:var(--active);color:#000;box-shadow:none;font-weight:700}.button-primary:hover{color:#000;background:#ffd07a;border-color:#ffd07a}.button-action{background:var(--accent);border-color:var(--accent);color:#000;box-shadow:none;font-weight:700}.button-action:hover{color:#000;background:#a6e4a5;border-color:#a6e4a5}.button-danger{color:var(--err);border-color:var(--err-line);background:#0000004d}.button-danger:hover{background:var(--err-bg);color:var(--err);border-color:var(--err)}.remove-button{color:var(--paper-mute);cursor:pointer;height:auto;box-shadow:none;letter-spacing:0;background:0 0;border:none;border-radius:0;padding:0 4px;font-size:14px;line-height:1}.remove-button:hover{color:var(--err);box-shadow:none;background:0 0;border:none}.sim-controls{align-items:center;gap:12px;padding:14px 20px 16px;display:flex}.sim-stale{font-style:normal;font-family:var(--font-mono);letter-spacing:.02em;color:var(--active)!important}#simulation-status{color:var(--paper-mute);font-family:var(--font-mono);letter-spacing:.02em;font-size:11px}.calculator-controls{font-family:var(--font-mono);color:var(--paper-dim);letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}.calculator-controls label{align-items:center;gap:8px;display:inline-flex}.calculator-note{color:var(--paper-mute)}.calculator-unit{color:var(--paper-dim)}.small-input{text-align:right;width:58px!important}.station-healthy{color:var(--accent)}.station-warning{color:var(--active)}.station-critical{color:var(--err)}.dim{color:var(--paper-mute)}.net-positive{color:var(--accent)}.net-negative{color:var(--err)}.ware-group-first td{border-top:1px solid var(--line-2)}.consumption-label{color:var(--paper-mute);font-size:11px}.separator td{border-bottom:2px solid var(--line-2)}.ships-table td,.fleet-table td{font-size:12px}.ship-wares-row td{font-family:var(--font-mono);color:var(--paper-mute);letter-spacing:.02em;border-bottom:1px dashed var(--line);padding-top:0;padding-bottom:8px;padding-left:22px;font-size:11px}.station-panel-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.add-station-controls{align-items:center;gap:6px;display:flex}.size-badge{color:var(--paper-mute);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-left:4px;font-size:10px}.fleet-table{width:max-content;min-width:100%}.fleet-table th{font-size:9px}.fleet-summary-note{color:var(--paper-mute);font-family:var(--font-mono);letter-spacing:.02em;max-width:1100px;padding:0 20px 12px;font-size:11px;line-height:1.55}.panel-note{color:var(--paper-mute);font-family:var(--font-mono);letter-spacing:.02em;text-align:right;max-width:760px;margin:0;font-size:11px;line-height:1.55}.summary-row td{border-top:1px solid var(--line-2);color:var(--paper);font-weight:700}.sim-label{color:var(--paper-dim);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.map-editor-toolbar{background:var(--ink-1);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px;display:flex}.map-editor-mode-stack{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.map-editor-preset{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);align-items:center;gap:8px;font-size:11px;font-weight:500;display:flex}.map-editor-preset-select{font:inherit;letter-spacing:.08em;color:var(--paper);border:1px solid var(--line-2);cursor:pointer;background:#0000004d;border-radius:4px;height:36px;padding:0 8px}.map-editor-preset-select:hover,.map-editor-preset-select:focus{border-color:var(--line-3);outline:none}.map-editor-mode-group{display:inline-flex}.map-editor-mode-button{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);border:1px solid var(--line-2);cursor:pointer;background:#0000004d;border-radius:0;height:36px;padding:0 14px;font-size:11px;font-weight:500;transition:border-color .2s,color .2s,background .2s;box-shadow:inset 0 1px #ffffff05,inset 0 -1px #0006}.map-editor-mode-button:first-child{border-top-left-radius:4px;border-bottom-left-radius:4px}.map-editor-mode-button:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.map-editor-mode-button+.map-editor-mode-button{margin-left:-1px}.map-editor-mode-button:hover{border-color:var(--line-3);color:var(--paper)}.map-editor-mode-button.is-active{z-index:1;color:var(--active);border-color:var(--active);background:linear-gradient(#f5c26b14,#f5c26b05),#0000004d;position:relative}.map-editor-status{color:var(--accent);font-family:var(--font-mono);letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.map-editor-status:before{content:"// ";color:var(--paper-mute)}.map-editor-surface{border:1px solid var(--line-2);touch-action:none;background:#000;border-radius:6px;flex:1;min-height:0;margin:16px 20px 20px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff08,0 20px 60px #00000080}.map-editor-surface #controls-toggle,.map-editor-surface #lore-toggle,.map-editor-surface #log-toggle,.map-editor-surface #lore-box,.map-editor-surface #log-box,.map-editor-surface #hud-icon{display:none}.map-editor-surface #game-container{touch-action:none;width:100%;height:100%}.map-editor-surface #overlay-info{pointer-events:none;z-index:5;flex-direction:column;align-items:flex-start;gap:6px;max-width:calc(100% - 24px);display:flex;position:absolute;top:12px;left:12px}.map-editor-surface #overlay-info-row{align-items:flex-start;gap:6px;display:flex}.map-editor-surface #overlay-info-card{pointer-events:auto;width:300px}.map-editor-surface #info-rail{pointer-events:auto;flex-direction:column;flex-shrink:0;gap:4px;display:flex}.map-editor-surface #info-rail .hud-btn{justify-content:center;width:40px;height:40px;padding:0}.map-editor-surface #hud-bar{z-index:10;flex-direction:column;align-items:flex-start;gap:14px;max-width:calc(100% - 24px);display:flex;position:absolute;bottom:12px;left:12px}.map-editor-surface #hud-top-row{flex-wrap:wrap;max-width:100%}.map-editor-surface .hud-btn:focus,.map-editor-surface .speed-pill:focus,.map-editor-surface .zoom-btn:focus,.map-editor-surface .zoom-level:focus{outline:none}.timelapse-surface #timelapse-container{touch-action:none;width:100%;height:100%}.timelapse-progress{flex-shrink:0;width:120px;height:6px}.timelapse-progress .cargo-fill{background:var(--active);opacity:1}.timelapse-time-row{flex-wrap:nowrap;justify-content:center;align-items:center;gap:10px;display:flex}.timelapse-step-bar{border-bottom:1px dashed var(--line-2);justify-content:center;align-items:center;gap:12px;padding:10px 20px;display:flex}#timelapse-control-mount{width:100%}.timelapse-toolbar .hud-btn{height:36px}button[hidden]{display:none}.timelapse-status-stack{flex-direction:column;flex:0 auto;align-items:center;gap:4px;width:min(560px,100% - 40px);min-width:0;display:flex}.timelapse-time{text-align:center;min-width:140px;max-width:460px;font-family:var(--font-mono);letter-spacing:.06em;color:var(--paper);font-variant-numeric:tabular-nums;font-size:12px}.timelapse-time.is-blurb{letter-spacing:.02em;color:var(--paper-mute);font-family:var(--font-display)}@media (width<=900px){.timelapse-step-bar{flex-wrap:wrap;gap:8px;padding:8px 12px}.timelapse-status-stack{flex-basis:100%;order:-1}.timelapse-time{min-width:0;max-width:100%}.editor-tabs{padding:8px 12px 0}.map-editor-surface{margin:12px}#economy-editor-view.is-active{padding:0 16px 80px}.panel{margin:12px 0}}
