:root{--ground:#2a1338;--ground-deep:#1a0a24;--wine:#4a1028;--gold:#d4a03c;--gold-bright:#f0c766;--parchment:#e8d5a8;--ink:#3a2410;--frame:4px;--display:"Cinzel", "Trajan Pro", Georgia, serif}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 50% 30%, var(--wine) 0%, var(--ground) 55%, var(--ground-deep) 100%);min-height:100vh;color:var(--parchment);font-family:var(--display);margin:0;overflow:hidden}#stage{place-items:center;min-height:100vh;display:grid;position:relative}#begin{font:inherit;letter-spacing:.08em;color:var(--parchment);background:linear-gradient(180deg, var(--wine), var(--ground-deep));border:var(--frame) solid var(--gold);box-shadow:0 0 0 2px var(--ground-deep), 0 0 32px #d4a03c59;cursor:pointer;border-radius:2px;padding:1rem 2.5rem;font-size:1.25rem}#begin:hover{border-color:var(--gold-bright)}.lobby{flex-direction:column;align-items:center;gap:1.5rem;max-height:100vh;padding:2rem 1rem;display:flex;overflow-y:auto}.lobby-title{letter-spacing:.1em;text-transform:uppercase;color:var(--gold-bright);text-align:center;margin:0;font-size:clamp(1.4rem,3vw,2.2rem)}.lobby-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:1rem .75rem;width:min(90vw,1100px);display:grid}.lobby-portrait{flex-direction:column;align-items:center;gap:.35rem;display:flex}.lobby-portrait img{aspect-ratio:1;object-fit:cover;border:2px solid var(--gold);background:var(--ground-deep);border-radius:3px;width:100%}.lobby-name{letter-spacing:.05em;text-align:center;opacity:.9;font-size:.75rem}.lobby-countdown{letter-spacing:.08em;color:var(--parchment);margin:0;font-size:clamp(1rem,2vw,1.4rem)}.card{opacity:0;pointer-events:none;grid-template-rows:auto auto auto;place-items:center;gap:1.5rem;transition:opacity .4s,transform .4s;display:grid;position:absolute;inset:0;transform:scale(.96)}.card.is-visible{opacity:1;transform:scale(1)}.portrait{aspect-ratio:16/9;background:var(--ground-deep);border:var(--frame) solid var(--gold);width:min(62vw,900px);box-shadow:inset 0 0 0 2px var(--ground-deep), inset 0 0 0 5px #d4a03c8c, 0 18px 60px #0009;border-radius:3px;position:relative;overflow:hidden}.portrait video{object-fit:cover;width:100%;height:100%;display:block}.portrait:before,.portrait:after{content:"";border:3px solid var(--gold-bright);width:22px;height:22px;position:absolute}.portrait:before{border-bottom:0;border-right:0;top:6px;left:6px}.portrait:after{border-top:0;border-left:0;bottom:6px;right:6px}.nameplate{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:linear-gradient(180deg, var(--parchment), #cbb98a);border:3px solid var(--gold);text-shadow:0 1px #ffffff59;padding:.5rem 2rem;font-size:clamp(1.4rem,3.2vw,2.4rem)}.character-line{opacity:.85;text-align:center;max-width:60ch;font-size:clamp(.85rem,1.5vw,1.05rem);font-style:italic}.banner-mount{min-height:9rem;position:relative}.banner{text-align:center;background:linear-gradient(180deg, var(--wine) 0%, #35091c 100%);border-left:3px solid var(--gold);border-right:3px solid var(--gold);clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%);transform-origin:top;z-index:5;width:min(30vw,380px);padding:1.5rem 1rem 2.25rem;transition:scale .7s cubic-bezier(.22,1.2,.36,1);position:absolute;top:0;left:50%;translate:-50%;scale:1 0}.banner.is-unfurled{scale:1}.banner .label{letter-spacing:.3em;text-transform:uppercase;opacity:.75;font-size:.8rem;display:block}.banner .pick{color:var(--gold-bright);text-shadow:0 0 24px #f0c76680;font-size:clamp(3rem,7vw,5.5rem);line-height:1;display:block}.board{border:var(--frame) solid var(--gold);background:#1a0a24eb;grid-template-columns:repeat(2,1fr);gap:.5rem 2rem;width:min(80vw,1000px);padding:2rem;display:grid}.board h2{text-align:center;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-bright);grid-column:1/-1;margin:0 0 1rem}.board .row{border-bottom:1px solid #d4a03c40;align-items:baseline;gap:1rem;padding:.4rem .6rem;display:flex}.board .row .n{color:var(--gold-bright);min-width:2.5ch}@media (width<=720px){.board{grid-template-columns:1fr}.portrait{width:90vw}}.oracle{flex-direction:column;align-items:center;gap:.75rem;display:flex}.oracle-figure{border:2px solid var(--gold);filter:saturate(1.05);border-radius:3px;width:clamp(140px,22vw,240px);box-shadow:0 0 40px #d4a03c40}.oracle-line{text-align:center;letter-spacing:.04em;max-width:34ch;color:var(--gold-bright);opacity:0;margin:0;font-size:clamp(1rem,2.2vw,1.5rem);font-style:italic;line-height:1.4}.oracle-line.is-spoken{animation:.9s ease-out forwards oracle-speak}@keyframes oracle-speak{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.oracle-clock{letter-spacing:.14em;opacity:.65;margin:0;font-size:.85rem}.slip{flex-direction:column;align-items:center;gap:1rem;display:flex}.slip-prompt{letter-spacing:.08em;text-transform:uppercase;color:var(--parchment);margin:0;font-size:.95rem}.lobby-portrait{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.lobby-portrait.is-chosen img{border-color:var(--gold-bright);box-shadow:0 0 0 2px var(--gold-bright), 0 0 24px #d4a03c99}.slip-picks{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.slip-pick{background:var(--ground-deep);border:2px solid var(--gold);width:2.6rem;height:2.6rem;color:var(--parchment);font:inherit;cursor:pointer;border-radius:2px;font-size:1rem}.slip-pick.is-chosen{background:var(--gold);color:var(--ground-deep);box-shadow:0 0 20px #d4a03c8c}.slip-lock{border:2px solid var(--gold);color:var(--gold-bright);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:.6rem 1.6rem}.slip-lock:disabled{opacity:.35;cursor:default}.slip-locked{color:var(--gold-bright);letter-spacing:.06em;margin:0}.slip.is-locked .slip-picks,.slip.is-locked .slip-lock,.slip.is-locked .slip-prompt{display:none}.slip.is-locked .lobby-portrait{cursor:default}.rail{z-index:5;pointer-events:none;justify-content:center;gap:.4rem;display:flex;position:absolute;top:.75rem;left:0;right:0}.rail-pick{text-align:center;letter-spacing:.05em;min-width:1.9rem;color:var(--gold-bright);border:1px solid var(--gold);background:#1408188c;border-radius:2px;padding:.25rem 0;font-size:.95rem;transition:color .4s,opacity .4s,transform .4s}.rail-pick.is-mine{box-shadow:0 0 0 2px var(--gold-bright), 0 0 18px #d4a03cb3}.rail-pick.is-burned{color:#6b3a2a;opacity:.35;border-color:#4a2418;text-decoration:line-through;transform:translateY(3px)scale(.9)}.pick.is-slammed{animation:.42s cubic-bezier(.2,1.6,.3,1) both pick-slam}@keyframes pick-slam{0%{opacity:.2;transform:scale(2.4)}60%{opacity:1;transform:scale(.92)}75%{transform:scale(1.06)translate(-4px)}85%{transform:scale(1)translate(4px)}to{transform:scale(1)translate(0)}}.scorecard{text-align:center;letter-spacing:.06em;border:1px solid var(--gold);color:var(--parchment);border-radius:2px;margin:1.25rem 0 0;padding:.7rem 1.2rem}.scorecard.is-hit{color:var(--ground-deep);background:var(--gold-bright);font-weight:700}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.confetti i{background:var(--gold-bright);width:8px;height:14px;animation:2.6s linear forwards confetti-fall;position:absolute;top:-12px}.confetti i:nth-child(3n){background:#c9433f}.confetti i:nth-child(3n+1){background:#f0e0b0}@keyframes confetti-fall{to{opacity:0;transform:translateY(110vh)rotate(540deg)}}.spoof{z-index:40;opacity:0;background:#0c0410db;place-items:center;transition:opacity .5s;display:grid;position:fixed;inset:0}.spoof.is-open{opacity:1}.spoof-panel{text-align:center;border:2px solid var(--gold);background:var(--ground-deep);border-radius:3px;padding:2rem 2.4rem;animation:.6s cubic-bezier(.2,1.4,.3,1) both spoof-in;box-shadow:0 0 60px #d4a03c66}@keyframes spoof-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.spoof-eyebrow{letter-spacing:.22em;text-transform:uppercase;opacity:.7;margin:0 0 .6rem;font-size:.8rem}.spoof-headline{letter-spacing:.14em;color:var(--parchment);margin:0;font-size:clamp(1rem,2.4vw,1.5rem)}.spoof-pick{letter-spacing:.06em;color:var(--gold-bright);text-shadow:0 0 30px #d4a03c99;margin:.6rem 0 0;font-size:clamp(2.6rem,9vw,5rem);line-height:1}.spoof-retraction{color:var(--gold-bright);margin:1.2rem 0 0;font-style:italic;line-height:1.5;animation:.7s ease-out both oracle-speak}.spoof-panel.is-lying .spoof-headline,.spoof-panel.is-lying .spoof-pick{opacity:.25;filter:blur(1.5px);text-decoration:line-through;transition:opacity .7s,filter .7s}
