:root{--bg:#24140e;--ink:#3b2418;--paper:#fff7e8;--paper-2:#ffeccc;--edge:#d39a5c;--orange:#e5852e;--orange-d:#c4641a;--blue:#2e6ec8;--green:#2f7a44;--muted:#8a5e3c;--font:ui-rounded, "SF Pro Rounded", "Nunito", "Segoe UI", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--bg);width:100%;height:100%;color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;padding:0;overflow:hidden}body{touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;top:0;bottom:0;left:0;right:0}#game{width:100vw;height:100vh;touch-action:none;outline:none;height:100dvh;display:block;position:absolute;top:0;left:0}#ui{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.hidden{display:none!important}#safe-probe{visibility:hidden;pointer-events:none;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);position:absolute}.hud-buttons{pointer-events:auto;justify-content:flex-end;align-items:center;gap:8px;display:flex;position:absolute}.round-btn{border:2px solid var(--edge);width:44px;height:44px;color:var(--ink);cursor:pointer;touch-action:manipulation;background:#fff7e6f2;border-radius:50%;place-items:center;padding:0;display:grid;box-shadow:0 2px 6px #28140a4d}.round-btn svg{width:22px;height:22px;fill:var(--ink);stroke:var(--ink)}.round-btn.off svg{fill:#b5542a;stroke:#b5542a}.round-btn:active{transform:scale(.94)}.overlay{pointer-events:auto;padding:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));background:radial-gradient(#2b1a139e,#140a06e0);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.panel{background:linear-gradient(180deg, var(--paper), var(--paper-2));border:3px solid var(--edge);border-radius:20px;width:min(680px,100%);max-height:100%;padding:20px 22px;overflow-y:auto;box-shadow:0 18px 48px #0f07038c}.hero{align-items:center;gap:14px;margin-bottom:14px;display:flex}.portrait{border:2px solid var(--edge);background:#4e3123;border-radius:16px;flex:none;place-items:center;width:66px;height:66px;display:grid}.portrait img{width:58px;height:58px;display:block}h1{color:var(--ink);margin:0;font-size:1.7rem;line-height:1.1}.sub{color:var(--muted);margin:4px 0 0;font-size:.92rem}h2{color:var(--ink);justify-content:space-between;align-items:center;gap:8px;margin:14px 0 8px;font-size:1.05rem;display:flex}.section-card{background:#ffffff8c;border:2px solid #e4ba88;border-radius:14px;margin-bottom:12px;padding:12px 14px}.levels-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}@media (max-width:580px){.levels-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.lvl-btn{border:2px solid var(--edge);font:inherit;color:var(--ink);cursor:pointer;text-align:center;background:#fffaf0;border-radius:11px;flex-direction:column;gap:2px;padding:8px 6px;display:flex}.lvl-btn strong{font-size:.85rem}.lvl-btn span{color:var(--muted);font-size:.72rem}.lvl-btn.active{border-color:var(--orange-d);background:#ffe0b5;box-shadow:0 0 0 2px #e5852e4d}.lvl-btn.locked,.lvl-btn:disabled{opacity:.5;cursor:not-allowed;background:#f0e4d0}.rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;display:grid}@media (max-width:540px){.rooms-grid{grid-template-columns:1fr}}.room-card{border:2px solid var(--edge);background:#fffaf0;border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.room-head{justify-content:space-between;align-items:center;gap:6px;font-size:.92rem;font-weight:800;display:flex}.pill{color:var(--green);background:#e6f2ea;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:800}.pill.busy{color:#a83c18;background:#fde6dc}.room-players{color:var(--muted);min-height:20px;font-size:.8rem}.btn-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.btn{border:2px solid var(--orange-d);background:linear-gradient(180deg, #f39a42, var(--orange));color:#fffaf0;font:inherit;cursor:pointer;box-shadow:0 3px 0 var(--orange-d);touch-action:manipulation;border-radius:12px;padding:10px 16px;font-size:.95rem;font-weight:800}.btn:active{box-shadow:0 1px 0 var(--orange-d);transform:translateY(2px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.secondary{color:var(--ink);border-color:var(--edge);background:#fffaf0;box-shadow:0 3px #c69156}.btn.ready{background:linear-gradient(#43a35d,#2f7a44);border-color:#1e562e;box-shadow:0 3px #1e562e}.btn.blue{background:linear-gradient(180deg, #498ce6, var(--blue));border-color:#1f4f96;box-shadow:0 3px #1f4f96}.btn.sm{padding:7px 11px;font-size:.84rem}.slots-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0;display:grid}.slot-card{border:2px solid var(--edge);text-align:center;background:#fffaf0;border-radius:14px;padding:12px}.slot-card.is-ready{border-color:var(--green);background:#e8f7ec}.slot-tag{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.slot-nick{margin:4px 0;font-size:1.08rem;font-weight:900}.slot-status{color:var(--muted);font-size:.85rem;font-weight:800}.slot-card.is-ready .slot-status{color:var(--green)}.boosters-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin-top:8px;display:grid}.booster-row{background:#fffaf0;border:1px solid #e4ba88;border-radius:10px;align-items:center;gap:8px;padding:6px 8px;font-size:.82rem;display:flex}.booster-badge{color:#fff;border-radius:7px;flex:none;place-items:center;width:28px;height:28px;font-size:.72rem;font-weight:900;display:grid}.nick-box{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.nick-input{border:2px solid var(--edge);font:inherit;color:var(--ink);background:#fff;border-radius:10px;flex:180px;padding:9px 12px;font-weight:700}.err{color:#b92d22;margin-top:6px;font-size:.84rem;font-weight:700}.rank-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:.9rem}.rank-table th,.rank-table td{text-align:left;border-bottom:1px solid #ead1ad;padding:6px 8px}.rank-table th{color:var(--muted);text-transform:uppercase;font-size:.78rem}.kbd{border:1px solid var(--edge);background:#f1dec0;border-radius:5px;padding:1px 6px;font-size:.8rem;font-weight:800;display:inline-block}
