:root{--ink:#1d3a5f;--ink-soft:#4a6585;--paper:#fff;--paper-2:#eef7ff;--sky:#3d9bff;--sun:#ffd23f;--sun-ink:#5a4100;--leaf:#4caf3a;--danger:#e2483d;--shadow:0 6px 0 #1d3a5f40;--radius:18px;--font:"Fredoka", "Trebuchet MS", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font:16px/1.4 var(--font);background:#cdeeff;margin:0;overflow:hidden}#view{width:100%;height:100%;display:block;position:fixed;inset:0}[hidden]{display:none!important}button{font:inherit;cursor:pointer}input{font:inherit}:focus-visible{outline:3px solid var(--sun);outline-offset:2px}.overlay{background:#3d9bff2e;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.card{background:var(--paper);border:3px solid var(--ink);border-radius:var(--radius);width:min(420px,100%);box-shadow:var(--shadow);gap:14px;padding:28px;display:grid}.card.small{text-align:center;width:min(340px,100%)}h1,.brand{letter-spacing:-.01em;margin:0;font-weight:700}h1{font-size:40px;line-height:1}h1 span,.brand span{color:var(--sky)}h2{margin:0;font-size:26px}.sub{color:var(--ink-soft);margin:0}.field{gap:6px;font-weight:600;display:grid}.card input{border:3px solid var(--ink);background:var(--paper-2);width:100%;color:var(--ink);border-radius:12px;padding:10px 14px}.card button{border:3px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:12px;padding:11px 18px;font-weight:600;transition:transform 60ms,box-shadow 60ms}.card button:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.card button.primary{background:var(--sun);color:var(--sun-ink)}.card button:disabled{opacity:.6;cursor:default}.join{grid-template-columns:1fr auto;gap:10px;display:grid}#code{text-transform:uppercase;letter-spacing:.3em;text-align:center;font-weight:700}.error{min-height:1.4em;color:var(--danger);margin:0;font-weight:600}#ranking{border-top:2px dashed var(--ink-soft);padding-top:10px}#ranking h2{margin:0 0 6px;font-size:18px}#ranking-list{gap:4px;max-height:220px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}#ranking-list li{font-variant-numeric:tabular-nums;grid-template-columns:34px 90px 1fr;align-items:baseline;gap:8px;display:grid}#ranking-list li.mine{color:var(--sky);font-weight:700}#ranking-list small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#hud{pointer-events:none;position:fixed;inset:0}#hud>*{pointer-events:auto}.panel,#hud-top,#hud-stats .stat,#players{border:3px solid var(--ink);box-shadow:var(--shadow);background:#ffffffeb;border-radius:14px}#hud-top{gap:2px;padding:10px 16px;display:grid;position:absolute;top:16px;left:16px}.brand{font-size:22px}.world b{letter-spacing:.15em}button.link{color:var(--sky);background:0 0;border:0;padding:0 0 0 6px;font-weight:600;text-decoration:underline}#hud-stats{gap:10px;display:flex;position:absolute;top:16px;right:16px}#forecast{border:3px solid var(--ink);min-width:230px;box-shadow:var(--shadow);background:#ffffffe6;border-radius:14px;padding:8px 14px;font-size:14px;position:absolute;top:110px;right:16px}#forecast ul{gap:2px;margin:4px 0 0;padding-left:18px;display:grid}#f3:not([hidden])~#forecast,#forecast:has(~#f3:not([hidden])){display:none}#hud-stats .stat{text-align:right;min-width:110px;padding:8px 16px;display:grid}#hud-stats .stat span{color:var(--ink-soft);font-size:13px}#hud-stats .stat b{font-variant-numeric:tabular-nums;font-size:24px}#players{gap:4px;min-width:180px;margin:0;padding:8px 14px;list-style:none;display:grid;position:absolute;top:110px;left:16px}#players li{align-items:center;gap:8px;font-weight:500;display:flex}#players i{border:2px solid var(--ink);border-radius:50%;flex:none;width:12px;height:12px}#players small{color:var(--ink-soft)}#chat-log{pointer-events:none;gap:4px;width:min(440px,100% - 32px);display:grid;position:absolute;bottom:64px;left:16px}#chat-log p{color:#fff;overflow-wrap:anywhere;background:#1d3a5fb8;border-radius:10px;width:fit-content;max-width:100%;margin:0;padding:4px 10px;transition:opacity .6s}#chat-log p.old{opacity:0}#chat-log.open p.old{opacity:1}#chat-input{border:3px solid var(--ink);background:var(--paper);width:min(440px,100% - 32px);color:var(--ink);box-shadow:var(--shadow);border-radius:12px;padding:10px 14px;position:absolute;bottom:16px;left:16px}#hint{color:var(--ink);text-shadow:0 1px #fff;font-weight:500;position:absolute;bottom:22px;left:16px}kbd{border:2px solid var(--ink);background:var(--paper);font:600 13px/1.5 var(--font);border-radius:6px;padding:0 6px;display:inline-block}#toast{background:var(--ink);color:#fff;opacity:0;pointer-events:none;border-radius:12px;padding:8px 16px;font-weight:600;transition:opacity .2s;position:absolute;top:20px;left:50%;transform:translate(-50%)}#toast.show{opacity:1}#prompt{color:#fff;pointer-events:none;background:#102034c7;border-radius:10px;margin:0;padding:4px 12px;font-weight:600;position:absolute;top:calc(50% + 28px);left:50%;transform:translate(-50%)}#ride{background:#ffffffd9;border-radius:10px;margin:0;padding:3px 10px;font-size:14px;font-weight:500;position:absolute;top:200px;left:16px}#aim{border:3px solid var(--ink);width:min(360px,100% - 32px);box-shadow:var(--shadow);background:#fffffff0;border-radius:14px;gap:6px;padding:12px 16px;display:grid;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.aim-row{justify-content:space-between;font-weight:600;display:flex}.aim-row b{font-variant-numeric:tabular-nums}#aim-bar{border:2px solid var(--ink);background:var(--paper-2);border-radius:8px;height:14px;overflow:hidden}#aim-bar i{background:linear-gradient(90deg, var(--leaf), var(--sun), var(--danger));width:0;height:100%;display:block}#aim p{color:var(--ink-soft);text-align:center;margin:0;font-size:13px}#result{background:var(--paper);border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);justify-items:center;gap:4px;padding:16px 28px;display:grid;position:absolute;top:22%;left:50%;transform:translate(-50%)}#result b{font-variant-numeric:tabular-nums;font-size:44px;line-height:1}#result span{color:#b8860b;font-size:22px;font-weight:700}#result small{color:var(--ink-soft);font-size:14px}#build{pointer-events:none;justify-items:center;gap:6px;display:grid;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}#build p{color:#fff;background:#102034b8;border-radius:10px;margin:0;padding:3px 10px;font-weight:500}#build p:empty{display:none}#hotbar{gap:6px;margin:0;padding:0;list-style:none;display:flex}#hotbar li{border:3px solid var(--ink);min-width:92px;box-shadow:var(--shadow);background:#ffffffeb;border-radius:12px;justify-items:center;gap:2px;padding:6px 10px;font-size:14px;font-weight:600;display:grid}#hotbar li.on{background:var(--sun)}#hotbar li.locked{opacity:.55}#hotbar li small{color:var(--ink-soft);font-size:11px;font-weight:500}.shop-card{grid-template-rows:auto minmax(0,1fr) auto;width:min(720px,100%);max-height:calc(100vh - 32px);display:grid}.shop-card header{justify-content:space-between;align-items:baseline;display:flex}.shop-gold{font-weight:600}.shop-gold b{color:#b8860b;font-variant-numeric:tabular-nums;font-size:24px}#shop-list{align-content:start;gap:14px;min-height:0;display:grid;overflow:auto}#shop-list h3{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;font-size:16px}#shop-list ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}#shop-list li{border:2px solid var(--ink);background:var(--paper-2);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:8px 12px;display:grid}#shop-list li b{margin-right:8px}#shop-list li small{color:var(--ink-soft)}#shop-list li p{color:var(--ink-soft);margin:2px 0 0;font-size:14px}#shop-list li button{min-width:120px}.prestige{background:#fff8e0;border:3px dashed #b8860b;border-radius:12px;padding:10px 12px}.prestige h3{color:#8a6400!important}.prestige p{color:var(--ink-soft);margin:4px 0 8px;font-size:14px}.card button.danger{background:var(--danger);color:#fff}#blueprints .shop-card{grid-template-rows:auto auto minmax(0,1fr) auto}.blueprint-save{grid-template-columns:1fr auto;gap:10px;display:grid}#blueprint-list{align-content:start;gap:8px;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow:auto}#blueprint-list li{border:2px solid var(--ink);background:var(--paper-2);border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 12px;display:grid}#blueprint-list li.empty,#blueprint-list small{color:var(--ink-soft);display:block}#blueprint-list button.ghost{box-shadow:none}#f3{color:#fff;background:#102034d6;border-radius:14px;width:300px;max-height:calc(100% - 140px);padding:12px 14px;font-size:14px;position:absolute;top:110px;right:16px;overflow:auto}#f3 h3{margin:0 0 6px;font-size:16px}#f3 h3 small{color:#9fc4ea;font-weight:500}#f3 dl{gap:2px;margin:0;display:grid}#f3 dl div{justify-content:space-between;gap:12px;display:flex}#f3 dt{color:#b9d3ee}#f3 dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:600}#f3 ul{color:#ffe39a;gap:6px;margin:10px 0 0;padding-left:18px;display:grid}#f3 ul:empty{display:none}.code-text{letter-spacing:.15em;color:var(--sky)}.slider{text-align:left;justify-content:space-between;font-weight:600;display:flex}#sens,#vol{width:100%;accent-color:var(--sky)}.keys{text-align:left;grid-template-columns:1fr 1fr;gap:6px 12px;margin:0;padding:0;font-size:15px;list-style:none;display:grid}.card button.link{box-shadow:none;color:var(--sky);border:0;padding:0;text-decoration:underline}#cross{border:2px solid var(--ink);pointer-events:none;background:#fff;border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute;top:50%;left:50%}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
