:root{--color-bg:#05060f;--color-text:#e6e9ff;--color-muted:#8a90b8;--color-accent:#00f0ff;--color-rare:#ffc83d;--color-danger:#ff2e88;--color-panel:#080c20c7;--font-display:"Orbitron", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif}html,body,#root{background:var(--color-bg);width:100%;height:100%;color:var(--color-text);font-family:var(--font-body);margin:0;overflow:hidden}.scene{position:fixed;inset:0}.label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hud{z-index:100;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.hud__timer{font-family:var(--font-display);letter-spacing:.08em;color:var(--color-text);text-shadow:0 0 12px var(--color-accent);font-size:36px;font-weight:700;position:absolute;top:20px;left:50%;transform:translate(-50%)}.hud__timer--urgent{color:var(--color-danger);text-shadow:0 0 14px var(--color-danger);animation:1s ease-in-out infinite pulse}.scoreboard{background:var(--color-panel);border:1px solid #00f0ff59;border-radius:10px;min-width:220px;margin:0;padding:8px 0;list-style:none;position:absolute;top:20px;right:76px}.scoreboard__row,.ranking__row{grid-template-columns:20px 1fr auto auto;align-items:center;gap:10px;padding:4px 14px;font-size:14px;display:grid}.scoreboard__row--local,.ranking__row--local{background:#00f0ff1a}.scoreboard__rank,.ranking__rank{font-family:var(--font-display);color:var(--color-muted)}.scoreboard__score,.ranking__row strong{text-align:right;min-width:28px;font-family:var(--font-display);color:var(--color-accent);font-size:18px}.hud__rare{color:var(--color-rare)}.hud__hint{color:var(--color-muted);margin:0;font-size:13px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.countdown{font-family:var(--font-display);color:var(--color-accent);text-shadow:0 0 30px var(--color-accent);font-size:140px;font-weight:900;animation:1s ease-out forwards countdown;position:absolute;top:50%;left:50%}.panel{box-sizing:border-box;background:var(--color-panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;pointer-events:auto;z-index:1;border:1px solid #00f0ff66;border-radius:16px;width:min(480px,100vw - 32px);padding:32px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 40px #00f0ff26}.panel--side{width:min(380px,100vw - 32px);max-height:calc(100vh - 48px);top:50%;left:24px;overflow-y:auto;transform:translateY(-50%)}.panel__subtitle--loading{animation:1.2s ease-in-out infinite pulse}.panel__tip{color:var(--color-muted);margin:16px 0 0;font-size:13px}.player-list,.ranking{text-align:left;margin:0 0 20px;padding:0;list-style:none}.player-list li{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:6px 0;display:flex}.ranking__row{border-radius:8px;padding:8px 14px;font-size:16px}.player-name{white-space:nowrap;align-items:center;gap:8px;display:inline-flex;overflow:hidden}.player-name--offline{opacity:.55}.player-name__status{color:var(--color-muted);font-size:11px;font-style:italic}.banner{z-index:1;border:1px solid var(--color-danger);background:var(--color-panel);color:var(--color-text);border-radius:999px;padding:8px 20px;font-size:14px;animation:1.2s ease-in-out infinite pulse;position:absolute;top:80px;left:50%;transform:translate(-50%)}.player-name__dot{border-radius:50%;flex:none;width:10px;height:10px}.nametag{white-space:nowrap;color:var(--color-text);pointer-events:none;-webkit-user-select:none;user-select:none;background:#05060fb3;border:1px solid;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.nametag--local{color:var(--color-accent)}.panel__title{font-family:var(--font-display);letter-spacing:.06em;color:var(--color-accent);text-shadow:0 0 18px #00f0ffb3;margin:0;font-size:36px;font-weight:900}.panel__subtitle{color:var(--color-muted);margin:4px 0 20px}.panel__rules{text-align:left;margin:0 0 24px;padding:0;line-height:2;list-style:none}.dot{border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.dot--common{background:var(--color-accent);box-shadow:0 0 8px var(--color-accent)}.dot--rare{background:var(--color-rare);box-shadow:0 0 8px var(--color-rare);border-radius:2px;transform:rotate(45deg)}.button{border:1px solid var(--color-accent);color:var(--color-text);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:#00f0ff1f;border-radius:999px;padding:12px 40px;font-size:16px;font-weight:700;transition:background .15s,box-shadow .15s}.button:hover,.button:focus-visible{background:#00f0ff40;outline:none;box-shadow:0 0 20px #00f0ff80}.field{text-align:left;margin:0 0 20px;display:block}.field__label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:6px;font-size:12px;display:block}.field__input{box-sizing:border-box;width:100%;color:var(--color-text);font:inherit;background:#05060f99;border:1px solid #00f0ff59;border-radius:10px;padding:10px 14px}.field__input:focus-visible{border-color:var(--color-accent);outline:none;box-shadow:0 0 12px #00f0ff59}.field__input[aria-invalid=true]{border-color:var(--color-danger)}.field__input--code{font-family:var(--font-display);letter-spacing:.3em;text-align:center;text-transform:uppercase}.field__error{color:var(--color-danger);margin-top:6px;font-size:12px;display:block}.panel__alert{border:1px solid var(--color-danger);background:#ff2e881a;border-radius:10px;margin:0 0 20px;padding:10px 14px;font-size:14px}.menu__actions{flex-direction:column;gap:12px;display:flex}.menu__separator{color:var(--color-muted);margin:20px 0 12px;font-size:13px}.menu__join{gap:10px;display:flex}.button--secondary{background:0 0;border-color:#00f0ff66}.button--small{padding:8px 18px;font-size:12px}.button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.link-button{color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:14px;font-size:13px;text-decoration:underline}.link-button:hover,.link-button:focus-visible{color:var(--color-text)}.invite{flex-direction:column;align-items:center;gap:8px;margin:12px 0 20px;display:flex}.invite__label,.panel__section-title{letter-spacing:.15em;text-transform:uppercase;color:var(--color-muted);font-size:12px}.panel__section-title{text-align:left;margin:0 0 6px}.invite__code{font-family:var(--font-display);letter-spacing:.25em;color:var(--color-text);text-shadow:0 0 14px var(--color-accent);-webkit-user-select:all;user-select:all;font-size:34px}.player-list__tags{align-items:center;gap:6px;display:inline-flex}.tag{letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted);background:#ffffff14;border-radius:999px;padding:1px 8px;font-size:11px}.tag--host{color:var(--color-rare)}.tag--ready{color:#7cff4f;background:#7cff4f26}.tag--waiting{font-style:italic}.icon-button{width:22px;height:22px;color:var(--color-danger);cursor:pointer;background:0 0;border:1px solid #ff2e8880;border-radius:50%;padding:0;font-size:11px}.icon-button:hover,.icon-button:focus-visible{background:#ff2e8833;outline:none}.lobby__actions{justify-content:center;gap:10px;display:flex}.lobby__actions .button{padding-inline:20px}.chat{pointer-events:auto;flex-direction:column;gap:6px;width:min(340px,100vw - 48px);display:flex;position:absolute;bottom:44px;right:24px}.chat__messages{text-shadow:0 1px 3px #000;max-height:180px;margin:0;padding:0;font-size:13px;line-height:1.5;list-style:none;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 30%);mask-image:linear-gradient(#0000,#000 30%)}.chat__message{overflow-wrap:anywhere}.chat__message--system{color:var(--color-muted);font-style:italic}.chat__input{color:var(--color-text);font:inherit;background:#05060f8c;border:1px solid #00f0ff40;border-radius:8px;padding:8px 12px;font-size:13px}.chat__input:focus-visible{border-color:var(--color-accent);background:var(--color-panel);outline:none}.bubble{width:max-content;max-width:220px;color:var(--color-text);overflow-wrap:anywhere;pointer-events:none;-webkit-user-select:none;user-select:none;background:#05060fd9;border:1px solid;border-radius:12px;padding:6px 10px;font-size:13px;animation:.15s ease-out bubble-in;transform:translate(-50%,-100%)}@keyframes bubble-in{0%{opacity:0}}.popup{font-family:var(--font-display);color:var(--color-accent);text-shadow:0 0 10px var(--color-accent);white-space:nowrap;pointer-events:none;font-size:22px;font-weight:900;animation:.9s ease-out forwards popup}.popup--rare{color:var(--color-rare);text-shadow:0 0 14px var(--color-rare);font-size:30px}.stats{bottom:0;top:auto!important}@keyframes popup{0%{opacity:1;transform:translateY(0)scale(.8)}to{opacity:0;transform:translateY(-40px)scale(1.1)}}@keyframes countdown{0%{opacity:1;transform:translate(-50%,-50%)scale(1.4)}to{opacity:0;transform:translate(-50%,-50%)scale(.8)}}@keyframes pulse{50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.hud__timer--urgent,.countdown,.popup{animation-duration:10ms}}.panel--wide{width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);overflow-y:auto}.panel--text{text-align:left;font-size:14px;line-height:1.5}.panel--text .button{margin:24px auto 0;display:block}.panel__info{border:1px solid var(--color-accent);background:#00f0ff14;border-radius:10px;margin:0 0 20px;padding:10px 14px;font-size:14px}.account-bar{text-align:left;border:1px solid #00f0ff33;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 20px;padding:10px 14px;display:flex}.account-bar__name{align-items:center;gap:8px;font-weight:700;display:flex}.account-bar__hint{color:var(--color-muted);font-size:13px}.tabs{justify-content:center;gap:8px;margin:0 0 20px;display:flex}.tabs__tab{color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #00f0ff4d;border-radius:999px;padding:6px 14px;font-size:13px}.tabs__tab[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-text);background:#00f0ff26}.tabs__tab:focus-visible,.swatch:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.profile{grid-template-columns:160px 1fr;align-items:start;gap:8px 20px;display:grid}.profile__save{grid-column:1/-1;justify-self:center}.avatar-preview{background:radial-gradient(circle,#00f0ff1f,#0000 70%);border:1px solid #00f0ff33;border-radius:12px;width:160px;height:160px}.choices{border:none;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding:0;display:flex}.choices legend{width:100%}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;padding:0}.swatch[aria-pressed=true]{border-color:var(--color-text);box-shadow:0 0 12px}.profile-stats{grid-template-columns:repeat(4,1fr);gap:8px;margin:24px 0 8px;display:grid}.profile-stats__item{border:1px solid #00f0ff33;border-radius:10px;padding:10px 4px}.profile-stats dt{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);font-size:11px}.profile-stats dd{font-family:var(--font-display);margin:4px 0 0;font-size:22px;font-weight:700}.profile__footer{justify-content:center;gap:24px;display:flex}.link-button--danger{color:var(--color-danger)}.danger-zone{border:1px solid var(--color-danger);border-radius:10px;margin-top:16px;padding:14px;font-size:14px}.danger-zone__actions{justify-content:center;gap:10px;display:flex}.button--danger{border-color:var(--color-danger);background:#ff2e8826}@media (width<=520px){.profile{grid-template-columns:1fr;justify-items:center}.profile-stats{grid-template-columns:repeat(2,1fr)}}.menu__links{justify-content:center;gap:24px;display:flex}.podium{margin:8px 0 16px}.podium__scene{background:radial-gradient(at 50% 80%,#00f0ff26,#0000 70%);border-radius:12px;height:150px}.podium__labels{grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.podium__label{flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.podium__rank{font-family:var(--font-display);color:var(--color-muted);font-size:12px}.podium__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.podium__score{color:var(--color-muted);font-size:13px}.leaderboard{border-collapse:collapse;text-align:left;width:100%;margin:0 0 20px;font-size:14px}.leaderboard th{letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted);padding:0 8px 8px;font-size:11px;font-weight:400}.leaderboard td{border-top:1px solid #00f0ff1f;padding:8px}.leaderboard th:last-child,.leaderboard__value{text-align:right}.leaderboard__rank{width:2.5em;font-family:var(--font-display);color:var(--color-muted)}.leaderboard__row--local td{background:#00f0ff14}.leaderboard__detail{color:var(--color-muted);font-size:12px}.history{max-height:180px;margin:0 0 16px;padding:0;font-size:14px;list-style:none;overflow-y:auto}.history__row{text-align:left;border-top:1px solid #00f0ff1f;grid-template-columns:1fr 3em 3em 3em auto;align-items:center;gap:8px;padding:6px 4px;display:grid}.history__date{color:var(--color-muted)}.history__rank--win{color:var(--color-accent);font-weight:700}.history__note{color:var(--color-muted);font-size:12px}.pause-button{background:var(--color-panel);width:40px;height:40px;color:var(--color-text);letter-spacing:-.1em;cursor:pointer;pointer-events:auto;border:1px solid #00f0ff59;border-radius:10px;font-size:12px;position:absolute;top:20px;right:24px}.pause-button:hover{border-color:var(--color-accent)}.overlay{z-index:2;pointer-events:auto;background:#05060f8c;position:absolute;inset:0}.overlay .panel{max-height:calc(100vh - 32px);overflow-y:auto}.scores-overlay{z-index:1}.settings{text-align:left;margin:20px 0 24px}.settings__row{grid-template-columns:9em 1fr;align-items:center;gap:12px;margin-bottom:14px;font-size:14px;display:grid}.settings__row--check{cursor:pointer;gap:10px;display:flex}.settings__row input[type=range]{width:100%;accent-color:var(--color-accent)}.settings__row input[type=checkbox],.settings__row input[type=radio]{width:18px;height:18px;accent-color:var(--color-accent);margin:0}.settings__group{border:none;margin:4px 0 14px;padding:0}.settings__group legend{letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:10px;font-size:12px}.lobby__add-bot{margin:-8px 0 16px}.scene-error{border:1px solid var(--color-danger);background:var(--color-panel);text-align:center;border-radius:10px;max-width:min(600px,100vw - 32px);margin:0;padding:10px 16px;font-size:14px;position:fixed;top:16px;left:50%;transform:translate(-50%)}.link-button:focus-visible,.icon-button:focus-visible,.pause-button:focus-visible,.settings input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.reduce-effects *,.reduce-effects :before,.reduce-effects :after{transition-duration:10ms!important;animation-duration:10ms!important;animation-iteration-count:1!important}@media (width<=1100px){.chat{width:min(280px,100vw - 48px)}}
