:root {
  --venue:#080a0d;
  --venue-2:#10141a;
  --venue-3:#181e25;
  --paper:#f4f1e8;
  --ink:#0b1014;
  --muted:#66707a;
  --line:#cbd0d3;
  --house:#ff6a3d;
  --house-2:#56e2d0;
  --house-3:#ffd43d;
  --game-a:#36c6dc;
  --game-b:#ff3f68;
  --game-c:#ffd449;
  --game-bg:#10131b;
  --game-paper:#f4f3e8;
  --game-ink:#0c1117;
  --art-label:"PLAY";
  --art-symbol:"✦";
  --shadow:0 20px 55px rgba(0,0,0,.28);
  --hard-shadow:8px 8px 0 rgba(0,0,0,.9);
  --display:"Arial Black","Aptos Display","Helvetica Neue",Arial,sans-serif;
  --body:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{min-width:320px;background:var(--venue);scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--venue);color:#fff;font-family:var(--body);font-size:16px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.45}
a{color:inherit}
img{display:block;max-width:100%}
h1,h2,h3,p,blockquote,dl,dd{margin-top:0}
.hidden,[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--house-3);outline-offset:3px}
.skip-link{position:fixed;top:-8rem;left:1rem;z-index:1000;background:#fff;color:#000;padding:.8rem 1rem;font-weight:900}
html[data-keyboard="true"] .skip-link:focus{top:1rem}

/* House shell */
.app-shell{min-height:100vh;background:var(--venue);position:relative;overflow-x:hidden}
.app-shell:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 15% 10%,rgba(86,226,208,.08),transparent 30%),radial-gradient(circle at 85% 15%,rgba(255,106,61,.08),transparent 24%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,auto,28px 28px,28px 28px}
.app-shell>*{position:relative;z-index:1}
.house-bar{position:sticky;top:0;z-index:90;min-height:76px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2rem;padding:.7rem clamp(1rem,4vw,3.5rem);background:rgba(8,10,13,.96);backdrop-filter:blur(16px);border-bottom:1px solid #29313a}
.house-brand{display:flex;align-items:center;gap:.8rem;border:0;background:none;color:#fff;text-align:left;padding:0}
.house-brand strong{display:block;font-family:var(--display);font-size:1rem;letter-spacing:.06em;text-transform:uppercase}
.house-brand small{display:block;margin-top:.12rem;color:#7f8b96;font-size:.6rem;text-transform:uppercase;letter-spacing:.2em}
.lantern-emblem{width:33px;height:43px;border:3px solid var(--house);display:grid;place-items:center;clip-path:polygon(20% 0,80% 0,100% 18%,100% 82%,80% 100%,20% 100%,0 82%,0 18%)}
.lantern-emblem i{display:block;width:11px;height:24px;background:var(--house);clip-path:polygon(50% 0,100% 48%,68% 100%,32% 100%,0 48%)}
.house-nav{display:flex;justify-content:center;align-items:center;gap:.1rem}
.nav-item{border:0;background:transparent;color:#aeb7c0;padding:.78rem .85rem;font-size:.78rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;position:relative}
.nav-item:hover,.nav-item[aria-current="page"]{color:#fff}
.nav-item[aria-current="page"]:after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.25rem;height:3px;background:var(--house);transform:skewX(-18deg)}
.account-ticket{border:1px solid #48515b;background:#14191f;color:#fff;padding:.48rem .75rem;text-align:right;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}
.account-ticket span{display:block;color:#7f8b96;font-size:.56rem;letter-spacing:.14em;text-transform:uppercase}
.account-ticket strong{font-size:.82rem}
.house-footer{min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem clamp(1rem,4vw,3.5rem);background:#050608;color:#65717c;border-top:1px solid #252c33;font-size:.66rem;text-transform:uppercase;letter-spacing:.11em}
.wide-main{width:100%}

/* Shared controls */
.ticket-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.78rem 1.05rem;border:2px solid currentColor;background:#fff;color:#0c1117;font-weight:950;letter-spacing:.02em;text-transform:uppercase;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);box-shadow:6px 6px 0 rgba(0,0,0,.65);transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}
.ticket-button:hover:not(:disabled){transform:translate(3px,3px);box-shadow:3px 3px 0 rgba(0,0,0,.75);filter:saturate(1.08)}
.ticket-button.primary{background:var(--game-c,var(--house-3));color:var(--game-ink,#0c1117);border-color:var(--game-ink,#0c1117)}
.ticket-button.ghost{background:transparent;color:inherit;border-color:currentColor;box-shadow:none}
.ticket-button.small{min-height:36px;padding:.42rem .65rem;font-size:.72rem;box-shadow:3px 3px 0 rgba(0,0,0,.7)}
.ticket-button.full{width:100%}
.text-link,.quiet-link,.danger-link{border:0;background:none;padding:.25rem 0;text-decoration:underline;text-underline-offset:4px;font-weight:850;color:inherit}
.text-link.light{color:#fff}
.danger-link{color:#ff806c}
.kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;font-weight:950;color:var(--game-b,var(--house))}
.long-copy{font-size:1.05rem;line-height:1.7;color:#6e7881}
.fine-print{font-size:.76rem;color:#7d8790}
label{font-weight:800;font-size:.8rem;letter-spacing:.02em}
input,select,textarea{width:100%;border:2px solid #303841;background:#f8f8f3;color:#0c1117;padding:.82rem .9rem;border-radius:0;min-height:46px}
textarea{min-height:108px;resize:vertical}
input::placeholder,textarea::placeholder{color:#8b9399}

/* Home */
.front-door{min-height:760px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.55fr);gap:clamp(2rem,7vw,7rem);align-items:center;padding:clamp(4rem,8vw,7.5rem) max(1rem,calc((100vw - 1320px)/2));background:#0b0e12;color:#fff;position:relative;overflow:hidden;isolation:isolate}
.front-door:before{content:"";position:absolute;z-index:-2;inset:-25% -10%;background:linear-gradient(120deg,transparent 0 30%,rgba(86,226,208,.18) 30% 50%,transparent 50% 63%,rgba(255,63,104,.16) 63% 78%,transparent 78%);transform:rotate(-4deg)}
.front-door:after{content:"49 GAMES";position:absolute;right:-1.5rem;bottom:-2rem;z-index:-1;color:rgba(255,255,255,.025);font:900 clamp(8rem,18vw,18rem)/.8 var(--display);white-space:nowrap;letter-spacing:-.08em}
.front-copy{max-width:900px}
.front-copy h1{font:900 clamp(3.8rem,8vw,8.2rem)/.82 var(--display);letter-spacing:-.065em;text-transform:uppercase;margin-bottom:1.6rem}
.front-copy h1 em{font-style:normal;color:var(--house-2);-webkit-text-stroke:1px currentColor;text-shadow:7px 7px 0 #ff3f68}
.door-lede{max-width:68ch;color:#b8c2ca;font-size:clamp(1rem,1.5vw,1.18rem);line-height:1.65}
.door-actions{display:flex;flex-wrap:wrap;gap:1rem;margin:1.8rem 0 2.4rem}
.front-door .ticket-button.primary{background:var(--house-3);color:#11161b}
.front-door .ticket-button.ghost{color:#fff}
.house-numbers{display:flex;flex-wrap:wrap;gap:1.7rem;margin:0}
.house-numbers div{padding-left:.85rem;border-left:4px solid var(--house)}
.house-numbers dt{font:900 2rem var(--display);color:#fff}
.house-numbers dd{font-size:.62rem;text-transform:uppercase;letter-spacing:.13em;color:#7f8b96}
.join-window{position:relative;background:#f7f5ed;color:#0d1116;padding:2rem 1.5rem 1.5rem;border:4px solid #0d1116;box-shadow:16px 16px 0 var(--house);transform:rotate(1deg);clip-path:polygon(12px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 12px)}
.window-sign{position:absolute;top:-1.2rem;left:1.4rem;background:var(--house-3);border:3px solid #0d1116;padding:.4rem .75rem;font-size:.62rem;font-weight:950;letter-spacing:.15em}
.window-mark{display:block;font:900 4rem var(--display);text-align:right;color:var(--house);line-height:1}
.join-window h2{font:900 2rem var(--display);text-transform:uppercase;margin-bottom:.5rem}
.join-window p,.join-window small{line-height:1.5;color:#59636b}
.code-field{display:grid;gap:.35rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:900}
.code-field input{min-height:64px;text-align:center;text-transform:uppercase;font:900 2rem ui-monospace,monospace;letter-spacing:.2em;margin-bottom:.7rem}
.running-marquee{display:flex;gap:1.25rem;align-items:center;overflow:hidden;white-space:nowrap;background:var(--house-3);color:#0c1117;padding:.78rem 0;font-family:var(--display);font-size:.78rem;letter-spacing:.12em}
.running-marquee i{color:var(--house)}
.home-section{padding:5rem max(1rem,calc((100vw - 1320px)/2));background:#11161c}
.section-title{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}
.section-title h2{font:900 clamp(2.2rem,4vw,4.2rem)/.95 var(--display);text-transform:uppercase;margin:0}
.section-title .text-link{color:#fff}
.poster-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.house-rules{display:grid;grid-template-columns:repeat(3,1fr);background:#050608;border-top:1px solid #273039}
.rules-ledger{padding:3rem clamp(1.3rem,4vw,4rem);border-right:1px solid #273039}
.rules-ledger:last-child{border-right:0}
.rules-ledger>span{font:900 3rem var(--display);color:var(--house)}
.rules-ledger h3{font:900 1.35rem var(--display);text-transform:uppercase;margin:.6rem 0}
.rules-ledger p{color:#8d98a2;line-height:1.6;margin:0}

/* Game box system */
.game-playbill{position:relative;min-width:0;background:var(--game-bg);color:#fff;isolation:isolate;transition:transform .16s ease,filter .16s ease}
.game-playbill:hover{transform:translateY(-6px);filter:saturate(1.08)}
.playbill-face{position:relative;width:100%;min-height:390px;border:0;background:var(--game-bg);color:var(--game-paper);padding:1rem;text-align:left;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.playbill-face:before{content:var(--art-label);position:absolute;z-index:-2;right:-.05em;bottom:-.06em;font:900 clamp(4.5rem,7vw,8rem)/.72 var(--display);letter-spacing:-.08em;color:var(--game-b);opacity:.18;transform:rotate(-7deg);transform-origin:right bottom;white-space:nowrap}
.playbill-face:after{content:"";position:absolute;z-index:-3;inset:0;background:linear-gradient(145deg,var(--game-a) 0 36%,transparent 36% 62%,var(--game-b) 62% 100%);opacity:.72;clip-path:polygon(0 0,100% 0,100% 100%,0 86%)}
.playbill-no{font:800 .68rem ui-monospace,monospace;letter-spacing:.14em;background:#0b0f14;color:#fff;padding:.35rem .5rem}
.playbill-mark{display:grid;place-items:center;width:74px;height:74px;margin:2rem 0 1.2rem;background:var(--game-c);color:var(--game-ink);border:4px solid var(--game-ink);font:900 2.4rem var(--display);box-shadow:8px 8px 0 var(--game-ink);transform:rotate(-3deg)}
.playbill-genre{font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;font-weight:900;color:var(--game-c)}
.playbill-face h3{max-width:100%;font:900 clamp(1.65rem,2.5vw,2.7rem)/.88 var(--display);text-transform:uppercase;letter-spacing:-.045em;margin:.55rem 0 .8rem;text-wrap:balance}
.playbill-face p{max-width:24ch;color:rgba(255,255,255,.82);font-size:.9rem;line-height:1.35;margin:0 0 auto}
.playbill-foot{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-top:1.4rem;color:rgba(255,255,255,.75)}
.playbill-stub{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.65rem .75rem;background:#080a0d;border-top:1px solid #313942;color:#fff}
.playbill-stub>span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.playbill-stub button{border:0;background:var(--game-c);color:var(--game-ink);padding:.55rem .7rem;font-size:.68rem;font-weight:950;text-transform:uppercase;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.game-playbill.compact .playbill-face{min-height:300px}
.game-playbill.compact .playbill-mark{width:58px;height:58px;font-size:1.8rem;margin:1.25rem 0 1rem}
.game-playbill.compact .playbill-face h3{font-size:1.55rem}

/* Catalog */
.catalog-head{display:grid;grid-template-columns:1.1fr .7fr;align-items:end;gap:4rem;padding:5rem max(1rem,calc((100vw - 1320px)/2)) 3rem;background:#0b0e12;border-bottom:1px solid #2a323b}
.catalog-head h1{font:900 clamp(3rem,6vw,6.5rem)/.84 var(--display);text-transform:uppercase;letter-spacing:-.06em;margin-bottom:1rem}
.catalog-head h1 em{font-style:normal;color:var(--house-2)}
.catalog-head p{color:#8e99a3}
.search-ledger{display:grid;gap:.55rem;color:#fff;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem}
.search-ledger input{background:#171d24;color:#fff;border-color:#414b55}
.catalog-tools{position:sticky;top:76px;z-index:60;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;padding:.75rem max(1rem,calc((100vw - 1320px)/2));background:rgba(14,18,23,.96);border-bottom:1px solid #303842}
.filter-tab{border:1px solid #3b4650;background:#161c22;color:#aeb7c0;padding:.58rem .8rem;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.filter-tab[aria-pressed="true"]{background:var(--house-3);color:#11161b;border-color:var(--house-3)}
.catalog-tools>span{margin-left:auto;color:#78838d;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.playbill-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;padding:2rem max(1rem,calc((100vw - 1320px)/2)) 5rem;background:#11161c}
.empty-house{grid-column:1/-1;min-height:360px;display:grid;place-items:center;align-content:center;text-align:center;color:#9da6ae}
.empty-house>span{font:900 5rem var(--display);color:var(--house)}

/* Game detail */
.game-billboard{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(360px,.8fr) minmax(0,1.2fr);background:var(--game-bg);color:#fff;position:relative;overflow:hidden}
.billboard-poster{position:relative;overflow:hidden;padding:clamp(3rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center;background:var(--game-a);color:var(--game-ink);isolation:isolate;clip-path:polygon(0 0,100% 0,92% 100%,0 100%)}
.billboard-poster:before{content:var(--art-label);position:absolute;z-index:-1;left:-.08em;bottom:-.05em;font:900 clamp(7rem,15vw,16rem)/.7 var(--display);color:var(--game-b);opacity:.28;transform:rotate(-8deg);white-space:nowrap}
.billboard-mark{display:grid;place-items:center;width:108px;height:108px;background:var(--game-c);border:6px solid var(--game-ink);box-shadow:12px 12px 0 var(--game-ink);font:900 3.7rem var(--display);transform:rotate(-4deg);margin-bottom:2rem}
.billboard-poster>p{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;font-weight:900}
.billboard-poster h1{font:900 clamp(4rem,7vw,7.5rem)/.78 var(--display);text-transform:uppercase;letter-spacing:-.07em;margin:.6rem 0 1rem}
.billboard-poster blockquote{font-size:1.3rem;line-height:1.35;max-width:28ch;font-weight:800}
.perforation{display:none}
.billboard-poster dl{display:flex;flex-wrap:wrap;gap:1.5rem;margin:2rem 0 0}
.billboard-poster dl div{border-left:4px solid var(--game-ink);padding-left:.7rem}
.billboard-poster dt{font:900 1.4rem var(--display);text-transform:uppercase}
.billboard-poster dd{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}
.billboard-copy{padding:clamp(3rem,7vw,7rem);display:flex;flex-direction:column;justify-content:center;max-width:900px}
.billboard-copy h2{font:900 clamp(2rem,4vw,4rem)/.98 var(--display);text-transform:uppercase;letter-spacing:-.035em;margin-bottom:1.2rem}
.billboard-copy .long-copy{color:#b7c0c7}
.rule-sheet{margin:2rem 0;padding:1.4rem 1.5rem;background:#171d24;border-left:7px solid var(--game-a)}
.rule-sheet h3{font:900 1rem var(--display);text-transform:uppercase}
.rule-sheet ol{display:grid;gap:.6rem;padding-left:1.25rem;color:#c8d0d6}
.game-facts{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.6rem}
.game-facts span{padding:.46rem .6rem;border:1px solid #46515b;color:#aeb7c0;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.billboard-actions{display:flex;flex-wrap:wrap;gap:.8rem}

/* Host setup, join, auth, account */
.host-desk{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);min-height:calc(100vh - 76px);background:#11161c}
.host-poster{position:relative;overflow:hidden;padding:clamp(3rem,6vw,6rem);background:var(--game-a);color:var(--game-ink);display:flex;flex-direction:column;justify-content:center}
.host-poster:after{content:var(--art-label);position:absolute;right:-.1em;bottom:-.06em;font:900 clamp(8rem,15vw,15rem)/.7 var(--display);color:var(--game-b);opacity:.25;transform:rotate(-8deg)}
.host-poster>span{position:relative;z-index:1;display:grid;place-items:center;width:90px;height:90px;background:var(--game-c);border:5px solid var(--game-ink);box-shadow:10px 10px 0 var(--game-ink);font:900 3rem var(--display)}
.host-poster h1{position:relative;z-index:1;font:900 clamp(3.4rem,6vw,6.8rem)/.82 var(--display);text-transform:uppercase;letter-spacing:-.06em;margin:1.5rem 0 1rem}
.host-poster p,.host-poster blockquote,.host-poster button{position:relative;z-index:1}
.host-poster blockquote{font-size:1.2rem;line-height:1.4;max-width:28ch}
.setup-ledger{padding:clamp(2rem,6vw,5rem);background:#f3f3ed;color:#0d1217;display:flex;flex-direction:column;justify-content:center}
.setup-ledger h2{font:900 clamp(2.3rem,4vw,4.3rem)/.9 var(--display);text-transform:uppercase}
.ledger-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.setup-ledger label,.ledger-select{display:grid;gap:.45rem}
.house-switches{margin:1rem 0;padding:1rem;border:2px solid #c9ced2;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.house-switches legend{font-weight:950;text-transform:uppercase;letter-spacing:.1em;padding:0 .4rem}
.house-switches label,.setting-switch{display:flex;align-items:center;gap:.7rem;font-size:.8rem}
.house-switches input,.setting-switch input{width:auto;min-height:auto}
.fresh-rounds{margin:1rem 0;border:2px solid #c9ced2;padding:1rem}
.setup-total{display:flex;justify-content:space-between;gap:1.5rem;align-items:center;margin-top:1.5rem;padding-top:1.4rem;border-top:2px solid #11161b}
.setup-total span{display:block;color:#6d757c;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}
.join-hall,.pass-office{min-height:calc(100vh - 136px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(320px,.6fr) minmax(250px,.45fr);align-items:center;gap:3rem;padding:5rem max(1rem,calc((100vw - 1180px)/2));background:#11161c}
.join-number,.oversize-mark{font:900 clamp(8rem,18vw,18rem)/.7 var(--display);color:rgba(255,255,255,.05)}
.join-card,.auth-ledger,.security-sheet{background:#f3f3ed;color:#0c1117;padding:2rem;box-shadow:12px 12px 0 var(--house)}
.join-card h1,.pass-office h1{font:900 clamp(2.8rem,5vw,5.4rem)/.86 var(--display);text-transform:uppercase;letter-spacing:-.05em}
.join-card form,.auth-ledger form,.security-sheet{display:grid;gap:1rem}
.join-card label,.auth-ledger label,.security-sheet label{display:grid;gap:.42rem}
.join-note{padding:1.5rem;border:2px solid #3d4750;color:#aeb7c0;transform:rotate(1deg)}
.join-note>span{color:var(--house-3);font-size:.65rem;font-weight:900;letter-spacing:.16em}
.pass-office{grid-template-columns:1fr 460px}
.pass-office>div:first-child p{color:#a6b0b9;max-width:52ch;line-height:1.6}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin:-2rem -2rem 1.5rem}
.auth-tabs button{border:0;padding:1rem;background:#d9dde0;color:#4d555c;font-weight:900;text-transform:uppercase}
.auth-tabs button[aria-pressed="true"]{background:var(--house-3);color:#11161b}
.account-page,.account-ledger,.danger-zone{padding:3rem max(1rem,calc((100vw - 1180px)/2));background:#11161c}
.account-pass{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:2rem;background:#171d24;border-left:8px solid var(--house-2)}
.account-pass h1{font:900 3rem var(--display);text-transform:uppercase;margin-bottom:.4rem}
.account-actions,.account-buttons{display:flex;gap:.8rem;flex-wrap:wrap}
.account-ledger{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;padding-top:0}
.order-list{list-style:none;padding:0}.order-list li{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:1rem 0;border-bottom:1px solid #323a43}
.danger-zone{padding-top:0}.danger-zone details{border:1px solid #663a38;padding:1rem}.danger-zone form{display:grid;gap:1rem;max-width:480px;margin-top:1rem}

/* Admin */
.office-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;padding:3.5rem max(1rem,calc((100vw - 1380px)/2)) 2rem;background:#0b0e12}
.office-head h1{font:900 clamp(3rem,5vw,5.8rem)/.82 var(--display);text-transform:uppercase;letter-spacing:-.055em;margin:0}
.office-head dl{display:flex;gap:.8rem;margin:0}
.office-head dl div{min-width:108px;padding:.8rem;border-left:4px solid var(--house);background:#151b21}
.office-head dt{font:900 1.7rem var(--display)}.office-head dd{font-size:.58rem;color:#87929b;text-transform:uppercase;letter-spacing:.1em}
.office-tabs{display:flex;gap:.25rem;padding:0 max(1rem,calc((100vw - 1380px)/2));background:#0b0e12;border-bottom:1px solid #2f3740}
.office-tabs button{border:0;background:transparent;color:#8e99a3;padding:1rem .9rem;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.office-tabs button[aria-current="page"]{color:#fff;background:#171d24;border-bottom:4px solid var(--house-3)}
.office-search{position:sticky;top:76px;z-index:50;display:grid;grid-template-columns:1fr auto;align-items:end;gap:1rem;padding:1rem max(1rem,calc((100vw - 1380px)/2));background:rgba(18,23,29,.97);border-bottom:1px solid #323b44}
.office-search label{display:grid;grid-template-columns:220px minmax(260px,520px);align-items:center;gap:1rem;text-transform:uppercase;color:#98a3ad;font-size:.65rem;letter-spacing:.08em}
.office-search input{background:#090c10;color:#fff;border-color:#46515b;min-height:40px;padding:.55rem .7rem}
.admin-table{margin:0 auto;padding:1rem max(1rem,calc((100vw - 1380px)/2)) 4rem;background:#11161c}
.admin-table>header,.admin-table>div{display:grid;grid-template-columns:minmax(220px,1.2fr) 130px 110px minmax(320px,2fr) 80px;gap:1rem;align-items:center}
.admin-table>header{position:sticky;top:141px;z-index:40;padding:.75rem 1rem;background:#222a32;color:#8e99a3;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}
.admin-table>div{min-height:68px;padding:.65rem 1rem;border-bottom:1px solid #2e3740;background:#151b21}
.admin-table>div:nth-child(odd){background:#12171d}
.admin-table strong{font-size:.86rem}.admin-table strong small{display:block;color:#74808a;font-size:.6rem;margin-top:.2rem;text-transform:uppercase;letter-spacing:.07em}
.admin-table label{display:flex;align-items:center;gap:.4rem}.admin-table input[type="number"]{min-height:36px;padding:.4rem .5rem}.admin-table textarea{min-height:44px;height:44px;padding:.45rem .55rem;resize:none;background:#0c1015;color:#dce2e6;border-color:#3b4650;font-size:.72rem}.publish-check input{width:auto;min-height:auto}.publish-check span{font-size:.68rem}.customer-list,.settings-board,.audit-tape{max-width:1180px;margin:0 auto;padding:2rem 1rem 5rem}.customer-list article{display:grid;grid-template-columns:1fr 100px 120px 100px;gap:1rem;padding:1rem;border-bottom:1px solid #303943}.customer-list article div span{display:block;color:#78838d;font-size:.75rem}.settings-board{display:grid;gap:1rem;max-width:760px}.audit-tape p{display:grid;grid-template-columns:190px 1fr 1fr;gap:1rem;padding:.8rem;border-bottom:1px solid #303943}

/* Room shell */
.room-mast{min-height:86px;display:grid;grid-template-columns:auto 1fr auto auto;gap:1rem;align-items:center;padding:.7rem 1.4rem;background:var(--game-bg);color:#fff;border-bottom:6px solid var(--game-a)}
.room-game-mark{display:grid;place-items:center;width:58px;height:58px;background:var(--game-c);color:var(--game-ink);border:3px solid var(--game-ink);font:900 1.8rem var(--display);box-shadow:5px 5px 0 var(--game-b);transform:rotate(-2deg)}
.room-mast p{margin:0 0 .18rem;color:var(--game-c);font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.13em}
.room-mast h1{font:900 1.7rem/.9 var(--display);text-transform:uppercase;letter-spacing:-.03em;margin:0}
.room-code{padding-left:1rem;border-left:2px solid rgba(255,255,255,.25)}
.room-code span{display:block;color:#8d98a2;font-size:.58rem;text-transform:uppercase;letter-spacing:.15em}
.room-code strong{font:900 1.55rem ui-monospace,monospace;letter-spacing:.18em}
.room-mast .quiet-link{font-size:.72rem}
.lobby-floor{min-height:calc(100vh - 146px);display:grid;grid-template-columns:1.15fr .85fr;background:var(--game-bg);position:relative;overflow:hidden}
.lobby-floor:before{content:var(--art-label);position:absolute;left:-.05em;bottom:-.08em;color:var(--game-b);font:900 clamp(9rem,22vw,22rem)/.7 var(--display);opacity:.16;transform:rotate(-8deg)}
.lobby-invite{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(3rem,7vw,7rem);background:var(--game-a);color:var(--game-ink);clip-path:polygon(0 0,100% 0,88% 100%,0 100%)}
.lobby-invite .kicker{color:var(--game-ink)}.lobby-invite>strong{font-size:.9rem}.giant-code{font:900 clamp(5rem,12vw,12rem)/.8 ui-monospace,monospace;letter-spacing:.08em;margin:2rem 0}.lobby-invite img{width:170px;background:#fff;padding:.6rem;border:4px solid var(--game-ink)}
.lobby-roster{position:relative;padding:clamp(2.5rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center}.lobby-roster h2{font:900 clamp(2rem,4vw,4rem)/.9 var(--display);text-transform:uppercase}.player-ledger{list-style:none;padding:0;margin:0}.player-ledger li{display:grid;grid-template-columns:34px 1fr auto auto;gap:.75rem;align-items:center;padding:.8rem 0;border-bottom:1px solid rgba(255,255,255,.15)}.player-ledger li>span{color:#7c8791;font:700 .68rem ui-monospace}.player-ledger li strong{font-weight:850}.player-ledger li b{font:900 1rem var(--display)}.player-ledger li em{font-size:.7rem;color:var(--game-c)}.player-ledger li.self strong{color:var(--game-c)}.player-ledger li.out{opacity:.45;text-decoration:line-through}.waiting-pulse{display:flex;align-items:center;gap:.8rem;margin-top:1.4rem;color:#a8b2ba}.waiting-pulse i{width:14px;height:14px;background:var(--game-c);border-radius:50%;animation:pulse 1.1s infinite}
.host-floor{min-height:calc(100vh - 146px);background:var(--game-bg);display:grid;grid-template-rows:minmax(0,1fr) auto;position:relative;overflow:hidden}
.host-stage{position:relative;min-height:610px;padding:clamp(2rem,5vw,5rem);display:grid;align-items:center;overflow:auto}
.host-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,var(--game-a) 0 62%,transparent 62% 100%);opacity:.96;clip-path:polygon(0 7%,83% 0,76% 94%,0 100%)}
.round-stage{position:relative;z-index:1;max-width:1040px;color:var(--game-ink);padding:clamp(1.2rem,3vw,2.8rem);text-align:left}
.stage-label{display:flex;justify-content:space-between;gap:1rem;border-bottom:3px solid var(--game-ink);padding-bottom:.65rem;margin-bottom:1.5rem;font-size:.67rem;font-weight:950;text-transform:uppercase;letter-spacing:.15em}
.round-stage>h2{font:900 clamp(2.8rem,6vw,6.8rem)/.88 var(--display);letter-spacing:-.055em;text-wrap:balance;margin:0 0 1.5rem;max-width:15ch}
.submission-ticker{position:absolute;z-index:4;right:2rem;bottom:1.5rem;display:flex;align-items:end;gap:.7rem;background:var(--game-bg);color:#fff;padding:.9rem 1rem;border-left:6px solid var(--game-c)}
.submission-ticker strong{font:900 2.2rem var(--display)}.submission-ticker span{font-size:.64rem;text-transform:uppercase;letter-spacing:.1em;color:#a6b0b8}
.host-rail{z-index:5;display:grid;grid-template-columns:auto minmax(320px,.8fr) minmax(340px,1fr);gap:1rem;align-items:stretch;padding:1rem 1.25rem;background:#0a0d11;border-top:1px solid #313a43}
.shared-meter{display:flex;background:#151b22}.shared-meter>div{min-width:105px;padding:.75rem 1rem;border-right:1px solid #303943}.shared-meter span{display:block;color:#7f8a94;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em}.shared-meter strong{font:900 1.45rem var(--display)}
.control-box{display:grid;grid-template-columns:1fr 1fr auto;gap:.75rem;align-items:center;background:#151b22;padding:.75rem}.control-box .kicker{display:none}.control-box .danger-link{padding:0 .5rem;font-size:.68rem}.rail-roster{background:#151b22;padding:.7rem 1rem;max-height:112px;overflow:auto}.rail-roster .kicker{margin-bottom:.3rem}.rail-roster .player-ledger li{padding:.35rem 0;font-size:.75rem}
.player-floor{min-height:calc(100vh - 146px);background:var(--game-bg);padding:1rem;display:grid;gap:1rem;align-content:start}
.player-floor .round-stage{background:var(--game-a);color:var(--game-ink);max-width:none;padding:1.2rem;clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.player-floor .round-stage>h2{font-size:clamp(2rem,8vw,3.4rem);line-height:.92;max-width:none;margin-bottom:.8rem}
.player-floor .stage-label{margin-bottom:1rem}
.private-envelope{position:relative;background:var(--game-c);color:var(--game-ink);padding:1.1rem 1.1rem 1.25rem;border:3px solid var(--game-ink);box-shadow:7px 7px 0 var(--game-b);overflow:hidden}
.private-envelope:after{content:"PRIVATE";position:absolute;right:-.1em;bottom:-.15em;font:900 4rem/.8 var(--display);opacity:.09;transform:rotate(-5deg)}
.envelope-seal{display:inline-block;border:3px solid var(--game-b);color:var(--game-b);padding:.28rem .45rem;font-size:.6rem;font-weight:950;transform:rotate(-5deg);margin-bottom:.8rem}
.private-envelope p{margin:.4rem 0}.private-envelope p span{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.13em}.private-envelope p strong{display:block;font:900 1.45rem var(--display);text-transform:uppercase}.private-envelope pre{white-space:pre-wrap;font-size:.75rem}
.controller-surface{background:#f5f5ef;color:#0b1014;padding:1rem;box-shadow:0 10px 35px rgba(0,0,0,.25);border-top:7px solid var(--game-b)}
.controller-form{display:grid;gap:.8rem}.controller-form label{display:grid;gap:.45rem}.controller-form textarea{min-height:128px}.controller-choices,.vote-booth,.role-target{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.controller-choices button,.vote-booth button,.role-target button,.timing-button,.power-answer{min-height:64px;border:3px solid #0c1117;background:#fff;color:#0c1117;font-weight:900;padding:.8rem;box-shadow:4px 4px 0 #0c1117;clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)}.controller-choices button:nth-child(3n+1),.vote-booth button:nth-child(3n+1){background:var(--game-c)}.controller-choices button:nth-child(3n+2),.vote-booth button:nth-child(3n+2){background:var(--game-a)}.controller-choices button:nth-child(3n),.vote-booth button:nth-child(3n){background:var(--game-b);color:#fff}.locked-slip,.waiting-card{padding:1.6rem;text-align:center}.locked-slip span{display:inline-block;background:var(--game-b);color:#fff;padding:.3rem .5rem;font-size:.6rem;font-weight:950;letter-spacing:.13em}.locked-slip strong{display:block;font:900 1.6rem var(--display);text-transform:uppercase;margin:.8rem 0}.waiting-card i{display:block;width:20px;height:20px;background:var(--game-a);border-radius:50%;margin:0 auto 1rem;animation:pulse 1s infinite}.waiting-card h3{font:900 1.35rem var(--display);text-transform:uppercase}.score-drawer{border:1px solid #3a444e;background:#131920}.score-drawer summary{padding:.8rem;font-weight:850}.score-drawer .player-ledger{padding:0 .8rem .8rem}
.final-curtain{min-height:calc(100vh - 146px);display:grid;place-items:center;align-content:center;text-align:center;padding:3rem;background:var(--game-bg);position:relative;overflow:hidden}.final-curtain:before{content:"";position:absolute;inset:0;background:radial-gradient(circle,var(--game-a),transparent 55%);opacity:.25}.final-curtain>span{position:relative;color:var(--game-c);font-size:.7rem;font-weight:950;letter-spacing:.2em}.final-curtain h2{position:relative;font:900 clamp(4rem,10vw,10rem)/.8 var(--display);text-transform:uppercase}.final-curtain .player-ledger{position:relative;width:min(620px,90vw)}

/* Round artifacts */
.memory-board,.choice-display,.advocates,.versus,.route-map,.zone-map,.reveal-entries,.advice-stack{display:grid;gap:.7rem;margin-top:1rem}.memory-board{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.memory-board span,.choice-display span{padding:1rem;background:rgba(255,255,255,.72);border:2px solid var(--game-ink);font-weight:900}.choice-display{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.versus{grid-template-columns:1fr auto 1fr;align-items:center}.versus span{padding:1rem;background:var(--game-paper);border:3px solid var(--game-ink);font:900 1.3rem var(--display);text-transform:uppercase}.versus b{text-transform:uppercase}.advocates{grid-template-columns:1fr 1fr}.advocates p{padding:1rem;background:rgba(255,255,255,.75);border:2px solid var(--game-ink)}.advocates span{display:block;font-size:.75rem}.source-slip,.emoji-clue,.device-panel,.reveal-sheet,.experiment-log,.answer-ledger,.claim-tape{margin-top:1rem;padding:1rem;background:rgba(255,255,255,.78);border:3px solid var(--game-ink)}.source-slip>span{display:block;font-size:.58rem;text-transform:uppercase;letter-spacing:.13em}.emoji-clue{font-size:clamp(2.5rem,8vw,6rem);text-align:center}.experiment-log p,.answer-ledger p,.claim-tape p{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--game-ink)}.device-panel>span{font-size:.65rem;font-weight:950;letter-spacing:.14em}.device-panel>div{display:flex;gap:.5rem;margin:.8rem 0}.device-panel i{width:22px;height:22px;border:2px solid var(--game-ink);border-radius:50%;background:var(--game-c)}.route-map,.zone-map{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.route-map>div,.zone-map>div{padding:1rem;background:rgba(255,255,255,.75);border:2px solid var(--game-ink)}.reveal-sheet h3{font:900 1.8rem var(--display);text-transform:uppercase}.reveal-sheet>p{display:grid;gap:.25rem}.reveal-sheet>p span{font-size:.58rem;text-transform:uppercase;letter-spacing:.13em}.reveal-entries{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.reveal-entries article{background:#fff;padding:1rem;border:2px solid var(--game-ink)}.reveal-entries article b{display:block;margin-top:.7rem;font-size:.7rem;text-transform:uppercase}.entry-drawing{width:100%;background:#fff}.scene-map{position:relative;min-height:260px;background:#dce7e6;border:3px solid var(--game-ink);overflow:hidden}.scene-map.interactive{cursor:crosshair}.drawing-board canvas{width:100%;height:auto;background:#fff;border:3px solid #0c1117;touch-action:none}.drawing-board>div{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin-top:.7rem}.card-hand>div{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.card-hand label{display:block}.card-hand input{position:absolute;opacity:0}.card-hand input+span{display:block;min-height:80px;padding:.8rem;background:#fff;border:3px solid #0c1117}.card-hand input:checked+span{background:var(--game-c);box-shadow:5px 5px 0 #0c1117}.allocation-board{display:grid;gap:.6rem}.allocation-board header{display:flex;justify-content:space-between}.allocation-board label{display:grid;grid-template-columns:1fr 90px;align-items:center;gap:.8rem}.ranking-board ol{list-style:none;padding:0}.ranking-board li{display:grid;grid-template-columns:1fr auto auto;gap:.4rem;align-items:center;padding:.55rem;border-bottom:1px solid #c5c9cb}.reaction-pad,.rhythm-pad{display:grid;gap:.8rem}.reaction-pad button,.rhythm-pad button{min-height:110px;background:var(--game-b);color:#fff;border:4px solid #0c1117;font:900 1.5rem var(--display);box-shadow:7px 7px 0 #0c1117}.beat-count{text-align:center;font-weight:900}.role-rest{display:grid;gap:1rem;text-align:center}.hotspot-controller{display:grid;gap:.8rem}

/* Presentation */
.presentation-shell{min-height:100vh;background:var(--game-bg);color:#fff;overflow:hidden;position:relative}
.presentation-shell:before{content:"";position:fixed;inset:0;background:linear-gradient(120deg,var(--game-a) 0 66%,transparent 66%);clip-path:polygon(0 5%,82% 0,76% 94%,0 100%);opacity:.95}
.presentation-grid{min-height:100vh;position:relative;z-index:1;display:grid;grid-template-columns:1fr 330px}
.presentation-grid>div{display:grid;align-items:center;padding:4rem}.presentation-grid .round-stage{padding:2rem}.presentation-grid .round-stage>h2{font-size:clamp(4.5rem,7vw,8.8rem);max-width:13ch}.presentation-grid>aside{background:rgba(7,9,12,.96);padding:2rem;border-left:8px solid var(--game-c)}.presentation-grid>aside>p{color:var(--game-c);font-weight:900;text-transform:uppercase;letter-spacing:.13em}.presentation-grid>aside>strong{font:900 2rem ui-monospace;letter-spacing:.2em}.presentation-lobby,.presentation-finale{position:relative;z-index:1;min-height:100vh;display:grid;place-items:center;align-content:center;text-align:center;padding:3rem}.presentation-lobby h1,.presentation-finale h1{font:900 clamp(5rem,12vw,12rem)/.75 var(--display);text-transform:uppercase}.presentation-lobby strong{font:900 clamp(5rem,11vw,11rem)/.8 ui-monospace;letter-spacing:.12em}.presentation-lobby img{width:180px;background:#fff;padding:.5rem}.presentation-lobby ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.presentation-lobby li{background:#0a0d11;padding:.7rem 1rem}.presentation-finale .player-ledger{width:min(700px,90vw)}

/* Misc */
.toast{position:fixed;right:1rem;bottom:1rem;z-index:999;max-width:min(420px,calc(100vw - 2rem));padding:.9rem 1rem;background:#fff;color:#0c1117;border-left:7px solid var(--house-2);box-shadow:var(--shadow);transform:translateY(140%);transition:transform .2s}.toast.show{transform:translateY(0)}.toast[data-kind="error"]{border-color:#ff5c57}.toast[data-kind="warn"]{border-color:#ffd43d}.error-stage{min-height:70vh;display:grid;place-items:center;align-content:center;text-align:center;padding:3rem}.error-stage h1{font:900 clamp(2rem,5vw,5rem)/.9 var(--display);text-transform:uppercase}.help-manual{max-width:1040px;margin:0 auto;padding:5rem 1rem}.help-manual header h1{font:900 clamp(3rem,6vw,6rem)/.86 var(--display);text-transform:uppercase}.help-manual ol{list-style:none;padding:0}.help-manual li{display:grid;grid-template-columns:80px 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid #303943}.help-manual li>span{font:900 3rem var(--display);color:var(--house)}.help-manual aside{margin-top:2rem;padding:1.5rem;background:#161c22;border-left:7px solid var(--house-2)}.library-head{padding:4rem max(1rem,calc((100vw - 1320px)/2)) 2rem;background:#0b0e12}.library-head h1{font:900 clamp(3rem,6vw,6rem)/.85 var(--display);text-transform:uppercase}.library-head p{color:#8f9aa4}.library-shelf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;padding:0 max(1rem,calc((100vw - 1320px)/2)) 5rem;background:#11161c}.signin-ribbon{display:flex;justify-content:center;align-items:center;gap:1.2rem;padding:2rem;background:var(--house);color:#11161b;font-weight:900}

@keyframes pulse{0%,100%{transform:scale(.75);opacity:.5}50%{transform:scale(1.15);opacity:1}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}

@media (max-width:1100px){
  .house-nav{display:none}.house-bar{grid-template-columns:1fr auto}.poster-row{grid-template-columns:repeat(3,1fr)}.playbill-wall,.library-shelf{grid-template-columns:repeat(3,1fr)}
  .front-door{grid-template-columns:1fr}.join-window{max-width:520px}.game-billboard,.host-desk{grid-template-columns:1fr}.billboard-poster{min-height:520px;clip-path:none}.host-poster{min-height:480px}
  .join-hall{grid-template-columns:1fr 1fr}.join-number{display:none}.join-note{grid-column:1/-1}.host-rail{grid-template-columns:1fr 1fr}.rail-roster{grid-column:1/-1}.admin-table>header,.admin-table>div{grid-template-columns:minmax(180px,1fr) 100px 90px minmax(220px,1.5fr) 70px}
}
@media (max-width:760px){
  .house-bar{min-height:66px;padding:.55rem .8rem}.house-brand small{display:none}.account-ticket span{display:none}.house-footer{display:none}
  .front-door{min-height:auto;padding:3.5rem 1rem 4rem}.front-copy h1{font-size:3.55rem}.front-copy h1 em{text-shadow:4px 4px 0 #ff3f68}.house-numbers{gap:1rem}.house-numbers div{min-width:42%}
  .home-section{padding:3rem 1rem}.section-title{align-items:flex-start}.section-title .text-link{display:none}.poster-row,.playbill-wall,.library-shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.game-playbill.compact .playbill-face,.playbill-face{min-height:290px;padding:.75rem}.playbill-mark{width:55px;height:55px;font-size:1.7rem;box-shadow:5px 5px 0 var(--game-ink);margin:1.2rem 0 .8rem}.playbill-face h3{font-size:1.45rem}.playbill-face p{font-size:.78rem}.playbill-foot{font-size:.55rem}.playbill-stub{padding:.5rem}.house-rules{grid-template-columns:1fr}.rules-ledger{border-right:0;border-bottom:1px solid #273039;padding:2rem 1rem}
  .catalog-head{grid-template-columns:1fr;gap:1.5rem;padding:3rem 1rem 2rem}.catalog-head h1{font-size:3.3rem}.catalog-tools{top:66px;padding:.6rem 1rem;overflow-x:auto;flex-wrap:nowrap}.filter-tab{white-space:nowrap}.catalog-tools>span{display:none}.playbill-wall{padding:1rem 1rem 3rem}
  .game-billboard{display:block}.billboard-poster{min-height:430px;padding:2rem 1rem}.billboard-poster h1{font-size:4.1rem}.billboard-copy{padding:2rem 1rem}.billboard-copy h2{font-size:2.1rem}
  .host-poster{min-height:390px;padding:2rem 1rem}.host-poster h1{font-size:4rem}.setup-ledger{padding:2rem 1rem}.ledger-row,.house-switches{grid-template-columns:1fr}.setup-total{align-items:stretch;flex-direction:column}
  .join-hall,.pass-office{display:block;min-height:calc(100vh - 66px);padding:2rem 1rem}.join-card,.auth-ledger{padding:1.4rem}.join-note{margin-top:1.5rem}.pass-office>div:first-child{margin-bottom:2rem}
  .account-pass,.account-ledger{display:block}.account-actions{margin-top:1rem}.security-sheet{margin-top:2rem}.office-head{display:block;padding:2rem 1rem 1rem}.office-head dl{overflow-x:auto;margin-top:1.5rem}.office-tabs{padding:0 1rem;overflow-x:auto}.office-search{top:66px;padding:.75rem 1rem;display:block}.office-search label{display:grid;grid-template-columns:1fr;gap:.4rem}.office-search>b{display:none}.admin-table{padding:0 0 3rem;overflow-x:auto}.admin-table>header,.admin-table>div{min-width:900px}.customer-list article{grid-template-columns:1fr 80px}.customer-list article>:nth-child(n+3){display:none}
  .room-mast{min-height:74px;grid-template-columns:auto 1fr auto;padding:.5rem .7rem;border-bottom-width:4px}.room-game-mark{width:48px;height:48px;font-size:1.4rem}.room-mast h1{font-size:1.15rem}.room-mast p{font-size:.52rem}.room-code strong{font-size:1.1rem}.room-mast .quiet-link{display:none}
  .lobby-floor{display:block;min-height:calc(100vh - 74px)}.lobby-invite{clip-path:none;padding:2rem 1rem;align-items:center;text-align:center}.giant-code{font-size:4.3rem;margin:1rem 0}.lobby-invite img{width:140px}.lobby-roster{padding:2rem 1rem}
  .host-floor{min-height:calc(100vh - 74px)}.host-stage{min-height:calc(100vh - 210px);padding:1rem 1rem 5rem}.host-stage:before{clip-path:none;background:var(--game-a)}.round-stage{padding:.8rem}.round-stage>h2{font-size:clamp(2.4rem,12vw,4.4rem);max-width:none}.submission-ticker{right:1rem;bottom:.75rem}.host-rail{display:grid;grid-template-columns:1fr;padding:.65rem}.shared-meter{overflow-x:auto}.control-box{grid-template-columns:1fr 1fr}.control-box .danger-link{grid-column:1/-1}.rail-roster{display:none}
  .player-floor{min-height:calc(100vh - 74px);padding:.7rem}.controller-choices,.vote-booth,.role-target{grid-template-columns:1fr}.player-floor .round-stage>h2{font-size:2.2rem}.score-drawer{margin-bottom:.7rem}
  .presentation-grid{grid-template-columns:1fr}.presentation-grid>aside{position:absolute;right:1rem;top:1rem;width:260px}.presentation-grid>div{padding:2rem}.presentation-grid .round-stage>h2{font-size:4rem}
}
@media (max-width:430px){.poster-row,.playbill-wall,.library-shelf{grid-template-columns:1fr}.playbill-face,.game-playbill.compact .playbill-face{min-height:330px}.front-copy h1{font-size:3rem}.account-ticket{max-width:115px}.room-mast{grid-template-columns:auto 1fr auto}.room-code{padding-left:.5rem}.room-game-mark{width:42px;height:42px}.player-floor .round-stage>h2{font-size:2rem}}

/* Curated game palettes */
.theme-signal{--game-a:#36c6dc;--game-b:#ff3f68;--game-c:#ffd449;--game-bg:#11131b;--game-paper:#f4f3e8;--game-ink:#0d1117;}
.theme-tabloid{--game-a:#f44336;--game-b:#111111;--game-c:#ffd43d;--game-bg:#1a1513;--game-paper:#fff2d7;--game-ink:#15100e;}
.theme-ink{--game-a:#3a80a8;--game-b:#112c3b;--game-c:#f5ca56;--game-bg:#0e1820;--game-paper:#e8f0ef;--game-ink:#0a1720;}
.theme-noir{--game-a:#c9aa63;--game-b:#26282c;--game-c:#d85d4f;--game-bg:#0b0c0e;--game-paper:#ece7db;--game-ink:#17181a;}
.theme-velvet{--game-a:#e58aa0;--game-b:#6a2238;--game-c:#f0c552;--game-bg:#241018;--game-paper:#f9e7e8;--game-ink:#291019;}
.theme-acid{--game-a:#b4ef3b;--game-b:#7335d4;--game-c:#ff6e5a;--game-bg:#15101b;--game-paper:#f1f8d7;--game-ink:#161019;}
.theme-auction{--game-a:#e64f3b;--game-b:#c99a2f;--game-c:#263947;--game-bg:#15181a;--game-paper:#f5e8c5;--game-ink:#1a1711;}
.theme-archive{--game-a:#909c61;--game-b:#53472e;--game-c:#e3b74b;--game-bg:#171811;--game-paper:#e8e7cf;--game-ink:#1d2114;}
.theme-photo{--game-a:#4fd2d0;--game-b:#ff6f61;--game-c:#f7cf4f;--game-bg:#111a1d;--game-paper:#e8f6f3;--game-ink:#102022;}
.theme-vault{--game-a:#2d7d59;--game-b:#d1ad4c;--game-c:#ad473c;--game-bg:#0b1510;--game-paper:#e3eadf;--game-ink:#101b13;}
.theme-type{--game-a:#f2f0e8;--game-b:#111111;--game-c:#e93e47;--game-bg:#141414;--game-paper:#fffdf6;--game-ink:#111111;}
.theme-stage{--game-a:#8c54d9;--game-b:#ff7a3d;--game-c:#f4d34e;--game-bg:#17101f;--game-paper:#f3e9f8;--game-ink:#1b1124;}
.theme-alarm{--game-a:#ff4747;--game-b:#121212;--game-c:#f6d94a;--game-bg:#180d0d;--game-paper:#f4eeee;--game-ink:#160b0b;}
.theme-quiz{--game-a:#3b72db;--game-b:#f2c94c;--game-c:#e85d48;--game-bg:#10182a;--game-paper:#edf2ff;--game-ink:#101a2f;}
.theme-survey{--game-a:#ff8a3d;--game-b:#254c73;--game-c:#f5d55d;--game-bg:#111926;--game-paper:#eef2f4;--game-ink:#0f1b25;}
.theme-postal{--game-a:#e74b3c;--game-b:#2d63a2;--game-c:#f2d968;--game-bg:#131925;--game-paper:#f4f1e7;--game-ink:#121821;}
.theme-yearbook{--game-a:#4566a3;--game-b:#d4a84a;--game-c:#e35d6a;--game-bg:#111929;--game-paper:#ecf0f7;--game-ink:#111a2c;}
.theme-heist{--game-a:#23a96f;--game-b:#11171a;--game-c:#efb843;--game-bg:#09110e;--game-paper:#dcebe3;--game-ink:#08120d;}
.theme-cipher{--game-a:#38d1d1;--game-b:#11151e;--game-c:#e95a65;--game-bg:#071217;--game-paper:#dff7f3;--game-ink:#06171b;}
.theme-poll{--game-a:#e04d4f;--game-b:#3e62a8;--game-c:#f0cf55;--game-bg:#171620;--game-paper:#f4efe8;--game-ink:#15131c;}
.theme-contrarian{--game-a:#ff4c8b;--game-b:#3e6bd9;--game-c:#f3d44d;--game-bg:#16111b;--game-paper:#fae9f1;--game-ink:#171019;}
.theme-receipt{--game-a:#f2f2ea;--game-b:#151515;--game-c:#f2c94c;--game-bg:#151515;--game-paper:#ffffff;--game-ink:#121212;}
.theme-carbon{--game-a:#7f8d94;--game-b:#30383d;--game-c:#f18645;--game-bg:#111518;--game-paper:#e5e9e9;--game-ink:#111719;}
.theme-bureaucracy{--game-a:#b33f35;--game-b:#dec66d;--game-c:#33566c;--game-bg:#171411;--game-paper:#eee5c9;--game-ink:#1c1710;}
.theme-pixel{--game-a:#8c4fe3;--game-b:#b5ee4e;--game-c:#ff665b;--game-bg:#15101c;--game-paper:#f1f2dd;--game-ink:#15101d;}
.theme-pool{--game-a:#28bdc8;--game-b:#ff8a4c;--game-c:#ffe16a;--game-bg:#0c1b1d;--game-paper:#e6f4f2;--game-ink:#0b1d20;}
.theme-clipboard{--game-a:#50916d;--game-b:#e6ca69;--game-c:#d35d46;--game-bg:#111a14;--game-paper:#edf0dd;--game-ink:#101a13;}
.theme-evidence{--game-a:#f4cb35;--game-b:#181818;--game-c:#ef5c4e;--game-bg:#161616;--game-paper:#fff8d9;--game-ink:#151515;}
.theme-cassette{--game-a:#8a56d5;--game-b:#38c9d1;--game-c:#f2ca47;--game-bg:#15101d;--game-paper:#efe9f7;--game-ink:#17101e;}
.theme-council{--game-a:#2f5878;--game-b:#b44742;--game-c:#e3bd54;--game-bg:#101821;--game-paper:#edf0ef;--game-ink:#111a24;}
.theme-moonlit{--game-a:#394f8f;--game-b:#b9c8e9;--game-c:#df6c5f;--game-bg:#0b1020;--game-paper:#e7ecf7;--game-ink:#10152a;}
.theme-ash{--game-a:#444b50;--game-b:#e36a3d;--game-c:#dbb950;--game-bg:#111416;--game-paper:#e4e3df;--game-ink:#151719;}
.theme-warning{--game-a:#f0ce39;--game-b:#1b1b1b;--game-c:#ef5a42;--game-bg:#171510;--game-paper:#fff4c7;--game-ink:#17140f;}
.theme-parchment{--game-a:#7d2638;--game-b:#d7b45b;--game-c:#324b64;--game-bg:#191014;--game-paper:#eee1bd;--game-ink:#1d1410;}
.theme-industrial{--game-a:#566b78;--game-b:#e3b83d;--game-c:#cf5c3d;--game-bg:#11171b;--game-paper:#e6e8e4;--game-ink:#13191c;}
.theme-technical{--game-a:#2f6ea3;--game-b:#f1cf59;--game-c:#e95a4c;--game-bg:#0c1622;--game-paper:#e6eff5;--game-ink:#0d1722;}
.theme-court{--game-a:#2c4b70;--game-b:#d4ad50;--game-c:#a83f3d;--game-bg:#101622;--game-paper:#eee8d8;--game-ink:#141721;}
.theme-ledger{--game-a:#376654;--game-b:#d4aa43;--game-c:#c95b43;--game-bg:#0d1713;--game-paper:#e6e9d9;--game-ink:#101812;}
.theme-atlas{--game-a:#cb6f3e;--game-b:#315d78;--game-c:#e4c652;--game-bg:#151a1c;--game-paper:#eee7d0;--game-ink:#171b1b;}
.theme-laboratory{--game-a:#dceff1;--game-b:#2f9ea8;--game-c:#e34e58;--game-bg:#0f171b;--game-paper:#f6ffff;--game-ink:#10191c;}
.theme-maproom{--game-a:#2e776f;--game-b:#d77a45;--game-c:#e4c34e;--game-bg:#0d1817;--game-paper:#e5ece4;--game-ink:#101817;}
.theme-blueprint{--game-a:#245d88;--game-b:#f0cc57;--game-c:#df5d4a;--game-bg:#0d1724;--game-paper:#e4edf4;--game-ink:#0c1722;}
.theme-commons{--game-a:#4e7c4f;--game-b:#e1c95d;--game-c:#d26448;--game-bg:#111a12;--game-paper:#e9eddc;--game-ink:#121c13;}
.theme-escape{--game-a:#1d2228;--game-b:#e44e4b;--game-c:#f0c947;--game-bg:#0a0c0f;--game-paper:#e8e9e8;--game-ink:#0a0d10;}
.theme-workshop{--game-a:#d66a36;--game-b:#38647b;--game-c:#e4c750;--game-bg:#161715;--game-paper:#eee6d6;--game-ink:#181713;}
.art-radio{--art-label:"RADIO";--art-symbol:"◉";}
.art-newspaper{--art-label:"NEWSPAPER";--art-symbol:"▰";}
.art-blueprint{--art-label:"BLUEPRINT";--art-symbol:"⌁";}
.art-casefile{--art-label:"CASEFILE";--art-symbol:"?";}
.art-spotlight{--art-label:"SPOTLIGHT";--art-symbol:"◆";}
.art-fingerprint{--art-label:"FINGERPRINT";--art-symbol:"◎";}
.art-gavel{--art-label:"GAVEL";--art-symbol:"⚖";}
.art-timeline{--art-label:"TIMELINE";--art-symbol:"↕";}
.art-polaroid{--art-label:"POLAROID";--art-symbol:"▣";}
.art-vault{--art-label:"VAULT";--art-symbol:"▥";}
.art-wordmark{--art-label:"WORDMARK";--art-symbol:"Aa";}
.art-curtain{--art-label:"CURTAIN";--art-symbol:"◇";}
.art-button{--art-label:"BUTTON";--art-symbol:"●";}
.art-scoreboard{--art-label:"SCOREBOARD";--art-symbol:"▤";}
.art-crowd{--art-label:"CROWD";--art-symbol:"◌";}
.art-arrows{--art-label:"ARROWS";--art-symbol:"↗";}
.art-stamps{--art-label:"STAMPS";--art-symbol:"✉";}
.art-portraits{--art-label:"PORTRAITS";--art-symbol:"♢";}
.art-laser{--art-label:"LASER";--art-symbol:"⌁";}
.art-cipher{--art-label:"CIPHER";--art-symbol:"⌘";}
.art-ballot{--art-label:"BALLOT";--art-symbol:"✓";}
.art-red-stamp{--art-label:"RED STAMP";--art-symbol:"!";}
.art-receipt{--art-label:"RECEIPT";--art-symbol:"≡";}
.art-paper-trail{--art-label:"PAPER TRAIL";--art-symbol:"↝";}
.art-waveform{--art-label:"WAVEFORM";--art-symbol:"≈";}
.art-pool{--art-label:"POOL";--art-symbol:"◒";}
.art-clipboard{--art-label:"CLIPBOARD";--art-symbol:"☑";}
.art-emoji-board{--art-label:"EMOJI BOARD";--art-symbol:"☺";}
.art-cassette{--art-label:"CASSETTE";--art-symbol:"▱";}
.art-seal{--art-label:"SEAL";--art-symbol:"✹";}
.art-wolf{--art-label:"WOLF";--art-symbol:"☾";}
.art-moth{--art-label:"MOTH";--art-symbol:"◐";}
.art-console{--art-label:"CONSOLE";--art-symbol:"⚙";}
.art-sealed-folder{--art-label:"SEALED FOLDER";--art-symbol:"▧";}
.art-gear{--art-label:"GEAR";--art-symbol:"⚒";}
.art-forms{--art-label:"FORMS";--art-symbol:"§";}
.art-quill{--art-label:"QUILL";--art-symbol:"✒";}
.art-ledger{--art-label:"LEDGER";--art-symbol:"▥";}
.art-compass{--art-label:"COMPASS";--art-symbol:"⌖";}
.art-cube{--art-label:"CUBE";--art-symbol:"■";}
.art-map{--art-label:"MAP";--art-symbol:"▲";}
.art-pins{--art-label:"PINS";--art-symbol:"⌁";}
.art-wrench{--art-label:"WRENCH";--art-symbol:"⌑";}
.art-keyhole{--art-label:"KEYHOLE";--art-symbol:"◉";}
.art-well{--art-label:"WELL";--art-symbol:"⌖";}
.art-map-pin{--art-label:"MAP PIN";--art-symbol:"⌘";}
.art-switchboard{--art-label:"SWITCHBOARD";--art-symbol:"▥";}
.art-bars{--art-label:"BARS";--art-symbol:"</>";}
.art-code{--art-label:"CODE";--art-symbol:"◷";}

/* === V6 Living Game Posters implementation === */
.eyebrow{margin:0 0 .8rem;color:var(--house-2);font-size:.68rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}
.soft-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.1rem;border:2px solid #fff;background:transparent;color:#fff;font-weight:950;text-transform:uppercase;letter-spacing:.035em;clip-path:polygon(9px 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%,0 9px);transition:.12s transform,.12s background,.12s color}
.soft-button:hover:not(:disabled){transform:translateY(-2px)}
.soft-button.primary{background:var(--game-c,var(--house-3));border-color:var(--game-c,var(--house-3));color:var(--game-ink,#0c1117)}
.bare-link{border:0;background:none;color:#fff;padding:.35rem 0;font-weight:900;text-transform:uppercase;letter-spacing:.08em;text-decoration:underline;text-underline-offset:5px}

/* Home: an after-hours game venue, not a SaaS landing page */
.cabinet-hero{min-height:780px;display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.9fr);align-items:center;gap:clamp(2rem,6vw,6rem);padding:clamp(4rem,8vw,8rem) max(1rem,calc((100vw - 1380px)/2));background:#090c10;position:relative;overflow:hidden;isolation:isolate}
.cabinet-hero:before{content:"";position:absolute;z-index:-2;inset:-25% -10%;background:linear-gradient(118deg,transparent 0 31%,color-mix(in srgb,var(--game-a) 26%,transparent) 31% 49%,transparent 49% 63%,color-mix(in srgb,var(--game-b) 22%,transparent) 63% 79%,transparent 79%);transform:rotate(-3deg)}
.cabinet-hero:after{content:"PLAY";position:absolute;right:-.08em;bottom:-.12em;z-index:-1;font:900 clamp(11rem,24vw,25rem)/.72 var(--display);letter-spacing:-.09em;color:rgba(255,255,255,.025)}
.hero-copy{max-width:760px;position:relative;z-index:4}
.hero-copy h1{margin:0 0 1.5rem;font:900 clamp(3.8rem,7.6vw,7.7rem)/.82 var(--display);letter-spacing:-.065em;text-transform:uppercase;text-wrap:balance}
.hero-copy>p:not(.eyebrow){max-width:60ch;color:#aeb9c2;font-size:1.08rem;line-height:1.65}
.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.8rem 0 2.3rem}
.hero-facts{display:flex;flex-wrap:wrap;gap:1.6rem;color:#83909b;font-size:.67rem;text-transform:uppercase;letter-spacing:.1em}
.hero-facts span{display:flex;align-items:baseline;gap:.4rem;border-left:4px solid var(--house);padding-left:.7rem}
.hero-facts b{color:#fff;font:900 1.55rem var(--display);letter-spacing:-.03em}
.hero-cabinet{position:relative;min-height:560px;perspective:1400px}
.hero-box{position:absolute;width:250px;filter:drop-shadow(0 28px 35px rgba(0,0,0,.5));transition:transform .22s ease,filter .22s ease}
.hero-box:hover{z-index:12;filter:drop-shadow(0 38px 46px rgba(0,0,0,.65))}
.hero-box-0{left:12%;top:4%;z-index:8;transform:rotate(-3deg)}
.hero-box-1{right:3%;top:13%;z-index:6;transform:rotate(5deg) scale(.92)}
.hero-box-2{left:0;bottom:1%;z-index:4;transform:rotate(3deg) scale(.84)}
.hero-box-3{right:19%;bottom:-2%;z-index:5;transform:rotate(-5deg) scale(.8)}
.hero-box:hover{transform:rotate(0) translateY(-10px) scale(1.02)}
.quick-join{position:absolute;right:max(1rem,calc((100vw - 1380px)/2));bottom:1.4rem;display:grid;grid-template-columns:auto 210px 56px;align-items:end;gap:.7rem;padding:.75rem;background:#131920;border:1px solid #34404a;box-shadow:0 16px 30px rgba(0,0,0,.32)}
.quick-join-label{align-self:center;color:#7f8b95;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.quick-join label{display:grid;gap:.25rem;color:#8c98a2;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em}
.quick-join input{min-height:44px;padding:.45rem .6rem;background:#06090c;color:#fff;border:1px solid #46525d;text-transform:uppercase;font:900 1.2rem ui-monospace,monospace;letter-spacing:.16em;text-align:center}
.join-arrow{width:56px;height:44px;border:0;background:var(--house-3);color:#11161b;font-size:1.7rem;font-weight:900}
.mood-strip{display:grid;grid-template-columns:repeat(5,1fr);background:#11161c;border-block:1px solid #29323a}
.mood-strip button{min-height:98px;display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:1.2rem;border:0;border-right:1px solid #29323a;background:transparent;color:#fff;text-align:left;font:900 1rem/1.05 var(--display);text-transform:uppercase;transition:background .15s,color .15s}
.mood-strip button:nth-child(1){--mood:#57e3d0}.mood-strip button:nth-child(2){--mood:#ff5c73}.mood-strip button:nth-child(3){--mood:#ffd249}.mood-strip button:nth-child(4){--mood:#8b6cff}.mood-strip button:nth-child(5){--mood:#ff8a48}
.mood-strip button:hover{background:var(--mood);color:#0d1116}
.mood-strip button span{font:900 2rem var(--display);color:var(--mood)}
.mood-strip button:hover span{color:#0d1116}
.home-showcase{padding:5.5rem max(1rem,calc((100vw - 1260px)/2));background:#f2f1ea;color:#0d1116}
.home-showcase>header{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:3rem}
.home-showcase h2{margin:0;max-width:14ch;font:900 clamp(2.8rem,5vw,5.4rem)/.88 var(--display);text-transform:uppercase;letter-spacing:-.055em}
.home-showcase .eyebrow{color:#c74738}.home-showcase .bare-link{color:#0d1116}
.showcase-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:4px solid #0d1116}
.showcase-steps article{min-height:245px;padding:1.5rem;border-right:1px solid #b8bdc0;position:relative;overflow:hidden}
.showcase-steps article:last-child{border-right:0}
.showcase-steps b{font:900 5rem/.8 var(--display);color:#d6dadd;position:absolute;right:.2rem;bottom:-.1rem}
.showcase-steps h3{font:900 1.45rem var(--display);text-transform:uppercase;max-width:12ch}
.showcase-steps p{max-width:28ch;color:#59636b;line-height:1.55}

/* The actual game boxes */
.game-box{min-width:0;background:#080b0e;color:#fff;position:relative;isolation:isolate;transition:transform .16s ease,filter .16s ease}
.game-box:hover{transform:translateY(-7px);filter:saturate(1.08)}
.game-box-cover{width:100%;min-height:390px;display:flex;flex-direction:column;align-items:flex-start;padding:1rem;border:0;background:var(--game-bg);color:var(--game-paper);text-align:left;overflow:hidden;position:relative;clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 13px)}
.cover-art{height:190px;width:100%;position:relative;overflow:hidden;background:var(--game-a);margin-bottom:1rem;isolation:isolate;clip-path:polygon(0 0,100% 0,100% 86%,93% 100%,0 100%)}
.cover-art:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(135deg,transparent 0 38%,var(--game-b) 38% 66%,transparent 66%);opacity:.92}
.cover-index{position:absolute;left:.75rem;top:.65rem;background:var(--game-bg);color:#fff;padding:.3rem .42rem;font:800 .62rem ui-monospace,monospace;letter-spacing:.12em}
.cover-word{position:absolute;left:-.03em;bottom:-.1em;font:900 clamp(3.4rem,5vw,5.8rem)/.7 var(--display);letter-spacing:-.08em;color:var(--game-ink);opacity:.78;transform:rotate(-4deg);white-space:nowrap}
.cover-mark{position:absolute;right:.75rem;top:.65rem;width:64px;height:64px;display:grid;place-items:center;background:var(--game-c);color:var(--game-ink);border:4px solid var(--game-ink);box-shadow:6px 6px 0 var(--game-ink);font:900 2rem var(--display);transform:rotate(3deg)}
.shape{position:absolute;display:block;border:4px solid var(--game-ink);opacity:.82}.shape-a{width:72px;height:72px;right:18%;bottom:18%;border-radius:50%}.shape-b{width:38px;height:110px;left:19%;top:11%;transform:rotate(23deg)}.shape-c{width:95px;height:32px;right:5%;bottom:7%;transform:rotate(-9deg);background:var(--game-c)}
.game-box-genre{font-size:.6rem;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:var(--game-c)}
.game-box-cover h3{margin:.55rem 0 .65rem;font:900 clamp(1.6rem,2.4vw,2.5rem)/.88 var(--display);letter-spacing:-.045em;text-transform:uppercase;text-wrap:balance}
.game-box-cover>p{margin:0 0 auto;max-width:26ch;color:#bac3ca;font-size:.86rem;line-height:1.35}
.game-box-meta{margin-top:1.25rem;color:#8e99a2;font-size:.62rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.game-box-meta i{display:inline-block;width:4px;height:4px;margin:.15rem .45rem;background:var(--game-b);border-radius:50%}
.game-box-edge{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.65rem .75rem;background:#07090c;border-top:1px solid #333d46}
.game-box-edge>span{font-size:.65rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.game-box-edge button{border:0;background:var(--game-c);color:var(--game-ink);padding:.55rem .7rem;font-size:.66rem;font-weight:950;text-transform:uppercase;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.game-box.compact .game-box-cover{min-height:325px}.game-box.compact .cover-art{height:150px}.game-box.compact .game-box-cover h3{font-size:1.45rem}.game-box.compact .game-box-cover>p{font-size:.76rem}.hero-box .game-box-edge{display:none}

/* Catalog is organized as aisles, not a wall of interchangeable cards */
.shelf-intro{display:grid;grid-template-columns:1fr minmax(300px,.55fr);align-items:end;gap:4rem;padding:4.8rem max(1rem,calc((100vw - 1380px)/2)) 2.8rem;background:#0b0f13;border-bottom:1px solid #29323b}
.shelf-intro h1{margin:.2rem 0 1rem;max-width:13ch;font:900 clamp(3rem,6vw,6.7rem)/.84 var(--display);text-transform:uppercase;letter-spacing:-.06em}
.shelf-intro>div>p:last-child{color:#8d99a3}.cabinet-search{display:grid;gap:.5rem;color:#9aa5ae;font-size:.64rem;text-transform:uppercase;letter-spacing:.1em}.cabinet-search input{background:#151b22;color:#fff;border-color:#45515c}
.cabinet-filters{position:sticky;top:76px;z-index:60;display:flex;gap:.35rem;align-items:center;padding:.7rem max(1rem,calc((100vw - 1380px)/2));background:rgba(11,15,19,.96);backdrop-filter:blur(12px);border-bottom:1px solid #303942}
.cabinet-filters button{border:1px solid #3c4751;background:#141a20;color:#9da8b1;padding:.58rem .78rem;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.cabinet-filters button[aria-pressed="true"]{background:var(--house-3);border-color:var(--house-3);color:#10151a}.cabinet-filters>span{margin-left:auto;color:#75818a;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}
.cabinet-collections{padding:1rem 0 5rem;background:#11161c}.cabinet-row{padding:2.5rem max(1rem,calc((100vw - 1380px)/2))}.cabinet-row>header{display:grid;grid-template-columns:70px 1fr;align-items:end;margin-bottom:1.3rem;border-bottom:1px solid #35404a;padding-bottom:.9rem}.cabinet-row>header>span{font:900 3rem/.8 var(--display);color:#3a444d}.cabinet-row h2{margin:0;font:900 clamp(1.8rem,3vw,3rem)/.9 var(--display);text-transform:uppercase}.cabinet-row header p{margin:.35rem 0 0;color:#75818a;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em}.game-box-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.empty-cabinet{min-height:420px;display:grid;place-items:center;align-content:center;text-align:center}.empty-cabinet b{font:900 2.5rem var(--display);text-transform:uppercase}.empty-cabinet p{color:#7e8a94}

/* The in-game header and host stage */
.active-game-shell{background:var(--game-bg)}
.game-bar{min-height:82px;display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(160px,.45fr) auto auto;align-items:center;gap:1rem;padding:.65rem 1.2rem;background:#080b0f;color:#fff;border-bottom:6px solid var(--game-a)}
.game-badge span{width:55px;height:55px;display:grid;place-items:center;background:var(--game-c);color:var(--game-ink);border:3px solid var(--game-ink);box-shadow:5px 5px 0 var(--game-b);font:900 1.7rem var(--display);transform:rotate(-2deg)}
.game-bar-title p{margin:0 0 .12rem;color:var(--game-c);font-size:.55rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.game-bar-title h1{margin:0;font:900 1.45rem/.92 var(--display);text-transform:uppercase;letter-spacing:-.03em}
.game-bar-progress>span{display:block;margin-bottom:.35rem;color:#7f8a94;font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.game-bar-progress>i{display:block;height:7px;background:#242c34}.game-bar-progress b{display:block;height:100%;background:var(--game-a)}
.game-bar .room-code{padding-left:1rem;border-left:1px solid #35404a}.game-bar .room-code span{display:block;color:#76828c;font-size:.54rem;text-transform:uppercase;letter-spacing:.14em}.game-bar .room-code strong{font:900 1.35rem ui-monospace,monospace;letter-spacing:.16em}.leave-game{width:40px;height:40px;border:1px solid #414b55;background:transparent;color:#8e99a2;font-size:1.5rem}
.host-console{min-height:calc(100vh - 82px);display:grid;grid-template-columns:minmax(0,1fr) 330px;background:var(--game-bg)}
.host-main{position:relative;min-height:640px;padding:clamp(2rem,5vw,5rem);display:grid;align-items:center;overflow:hidden;isolation:isolate}
.host-main:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(115deg,var(--game-a) 0 67%,transparent 67%);clip-path:polygon(0 8%,86% 0,78% 94%,0 100%)}
.host-main:after{content:var(--art-label);position:absolute;z-index:-1;left:-.04em;bottom:-.09em;font:900 clamp(10rem,25vw,25rem)/.7 var(--display);letter-spacing:-.08em;color:var(--game-b);opacity:.12;transform:rotate(-6deg)}
.host-main .round-stage{max-width:1050px;color:var(--game-ink);padding:clamp(1rem,3vw,2rem)}
.host-main .round-stage>h2{max-width:14ch;margin:0 0 1.2rem;font:900 clamp(3.2rem,6.8vw,7.4rem)/.87 var(--display);letter-spacing:-.058em;text-transform:none;text-wrap:balance}
.response-pulse{position:absolute;left:clamp(2rem,5vw,5rem);right:clamp(2rem,5vw,5rem);bottom:1.2rem;display:grid;grid-template-columns:auto minmax(140px,360px) auto;align-items:center;gap:1rem;color:#fff;background:rgba(8,11,15,.92);padding:.75rem 1rem;border-left:6px solid var(--game-c)}
.response-pulse>div{display:flex;align-items:baseline;gap:.4rem}.response-pulse strong{font:900 2rem var(--display)}.response-pulse span{color:#9ba6af;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em}.response-pulse>i{height:8px;background:#28313a}.response-pulse>i b{display:block;height:100%;background:var(--game-c)}
.director-dock{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#090c10;border-left:1px solid #303943}.dock-actions{display:grid;gap:.7rem}.advance-button{min-height:108px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;padding:1.1rem;border:0;background:var(--game-c);color:var(--game-ink);text-align:left;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.advance-button span{font:900 1.05rem/1.1 var(--display);text-transform:uppercase}.advance-button b{font-size:2.2rem}.dock-button{min-height:50px;border:1px solid #4a5660;background:#171d23;color:#fff;font-weight:900;text-transform:uppercase}.dock-link{border:0;background:none;color:#ff806d;text-decoration:underline;text-underline-offset:4px;font-weight:850}.director-dock .shared-meter{display:grid;grid-template-columns:1fr 1fr;background:#141a20}.director-dock .shared-meter>div{padding:.8rem;border:1px solid #303943}.roster-drawer{margin-top:auto;border:1px solid #303943;background:#12171d}.roster-drawer summary{padding:.8rem;font-size:.66rem;font-weight:950;text-transform:uppercase;letter-spacing:.1em}.roster-drawer .player-ledger{padding:0 .8rem .8rem}.roster-drawer .player-ledger li{padding:.5rem 0;font-size:.78rem}

/* Phone controller */
.player-console{min-height:calc(100vh - 82px);display:grid;gap:.8rem;align-content:start;padding:.8rem;background:var(--game-bg)}
.player-prompt{background:var(--game-a);color:var(--game-ink);clip-path:polygon(0 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}
.player-prompt .round-stage{padding:1rem}.player-prompt .round-stage>h2{margin:0;font:900 clamp(2rem,8vw,3.5rem)/.9 var(--display);letter-spacing:-.045em;text-wrap:balance}.player-prompt .stage-label{margin-bottom:.9rem}
.player-console .controller-surface{border-top:7px solid var(--game-b)}
.host-wait{display:grid;justify-items:center;text-align:center;gap:.5rem;padding:1.4rem}.host-wait i{width:18px;height:18px;border-radius:50%;background:var(--game-a);animation:pulse 1s infinite}.host-wait strong{font:900 1.3rem var(--display);text-transform:uppercase}.host-wait span{color:#6b747b;font-size:.8rem}

/* Admin: a workbench, not 49 inline forms */
.catalog-workbench{min-height:680px;display:grid;grid-template-columns:370px minmax(0,1fr);gap:1rem;padding:1rem max(1rem,calc((100vw - 1380px)/2)) 4rem;background:#11161c}.catalog-index{background:#0b0f13;border:1px solid #303943;min-height:640px;display:flex;flex-direction:column}.catalog-index>label{display:grid;gap:.35rem;padding:1rem;border-bottom:1px solid #303943;color:#87939d;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.catalog-index input{min-height:40px;padding:.45rem .55rem;background:#171d23;color:#fff;border-color:#46515b}.catalog-index-list{max-height:680px;overflow:auto}.catalog-index-list>button{width:100%;display:grid;grid-template-columns:44px 1fr auto;gap:.7rem;align-items:center;padding:.65rem;border:0;border-bottom:1px solid #252d35;background:transparent;color:#fff;text-align:left}.catalog-index-list>button:hover,.catalog-index-list>button[aria-current="true"]{background:#1d252d}.catalog-index-list>button[aria-current="true"]{box-shadow:inset 5px 0 var(--house-3)}.catalog-index-list>button>span:nth-child(2) strong{display:block;font-size:.78rem}.catalog-index-list>button small{display:block;margin-top:.15rem;color:#75818b;font-size:.56rem;text-transform:uppercase;letter-spacing:.06em}.catalog-index-list>button>b{font-size:.65rem;color:#b8c1c8}.mini-art{width:42px;height:42px;display:grid;place-items:center;background:var(--game-a);color:var(--game-ink);border:2px solid var(--game-ink);font:900 1.15rem var(--display)}
.price-editor{background:#f1f1ea;color:#0d1116;min-height:640px;display:flex;flex-direction:column}.price-editor>header{display:grid;grid-template-columns:260px 1fr;gap:2rem;align-items:center;padding:2rem;background:#11161c;color:#fff}.price-editor>header .cover-art{height:220px;margin:0}.price-editor>header h2{margin:.25rem 0;font:900 clamp(2.8rem,5vw,5.6rem)/.82 var(--display);text-transform:uppercase;letter-spacing:-.055em}.price-editor>header>div>span{color:#8d99a3;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.editor-grid{display:grid;grid-template-columns:220px 1fr;gap:1.2rem;padding:2rem}.editor-grid label{display:grid;gap:.45rem}.editor-grid label>span{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em}.publish-toggle{display:flex!important;align-items:center;gap:.7rem;align-self:end;min-height:48px}.publish-toggle input{width:auto;min-height:auto}.editor-copy{grid-column:1/-1}.editor-copy textarea{min-height:170px}.price-editor>footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 2rem;border-top:2px solid #0d1116}.price-editor>footer>span{color:#69737b;font-size:.72rem}.price-editor .soft-button{border-color:#0d1116}.price-editor .soft-button.primary{background:var(--game-c);color:var(--game-ink)}

@media(max-width:1100px){
  .cabinet-hero{grid-template-columns:1fr;min-height:auto;padding-bottom:7rem}.hero-cabinet{min-height:520px}.quick-join{left:1rem;right:auto}.game-box-grid{grid-template-columns:repeat(3,1fr)}.host-console{grid-template-columns:1fr}.director-dock{display:grid;grid-template-columns:1fr 1fr;border-left:0;border-top:1px solid #303943}.roster-drawer{grid-column:1/-1}.catalog-workbench{grid-template-columns:310px 1fr}.price-editor>header{grid-template-columns:200px 1fr}
}
@media(max-width:760px){
  .cabinet-hero{display:block;padding:3.5rem 1rem 7.5rem}.hero-copy h1{font-size:3.6rem}.hero-cabinet{min-height:470px;margin-top:2rem}.hero-box{width:190px}.hero-box-0{left:4%}.hero-box-1{right:0}.hero-box-2{left:0}.hero-box-3{right:9%}.quick-join{left:1rem;right:1rem;grid-template-columns:1fr 50px}.quick-join-label{grid-column:1/-1}.mood-strip{grid-template-columns:1fr 1fr}.mood-strip button:last-child{grid-column:1/-1}.home-showcase{padding:3.5rem 1rem}.home-showcase>header{display:block}.home-showcase .bare-link{margin-top:1rem}.showcase-steps{grid-template-columns:1fr}.showcase-steps article{border-right:0;border-bottom:1px solid #b8bdc0;min-height:180px}.shelf-intro{grid-template-columns:1fr;gap:1.4rem;padding:3rem 1rem 2rem}.shelf-intro h1{font-size:3.4rem}.cabinet-filters{top:66px;padding:.6rem 1rem;overflow-x:auto}.cabinet-filters button{white-space:nowrap}.cabinet-filters>span{display:none}.cabinet-row{padding:2rem 1rem}.game-box-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.game-box-cover{min-height:310px;padding:.7rem}.cover-art{height:135px}.game-box-cover h3{font-size:1.4rem}.game-box-cover>p{font-size:.76rem}.game-box-meta{font-size:.52rem}
  .game-bar{min-height:70px;grid-template-columns:auto 1fr auto;padding:.45rem .65rem;border-bottom-width:4px}.game-bar-progress{display:none}.game-badge span{width:45px;height:45px;font-size:1.3rem}.game-bar-title h1{font-size:1rem}.game-bar .room-code{padding-left:.5rem}.game-bar .room-code strong{font-size:1rem}.leave-game{display:none}.host-console{min-height:calc(100vh - 70px)}.host-main{min-height:calc(100vh - 220px);padding:1rem 1rem 5rem}.host-main:before{clip-path:none;background:var(--game-a)}.host-main .round-stage>h2{font-size:clamp(2.4rem,12vw,4.6rem);max-width:none}.response-pulse{left:1rem;right:1rem;bottom:.8rem;grid-template-columns:auto 1fr}.response-pulse>span{display:none}.director-dock{grid-template-columns:1fr;padding:.7rem}.roster-drawer{display:none}.advance-button{min-height:74px}.player-console{min-height:calc(100vh - 70px)}
  .catalog-workbench{display:block;padding:1rem}.catalog-index{min-height:0}.catalog-index-list{display:flex;overflow-x:auto;max-height:none}.catalog-index-list>button{min-width:220px;border-right:1px solid #252d35}.price-editor{margin-top:1rem}.price-editor>header{grid-template-columns:1fr;padding:1rem}.price-editor>header .cover-art{height:180px}.price-editor>header h2{font-size:3rem}.editor-grid{grid-template-columns:1fr;padding:1rem}.editor-copy{grid-column:auto}.price-editor>footer{align-items:stretch;flex-direction:column;padding:1rem}
}
@media(max-width:430px){.game-box-grid{grid-template-columns:1fr}.hero-cabinet{min-height:430px}.hero-box{width:165px}.hero-copy h1{font-size:3rem}.game-box-cover{min-height:330px}.quick-join{bottom:1rem}.mood-strip{grid-template-columns:1fr}.mood-strip button:last-child{grid-column:auto}}

/* Curated fallbacks for catalog-specific art directions */
.theme-civic{--game-a:#f05b43;--game-b:#f4d35e;--game-c:#29a3a3;--game-bg:#101820;--game-paper:#f7f1e3;--game-ink:#101820}
.art-lineup{--art-label:"LINEUP"}.art-stopwatch{--art-label:"TIME"}.art-lock{--art-label:"LOCKED"}.art-ticker{--art-label:"TICKER"}.art-debate{--art-label:"ARGUE"}

/* Game-box cover compositions: titles share a shelf, not a template. */
.cover-art:before{content:var(--art-symbol);position:absolute;z-index:2;display:grid;place-items:center;color:var(--game-ink);font:900 clamp(3.8rem,6vw,7rem)/1 var(--display);mix-blend-mode:multiply}
.cover-layout-0:before{left:42%;top:28%;width:35%;height:45%;border:5px solid var(--game-ink);transform:rotate(-8deg)}
.cover-layout-0:after{background:linear-gradient(118deg,transparent 0 42%,var(--game-b) 42% 70%,transparent 70%)}
.cover-layout-0 .shape-a{right:7%;bottom:9%;width:88px;height:48px;border-radius:0;background:var(--game-c);transform:rotate(-8deg)}
.cover-layout-0 .shape-b{left:25%;top:5%;height:145px;width:24px;transform:rotate(19deg)}
.cover-layout-0 .shape-c{display:none}

.cover-layout-1:before{right:8%;bottom:8%;width:112px;height:112px;border-radius:50%;border:9px double var(--game-ink);background:var(--game-c);transform:rotate(7deg)}
.cover-layout-1:after{background:repeating-linear-gradient(90deg,transparent 0 18px,color-mix(in srgb,var(--game-b) 80%,transparent) 18px 27px)}
.cover-layout-1 .shape-a{left:13%;top:18%;width:124px;height:124px;border-width:8px;border-radius:50%;box-shadow:0 0 0 16px color-mix(in srgb,var(--game-b) 55%,transparent)}
.cover-layout-1 .shape-b{left:47%;top:-18%;height:220px;width:18px;transform:rotate(-26deg);background:var(--game-b)}
.cover-layout-1 .shape-c{display:none}

.cover-layout-2:before{left:10%;top:22%;width:42%;height:52%;border:0;border-bottom:16px solid var(--game-ink);transform:skew(-10deg)}
.cover-layout-2:after{background:linear-gradient(0deg,var(--game-b) 0 27%,transparent 27% 36%,var(--game-c) 36% 48%,transparent 48%)}
.cover-layout-2 .shape-a{right:12%;top:12%;width:88px;height:88px;border-radius:0;transform:rotate(45deg);background:transparent}
.cover-layout-2 .shape-b{left:8%;top:12%;width:175px;height:14px;transform:rotate(0);background:var(--game-ink)}
.cover-layout-2 .shape-c{right:7%;bottom:9%;width:135px;height:24px;transform:rotate(0);background:var(--game-ink)}

.cover-layout-3:before{right:10%;top:17%;width:42%;height:58%;background:var(--game-paper);border:5px solid var(--game-ink);box-shadow:-12px 12px 0 var(--game-b);font-size:4.5rem;transform:rotate(4deg)}
.cover-layout-3:after{background:linear-gradient(90deg,var(--game-c) 0 16%,transparent 16% 22%,var(--game-b) 22% 35%,transparent 35%)}
.cover-layout-3 .shape-a{left:12%;top:14%;width:96px;height:138px;border-radius:0;background:transparent;transform:rotate(-6deg)}
.cover-layout-3 .shape-b{left:19%;top:23%;width:72px;height:9px;background:var(--game-ink);box-shadow:0 28px 0 var(--game-ink),0 56px 0 var(--game-ink);transform:none;border:0}
.cover-layout-3 .shape-c{display:none}

.cover-layout-4:before{left:48%;top:9%;width:42%;height:62%;border:6px solid var(--game-ink);border-radius:50% 44% 52% 37%;transform:rotate(-13deg);background:color-mix(in srgb,var(--game-c) 70%,transparent)}
.cover-layout-4:after{background:repeating-radial-gradient(circle at 68% 42%,transparent 0 16px,var(--game-b) 17px 20px,transparent 21px 34px)}
.cover-layout-4 .shape-a{left:9%;bottom:12%;width:172px;height:24px;border-radius:999px;transform:rotate(-20deg);background:var(--game-ink)}
.cover-layout-4 .shape-b{left:20%;top:15%;width:15px;height:120px;border-radius:999px;transform:rotate(28deg);background:var(--game-c)}
.cover-layout-4 .shape-c{right:12%;bottom:11%;width:22px;height:22px;border-radius:50%;background:var(--game-b);box-shadow:-72px -52px 0 var(--game-b),-132px 18px 0 var(--game-b)}

.cover-layout-5:before{left:17%;top:12%;width:94px;height:112px;border-radius:48% 48% 40% 40%;background:var(--game-paper);border:6px solid var(--game-ink);box-shadow:105px 25px 0 -12px var(--game-c),105px 25px 0 -5px var(--game-ink);font-size:4.1rem}
.cover-layout-5:after{background:linear-gradient(155deg,transparent 0 51%,var(--game-b) 51% 100%)}
.cover-layout-5 .shape-a{right:10%;bottom:10%;width:90px;height:36px;border-radius:0;background:var(--game-c);transform:rotate(-4deg)}
.cover-layout-5 .shape-b{left:11%;top:7%;width:240px;height:150px;transform:none;border:3px dashed var(--game-ink)}
.cover-layout-5 .shape-c{display:none}

.cover-layout-6:before{right:13%;top:17%;width:108px;height:108px;border:14px dotted var(--game-ink);border-radius:50%;background:var(--game-b);transform:rotate(11deg)}
.cover-layout-6:after{background:linear-gradient(90deg,transparent 0 47%,var(--game-c) 47% 56%,transparent 56%),linear-gradient(0deg,transparent 0 43%,var(--game-b) 43% 52%,transparent 52%)}
.cover-layout-6 .shape-a{left:8%;top:12%;width:105px;height:105px;border-radius:50%;box-shadow:55px 52px 0 -18px var(--game-c),55px 52px 0 -12px var(--game-ink)}
.cover-layout-6 .shape-b{left:46%;top:-4%;width:16px;height:210px;background:var(--game-ink);transform:rotate(42deg)}
.cover-layout-6 .shape-c{display:none}

.cover-layout-7:before{left:50%;top:9%;width:42%;height:72%;background:var(--game-c);clip-path:polygon(50% 0,100% 100%,0 100%);font-size:4.8rem;padding-top:2.3rem;transform:rotate(3deg)}
.cover-layout-7:after{background:linear-gradient(115deg,var(--game-b) 0 24%,transparent 24% 75%,var(--game-b) 75%)}
.cover-layout-7 .shape-a{left:9%;bottom:12%;width:122px;height:122px;border-radius:50%;background:transparent}
.cover-layout-7 .shape-b{left:22%;top:2%;width:10px;height:180px;background:var(--game-ink);transform:rotate(-17deg)}
.cover-layout-7 .shape-c{right:8%;bottom:8%;width:120px;height:18px;background:var(--game-ink);transform:none}

.cover-layout-1 .cover-word,.cover-layout-4 .cover-word,.cover-layout-6 .cover-word{left:auto;right:-.05em;transform:rotate(3deg)}
.cover-layout-2 .cover-word,.cover-layout-7 .cover-word{bottom:.02em;transform:rotate(0);font-size:clamp(3rem,4.7vw,5.2rem)}
.cover-layout-3 .cover-word,.cover-layout-5 .cover-word{opacity:.45}

/* --------------------------------------------------------------------------
   V9 — The actual game-night pass
   A warmer house shell, tactile boxes, and mechanic-family play surfaces.
   -------------------------------------------------------------------------- */
:root{
  --venue:#111019;
  --venue-2:#191725;
  --venue-3:#232031;
  --paper:#fff5df;
  --house:#ff704d;
  --house-2:#67dfcc;
  --house-3:#ffd45f;
}
.app-shell:before{
  background:
    radial-gradient(circle at 12% 8%,rgba(255,112,77,.13),transparent 24%),
    radial-gradient(circle at 84% 12%,rgba(103,223,204,.11),transparent 27%),
    repeating-linear-gradient(115deg,rgba(255,255,255,.012) 0 1px,transparent 1px 16px);
}
.house-bar{background:rgba(17,16,25,.97);border-color:#353145;box-shadow:0 10px 35px rgba(0,0,0,.18)}
.house-brand strong{font-size:1.05rem}.house-brand small{color:#a39eb2}
.house-footer{background:#0c0b12;border-color:#2b2836;color:#837e91}
.account-ticket{background:#211e2c;border-color:#4d475f}

/* Home: a warm game table, not a software landing page. */
.club-hero{min-height:740px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);align-items:center;gap:clamp(2rem,6vw,6.5rem);padding:clamp(4rem,7vw,7rem) max(1rem,calc((100vw - 1380px)/2)) 8.5rem;position:relative;overflow:hidden;background:
  radial-gradient(circle at 74% 43%,color-mix(in srgb,var(--game-a) 16%,transparent),transparent 34%),
  linear-gradient(135deg,#171522 0 58%,#21182a 58% 100%)}
.club-hero:before{content:"";position:absolute;inset:auto -8% -38% 38%;height:78%;background:#5d3140;clip-path:polygon(9% 0,100% 12%,88% 100%,0 84%);opacity:.72}
.club-hero:after{content:"";position:absolute;width:360px;height:360px;border:54px solid rgba(255,212,95,.08);border-radius:50%;left:-180px;top:120px}
.club-copy,.table-stack,.room-ticket{position:relative;z-index:2}
.club-copy{max-width:760px}
.club-copy .eyebrow{color:var(--house-2)}
.club-copy h1{display:grid;gap:.05em;margin:.45rem 0 1.4rem;font:900 clamp(3.5rem,6.9vw,7rem)/.86 var(--display);letter-spacing:-.06em;text-transform:uppercase}
.club-copy h1 span:nth-child(2){color:#fff5df}.club-copy h1 em{font-style:normal;color:var(--house-3);text-shadow:5px 5px 0 #7c3f4b}
.club-lede{max-width:66ch;color:#c7c2d0;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.7}
.club-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1.8rem 0 2.2rem}
.club-proof{display:flex;gap:clamp(1rem,4vw,3.2rem);margin:0}
.club-proof div{padding-left:.85rem;border-left:4px solid var(--house)}
.club-proof dt{font:900 1.9rem var(--display);color:#fff}.club-proof dd{margin:0;color:#8f899d;font-size:.64rem;text-transform:uppercase;letter-spacing:.13em}
.table-stack{height:540px;perspective:1200px}
.stack-box{position:absolute;width:min(300px,44vw);border:0;padding:0;text-align:left;background:transparent;color:#fff;filter:drop-shadow(0 24px 28px rgba(0,0,0,.42));transition:transform .18s ease,filter .18s ease}
.stack-box:hover{z-index:20!important;filter:drop-shadow(0 30px 34px rgba(0,0,0,.5)) saturate(1.08)}
.stack-box .cover-art{height:320px;border:5px solid #0b0d12;box-shadow:inset 0 0 0 2px rgba(255,255,255,.24)}
.stack-box>span{display:block;background:#0c0f14;border:1px solid #3a3f47;border-top:0;padding:.9rem 1rem;min-height:84px}
.stack-box>span b{display:block;font:900 1.35rem/1 var(--display);text-transform:uppercase}.stack-box>span small{display:block;margin-top:.4rem;color:#aeb5bd;line-height:1.35}
.stack-box-0{left:14%;top:6%;z-index:8;transform:rotate(-4deg)}.stack-box-0:hover{transform:rotate(-2deg) translateY(-9px)}
.stack-box-1{right:0;top:20%;z-index:7;transform:rotate(6deg) scale(.9)}.stack-box-1:hover{transform:rotate(3deg) scale(.93) translateY(-8px)}
.stack-box-2{left:0;bottom:0;z-index:6;transform:rotate(3deg) scale(.82)}.stack-box-2:hover{transform:rotate(1deg) scale(.86) translateY(-8px)}
.stack-box-3{right:15%;bottom:-3%;z-index:5;transform:rotate(-7deg) scale(.78)}.stack-box-3:hover{transform:rotate(-3deg) scale(.82) translateY(-8px)}
.stack-box-4{left:38%;top:24%;z-index:4;transform:rotate(11deg) scale(.72)}.stack-box-4:hover{transform:rotate(5deg) scale(.77) translateY(-8px)}
.room-ticket{position:absolute;left:max(1rem,calc((100vw - 1380px)/2));right:max(1rem,calc((100vw - 1380px)/2));bottom:1.35rem;display:grid;grid-template-columns:auto minmax(260px,520px) auto;align-items:end;gap:1rem;background:#fff5df;color:#17131d;border:4px solid #17131d;padding:.85rem 1rem;box-shadow:9px 9px 0 var(--house);transform:rotate(-.35deg)}
.room-ticket>span{font:900 1rem var(--display);text-transform:uppercase;align-self:center}.room-ticket label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.7rem}.room-ticket small{text-transform:uppercase;letter-spacing:.11em}.room-ticket input{background:#fff;border-color:#17131d;min-height:52px;text-align:center;text-transform:uppercase;font:900 1.6rem ui-monospace,monospace;letter-spacing:.24em;padding:.4rem}.room-ticket .join-arrow{min-height:52px;border:3px solid #17131d;background:var(--house-3);color:#17131d;font-weight:950;text-transform:uppercase;padding:.5rem 1rem;box-shadow:4px 4px 0 #17131d}
.shelf-ribbon{display:flex;align-items:center;justify-content:center;gap:1rem;overflow:hidden;white-space:nowrap;background:var(--house-3);color:#15121b;padding:.75rem;font:900 .72rem var(--display);letter-spacing:.12em}.shelf-ribbon i{width:7px;height:7px;background:var(--house);transform:rotate(45deg)}
.tonight-shelf{padding:5.5rem max(1rem,calc((100vw - 1380px)/2));background:#f7f0df;color:#15121b}
.tonight-shelf>header{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:2rem}.tonight-shelf h2{font:900 clamp(2.8rem,5vw,5.5rem)/.88 var(--display);letter-spacing:-.055em;text-transform:uppercase;margin:0}.tonight-shelf .eyebrow{color:#c34d38}.tonight-shelf .bare-link{color:#15121b}
.tonight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense;gap:1rem;align-items:stretch}.tonight-grid .game-box:first-child{grid-column:span 2;grid-row:span 2}.tonight-grid .game-box:first-child .game-box-cover{min-height:620px}.tonight-grid .game-box:first-child .cover-art{height:340px}.tonight-grid .game-box:nth-child(4){grid-column:span 2}
.host-promise{display:grid;grid-template-columns:repeat(3,1fr);background:#171522;border-top:1px solid #393445}.host-promise article{min-height:260px;padding:3rem clamp(1.3rem,4vw,4rem);border-right:1px solid #393445}.host-promise article:last-child{border-right:0}.host-promise span{font:900 3rem var(--display);color:var(--house-2)}.host-promise h3{font:900 1.35rem/1.05 var(--display);text-transform:uppercase;margin:.7rem 0}.host-promise p{color:#aaa4b6;line-height:1.6;max-width:44ch}

/* Game boxes: tactile, asymmetric, and visibly sold as individual titles. */
.game-box{background:#0b0e13;box-shadow:0 12px 26px rgba(0,0,0,.16);transition:transform .16s ease,filter .16s ease;min-width:0;position:relative}
.game-box:hover{transform:translateY(-5px) rotate(var(--cover-tilt,0deg));filter:saturate(1.08)}
.game-box-cover{min-height:390px;padding:.8rem;background:#0c0f14;color:#fff;border:0;text-align:left;display:flex;flex-direction:column;width:100%}
.game-box-cover .cover-art{height:205px;flex:none}.game-box-genre{margin-top:.8rem;color:var(--game-c);font-size:.58rem;font-weight:950;letter-spacing:.15em;text-transform:uppercase}.game-box-cover h3{font:900 clamp(1.45rem,2vw,2.15rem)/.92 var(--display);letter-spacing:-.035em;text-transform:uppercase;margin:.35rem 0}.game-box-cover>p{color:#aeb4bb;line-height:1.35;min-height:2.7em;margin:0 0 auto}.game-box-meta{display:flex;align-items:center;gap:.45rem;margin-top:.8rem;color:#858e97;font-size:.58rem;text-transform:uppercase;letter-spacing:.09em}.game-box-meta i{width:4px;height:4px;background:var(--game-c);border-radius:50%}.game-box-edge{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.62rem .75rem;border-top:1px solid #2c333b;color:#fff}.game-box-edge>span{font:900 .7rem var(--display);text-transform:uppercase}.game-box-edge button{border:0;background:var(--game-c);color:var(--game-ink);padding:.42rem .55rem;font-size:.62rem;font-weight:950;text-transform:uppercase}
.game-box.feature-box .game-box-cover{min-height:470px}.game-box.feature-box .cover-art{height:265px}
.cover-art{position:relative;overflow:hidden;background:var(--game-a);color:var(--game-ink);isolation:isolate;transform:translateX(var(--cover-drift,0)) rotate(var(--cover-tilt,0deg));transform-origin:center;border:3px solid var(--game-ink)}
.cover-art:after{content:"";position:absolute;inset:0;z-index:0;opacity:.82}
.cover-index{position:absolute;left:.55rem;top:.5rem;z-index:7;background:var(--game-ink);color:var(--game-paper);padding:.25rem .4rem;font:900 .62rem ui-monospace,monospace}.cover-word{position:absolute;left:-.04em;bottom:-.08em;z-index:4;color:color-mix(in srgb,var(--game-ink) 88%,transparent);font:900 clamp(3.1rem,5vw,6rem)/.75 var(--display);letter-spacing:-.08em;transform:rotate(-3deg);max-width:95%;overflow:hidden}.cover-word-secondary{position:absolute;right:.45rem;top:.45rem;z-index:6;color:var(--game-ink);font:900 .62rem var(--display);letter-spacing:.12em;writing-mode:vertical-rl;text-transform:uppercase}.cover-mark{position:absolute;right:10%;top:18%;z-index:8;font:900 clamp(2.5rem,5vw,5rem)/1 var(--display);transform:rotate(calc(var(--cover-tilt,0deg) * -2));mix-blend-mode:multiply}.shape{position:absolute;display:block;z-index:2;border:4px solid var(--game-ink)}.shape-a{left:8%;top:14%;width:39%;height:38%;background:var(--game-c);transform:rotate(-8deg)}.shape-b{right:7%;bottom:8%;width:31%;height:54%;background:var(--game-b);transform:rotate(10deg)}.shape-c{left:36%;top:30%;width:37%;height:37%;border-radius:50%;background:transparent}.shape-d{left:-8%;bottom:12%;width:72%;height:18px;border:0;background:var(--game-ink);transform:rotate(-13deg)}
/* Eight additional compositions; together with the original set, every shelf feels less cloned. */
.cover-layout-8 .shape-a{left:9%;top:18%;width:76%;height:25%;transform:rotate(7deg);background:var(--game-b)}.cover-layout-8 .shape-b{right:10%;bottom:8%;width:38%;height:38%;border-radius:50%;background:var(--game-c)}.cover-layout-8 .shape-c{left:16%;bottom:12%;width:32%;height:46%;border-radius:0}.cover-layout-8 .cover-mark{left:44%;right:auto;top:35%}
.cover-layout-9 .shape-a{left:12%;top:12%;width:26%;height:70%;background:var(--game-c)}.cover-layout-9 .shape-b{right:8%;top:14%;width:46%;height:30%;background:var(--game-b);transform:skew(-8deg)}.cover-layout-9 .shape-c{right:11%;bottom:10%;width:42%;height:34%;border-radius:0}.cover-layout-9 .shape-d{left:39%;bottom:2%;height:82%;width:13px;transform:rotate(19deg)}
.cover-layout-10 .shape-a{left:10%;top:12%;width:58%;height:58%;border-radius:50%;background:var(--game-c)}.cover-layout-10 .shape-b{right:-8%;bottom:-8%;width:58%;height:58%;border-radius:50%;background:var(--game-b)}.cover-layout-10 .shape-c{left:38%;top:30%;width:18%;height:18%;background:var(--game-paper)}.cover-layout-10 .shape-d{display:none}
.cover-layout-11 .shape-a{left:7%;bottom:8%;width:88%;height:31%;background:var(--game-b);transform:rotate(-5deg)}.cover-layout-11 .shape-b{right:12%;top:9%;width:29%;height:58%;background:var(--game-c)}.cover-layout-11 .shape-c{left:12%;top:15%;width:42%;height:40%;border-radius:0}.cover-layout-11 .cover-mark{right:20%;top:25%}
.cover-layout-12 .shape-a{left:10%;top:10%;width:72%;height:72%;background:transparent;transform:rotate(45deg)}.cover-layout-12 .shape-b{left:27%;top:26%;width:36%;height:36%;background:var(--game-b);transform:rotate(45deg)}.cover-layout-12 .shape-c{right:8%;bottom:7%;width:27%;height:27%;background:var(--game-c)}.cover-layout-12 .shape-d{display:none}
.cover-layout-13 .shape-a{left:-5%;top:13%;width:67%;height:44%;background:var(--game-c);transform:skew(-18deg)}.cover-layout-13 .shape-b{right:5%;bottom:7%;width:48%;height:64%;background:transparent;border-width:8px}.cover-layout-13 .shape-c{left:17%;bottom:12%;width:26%;height:26%;background:var(--game-b)}.cover-layout-13 .shape-d{top:52%;bottom:auto;left:8%;width:88%;transform:rotate(6deg)}
.cover-layout-14 .shape-a{left:8%;top:8%;width:84%;height:84%;background:repeating-linear-gradient(90deg,var(--game-c) 0 17px,transparent 17px 31px);transform:none}.cover-layout-14 .shape-b{right:12%;top:18%;width:42%;height:58%;background:var(--game-b);transform:rotate(-5deg)}.cover-layout-14 .shape-c{left:14%;bottom:13%;width:30%;height:30%;background:var(--game-paper)}.cover-layout-14 .shape-d{display:none}
.cover-layout-15 .shape-a{left:8%;top:12%;width:84%;height:19%;background:var(--game-b);transform:rotate(-4deg)}.cover-layout-15 .shape-b{left:12%;bottom:9%;width:57%;height:49%;background:var(--game-c);transform:rotate(5deg)}.cover-layout-15 .shape-c{right:8%;bottom:13%;width:31%;height:59%;background:transparent;border-radius:50%}.cover-layout-15 .shape-d{left:25%;bottom:43%;width:65%;transform:rotate(-18deg)}

/* Catalog: readable shelves with one hero box per mood, not fifty equal tiles. */
.shelf-intro{background:#171522;border-bottom-color:#373244}.cabinet-filters{background:#211e2c;border-color:#3e394b}.cabinet-row:nth-child(even){background:#14121c}.cabinet-row:nth-child(odd){background:#191722}.game-box-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:dense}.game-box-grid .feature-box{grid-column:span 2;grid-row:span 2}.game-box-grid .feature-box .game-box-cover{min-height:620px}.game-box-grid .feature-box .cover-art{height:355px}.game-box-grid .feature-box h3{font-size:3rem}.game-box-grid .feature-box>p{font-size:1rem}

/* Product detail: an opened box, concise enough to understand before buying. */
.game-billboard{min-height:calc(100vh - 136px);display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);background:linear-gradient(116deg,color-mix(in srgb,var(--game-a) 34%,#111019) 0 39%,#f8f1df 39%);color:#15121b;padding:clamp(2rem,5vw,5rem) max(1rem,calc((100vw - 1320px)/2));gap:clamp(2rem,6vw,6rem);align-items:center}
.box-cover-large{position:relative;max-width:500px;filter:drop-shadow(22px 25px 0 color-mix(in srgb,var(--game-b) 45%,#111019));transform:rotate(-2deg)}.box-cover-large .cover-art{height:min(64vh,650px);min-height:470px;border-width:7px}.box-cover-large .cover-word{font-size:clamp(5rem,9vw,9rem)}.box-cover-large .cover-mark{font-size:8rem}.box-spine{display:flex;justify-content:space-between;gap:1rem;background:#0e1015;color:#fff;padding:1rem 1.2rem;border:6px solid #0e1015;border-top:0}.box-spine span{color:var(--game-c);font:900 1rem ui-monospace,monospace}.box-spine strong{font:900 1.1rem var(--display);letter-spacing:.08em;text-transform:uppercase}
.game-box-copy{max-width:760px}.game-box-copy .kicker{color:var(--game-b)}.game-box-copy>h1{font:900 clamp(3.4rem,6vw,6.8rem)/.82 var(--display);letter-spacing:-.065em;text-transform:uppercase;margin:.45rem 0}.game-box-copy blockquote{font:700 clamp(1.25rem,2vw,1.8rem)/1.25 Georgia,serif;color:#493f48;border-left:6px solid var(--game-c);padding-left:1rem;margin:1.2rem 0}.game-summary{font-size:1.06rem;line-height:1.68;color:#5d5660;max-width:68ch}.session-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:3px solid #15121b;border-bottom:3px solid #15121b;margin:1.8rem 0}.session-stats div{padding:1rem .7rem;border-right:1px solid #b7afa8}.session-stats div:last-child{border-right:0}.session-stats dt{font:900 1.15rem var(--display);text-transform:uppercase}.session-stats dd{margin:.22rem 0 0;color:#6c646b;font-size:.62rem;text-transform:uppercase;letter-spacing:.11em}.room-rules h2{font:900 1rem var(--display);text-transform:uppercase;letter-spacing:.06em}.room-rules ol{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}.room-rules li{display:grid;grid-template-columns:42px 1fr;gap:.8rem;align-items:start;padding:.7rem 0;border-bottom:1px solid #c8c1ba}.room-rules li b{font:900 .72rem ui-monospace,monospace;color:var(--game-b)}.room-rules li span{line-height:1.45}.billboard-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem}.game-box-copy .ticket-button.ghost{color:#15121b}

/* Active play: each mechanic family has its own room language. */
.active-game-shell{background:var(--game-bg)}
.game-bar{background:#0b0d12;border-bottom:6px solid var(--game-c)}
.host-console,.player-console{--family-surface:#f8f1df;--family-ink:#121118}
.family-chaos .host-main{background:repeating-linear-gradient(115deg,#10131b 0 28px,#151927 28px 30px);color:#fff}.family-chaos .host-main:before{background:var(--game-a);clip-path:polygon(0 7%,83% 0,74% 94%,0 100%)}.family-chaos .round-stage h2{font-family:var(--display);text-transform:none}.family-chaos .controller-surface{background:var(--game-a);border-top:10px solid var(--game-c)}
.family-secrets .host-main{background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--game-a) 32%,transparent),transparent 38%),#090b12;color:#fff}.family-secrets .host-main:before{background:transparent;border:1px solid color-mix(in srgb,var(--game-a) 60%,transparent);inset:7%;clip-path:polygon(50% 0,61% 35%,100% 50%,61% 65%,50% 100%,39% 65%,0 50%,39% 35%)}.family-secrets .round-stage{max-width:880px;text-align:center}.family-secrets .round-stage>h2{font-family:Georgia,serif;font-weight:700;letter-spacing:-.035em;max-width:18ch;margin-inline:auto}.family-secrets .stage-label{border-color:var(--game-c)}.family-secrets .private-envelope{background:#efe3c6;box-shadow:12px 12px 0 #080a10;transform:rotate(-1deg)}.family-secrets .controller-surface{background:#161322;color:#fff;border-top:7px solid var(--game-c)}.family-secrets .controller-choices button,.family-secrets .vote-booth button,.family-secrets .role-target button{background:#efe3c6;color:#111;border-color:#111}
.family-coop .host-main{background-color:#0b1c26;background-image:linear-gradient(rgba(92,211,220,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(92,211,220,.08) 1px,transparent 1px);background-size:28px 28px;color:#e8fbfb}.family-coop .host-main:before{background:color-mix(in srgb,var(--game-a) 24%,transparent);clip-path:polygon(0 0,72% 0,58% 100%,0 100%)}.family-coop .round-stage>h2{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.05em}.family-coop .controller-surface{background:#eaf7f5;border-top:9px solid var(--game-a)}.family-coop .director-dock{background:#07141a}.family-coop .shared-meter{background:#0b2229}
.family-creative .host-main{background:#f7efda;color:#1c1720;background-image:radial-gradient(#c5ae91 1px,transparent 1px);background-size:18px 18px}.family-creative .host-main:before{background:var(--game-a);clip-path:polygon(3% 3%,89% 0,83% 93%,0 100%);opacity:.82}.family-creative .round-stage{transform:rotate(-.5deg)}.family-creative .round-stage>h2{font-family:Georgia,serif;font-weight:700}.family-creative .controller-surface{background:#fff9eb;border-top:10px solid var(--game-b);transform:rotate(.2deg)}.family-creative .controller-choices button,.family-creative .vote-booth button{border-radius:4px;box-shadow:5px 6px 0 #1b1720}
.family-strategy .host-main{background:#17201b;color:#f4eddb;background-image:linear-gradient(30deg,rgba(226,190,95,.06) 12%,transparent 12.5%,transparent 87%,rgba(226,190,95,.06) 87.5%),linear-gradient(150deg,rgba(226,190,95,.06) 12%,transparent 12.5%,transparent 87%,rgba(226,190,95,.06) 87.5%);background-size:42px 72px}.family-strategy .host-main:before{background:color-mix(in srgb,var(--game-a) 30%,transparent);clip-path:polygon(0 0,65% 0,80% 100%,0 100%)}.family-strategy .round-stage>h2{font-family:Georgia,serif;font-weight:700}.family-strategy .controller-surface{background:#efe7d0;border-top:9px solid var(--game-c)}.family-strategy .director-dock{background:#101710}

/* The common room shell stays compact; the game owns the visual field. */
.host-console{grid-template-columns:minmax(0,1fr) 330px}.host-main{min-height:calc(100vh - 78px);padding:clamp(2rem,5vw,5rem) clamp(1.5rem,6vw,6rem) 7rem}.host-main .round-stage{max-width:1100px}.host-main .round-stage>h2{font-size:clamp(3.2rem,6.7vw,7rem);line-height:.9}.director-dock{width:auto;border-left:1px solid #303745}.response-pulse{background:#0a0c10;border:1px solid #343b45}.player-console{background:var(--game-bg);padding:1rem;max-width:760px;margin:0 auto}.player-prompt .round-stage{padding:1.2rem}.player-prompt .round-stage>h2{font-size:clamp(2.1rem,8.5vw,4rem);line-height:.93}.controller-surface{border-radius:0;box-shadow:10px 12px 0 rgba(0,0,0,.45)}

@media(max-width:1100px){
  .club-hero{grid-template-columns:1fr;min-height:auto;padding-bottom:8.5rem}.table-stack{height:500px}.room-ticket{grid-template-columns:auto 1fr auto}.tonight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-box-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-billboard{grid-template-columns:minmax(300px,.72fr) 1fr}.session-stats{grid-template-columns:repeat(2,1fr)}.session-stats div:nth-child(2){border-right:0}.host-console{grid-template-columns:1fr}.director-dock{border-left:0;border-top:1px solid #303745}
}
@media(max-width:760px){
  .club-hero{display:block;padding:3.2rem 1rem 9.5rem}.club-copy h1{font-size:3.5rem}.table-stack{height:430px;margin-top:2rem}.stack-box{width:190px}.stack-box .cover-art{height:205px}.stack-box>span{min-height:68px;padding:.65rem}.stack-box>span b{font-size:1rem}.stack-box>span small{font-size:.68rem}.room-ticket{left:1rem;right:1rem;bottom:1rem;grid-template-columns:1fr auto;gap:.55rem;padding:.75rem}.room-ticket>span{grid-column:1/-1}.room-ticket label{grid-template-columns:1fr}.room-ticket label small{display:none}.room-ticket .join-arrow{padding:.45rem .65rem}.shelf-ribbon{justify-content:flex-start;overflow-x:auto}.tonight-shelf{padding:3.5rem 1rem}.tonight-shelf>header{display:block}.tonight-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.tonight-grid .game-box:first-child{grid-column:1/-1;grid-row:auto}.tonight-grid .game-box:first-child .game-box-cover{min-height:500px}.tonight-grid .game-box:nth-child(4){grid-column:auto}.host-promise{grid-template-columns:1fr}.host-promise article{border-right:0;border-bottom:1px solid #393445;min-height:0}.game-box-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-box-grid .feature-box{grid-column:1/-1;grid-row:auto}.game-box-grid .feature-box .game-box-cover{min-height:510px}.game-box-grid .feature-box .cover-art{height:285px}.game-billboard{display:block;padding:2rem 1rem 3rem;background:linear-gradient(180deg,color-mix(in srgb,var(--game-a) 34%,#111019) 0 34%,#f8f1df 34%)}.box-cover-large{max-width:330px;margin:0 auto 3.5rem}.box-cover-large .cover-art{height:430px;min-height:0}.game-box-copy>h1{font-size:3.5rem}.session-stats{grid-template-columns:repeat(2,1fr)}.game-summary{font-size:1rem}.host-main{min-height:calc(100vh - 70px);padding:1rem 1rem 6rem}.host-main .round-stage>h2{font-size:clamp(2.5rem,12vw,4.8rem)}.player-console{padding:.75rem}.controller-surface{box-shadow:6px 7px 0 rgba(0,0,0,.5)}
}
@media(max-width:430px){.tonight-grid,.game-box-grid{grid-template-columns:1fr}.table-stack{height:390px}.stack-box{width:160px}.stack-box .cover-art{height:175px}.club-copy h1{font-size:3rem}.club-proof{gap:.8rem}.club-proof dt{font-size:1.45rem}.club-proof dd{font-size:.52rem}}

/* --------------------------------------------------------------------------
   V12 — authored arcade floor. Replaces poster-wall browsing with a playable
   finder and replaces procedural cover geometry with game-specific line art.
   -------------------------------------------------------------------------- */
.authored-cover{position:relative;min-height:0;overflow:hidden;background:var(--game-a);color:var(--game-ink);border:0;isolation:isolate}
.authored-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 52%,color-mix(in srgb,var(--game-b) 76%,transparent) 52% 100%);z-index:-1}
.authored-cover svg{display:block;width:100%;height:100%;min-height:190px;position:relative;z-index:1}
.authored-cover .poster-backdrop path:first-child{fill:var(--game-a)}
.authored-cover .poster-backdrop path:last-child{fill:var(--game-b);opacity:.76}
.authored-cover .poster-scene{fill:none;stroke:var(--game-ink);stroke-width:7;stroke-linecap:square;stroke-linejoin:miter}
.authored-cover .poster-scene text{fill:var(--game-ink);stroke:none;font:900 70px var(--display)}
.authored-cover .poster-letters text{font-size:118px}
.authored-cover .cover-index{position:absolute;z-index:4;top:.65rem;left:.65rem;padding:.28rem .42rem;background:var(--game-ink);color:var(--game-paper);font:900 .62rem ui-monospace,monospace;letter-spacing:.15em}
.authored-cover .cover-mark{position:absolute;z-index:4;right:.65rem;top:.65rem;width:42px;height:42px;display:grid;place-items:center;border:3px solid var(--game-ink);background:var(--game-c);color:var(--game-ink);font:900 1.15rem var(--display)}
.authored-cover .cover-art-title{position:absolute;z-index:4;left:.75rem;right:.75rem;bottom:.65rem;display:flex;align-items:end;justify-content:space-between;gap:.75rem;padding:.55rem .65rem;background:var(--game-ink);color:var(--game-paper);border-left:7px solid var(--game-c)}
.authored-cover .cover-art-title b{font:900 clamp(1rem,2.1vw,1.55rem)/.9 var(--display);text-transform:uppercase;letter-spacing:-.035em;max-width:72%}
.authored-cover .cover-art-title small{font-size:.55rem;text-transform:uppercase;letter-spacing:.12em;text-align:right;opacity:.72}
.authored-cover.hero-art svg{min-height:300px}

.opening-night{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr);gap:0;background:#0a0c11;position:relative;overflow:hidden;border-bottom:1px solid #2c323a}
.opening-night:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,#11121c 0 47%,#17131d 47% 100%);opacity:.94}
.opening-copy,.opening-program,.door-code{position:relative;z-index:1}
.opening-copy{padding:clamp(3rem,7vw,7rem) clamp(2rem,6vw,6rem) 10rem;display:flex;flex-direction:column;justify-content:center}
.opening-copy h1{font:900 clamp(3.6rem,6.9vw,7.8rem)/.78 var(--display);text-transform:uppercase;letter-spacing:-.065em;max-width:8.5ch;margin:.8rem 0 1.4rem}
.opening-copy h1 span,.opening-copy h1 em{display:block;font-style:normal}
.opening-copy h1 em{color:var(--house-3);text-shadow:5px 5px 0 #b83f43}
.opening-lede{max-width:55ch;color:#b6bdc6;line-height:1.6;font-size:1.03rem}
.opening-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}
.opening-facts{list-style:none;display:flex;gap:1.8rem;margin:1.7rem 0 0;padding:0}
.opening-facts li{border-left:4px solid var(--house);padding-left:.65rem}
.opening-facts b{display:block;font:900 1.55rem var(--display)}
.opening-facts span{display:block;color:#7f8a95;font-size:.61rem;text-transform:uppercase;letter-spacing:.12em}
.opening-program{min-height:760px;padding:4.2rem 3rem 7rem;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:auto repeat(3,1fr);gap:.8rem;background:linear-gradient(148deg,#1a1521,#0e1318)}
.program-sign{grid-column:1/-1;display:flex;justify-content:space-between;align-items:end;border-bottom:4px solid var(--house-2);padding-bottom:.65rem}
.program-sign span{font-size:.6rem;letter-spacing:.17em;color:var(--house-2)}
.program-sign b{font:900 1.2rem var(--display);text-transform:uppercase}
.program-slot{position:relative;display:grid;grid-template-columns:110px 1fr;min-height:140px;padding:0;border:0;background:#0b0f14;color:#fff;text-align:left;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.34);transition:transform .14s ease}
.program-slot:hover{transform:translateX(-5px)}
.program-slot.slot-0{grid-row:2/5;grid-template-columns:1fr;min-height:560px}
.program-slot .authored-cover{height:100%;min-height:140px}
.program-slot.slot-0 .authored-cover{min-height:430px}
.program-slot.slot-0 .authored-cover svg{min-height:430px}
.program-slot:not(.slot-0) .cover-art-title,.program-slot:not(.slot-0) .cover-index,.program-slot:not(.slot-0) .cover-mark{display:none}
.slot-copy{padding:.9rem 1rem;border-left:6px solid var(--game-c);display:flex;flex-direction:column;justify-content:center}
.slot-copy b{font:900 1rem var(--display);text-transform:uppercase}
.slot-copy small{margin-top:.35rem;color:#8d98a3;line-height:1.3}
.slot-time{position:absolute;z-index:8;right:.55rem;top:.55rem;background:#0b0f14;color:var(--game-c);font:.55rem ui-monospace,monospace;padding:.25rem .36rem;letter-spacing:.08em}
.program-slot.slot-0 .slot-copy{position:absolute;z-index:6;left:1rem;right:1rem;bottom:1rem;background:#0b0f14;border-left:8px solid var(--game-c)}
.program-slot.slot-0 .slot-copy b{font-size:1.6rem}
.door-code{position:absolute;left:clamp(2rem,6vw,6rem);right:clamp(2rem,4vw,3rem);bottom:1.6rem;display:grid;grid-template-columns:minmax(0,1fr) 150px;background:#f6edd7;color:#10141a;border:4px solid #10141a;box-shadow:0 8px 0 var(--house);max-width:calc(100% - 4rem)}
.door-code label{display:grid;grid-template-columns:130px 1fr;align-items:center;padding:.6rem 1rem}
.door-code label span{font-size:.61rem;font-weight:900;letter-spacing:.15em}
.door-code input{height:52px;background:#fffaf0;border:2px solid #1b2026;color:#10141a;text-align:center;text-transform:uppercase;font:900 1.7rem ui-monospace,monospace;letter-spacing:.26em}
.door-code button{border:0;border-left:4px solid #10141a;background:var(--house-3);font:900 1rem var(--display)}
.mood-board{background:#f3ecda;color:#11131a;padding:5rem max(1rem,calc((100vw - 1380px)/2))}
.mood-board header{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:2rem}
.mood-board h2{font:900 clamp(2.7rem,5vw,5.6rem)/.86 var(--display);text-transform:uppercase;letter-spacing:-.055em;margin:0;max-width:9ch}
.mood-choices{display:grid;grid-template-columns:repeat(5,1fr);border:4px solid #11131a}
.mood-choices button{min-height:270px;border:0;border-right:2px solid #11131a;background:#fff8e8;color:#11131a;text-align:left;padding:1.2rem;display:flex;flex-direction:column;transition:background .13s ease,transform .13s ease}
.mood-choices button:last-child{border-right:0}
.mood-choices button:hover{background:var(--house-3);transform:translateY(-6px)}
.mood-choices span{font:900 2.8rem var(--display);color:var(--house)}
.mood-choices b{font:900 1.15rem var(--display);text-transform:uppercase;margin-top:auto}
.mood-choices small{margin-top:.6rem;line-height:1.4;color:#535961}
.house-contract{display:grid;grid-template-columns:repeat(3,1fr);background:#11131a;border-top:1px solid #343945}
.house-contract div{padding:2rem clamp(1rem,4vw,4rem);border-right:1px solid #343945;display:grid;gap:.45rem}
.house-contract div:last-child{border-right:0}
.house-contract span{color:var(--house-2);font-size:.6rem;letter-spacing:.16em}
.house-contract b{font:900 1rem var(--display);text-transform:uppercase}

.game-finder-head{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:3rem;align-items:end;padding:3.5rem max(1rem,calc((100vw - 1500px)/2)) 2rem;background:#0b0d12;border-bottom:1px solid #2b3139}
.game-finder-head h1{font:900 clamp(2.8rem,5vw,5.8rem)/.86 var(--display);text-transform:uppercase;letter-spacing:-.055em;max-width:13ch;margin:.5rem 0 1rem}
.game-finder-head p{max-width:65ch;color:#9aa4ae}
.game-finder-head label{display:grid;gap:.45rem;color:#8c97a2;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}
.game-finder-head input{min-height:50px;background:#151a21;border:1px solid #414a54;color:#fff;padding:.75rem .85rem}
.game-finder{display:grid;grid-template-columns:230px minmax(420px,.9fr) minmax(380px,1.1fr);min-height:760px;background:#0e1217}
.finder-controls{padding:1.2rem;border-right:1px solid #303741;background:#090c10;display:flex;flex-direction:column;gap:1.35rem}
.finder-controls>div{display:grid;gap:.35rem}
.control-label{color:#68747f;font-size:.56rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:.3rem}
.finder-controls button{border:0;background:transparent;color:#aab3bc;text-align:left;padding:.62rem .7rem;font-size:.72rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em;border-left:3px solid transparent}
.finder-controls button:hover,.finder-controls button[aria-pressed="true"]{color:#fff;background:#171d24;border-left-color:var(--house-2)}
.finder-controls .surprise-me{margin-top:auto;display:flex;justify-content:space-between;background:var(--house-3);color:#10141a;border-left:0;padding:.9rem}
.finder-list{border-right:1px solid #303741;max-height:760px;overflow:auto;background:#11161c}
.finder-list>header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;padding:.75rem 1rem;background:#151b22;border-bottom:1px solid #343c45;color:#7d8994;font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}
.selector-game{width:100%;display:grid;grid-template-columns:42px 92px 1fr auto;gap:.85rem;align-items:center;min-height:112px;padding:.7rem .9rem;border:0;border-bottom:1px solid #29313a;background:#10151b;color:#fff;text-align:left;position:relative}
.selector-game:hover{background:#19212a}
.selector-game[aria-selected="true"]{background:#202a34;box-shadow:inset 7px 0 var(--game-c)}
.selector-number{font:900 .72rem ui-monospace,monospace;color:#65717d}
.selector-thumb{height:82px;overflow:hidden;border:2px solid var(--game-ink);background:var(--game-a)}
.selector-thumb svg{width:100%;height:100%}
.selector-thumb .poster-backdrop path:first-child{fill:var(--game-a)}
.selector-thumb .poster-backdrop path:last-child{fill:var(--game-b);opacity:.72}
.selector-thumb .poster-scene{fill:none;stroke:var(--game-ink);stroke-width:9}
.selector-thumb .poster-scene text{fill:var(--game-ink);stroke:none;font:900 70px var(--display)}
.selector-copy{min-width:0}
.selector-copy b{display:block;font:900 1.02rem var(--display);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.selector-copy small{display:block;margin:.25rem 0;color:#a6afb8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.selector-copy em{display:block;color:#687480;font-style:normal;font-size:.55rem;text-transform:uppercase;letter-spacing:.07em}
.selector-price{font:.62rem ui-monospace,monospace;color:var(--game-c);padding-left:.5rem}
.finder-preview{min-height:760px;background:var(--game-bg);display:grid;grid-template-rows:380px 1fr;color:#fff;position:sticky;top:76px;align-self:start}
.preview-cover{padding:1.1rem;background:#090c10}
.preview-cover .authored-cover{height:100%;border:5px solid var(--game-ink);box-shadow:11px 11px 0 color-mix(in srgb,var(--game-c) 85%,#000)}
.preview-copy{padding:2rem 2.2rem;display:flex;flex-direction:column}
.preview-copy>p{color:var(--game-c);font-size:.62rem;text-transform:uppercase;letter-spacing:.14em}
.preview-copy h2{font:900 clamp(2.2rem,4vw,4.5rem)/.82 var(--display);text-transform:uppercase;letter-spacing:-.055em;margin:.25rem 0 1rem}
.preview-copy blockquote{font-size:1.1rem;line-height:1.4;color:#c5ccd2;border-left:5px solid var(--game-a);padding-left:.8rem;margin:0}
.preview-copy dl{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #3b434d;border-bottom:1px solid #3b434d;margin:1.5rem 0}
.preview-copy dl div{padding:.9rem .5rem;border-right:1px solid #3b434d}
.preview-copy dl div:last-child{border-right:0}
.preview-copy dt{font:900 1rem var(--display)}
.preview-copy dd{font-size:.55rem;text-transform:uppercase;letter-spacing:.1em;color:#7f8a95}
.preview-actions{margin-top:auto;display:grid;grid-template-columns:1fr;gap:.55rem}
.finder-empty{min-height:420px;display:grid;place-items:center;align-content:center;text-align:center;padding:2rem;color:#aab3bc}

.game-showcase{min-height:calc(100vh - 76px);display:grid;grid-template-columns:minmax(360px,.78fr) minmax(0,1.22fr);grid-template-rows:auto auto;background:#0d1116;color:#fff}
.showcase-cover{grid-row:1/3;position:relative;padding:clamp(2rem,5vw,5rem);background:linear-gradient(145deg,var(--game-a),var(--game-b));display:flex;align-items:center;justify-content:center}
.showcase-cover .authored-cover{width:min(520px,100%);height:min(68vh,660px);border:7px solid var(--game-ink);box-shadow:18px 18px 0 var(--game-c);transform:rotate(-1.4deg)}
.showcase-cover .authored-cover svg{min-height:100%}
.showcase-price{position:absolute;right:2rem;bottom:2rem;background:#090c10;color:var(--game-c);padding:.65rem .8rem;font:900 .68rem ui-monospace,monospace;letter-spacing:.09em}
.showcase-brief{padding:clamp(2rem,5vw,5rem) clamp(2rem,6vw,6rem) 2rem}
.showcase-title>p{color:var(--game-c);font-size:.63rem;text-transform:uppercase;letter-spacing:.14em}
.showcase-title h1{font:900 clamp(3rem,6vw,6.8rem)/.78 var(--display);text-transform:uppercase;letter-spacing:-.06em;margin:.4rem 0 1rem;max-width:9ch}
.showcase-title blockquote{font-size:1.2rem;line-height:1.4;color:#c7ced5;border-left:6px solid var(--game-a);padding-left:1rem;max-width:34ch}
.showcase-summary{max-width:65ch;color:#9ea8b2;line-height:1.65}
.showcase-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:1.7rem 0;border:1px solid #39424b}
.showcase-stats div{padding:.85rem;border-right:1px solid #39424b}
.showcase-stats div:last-child{border-right:0}
.showcase-stats dt{font:900 1.05rem var(--display)}
.showcase-stats dd{color:#78848f;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em}
.showcase-actions{display:flex;gap:.65rem;flex-wrap:wrap}
.showcase-rules{margin:0 clamp(2rem,6vw,6rem) 4rem;border-top:5px solid var(--game-a);background:#151b22}
.showcase-rules header{display:flex;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid #38414a;color:#87929c;font-size:.58rem;letter-spacing:.12em}
.showcase-rules ol{list-style:none;margin:0;padding:0}
.showcase-rules li{display:grid;grid-template-columns:60px 1fr;border-bottom:1px solid #303841}
.showcase-rules li:last-child{border-bottom:0}
.showcase-rules li span{display:grid;place-items:center;background:var(--game-a);color:var(--game-ink);font:900 .72rem ui-monospace,monospace}
.showcase-rules li p{padding:1rem;margin:0;line-height:1.45}
.showcase-night{position:absolute;right:1.2rem;top:92px;width:230px;padding:1rem;background:var(--game-c);color:var(--game-ink);border:4px solid var(--game-ink);box-shadow:7px 7px 0 var(--game-ink);transform:rotate(1.5deg)}
.showcase-night span{font-size:.55rem;letter-spacing:.15em;font-weight:900}
.showcase-night p{font-size:.78rem;line-height:1.35;margin:.45rem 0 0;font-weight:750}

/* Game rooms stop sharing one theatrical composition. */
.mechanic-one_night_deduction .host-main,.mechanic-village_campaign .host-main{background-color:#080b13;background-image:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--game-a) 28%,transparent),transparent 33%),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:auto,54px 54px}
.mechanic-one_night_deduction .round-stage,.mechanic-village_campaign .round-stage{border:1px solid color-mix(in srgb,var(--game-c) 55%,transparent);padding:clamp(2rem,5vw,4.5rem);background:rgba(4,7,14,.62);box-shadow:0 0 0 14px rgba(0,0,0,.18)}
.mechanic-one_night_deduction .round-stage:before,.mechanic-village_campaign .round-stage:before{content:"SEALED TOWN RECORD";display:block;color:var(--game-c);font:.58rem ui-monospace,monospace;letter-spacing:.18em;margin-bottom:1rem}
.mechanic-reaction .host-main,.mechanic-rhythm .host-main,.mechanic-sync_tap .host-main{background:#090b0f;display:grid;place-items:center}
.mechanic-reaction .round-stage,.mechanic-rhythm .round-stage,.mechanic-sync_tap .round-stage{width:min(900px,90%);aspect-ratio:1.65;display:grid;place-items:center;align-content:center;text-align:center;border:12px solid var(--game-a);border-radius:50%;box-shadow:inset 0 0 0 12px #090b0f,0 0 0 4px var(--game-c)}
.mechanic-reaction .round-stage h2,.mechanic-rhythm .round-stage h2,.mechanic-sync_tap .round-stage h2{font-size:clamp(3rem,7vw,7rem);max-width:10ch}
.mechanic-draw_vote .host-main,.mechanic-telephone_chain .host-main,.mechanic-hotspot .host-main,.mechanic-story_canon .host-main{background:#e9e1cc;color:#18151a;background-image:linear-gradient(rgba(42,36,42,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(42,36,42,.08) 1px,transparent 1px);background-size:26px 26px}
.mechanic-draw_vote .round-stage,.mechanic-telephone_chain .round-stage,.mechanic-hotspot .round-stage,.mechanic-story_canon .round-stage{background:#fff9e9;border:4px solid #19161b;box-shadow:14px 14px 0 var(--game-b);padding:clamp(1.7rem,4vw,4rem);transform:rotate(-.45deg)}
.mechanic-negotiation .host-main,.mechanic-coalition .host-main,.mechanic-courtroom .host-main,.mechanic-debate .host-main{background:#161b22;background-image:linear-gradient(90deg,transparent 0 49%,rgba(255,255,255,.025) 49% 51%,transparent 51%);background-size:120px 100%}
.mechanic-negotiation .round-stage,.mechanic-coalition .round-stage,.mechanic-courtroom .round-stage,.mechanic-debate .round-stage{border-top:14px solid var(--game-c);border-bottom:14px solid var(--game-a);padding:clamp(2rem,5vw,5rem);background:#f0e7d2;color:#14171b;box-shadow:0 22px 0 rgba(0,0,0,.28)}
.mechanic-manual_relay .host-main,.mechanic-crisis_command .host-main,.mechanic-escape_fragments .host-main,.mechanic-puzzle .host-main,.mechanic-black_box .host-main{background:#07151b;background-image:linear-gradient(rgba(85,217,220,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(85,217,220,.09) 1px,transparent 1px);background-size:32px 32px}
.mechanic-manual_relay .round-stage,.mechanic-crisis_command .round-stage,.mechanic-escape_fragments .round-stage,.mechanic-puzzle .round-stage,.mechanic-black_box .round-stage{border:2px solid var(--game-a);padding:clamp(2rem,4vw,4rem);background:rgba(3,15,19,.85);box-shadow:inset 0 0 0 8px rgba(78,213,219,.06)}
.mechanic-rumor_market .host-main,.mechanic-auction .host-main,.mechanic-commons .host-main{background:#101913;background-image:repeating-linear-gradient(0deg,transparent 0 49px,rgba(236,201,91,.08) 49px 50px)}
.mechanic-rumor_market .round-stage,.mechanic-auction .round-stage,.mechanic-commons .round-stage{border-left:16px solid var(--game-c);background:#e8e2cf;color:#10140f;padding:clamp(2rem,5vw,5rem);box-shadow:14px 14px 0 #070b08}
.mechanic-territory .host-main,.mechanic-expedition .host-main,.mechanic-fugitive_hunt .host-main{background:#14201e;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.04) 0 2px,transparent 3px),linear-gradient(30deg,rgba(223,194,82,.05) 12%,transparent 12.5%,transparent 87%,rgba(223,194,82,.05) 87.5%);background-size:34px 34px,44px 76px}
.mechanic-territory .round-stage,.mechanic-expedition .round-stage,.mechanic-fugitive_hunt .round-stage{border:4px solid #d9c37b;background:#e8dec0;color:#141a17;padding:clamp(2rem,5vw,5rem);box-shadow:0 0 0 10px rgba(0,0,0,.23)}
.mechanic-charades .host-main,.mechanic-answer_vote .host-main,.mechanic-card_pitch .host-main{background:#160f1d;background-image:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--game-a) 30%,transparent),transparent 47%)}
.mechanic-charades .round-stage,.mechanic-answer_vote .round-stage,.mechanic-card_pitch .round-stage{text-align:center;border-top:8px solid var(--game-c);border-bottom:8px solid var(--game-b);padding:clamp(2rem,5vw,5rem);background:rgba(8,7,12,.72)}

@media (max-width:1100px){
  .opening-night{grid-template-columns:1fr}.opening-program{min-height:680px}.door-code{position:relative;left:auto;right:auto;bottom:auto;margin:-5.5rem 1rem 1.5rem;max-width:none}.mood-choices{grid-template-columns:repeat(2,1fr)}.mood-choices button{border-bottom:2px solid #11131a}.mood-choices button:nth-child(even){border-right:0}.mood-choices button:last-child{grid-column:1/-1}.game-finder{grid-template-columns:190px minmax(360px,1fr)}.finder-preview{grid-column:1/-1;position:relative;top:auto;grid-template-columns:360px 1fr;grid-template-rows:auto;min-height:0}.preview-cover{min-height:350px}.game-showcase{grid-template-columns:1fr}.showcase-cover{grid-row:auto;min-height:620px}.showcase-night{top:100px}.showcase-rules{margin:0 2rem 3rem}
}
@media (max-width:720px){
  .opening-copy{padding:2.5rem 1rem 3rem}.opening-copy h1{font-size:3.35rem}.opening-program{padding:2rem 1rem 6.5rem;grid-template-columns:1fr;grid-template-rows:auto}.program-slot.slot-0{grid-row:auto;min-height:460px}.program-slot:not(.slot-0){grid-template-columns:90px 1fr}.door-code{grid-template-columns:1fr 90px;margin-top:-4.8rem}.door-code label{grid-template-columns:1fr}.door-code label span{display:none}.opening-facts{gap:.8rem}.mood-board{padding:3rem 1rem}.mood-board header{display:block}.mood-choices{grid-template-columns:1fr}.mood-choices button,.mood-choices button:nth-child(even){border-right:0;border-bottom:2px solid #11131a;min-height:190px}.mood-choices button:last-child{grid-column:auto}.house-contract{grid-template-columns:1fr}.house-contract div{border-right:0;border-bottom:1px solid #343945}.game-finder-head{grid-template-columns:1fr;padding:2.5rem 1rem}.game-finder{display:block}.finder-controls{display:grid;grid-template-columns:1fr 1fr;border-right:0}.finder-controls .surprise-me{grid-column:1/-1}.finder-list{max-height:none;border-right:0}.selector-game{grid-template-columns:32px 68px 1fr}.selector-price{display:none}.selector-thumb{height:64px}.finder-preview{display:block;position:relative}.preview-cover{min-height:310px}.preview-copy h2{font-size:3rem}.game-showcase{display:block}.showcase-cover{min-height:500px;padding:2rem 1.2rem 3rem}.showcase-cover .authored-cover{height:430px}.showcase-night{position:relative;top:auto;right:auto;width:auto;margin:-1rem 1rem 2rem;transform:none}.showcase-brief{padding:2rem 1rem}.showcase-title h1{font-size:3.4rem}.showcase-stats{grid-template-columns:repeat(2,1fr)}.showcase-stats div:nth-child(2){border-right:0}.showcase-stats div:nth-child(-n+2){border-bottom:1px solid #39424b}.showcase-rules{margin:0 1rem 2rem}
}

/* V12.1 stage artifacts and readability remediation */
.mechanic-one_night_deduction .round-stage>h2,.mechanic-village_campaign .round-stage>h2{color:#eef2ff;text-shadow:0 3px 0 rgba(0,0,0,.35);font-family:Georgia,serif;font-size:clamp(2.8rem,5.8vw,6.3rem);max-width:15ch;margin-inline:auto}
.mechanic-one_night_deduction .player-prompt .round-stage>h2,.mechanic-village_campaign .player-prompt .round-stage>h2{font-size:clamp(2rem,9vw,3.4rem);color:#eef2ff}
.mechanic-one_night_deduction .host-main:after,.mechanic-village_campaign .host-main:after{opacity:.045}
.town-record{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;margin-bottom:1.2rem;padding-bottom:1rem;border-bottom:1px solid color-mix(in srgb,var(--game-c) 55%,transparent);color:#d8e2ff}
.town-moon{display:grid;place-items:center;width:58px;height:58px;border:1px solid var(--game-c);font-size:2.1rem}
.town-record>div{display:flex;flex-wrap:wrap;gap:.35rem}
.town-record i{display:flex;gap:.38rem;align-items:center;padding:.32rem .5rem;border:1px solid rgba(216,226,255,.24);font-style:normal;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em}
.town-record i b{color:var(--game-c);font:700 .55rem ui-monospace,monospace}
.player-prompt .town-record{display:none}
.arcade-signal{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:1rem}.arcade-signal i{width:22px;height:22px;border-radius:50%;background:var(--game-a);box-shadow:0 0 0 5px #090b0f,0 0 0 8px var(--game-c)}.arcade-signal i:nth-child(2){background:var(--game-c)}.arcade-signal i:nth-child(3){background:var(--game-b)}.arcade-signal strong{margin-left:.6rem;font:900 .7rem ui-monospace,monospace;letter-spacing:.2em}
.systems-strip{display:grid;grid-template-columns:auto repeat(3,22px) 1fr;gap:.45rem;align-items:center;margin-bottom:1rem;padding:.55rem .7rem;background:#031014;border:1px solid var(--game-a);color:#9df1f3}.systems-strip span,.systems-strip b{font:.58rem ui-monospace,monospace;letter-spacing:.12em}.systems-strip i{height:12px;background:var(--game-a)}.systems-strip i:nth-of-type(2){background:var(--game-c)}.systems-strip i:nth-of-type(3){background:var(--game-b)}.systems-strip b{text-align:right}
.chamber-dais{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:1rem;margin-bottom:1.2rem;color:#15171c}.chamber-dais span{padding:.45rem;border:2px solid currentColor;text-align:center;font:.62rem ui-monospace,monospace;letter-spacing:.12em}.chamber-dais i{height:7px;background:linear-gradient(90deg,var(--game-a) 0 46%,#15171c 46% 54%,var(--game-c) 54%)}
.market-tape{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;padding:.45rem .6rem;background:#10140f;color:#e8e2cf;font:.59rem ui-monospace,monospace;letter-spacing:.12em}.market-tape b{color:var(--game-c)}
.map-legend{display:flex;gap:.55rem;align-items:center;margin-bottom:1rem;font:.58rem ui-monospace,monospace;letter-spacing:.1em;color:#313c35}.map-legend i{width:18px;height:18px;border-radius:50%;background:var(--game-a);border:3px solid #1b211d}.map-legend i:nth-of-type(2){background:var(--game-c)}.map-legend i:nth-of-type(3){background:var(--game-b)}
.maker-tabs{display:flex;gap:.35rem;margin-bottom:1rem}.maker-tabs span{padding:.35rem .55rem;background:#19161b;color:#fff;font:.58rem ui-monospace,monospace;letter-spacing:.1em}.maker-tabs span:nth-child(2){background:var(--game-b)}.maker-tabs span:nth-child(3){background:var(--game-a);color:var(--game-ink)}
.show-cue{display:flex;align-items:center;gap:.8rem;justify-content:center;margin-bottom:1rem}.show-cue span{padding:.38rem .55rem;background:var(--game-b);font:.62rem ui-monospace,monospace;letter-spacing:.13em}.show-cue i{width:65px;height:3px;background:var(--game-c)}.show-cue b{font:.62rem ui-monospace,monospace;letter-spacing:.13em;color:var(--game-c)}

/* V12.2 — mechanic-specific controller grammar. These are game instruments,
   not decorative variants of one generic answer card. */
.choice-panel>p{margin:0 0 .8rem;font:.78rem/1.2 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.12em}
.prediction-dial{position:relative;padding-top:.2rem}.prediction-dial>p{text-align:center}.prediction-dial .controller-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.prediction-dial .controller-choices button{border-radius:999px;clip-path:none;min-height:86px;background:var(--game-paper);box-shadow:inset 0 0 0 6px var(--game-a),5px 5px 0 #0c1117}
.majority-floor .controller-choices{display:flex;flex-direction:column}.majority-floor .controller-choices button{position:relative;min-height:54px;text-align:left;padding-left:3.5rem;clip-path:none;box-shadow:none;border-width:0 0 2px;background:transparent!important;color:inherit!important}.majority-floor .controller-choices button:before{content:counter(ballot,upper-alpha);counter-increment:ballot;position:absolute;left:.3rem;top:50%;translate:0 -50%;display:grid;place-items:center;width:2.2rem;height:2.2rem;border:2px solid currentColor;border-radius:50%;font:900 .8rem ui-monospace,monospace}.majority-floor .controller-choices{counter-reset:ballot}
.contrarian-board{background:#0d1015;color:#f6edd9;padding:1rem;border:1px dashed var(--game-c)}.contrarian-board>p:before{content:'DO NOT ';color:var(--game-c)}.contrarian-board .controller-choices{grid-template-columns:1fr}.contrarian-board .controller-choices button{min-height:52px;background:#0d1015!important;color:#f6edd9!important;border:1px solid #f6edd9;box-shadow:none;clip-path:none;text-align:left}.contrarian-board .controller-choices button:hover{background:var(--game-c)!important;color:#0d1015!important}
.consensus-console{padding:1rem;background:repeating-linear-gradient(0deg,#d9d5c8 0,#d9d5c8 2px,#e9e5d8 2px,#e9e5d8 22px);border:4px solid #1a1c1f}.consensus-console .controller-choices{grid-template-columns:1fr}.consensus-console .controller-choices button{display:grid;grid-template-columns:38px 1fr;align-items:center;text-align:left;clip-path:none;box-shadow:none;background:#f7f2e6!important;color:#111!important}.consensus-console .controller-choices button:before{content:'';width:20px;height:20px;border-radius:50%;border:4px double #111;background:var(--game-a)}
.heist-plans{padding-left:.9rem;border-left:8px solid var(--game-b)}.heist-plans .controller-choices{grid-template-columns:1fr}.heist-plans .controller-choices button{min-height:62px;text-align:left;clip-path:polygon(0 0,96% 0,100% 50%,96% 100%,0 100%);box-shadow:none;background:#f0eadb!important;color:#111!important;border-right:10px solid var(--game-a)}
.survey-ladder .controller-choices{display:flex;flex-direction:column;align-items:flex-start;counter-reset:survey}.survey-ladder .controller-choices button{counter-increment:survey;clip-path:none;box-shadow:none;border:0;border-left:5px solid #111;min-height:48px;text-align:left;background:var(--game-a)!important;color:#111!important;width:100%}.survey-ladder .controller-choices button:before{content:'#' counter(survey) '  ';font:900 .75rem ui-monospace,monospace}.survey-ladder .controller-choices button:nth-child(2){width:92%}.survey-ladder .controller-choices button:nth-child(3){width:84%}.survey-ladder .controller-choices button:nth-child(4){width:76%}.survey-ladder .controller-choices button:nth-child(n+5){width:68%}
.friend-pick .controller-choices{grid-template-columns:repeat(2,minmax(0,1fr));counter-reset:friend}.friend-pick .controller-choices button{counter-increment:friend;position:relative;min-height:92px;padding-top:2rem;background:#f7f1de!important;color:#121212!important;clip-path:none;border-radius:0;box-shadow:6px 6px 0 var(--game-b)}.friend-pick .controller-choices button:before{content:'FILE ' counter(friend,decimal-leading-zero);position:absolute;top:.45rem;left:.55rem;font:.58rem ui-monospace,monospace;letter-spacing:.1em;color:var(--game-b)}
.agenda-ballot{position:relative;border-top:10px double var(--game-c);padding-top:1rem}.agenda-ballot:after{content:'PRIVATE SCORING';position:absolute;right:0;top:-1.8rem;padding:.25rem .45rem;background:var(--game-c);color:#111;font:900 .55rem ui-monospace,monospace;letter-spacing:.08em;transform:rotate(2deg)}.agenda-ballot .controller-choices button{clip-path:none;background:transparent!important;color:inherit!important;box-shadow:none;border:2px solid currentColor}
.power-answer{display:block;min-height:0;background:transparent;color:inherit;border:0;box-shadow:none;clip-path:none;padding:0}.power-answer .controller-choices{margin-bottom:.8rem}.power-answer details{border:2px solid currentColor;padding:.8rem;background:color-mix(in srgb,var(--game-a) 24%,transparent)}

.controller-form.broadcast-desk{border-left:14px solid #d74334;padding-left:1rem;background:linear-gradient(90deg,rgba(215,67,52,.1),transparent)}.broadcast-desk:before{content:'LIVE COPY';font:900 .65rem ui-monospace,monospace;letter-spacing:.16em;color:#d74334}
.controller-form.caption-desk{padding:1rem 1rem 1.2rem;background:#fff8e5;border:2px solid #1b1720;box-shadow:7px 7px 0 #e4b94e;transform:rotate(-.4deg)}.caption-desk:before{content:'CAPTION SLIP';font:900 .62rem ui-monospace,monospace;letter-spacing:.14em}
.controller-form.alibi-form{background:#e7e0cd;padding:1rem;border:1px solid #6e6254;background-image:repeating-linear-gradient(transparent 0,transparent 31px,rgba(61,49,40,.12) 32px)}.alibi-form:before{content:'STATEMENT FOR THE RECORD';font:700 .65rem Georgia,serif;letter-spacing:.12em}
.controller-form.word-chain-form{grid-template-columns:1fr auto;align-items:end}.word-chain-form label{position:relative}.word-chain-form label:before{content:'→';position:absolute;right:.7rem;bottom:.7rem;font:900 1.4rem var(--display);color:var(--game-b)}.word-chain-form input{padding-right:2.5rem}
.controller-form.odd-note{border:2px dashed currentColor;padding:1rem;background:color-mix(in srgb,var(--game-c) 18%,transparent)}.odd-note:before{content:'ALLY-SAFE / OUTSIDER-USELESS';font:900 .58rem ui-monospace,monospace;letter-spacing:.1em}
.controller-form.emoji-console{background:#16121d;color:#fff;padding:1rem;border:4px solid var(--game-c)}.emoji-console:before{content:'SYMBOL CHANNEL ONLY';font:900 .6rem ui-monospace,monospace;color:var(--game-c);letter-spacing:.12em}.emoji-console input{font-size:2rem;text-align:center;background:#fff;color:#111}
.controller-form.experiment-console{position:relative;padding:1rem;background:#111820;color:#d8e9ff;border-left:12px solid #63d5b5}.experiment-console:before{content:'INPUT → OBSERVE → REVISE';font:700 .6rem ui-monospace,monospace;color:#63d5b5;letter-spacing:.1em}.experiment-console textarea{font-family:ui-monospace,monospace;background:#0a0f14;color:#d8e9ff;border-color:#63d5b5}
.controller-form.cipher-console{padding:1rem;background:#0d151c;color:#e3fbff;border:1px solid #60e0ea;box-shadow:inset 0 0 0 4px #0d151c,inset 0 0 0 5px rgba(96,224,234,.35)}.cipher-console:before{content:'DECODE BUFFER';font:700 .6rem ui-monospace,monospace;color:#60e0ea;letter-spacing:.14em}.cipher-console input{font-family:ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em}
.controller-form.relay-console{padding:1rem;background:#d9d4c3;border:5px ridge #3c454e}.relay-console:before{content:'CHANNEL OPEN';font:900 .62rem ui-monospace,monospace;color:#a12626}.relay-console textarea{font-family:ui-monospace,monospace}
.controller-form.court-brief{padding:1rem;background:#f4eedf;border-top:12px solid #402b20}.court-brief:before{content:'EXHIBIT A — ARGUMENT';font:700 .65rem Georgia,serif;letter-spacing:.11em}.court-brief textarea{font-family:Georgia,serif}
.controller-form.debate-brief{grid-template-columns:1fr}.debate-brief:before{content:'OPENING POSITION';font:900 .65rem ui-monospace,monospace;color:var(--game-b);letter-spacing:.12em}.debate-brief textarea{border-left:8px solid var(--game-b)}
.controller-form.canon-page{padding:1.1rem 1.2rem;background:#f6eed9;color:#261f19;border:0;border-left:1px solid #b6a98f;box-shadow:inset 34px 0 0 rgba(166,69,55,.12)}.canon-page:before{content:'NEXT PAGE';font:700 .64rem Georgia,serif;letter-spacing:.14em}.canon-page textarea{font-family:Georgia,serif;line-height:1.6;background:transparent;border-width:0 0 1px}
.controller-form.campaign-podium{border-top:8px solid var(--game-b);padding-top:1rem}.campaign-podium:before{content:'ON THE RECORD';font:900 .6rem ui-monospace,monospace;color:var(--game-b);letter-spacing:.14em}
.controller-form.assembly-bench{padding:1rem;background:repeating-linear-gradient(90deg,#ded9ca 0,#ded9ca 18px,#d3cdbd 19px,#d3cdbd 20px);border:4px solid #292d31}.assembly-bench:before{content:'COMPONENT SPEC';font:900 .62rem ui-monospace,monospace;letter-spacing:.12em}.assembly-bench textarea{font-family:ui-monospace,monospace;background:#f6f1e5}
.controller-form.task-terminal{padding:1rem;background:#08120f;color:#c6ffd8;border:2px solid #50c879}.task-terminal:before{content:'ASSIGNMENT TERMINAL';font:700 .6rem ui-monospace,monospace;color:#50c879;letter-spacing:.13em}.task-terminal textarea{font-family:ui-monospace,monospace;background:#03100b;color:#c6ffd8;border-color:#50c879}
.controller-form.fragment-console{padding:1rem;background:#17202b;color:#e9f1ff;border:1px solid #6b91bf;clip-path:polygon(0 0,95% 0,100% 8%,100% 100%,5% 100%,0 92%)}.fragment-console:before{content:'SHARED ANSWER / PARTIAL INTEL';font:700 .58rem ui-monospace,monospace;color:#9dc7f1;letter-spacing:.1em}
.controller-form.memory-recall{border:4px double currentColor;padding:1rem}.memory-recall:before{content:'NO LOOKING BACK';font:900 .6rem ui-monospace,monospace;letter-spacing:.13em}
.controller-form.charades-guess{border-left:10px solid var(--game-a);padding-left:1rem}.charades-guess:before{content:'CALL IT';font:900 .65rem var(--display);letter-spacing:.08em}
.controller-form.emoji-guess{background:color-mix(in srgb,var(--game-c) 22%,#fff);padding:1rem}.emoji-guess:before{content:'TRANSLATE THE SYMBOLS';font:900 .58rem ui-monospace,monospace;letter-spacing:.11em}
.controller-form.one-word-guess{padding:1rem;border:4px solid currentColor;text-align:center}.one-word-guess:before{content:'ONE ANSWER';font:900 .62rem ui-monospace,monospace;letter-spacing:.14em}.one-word-guess input{text-align:center;font-size:1.35rem}

.ranking-board.timeline-sort>p:before{content:'EARLIEST → LATEST  ';font:900 .6rem ui-monospace,monospace;color:var(--game-b)}.ranking-board.lineup-sort>p:before{content:'PEOPLE, NOT EVENTS  ';font:900 .6rem ui-monospace,monospace;color:var(--game-b)}
.waiting-card.wait-charades{border:3px solid var(--game-a);background:radial-gradient(circle,var(--game-a) 0 3px,transparent 4px) 0 0/18px 18px}.waiting-card.wait-card_pitch{border-top:12px solid var(--game-b);text-align:left}.waiting-card.wait-one_word{border:4px double currentColor}.waiting-card.wait-escape_fragments,.waiting-card.wait-crisis_command,.waiting-card.wait-manual_relay{background:#111a22;color:#dbe9f8;font-family:ui-monospace,monospace}.role-rest.campaign-role,.role-target.campaign-role{border-left:8px solid #7c1f2b;padding-left:1rem}.role-rest.one-night-role,.role-target.one-night-role{border:1px solid var(--game-c);padding:1rem;background:rgba(0,0,0,.18)}

@media(max-width:620px){.prediction-dial .controller-choices,.friend-pick .controller-choices{grid-template-columns:1fr}.word-chain-form{grid-template-columns:1fr}.survey-ladder .controller-choices button{width:100%!important}}
.zone-map>div strong,.zone-map>div span{display:block}.zone-map>div span{margin-top:.25rem;font:.65rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.08em;opacity:.72}
.waiting-card.wait-escape_fragments{background:#eee5ca;color:#201d19;border:2px dashed #201d19;clip-path:polygon(0 0,95% 2%,100% 14%,97% 100%,4% 97%,0 84%);font-family:ui-monospace,monospace;transform:rotate(-.4deg)}
.waiting-card.wait-crisis_command{background:#1a0808;color:#ffe7d8;border:2px solid #ff5e45;box-shadow:inset 0 0 0 4px #1a0808,inset 0 0 0 5px rgba(255,94,69,.45);font-family:ui-monospace,monospace}.waiting-card.wait-crisis_command i{background:#ff5e45;box-shadow:0 0 0 6px rgba(255,94,69,.16)}
@media(max-width:620px){
  .finder-list{max-height:min(56vh,520px);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid #303741;border-bottom:1px solid #303741;scrollbar-gutter:stable}
  .finder-list>header{box-shadow:0 2px 0 #303741}
}

/* v6 raster art, catalog facets, bots, and live content workshop */
.raster-cover{overflow:hidden;background:#111;border:0}.raster-cover img{display:block;width:100%;height:100%;object-fit:cover}.game-box-cover .raster-cover{height:300px}.hero-art.raster-cover{height:100%;min-height:320px}.selector-thumb.raster{overflow:hidden;background:#111}.selector-thumb.raster img{width:100%;height:100%;display:block;object-fit:cover}.preview-cover .raster-cover{min-height:320px}.showcase-cover .raster-cover{min-height:520px}.host-poster.image-poster{padding:0;overflow:hidden;background:#0d1017}.host-poster.image-poster .raster-cover{height:100%;min-height:620px}.host-poster.image-poster .text-link{position:absolute;left:1rem;bottom:1rem;z-index:3;background:#111;color:#fff;padding:.65rem .9rem;border:2px solid #fff}
.catalog-facets{display:grid;grid-template-columns:1.15fr 1.25fr 1fr 1fr auto;gap:1px;background:#30343d;border:3px solid #0d1017;margin:0 auto;width:min(1500px,calc(100% - 2rem));box-shadow:8px 8px 0 #0d1017}.catalog-facets>div{background:#f7efdf;padding:1rem;display:flex;flex-wrap:wrap;align-content:flex-start;gap:.4rem}.catalog-facets .facet-title{width:100%;font:800 .78rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#3e4650;margin-bottom:.35rem}.catalog-facets button{border:2px solid #1d222b;background:transparent;padding:.48rem .64rem;font-weight:800}.catalog-facets button[aria-pressed=true]{background:#1d222b;color:#fff}.catalog-facets select{width:100%;border:2px solid #1d222b;background:#fff9ea;padding:.65rem;font-weight:800}.catalog-facets .surprise-me{background:var(--house);color:#fff;min-width:170px}.active-filters{width:min(1500px,calc(100% - 2rem));margin:.8rem auto;display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.active-filters>span{font-weight:900;margin-right:.4rem}.active-filters button{border:1px solid #343a45;background:#fff8e8;padding:.38rem .58rem}.active-filters.quiet small{color:#757b85}.game-finder.cleaner{grid-template-columns:minmax(430px,1.25fr) minmax(320px,.75fr);width:min(1500px,calc(100% - 2rem));margin:0 auto}.game-finder.cleaner .finder-list{max-height:72vh;overflow:auto;border:3px solid #111}.mode-badges{display:flex;gap:.4rem;flex-wrap:wrap;margin:.8rem 0}.mode-badges span,.bot-tag{font:900 .68rem/1 var(--sans);letter-spacing:.08em;background:#111;color:#fff;padding:.34rem .46rem;text-transform:uppercase}.bot-tag{display:inline-block;margin-left:.35rem;vertical-align:middle;background:#ff5b7d}.bot-roster-setup{display:grid;grid-template-columns:1.5fr .55fr .8fr;gap:1rem;align-items:end;background:#181c24;color:#fff;padding:1rem;border:3px solid #0c0f14}.bot-roster-setup h3{margin:.1rem 0;font-size:1.2rem}.bot-roster-setup p{margin:.2rem 0;color:#cdd2da}.bot-roster-setup input,.bot-roster-setup select{width:100%;padding:.7rem;border:2px solid #fff;background:#f9f0dd;color:#111}.soft-button.full{width:100%;margin-bottom:.55rem}.content-workshop{display:grid;grid-template-columns:minmax(260px,.5fr) minmax(420px,1.5fr);gap:1rem;padding:1rem}.workshop-intro{background:#111722;color:#fff;padding:1.2rem;border:4px solid #07090d}.workshop-intro h2{font-size:2rem;margin:.3rem 0}.workshop-intro code{display:block;background:#050608;padding:.7rem;margin:.8rem 0;word-break:break-all}.game-builder{background:#f6eddc;border:4px solid #111;padding:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.game-builder label{display:grid;gap:.35rem;font-weight:800}.game-builder input,.game-builder select,.game-builder textarea{width:100%;border:2px solid #111;background:#fffaf0;padding:.7rem;font:inherit}.game-builder .wide{grid-column:1/-1}.game-builder textarea{min-height:150px;font-family:ui-monospace,monospace}.game-builder footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;align-items:center;border-top:2px solid #111;padding-top:.8rem}.cover-upload-preview{grid-column:1/-1;display:grid;grid-template-columns:180px 1fr;gap:1rem;align-items:center}.cover-upload-preview img{width:180px;height:120px;object-fit:cover;border:3px solid #111;background:#111}
@media(max-width:1100px){.catalog-facets{grid-template-columns:1fr 1fr}.catalog-facets .surprise-me{min-height:74px}.game-finder.cleaner{grid-template-columns:1fr}.finder-preview{position:static}.content-workshop{grid-template-columns:1fr}}
@media(max-width:680px){.catalog-facets{grid-template-columns:1fr}.game-finder.cleaner{width:calc(100% - 1rem)}.game-box-cover .raster-cover{height:230px}.bot-roster-setup{grid-template-columns:1fr}.game-builder{grid-template-columns:1fr}.game-builder .wide,.game-builder footer,.cover-upload-preview{grid-column:1}.cover-upload-preview{grid-template-columns:1fr}.cover-upload-preview img{width:100%;height:auto}.selector-thumb.raster{width:82px;height:72px}.selector-game{grid-template-columns:auto 82px 1fr}.selector-price{grid-column:3}.host-poster.image-poster .raster-cover{min-height:420px}}

/* v6.0.0 contrast and workshop craft corrections */
.catalog-facets button{color:#1d222b}
.catalog-facets .surprise-me{color:#fff}
.game-builder,.game-builder label,.game-builder label>span,.game-builder label>small,.game-builder footer,.game-builder footer span{color:#171b22}
.game-builder .soft-button{color:#171b22;border-color:#171b22;background:transparent}
.game-builder .soft-button.primary{background:#ffd64f;color:#111;border-color:#111}
.game-builder input[type=checkbox]{accent-color:#eb5a67}
.workshop-intro .soft-button{color:#fff;border-color:#fff}

/* 6.0 one-device solo cabinet */
.solo-desk{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(420px,1.22fr);gap:clamp(24px,4vw,64px);align-items:stretch;padding:clamp(22px,4vw,58px)}
.solo-poster{position:relative;min-height:620px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#11151d}
.solo-poster img{width:100%;height:100%;object-fit:cover;display:block}
.solo-stamp{position:absolute;left:24px;bottom:24px;background:#f3c34d;color:#151922;padding:14px 18px;transform:rotate(-2deg);box-shadow:8px 8px 0 rgba(10,12,16,.7)}
.solo-stamp span,.solo-stamp strong{display:block}.solo-stamp span{font-size:.72rem;letter-spacing:.18em}.solo-stamp strong{font-size:1.2rem}
.solo-ledger{align-self:center}.setup-explainer{max-width:64ch;color:var(--muted);font-size:1.02rem}.solo-no-bots{border-top:1px solid var(--line);padding:18px 0}.solo-no-bots span{font-weight:800;text-transform:uppercase;letter-spacing:.1em}.solo-no-bots p{margin:.35rem 0 0;color:var(--muted)}
.solo-rules{margin:22px 0;border-left:5px solid #f3c34d;padding:4px 0 4px 18px}.solo-rules>span{font-size:.72rem;letter-spacing:.18em;font-weight:800}.solo-rules ol{margin:.75rem 0 0;padding-left:1.2rem}.solo-rules li+li{margin-top:.45rem}
.solo-player-console .controller-surface{display:grid;gap:18px}.solo-director{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(243,195,77,.6);background:linear-gradient(105deg,rgba(243,195,77,.15),rgba(15,20,29,.94));padding:16px 18px}.solo-director span{font-size:.7rem;letter-spacing:.18em;font-weight:900;color:#f3c34d}.solo-director p{margin:.3rem 0 0;color:#d7d9dd}.solo-director button{flex:0 0 auto}.solo-director button b{margin-left:12px}
@media(max-width:850px){.solo-desk{grid-template-columns:1fr;padding:18px}.solo-poster{min-height:340px;max-height:440px}.solo-director{align-items:stretch;flex-direction:column}.solo-director button{width:100%}}

/* V6 discovery recipe: a readable setup conversation, not a taxonomy dump. */
.catalog-facets.catalog-recipe{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:"who where" "mood mood" "finish surprise";gap:0;background:#10141b;border:4px solid #090b10;width:min(1500px,calc(100% - 2rem));box-shadow:10px 10px 0 #090b10}
.catalog-recipe>div{background:#f4ecd9;border-right:2px solid #121720;border-bottom:2px solid #121720;padding:1rem 1.1rem;align-content:start}
.catalog-recipe .facet-who{grid-area:who}.catalog-recipe .facet-where{grid-area:where;border-right:0}.catalog-recipe .facet-mood{grid-area:mood;border-right:0}.catalog-recipe .facet-finish{grid-area:finish;border-bottom:0}.catalog-recipe .surprise-me{grid-area:surprise;border:0;border-bottom:0;display:grid;align-content:center;text-align:left;padding:1.2rem 1.4rem;background:#ff5b7d;color:#111;min-height:110px}.catalog-recipe .surprise-me span{font:800 .62rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase}.catalog-recipe .surprise-me strong{font:900 1.4rem/1.05 var(--display);text-transform:uppercase;margin-top:.45rem}
.catalog-recipe .facet-title{display:flex;align-items:center;gap:.65rem;width:100%;font:900 .82rem/1.1 var(--display);letter-spacing:.05em;text-transform:uppercase;color:#1b2028;margin:0 0 .25rem}.catalog-recipe .facet-title b{display:grid;place-items:center;width:28px;height:28px;background:#171c24;color:#fff;font:900 .72rem ui-monospace,monospace}.catalog-recipe>div>small{display:block;width:100%;margin:0 0 .8rem;color:#626a72;font-size:.68rem}
.catalog-recipe .facet-who,.catalog-recipe .facet-where{display:flex;flex-wrap:wrap;gap:.42rem}.catalog-recipe .facet-who .facet-title,.catalog-recipe .facet-where .facet-title,.catalog-recipe .facet-who>small,.catalog-recipe .facet-where>small{flex-basis:100%}.catalog-recipe .facet-who button,.catalog-recipe .facet-where button{border:2px solid #1d222b;background:#fffaf0;color:#1d222b;padding:.55rem .72rem;font-weight:900}.catalog-recipe .facet-who button[aria-pressed=true],.catalog-recipe .facet-where button[aria-pressed=true]{background:#1d222b;color:#fff}
.catalog-recipe .facet-mood{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.catalog-recipe .facet-mood .facet-title,.catalog-recipe .facet-mood>small{grid-column:1/-1}.catalog-recipe .mood-filter{display:grid;gap:.22rem;text-align:left;min-height:78px;padding:.68rem .72rem;border:2px solid #252b34;background:#fffaf0;color:#171b21}.catalog-recipe .mood-filter strong{font:900 .82rem/1.05 var(--display);text-transform:uppercase}.catalog-recipe .mood-filter span{font-size:.62rem;line-height:1.3;color:#606872}.catalog-recipe .mood-filter[aria-pressed=true]{background:#202731;color:#fff;box-shadow:inset 6px 0 #ffcf4a}.catalog-recipe .mood-filter[aria-pressed=true] span{color:#c9d0d7}
.catalog-recipe .facet-finish{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.catalog-recipe .facet-finish .facet-title,.catalog-recipe .facet-finish>small{grid-column:1/-1}.catalog-recipe .facet-finish label{display:grid;gap:.3rem;font:900 .62rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#343a42}.catalog-recipe .facet-finish select{width:100%;min-height:42px;border:2px solid #1d222b;background:#fffaf0;color:#1d222b;padding:.45rem .55rem;font-weight:800}
@media(max-width:960px){.catalog-facets.catalog-recipe{grid-template-columns:1fr;grid-template-areas:"who" "where" "mood" "finish" "surprise"}.catalog-recipe .facet-who,.catalog-recipe .facet-where,.catalog-recipe .facet-mood,.catalog-recipe .facet-finish{border-right:0}.catalog-recipe .facet-mood{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-recipe .surprise-me{min-height:86px}}
@media(max-width:620px){.catalog-facets.catalog-recipe{width:calc(100% - 1rem);box-shadow:6px 6px 0 #090b10}.catalog-recipe .facet-mood{grid-template-columns:1fr}.catalog-recipe .facet-finish{grid-template-columns:1fr}.catalog-recipe .facet-finish .facet-title,.catalog-recipe .facet-finish>small{grid-column:1}.catalog-recipe .facet-who button,.catalog-recipe .facet-where button{flex:1 1 calc(50% - .42rem);text-align:center}}

/* Catalog re-renders its preview pane in place. Disable browser scroll anchoring
   for this route so a preview height change cannot nudge the page after the
   explicit saved-position restoration has completed. */
.page-games,.page-games .game-finder-head,.page-games .catalog-facets,.page-games .active-filters,.page-games .game-finder{overflow-anchor:none}

/* Content-workshop fallback: published built-ins ship raster covers. This state is
   deliberately typographic rather than an auto-generated pseudo-illustration. */
.missing-cover{width:100%;height:100%;min-height:170px;display:flex;flex-direction:column;justify-content:flex-end;gap:.45rem;padding:1rem;background:repeating-linear-gradient(-45deg,#151922 0 12px,#1d2330 12px 24px);color:#f5f0df;border:2px dashed #ffcf4a;text-align:left}
.missing-cover span{font:700 .62rem ui-monospace,monospace;letter-spacing:.16em;color:#ffcf4a}
.missing-cover b{font-size:clamp(1.05rem,2vw,1.55rem);line-height:1}
.missing-cover small{font-size:.72rem;color:#c8c5ba;max-width:28ch}
