:root{--ink: #f0e6d8;--dim: #a99c8c;--panel: rgba(24, 17, 13, .82);--edge: rgba(240, 230, 216, .14);--warm: #d98f5a;--cool: #9fb8c4;font-family:Poppins,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:#120d0b;color:var(--ink)}.app{position:relative;height:100%;overflow:hidden}.top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-start;padding:14px;gap:14px;pointer-events:none}.top>*{pointer-events:auto}.left{position:absolute;top:96px;left:14px;width:272px}.right{position:absolute;top:96px;right:14px;width:240px}.bottom{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:14px}.panel,.band,.sol,.rail,.card,.alerts{background:var(--panel);border:1px solid var(--edge);border-radius:3px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.band{padding:10px 12px;min-width:420px}.band-head{display:flex;gap:8px;font-size:11px;letter-spacing:.14em;color:var(--dim);margin-bottom:7px}.band-sep{opacity:.5}.band-bar{display:flex;height:9px;border-radius:2px;overflow:hidden}.band-seg{transition:flex-grow .5s ease}.band-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;font-size:11px;color:var(--dim)}.band-key{display:inline-flex;align-items:center;gap:5px}.band-key i{width:8px;height:8px;border-radius:1px;display:inline-block}.band-key b{color:var(--ink);font-weight:500}.speeds{display:flex;gap:4px;justify-content:flex-end}.speed{background:var(--panel);color:var(--dim);border:1px solid var(--edge);border-radius:2px;padding:5px 10px;font:inherit;font-size:11px;cursor:pointer}.speed.on{color:var(--ink);border-color:var(--warm)}.alerts{margin-top:8px;padding:8px 10px;max-width:320px}.alert{font-size:11px;color:var(--warm);padding:2px 0}.sol{padding:11px 12px}.sol-head{display:flex;align-items:baseline;gap:8px}.sol-n{font-size:15px;letter-spacing:.1em}.sol-clock{font-family:DM Mono,ui-monospace,monospace;color:var(--dim)}.sol-speed{margin-left:auto;font-size:11px;color:var(--dim)}.sol-arc{height:2px;background:var(--edge);margin:9px 0 11px}.sol-arc-fill{height:100%;background:var(--warm);transition:width .8s linear}.sol-label,.rail-label{font-size:10px;letter-spacing:.16em;color:var(--dim);margin-bottom:7px}.sol-row{display:flex;gap:8px;font-size:12px;padding:3px 0;line-height:1.35}.sol-mark{color:var(--dim);width:10px;flex:none}.sol-quiet{font-size:12px;color:var(--dim);font-style:italic}.sol-store_runs_out .sol-mark,.sol-wear_failure .sol-mark{color:var(--warm)}.sol-foot{margin-top:10px;font-size:11px;color:var(--dim)}.rail{padding:11px 12px}.rail-row{padding:7px 0;border-top:1px solid var(--edge)}.rail-row:first-of-type{border-top:0}.rail-name{font-size:13px}.rail-job{font-size:10px;color:var(--dim);margin-top:1px}.rail-doing{font-size:11px;color:var(--cool);margin-top:3px}.rail-doing em{color:var(--warm);font-style:normal}.rail-building_at_risk .rail-doing{color:var(--warm)}.deck{display:flex;gap:12px;max-width:980px}.card{padding:14px 16px;flex:1 1 0;max-width:460px}.card-head{display:flex;align-items:baseline;gap:9px}.card-title{font-size:15px}.card-stage{font-size:10px;letter-spacing:.1em;color:var(--warm);border:1px solid var(--warm);border-radius:2px;padding:1px 5px}.card-detail{font-size:12px;line-height:1.5;color:var(--ink);opacity:.88;margin:9px 0}.card-forecast{font-size:11px;color:var(--cool);margin-bottom:8px}.card-people{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.card-person{font-size:11px;color:var(--dim)}.card-person b{color:var(--ink);font-weight:500}.card-options{display:flex;flex-direction:column;gap:6px}.opt{display:flex;flex-direction:column;gap:2px;text-align:left;background:#f0e6d80d;color:var(--ink);border:1px solid var(--edge);border-radius:2px;padding:8px 10px;font:inherit;cursor:pointer}.opt:hover{border-color:var(--warm)}.opt-label{font-size:12px}.opt-consequence{font-size:10px;color:var(--dim);line-height:1.4}.opt-wait{opacity:.72}.waiting{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#120d0b;z-index:10}.waiting h1{font-size:24px;font-weight:400;letter-spacing:.1em;margin:0}.waiting p{color:var(--dim);font-size:12px;margin:0}.waiting-hint{margin-top:10px!important}.waiting code{font-family:DM Mono,ui-monospace,monospace;color:var(--cool)}.gate{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:18px}.gate label{font-size:11px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase}.gate input{font:16px DM Mono,ui-monospace,monospace;color:var(--ink);text-align:center;background:var(--panel);border:1px solid var(--edge);border-radius:4px;padding:8px 12px;width:200px;letter-spacing:.2em}.gate input:focus{outline:none;border-color:var(--warm)}.gate button{font:inherit;font-size:12px;color:var(--ink);background:transparent;border:1px solid var(--edge);border-radius:4px;padding:6px 18px;cursor:pointer}.gate button:hover{border-color:var(--warm)}.gate-wrong{color:var(--warm)!important}.away{position:absolute;top:96px;left:50%;transform:translate(-50%);width:min(420px,calc(100% - 32px));padding:12px 14px;z-index:5;background:var(--panel);border:1px solid var(--edge);border-radius:6px;font-size:12px;line-height:1.5}.away-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.away-head button{background:none;border:none;color:var(--dim);font-size:16px;cursor:pointer}.away p{margin:2px 0;color:var(--dim)}.away ul{margin:6px 0 0;padding-left:16px;color:var(--dim)}.away-lost{color:var(--warm)!important}
