:root{--g:rgba(250,253,255,.84);--b:rgba(20,80,120,.16);--a:#3ee6c4;--w:#ffcf5a;--r:#ff5a6e;font-family:"Inter","Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#0a1a2a;color:#0d2a40}
#c{position:fixed;inset:0;width:100%;height:100%;display:block}
.glass{background:var(--g);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px);border:1px solid var(--b);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.hidden{display:none!important}.muted{opacity:.7;font-size:12px}.lbl{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.75}
#top{position:fixed;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:18px;align-items:center;padding:8px 16px;z-index:5}
.stat{display:flex;flex-direction:column;align-items:center;min-width:58px;position:relative}.stat b{font-size:18px;font-variant-numeric:tabular-nums}
.money b{color:#0b9c86;font-size:22px}.money b.neg{color:var(--r);animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.45}}
#mdelta{position:absolute;top:34px;font-style:normal;font-weight:700;font-size:13px;opacity:0;transition:opacity .3s}
.rank{min-width:130px}.bar{width:120px;height:8px;border-radius:5px;background:rgba(13,42,64,.1);overflow:hidden;margin:3px 0}
#repbar{height:100%;background:linear-gradient(90deg,#3ee6c4,#ffd84d);width:0;transition:width .4s}
.wx span{font-size:24px}
.speed{display:flex;gap:4px}.speed button,.tools button,.tabs button{background:rgba(13,42,64,.06);color:#0d2a40;border:1px solid var(--b);border-radius:10px;padding:6px 9px;cursor:pointer;font-size:13px}
button.on{background:linear-gradient(135deg,#21b6a8,#2b7fd8)!important;border-color:transparent;color:#fff!important}
button:hover{filter:brightness(1.2)}button:disabled{opacity:.4;cursor:not-allowed}
#goal{position:fixed;top:84px;left:50%;transform:translateX(-50%);padding:6px 14px;font-size:13px;z-index:5}
#event{position:fixed;top:122px;left:50%;transform:translateX(-50%);padding:8px 18px;font-weight:800;z-index:5;color:#fff;background:linear-gradient(135deg,#ff8a3d,#ff5a6e);border:none}
#left{position:fixed;left:12px;top:12px;width:290px;max-height:calc(100% - 24px);overflow:auto;padding:12px;z-index:5}
.tabs{display:flex;gap:4px;margin-bottom:10px}.tabs button{flex:1}
.tools{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0 10px}
.dsz{background:#fff;border:1px solid var(--b);border-radius:10px;padding:6px;cursor:pointer;color:#0d2a40;text-align:center}
.dsz b{display:block;font-size:15px}.dsz small{opacity:.75}
.bcard{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;border:1px solid var(--b);margin-bottom:6px;background:#fff;cursor:pointer}
.bcard .ic{font-size:24px}.bcard .t{flex:1}.bcard .t b{display:block;font-size:13px}.bcard .t small{opacity:.75;font-size:11px}
.bcard .p{font-weight:700;color:#c47a00;font-size:13px}.bcard.no{opacity:.45}.bcard.built{border-color:var(--a)}
#right{position:fixed;right:12px;top:12px;width:250px;max-height:60%;overflow:auto;padding:12px;z-index:5}
.wb{padding:8px;border-radius:12px;border:1px solid var(--b);margin-top:6px;cursor:pointer;background:#fff}
.wb.sel{border-color:var(--w);box-shadow:0 0 0 2px rgba(255,207,90,.35)}
.wb b{font-size:13px}.wb small{opacity:.75}.pb{height:6px;border-radius:4px;background:rgba(13,42,64,.1);margin-top:5px;overflow:hidden}.pb div{height:100%}
.wb button{float:right;font-size:11px;padding:3px 7px;border-radius:8px;border:none;background:var(--a);color:#06303a;font-weight:700;cursor:pointer}
#log{position:fixed;right:12px;bottom:12px;width:330px;max-height:190px;overflow:hidden;padding:10px 12px;font-size:12px;z-index:5}
#log div{padding:2px 0;opacity:.9}#log .bad{color:#d1303f}#log .good{color:#0b8a72}
#tip{position:fixed;pointer-events:none;background:rgba(0,0,0,.75);padding:4px 8px;border-radius:8px;font-size:12px;z-index:9}
#markers{position:fixed;inset:0;pointer-events:none;z-index:4}
.mk{position:absolute;transform:translate(-50%,-100%);background:rgba(10,25,40,.8);border-radius:10px;padding:2px 7px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid rgba(255,255,255,.2)}
.mk .pb{width:46px;height:4px;margin:2px 0 1px}.mk.vip{border-color:#ffd84d;color:#ffe9a8}.mk.sel{border-color:var(--w);box-shadow:0 0 10px var(--w)}
.row{display:flex;gap:8px}.big{background:linear-gradient(135deg,#21b6a8,#2b7fd8);color:#fff;border:none;border-radius:12px;padding:10px 16px;font-weight:700;cursor:pointer;font-size:14px}
#ledger{margin-top:10px;font-size:12px;line-height:1.7}
#over,#title{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(5,15,25,.45);z-index:20}
.card{padding:28px 34px;max-width:460px;text-align:center}.card h1{margin:0 0 10px;font-size:34px}.card h1 span{color:var(--a)}.card button{margin:6px}

#top{border-bottom:3px solid #21b6a8}.mk{color:#fff}#tip{color:#fff}
/* T-024: the centred top bar/goal/toast must never sit under or over the side panels (it did below ~1500 px wide,
   so the panels swallowed clicks on the speed buttons and the toast could cover the tools). Panels stay on top. */
#left,#right{z-index:6}
@media (max-width:1500px){
  #top{left:314px;right:274px;transform:none;flex-wrap:wrap;justify-content:center;gap:10px 14px}
  #goal,#event{top:auto;left:314px;right:354px;transform:none;text-align:center}
  #goal{bottom:12px}#event{bottom:52px}
}
@media (max-width:900px){#right{top:auto;bottom:96px;max-height:35%}#log{display:none}#top{right:12px}#goal,#event{right:12px}}
/* T-037 fuel dock controls */
.fuelbox{margin-top:12px;padding:10px;border-radius:12px;background:linear-gradient(135deg,rgba(255,207,90,.18),rgba(62,230,196,.12));border:1px solid var(--b)}
.frow{display:flex;align-items:center;gap:6px;margin:6px 0}.frow>button:not(.big){width:32px;height:32px;border-radius:10px;border:1px solid var(--b);background:#fff;font-size:18px;font-weight:800;cursor:pointer;color:#0d2a40}
.fprice{min-width:74px;text-align:center;font-size:13px}.fprice b{font-size:18px;font-variant-numeric:tabular-nums}
#buyfuel{flex:1;padding:8px 10px}#buyfuel small{display:block;font-weight:600;opacity:.85}#buyfuel.spike{background:linear-gradient(135deg,#ff8a3d,#ff5a6e)}

/* T-108 prestige stars panel (endless) */
#prestige{position:fixed;left:12px;bottom:12px;width:300px;padding:10px 12px;font-size:12px;line-height:1.45;z-index:5}
#prestige h3{margin:0 0 6px;font-size:13px;letter-spacing:.06em}
#prestige .st{display:flex;gap:6px;opacity:.55}#prestige .st.on{opacity:1}#prestige .st b{color:#f5c542}
/* T-109 price war match button */
#goal .warbtn{opacity:1;filter:none;margin-left:8px;padding:3px 10px;border-radius:8px;border:1px solid #ff9a5c;background:#e8622c;color:#fff;font-weight:700;cursor:pointer;pointer-events:auto}
.warbtn:hover{background:rgba(255,120,60,.45)}
