@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700;900&family=Noto+Serif:ital,wght@0,400;0,600;1,400&family=Noto+Sans:wght@400;600;700&display=swap');:root{--night:#0b0a09;--gold:#d1a04c;--verdict:#a41624;--bone:#f4ead8;--gold-soft:#e6c47f;--gold-dim:#8a6a2f;--bone-dim:#c9bfae;--bone-mute:#9c9384;--bone-faint:#6f685c;--panel:rgba(20,17,14,.86);--panel-2:rgba(32,28,23,.86);--line:rgba(209,160,76,.28);--line-soft:rgba(244,234,216,.10);--ease:cubic-bezier(.22,.61,.36,1);}/* Engraved corners: a fine radius, never a bevel, never a bounce. */*{border-radius:6px;}/* background-COLOR only (not the `background` shorthand) so the JS-set candlelit backdropimage on <body> isn't reset/overridden. */body{background-color:var(--night);color:var(--bone);font-family:'Noto Sans',system-ui,sans-serif;font-size:1.02rem;line-height:1.55;letter-spacing:.005em;}/* Display face: carved capitals for the ritual headlines; interface stays a clean sans. */h1,h2,h3,[class*=font-black]{font-family:'Cinzel','Noto Serif',Georgia,serif;font-weight:700;letter-spacing:.02em;}[class*=font-black]{font-weight:900;}[class*=font-bold]:not([class*=font-black]):not(button){font-family:'Noto Sans',system-ui,sans-serif;font-weight:700;}.blackletter{font-family:'Cinzel',serif !important;text-transform:none;}/* The four colours, mapped onto the utilities the screens already use. */[class~=bg-stone-950]{background-color:var(--night) !important;}[class~=bg-stone-900]{background:var(--panel) !important;}[class~=bg-stone-800]{background:var(--panel-2) !important;}[class~=bg-stone-700]{background:rgba(48,42,35,.9) !important;}[class~=text-stone-950]{color:var(--night) !important;}[class~=text-stone-100],[class~=text-stone-200]{color:var(--bone) !important;}[class~=text-stone-300]{color:var(--bone-dim) !important;}[class~=text-stone-400]{color:var(--bone-mute) !important;}[class~=text-stone-500]{color:var(--bone-mute) !important;}[class~=text-stone-600],[class~=text-stone-700]{color:var(--bone-faint) !important;}[class~=text-amber-200]{color:#f0d9a6 !important;}[class~=text-amber-300]{color:var(--gold-soft) !important;}[class~=text-amber-400]{color:var(--gold) !important;}[class~=bg-amber-500],[class~=bg-amber-400]{background-color:var(--gold) !important;color:var(--night) !important;}[class~=text-red-50],[class~=text-red-100],[class~=text-red-200]{color:#f2c9c6 !important;}[class~=text-red-300],[class~=text-red-400],[class~=text-red-500]{color:#e0555f !important;}[class~=bg-red-600],[class~=bg-red-800],[class~=bg-red-900],[class~=bg-red-950]{background-color:var(--verdict) !important;color:var(--bone) !important;}/* No green in the court: agreement and safety read as candle gold. */[class~=text-emerald-200],[class~=text-emerald-300],[class~=text-emerald-400]{color:var(--gold-soft) !important;}[class~=bg-emerald-500],[class~=bg-emerald-600],[class~=bg-emerald-700]{background-color:var(--gold-dim) !important;color:var(--bone) !important;}[class*=border-stone-]{border-color:var(--line-soft) !important;}[class*=border-amber-]{border-color:var(--line) !important;}[class*=border-emerald-]{border-color:var(--line) !important;}[class*=border-red-]{border-color:rgba(164,22,36,.6) !important;}[class*=ring-amber-]{--tw-ring-color:var(--gold) !important;}/* Buttons: an engraved hairline and a soft candle bloom on press. */button[class*=bg-],a[class*=bg-]{font-family:'Cinzel','Noto Serif',serif;font-weight:700;text-transform:uppercase;letter-spacing:.06em;border:1px solid rgba(244,234,216,.28) !important;box-shadow:0 8px 24px rgba(0,0,0,.45);transition:transform .18s var(--ease),box-shadow .18s var(--ease),filter .18s var(--ease);}button[class*=bg-amber],a[class*=bg-amber]{border-color:rgba(244,234,216,.55) !important;box-shadow:0 0 0 1px rgba(209,160,76,.35),0 10px 30px rgba(209,160,76,.18);}button[class*=bg-]:active,a[class*=bg-]:active{transform:translateY(1px);filter:brightness(.92);box-shadow:0 2px 10px rgba(0,0,0,.5);}/* Panels: fine engraved border, deep negative space, soft lift. */div[class*=bg-stone-8],div[class*=bg-stone-9],div[class*=bg-gray-8],div[class*=bg-gray-9]{border:1px solid var(--line-soft);box-shadow:0 14px 40px rgba(0,0,0,.55);}header,footer{border-color:var(--line) !important;}/* The marketing layout's greys become the court's night and bone. */[class*=bg-gray-9]{background:var(--night) !important;}[class*=bg-gray-8]{background:#16130f !important;}[class*=text-gray-1],[class*=text-gray-2],[class*=text-gray-3]{color:var(--bone) !important;}[class*=text-gray-4],[class*=text-gray-5]{color:var(--bone-mute) !important;}/* Motion: slow irises and decisive cuts, never a bounce. */@keyframes fadeRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.fade-rise{animation:fadeRise .6s var(--ease) both}.fade-slow{animation-duration:.9s}@keyframes deathSlam{0%{opacity:0;transform:scale(1.35)}70%{opacity:1;transform:scale(.99)}100%{transform:scale(1)}}.death-slam{animation:deathSlam .6s var(--ease) both}@keyframes shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.shake{animation:shake .45s var(--ease) both}@media (prefers-reduced-motion:reduce){.fade-rise,.death-slam,.shake{animation:none !important}}/* Pot slide-in toast — the only place the pot surfaces, on a climb. Persistent in the hostshell so an #app re-render can't interrupt it; the JS toggles .show. */#pottoast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,200%);opacity:0;z-index:40;pointer-events:none;text-align:center;padding:14px 32px;background:rgba(14,12,9,.95);border:1px solid var(--line);box-shadow:0 16px 44px rgba(0,0,0,.6);transition:transform .55s var(--ease),opacity .55s}#pottoast.show{transform:translate(-50%,0);opacity:1}/* Cutscene overlay: video backdrop + scrim + slammed headline (the meaning). */#cutscene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}#cutscrim{position:absolute;inset:0;opacity:0;transition:opacity 1s ease;pointer-events:none;border-radius:0}#cutscrim.dark{background:#000}/* Prologue captions: a bottom-weighted veil, so the film stays visible behind the words. */#cutscrim.veil{background:linear-gradient(to top,rgba(0,0,0,.78) 0%,rgba(0,0,0,.25) 40%,rgba(0,0,0,0) 70%)}#cutscrim.warm{background:radial-gradient(circle at 50% 55%,rgba(209,160,76,.14),rgba(11,10,9,.6))}#cutscrim.show{opacity:1}#cuthead{position:absolute;left:0;right:0;top:42%;z-index:2;opacity:0;transform:translateY(-50%);text-align:center;font-family:'Cinzel',serif;font-weight:900;font-size:clamp(34px,7.5vw,104px);line-height:1;text-shadow:0 4px 30px #000;padding:0 4%;letter-spacing:.03em}.cutsub{font-family:'Noto Sans',sans-serif;font-weight:600;font-size:clamp(12px,1.5vw,18px);letter-spacing:.3em;color:var(--gold-soft);margin-top:16px;text-transform:uppercase}@keyframes cutslam{0%{transform:translateY(-50%) scale(1.4);opacity:0}70%{transform:translateY(-50%) scale(.99);opacity:1}100%{transform:translateY(-50%) scale(1)}}.cut-blood{color:#e0555f}.cut-gold{color:var(--gold)}.cut-bone{color:var(--bone)}/* Prologue film: a readable bottom SUBTITLE + a skip hint. */#procap{position:absolute;left:0;right:0;bottom:12%;z-index:3;text-align:center;font-family:'Noto Serif',Georgia,serif;font-size:clamp(20px,3.2vw,40px);color:var(--bone);text-shadow:0 3px 24px #000;padding:0 8%;opacity:0;transition:opacity .8s ease;letter-spacing:.01em}#procap.show{opacity:1}#proskip{position:absolute;right:5%;bottom:5%;z-index:3;font-family:'Noto Sans',sans-serif;font-size:clamp(11px,1.3vw,15px);letter-spacing:.2em;text-transform:uppercase;color:var(--bone-mute);text-shadow:0 2px 10px #000}/* Candle bloom on the player who's on the spot. */@keyframes pulseGlow{0%,100%{box-shadow:0 0 0 0 rgba(209,160,76,.4)}50%{box-shadow:0 0 26px 7px rgba(209,160,76,.55)}}.pulse-glow{animation:pulseGlow 1.6s var(--ease) infinite}/* Player stat HUD cells. */.hud-cell{flex:1;border:1px solid var(--line-soft);background:var(--panel-2);padding:6px 4px;text-align:center}.hud-cell b{display:block;font-size:1.4rem;line-height:1;color:var(--bone);font-family:'Cinzel',serif}.hud-cell span{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-mute)}/* Vote tally bar: bone to red as the leader warms. */.tallybar{display:flex;height:18px;border:1px solid var(--line);overflow:hidden}.tallybar i{display:block;transition:width .5s var(--ease)}