:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:#f2f4fa;background:#111728;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 14% 5%,#26345b 0,transparent 34%),radial-gradient(circle at 95% 60%,#163c50 0,transparent 30%),#111728}
[hidden]{display:none!important}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #536381;background:#26314b;color:#f7f8fc;border-radius:12px;padding:12px 18px;font-weight:700;transition:transform .15s,background .15s,border-color .15s}button:hover{transform:translateY(-1px);background:#324363;border-color:#8da5ce}button:disabled{opacity:.5;cursor:default}button.primary{border:none;color:#141521;background:linear-gradient(135deg,#ffe082,#f9a76c);box-shadow:0 8px 25px #ffae7033}button.primary:hover{background:linear-gradient(135deg,#ffe9a1,#ffba86)}button.ghost{background:transparent}input,select{width:100%;padding:13px 14px;background:#131b2d;color:#fff;border:1px solid #53617a;border-radius:10px;outline:none}input:focus,select:focus{border-color:#ffd587;box-shadow:0 0 0 3px #ffd58722}input::placeholder{color:#8693ad}label{display:block;color:#c9d2e4;font-size:.9rem;font-weight:700}label input,label select{margin-top:8px}h1,h2,h3,p{margin-top:0}h1{font-size:1.3rem;margin-bottom:0;letter-spacing:.04em}h2{line-height:1.3}h3{font-size:1.12rem}p{line-height:1.7;color:#bac5da}
.shell{max-width:1180px;margin:auto;padding:28px 24px 60px}.site-header{display:flex;align-items:center;gap:14px;margin-bottom:36px}.logo-mark{display:grid;place-items:center;width:50px;height:50px;background:#ffd37f;color:#1a2034;border-radius:14px;font-size:1.65rem;font-weight:900;box-shadow:0 10px 26px #ffce7830}.eyebrow{font-size:.72rem;letter-spacing:.18em;font-weight:800;color:#ffcc80;margin-bottom:5px}.entry-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:58px;align-items:start}.intro{padding-top:35px}.intro h2{font-size:clamp(2.7rem,6vw,5rem);letter-spacing:-.045em;margin:20px 0}.intro h2 span{color:#ffd386}.intro>p{max-width:500px;font-size:1.08rem}.rule-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}.rule-strip span,.pill{display:inline-block;padding:8px 12px;border:1px solid #53617a;border-radius:999px;color:#d9e5f7;background:#27344c;font-size:.78rem;font-weight:800}.entry-forms{display:grid;gap:16px}.card{background:#1b2438eb;border:1px solid #3e4b64;border-radius:20px;padding:28px;box-shadow:0 20px 45px #05091734}.card form{display:grid;gap:16px}.entry-forms .card{display:grid;gap:16px}.entry-forms h3{margin:0}.entry-forms button{width:100%;margin-top:4px}.compact{background:#1a2133}.room-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:20px 26px}.room-top .eyebrow{margin:0}.room-code{font-size:2rem;letter-spacing:.18em;color:#ffe29d}.room-actions{display:flex;gap:10px}.game-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,1fr);gap:18px}.arena{min-height:475px;display:flex;flex-direction:column}.arena-head,.standings-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.subtle{color:#93a2bb;font-size:.87rem}.arena>div:not(.arena-head){margin:auto 0;text-align:center}.arena h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:10px 0}.arena p{max-width:450px;margin-left:auto;margin-right:auto}.arena button{margin-top:10px}.time-row{display:flex;justify-content:space-between;align-items:center;color:#c9d4e8;font-size:.9rem}.time-row strong{color:#ffe090;font-size:1.5rem;font-variant-numeric:tabular-nums}.timer-track{height:8px;background:#3b4760;border-radius:100px;overflow:hidden;margin:10px 0 28px}.timer-track>div{height:100%;background:linear-gradient(90deg,#58d5c3,#f4dd7e);transition:width .1s linear}.timer-track>div.urgent{background:#f07d79}.center{text-align:center}.question-word{font-size:clamp(3.4rem,9vw,6.5rem);font-weight:900;letter-spacing:.08em;line-height:1.3;margin:15px 0 30px;color:#fff;text-shadow:0 8px 28px #0005}#answer-form{display:flex;gap:10px;max-width:490px;margin:auto}#answer-form input{font-size:1.14rem}#answer-form button{margin:0;white-space:nowrap;min-width:96px}.answer-note{min-height:1.6em;margin-top:15px!important;color:#ffe09a}.standings{padding:24px}.standings h3{margin:0}.standings-head{margin-bottom:20px}.player-row{display:flex;align-items:center;gap:11px;padding:11px 9px;border-top:1px solid #354159}.player-row.self{background:#ffd48312;border-radius:10px}.rank{color:#8192ad;font-variant-numeric:tabular-nums;font-size:.85rem}.player-info{display:flex;flex-direction:column;flex:1;min-width:0}.player-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-info small{color:#95a4ba;margin-top:3px}.hp{white-space:nowrap;color:#ffdc9a;font-weight:800;font-variant-numeric:tabular-nums}.rules-note{border-top:1px solid #3e4b64;margin-top:18px;padding-top:19px;font-size:.83rem}.rules-note strong{color:#f0f4fc}.rules-note p{margin:6px 0 0;color:#9cabbd}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:12px 18px;background:#ffe39b;color:#202436;border-radius:10px;box-shadow:0 10px 35px #0007;font-weight:800;max-width:min(90vw,550px);z-index:5;text-align:center}
@media(max-width:800px){.entry-grid,.game-grid{grid-template-columns:1fr;gap:20px}.intro{padding-top:0}.intro h2{margin:15px 0}.rule-strip{margin-top:22px}.arena{min-height:410px}.room-top{align-items:flex-start}.room-actions{flex-wrap:wrap;justify-content:flex-end}}
@media(max-width:530px){.shell{padding:18px 13px 45px}.site-header{margin-bottom:25px}.entry-grid{gap:25px}.card{padding:21px;border-radius:16px}.room-top{display:block}.room-actions{justify-content:flex-start;margin-top:16px}.room-actions button{font-size:.78rem;padding:10px}.question-word{margin:25px 0}#answer-form{flex-direction:column}#answer-form button{width:100%}.arena{min-height:450px}.rule-strip{gap:7px}.rule-strip span{font-size:.72rem}}
.cpu-controls{max-width:490px;margin:24px auto 12px;padding:18px;background:#111b2d;border:1px solid #475777;border-radius:14px;text-align:left}.cpu-action-row{display:flex;gap:10px;margin-top:8px}.cpu-action-row select{flex:1}.cpu-action-row button{margin:0;white-space:nowrap}.cpu-hint{font-size:.78rem;margin:10px 0 0!important;color:#9eabc1}.player-row .remove-cpu{font-size:.72rem;padding:6px 9px;margin-left:2px;border-radius:8px}
@media(max-width:530px){.cpu-action-row{flex-direction:column}.cpu-action-row button{width:100%}}
.input-guide,.input-hint{font-size:.78rem;color:#9eabc1;margin:7px auto 0!important}.input-hint:empty{display:none}.input-hint{color:#ffe09a}.answer-note{margin-top:10px!important}
.physical-mode{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto 0;font-size:.82rem;color:#d8e0f0;font-weight:600;cursor:pointer}.physical-mode input{width:auto;margin:0;accent-color:#ffd386}
.player-row{position:relative;min-height:76px}.live-entry{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:5px;font-size:.78rem;color:#d6dff1}.live-entry strong{color:#9de9df;font-weight:700;overflow-wrap:anywhere}.player-row.damaged{background:#fa576035;box-shadow:inset 0 0 0 2px #fa737c;animation:hit-flash .28s ease-in-out 2}.player-row.healed{background:#66ddba25;box-shadow:inset 0 0 0 2px #71dcb5}.impact{position:absolute;right:8px;top:0;font-size:1.3rem;font-weight:900;text-shadow:0 2px 8px #10131c;animation:impact-rise 1.1s ease-out forwards;pointer-events:none}.impact.damage{color:#ff7b7b}.impact.heal{color:#7df0be}@keyframes hit-flash{50%{transform:translateX(5px);background:#ff53566b}}@keyframes impact-rise{from{opacity:0;transform:translateY(12px) scale(.8)}20%{opacity:1}to{opacity:0;transform:translateY(-18px) scale(1.1)}}
.arena{position:relative}.arena.taking-damage{box-shadow:0 0 0 3px #ff7474,inset 0 0 95px #e63e3e3b}.arena .damage-banner{position:absolute;z-index:3;left:50%;top:70px;transform:translateX(-50%);border-radius:999px;background:#d53345;color:white;padding:11px 24px;font-size:1.15rem;font-weight:900;box-shadow:0 10px 30px #0009;white-space:nowrap;pointer-events:none;animation:damage-pop .35s ease-out}@keyframes damage-pop{from{opacity:0;transform:translateX(-50%) scale(.7)}to{opacity:1;transform:translateX(-50%) scale(1)}}

/* Arena visual system */
:root{color-scheme:dark;--gold:#e9c88a;--gold-bright:#ffe5ad;--ink:#090d16;--panel:#111827;--line:#ffffff22;--cyan:#8fd9d8;--red:#ff777c;color:#f8f3e9;background:var(--ink)}
body{background:#080d15;color:#f8f3e9;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,#080c15d9,#080c15b8 47%,#080c15d9),url('/arena-bg.png') center center / cover no-repeat;opacity:.63}
body::after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at 50% 0,#c98d4333,transparent 35%),linear-gradient(180deg,transparent 50%,#070b12 100%);pointer-events:none}
.world-glow{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.95%,#e9c88a08 50%,transparent 50.05%);opacity:.5}
.shell{max-width:1460px;padding:24px 28px 48px}
.site-header{margin-bottom:26px;padding:0 4px 18px;border-bottom:1px solid #e9c88a33;justify-content:space-between}
.brand,.header-actions{display:flex;align-items:center;gap:15px}.brand h1{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700;letter-spacing:.08em;font-size:1.45rem}.logo-mark{width:48px;height:48px;border-radius:8px;background:linear-gradient(145deg,#e9c88a,#8d6232);border:1px solid #fff8;color:#11101a;box-shadow:0 0 30px #c28d4966;font-family:Georgia,"Yu Mincho",serif}
.eyebrow,.form-kicker{font-size:.68rem;letter-spacing:.22em;font-weight:800;color:var(--gold)}.eyebrow{margin-bottom:7px}.online-indicator{font-size:.66rem;letter-spacing:.16em;color:#a8d9cb;font-weight:800}.online-indicator i,.pulse-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#76e3b9;box-shadow:0 0 12px #76e3b9;animation:live-pulse 1.8s infinite}.sound-toggle{font-size:.7rem;letter-spacing:.1em;padding:8px 13px;border-radius:5px;border-color:#e9c88a55;color:var(--gold);background:#0b111caa}.sound-toggle[aria-pressed="false"]{color:#9da9b8;border-color:#8490a04d}@keyframes live-pulse{50%{opacity:.45;box-shadow:0 0 3px #76e3b9}}
.card{background:linear-gradient(145deg,#152033e9,#0d1421f5);border:1px solid #e9c88a38;border-radius:11px;box-shadow:0 20px 60px #0009,inset 0 1px #ffffff14;backdrop-filter:blur(18px)}
.pill{border:1px solid #e9c88a66;border-radius:4px;background:#bd8b422b;color:var(--gold-bright);font-size:.67rem;letter-spacing:.15em;padding:7px 10px}
button{border-radius:5px;background:#1c2838;border-color:#d7b67755;box-shadow:inset 0 1px #ffffff16;letter-spacing:.05em}button:hover{background:#334354;border-color:var(--gold)}button.primary{background:linear-gradient(130deg,#ffdf9f,#bd8846);border:1px solid #fff0c2;color:#151313;box-shadow:0 8px 25px #d9a25936;font-weight:900}button.primary:hover{background:linear-gradient(130deg,#ffeabf,#d6a35c)}button.primary span,.entry-forms button span{float:right}
input,select{border-radius:5px;border:1px solid #b8a17f55;background:#080e19c9;box-shadow:inset 0 2px 10px #0004}input:focus,select:focus{border-color:#e8bb77;box-shadow:0 0 0 3px #e8bb7728,0 0 30px #e8bb771b}
.entry-grid{min-height:calc(100vh - 145px);grid-template-columns:1.1fr minmax(340px,.7fr);align-items:center;gap:70px}.intro{padding:20px 0 55px}.intro h2{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(3.7rem,6.1vw,6.7rem);line-height:1.22;letter-spacing:.03em;margin:24px 0;text-shadow:0 8px 35px #000a}.intro h2 span{color:#f6d6a0;text-shadow:0 0 30px #e8ae5b50}.intro>p{font-size:1.05rem;max-width:610px;color:#d0d3da;line-height:1.9}.hero-pill{font-size:.72rem}.rule-strip{margin:30px 0 42px}.rule-strip span{border-radius:3px;background:#0c1422c9;border-color:#e9c88a33;color:#d7d7d7;padding:12px 15px}.rule-strip b{color:var(--gold);font-size:.67rem;margin-right:7px}.hero-stat{display:flex;align-items:baseline;gap:11px;color:#adabb0}.hero-stat strong{font-size:2rem;font-weight:500;color:#f6d6a0}.hero-stat strong small{font-size:.65rem}.hero-stat span{font-size:.59rem;letter-spacing:.13em;font-weight:800}.hero-stat em{width:1px;height:28px;background:#e9c88a55;margin:0 17px;align-self:center}
.entry-forms{gap:14px}.entry-forms .card{padding:25px 28px;gap:13px}.entry-forms .card:first-child{border-color:#deb36d91;box-shadow:0 20px 80px #0009,0 0 45px #c6993933}.entry-forms h3{font-family:Georgia,"Yu Mincho",serif;font-size:1.55rem;letter-spacing:.04em}.form-kicker{margin:0}.entry-forms label{font-size:.76rem;letter-spacing:.06em;color:#c4c7cf}.entry-forms .card form{gap:12px}.entry-forms button{margin-top:7px;text-align:left;padding-left:18px}.entry-forms .compact{background:#111b29e8}
.room-top{padding:17px 23px;margin-bottom:17px;border-color:#e9c88a4d}.room-code{font-size:1.8rem;color:#f8dda2;letter-spacing:.3em;font-family:ui-monospace,monospace;text-shadow:0 0 18px #f2c68167}.room-top .eyebrow{font-size:.6rem}.room-actions button{font-size:.76rem;padding:10px 15px}
.game-grid{grid-template-columns:minmax(0,1.42fr) minmax(350px,1fr);gap:17px;align-items:stretch}.arena{min-height:630px;padding:27px;overflow:hidden;border-color:#deae646b;background:linear-gradient(180deg,#0b111ccc,#0b111cc2),url('/arena-bg.png') center 56% / cover no-repeat;box-shadow:0 25px 70px #000b,inset 0 0 90px #0009,0 0 35px #bd8a3530}.arena::before{content:"";position:absolute;inset:8px;border:1px solid #e9c88a20;pointer-events:none}.arena::after{content:"";position:absolute;left:50%;top:45%;width:420px;height:420px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#e3ac3d18,transparent 68%);pointer-events:none}.arena-head{position:relative;z-index:1}.arena-head .subtle{letter-spacing:.08em;text-transform:uppercase;color:#ded0b3}
.arena>div:not(.arena-head){margin:auto 0;text-align:center}.arena #question-panel,.arena #lobby-panel,.arena #finish-panel{position:relative;z-index:1}.arena #question-panel{width:100%;margin:auto 0!important}.time-row{letter-spacing:.13em;font-size:.7rem;font-weight:900}.time-row strong{font-family:ui-monospace,monospace;font-size:2.05rem;color:#f7da9d;text-shadow:0 0 20px #f7cb7b66}.timer-track{height:5px;background:#75604466;border-radius:0;margin:8px 0 26px}.timer-track>div{border-radius:0;background:linear-gradient(90deg,#8ad6c9,#f5d690);box-shadow:0 0 12px #f5d690}.timer-track>div.urgent{background:#ff6a6d;box-shadow:0 0 15px #ff6768}
.question-frame{min-height:275px;display:flex;flex-direction:column;justify-content:center;align-items:center}.question-frame .eyebrow{margin:15px 0 0;color:#d4bc91}.question-word{font-family:Georgia,"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(4.3rem,8.1vw,7.9rem);font-weight:700;letter-spacing:.18em;margin:16px 0 5px;text-shadow:0 6px 3px #0008,0 0 32px #f3d9a866;animation:word-in .34s ease-out}.question-ornament{display:flex;align-items:center;gap:13px;color:var(--gold)}.question-ornament span{width:64px;height:1px;background:linear-gradient(90deg,transparent,#e9c88a)}.question-ornament span:last-child{transform:rotate(180deg)}.question-ornament i{font-size:.7rem;font-style:normal}@keyframes word-in{from{opacity:0;filter:blur(10px);transform:scale(1.04)}to{opacity:1;filter:blur(0);transform:scale(1)}}
#answer-form{max-width:590px;gap:9px}#answer-form input{border-color:#e9c88a6b;background:#060a12dd;padding:15px 18px;text-align:center;font-size:1.3rem;letter-spacing:.06em}#answer-form button{min-width:106px}.physical-mode{margin:15px auto 0;font-size:.74rem}.input-guide,.input-hint{font-size:.69rem}.answer-note{min-height:1.5em;color:#ffdfa8;font-weight:800}.arena .damage-banner{top:86px;border-radius:4px;background:linear-gradient(120deg,#991e2e,#e95254);border:1px solid #ffa3a0;padding:11px 26px;box-shadow:0 0 35px #ff4e5f9e;font-size:1.05rem}.arena.taking-damage{box-shadow:0 0 0 2px #ff565f,inset 0 0 110px #e02d3e66,0 25px 70px #000b;animation:arena-shake .3s ease-in-out 2}@keyframes arena-shake{50%{transform:translateX(3px)}}
.standings{padding:20px 22px;background:linear-gradient(145deg,#0e1727ed,#0a101be8);max-height:calc(100vh - 143px);min-height:630px;overflow-y:auto;scrollbar-color:#b39461 #101827}.standings-head{margin:0 0 16px;padding-bottom:13px;border-bottom:1px solid #e9c88a33}.standings-head h3{font-family:Georgia,"Yu Mincho",serif;font-size:1.45rem;margin:0}.standings-head .eyebrow{margin:0 0 4px}.standings-head .subtle{font-size:.72rem;color:var(--gold)}
#players{display:grid;gap:10px}.player-row{display:block;min-height:auto;padding:14px 15px 12px;border:1px solid #7b8ca034;border-radius:6px;background:linear-gradient(110deg,#26324691,#111c2bbd);transition:border-color .2s,box-shadow .2s;overflow:hidden}.player-row.self{border-color:#e4be766b;background:linear-gradient(110deg,#a5793429,#152236e3)}.player-row.winner{border-color:#ffe2a0;box-shadow:0 0 24px #e9c88a57}.player-row.out{opacity:.55}.player-top{display:flex;align-items:center;gap:8px}.player-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:800}.rank{font-family:ui-monospace,monospace;color:#d0a966;font-size:.7rem;margin-right:2px}.player-kind{border:1px solid #a4aec055;border-radius:2px;color:#adbac9;padding:2px 4px;font-size:.49rem;letter-spacing:.12em;font-weight:900}.player-row.self .player-kind{border-color:#e9c88a6b;color:#e9c88a}.hp{margin-left:auto;font-family:ui-monospace,monospace;font-size:.82rem;color:#f2d593}.hp-meter{height:4px;margin:10px 0 7px;background:#3b4654;overflow:hidden}.hp-meter span{display:block;height:100%;background:linear-gradient(90deg,#76ceb3,#ddcb79);box-shadow:0 0 10px #c0df9a;transition:width .45s}.hp-meter span.critical{background:linear-gradient(90deg,#d43d4a,#ff9b79)}.player-mid{display:flex;justify-content:space-between;align-items:center;gap:5px}.player-mid small{font-size:.66rem;color:#9daec2}.status-badge{padding:2px 6px;border:1px solid;border-radius:2px;font-size:.6rem;font-weight:900;white-space:nowrap}.status-badge.correct{color:#a9e6c6;background:#15524066;border-color:#63c997}.status-badge.wrong,.status-badge.timeout{color:#ff9d9b;background:#69212f55;border-color:#ed6968}.live-entry{display:grid;grid-template-columns:minmax(58px,.65fr) minmax(0,1fr);gap:7px;margin-top:10px;font-size:.82rem}.live-entry .opponent-word{border:1px solid #bd9c6552;background:#080f1ca6;color:#fff1d1;padding:5px 8px;text-align:center;font-family:Georgia,"Yu Mincho",serif;font-size:1rem;font-weight:700}.live-entry .typing-preview{border:1px solid #4bbabb4a;background:#12333a55;color:#a1f1e4;padding:6px 9px;min-height:33px;font-size:.78rem;letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-entry .typing-preview::after{content:"|";margin-left:3px;color:#9ffff0;animation:caret .8s step-end infinite}@keyframes caret{50%{opacity:0}}.player-row .remove-cpu{margin-top:7px;padding:3px 7px;font-size:.61rem}
.player-row.damaged{animation:hit-flash .24s ease-in-out 2;border-color:#ff6874;box-shadow:inset 0 0 30px #ed435940}.player-row.healed{border-color:#85e7b5;box-shadow:inset 0 0 25px #64dbae3b}.impact{right:14px;top:5px;font-size:1.55rem;text-shadow:0 2px 10px #000}
.battle-log{margin-top:17px;padding-top:15px;border-top:1px solid #e9c88a33}.battle-log-head{display:flex;align-items:center;font-size:.65rem;letter-spacing:.14em;color:#e8ca91}.battle-log-head small{margin-left:auto;color:#92bda9}.battle-log-head .pulse-dot{width:5px;height:5px}.feed-empty{font-size:.72rem;color:#8594a7;margin:13px 0}.feed-item{display:flex;align-items:flex-start;gap:9px;padding:9px 0;border-bottom:1px solid #ffffff0f;font-size:.72rem;color:#aab8c7}.feed-item b{color:#cbb586;min-width:15px}.feed-item.correct{color:#bbddc5}.feed-item.correct b{color:#8ce1ad}.feed-item.wrong{color:#ffa3a4}.feed-item.wrong b{color:#ff777c}.feed-item.overtime{color:#ffb48f}.rules-note{border-top:1px solid #e9c88a33;margin-top:15px;padding-top:13px}.rules-note summary{cursor:pointer;list-style:none;color:#aeb9c6;font-size:.7rem;font-weight:800}.rules-note summary::after{content:" ＋"}.rules-note[open] summary::after{content:" −"}.rules-note p{font-size:.7rem;line-height:1.6}
.attack-beam{position:fixed;z-index:20;height:3px;transform-origin:0 50%;pointer-events:none;background:linear-gradient(90deg,#fff2b6,#ffc076,#ff7764);box-shadow:0 0 10px 3px #ffb968,0 0 22px #ff6e4b;animation:beam-flash .6s ease-out forwards}.attack-impact{position:fixed;z-index:21;pointer-events:none;color:#ffded5;font-size:1.6rem;font-weight:900;text-shadow:0 0 14px #ff314e,0 2px 3px #000;animation:impact-burst .95s ease-out forwards}@keyframes beam-flash{0%{opacity:0;clip-path:inset(0 100% 0 0)}25%{opacity:1;clip-path:inset(0 0 0 0)}100%{opacity:0;clip-path:inset(0 0 0 0)}}@keyframes impact-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}25%{opacity:1;transform:translate(-50%,-50%) scale(1.3)}100%{opacity:0;transform:translate(-50%,-90%) scale(1)}}.overtime-pulse .arena,.overtime-pulse .standings{border-color:#ff6c70;box-shadow:0 0 38px #ff324554}
@media(max-width:980px){.entry-grid{grid-template-columns:1fr;gap:10px;min-height:0}.intro{padding:45px 0 0}.entry-forms{grid-template-columns:1fr 1fr}.game-grid{grid-template-columns:1fr}.standings{max-height:none;min-height:0}.arena{min-height:570px}}
@media(max-width:640px){.shell{padding:16px 12px 32px}.site-header{align-items:flex-start;gap:8px}.brand{gap:9px}.brand h1{font-size:1rem}.brand .eyebrow{font-size:.52rem}.logo-mark{width:37px;height:37px;font-size:1.2rem}.online-indicator{display:none}.sound-toggle{font-size:.57rem;padding:7px}.intro h2{font-size:clamp(2.7rem,10vw,4rem)}.intro>p{font-size:.88rem}.entry-forms{grid-template-columns:1fr}.hero-stat{margin-bottom:16px}.room-top{padding:16px}.room-code{font-size:1.35rem}.game-grid{gap:11px}.arena{min-height:520px;padding:20px 16px}.question-frame{min-height:230px}.question-word{font-size:clamp(3.6rem,17vw,6rem)}.time-row strong{font-size:1.6rem}.standings{padding:18px}.arena .damage-banner{top:70px;font-size:.9rem}.room-actions button{padding:8px;font-size:.65rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.attack-beam,.attack-impact{display:none}}
.site-header{margin-bottom:14px;padding-bottom:10px}.room-top{padding:10px 20px;margin-bottom:12px}.room-code{font-size:1.45rem}.arena{min-height:535px;padding:20px 24px}.question-frame{min-height:225px}.question-word{font-size:clamp(4.1rem,7.5vw,7rem)}.timer-track{margin-bottom:16px}.standings{min-height:535px;max-height:calc(100vh - 170px)}
@media(max-width:640px){.arena{padding:17px 14px;min-height:500px}.question-frame{min-height:215px}.question-word{font-size:clamp(3.4rem,16vw,5.7rem)}.standings{max-height:none;min-height:0}}
.intro{position:relative;isolation:isolate}.intro::before{content:"";position:absolute;z-index:-1;inset:-75px -35px -45px -105px;background:url('/arena-bg.png') left center / cover no-repeat;opacity:.31;mask-image:radial-gradient(ellipse at 35% 52%,#000 10%,transparent 73%);pointer-events:none}

/* Wide desktop battle field: your challenge in the center, opponents around it. */
@media(min-width:1101px){
  body.in-match{height:100dvh;overflow:hidden}
  body.in-match .shell{width:100%;max-width:none;height:100dvh;display:flex;flex-direction:column;padding:10px 16px 14px}
  body.in-match .site-header{flex:none;margin:0 0 7px;padding:0 4px 7px;min-height:46px}
  body.in-match .logo-mark{width:35px;height:35px;font-size:1.1rem}
  body.in-match .brand h1{font-size:1.02rem}
  body.in-match .brand .eyebrow{font-size:.52rem;margin-bottom:1px}
  body.in-match #room{flex:1;min-height:0;display:flex;flex-direction:column}
  body.in-match .room-top{flex:none;margin:0 0 7px;padding:6px 15px;min-height:47px;border-radius:5px;background:#0d1521d9}
  body.in-match .room-top>div:first-child{display:flex;align-items:center;gap:12px}
  body.in-match .room-top .eyebrow{font-size:.51rem;letter-spacing:.14em}
  body.in-match .room-code{font-size:1.08rem;letter-spacing:.21em}
  body.in-match .room-actions button{font-size:.65rem;padding:6px 10px}
  body.in-match .game-grid{position:relative;display:block;flex:1;min-height:0;border:1px solid #ccad705b;border-radius:9px;overflow:hidden;background:linear-gradient(90deg,#08101bcc,#09101c66 25%,#09101c66 75%,#08101bcc),linear-gradient(180deg,#080d1880,#080d1860),url('/arena-bg.png') center 55% / cover no-repeat;box-shadow:inset 0 0 90px #03060dc9,0 14px 40px #0009}
  body.in-match .game-grid::before{content:"";position:absolute;inset:10px;border:1px solid #eed09a24;pointer-events:none}
  body.in-match .game-grid::after{content:"";position:absolute;left:50%;top:53%;width:min(54vw,800px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid #eac5842a;border-radius:50%;box-shadow:0 0 0 60px #e9c88a06,0 0 110px #d49b3f2a,inset 0 0 80px #d49b3f1c;pointer-events:none}
  body.in-match .arena{position:absolute;z-index:3;left:50%;top:55%;transform:translate(-50%,-50%);width:clamp(440px,44vw,620px);height:clamp(385px,54vh,500px);min-height:0;padding:16px 23px 14px;display:flex;flex-direction:column;border:1px solid #efcf91ba;border-radius:7px;background:linear-gradient(180deg,#0a111de8,#09101cdb),url('/arena-bg.png') center / cover no-repeat;box-shadow:0 0 0 5px #0a0e18a6,0 0 35px #e8b76449,inset 0 0 70px #000b,0 28px 50px #000c;overflow:hidden}
  body.in-match .arena::before{inset:5px;border-color:#f6d8a74a}
  body.in-match .arena::after{width:320px;height:320px;top:58%;opacity:.7}
  body.in-match .arena-head{flex:none}
  body.in-match .arena-head .subtle{font-size:.65rem}
  body.in-match .self-hud{flex:none;display:grid;grid-template-columns:1fr auto;gap:1px 8px;margin:9px 0 0!important;text-align:left!important;font-size:.72rem;color:#f8dfac;letter-spacing:.08em}
  body.in-match .self-hud>div:first-child{display:flex;gap:11px;align-items:baseline}
  body.in-match .self-hud small{font-size:.58rem;color:#bfc8d3}
  body.in-match .self-hud strong{font:800 .86rem ui-monospace,monospace;color:#f9dfa4}
  body.in-match .self-meter{grid-column:1/-1;height:4px;background:#5d6975b0;margin-top:3px}
  body.in-match .self-meter span{display:block;height:100%;background:linear-gradient(90deg,#66c5b4,#e8d58b);box-shadow:0 0 12px #cce59c;transition:width .4s}
  body.in-match .self-meter span.critical{background:linear-gradient(90deg,#d53547,#ff8e77)}
  body.in-match .arena #question-panel{flex:1;display:flex;flex-direction:column;justify-content:center;margin:4px 0 0!important}
  body.in-match .time-row{margin:0;font-size:.61rem}
  body.in-match .time-row strong{font-size:1.5rem}
  body.in-match .timer-track{margin:6px 0 5px;height:4px}
  body.in-match .question-frame{flex:1;min-height:130px}
  body.in-match .question-frame .eyebrow{font-size:.58rem;margin:5px 0 0}
  body.in-match .question-word{font-size:clamp(3.5rem,5.5vw,6.4rem);margin:6px 0;letter-spacing:.09em}
  body.in-match #answer-form{margin:3px auto 0;max-width:100%;width:100%}
  body.in-match #answer-form input{padding:10px 12px;font-size:1.1rem}
  body.in-match #answer-form button{padding:9px 16px}
  body.in-match .physical-mode{margin:7px auto 0;font-size:.61rem}
  body.in-match .input-guide,body.in-match .input-hint{margin:2px auto 0!important;font-size:.58rem}
  body.in-match .answer-note{margin:3px auto 0!important;font-size:.73rem;min-height:1em}
  body.in-match .arena .damage-banner{top:55px}
  body.in-match .arena.taking-damage{animation:center-hit .27s ease-in-out 2}
  body.in-match .standings{display:contents}
  body.in-match .standings-head{position:absolute;z-index:1;top:17px;left:25px;padding:0;margin:0;border:0;display:flex;gap:9px;align-items:center}
  body.in-match .standings-head h3{display:none}
  body.in-match .standings-head .eyebrow{font-size:.56rem;margin:0}
  body.in-match .standings-head .subtle{font-size:.58rem}
  body.in-match #players{position:absolute;inset:0;display:block;pointer-events:none;z-index:4}
  body.in-match .player-row{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:clamp(182px,18vw,250px);padding:9px 11px 10px;min-height:102px;pointer-events:auto;border-color:#efcf9185;background:linear-gradient(135deg,#18263deb,#0d1729e9);box-shadow:0 0 0 3px #050a13b0,0 12px 28px #000b;overflow:visible}
  body.in-match .player-row::before{content:"";position:absolute;inset:3px;border:1px solid #e9c88a18;pointer-events:none}
  body.in-match .player-row.slot-northwest{left:16%;top:20%}
  body.in-match .player-row.slot-north{left:50%;top:11%}
  body.in-match .player-row.slot-northeast{left:84%;top:20%}
  body.in-match .player-row.slot-west{left:11%;top:52%}
  body.in-match .player-row.slot-east{left:89%;top:52%}
  body.in-match .player-row.slot-southwest{left:16%;top:82%}
  body.in-match .player-row.slot-southeast{left:84%;top:82%}
  body.in-match .player-row .player-name{font-size:.78rem}
  body.in-match .player-row .hp{font-size:.69rem}
  body.in-match .player-row .rank,body.in-match .player-row .player-kind{font-size:.51rem}
  body.in-match .player-row .hp-meter{margin:6px 0 5px;height:3px}
  body.in-match .player-row .player-mid small{font-size:.56rem}
  body.in-match .player-row .status-badge{font-size:.52rem}
  body.in-match .player-row .live-entry{margin-top:6px;gap:5px;grid-template-columns:minmax(50px,.7fr) minmax(0,1fr)}
  body.in-match .player-row .opponent-word{font-size:.78rem;padding:4px 5px}
  body.in-match .player-row .typing-preview{font-size:.66rem;padding:5px;min-height:25px}
  body.in-match .player-row.damaged{animation:ring-hit .26s ease-in-out 2}
  body.in-match .player-row .impact{top:-13px;right:-9px;font-size:1.3rem}
  body.in-match .battle-log{position:absolute;z-index:2;left:50%;bottom:8px;transform:translateX(-50%);width:clamp(440px,44vw,620px);height:48px;margin:0;padding:5px 12px;border:1px solid #e6bf7f55;border-radius:4px;background:#08111ed9;overflow:hidden}
  body.in-match .battle-log-head{font-size:.53rem;line-height:1}
  body.in-match .battle-log-head small{font-size:.48rem}
  body.in-match #event-feed .feed-item:not(:first-child){display:none}
  body.in-match .feed-item{border:0;padding:3px 0 0;font-size:.61rem}
  body.in-match .feed-empty{font-size:.61rem;margin:4px 0}
  body.in-match .rules-note{display:none}
}
@keyframes ring-hit{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(calc(-50% + 5px),-50%);background:#ad2f3c}}
@keyframes center-hit{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(calc(-50% + 5px),-50%)}}
.attack-projectile{position:fixed;z-index:30;display:block;width:var(--size,12px);height:var(--size,12px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff8d6 0 18%,#ffcc65 40%,#f76952 75%,#e43444 100%);box-shadow:0 0 9px 3px #ffbc62,0 0 24px 7px #ee4e454d;pointer-events:none;will-change:transform,opacity}
@media(max-width:1100px){
  body.in-match{overflow:auto}
  body.in-match .self-hud{display:grid;grid-template-columns:1fr auto;gap:6px;margin:10px 0 0!important;text-align:left!important;color:#f1d79e;font-size:.74rem}
  body.in-match .self-hud small{margin-left:10px;color:#b5bfce}
  body.in-match .self-meter{grid-column:1/-1;height:4px;background:#4e5a67}
  body.in-match .self-meter span{display:block;height:100%;background:#e9c88a}
  body.in-match .standings{max-height:none;min-height:0}
  body.in-match #players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  body.in-match .player-row{min-height:115px}
}
@media(max-width:640px){body.in-match #players{grid-template-columns:1fr}body.in-match .self-hud small{display:block;margin:0}}
@media(prefers-reduced-motion:reduce){.attack-projectile{display:none}}
@media(min-width:1101px){
  body.in-match .game-grid.lobby-layout .arena{left:40%;top:49%;width:min(570px,53vw);height:min(510px,calc(100% - 65px))}
  body.in-match .game-grid.lobby-layout .arena #lobby-panel{flex:1;overflow-y:auto;min-height:0;margin:8px 0 0!important;padding:0 4px 8px}
  body.in-match .game-grid.lobby-layout #players{inset:42px 16px 12px auto;width:clamp(220px,20vw,275px);display:flex;flex-direction:column;gap:7px;overflow-y:auto;pointer-events:auto;padding:3px}
  body.in-match .game-grid.lobby-layout .player-row{position:relative;left:auto;top:auto;transform:none;width:100%;flex:none;min-height:0}
  body.in-match .game-grid.lobby-layout .player-row.damaged{animation:none}
  body.in-match .game-grid.lobby-layout .battle-log{left:40%;width:min(570px,53vw)}
}
@media(min-width:1101px){body.in-match .game-grid{overflow:clip}}

/* Let the arena art blend into the battle field instead of drawing card edges. */
body.in-match .arena .danger-vignette{position:absolute;z-index:0;inset:-16% -20%;margin:0!important;pointer-events:none;opacity:0;background:radial-gradient(ellipse closest-side at center,#a0183012 0%,#b91d3b64 55%,transparent 100%);filter:blur(18px);mix-blend-mode:screen}
body.in-match .arena.hp-warning .danger-vignette{animation:hp-warning-pulse 2.3s ease-in-out infinite}
body.in-match .arena.hp-critical .danger-vignette{animation:hp-critical-pulse 1.15s ease-in-out infinite;background:radial-gradient(ellipse closest-side at center,#aa17332a 0%,#d3274d9c 55%,transparent 100%)}
body.in-match .arena .self-hud{position:relative;z-index:1}
body.in-match #input-hint{display:block;height:1.35em;line-height:1.35em;max-width:100%;margin:3px auto 0!important;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.in-match #input-hint:empty{visibility:hidden}
@keyframes hp-warning-pulse{0%,100%{opacity:.22}50%{opacity:.55}}
@keyframes hp-critical-pulse{0%,100%{opacity:.38}50%{opacity:.9}}
@media(prefers-reduced-motion:reduce){body.in-match .arena.hp-warning .danger-vignette{animation:none;opacity:.38}body.in-match .arena.hp-critical .danger-vignette{animation:none;opacity:.65}}

@media(min-width:1101px){
  body.in-match .game-grid{border:0;border-radius:0;box-shadow:none;background:linear-gradient(90deg,#08101b73,#09101c18 28%,#09101c18 72%,#08101b73),linear-gradient(180deg,#080d1880,#080d1850),url('/arena-bg.png') center 55% / cover no-repeat}
  body.in-match .game-grid::before{border:0;background:radial-gradient(ellipse at center,transparent 54%,#e4b9780e 80%,transparent 100%)}
  body.in-match .arena{border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;overflow:visible}
  body.in-match .arena::before{inset:-80px -85px;border:0;background:radial-gradient(ellipse closest-side at center,#08101bf0 0%,#08101be8 54%,#08101b8c 76%,transparent 100%);filter:blur(24px)}
  body.in-match .arena::after{opacity:.35}
  body.in-match .arena.taking-damage{box-shadow:none}
  body.in-match .player-row{border:0;border-radius:0;background:radial-gradient(ellipse at center,#0b1729f2 0%,#0c1828db 58%,#0c182800 100%);box-shadow:none}
  body.in-match .player-row::before{display:none}
  body.in-match .player-row.damaged{border:0;box-shadow:none}
  body.in-match .player-row.healed{border:0;box-shadow:none;background:radial-gradient(ellipse at center,#164538d9,#0c1828b8 62%,transparent 100%)}
  body.in-match .player-row .opponent-word,body.in-match .player-row .typing-preview{border:0;border-bottom:1px solid #e8c98a55;border-radius:0;background:#08111b77}
  body.in-match .player-row .typing-preview{border-bottom-color:#68c5b05c}
  body.in-match .battle-log{border:0;border-radius:0;background:radial-gradient(ellipse at center,#08111de8 0%,#08111dc4 65%,transparent 100%)}
  body.in-match .game-grid.lobby-layout .arena #lobby-panel{overflow-y:auto}
}
@keyframes ring-hit{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(calc(-50% + 5px),-50%);background:radial-gradient(ellipse at center,#ae303bbd,#4e202877 60%,transparent 100%)}}
