:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--text:#d9b84a;--text-h:#ffe680;--bg:#000;--border:#ffcc002e;--code-bg:#ffcc0014;--accent:#fc0;--accent-soft:#fa0;--accent-bg:#ffcc001a;--accent-border:#ffcc0073;--accent-dim:#ffcc0047;--social-bg:#ffcc000f;--panel-bg:#000000b8;--panel-bg-strong:#000000e0;--danger:#ff6a3d;--shadow:#000000bf 0 20px 40px -10px, #0000008c 0 8px 18px -8px;--surface-app:#000;--surface-overlay:#000000d1;--surface-panel-control:#000000c7;--surface-input:#000000b3;--surface-card:#000000a6;--surface-consent:#0a0800f7;--text-body:#ffffffd1;--text-muted:#ffffff73;--text-faint:#ffffff4d;--glow-primary:#ffcc0080;--glow-primary-strong:#ffcc00b3;--glow-amber:#ff993380;--matrix-yellow:#fc0;--matrix-yellow-lead:#fff2a8;--matrix-yellow-deep:#b58900;--matrix-amber:#f93;--glyph-font:"Noto Sans Egyptian Hieroglyphs", "Segoe UI Historic", serif;--sans:"Rajdhani", Inter, system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Cinzel", "Rajdhani", Inter, system-ui, serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}#root{box-sizing:border-box;flex-direction:column;height:100%;display:flex}html,body{overscroll-behavior:none;touch-action:manipulation;background:var(--bg);width:100%;height:100%;color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;position:fixed;top:0;left:0;overflow:hidden}canvas{touch-action:manipulation}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:700}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent;appearance:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:focus:not(:focus-visible){outline:none}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}.turn-log{display:none;display:none!important}@media (width<=768px){.turn-log{z-index:1;background:var(--surface-overlay);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #ffcc0038;border-radius:16px;margin:0 10px 10px;display:block;position:relative;overflow:hidden}}@media (width>=769px){.turn-log{-webkit-backdrop-filter:blur(12px);z-index:5;background:#000000d9;border:1px solid #ffcc001f;border-radius:12px;width:240px;margin:0;padding:16px 12px;display:block;position:fixed;top:64px;bottom:16px;right:16px;overflow-y:auto}.turn-log__toggle{display:none}.turn-log__body{max-height:none;overflow:visible;display:block!important}.turn-log__title{letter-spacing:.15em;color:#ffcc0080;background:#000000e6;padding:8px 0;font-size:11px;position:sticky;top:0}}.turn-log__toggle{color:#ffcc008c;letter-spacing:.16em;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:11px 16px;font-size:11px;font-weight:700;transition:color .12s}.turn-log__toggle:hover{color:#ffcc00e6}.turn-log__body{overscroll-behavior:contain;flex-direction:column;gap:10px;max-height:240px;padding:0 10px 12px;display:flex;overflow-y:auto}.tl-turn{flex-direction:column;gap:4px;display:flex}.tl-turn__header{letter-spacing:.2em;text-transform:uppercase;color:#ffcc008c;border-bottom:1px solid #ffcc001a;padding-bottom:2px;font-size:10px;font-weight:800}.tl-idle{color:#ffcc0059;padding:2px 0;font-size:11px;font-style:italic}.tl-row{border-radius:10px;flex-wrap:wrap;align-items:center;gap:5px;padding:5px 8px;font-size:12px;line-height:1.4;display:flex}.tl-row--you{background:#ffcc0014;border:1px solid #ffcc002e}.tl-row--opp{background:#ff993314;border:1px solid #f933}.tl-who{letter-spacing:.14em;text-transform:uppercase;border-radius:5px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:900}.tl-who--you{color:#fff2a8;background:#ffcc0038}.tl-who--opp{color:#ffc78a;background:#ff993338}.tl-piece{flex-shrink:0;font-size:14px}.tl-coords{color:#fff2a8d9;letter-spacing:.04em;flex-shrink:0;font-size:12px;font-weight:700}.tl-element{color:#ffe680e6;flex-shrink:0;font-size:11px}.tl-result{white-space:nowrap;margin-left:auto;font-size:11px;font-weight:700}.tl-result--ok{color:#fc06}.tl-result--bounce{color:#ffb347}.tl-result--win{color:#fff2a8;text-shadow:0 0 8px #fff2a873}.tl-result--lost{color:#ff6a3d}*{-webkit-user-select:none;user-select:none}.turn-log,.turn-log *{-webkit-user-select:text;user-select:text}.app-shell{pointer-events:none;color:var(--text-h);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);box-sizing:border-box;background:0 0;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.app-shell>*{z-index:1;pointer-events:auto;position:relative}.app-shell>.matrix-rain{z-index:0}.game-statusbar,.turn-panel,.lobby-card,.duel-modal,.result-screen__card{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.game-statusbar{border-bottom:1px solid var(--accent-border);background:var(--surface-overlay);flex-shrink:0;align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.game-statusbar__brand{font-family:var(--heading);letter-spacing:.22em;text-transform:uppercase;color:var(--matrix-yellow);text-shadow:0 0 10px var(--glow-primary);white-space:nowrap;flex-shrink:0;font-size:18px;font-weight:700}.game-statusbar__sep{background:var(--accent-dim);flex-shrink:0;width:1px;height:16px}.game-statusbar__fullscreen{width:36px;height:36px;color:var(--matrix-yellow);cursor:pointer;opacity:.8;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:18px;transition:opacity .12s,text-shadow .12s;display:flex}.game-statusbar__fullscreen:hover{opacity:1;text-shadow:0 0 8px var(--matrix-yellow)}.game-statusbar__info{letter-spacing:.14em;text-transform:uppercase;color:var(--text-body);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.game-statusbar__info strong{color:var(--matrix-yellow-lead);text-shadow:0 0 6px #ffcc0073;font-size:18px;font-weight:800}.play-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:12px 18px 8px;display:flex;position:relative;overflow:hidden}.error-banner{z-index:1;color:#ffcdb4;background:var(--surface-overlay);border:1px solid #ff6a3d80;border-radius:16px;margin:0 20px;padding:12px 16px;position:relative;box-shadow:0 0 22px #ff6a3d2e}.turn-panel{border:1px solid var(--accent-border);background:var(--panel-bg);border-radius:24px;flex-direction:column;flex-shrink:0;gap:14px;margin:0 20px 28px;padding:18px 20px;display:flex;box-shadow:0 18px 42px #0000008c,0 0 24px #ffcc0014,inset 0 1px #ffcc000f}.turn-panel__row{grid-template-columns:repeat(4,1fr);gap:8px;width:100%;display:grid}.turn-panel__card{border:1px solid var(--accent-dim);min-height:72px;color:var(--matrix-yellow-lead);letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 6px #000000e6,0 0 10px #000000b3;cursor:pointer;border-radius:12px;padding:0 8px;font-size:28px;font-weight:800;transition:transform .12s,box-shadow .12s,opacity .12s}@media (width>=768px){.turn-panel__card{font-size:32px}}.turn-panel__card:hover:not(:disabled){transform:translateY(-2px)}.turn-panel__card:disabled{cursor:not-allowed}.turn-panel__card--assigned{box-shadow:0 0 0 2px var(--matrix-yellow), 0 0 22px #ffcc0047}.turn-panel__card--pending{box-shadow:0 0 0 2px var(--matrix-yellow-lead), 0 0 22px #fff2a861}.element-card{position:relative}.element-card--pending{opacity:.65;box-shadow:inset 0 0 0 2px #ffcc00e6}.element-card--consumed{opacity:.28;filter:grayscale(70%);cursor:not-allowed;pointer-events:none}.element-card__x{pointer-events:none;z-index:2;font-size:18px;font-weight:900;line-height:1;position:absolute;top:6px;right:10px}.element-card__x--pending{color:#ffdc00;text-shadow:0 0 8px #ffdc00cc}.element-card__x--consumed{color:#ff321e;text-shadow:0 0 8px #ff321ecc}.turn-panel__meta{flex-wrap:wrap;gap:12px;display:flex}.turn-panel__pill{min-height:32px;color:var(--matrix-yellow);border:1px solid var(--accent-dim);background:#0000008c;border-radius:999px;align-items:center;padding:0 12px;font-size:12px;display:inline-flex}.turn-panel__pill--accent{color:var(--matrix-yellow-lead);border-color:var(--accent-border);box-shadow:0 0 12px #fc03}.turn-panel__actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.turn-panel__status{color:var(--matrix-yellow);font-size:14px}.cta-button{border:1px solid var(--accent-border);background:var(--surface-panel-control);min-height:46px;color:var(--matrix-yellow-lead);font-family:var(--heading);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-shadow:0 0 8px #ffcc0073;border-radius:16px;padding:0 20px;font-size:15px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s,color .12s;box-shadow:0 0 18px #ffcc001f,inset 0 0 0 1px #ffcc0014}.cta-button:hover{box-shadow:0 0 26px #ffcc0047, inset 0 0 0 1px var(--matrix-yellow);background:#ffcc0014;transform:translateY(-2px)}.cta-button--ready{color:#1a0f00;border-color:var(--matrix-yellow);text-shadow:none;background:linear-gradient(135deg,#ffcc00e6,#ff9933e6);box-shadow:0 0 28px #ffcc0080}.cta-button--ready:hover{color:#120a00;background:linear-gradient(135deg,#ffe680,#ffb252)}.cta-button--secondary{border-color:var(--accent-dim);color:var(--matrix-yellow);background:#000000b8;box-shadow:0 0 16px #ffcc001a}.cta-button--share{color:#ffffff8c;box-shadow:none;background:#0000008c;border-color:#ffffff24;font-size:13px}.cta-button--share:hover{color:#ffffffd1;box-shadow:none;background:#ffffff0d;border-color:#ffffff47}.lobby-screen,.result-screen,.duel-overlay{z-index:1;flex:1;justify-content:center;align-items:center;padding:28px;display:flex;position:relative}.lobby-card,.result-screen__card,.duel-modal{border:1px solid var(--accent-border);background:var(--panel-bg-strong);border-radius:28px;width:min(100%,560px);padding:32px;box-shadow:0 30px 70px #0009,0 0 42px #ffcc0024,inset 0 1px #ffcc0014}.lobby-card__eyebrow,.result-screen__eyebrow,.duel-modal__eyebrow{font-family:var(--heading);letter-spacing:.26em;text-transform:uppercase;color:var(--matrix-yellow);text-shadow:0 0 10px #fc06;font-size:12px}.lobby-card__title,.result-screen__title,.duel-modal__title{font-family:var(--heading);letter-spacing:-.02em;color:var(--matrix-yellow-lead);text-shadow:0 0 18px #ffcc0073,0 0 44px #fc03;margin:10px 0 8px;font-size:clamp(34px,5vw,56px);line-height:.95}.lobby-card__subtitle,.result-screen__subtitle,.duel-modal__subtitle{color:#ffcc00b8;line-height:1.5}.lobby-card__controls,.lobby-card__actions,.result-screen__actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.lobby-input{border:1px solid var(--accent-dim);background:var(--surface-input);width:100%;min-height:52px;color:var(--matrix-yellow-lead);letter-spacing:.12em;box-sizing:border-box;border-radius:16px;padding:0 16px;font-size:16px;transition:border-color .12s,box-shadow .12s}.lobby-input:focus{border-color:var(--matrix-yellow);outline:none;box-shadow:0 0 18px #ffcc004d}.lobby-input::placeholder{color:var(--accent-dim)}.lobby-card__note,.result-screen__feedback,.duel-modal__waiting{color:#ffcc008c;margin-top:14px;font-size:14px}.duel-overlay{z-index:10;background:radial-gradient(circle,#ffcc0014,#0000 50%),#000000e0;position:fixed;inset:0}.duel-modal{animation:.22s cubic-bezier(.22,1,.36,1) modalRise}.duel-modal__versus{justify-content:center;gap:16px;margin:22px 0;display:flex}.duel-modal__piece{text-align:center;border:1px solid var(--accent-dim);background:#000000b3;border-radius:20px;min-width:108px;padding:16px}.duel-modal__piece--yours{border-color:var(--matrix-yellow);box-shadow:0 0 22px #ffcc0059}.duel-modal__piece--opponent{border-color:#ff99338c;box-shadow:0 0 22px #ff99334d}.duel-modal__piece-label{letter-spacing:.14em;text-transform:uppercase;color:var(--matrix-yellow-lead);margin-top:6px;font-weight:800;display:block}.duel-modal__actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.cta-button--fight{color:#1a0800;text-shadow:none;background:linear-gradient(135deg,#ff9933f2,#ff6a3de6);border-color:#ff9933e6;box-shadow:0 0 26px #ff993373}.cta-button--fight:hover{background:linear-gradient(135deg,#ffb866,#ff8a58)}.cta-button--dodge{color:var(--matrix-yellow);border-color:var(--matrix-yellow);background:#000000c7;box-shadow:0 0 22px #ffcc004d}.cta-button--dodge:hover{background:#ffcc0014}.result-screen__card{text-align:center;animation:.22s cubic-bezier(.22,1,.36,1) modalRise}.result-screen__title--win{color:var(--matrix-yellow-lead);text-shadow:0 0 28px #fc09,0 0 56px #ffcc0040}.result-screen__title--lose{color:#ffb386;text-shadow:0 0 28px #ff6a3d73}.result-screen__room{background:var(--surface-card);border:1px solid var(--accent-dim);border-radius:20px;margin-top:20px;padding:16px 20px}.result-screen__room-label{color:#ffcc008c;text-transform:uppercase;letter-spacing:.18em;font-size:12px}.result-screen__room-code{color:var(--matrix-yellow-lead);font-family:var(--mono);letter-spacing:.22em;text-shadow:0 0 14px #ffcc0059;margin-top:8px;font-size:28px;font-weight:800}.result-screen__feedback{color:var(--matrix-yellow)}.card-fire{background:linear-gradient(135deg,#1a0600,#3a0c00,#ff5a1f);box-shadow:0 0 12px #ff5a1e73}.card-water{background:linear-gradient(135deg,#00141a,#003a4a,#25b2c9);box-shadow:0 0 12px #25b2c973}.card-earth{background:linear-gradient(135deg,#0a1400,#1a3a00,#6ab025);box-shadow:0 0 12px #6ab02573}.card-air{background:linear-gradient(135deg,#12121a,#2a2a38,#8a8aa0);box-shadow:0 0 12px #b4b4c866}@keyframes modalRise{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=480px){.play-stage{padding:4px 8px 0}}@media (width<=640px){.play-stage{padding:8px 6px 10px}.turn-panel{margin:0 10px 12px;padding:16px}.lobby-screen,.result-screen,.duel-overlay{padding:16px}.lobby-card,.result-screen__card,.duel-modal{padding:24px 18px}}@media (prefers-reduced-motion:reduce){.cta-button,.turn-panel__card,.duel-modal,.result-screen__card{transition:none!important;animation:none!important}}.game-statusbar__countdown--urgent{color:#f42;text-shadow:0 0 10px #f42c;animation:.5s ease-in-out infinite alternate countdownPulse}@keyframes countdownPulse{0%{opacity:1}to{opacity:.55}}.round-banner-overlay{pointer-events:none;z-index:8;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.round-banner{font-family:var(--heading);letter-spacing:.18em;text-transform:uppercase;color:var(--matrix-yellow-lead);text-shadow:0 0 18px #ffcc00b3,0 0 48px #ffcc0059,0 0 80px #ffcc0026;will-change:transform, opacity;font-size:clamp(42px,9vw,88px);font-weight:700}.round-banner--intro{animation:2.2s cubic-bezier(.22,1,.36,1) forwards bannerIntro}@keyframes bannerIntro{0%{opacity:0;transform:scale(.4)translateY(40px)}18%{opacity:1;transform:scale(1.08)translateY(0)}28%{opacity:1;transform:scale(1)translateY(0)}72%{opacity:1;transform:scale(1)translateY(0)}88%{opacity:1;transform:scale(1.04)translateY(-8px)}to{opacity:0;transform:scale(.35)translateY(-60px)}}.round-banner--resolving{letter-spacing:.22em;color:#f93;text-shadow:0 0 14px #ff9933bf,0 0 38px #ff993359;font-size:clamp(26px,5.5vw,56px);animation:1.8s cubic-bezier(.22,1,.36,1) forwards bannerResolving}@keyframes bannerResolving{0%{opacity:0;filter:brightness(2.2);transform:scale(1.6)}14%{opacity:1;filter:brightness(1.3);transform:scale(1)}55%{opacity:1;filter:brightness();transform:scale(1)}to{opacity:0;filter:brightness(.8);transform:scale(.88)translateY(8px)}}.round-banner--clash{letter-spacing:.14em;color:#fc0;text-shadow:0 0 12px #fc09,0 0 32px #ffcc0040;flex-direction:column;align-items:center;gap:.3em;font-size:clamp(18px,3.5vw,36px);animation:.6s cubic-bezier(.22,1,.36,1) forwards bannerClash;display:flex}.round-banner__clash-line{letter-spacing:.2em;font-size:1.4em}.round-banner__clash-line--eliminated{color:#f44;text-shadow:0 0 14px #ff4444b3;font-size:1.1em}@keyframes bannerClash{0%{opacity:0;transform:scale(.7)}20%{opacity:1;transform:scale(1.05)}35%{opacity:1;transform:scale(1)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.round-banner--intro,.round-banner--resolving,.round-banner--clash,.game-statusbar__countdown--urgent{opacity:1;transform:none;animation:none!important}}.throne-progress{border:1px solid var(--accent-dim);background:#0009;border-radius:12px;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;margin:8px 20px 4px;padding:8px 16px;display:flex}.throne-progress--yours{border-color:#ffcc0073;box-shadow:0 0 14px #ffcc0024}.throne-progress--theirs{border-color:#ff993361;box-shadow:0 0 14px #ff99331f}.throne-progress--open{opacity:.55;border-color:#ffcc0026}.throne-progress__label{font-family:var(--heading);letter-spacing:.22em;text-transform:uppercase;color:#ffcc00a6;white-space:nowrap;font-size:10px;font-weight:700}.throne-progress--theirs .throne-progress__label{color:#ff9933bf}.throne-progress__pips{gap:6px;display:flex}.throne-progress__pip{background:#ffcc001f;border:1px solid #ffcc0038;border-radius:4px;width:20px;height:8px;transition:background .22s,box-shadow .22s}.throne-progress__pip--filled{background:var(--matrix-yellow);box-shadow:0 0 8px #ffcc00b3}.throne-progress--theirs .throne-progress__pip--filled{background:#f93;box-shadow:0 0 8px #ff9933b3}.throne-progress__frac{font-family:var(--mono);color:var(--matrix-yellow);white-space:nowrap;font-size:12px;font-weight:700}.throne-progress--theirs .throne-progress__frac{color:#f93}.install-prompt{z-index:2;background:#000000e6;border-bottom:1px solid #ffcc004d;flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex;position:relative;box-shadow:0 2px 12px #ffcc001a}.install-prompt__text{color:#fc0c;letter-spacing:.04em;flex:1;font-size:13px;font-weight:600}.install-prompt__btn{border:1px solid var(--matrix-yellow);color:var(--matrix-yellow-lead);letter-spacing:.08em;cursor:pointer;white-space:nowrap;background:#ffcc001f;border-radius:10px;padding:6px 14px;font-size:13px;font-weight:700;transition:background .12s}.install-prompt__btn:hover{background:#ffcc0038}.install-prompt__close{color:#ffcc0073;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:20px;display:flex}.install-prompt__close:hover{color:var(--matrix-yellow)}.duel-modal__locked{flex-direction:column;align-items:center;gap:10px;padding:18px 0 8px;display:flex}.duel-modal__locked-icon{font-size:32px;animation:1.4s ease-in-out infinite alternate lockPulse}@keyframes lockPulse{0%{opacity:.7;transform:scale(.95)}to{opacity:1;transform:scale(1.08)}}.duel-modal__vs-separator{font-family:var(--heading);letter-spacing:.18em;color:#ffcc0073;align-items:center;font-size:14px;font-weight:700;display:flex}.duel-modal__piece-numeral{font-family:var(--heading);color:var(--matrix-yellow-lead);text-shadow:0 0 12px #ffcc0073;margin-bottom:4px;font-size:28px;font-weight:700;display:block}.duel-modal__piece--opponent .duel-modal__piece-numeral{color:#ffb386;text-shadow:0 0 12px #ff6a3d73}.result-stats{border:1px solid var(--accent-dim);background:var(--panel-bg);border-radius:16px;margin-top:18px;overflow:hidden}.result-stats__row{border-bottom:1px solid #ffcc001a;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.result-stats__row:last-child{border-bottom:none}.result-stats__label{letter-spacing:.14em;text-transform:uppercase;color:#ffcc008c;font-size:12px;font-weight:600}.result-stats__value{font-family:var(--heading);color:var(--matrix-yellow-lead);font-size:15px;font-weight:700}.result-stats__value--elements{gap:6px;font-family:inherit;font-size:18px;display:flex}.result-stats__element{border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;display:inline-flex}.result-stats__value--mode{letter-spacing:.18em;color:#ffcc00a6;font-size:11px}.result-stats__row--mode{background:#ffcc000a}.result-challenge{margin-top:10px}.cta-button--challenge{color:#ffcc00bf;width:100%;box-shadow:none;background:#000000b8;border-color:#ffcc004d;font-size:13px}.cta-button--challenge:hover{border-color:var(--accent-border);color:var(--matrix-yellow-lead);background:#ffcc000f}.result-proof{background:var(--panel-bg);border:1px solid #ffcc0024;border-radius:12px;margin-top:14px;padding:10px 14px}.result-proof__toggle{cursor:pointer;color:#ffcc0080;letter-spacing:.06em;text-align:left;background:0 0;border:none;width:100%;padding:0;font-size:12px;transition:color .12s}.result-proof__toggle:hover{color:#fc0c}.result-proof__toggle code{font-family:var(--mono);color:var(--matrix-yellow);background:#ffcc0014;border-radius:4px;padding:1px 5px;font-size:12px}.result-proof__id{color:#fc06;margin-top:6px;font-size:11px}.result-proof__id code{color:#fc09;font-size:11px}.lobby-modes{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.lobby-mode-btn{border:1px solid var(--accent-dim);color:#ffcc00a6;font-family:var(--heading);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#000000a6;border-radius:10px;padding:7px 14px;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s}.lobby-mode-btn:hover:not(:disabled){color:var(--matrix-yellow-lead);border-color:var(--accent-border);background:#ffcc0014}.lobby-mode-btn--active{border-color:var(--matrix-yellow);color:var(--matrix-yellow-lead);background:#ffcc001f;box-shadow:0 0 14px #fc03}.lobby-mode-btn--locked{opacity:.38;cursor:not-allowed}.lobby-mode-desc{color:#ffcc008c;min-height:2em;margin-top:10px;font-size:13px;line-height:1.5}.lobby-card__affiliate{background:#ffcc000f;border:1px solid #ffcc004d;border-radius:999px;align-items:center;gap:8px;margin-top:14px;padding:6px 14px;display:inline-flex}.lobby-card__affiliate-label{letter-spacing:.14em;text-transform:uppercase;color:#ffcc0080;font-size:11px;font-weight:600}.lobby-card__affiliate-code{font-family:var(--heading);letter-spacing:.1em;color:var(--matrix-yellow-lead);font-size:13px;font-weight:700}.lobby-mode-coming-soon{display:inline-block;position:relative}.lobby-mode-btn--coming-soon{opacity:.55;cursor:default;border-style:dashed}.lobby-mode-btn--coming-soon:hover{color:#ffcc008c;background:0 0;border-color:#ffcc004d}.lobby-coming-soon-tip{letter-spacing:.08em;text-transform:uppercase;color:#ffcc00bf;white-space:nowrap;pointer-events:none;z-index:100;background:#000000e0;border:1px solid #ffcc0040;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}@keyframes barUrgentFlash{0%,to{opacity:1}50%{opacity:.45}}@keyframes modalUrgentPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes labelUrgentPop{0%,to{transform:scale(1)}50%{transform:scale(1.18)}}.duel-modal__countdown{background:#ffcc001f;border-radius:3px;height:6px;margin:14px 0 6px;position:relative;overflow:hidden}.duel-modal__countdown-bar{background:#ffcc00bf;border-radius:3px;height:100%;transition:width .1s linear,background .4s;box-shadow:0 0 6px #fc06}.duel-modal__countdown-bar--urgent{background:#ff3723e6;animation:.6s ease-in-out infinite barUrgentFlash;box-shadow:0 0 12px #ff3723b3}.duel-modal{overflow:visible}.duel-modal:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;will-change:opacity;position:absolute;inset:0;box-shadow:0 0 38px #ff3c28bf,inset 0 0 0 1px #ff3c288c}.duel-modal:has(.duel-modal__countdown-bar--urgent):after{animation:.6s ease-in-out infinite modalUrgentPulse}.duel-modal__countdown-label{letter-spacing:.08em;color:#ffcc00a6;font-size:11px;font-weight:700;transition:color .3s;position:absolute;top:8px;right:0}.duel-modal__countdown-label--urgent{color:#ff5a46;animation:.6s ease-in-out infinite labelUrgentPop}@media (prefers-reduced-motion:reduce){.duel-modal__countdown-bar--urgent,.duel-modal__countdown-label--urgent{animation:none!important}.duel-modal:has(.duel-modal__countdown-bar--urgent):after{animation:none!important}}.emote-bar{opacity:1;justify-content:center;gap:8px;padding:6px 0 2px;transition:opacity .3s;display:flex}.emote-bar--cooldown{opacity:.45}.emote-bar__btn{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#0000008c;border:1px solid #ffcc002e;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;line-height:1;transition:transform .12s,background .15s;display:flex}.emote-bar__btn:active:not(:disabled){background:#ffcc001a;transform:scale(.88)}.emote-bar__btn:disabled{cursor:default}.emote-bubbles{pointer-events:none;z-index:60;flex-direction:column;gap:8px;display:flex;position:absolute}.emote-bubbles--opponent{top:60px;right:16px}.emote-bubbles--self{bottom:150px;right:16px}.emote-bubble{font-size:32px;line-height:1;animation:2.5s ease-out forwards emotePop}@keyframes emotePop{0%{opacity:0;transform:scale(.5)translateY(8px)}12%{opacity:1;transform:scale(1.18)translateY(0)}30%{opacity:1;transform:scale(1)translateY(0)}80%{opacity:1;transform:scale(1)translateY(-8px)}to{opacity:0;transform:scale(.9)translateY(-16px)}}@media (prefers-reduced-motion:reduce){.emote-bubble{animation:none}}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-110%)}to{opacity:1;transform:translateY(0)}}.disconnect-banner{top:env(safe-area-inset-top,0px);z-index:120;background:var(--surface-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #ffa02866;align-items:center;gap:10px;padding:10px 16px;font-family:inherit;font-size:13px;animation:.3s ease-out bannerSlideIn;display:flex;position:fixed;left:0;right:0;box-shadow:0 2px 16px #ff780040}.disconnect-banner__icon{color:#ffb428f2;flex-shrink:0;font-size:16px}.disconnect-banner__text{color:#ffdc96e6;letter-spacing:.02em;flex:1}.disconnect-banner__leave{color:#ff6450e6;letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #ff503c8c;border-radius:4px;flex-shrink:0;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:background .2s,border-color .2s}.disconnect-banner__leave:hover,.disconnect-banner__leave:focus-visible{background:#ff3c2826;border-color:#ff503cd9;outline:none}.disconnect-banner__grace{color:#ff643ce6;font-weight:700}@media (prefers-reduced-motion:reduce){.disconnect-banner{animation:none}}.consent-banner{background:var(--surface-consent);padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom));z-index:500;border-top:1px solid #ffcc0040;flex-direction:column;gap:10px;max-width:480px;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.consent-banner__text{color:var(--text-body);margin:0;font-size:12px;line-height:1.5}.consent-banner__more{color:#ffcc00b3;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:12px;text-decoration:underline}.consent-banner__note{color:var(--text-muted);border-left:2px solid #fc03;margin:0;padding:8px 12px;font-size:11px;line-height:1.6}.consent-banner__accept{align-self:flex-start;padding:10px 20px;font-size:13px}.fullscreen-gate{background:var(--surface-app);z-index:1000;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.fullscreen-gate__content{text-align:center;flex-direction:column;align-items:center;gap:20px;max-width:320px;display:flex}.fullscreen-gate__logo{letter-spacing:.25em;color:#ffcc0080;font-size:13px;font-weight:700}.fullscreen-gate__heading{color:#fc0;letter-spacing:.08em;margin:0;font-size:22px;font-weight:700}.fullscreen-gate__desc{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.fullscreen-gate__join{letter-spacing:.12em;width:100%;padding:16px;font-size:16px;font-weight:700}.fullscreen-gate__bypass{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:8px;font-family:inherit;font-size:12px;text-decoration:underline}.fullscreen-gate__bypass:hover{color:var(--text-muted)}.result-screen{background:var(--surface-app)}.turn-panel__fullscreen{color:#ffcc0073;letter-spacing:.1em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #fc03;border-radius:6px;width:100%;padding:6px 16px;font-family:inherit;font-size:11px;font-weight:700;transition:color .12s,border-color .12s}.turn-panel__fullscreen:hover,.turn-panel__fullscreen:active{color:#fc0c;border-color:#ffcc0073}.turn-panel__action-row{min-height:46px;display:flex}.cta-button--unready{color:#ffcc008c;letter-spacing:.12em;background:0 0;border:1px solid #ffcc0059;font-weight:700}.cta-button--unready:hover{color:#ffcc00d9;border-color:#ffcc00b3}.throne-progress__timer-inline{letter-spacing:.1em;color:#ffcc00e6;white-space:nowrap;background:#0006;border:1px solid #ffcc004d;border-radius:10px;flex-shrink:0;align-items:center;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:700;display:inline-flex}.throne-progress__timer-inline--urgent{color:#ff3c28;border-color:#ff3c28b3;animation:.6s ease-in-out infinite countdownPulse}@media (width>=769px){.throne-progress__timer-inline{letter-spacing:.15em;border-width:2px;border-radius:20px;padding:4px 20px;font-size:28px}}.floating-timer{letter-spacing:.15em;color:#ffcc00f2;text-align:center;pointer-events:none;-webkit-backdrop-filter:blur(12px);z-index:10;white-space:nowrap;background:#000000eb;border:1.5px solid #ffcc008c;border-radius:32px;min-width:110px;padding:10px 32px;font-size:26px;font-weight:800;position:absolute;top:-44px;left:50%;transform:translate(-50%);box-shadow:0 0 24px #fc03,inset 0 0 0 1px #ffcc001a}.floating-timer--urgent{color:#ff3c28;border-color:#ff3c28d9;animation:.6s ease-in-out infinite countdownPulse;box-shadow:0 0 32px #ff3c2859,inset 0 0 0 1px #ff3c2826}@media (width>=769px){.floating-timer{letter-spacing:.2em;border-width:2px;border-radius:40px;min-width:180px;padding:14px 48px;font-size:42px;top:-60px}.floating-timer--urgent{box-shadow:0 0 48px #ff3c2880,inset 0 0 0 1px #ff3c2833}}.resolution-overlay{z-index:90;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#000000d1;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.resolution-overlay__content{flex-direction:column;align-items:center;gap:20px;width:100%;max-width:360px;padding:24px 20px;display:flex}.resolution-overlay__title{font-family:var(--heading);letter-spacing:.2em;text-transform:uppercase;color:#f93;text-shadow:0 0 16px #ff9933b3,0 0 36px #ff993359;font-size:clamp(26px,6vw,46px);font-weight:700}.resolution-overlay__dot{opacity:0;animation:1.2s ease-in-out infinite dotFade}.resolution-overlay__dot--1{animation-delay:0s}.resolution-overlay__dot--2{animation-delay:.4s}.resolution-overlay__dot--3{animation-delay:.8s}@keyframes dotFade{0%,60%,to{opacity:0}20%{opacity:1}}.resolution-overlay__cards{flex-direction:column;gap:12px;width:100%;display:flex}.resolution-duel-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000c7;border:1px solid #ffcc0038;border-radius:16px;align-items:center;gap:12px;min-height:72px;padding:14px 16px;animation:.3s cubic-bezier(.22,1,.36,1) forwards cardSlideIn;display:flex}.resolution-duel-card--exit{animation:.2s forwards cardFadeOut}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes cardFadeOut{0%{opacity:1}to{opacity:0}}.resolution-duel-card__side{flex-direction:column;flex:1;align-items:center;gap:3px;min-width:44px;display:flex}.resolution-duel-card__side--mine{color:var(--matrix-yellow-lead)}.resolution-duel-card__side--theirs{color:#ff9933e6}.resolution-duel-card__icon{font-size:24px;line-height:1}.resolution-duel-card__elem{font-family:var(--heading);letter-spacing:.14em;text-transform:uppercase;opacity:.7;font-size:9px;font-weight:700}.resolution-duel-card__label{font-family:var(--heading);letter-spacing:.18em;text-transform:uppercase;opacity:.45;font-size:9px;font-weight:700}.resolution-duel-card__center{flex-direction:column;flex-shrink:0;align-items:center;gap:6px;display:flex}.resolution-duel-card__vs{font-family:var(--heading);letter-spacing:.18em;color:#fc06;font-size:13px;font-weight:700}.resolution-duel-card__result{font-family:var(--heading);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.resolution-overlay__moves-ok{font-family:var(--heading);letter-spacing:.14em;text-transform:uppercase;color:#ffcc008c;font-size:13px;font-weight:600;animation:.3s cubic-bezier(.22,1,.36,1) forwards cardSlideIn}.resolution-overlay__moves-ok--exit{animation:.2s forwards cardFadeOut}@media (prefers-reduced-motion:reduce){.resolution-overlay__dot,.resolution-duel-card,.resolution-duel-card--exit,.resolution-overlay__moves-ok,.resolution-overlay__moves-ok--exit{opacity:1;animation:none!important}}
