/* Showtime visual edition. The base game supplies functional layout fallbacks. */
@font-face{font-family:Showtime;src:url('anton.woff2') format('woff2');font-display:swap;font-weight:400}
:root{--ink:#081f29;--deep:#06171e;--panel:#102e39;--line:#48636b;--blue:#175666;--paper:#fff4dc;--gold:#ffd17e;--mint:#a6efce;--muted:#becfd0;--red:#ffb6a6;--radius:6px;--display:Showtime,'Arial Narrow',Impact,sans-serif}
body{background:#061a23;font-family:'Trebuchet MS',Arial,sans-serif;isolation:isolate}
body::before{content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(180deg,#061a23e8,#061a23f5 75%),url('reform-city.webp') center/cover}
body::after{content:'';position:fixed;inset:12px;z-index:-1;pointer-events:none;border:1px solid #ffd17e25}
::selection{color:#06171e;background:var(--gold)}
.wrap{width:min(1520px,100%);padding:24px 42px}
.masthead{padding:0 0 20px;border-bottom-color:#ffd17e3d}
.brand{font-size:24px}.brand b{color:var(--gold)}
.masthead .edition{letter-spacing:1.7px;font-size:10px;line-height:1.7}
.show-badge{display:flex;align-items:center;gap:9px;color:var(--gold);font:700 11px/1 Arial,sans-serif;letter-spacing:2.5px;text-transform:uppercase}
.show-badge::before{content:'';width:7px;height:7px;border-radius:50%;background:#ffc16e;box-shadow:0 0 14px #f5ab57}
button,.button{border-radius:5px;background:linear-gradient(150deg,#173943,#102a34);box-shadow:inset 0 1px #ffffff09,0 3px 0 #020e14;transition:transform .16s,background .16s,border-color .16s}
button:hover:not(:disabled),.button:hover{background:#234b56;border-color:#e0bd7f;transform:translateY(-1px)}
button:active:not(:disabled){transform:translateY(1px);box-shadow:none}
button.gold,.button.gold{background:linear-gradient(115deg,#ffe5a6,#eeb256);border-color:#ffdb94;color:#10262c;box-shadow:inset 0 1px #fff7d6,0 4px 0 #875921,0 6px 22px #eab35815}
button.gold:hover:not(:disabled),.button.gold:hover{background:#ffe3a5}
button.good{background:#a6efce;color:#082e24;border-color:#c6ffe5}
button.bad{border-color:#ad7465;background:#462b2b;color:#ffcfbd}
button.quiet{background:transparent;box-shadow:none}
input,select,textarea{border-radius:4px;border-color:#5f7780;background:#071d27;color:var(--paper)}
input[type=checkbox]{accent-color:#bb7d25}
.eyebrow{color:var(--gold);font-size:11px;letter-spacing:2.5px}
.intro{grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);gap:28px;padding:28px 0;align-items:stretch}
.hero{position:relative;isolation:isolate;overflow:hidden;border:1px solid #d3a35575;min-height:705px;padding:42px 38px 28px;display:flex;flex-direction:column;background:#082633 url('reform-city.webp') center bottom/cover;box-shadow:0 24px 65px #0005,inset 0 0 0 6px #051820}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#061f2a52 0%,#061f2a5c 32%,#061f2a10 53%,#05151c9c 73%,#05151cf2 100%)}
.hero::after{content:'';position:absolute;inset:9px;pointer-events:none;border:1px solid #d3a35560}
.hero .eyebrow{background:#061b24e6;padding:8px 12px;align-self:flex-start;border-inline-start:3px solid var(--gold);letter-spacing:2px;font-size:10px}
.hero h2{font:400 clamp(65px,6.6vw,105px)/.94 var(--display);letter-spacing:-1.5px;text-transform:uppercase;margin:28px 0 16px;text-shadow:0 3px 0 #071b23,0 6px 26px #000c}
.hero h2 em{display:block;font:italic clamp(62px,6.9vw,110px)/.94 Georgia,serif;text-transform:none;letter-spacing:-5px;color:#ffda8d;margin:0 0 20px}
.hero .lead{font-size:17px;line-height:1.5;max-width:375px;margin:auto 0 10px;color:#fff6df;text-shadow:0 2px 8px #000}
.hero>.muted{font-size:13px;max-width:370px;color:#d7e0dc;text-shadow:0 2px 7px #000}
.hero .edition-note{margin-top:22px;padding-top:18px;gap:28px;border-top-color:#d3a35572}
.edition-note strong{font:400 32px/1.1 var(--display);color:#ffda8d}.edition-note span{font-size:9px;letter-spacing:1.4px;color:#e2e6db}
.setup-panel{position:relative;padding:28px 28px 24px;color:var(--paper);background:linear-gradient(135deg,#15343e,#091f29 65%);border:1px solid #8d77518a;border-radius:5px;box-shadow:0 24px 70px #0005,inset 0 3px #e8bb6e}
.panel-kicker{color:var(--gold);font-size:10px;text-transform:uppercase;letter-spacing:2px;margin:0 0 14px;display:flex;gap:10px;align-items:center}.panel-kicker::after{content:'';height:1px;flex:1;background:#e4b56a45}
.setup-panel h2{font:400 31px/1.15 var(--display);letter-spacing:.2px}
.setup-panel .muted,.setup-panel .save-note,.team-names label,.option small{color:var(--muted)}
.setup-panel input,.setup-panel select{background:#071d27;color:var(--paper);border-color:#607780;box-shadow:inset 0 2px 4px #0003}
.setup-panel input:focus-visible,.setup-panel select:focus-visible,.setup-panel summary:focus-visible{outline-color:var(--gold)}
.setup-panel .error{color:var(--red)}
.setup-panel .field-row{gap:14px;margin:20px 0}.field-row>label{min-width:0;font-size:12px;letter-spacing:.2px}
.team-names{gap:12px}.team-names label{font-size:11px}.team-names input{border-inline-start:3px solid #75bfe0}
.team-names label:nth-child(2) input{border-inline-start-color:#edaa80}.team-names label:nth-child(3) input{border-inline-start-color:#a3dab8}
.options{border-top-color:#8d77515e;margin:22px 0;padding-top:16px}.options summary{color:var(--gold);font-size:14px}
.option{font-size:14px}.option small{font-size:12px}
.start{font-size:17px;min-height:52px;letter-spacing:.4px;position:relative;overflow:hidden}
.setup-panel button:not(.gold){background:#112e39;color:var(--paper);font-size:12px}
.setup-actions{gap:8px;margin-top:18px}.save-note{line-height:1.6}
.topic-strip{justify-content:space-between;padding:18px 0;border-top-color:#e4b56a45;font-size:11px;letter-spacing:.3px;color:#d4dfdb}
.topic-strip span::before{color:#e6b86d}.how{padding:12px 0 28px;font-size:13px}
.footer{border-top-color:#e4b56a45;font-size:10px;letter-spacing:.5px;padding:18px 0}.footer button{font-size:11px;min-height:36px}
.game-head{margin:26px 0 18px}.game-head h2{font:400 clamp(30px,3.1vw,49px)/1 var(--display);letter-spacing:.5px;text-transform:uppercase}
.game-head h2::before{content:'THE REFORM ROOM';display:block;color:var(--gold);font:700 9px Arial,sans-serif;letter-spacing:3px;margin-bottom:8px}
.toolbar button{font-size:11px;padding:8px 12px;border-color:#6b7770}
.round-line{font-size:11px;letter-spacing:.6px;margin-bottom:12px;color:#c7d9d9}
#round-label{color:var(--gold);font-weight:700;letter-spacing:1.5px}
#turn-label{color:var(--paper)}
.progress-track{height:3px;background:#24424b;margin-bottom:16px;box-shadow:0 0 0 1px #07171e}
.progress-track i{background:linear-gradient(90deg,#bd8136,#ffe5a0);box-shadow:0 0 12px #ffd17e50}
.board-scroll{padding:5px 5px 12px;margin:-5px}
.board{gap:10px;min-width:610px;padding:13px;background:linear-gradient(145deg,#07171f,#173744,#07171f);border:1px solid #b58c4d;border-radius:6px;box-shadow:0 15px 48px #0006,inset 0 0 0 5px #06151c,inset 0 0 0 6px #ac874c55}
.category{position:relative;border:1px solid #a0814c70;background:linear-gradient(150deg,#183d49,#0b2630);border-radius:3px;padding:12px 8px;min-height:100px}
.category h2{font:400 clamp(14px,1.5vw,23px)/1.1 var(--display);letter-spacing:.4px;text-transform:uppercase;color:#fff1d2}
.category p{font-size:8px;letter-spacing:1px;line-height:1.3;margin-top:5px;color:#c6d4d0}
.category-icon{display:block;width:23px;height:23px;margin:0 auto 8px;color:#eac37b}.category-icon svg{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}
.tile{min-height:clamp(61px,7.4vh,92px);border-radius:3px;border:1px solid #557b87;isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#1e5769,#0b3447 75%);box-shadow:inset 0 1px #9bcdd44a,inset 0 -3px #031b2b,0 3px 3px #0005;color:#ffda8c;font:400 clamp(28px,3.2vw,49px)/1 var(--display);letter-spacing:1px;text-shadow:0 2px 1px #020d16;padding:11px 3px;transition:transform .17s,border-color .17s,box-shadow .17s}
.tile::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,#fff0 35%,#e4f7fc0e 35%,#fff0 65%)}
.tile::after{content:'';position:absolute;inset:4px;border:1px solid #c8e5df13;pointer-events:none}
.tile:hover:not(:disabled){transform:translateY(-3px);background:linear-gradient(145deg,#286d7c,#12485c);border-color:#ffe1a0;box-shadow:inset 0 0 22px #b6f6ff18,0 0 0 1px #e8bd7359,0 5px 15px #0008}
.tile.used{background:#091e28;border-color:#344f59;color:#afc8c7;box-shadow:inset 0 2px 7px #0005;font:400 24px var(--display);text-shadow:none;display:flex;flex-direction:column;gap:3px}
.tile.used::before,.tile.used::after{display:none}.tile.used small{font-size:10px;color:#b7c8c8;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.teams{gap:12px;margin-top:19px}
.team{--team-color:#93cde8;padding:13px 16px 12px;border:1px solid #65808b;border-top:3px solid var(--team-color);border-radius:4px;background:linear-gradient(130deg,#163746,#091f2a);box-shadow:0 7px 18px #0004;overflow:hidden}
.team:nth-child(2){--team-color:#f2b28e}.team:nth-child(3){--team-color:#9cddba}.team:nth-child(4){--team-color:#d4b1ef}.team:nth-child(5){--team-color:#f3d382}.team:nth-child(6){--team-color:#a6d9d8}
.team.active{border:1px solid #d9b571;border-top:3px solid var(--team-color);padding:13px 16px 12px;background:linear-gradient(130deg,#25444d,#102c36);box-shadow:0 0 0 2px #e6bc6335,0 8px 24px #0005}
.team.leader::before{top:11px;right:12px;color:var(--gold);font-size:8px}
.team .team-label{color:var(--team-color);font-size:9px;letter-spacing:1.5px}
.team h2{margin:10px 0 6px;font-size:14px;color:#eef4e9}
.team strong{font:400 clamp(29px,3vw,44px)/1 var(--display);letter-spacing:1px;color:#fff1d2;font-variant-numeric:tabular-nums}
.team button{border-color:#5f7982;box-shadow:none;font-size:10px;margin-top:10px;min-height:30px;color:#d3e0dd}
.team.active button:disabled{color:#ffe0a5;opacity:1;background:#09222a;border-color:#a98e59}
.board-foot{padding:18px 0 7px}.key-guide{font-size:10px}.status{color:var(--mint);font-size:12px}
dialog{background:linear-gradient(130deg,#153743,#08212c 70%);border:1px solid #e2b66a;border-radius:5px;box-shadow:0 0 0 6px #06141e,0 0 0 7px #d4a35c65,0 40px 120px #000c;width:min(1120px,calc(100% - 34px))}
dialog::backdrop{background:#031019e8;backdrop-filter:blur(5px)}
.dialog-inner{padding:26px 36px 24px;background:radial-gradient(ellipse at 50% 0,#c88e3320,transparent 65%)}
.dialog-top{padding-bottom:16px;border-bottom:1px solid #e1b66f50}.dialog-top h2{color:#ead6b1;font-size:13px;letter-spacing:.5px}.dialog-top button{font-size:11px}
.clue-tag{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:2.5px;margin:26px 0 17px}
.clue-tag::before,.clue-tag::after{content:'';width:25px;height:1px;background:#d6a965}
.clue-text{font:500 clamp(27px,3.6vw,44px)/1.25 Georgia,serif;letter-spacing:-.45px;max-width:980px;color:#fff6df;text-wrap:pretty;margin:16px 0 30px}
.response-bar{padding-top:16px;border-top:1px solid #7f9b9d50}.response-bar label{font-size:12px}.response-bar select{font-size:13px}
.timer{min-width:58px;text-align:center;font:400 31px var(--display);letter-spacing:1px;background:#061a24;border:1px solid #a0804e66;border-radius:3px;padding:4px 10px}.timer.low{color:#ffc0a9;border-color:#bc7964}
.answer{position:relative;background:linear-gradient(120deg,#173f37,#0c302e);border:1px solid #78ac90;border-inline-start:4px solid #a6efce;border-radius:3px;padding:20px 25px;box-shadow:0 10px 25px #0003}
.answer .eyebrow{color:#c3f9dd;font-size:10px;letter-spacing:2px}.answer h3{font-size:25px;line-height:1.2;color:#b7f5d6}.answer p{font-size:16px;color:#e0f0e5}.answer .accept{font-size:12px;color:#c2decf}
.hint{border:1px dashed #d6ac63;border-radius:3px;background:#302e23;color:#ffe0a3;font-size:15px}
.clue-actions{gap:10px;margin:20px 0 4px}.clue-actions button{font-size:13px}
dialog[data-mode=wager]{background:radial-gradient(ellipse at 50% 0,#95622e55,transparent 70%),#102833}
dialog[data-mode=wager] .clue-tag{justify-content:center;font:400 36px var(--display);letter-spacing:4px;color:#ffdb91;margin:28px 0 18px}
dialog[data-mode=wager] .clue-text{text-align:center;font:400 clamp(32px,4.6vw,60px)/1.1 var(--display);letter-spacing:1px;text-transform:uppercase;margin-inline:auto;color:#fff2d6}
.wager-box{background:#081c25;border:1px solid #ad884f7a;border-radius:3px;padding:22px}.wager-box label{font-size:13px}.wager-box p{font-size:13px;max-width:820px;line-height:1.6}.wager-box input{font-family:var(--display);font-size:25px;width:140px;color:#ffdc95}.wager-box button{margin-inline-start:16px}
.final-row{border-radius:3px;background:#061c26;border-color:#8f815a}.final-row input{color:var(--gold)}
.settings-grid .option{padding:12px;background:#08222d;border:1px solid #445f68;border-radius:3px}
.rules h3{font:400 25px var(--display);letter-spacing:.5px;color:var(--gold)}.rules p{font-size:14px;line-height:1.7}
.results{position:relative;padding:44px 0}.results::before{content:'✦';position:absolute;top:32px;right:10%;font-size:140px;color:#f5c87525;pointer-events:none}
.results #results-title{font:400 clamp(43px,6vw,84px)/1.05 var(--display);letter-spacing:.5px;max-width:1000px}
.results #results-title em{font:italic .95em Georgia,serif;color:var(--gold)}
.rankings{max-width:880px;gap:12px}.rank-row{border:1px solid #7a7556;border-radius:3px;background:linear-gradient(120deg,#1a3a44,#091f29);padding:19px 24px}.rank-row:first-child{border-color:var(--gold);background:linear-gradient(120deg,#51432c,#182e32);box-shadow:0 8px 30px #e8b25112}.rank-row>span{font:400 24px var(--display);color:#d8bea0}.rank-row strong{font:400 35px var(--display);letter-spacing:1px}.rank-row h2{font-size:19px}
.review-item{border-bottom-color:#49636a}.review-item summary{font-size:15px;line-height:1.6}
.score-flare{position:absolute;inset:auto 25px 25px auto;z-index:3;pointer-events:none;padding:13px 22px;border:1px solid #ffdf9b;background:#112c2bf5;color:#ffdf9b;box-shadow:0 12px 35px #0008;font:400 34px/1 var(--display);letter-spacing:1px;opacity:0;max-width:80%}
.score-flare small{display:block;color:#ddf1df;font:700 10px/1.4 Arial,sans-serif;letter-spacing:1.4px;margin-top:7px;overflow-wrap:anywhere}
.score-flare.lit{animation:score-rise 1.9s ease both}
@keyframes score-rise{0%{opacity:0;transform:translateY(14px) scale(.95)}15%,75%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-15px)}}
@keyframes curtain-in{from{opacity:0;transform:translateY(12px) scale(.985)}to{opacity:1;transform:none}}
@keyframes answer-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  body[data-effects=on] dialog[open]{animation:curtain-in .26s ease-out}
  body[data-effects=on] .answer{animation:answer-in .28s ease-out}
  body[data-effects=on] .results .rank-row{animation:answer-in .4s both}
  body[data-effects=on] .results .rank-row:nth-child(2){animation-delay:.1s}
  body[data-effects=on] .results .rank-row:nth-child(3){animation-delay:.2s}
}
body[data-effects=off] :is(button,.progress-track i){transition:none}
body[data-effects=off] button:hover:not(:disabled){transform:none}
body[data-effects=off] .score-flare{display:none}
body.focus-mode .wrap{padding:10px 28px 6px}
body.focus-mode .game-head{margin:4px 0 13px}
body.focus-mode .game-head h2{font-size:34px}
body.focus-mode .game-head h2::before{display:none}
@media(min-width:901px) and (max-height:850px){
  body.focus-mode .board{padding:10px;gap:7px}
  body.focus-mode .category{min-height:65px;padding:7px 6px}
  body.focus-mode .category-icon{width:16px;height:16px;margin-bottom:4px}
  body.focus-mode .category h2{font-size:17px}
  body.focus-mode .category p{display:none}
  body.focus-mode .tile{min-height:46px;height:6.7vh;padding:5px;font-size:34px}
  body.focus-mode .team,body.focus-mode .team.active{padding:8px 12px}
  body.focus-mode .team h2{margin:5px 0}
  body.focus-mode .team strong{font-size:29px}
  body.focus-mode .team button{margin-top:5px;min-height:27px}
  body.focus-mode .board-foot{padding-top:10px}
}
@media(max-width:1100px){
  .wrap{padding:24px 28px}.intro{grid-template-columns:1fr 1fr;gap:20px}.hero{padding:34px 25px 25px}.hero h2{font-size:78px}.hero h2 em{font-size:76px}.hero .edition-note{gap:19px}.edition-note span{font-size:8px}.setup-panel{padding:26px 22px}.show-badge{font-size:9px}.game-head{align-items:start;gap:15px}.toolbar button{padding:8px 10px}
}
@media(max-width:900px){
  .intro{grid-template-columns:1fr;gap:24px}.hero{min-height:640px;background-position:center 70%;padding:34px}.hero h2{font-size:98px}.hero h2 em{font-size:103px}.hero .lead{max-width:390px}.setup-panel{padding:28px}.game-head{flex-direction:column}.category{min-height:95px}.category h2{font-size:18px}.teams{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-inner{padding:22px 26px}.topic-strip{justify-content:start;gap:12px 20px}.show-badge{display:none}
}
@media(max-width:650px){
  body::after{inset:6px}.wrap,body.focus-mode .wrap{padding:18px}.masthead{padding-bottom:16px}.brand{font-size:21px}.masthead .edition{font-size:8px;letter-spacing:1px}.intro{padding-top:20px}.hero{padding:28px 22px 24px;min-height:610px}.hero .eyebrow{font-size:8px;letter-spacing:1px;padding:7px 9px}.hero h2{font-size:80px;margin-top:25px}.hero h2 em{font-size:82px;letter-spacing:-4px}.hero .lead{font-size:16px;line-height:1.5;margin:auto 0 9px}.hero>.muted{font-size:12px}.hero .edition-note{gap:22px;margin-top:18px;padding-top:16px}.edition-note strong{font-size:28px}.edition-note span{font-size:7px;letter-spacing:.7px}.setup-panel{padding:24px 20px}.setup-panel h2{font-size:28px}.setup-panel .field-row{gap:12px}.field-row select{font-size:13px;padding:9px 6px}.topic-strip{font-size:10px;gap:12px}.topic-strip span::before{margin-right:6px}.how{font-size:12px}.game-head h2,body.focus-mode .game-head h2{font-size:31px}.toolbar{gap:8px}.toolbar button{font-size:10px;flex:1;white-space:nowrap;padding:8px}.board{gap:6px;padding:10px}.category{min-height:98px;padding:9px 5px}.category h2{font-size:17px}.category-icon{width:19px;height:19px}.tile{min-height:66px;font-size:34px}.teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.team,.team.active{padding:12px}.team h2{font-size:12px}.team strong{font-size:31px}.team.leader::before{right:8px;font-size:7px}.round-line{font-size:10px;gap:10px}.key-guide{font-size:9px}.dialog-inner{padding:19px 17px}.dialog-top h2{font-size:11px}.dialog-top button{font-size:10px;padding:6px 8px}.clue-text{font-size:26px;line-height:1.3}.clue-tag{font-size:9px;letter-spacing:1.6px}.response-bar{gap:10px}.response-bar label{font-size:11px}.response-bar select{font-size:12px}.timer{font-size:26px;min-width:48px}.clue-actions button{font-size:12px;padding:10px;flex:1}.answer{padding:17px}.answer h3{font-size:21px}.answer p{font-size:14px}.answer .accept{font-size:11px}.wager-box{padding:17px}.wager-box label{display:flex;flex-wrap:wrap;gap:9px}.wager-box button{margin:15px 0 0;width:100%;font-size:12px}.wager-box select{max-width:100%}dialog[data-mode=wager] .clue-tag{font-size:27px;letter-spacing:2px}.score-flare{right:15px;bottom:15px;font-size:28px}.rank-row{padding:17px;gap:14px}.rank-row h2{font-size:16px}.rank-row strong{font-size:28px}.results::before{font-size:80px;right:0;top:60px}.footer{gap:12px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){.score-flare,.confetti{display:none}.tile:hover:not(:disabled),button:hover:not(:disabled){transform:none}}
