:root{--bg:#0b1026;--panel:#1b2347;--panel-2:#26305c;--line:#3a4680;--ink:#f4f1e8;--ink-dim:#a9b1d6;--accent:#ffc94a;--good:#5cd65c;--warn:#ffb347;--bad:#ff5c6c;--dust:#c99bff;--radius:14px;--font:"Trebuchet MS", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{background:var(--bg);height:100%;color:var(--ink);font-family:var(--font);margin:0;overflow:hidden}#game{position:fixed;inset:0}button{font:inherit;color:var(--ink);background:var(--panel-2);border:2px solid var(--line);cursor:pointer;border-radius:10px;padding:6px 10px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);color:#2a1c00;border-color:#fff3;font-weight:700}button.dust{border-color:var(--dust);background:#4b2f7a}#top{pointer-events:none;flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex;position:fixed;top:8px;left:8px;right:8px}#top>*{pointer-events:auto}#res{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.chip{background:var(--panel);border:2px solid var(--line);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:14px}.chip.low{border-color:var(--bad);color:#ffd0d4;animation:1s infinite pulse}.chip b{font-variant-numeric:tabular-nums}#trip{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);min-width:260px;margin-left:auto;padding:6px 10px;font-size:13px}.trip-row{justify-content:space-between;gap:10px;display:flex}.small{color:var(--ink-dim);margin-top:3px;font-size:12px}.bar{background:#0006;border-radius:99px;height:8px;margin-top:4px;overflow:hidden}.bar i{background:linear-gradient(90deg, #7fe3ff, var(--accent));border-radius:99px;height:100%;display:block}#goals{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);width:250px;padding:8px 10px;font-size:13px;position:fixed;top:92px;left:8px}#goals h3{color:var(--accent);margin:0 0 4px;font-size:14px}#goals .goal{align-items:baseline;gap:6px;margin:3px 0;display:flex}#goals .goal.done{color:var(--ink-dim);text-decoration:line-through}#goals .reward{color:var(--dust);white-space:nowrap;margin-left:auto}#log{pointer-events:none;flex-direction:column;gap:4px;width:min(440px,100% - 16px);display:flex;position:fixed;bottom:60px;left:8px}.msg{border:2px solid var(--line);background:#1b2347ee;border-radius:12px;align-items:flex-start;gap:8px;padding:6px 10px;font-size:13px;animation:.3s ease-out slide;display:flex}.msg:not(:first-child){opacity:.7}.msg .ava{background:radial-gradient(circle at 40% 40%,#ff8a8a,#c0203a);border:2px solid #2b2e3d;border-radius:50%;flex:none;width:22px;height:22px}#actions{flex-wrap:wrap;gap:6px;display:flex;position:fixed;bottom:8px;left:8px}#panel{background:var(--panel);border:2px solid var(--line);border-radius:var(--radius);width:330px;padding:12px;font-size:14px;position:fixed;top:92px;bottom:8px;right:8px;overflow-y:auto}#panel h2{justify-content:space-between;align-items:center;gap:8px;margin:0 0 2px;font-size:18px;display:flex}#panel .desc{color:var(--ink-dim);margin:0 0 10px;font-size:13px}#panel .close{padding:2px 8px}#panel h4{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin:12px 0 6px;font-size:13px}.row{border-bottom:1px solid #ffffff10;align-items:center;gap:8px;padding:5px 0;display:flex}.row .grow{flex:1;min-width:0}.row .sub{color:var(--ink-dim);font-size:12px}.swatch{border:2px solid #0004;border-radius:7px;flex:none;width:26px;height:26px}.need{grid-template-columns:70px 1fr 34px;align-items:center;gap:6px;margin:3px 0;font-size:13px;display:grid}.need .bar{margin:0}.need .bar i{background:var(--good)}.need.mid .bar i{background:var(--warn)}.need.low .bar i{background:var(--bad)}.stat-hl{color:var(--accent);font-weight:700}.build-item{text-align:left;align-items:center;gap:8px;width:100%;margin:4px 0;display:flex}.build-item .meta{color:var(--ink-dim);text-align:right;white-space:nowrap;margin-left:auto;font-size:12px}#toast{background:var(--bad);color:#fff;border-radius:10px;padding:8px 14px;font-weight:700;position:fixed;bottom:70px;left:50%;transform:translate(-50%)}#modal{z-index:10;background:#000a;place-items:center;display:grid;position:fixed;inset:0}#modal .card{background:var(--panel);border:3px solid var(--accent);text-align:center;border-radius:18px;max-width:420px;padding:20px}#modal h1{color:var(--accent);margin:0 0 8px}#modal .btns{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:14px;display:flex}#goals .goal.active{color:var(--accent)}.build-item.on{border-color:var(--accent);background:#3a3218}#goals h3+.goal,#goals .goal+h3{margin-top:4px}.chip.shop{cursor:pointer;border-color:var(--dust)}.chip .plus{background:var(--dust);color:#2a1c00;border-radius:6px;margin-left:4px;padding:0 5px;font-weight:700;display:inline-block}button.ad{background:#2f4a3a;border-color:#79b84a}button.boost{background:#23475a;border-color:#7fc4e8}button.free{background:var(--good);color:#10200a;border-color:#2a241f;font-weight:700}.btns-row{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.pack .price{color:var(--ink);font-size:14px;font-weight:700}.price{color:var(--accent);font-size:15px;font-weight:700}.price.short{color:var(--bad)}button.primary .price{color:#2a1c00;background:#fff6;border-radius:6px;padding:0 5px}button.primary .price.short{color:#8a0f1c}.tabs{gap:4px;margin:6px 0 8px;display:flex}.tabs button{flex:1;padding:6px 4px;font-size:13px}.tabs button.on{border-color:var(--accent);background:#3a3218}.ranks{text-align:left;max-height:42vh;overflow-y:auto}.rank{border-bottom:1px solid #ffffff12;align-items:center;gap:8px;padding:5px 4px;font-size:14px;display:flex}.rank.me{background:#3a3218;border-radius:8px}.rank .grow{flex:1;min-width:0}.tag{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-dim);border-radius:5px;padding:0 5px;font-size:11px}.field{width:100%;font:inherit;color:var(--ink);background:var(--panel-2);border:2px solid var(--line);border-radius:10px;margin:4px 0;padding:8px 10px;font-size:16px}.field.tagfield{text-transform:uppercase;width:50%}.err{color:#ffb3bb;font-weight:700}.upgrade{border:2px solid var(--accent);background:#3a3218;border-radius:12px;margin:10px 0;padding:8px 10px}.upgrade.done{border-color:var(--line);background:var(--panel-2)}.upgrade .pips{gap:4px;margin-bottom:4px;display:flex}.upgrade .pips i{border:1px solid var(--line);background:#0006;border-radius:4px;width:22px;height:8px}.upgrade .pips i.on{background:var(--accent)}.upgrade .pips i.gold{border-color:#e8c35a;box-shadow:0 0 0 1px #e8c35a55}.upgrade .pips i.gold.on{background:linear-gradient(90deg,#f6d878,#c9a227)}.upgrade.gold{border-color:var(--dust);background:#2e2448}.upgrade button.dust{width:100%;margin-top:6px;font-weight:700}button.dust .price{color:#f2e6ff}.upgrade .gain{justify-content:space-between;margin:3px 0;font-size:13px;display:flex}.upgrade .gain s{color:var(--ink-dim)}.upgrade .gain b{color:var(--good)}.upgrade button.primary{width:100%;margin-top:6px}.pack.starter{border-color:var(--accent);background:#3a3218}.badge{background:var(--good);color:#10200a;border-radius:6px;padding:0 6px;font-size:11px;display:inline-block}.badge.warn{background:var(--accent);color:#2a1c00}#offer{z-index:4;border-color:var(--accent);font-variant-numeric:tabular-nums;background:#3a3218;border-radius:999px;padding:4px 10px;font-size:13px;position:fixed;top:92px;right:346px}#toast.good{background:#3f7a2f}.deltas{flex-wrap:wrap;justify-content:center;gap:6px;margin:8px 0;display:flex}.delta{border:2px solid var(--line);border-radius:999px;padding:3px 9px;font-weight:700}.delta.up{background:#2f4a2a}.delta.down{background:#4a2a2a}#modal .card p.sub{text-align:left;margin:3px 0}#panel .wish{color:#2a241f;background:#f4ead5;border:2px solid #2a241f;border-radius:10px;padding:6px 8px}#goals .claim{background:var(--accent);color:#2a1c00;border-color:#2a241f;padding:1px 8px;font-size:12px}#modal .card .build-item{text-align:left}#modal .card h4{color:var(--accent);margin:12px 0 4px}.days{grid-template-columns:repeat(7,1fr);gap:4px;margin:10px 0;display:grid}.day{background:var(--panel-2);border:2px solid var(--line);border-radius:10px;flex-direction:column;padding:4px 0;font-size:12px;display:flex}.day.got{opacity:.5}.day.today{border-color:var(--accent);background:#4b3a12}.album{text-align:left;grid-template-columns:repeat(2,1fr);gap:6px;max-height:52vh;margin:10px 0;display:grid;overflow-y:auto}.card-slot{background:var(--panel-2);border:2px dashed var(--line);border-radius:10px;flex-direction:column;gap:2px;padding:6px 8px;font-size:13px;display:flex}.card-slot.got{color:#2a241f;background:#f4ead5;border:2px solid #2a241f}.card-slot.got .sub{color:#5a5048}.card-slot .sub{color:var(--ink-dim);font-size:11px}#banner{background:var(--accent);color:#2a1c00;text-align:center;z-index:8;pointer-events:none;border:3px solid #2a241f;border-radius:16px;max-width:calc(100% - 32px);padding:12px 18px;font-size:17px;position:fixed;top:30%;left:50%;transform:translate(-50%)}#banner.pop{animation:.45s cubic-bezier(.2,1.4,.4,1) pop}@keyframes pop{0%{opacity:0;transform:translate(-50%)scale(.6)}}@keyframes pulse{50%{opacity:.55}}@keyframes slide{0%{opacity:0;transform:translateY(8px)}}@media (width<=760px){#top{gap:4px}#res{grid-template-columns:repeat(4,1fr);gap:3px;width:100%;display:grid}.chip{text-align:center;border-width:1.5px;padding:2px 4px;font-size:12px}.chip.alert{grid-column:1/-1}.chip .sub{display:none}.chip .plus{margin-left:2px;padding:0 3px}#trip{width:100%;min-width:0;margin-left:0;padding:4px 8px;font-size:12px}.small{margin-top:1px;font-size:11px}.bar{height:6px;margin-top:3px}#goals .goal.done,#goals .goal.later{display:none}.build-item .sub{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:11px;display:-webkit-box;overflow:hidden}.build-item{margin:3px 0;padding:5px 8px}#actions{flex-wrap:nowrap;gap:4px;right:8px}#actions button{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;min-height:44px;padding:7px 6px;font-size:14px;overflow:hidden}.chip{justify-content:center;align-items:center;gap:3px;min-height:26px;display:flex}#modal .btns button,#panel button{min-height:40px}#actions #btnMenu,#actions #btnSpeed{flex:none}#actions #btnShip{display:none}#goals{width:auto;max-height:150px;padding:6px 10px;font-size:12px;top:auto;bottom:60px;right:8px;overflow-y:auto}#log{bottom:166px}.msg:nth-child(n+2){display:none}#panel{z-index:5;width:auto;max-height:55vh;top:auto;left:8px;right:8px}body.panel-open #goals,body.panel-open #log,body.panel-open #offer{visibility:hidden}#offer{padding:3px 8px;font-size:12px;top:120px;right:8px}}
