*{margin:0;padding:0;box-sizing:border-box}:root{--accent: #8dc63f;--accent-dark: #689f27;--accent-text: #0c1505;--bg: #0c100d;--panel: #151b16;--panel-2: #1c251d;--border: #2b3a2c;--text: #eef4ec;--muted: #99aa9b;--gold: #d4af37;--green: #8dc63f;--danger: #e05555}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none}#app{height:100dvh;display:flex;flex-direction:column}.page{flex:1;overflow-y:auto;padding:20px 16px 32px;max-width:480px;width:100%;margin:0 auto;position:relative}.wide{max-width:900px}.brand{text-align:center;margin:12px 0 20px}.brand .puck-logo{font-size:44px;line-height:1}.brand img.logo{width:64px;height:64px;object-fit:contain}.brand h1{font-size:26px;letter-spacing:.5px;margin-top:6px}.brand h1 em{color:var(--accent);font-style:normal}.brand .sub{color:var(--muted);font-size:13px;margin-top:4px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:14px}.card h2{font-size:16px;margin-bottom:10px}label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}input[type=text],input[type=email],input[type=password],input[type=number]{width:100%;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font-size:16px}button{font-family:inherit;border:none;border-radius:12px;cursor:pointer;font-weight:600}.btn{display:block;width:100%;padding:14px;font-size:16px;margin-top:12px;background:var(--accent);color:var(--accent-text);transition:transform .05s}.btn:active{transform:scale(.98)}.btn.secondary{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.btn.gold{background:var(--gold);color:#1a1a10}.btn:disabled{opacity:.45;cursor:default}.btn-row{display:flex;gap:10px}.btn-row .btn{flex:1}.error{color:#ff7b7b;font-size:14px;min-height:18px;margin-top:8px}.status-banner{text-align:center;padding:12px;border-radius:12px;background:var(--panel-2);font-size:15px;margin-bottom:14px}.status-banner.live{background:var(--accent);color:var(--accent-text);font-weight:600;animation:pulse-bg 1.2s infinite}@keyframes pulse-bg{50%{filter:brightness(1.25)}}.price{font-size:22px;font-weight:700}.price small{color:var(--muted);font-weight:400;font-size:13px}.puck-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--panel-2);border:1px solid var(--border);padding:7px 12px;border-radius:999px;font-size:14px}.chip.thrown{opacity:.45;text-decoration:line-through}.chip.ready{border-color:var(--green)}.muted{color:var(--muted);font-size:13px;line-height:1.5}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:50}.modal{background:var(--panel);border-radius:18px 18px 0 0;padding:20px 18px 28px;width:100%;max-width:480px;border-top:1px solid var(--border)}.modal h3{margin-bottom:8px}.sim-note{background:#2a2410;border:1px solid #5d4f1e;color:#e8d48b;border-radius:10px;padding:10px;font-size:13px;margin:10px 0}.rink-screen{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.hud-top{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:15px;font-weight:600}.hud-top .clock{font-variant-numeric:tabular-nums;font-size:20px}.hud-top .clock.urgent{color:#ff7b7b}#rink{flex:1;width:100%;min-height:0;touch-action:none}.hud-bottom{padding:10px 14px calc(14px + env(safe-area-inset-bottom))}.deadline{position:absolute;top:13%;left:50%;transform:translate(-50%);font-size:58px;font-weight:800;font-variant-numeric:tabular-nums;color:#ff5252;text-shadow:0 2px 14px rgba(0,0,0,.65);z-index:6;pointer-events:none;animation:deadline-flash .9s ease-in-out infinite}@keyframes deadline-flash{50%{opacity:.25}}.check-row{display:flex;align-items:center;gap:10px;font-size:15px;color:var(--text);margin:0}.check-row input{width:20px;height:20px;accent-color:var(--accent)}.hint{text-align:center;font-size:14px;color:var(--muted);min-height:20px;margin-bottom:8px}.hint strong{color:var(--text)}.meter{height:14px;border-radius:999px;background:var(--panel-2);border:1px solid var(--border);overflow:hidden}.meter-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#2fbf71,#e9c46a,#e63946);transition:width .03s linear}.lang-toggle{position:absolute;top:12px;right:12px;padding:7px 12px;font-size:13px;font-weight:700;letter-spacing:.5px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:999px;z-index:20}.hud-top .lang-toggle{position:static}.buy-more{position:absolute;top:46px;right:10px;padding:8px 12px;font-size:13px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:999px;z-index:5}.seat-chip{position:absolute;top:46px;left:10px;padding:8px 12px;font-size:13px;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:999px;z-index:5}.seat-canvas{width:100%;height:52vh;touch-action:manipulation;background:var(--panel-2);border-radius:12px}.results-overlay{position:absolute;inset:auto 0 0 0;max-height:72%;overflow-y:auto;background:#0c100df5;border-top:2px solid var(--gold);border-radius:18px 18px 0 0;padding:18px 16px calc(20px + env(safe-area-inset-bottom));z-index:10}.winner-card{text-align:center;padding:14px;border-radius:14px;background:linear-gradient(160deg,#2a2410,var(--panel) 70%);border:1px solid var(--gold);margin-bottom:12px}.winner-card .trophy{font-size:34px}.winner-card .name{font-size:20px;font-weight:700;color:var(--gold)}.you-won{font-size:22px;font-weight:800;color:var(--gold);animation:pulse-bg 1s infinite}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:12px}tr.me td{color:var(--gold);font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:14px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px}.stat .v{font-size:22px;font-weight:700}.stat .k{color:var(--muted);font-size:12px}.phase-badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700;background:var(--panel-2);text-transform:uppercase;letter-spacing:.5px}.phase-badge.throw_window{background:var(--accent)}.phase-badge.sales_open{background:var(--green);color:#06281a}.phase-badge.results{background:var(--gold);color:#241d05}.admin-layout{display:grid;grid-template-columns:1fr;gap:14px}@media(min-width:760px){.admin-layout{grid-template-columns:340px 1fr}}.admin-rink{width:100%;height:460px;background:var(--panel);border:1px solid var(--border);border-radius:14px}.table-scroll{max-height:320px;overflow:auto}.table-scroll th,.table-scroll td{white-space:nowrap}.ad-list{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.ad-row{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.ad-row img{height:30px;max-width:96px;object-fit:contain;background:#fff;border-radius:4px}.ad-row span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ad-del{background:none;border:1px solid var(--border);border-radius:8px;color:inherit;padding:2px 9px;cursor:pointer}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:300}.pb-banner{position:fixed;top:18%;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:var(--accent-text);font-weight:800;font-size:18px;padding:14px 22px;border-radius:14px;box-shadow:0 6px 30px #00000080;z-index:301;max-width:88vw;text-align:center;animation:pb-pop .45s cubic-bezier(.2,1.6,.4,1)}@keyframes pb-pop{0%{transform:translate(-50%) scale(.4);opacity:0}to{transform:translate(-50%) scale(1);opacity:1}}
