:root{color-scheme:dark;font-family:Courier New,ui-monospace,monospace;font-size:16px;color:#f4edf5;background:#050006;font-synthesis:none;--purple: #bd29b9;--purple-light: #f06ce9;--blue: #3474d4;--panel: rgba(16, 3, 20, .94);--line: rgba(240, 108, 233, .55)}*{box-sizing:border-box}html,body,#root{width:100%;min-width:300px;min-height:100%;margin:0}body{min-height:100dvh;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #fff;outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{position:relative;display:grid;place-items:center;min-height:100dvh;padding:clamp(16px,4vw,48px);overflow:hidden;background:radial-gradient(circle at 50% 34%,rgba(189,41,185,.15),transparent 32rem),linear-gradient(180deg,#09010a,#020002)}.app-shell:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.035) 3px 4px)}.title-art{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:.72}.splash-screen{position:absolute;inset:0;z-index:5;display:grid;place-items:center;width:100%;padding:0;border:0;color:#f06ce9;background:#000;cursor:pointer}.splash-screen img{width:min(100vw,160dvh);height:auto;image-rendering:pixelated}.splash-screen span{position:absolute;bottom:max(8vh,24px);font-weight:700;letter-spacing:.18em;animation:splash-blink 1s steps(2,end) infinite}@keyframes splash-blink{50%{opacity:.2}}.title-art img{width:min(960px,96vw);height:auto;image-rendering:pixelated;filter:drop-shadow(0 0 28px rgba(189,41,185,.38))}.main-menu{position:relative;z-index:1;width:min(480px,100%);margin-top:clamp(120px,24vh,240px);padding:18px;border:2px solid #f7eff7;box-shadow:0 0 0 3px #39263c,0 18px 70px #000;background:linear-gradient(135deg,#4a1263f5,#b8235df5 55%,#f34325f5)}.menu-subtitle{margin:0 0 12px;color:#fff;font-size:.88rem;line-height:1.35;text-align:center;text-shadow:1px 1px #000}.main-menu nav{display:grid}.main-menu nav button{min-height:38px;padding:6px 12px;border:0;color:#fff;background:transparent;text-align:left;font-weight:700;text-shadow:2px 2px #5b0d56;cursor:pointer}.main-menu nav button:before{content:"› ";color:transparent}.main-menu nav button:hover,.main-menu nav button:focus-visible{color:#ffef39;background:#00000040}.main-menu nav button:hover:before,.main-menu nav button:focus-visible:before{color:#ffef39}.screen-panel{position:relative;z-index:2;width:min(900px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:clamp(20px,4vw,42px);border:1px solid var(--line);border-radius:8px;box-shadow:0 28px 90px #000,inset 0 0 45px #bd29b914;background:var(--panel);backdrop-filter:blur(12px)}.screen-panel h1{margin:0 0 24px;color:var(--purple-light);font-size:clamp(1.5rem,4vw,2.4rem)}.screen-panel h2{color:#fff}.screen-panel p{line-height:1.6}.primary-button,.secondary-button,.text-button{min-height:42px;padding:9px 16px;border-radius:4px;cursor:pointer;text-decoration:none;text-align:center}.primary-button{border:1px solid #ffb7fa;color:#fff;background:linear-gradient(135deg,#8d1688,#d0377b);box-shadow:0 5px 18px #bd29b93d}.secondary-button{border:1px solid #6e5771;color:#fff;background:#241428}.text-button{border:0;color:#d8c7da;background:transparent;text-decoration:underline}.primary-button:hover,.secondary-button:hover{filter:brightness(1.18)}button:disabled{opacity:.5;cursor:wait}.button-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}label{display:grid;gap:7px;color:#e3d6e5;font-size:.9rem}input{min-height:42px;width:100%;padding:8px 10px;border:1px solid #674d6a;border-radius:4px;color:#fff;background:#0d0710}input[type=color]{width:58px;padding:3px;cursor:pointer}.fighter-grid,.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fighter-card,.stats-grid article{padding:18px;border:1px solid #4f3653;border-radius:6px;background:#00000059}.fighter-preview{width:96px;height:96px;margin:0 auto 18px;overflow:hidden;border:1px solid #513155;background:#000}.fighter-preview img{width:1280px;max-width:none;image-rendering:pixelated;transform:translate(-4px,-4px);filter:drop-shadow(0 0 3px var(--fighter-color))}.fighter-card fieldset{display:grid;gap:8px;margin:18px 0 0;padding:12px;border:1px solid #4f3653}.color-row{display:flex;justify-content:space-between;align-items:center}.stats-grid dl{display:grid;grid-template-columns:1fr auto;gap:8px 16px}.stats-grid dt,.stats-grid dd{margin:0}.stats-grid dd{color:var(--purple-light);font-weight:700}.original-instructions{display:block;width:min(640px,100%);margin:0 auto 20px;image-rendering:pixelated;border:1px solid #49314b}.weapon-list{color:#f0a7ed;font-weight:700}.credits-panel,.online-panel{max-width:680px}.splatch-button{display:block;margin:18px 0 0}.online-actions{display:grid;gap:12px;margin:24px 0}.join-row{display:grid;grid-template-columns:1fr auto;gap:8px}.server-stats{color:#a892ab}.online-profile-editor{display:grid;gap:14px;margin:16px 0;padding:16px;border:1px solid #4f3653;background:#0000004d}.online-profile-editor fieldset{display:grid;gap:8px;border:1px solid #4f3653}.success-message{color:#75e497}.waiting-card{display:grid;place-items:center;min-height:220px;text-align:center}.spinner{width:42px;height:42px;border:4px solid #3e2542;border-top-color:var(--purple-light);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message{color:#ff8f8f;line-height:1.45}.auth-global-error{position:fixed;bottom:16px;z-index:4;padding:10px 14px;background:#31090e}.game-view{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:100vw;height:100dvh;min-height:460px;overflow:hidden;background:#020002}.game-hud{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(8px,3vw,30px);min-height:72px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-bottom:1px solid #3a203d;background:linear-gradient(180deg,#17051b,#080209)}.score{display:grid;grid-template-columns:minmax(0,auto) auto;align-items:center;gap:0 12px;min-width:0}.score strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f07bea}.score span{grid-row:1 / 3;grid-column:2;font-size:2rem;color:#fff}.score small{color:#a68ca8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score--p2{text-align:right}.score--p2 strong,.score--p2 small{grid-column:2}.score--p2 span{grid-column:1}.round-status{display:grid;justify-items:center;gap:3px;color:#fff;text-align:center}.round-status small{color:#9e89a0}.arena-shell{position:relative;min-height:0;width:100%;height:100%;overflow:hidden;background:#000}.game-canvas{display:block;width:100%;height:100%;touch-action:none;image-rendering:pixelated}.game-announcement{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;color:#fff;font-size:clamp(1.5rem,6vw,4.5rem);font-weight:900;text-align:center;text-shadow:3px 3px #7f157b,-2px -2px #000}.game-announcement--victory{color:#ffeb45}.pause-overlay{position:absolute;inset:0;display:grid;place-content:center;gap:12px;padding:24px;text-align:center;background:#000000d1}.pause-overlay h2{color:var(--purple-light);font-size:2rem}.game-footer{display:flex;min-height:54px;align-items:center;justify-content:center;gap:14px;padding:6px 12px max(6px,env(safe-area-inset-bottom));border-top:1px solid #3a203d;background:#080209}.game-footer>span{color:#a58ca7;font-size:.8rem}@media(max-width:650px){.app-shell{padding:12px}.main-menu{margin-top:24vh;padding:12px}.main-menu nav button{min-height:42px}.fighter-grid,.stats-grid{grid-template-columns:1fr}.screen-panel{max-height:calc(100dvh - 20px);padding:18px}.game-hud{min-height:62px;gap:5px;padding:6px 8px}.score{gap:0 5px;font-size:.78rem}.score span{font-size:1.45rem}.round-status{font-size:.75rem}.game-footer>span{display:none}.game-footer{justify-content:space-between}}@media(max-height:560px)and (orientation:landscape){.game-view{grid-template-rows:48px minmax(0,1fr) 42px;min-height:300px}.game-hud{min-height:48px;padding-block:3px}.game-footer{min-height:42px}.score small{display:none}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}
