:root{color-scheme:dark;--bg:#171d20;--panel:#222a30;--line:#39444d;--muted:#b3bec8;--blue:#4c7cff;--good:#83d9b0;--orange:#f1ae68;--text:#f1f4f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 Inter,'Segoe UI',Arial,sans-serif}header,main,footer{max-width:1000px;margin:auto;padding:22px 24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:16px}.brand{font-weight:900;font-size:23px;text-decoration:none;letter-spacing:-1px}.brand span,.dot{color:var(--blue)}nav{display:flex;align-items:center;gap:16px}a{color:inherit}button,input,select{font:inherit}button{cursor:pointer}button,a,input,select{touch-action:manipulation}button{border:1px solid var(--line);background:#2a343e;color:var(--text);border-radius:8px;padding:10px 16px;min-height:44px;font-weight:650}button:hover:not(:disabled){background:#354453}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover:not(:disabled){background:#3668ed}.secondary{background:transparent}input,select{background:#171f26;color:var(--text);border:1px solid #586572;border-radius:8px;padding:12px;min-width:0;width:100%;min-height:48px}input:focus,select:focus{border-color:var(--blue)}:focus-visible{outline:3px solid #f1ae68;outline-offset:3px}label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}label span{display:block;margin-bottom:7px}h1{font-size:clamp(32px,5vw,52px);letter-spacing:-1.8px;line-height:1.1;margin:10px 0 16px}h2{font-size:24px;line-height:1.3;margin-top:0}h3{font-size:16px}.heading{margin:24px 0 30px}.heading p{max-width:650px;color:var(--muted)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px;margin:18px 0}.entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}.entry-grid button{margin-top:16px;width:100%}.entry-grid p{color:var(--muted)}.entry-grid form{padding-top:0}#code,#room-code{text-transform:uppercase;letter-spacing:3px}.room-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}.room-bar button{font-size:14px;padding:8px 10px}.scoreboard{display:grid;grid-template-columns:1fr .7fr 1fr;align-items:center;text-align:center;padding:24px 0}.scoreboard>div{min-width:0}.scoreboard span{display:block;overflow-wrap:anywhere}.scoreboard strong{display:block;font-size:54px;font-variant-numeric:tabular-nums;line-height:1.35}.scoreboard small{color:var(--good)}.score-center{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:1px}.presets{display:flex;gap:10px;margin-bottom:24px}.settings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}fieldset{border:0;padding:12px 0;display:flex;gap:20px}fieldset label{display:flex;align-items:center;gap:8px}fieldset input{width:20px;height:20px;min-height:0}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.muted{color:var(--muted);font-size:14px}.arena-top{display:flex;justify-content:space-between;font-size:13px;font-weight:800;text-transform:uppercase;color:var(--muted);margin-bottom:18px}#match-point{color:var(--orange)}#question{font-size:clamp(22px,3vw,30px);max-width:760px}#phase-text{min-height:25px;color:var(--good);font-weight:650}#clock{font-size:48px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.3}.urgent{color:var(--orange)}.clock-track{height:5px;border-radius:5px;background:#3d4750;margin:8px 0 24px;overflow:hidden}#clock-fill{height:100%;display:block;background:var(--blue);width:100%}.answer-row{display:flex;gap:10px}#answer{font-size:18px}#guess-form{position:relative}#suggestions{list-style:none;margin:4px 0;padding:4px;border:1px solid var(--line);border-radius:8px;background:#17212b;position:absolute;z-index:2;width:100%;box-shadow:0 8px 16px #0003}#suggestions button{display:block;width:100%;text-align:left;border:0;border-radius:4px;background:transparent}#suggestions button.selected{background:#30476a}#notice{min-height:24px;font-size:14px;color:var(--orange)}.history-head{display:flex;justify-content:space-between;align-items:center}.history-head span{font-size:14px;color:var(--muted)}#answers{padding:0;list-style:none;max-height:280px;overflow:auto}#answers li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);animation:arrive .15s ease-out}#answers small{color:var(--muted);font-size:13px}.error{background:#4b2730;color:#ffd8db;padding:14px;border-radius:8px}#connection{color:var(--orange)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.stats article{border-top:1px solid var(--line);padding-top:12px}.stats strong{display:block}.stats p{margin:6px 0;color:var(--muted);font-size:14px}.rules{color:var(--muted);font-size:14px;margin:24px 0}summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:16px}footer{display:flex;gap:24px;border-top:1px solid var(--line);font-size:14px}#recent-list p{border-bottom:1px solid var(--line);padding:12px 0}#resume button{margin-top:18px}[hidden]{display:none!important}@keyframes arrive{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}@media(max-width:600px){header,main,footer{padding:16px}header{gap:8px}.brand{font-size:20px}nav{gap:10px}nav a{font-size:14px}nav button{padding:7px;font-size:12px}.card{padding:18px}.entry-grid{grid-template-columns:1fr;gap:28px}.settings-grid{grid-template-columns:1fr 1fr;gap:12px}.scoreboard strong{font-size:42px}.room-bar{font-size:13px}.room-bar button{font-size:12px}.heading{margin:18px 0}#clock{font-size:40px}#answers{max-height:180px}fieldset{flex-wrap:wrap;gap:8px 16px}.answer-row button{padding:10px}.stats{grid-template-columns:1fr}#question{font-size:23px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Four category controls remain touch-friendly at tablet widths. */
fieldset{flex-wrap:wrap}fieldset label{min-height:44px}#question,#answers li span{overflow-wrap:anywhere}
/* The answer list is the arena. All selectors stay on the existing Rally page. */
:root{--bg:#0d1420;--panel:#141e2c;--line:#2b3b50;--text:#edf3fc;--muted:#a5b4c8;--blue:#6194ff;--orange:#ffb274}
body{background:var(--bg);color:var(--text);font-family:Barlow,'Segoe UI',sans-serif}
header,main,footer{max-width:1120px}button,input,select,.card{border-radius:12px}
.primary{background:#4078e9;border-color:#669bff;color:#fff}.primary:hover:not(:disabled){background:#528bf6}
#room .primary,#entry .primary{background:#4078e9!important;border-color:#669bff!important;color:#fff!important}#room .primary:hover:not(:disabled),#entry .primary:hover:not(:disabled){background:#528bf6!important}#room input,#room select,#room button,#entry input,#entry button{border-radius:10px!important}
.card{background:var(--panel);border-color:var(--line)}.heading .dot{color:var(--blue)}
.in-match .heading{margin:10px 0 16px}.in-match .heading h1{font-size:26px;margin:0}.in-match .heading p{display:none}
.scoreboard{position:sticky;top:0;z-index:8;padding:14px 18px;margin:16px 0;background:#111d2cf5;border:1px solid var(--line);border-radius:16px;grid-template-columns:minmax(0,1fr) 132px minmax(0,1fr);gap:18px;box-shadow:0 10px 24px #050a1233}
.scoreboard>div:not(.score-center){display:grid;grid-template-columns:minmax(0,1fr) auto;text-align:left;align-items:center;column-gap:16px;border-left:3px solid var(--blue);padding-left:12px}
.scoreboard>div:last-child{grid-template-columns:auto minmax(0,1fr);text-align:right;border-left:0;border-right:3px solid var(--orange);padding-left:0;padding-right:12px}
.scoreboard strong{font-size:46px;line-height:1;grid-column:2;grid-row:1/3;color:var(--blue)}.scoreboard>div:last-child strong{grid-column:1;color:var(--orange)}
.scoreboard span[id^=p]{font-size:19px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scoreboard>div:last-child span,.scoreboard>div:last-child small{grid-column:2}
.scoreboard small{color:var(--muted);font-size:12px}.score-center{font-size:10px;letter-spacing:.7px}.score-center #clock{font-size:26px;line-height:1.15;color:var(--text);margin-bottom:4px}.score-center #clock.urgent{color:var(--orange)}
.score-center .clock-track{height:3px;margin:7px 0 0;background:#2b3b50}.score-center #clock-fill{background:var(--blue);transition:width .1s linear}
#arena{padding:26px;margin-top:0}.arena-top{margin-bottom:14px;font-size:11px;letter-spacing:1.2px}.category-label{color:var(--blue);margin:0 0 8px;font-size:11px}
#question{max-width:900px;font-size:clamp(23px,3vw,34px);line-height:1.15;margin:0 0 22px;letter-spacing:-.4px}
#arena #question{line-height:1.2!important}
.board-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.board-heading h3{font-size:22px;margin:0;font-weight:600}.board-heading>strong{font:600 15px Barlow,sans-serif;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap}
.board-explainer{margin:6px 0 14px;color:var(--muted);font-size:13px;line-height:1.45}.board-meter{height:4px;background:#28374b;border-radius:4px;overflow:hidden}.board-meter>span{display:block;height:100%;width:0;background:linear-gradient(90deg,#6194ff,#a6c6ff);transition:width .28s ease}
.board-caption{display:flex;align-items:center;gap:10px;min-height:42px}.board-last{margin:10px 0;font-size:13px;color:var(--muted);min-width:0;flex:1}.board-caption button{font-size:12px;padding:4px 8px;min-height:36px;white-space:nowrap;background:transparent}
.board-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px;list-style:none;margin:0;padding:2px 6px 2px 2px;max-height:570px;max-height:min(570px,55dvh);overflow:auto;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#465b78 #111b29;scroll-padding-block:8px;overflow-anchor:none}
.board-slot{--owner:#8194ad;position:relative;isolation:isolate;display:grid;grid-template-columns:28px 34px minmax(0,1fr) 16px;align-items:center;gap:12px;height:70px;padding:12px 14px;background:#192536;border:1px solid #2e3d52;border-radius:10px;overflow:hidden}
.board-slot::before{content:'';position:absolute;inset:0;background:var(--owner);opacity:0;z-index:-1;transition:opacity .32s ease}.board-slot::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;border:1px solid var(--owner);opacity:0}
.slot-number{font:600 20px 'Barlow Condensed',sans-serif;color:#8f9fb4;font-variant-numeric:tabular-nums}.board-flag{display:block;width:34px;height:25px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #ffffff24}.slot-country{width:34px}.slot-country .unknown{display:flex;align-items:center;justify-content:center;height:25px;font-size:16px;color:#8597af;border:1px dashed #61718a;border-radius:4px}
.slot-content{min-width:0}.slot-name{position:relative;display:block;height:23px;line-height:23px;white-space:nowrap}.slot-blank,.slot-name strong{position:absolute;inset:0;display:block;overflow:hidden;text-overflow:ellipsis;font-size:17px;line-height:23px;transition:opacity .23s ease,transform .28s ease}.slot-blank{color:#8194ad;letter-spacing:2px;user-select:none}.slot-name strong{opacity:0;transform:translateY(7px);font-weight:600;color:#f4f7fd}.slot-content small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;line-height:16px;color:#a8b8cd}.slot-check{color:var(--owner);font-size:15px;opacity:0}
.board-slot.found.owner-0{--owner:#78a8ff}.board-slot.found.owner-1{--owner:#ffb274}.board-slot.found::before{opacity:.14}.board-slot.found .slot-check{opacity:1}.board-slot.found .slot-content small{color:var(--owner)}
.board-slot.found .slot-blank,.board-slot.revealed .slot-blank{opacity:0;transform:translateY(-6px)}.board-slot.found .slot-name strong,.board-slot.revealed .slot-name strong{opacity:1;transform:none}.board-slot.revealed{background:#16212f}.board-slot.revealed .slot-name strong{color:#bdc9d9}
.board-slot.is-new::after{animation:slot-flash .55s ease-out}.board-slot.is-new .slot-name strong{animation:slot-arrive .3s ease-out}.board-slot.no-motion *{transition:none!important}.board-slots.end-pending .board-slot.revealed .slot-blank{opacity:1;transform:none}.board-slots.end-pending .board-slot.revealed .slot-name strong{opacity:0;transform:translateY(7px)}
.answer-dock{position:sticky;bottom:0;z-index:9;background:#141e2cf5;padding:14px 0 max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);margin-top:16px}.turn-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:27px;margin-bottom:8px}#phase-text{margin:0;color:var(--muted);font-size:14px;min-height:22px}#phase-text.my-turn{color:var(--text)}#phase-text.my-turn::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--blue);margin-right:8px}#answer-dock.owner-1 #phase-text.my-turn::before{background:var(--orange)}
#input-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#answer{min-height:52px;font-size:17px;background:#0e1827;border-color:#405572}#send{min-width:100px}#suggestions{bottom:calc(100% + 8px);margin:0;max-height:260px;max-height:min(260px,38dvh);overflow:auto;background:#1b2a3e;z-index:12;box-shadow:0 -8px 24px #050a1266}#suggestions button{font-size:15px}
#notice{min-height:0;margin:8px 0 0}#notice:empty{display:none}#hide-keyboard{display:none;background:transparent;border:0;padding:0;font-size:12px;min-height:32px;color:var(--muted)}
.rally-history{border-top:1px solid var(--line);margin-top:8px}.rally-history summary{font-size:13px;color:var(--muted)}.rally-history .history-head{display:none}#report{font-size:12px}.rally-ended #guess-form,.rally-ended #hide-keyboard{display:none}.rally-ended .answer-dock{position:static}.rally-ended .board-slots{max-height:400px}
@keyframes slot-flash{0%{opacity:.9}100%{opacity:0}}@keyframes slot-arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:700px){header,main,footer{padding:14px}.scoreboard{padding:12px;gap:10px;grid-template-columns:minmax(0,1fr) 85px minmax(0,1fr);margin:12px 0;border-radius:12px}.scoreboard>div:not(.score-center){column-gap:8px;padding-left:8px}.scoreboard>div:last-child{padding-left:0;padding-right:8px}.scoreboard span[id^=p]{font-size:15px}.scoreboard strong{font-size:34px}.score-center #clock{font-size:24px}.score-center{font-size:9px;letter-spacing:0}.scoreboard small{font-size:10px}#arena{padding:18px}.board-slots{grid-template-columns:minmax(0,1fr);max-height:440px;max-height:clamp(200px,calc(var(--rally-vh,100dvh) - 340px),480px);gap:6px;padding-right:4px}.board-slot{height:62px;padding:8px 11px;gap:11px;grid-template-columns:24px 32px minmax(0,1fr) 14px}.board-flag,.slot-country{width:32px}.board-flag{height:24px}.slot-name strong,.slot-blank{font-size:16px}.slot-number{font-size:18px}.board-heading h3{font-size:20px}.board-heading>strong{font-size:13px}#question{font-size:24px;margin-bottom:18px}.board-explainer{font-size:12px}.board-last{font-size:12px}.answer-dock{margin-top:12px}.answer-row{gap:8px}#send{min-width:76px;padding:10px}#answer{font-size:16px}.answer-dock:focus-within #hide-keyboard{display:block}.room-bar button{padding:5px 8px;font-size:11px}.in-match .heading h1{font-size:23px}}
@media(max-width:380px){header,main,footer{padding:10px}#arena{padding:12px}.scoreboard{gap:7px;padding:10px 8px;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)}.scoreboard span[id^=p]{font-size:13px}.scoreboard strong{font-size:28px}.scoreboard>div:not(.score-center){column-gap:5px}.board-slot{gap:8px;padding-inline:9px}.board-caption button{font-size:11px}.board-heading h3{font-size:19px}}
@media(prefers-reduced-motion:reduce){.board-slot.is-new::after,.board-slot.is-new .slot-name strong{animation:none}.board-slot *,.board-slot::before,.board-meter>span,.score-center #clock-fill{transition:none}}
