:root{color:#f4ead2;font-synthesis:none;text-rendering:optimizelegibility;--black:#0b0812;--purple:#2b1450;--purple-light:#4a2585;--lilac:#b9a0f2;--cream:#f4ead2;--red:#e5383b;--gold:#f6c33b;--display:Bungee, Impact, "Arial Black", sans-serif;background:#0b0812;font-family:Nunito,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 50% 35%, #f4ead21f, transparent 60%), radial-gradient(circle at 50% 110%, var(--purple), transparent 65%), var(--black);min-height:100vh;margin:0}button,input,textarea{font:inherit}button{touch-action:manipulation}button,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.2}p{line-height:1.5}svg{flex-shrink:0}.game-icon{width:1.75rem;height:1.75rem;display:block}.game-logo{filter:drop-shadow(0 6px #000);width:8rem;height:8rem;margin:0 auto 1.5rem;display:block}.character{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.page{width:min(100% - 3rem,1200px);margin:0 auto;padding:2rem 0}.eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .6rem;font-size:.8rem;font-weight:800}.account-bar{z-index:3;padding:max(.8rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) .8rem max(1.25rem, env(safe-area-inset-left));border-bottom:3px solid var(--lilac);background:linear-gradient(var(--purple), #1c0d36);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.brand,.brand-icons,.player-account{align-items:center;display:flex}.brand{color:var(--gold);font:1.5rem var(--display);gap:.5rem}.brand-icons{gap:.2rem}.brand-icons .game-icon{width:1.6rem;height:1.6rem}.player-account{flex-wrap:wrap;justify-content:flex-end;gap:1rem;min-width:0}.player-identity{overflow-wrap:anywhere;max-width:19rem;font-size:.9rem;font-weight:800}.account-bar .button-quiet{color:#ffb8b9;border:2px solid var(--red);min-height:2.75rem;box-shadow:none;padding:.4rem .8rem;font:800 .85rem Nunito,sans-serif}.wallet-button{border:2px solid var(--gold);min-height:2.75rem;color:var(--gold);background:var(--black);border-radius:99px;justify-content:center;align-items:center;gap:.4rem;padding:.3rem .8rem;font-weight:800;display:flex}.wallet-button>span:last-child{font-size:1.4rem}.wallet-control>.notice{z-index:4;width:min(30rem,100vw - 2rem);position:absolute;top:100%;right:1rem;box-shadow:0 5px #000}.account-error{padding:0}.home-page{isolation:isolate;flex-direction:column;justify-content:center;align-items:center;gap:2rem;width:100%;min-height:calc(100svh - 5rem);padding:3rem 1.25rem;display:flex;position:relative}.hero,.menu-actions{z-index:1;text-align:center;position:relative}.hero h1{letter-spacing:.02em;text-transform:uppercase;text-shadow:4px 4px 0 var(--purple-light), 8px 8px 0 #000;margin:0;font-size:clamp(3.6rem,8vw,6rem);line-height:.98}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:var(--gold);text-shadow:4px 4px 0 var(--red), 8px 8px 0 #000;font-style:normal}.hero-copy{color:var(--lilac);margin:1.3rem 0 0;font-size:.95rem}.menu-actions{gap:1rem;width:min(100%,360px);display:grid}.entry-rules{color:var(--lilac);margin:.35rem 0 0;font-size:.8rem}.menu-character{z-index:0;width:min(28%,400px);max-height:54vh;position:absolute;bottom:0}.menu-character-left{left:3%}.menu-character-right{max-height:58vh;right:3%}.button{border:3px solid var(--black);min-height:3.6rem;color:var(--black);font:.98rem var(--display);border-radius:1rem;justify-content:center;align-items:center;gap:.7rem;padding:.85rem 1.25rem;line-height:1.35;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:0 6px #000000b3}.button:not(:disabled):hover{transform:translateY(-3px)}.button:not(:disabled):active{transform:translateY(3px);box-shadow:0 2px #000}.button-primary{background:var(--gold)}.button-secondary{background:var(--lilac)}.button-cream{background:var(--cream)}.button-quiet{background:var(--black);color:var(--cream);border-color:var(--lilac);font:800 .9rem Nunito,sans-serif}.button-report{background:var(--cream);border-color:var(--red);color:#a5171a}.icon-button{border:2px solid var(--lilac);width:2.75rem;height:2.75rem;color:var(--cream);background:var(--black);border-radius:.75rem;flex:0 0 2.75rem;place-items:center;font-size:1.75rem;display:grid}.game-dialog{border:4px solid var(--lilac);width:min(32rem,100% - 2rem);max-height:calc(100dvh - 2rem);color:var(--cream);background:var(--purple);border-radius:1.4rem;padding:1.6rem;overflow:auto;box-shadow:0 10px #000}.game-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b0812cc}.dialog-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.dialog-heading h2{color:var(--gold);margin:0;font-size:1.4rem}.game-dialog>p,.wallet-card>p{color:var(--cream);font-size:.95rem}label{color:var(--cream);font-size:.9rem;font-weight:800;display:block}input,textarea{border:2px solid var(--lilac);width:100%;min-width:0;min-height:3.3rem;color:var(--cream);background:var(--black);border-radius:.8rem;padding:.8rem 1rem;display:block}textarea{resize:vertical;margin:.6rem 0 1rem;line-height:1.5}input::placeholder,textarea::placeholder{color:#a69bb9;opacity:1}.join-form,.auth-form,.recharge-form{gap:.8rem;display:grid}.join-form input{text-align:center;text-transform:uppercase;letter-spacing:.25em;font:1.7rem var(--display)}.wallet-balance{font:1.6rem var(--display);justify-content:center;align-items:center;gap:.7rem;display:flex}.wallet-balance .game-icon{width:2.5rem;height:2.5rem}.wallet-update{color:var(--lilac)!important;font-size:.8rem!important}.copy-control{margin-top:1rem}.copy-feedback{margin-bottom:0;font-size:.85rem}.notice{border:2px solid var(--black);text-align:left;overflow-wrap:anywhere;border-radius:.8rem;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding:.9rem 1rem;line-height:1.45;display:flex}.notice-error{color:#381015;background:#ffd9d5}.notice button{min-height:2.75rem;color:inherit;background:0 0;border:2px solid;border-radius:.5rem;padding:.35rem .6rem;font-weight:800}.notice-actions{flex:none;align-items:center;gap:.4rem;display:flex}.notice .notice-dismiss{width:2.75rem;padding:0;font-size:1.5rem}.recovery-page{place-items:center;min-height:100svh;display:grid}.entry-card{border:4px solid var(--lilac);background:var(--purple);border-radius:1.5rem;width:min(100%,32rem);padding:2rem;box-shadow:0 10px #000}.entry-card h1{color:var(--cream);text-shadow:3px 3px 0 var(--black);margin:0 0 1.5rem;font-size:clamp(1.5rem,5vw,2rem)}.auth-card>.eyebrow,.auth-card>h1{text-align:center}.auth-switch{width:100%;margin-top:1.25rem}.centered{text-align:center}.recovery-actions{gap:1rem;margin-top:1.5rem;display:grid}.room-page{min-height:calc(100svh - 5rem)}.room-header{justify-content:space-between;align-items:center;gap:1rem;max-width:1050px;margin:0 auto 1.25rem;display:flex}.room-header .eyebrow{margin-bottom:.25rem}.room-header h1{color:var(--cream);letter-spacing:.15em;margin:0;font-size:1.5rem}.share-hint{color:var(--lilac);margin:.35rem 0 0;font-size:.8rem}.scoreboard{grid-template-columns:1fr 1fr;gap:1rem;width:min(100%,600px);margin:1rem auto 1.5rem;display:grid}.player-card{border:2px solid var(--lilac);background:var(--black);border-radius:.8rem;justify-content:space-between;align-items:center;gap:.7rem;padding:.65rem 1rem;display:flex}.player-card-you{border-color:#459aff}.player-card p{margin:0 0 .15rem;font-weight:800}.player-card strong{color:var(--gold);font:1.8rem var(--display)}.status-dot{color:var(--lilac);font-size:.75rem}.status-dot:before{background:var(--lilac);content:"";border-radius:50%;width:.45rem;height:.45rem;margin-right:.4rem;display:inline-block}.status-ready:before{background:var(--gold)}.presence-status{color:var(--gold);font-size:.75rem;display:block}.connection-status{color:var(--gold);text-align:center}.arena{border:4px solid var(--cream);border-radius:1.1rem;max-width:1050px;margin:1.5rem auto 0;display:grid;position:relative;overflow:hidden;box-shadow:0 10px #000}.arena-panes,.waiting-overlay{grid-area:1/1;min-width:0}.arena-panes{flex-direction:column;display:flex}.fighter-pane{background:radial-gradient(ellipse at 50% 100%, var(--purple-light), var(--black) 75%);position:relative}.opponent-pane{align-items:center;min-height:215px;padding:2rem 6%;display:flex}.fighter-copy{z-index:1;max-width:50%;position:relative}.fighter-copy p{color:var(--lilac);font-size:.95rem}.fighter-tag{border:2px solid var(--cream);font:.85rem var(--display);border-radius:.5rem;padding:.35rem .8rem;display:inline-block}.opponent-tag{background:#a5171a}.local-tag{background:#135fb9}.opponent-pane .character{height:205px;position:absolute;bottom:0;right:16%}.arena-hud{z-index:1;border-block:3px solid var(--cream);background:var(--black);font:.85rem var(--display);flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.5rem;padding:.65rem 1rem;display:flex;position:relative}.pot{color:var(--gold);align-items:center;gap:.4rem;display:inline-flex}.pot .game-icon{width:1.4rem;height:1.4rem}.local-pane{flex:1;min-height:345px}.local-pane>.character{width:29%;max-height:300px;position:absolute;bottom:0;left:3%}.local-controls{z-index:1;text-align:center;width:65%;margin-left:auto;padding:1.5rem 1.5rem 2rem;position:relative}.local-controls h2{color:var(--cream);margin:1rem 0 .5rem;font-size:clamp(1.2rem,2.5vw,1.65rem)}.local-controls>p{color:var(--lilac);margin:.5rem 0;font-size:.85rem}.move-grid{justify-content:center;align-items:flex-start;gap:clamp(.8rem,3vw,2rem);margin:1.3rem 0 .75rem;padding-bottom:1.5rem;display:flex}.move-button{aspect-ratio:1;border:5px solid var(--move-color,var(--lilac));width:clamp(76px,9vw,100px);color:var(--cream);background:radial-gradient(circle at 35% 30%, var(--purple-light), var(--purple));box-shadow:0 7px 0 #000, 0 0 20px color-mix(in srgb, var(--move-color,var(--lilac)) 25%, transparent);border-radius:50%;place-items:center;padding:1rem;transition:transform .15s;display:grid;position:relative}.move-button .game-icon{width:100%;height:100%}.move-button>span{font-size:.8rem;font-weight:800;position:absolute;top:calc(100% + .7rem)}.move-button:not(:disabled):hover{transform:translateY(-6px)scale(1.04)}.move-paper{--move-color:var(--cream)}.move-scissors{--move-color:var(--gold)}.local-controls .action-status{color:var(--gold)}.waiting-overlay{z-index:2;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0b08128c;place-items:center;padding:2rem 1rem;display:grid}.waiting-card{border:4px solid var(--lilac);width:min(100%,470px);color:var(--cream);background:var(--purple);text-align:center;border-radius:1.4rem;padding:2rem;box-shadow:0 10px #000}.waiting-card h2{color:var(--gold);margin:.7rem 0;font-size:clamp(1.2rem,4vw,1.6rem)}.waiting-card>p:not(.eyebrow,.room-code){font-size:.9rem}.room-code{color:var(--black);background:var(--cream);font:clamp(1.4rem, 6vw, 2rem) var(--display);letter-spacing:.2em;-webkit-user-select:all;user-select:all;border-radius:.8rem;margin:.5rem 0;padding:.5rem 1rem;display:inline-block}.loader{border:6px solid var(--purple-light);border-top-color:var(--gold);border-radius:50%;width:3rem;height:3rem;margin:0 auto 1.2rem;animation:1s linear infinite spin}.leave-note{color:var(--lilac);text-align:center;margin:1.5rem 0 0;font-size:.8rem}.result-page{background:radial-gradient(#f4ead229 2px, transparent 3px) 0 0 / 38px 38px, radial-gradient(circle at 50% 40%, var(--purple-light), var(--purple) 65%, var(--black));width:100%;max-width:none;padding:1.5rem max(1.5rem,50% - 600px)}.result-win{background:radial-gradient(#f4ead229 2px,#0000 3px) 0 0/38px 38px,radial-gradient(circle at 50% 40%,#3bdc7a,#0f7a3a 65%,#06371a)}.result-loss{background:radial-gradient(#f4ead229 2px,#0000 3px) 0 0/38px 38px,radial-gradient(circle at 50% 40%,#f2585a,#a5171a 65%,#3d0709)}.result-page .share-hint,.result-page>.leave-note{color:var(--cream)}.result-stage{text-align:center;min-height:470px;padding:1.5rem 0 2rem;position:relative}.result-content{z-index:1;max-width:610px;margin:0 auto;position:relative}.result-panel h2{color:var(--cream);text-shadow:4px 4px #000,7px 7px #00000040;margin:.5rem 0;font-size:clamp(2.5rem,6vw,4.7rem)}.result-page .eyebrow{background:var(--black);border-radius:.4rem;padding:.25rem .6rem;display:table}.result-panel .eyebrow{margin-inline:auto}.result-panel>p:not(.eyebrow){background:#0b0812cc;border-radius:.5rem;padding:.4rem .75rem}.revealed-moves{justify-content:center;gap:4rem;margin:1.5rem auto;display:flex;position:relative}.revealed-choice{flex-direction:column;align-items:center;gap:.5rem;width:10rem;display:flex}.revealed-choice>span{background:var(--black);border-radius:99px;padding:.2rem .6rem;font-size:.85rem;font-weight:800}.revealed-choice .game-icon{border:3px solid var(--cream);background:var(--black);border-radius:50%;width:5rem;height:5rem;padding:.65rem}.revealed-choice strong{text-transform:capitalize;background:var(--black);border-radius:.4rem;padding:.1rem .5rem;font-size:.9rem}.versus{font:1.2rem var(--display);text-shadow:2px 2px 0 var(--black);position:absolute;top:3.4rem;left:50%;transform:translate(-50%)}.prize{border:3px solid var(--gold);color:var(--gold);background:var(--black);font:clamp(1rem, 3vw, 1.5rem) var(--display);border-radius:99px;justify-content:center;align-items:center;gap:.65rem;padding:.65rem 1.2rem;display:inline-flex}.prize .game-icon{width:2.25rem;height:2.25rem}.result-panel .net-result{color:var(--cream);margin:.75rem auto 1.5rem;font-size:.85rem;display:table}.result-content>p{background:#0b0812d9;border-radius:.6rem;margin:1rem 0;padding:.5rem .8rem;font-size:.9rem}.result-actions{justify-content:center;gap:1rem;margin-top:1.25rem;display:flex}.result-actions .button{flex:1}.result-content>.rematch-hint{font-size:.8rem}.result-character{width:min(21%,240px);max-height:350px;position:absolute;bottom:0;left:0}.result-win .result-character{animation:1.4s ease-in-out infinite celebrate}.result-loss .result-character{filter:grayscale()brightness(.6)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes celebrate{50%{transform:translateY(-12px)}}@media (width<=1000px){.menu-character{width:22%}.menu-character-left{left:1%}.menu-character-right{right:1%}.result-character{display:none}}@media (width<=700px){.page{width:calc(100% - 1.5rem);padding-block:1.5rem}.account-error{padding:0}.account-bar{gap:.75rem;padding:.75rem}.brand{font-size:1.15rem}.brand-icons .game-icon{width:1.2rem;height:1.2rem}.player-account{flex:1;gap:.65rem}.player-identity{text-align:right;flex-basis:100%;max-width:none;font-size:.8rem}.wallet-button{padding-inline:.55rem;font-size:.8rem}.wallet-button .game-icon{width:1.3rem;height:1.3rem}.account-bar .button-quiet{padding-inline:.5rem}.home-page{width:100%;min-height:calc(100svh - 7rem);padding:2rem 1.25rem}.hero h1{font-size:clamp(3.6rem,13vw,5.5rem)}.menu-character{display:none}.game-dialog,.entry-card{padding:1.25rem}.game-dialog .notice,.wallet-control .notice{flex-wrap:wrap}.room-header{align-items:flex-start}.room-header .share-hint{max-width:13rem}.room-header .button{min-height:3rem;padding:.65rem}.scoreboard{gap:.6rem}.player-card{padding:.6rem .7rem}.arena{margin-top:1rem}.opponent-pane{min-height:180px;padding:1.5rem 1rem}.opponent-pane .character{height:170px;right:7%}.fighter-copy p{font-size:.8rem}.arena-hud{gap:.5rem 1rem;padding-inline:.5rem;font-size:.7rem}.local-pane{flex-direction:column;align-items:center;min-height:0;padding-top:1rem;display:flex}.local-pane>.character{width:100px;height:105px;position:static}.local-controls{width:100%;padding:.5rem .6rem 1.8rem}.local-controls h2{margin-top:.8rem}.local-controls>p{max-width:21rem;margin-inline:auto}.local-controls .fighter-tag{font-size:.65rem;position:absolute;top:-4.5rem;right:1rem}.move-grid{gap:clamp(.8rem,4vw,1.8rem)}.move-button{width:clamp(70px,20vw,100px);padding:.8rem}.waiting-overlay{padding:1.25rem .6rem}.waiting-card{padding:1.5rem .8rem}.room-code{letter-spacing:.15em}.result-page{width:100%;padding-inline:.75rem}.result-stage{min-height:0;padding-block:1rem}.revealed-moves{gap:2.5rem}.revealed-choice{width:8rem}.result-actions{gap:.65rem}.result-actions .button{padding-inline:.7rem;font-size:.8rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
