html,body,#app{height:100%}body{cursor:default;overflow:hidden}.host{font-family:var(--ui);color:var(--ink);--frame-pad:clamp(14px, 1.7vw, 40px);position:fixed;inset:0;overflow:hidden}.quake{will-change:transform;animation-duration:.56s;animation-timing-function:cubic-bezier(.36,.07,.19,.97);position:absolute;inset:0}@keyframes quakeA{0%{transform:translate(0,0)}15%{transform:translate3d(calc(var(--q) * -1px), calc(var(--q) * .5px), 0) rotate(calc(var(--q) * -.04deg))}32%{transform:translate3d(calc(var(--q) * .9px), calc(var(--q) * -.4px), 0) rotate(calc(var(--q) * .035deg))}52%{transform:translate3d(calc(var(--q) * -.6px), calc(var(--q) * -.2px), 0)}74%{transform:translate3d(calc(var(--q) * .35px), calc(var(--q) * .3px), 0)}to{transform:translate(0,0)}}@keyframes quakeB{0%{transform:translate(0,0)}15%{transform:translate3d(calc(var(--q) * 1px), calc(var(--q) * -.5px), 0) rotate(calc(var(--q) * .04deg))}32%{transform:translate3d(calc(var(--q) * -.9px), calc(var(--q) * .4px), 0) rotate(calc(var(--q) * -.035deg))}52%{transform:translate3d(calc(var(--q) * .6px), calc(var(--q) * .2px), 0)}74%{transform:translate3d(calc(var(--q) * -.35px), calc(var(--q) * -.3px), 0)}to{transform:translate(0,0)}}.host .stage{z-index:0}.stage-in{animation:1.5s both fadeIn}.host-scrim{z-index:1;pointer-events:none;background:linear-gradient(#050403d1 0%,#0504034d 20%,#0504031f 44%,#0504039e 78%,#050403eb 100%);position:absolute;inset:0}.host-frame{z-index:2;padding:var(--frame-pad);grid-template-rows:auto minmax(0,1fr);gap:clamp(8px,1.1vh,22px);display:grid;position:absolute;inset:0}.host-body{grid-template-rows:minmax(0,1fr);min-height:0;display:grid}.topbar{text-transform:uppercase;letter-spacing:.32em;color:var(--ink-dim);grid-template-columns:1fr auto 1fr;align-items:center;gap:1em;font-size:clamp(10px,.85vw,17px);display:grid}.topbar-title{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-mid{justify-content:center;align-items:center;gap:1.2em;display:flex}.topbar-act{color:var(--accent)}.topbar-code{font-family:var(--display);letter-spacing:.22em;color:var(--accent);justify-self:end;align-items:baseline;gap:.7em;font-size:clamp(16px,1.4vw,30px);display:inline-flex}.topbar-code i{letter-spacing:.34em;color:var(--ink-dim);font-size:.45em;font-style:normal}.topbar-code.hushed{opacity:0}.rule{width:100%;color:var(--ink-dim);align-items:center;gap:1.2em;display:flex}.rule i{background:linear-gradient(90deg,#0000,#ffdcaa47,#0000);flex:1;height:1px}.rule span{text-transform:uppercase;letter-spacing:.34em;white-space:nowrap;font-size:clamp(10px,.9vw,18px)}.dots{width:1.1em;display:inline-block}.dots:after{content:"…";animation:1.6s ease-in-out infinite alternate breathe}.tag{text-transform:uppercase;letter-spacing:.22em;white-space:nowrap;font-size:clamp(9px,.72vw,14px)}.tag.ready{color:var(--good)}.tag.waiting{color:var(--accent)}.tag.down{color:var(--danger)}.tag.gone,.tag.quiet{color:var(--ink-dim)}.hpbar{background:#0009;border:1px solid #ffffff1a;border-radius:999px;height:clamp(12px,1vw,20px);position:relative;overflow:hidden}.hpbar.big{height:clamp(15px,1.35vw,26px)}.hpbar-fill,.hpbar-ghost{transform-origin:0;border-radius:999px;position:absolute;inset:0}.hpbar-ghost{background:var(--danger);opacity:.5;transition:transform .78s cubic-bezier(.3,.7,.2,1) .24s}.hpbar-fill{background:linear-gradient(90deg,#d8534a,#a3352f);transition:transform .28s cubic-bezier(.2,.8,.2,1)}.hpbar.low{box-shadow:0 0 0 1px #e0564acc,0 0 16px #e0564a73}.hpbar.out .hpbar-read b{color:var(--danger)}.hpbar-read{font-variant-numeric:tabular-nums;text-shadow:0 1px 3px #000000f2;letter-spacing:.04em;justify-content:flex-end;align-items:center;gap:.1em;padding-right:.6em;font-size:clamp(9px,.74vw,15px);display:flex;position:absolute;inset:0}.hpbar-read b{font-weight:700}.hpbar-read span{opacity:.5}.floaters{pointer-events:none;position:absolute;inset:0;overflow:visible}.floater{font-family:var(--display);white-space:nowrap;text-align:center;text-shadow:0 2px 10px #000000f2;font-size:clamp(24px,2.2vw,50px);font-weight:700;line-height:1;animation:1.5s cubic-bezier(.2,.7,.3,1) forwards floatUp;position:absolute;top:25%;left:50%}.floater.hit{color:#ff9d88}.floater.heal{color:var(--good)}.floater.crit{color:#fff3d6;text-shadow:0 0 26px var(--glow), 0 2px 10px #000;font-size:clamp(36px,3.4vw,82px)}.floater-crit{font-family:var(--ui);letter-spacing:.34em;text-transform:uppercase;color:var(--accent);font-size:.3em;font-style:normal;display:block}.enemy-figure .floater{top:46%}@keyframes floatUp{0%{opacity:0;transform:translate(calc(-50% + var(--dx,0) * 20px), 14px) scale(.6)}16%{opacity:1;transform:translate(calc(-50% + var(--dx,0) * 28px), -8px) scale(1.14)}30%{transform:translate(calc(-50% + var(--dx,0) * 30px), -16px) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx,0) * 46px), -76px) scale(.94)}}.clock{aspect-ratio:1;flex:none;width:clamp(64px,5.4vw,112px);position:relative}.clock svg{width:100%;height:100%;transform:rotate(-90deg)}.clock-track{fill:none;stroke:#ffffff1f;stroke-width:7px}.clock-arc{fill:none;stroke:var(--accent);stroke-width:7px;stroke-linecap:round}.clock.urgent .clock-arc{stroke:var(--danger)}.clock-read{text-align:center;place-content:center;line-height:1;display:grid;position:absolute;inset:0}.clock-read b{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:clamp(20px,1.8vw,38px)}.clock-read span{text-transform:uppercase;letter-spacing:.24em;color:var(--ink-dim);font-size:clamp(8px,.62vw,12px)}.clock.urgent .clock-read b{color:var(--danger);animation:1s ease-in-out infinite tick}.clock-idle{width:clamp(64px,5.4vw,112px);color:var(--ink-dim);opacity:.4;place-items:center;display:grid}.lobby{text-align:center;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:center;justify-items:center;gap:clamp(10px,1.8vh,34px);height:100%;min-height:0;display:grid}.lobby-head{justify-items:center;gap:clamp(6px,1.2vh,20px);display:grid}.lobby-eyebrow{text-transform:uppercase;letter-spacing:.4em;color:var(--ink-dim);text-indent:.4em;font-size:clamp(10px,.95vw,19px)}.lobby-eyebrow.under{opacity:.7}.lobby-url{color:var(--accent);letter-spacing:.01em;text-shadow:0 0 24px #ffc86b59;font-size:clamp(20px,2.1vw,44px);font-weight:600;display:block}.lobby-join{gap:.25em;margin-bottom:clamp(2px,.6vh,12px);display:grid}.lobby-code{gap:clamp(4px,.8vw,20px);display:flex}.lobby-ch{font-family:var(--display);color:#fff8e8;text-shadow:0 0 10px #fff4d6e6, 0 0 clamp(30px, 4vw, 96px) var(--glow), 0 clamp(3px, .45vw, 9px) 0 #0000008c;animation:.7s cubic-bezier(.2,.9,.25,1) both chIn;animation-delay:calc(var(--i) * 90ms);font-size:clamp(64px,min(13vw,26vh),250px);font-weight:700;line-height:1.04}.lobby-party{grid-template-columns:repeat(auto-fit,minmax(clamp(110px,10.5vw,200px),1fr));align-content:start;gap:clamp(8px,1.1vw,24px);width:min(1560px,94vw);display:grid;overflow:hidden}.joiner{border-radius:var(--r-md);border:1px solid var(--panel-edge);border-top:3px solid var(--cls,var(--panel-edge));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#120d0a9e;justify-items:center;gap:.3em;padding:clamp(8px,.9vw,20px);animation:.5s cubic-bezier(.2,.9,.25,1) both joinIn;display:grid}.joiner-name{font-family:var(--display);margin-top:.2em;font-size:clamp(14px,1.25vw,27px)}.joiner-cls{text-transform:uppercase;letter-spacing:.2em;color:var(--cls,var(--ink-dim));align-items:center;gap:.35em;font-size:clamp(10px,.85vw,17px);display:inline-flex}.joiner.empty{opacity:.32;border-top-color:var(--panel-edge)}.joiner.empty .joiner-cls{color:var(--ink-dim)}.joiner-slot{border:2px dashed #ffdcaa47;border-radius:6px 6px 40% 40%;width:clamp(48px,4.4vw,72px);height:clamp(56px,5.1vw,84px);display:block}.lobby-foot{justify-items:center;gap:.7em;display:grid}.begin{font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;color:#1a1005;cursor:pointer;background:linear-gradient(#ffd98a,#e8a83c);border:none;border-radius:999px;align-items:center;gap:.6em;padding:clamp(10px,.9vw,22px) clamp(26px,2.6vw,62px);font-size:clamp(20px,2vw,42px);font-weight:700;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:inline-flex;box-shadow:0 0 clamp(24px,3vw,70px) #ffbe5a66,0 12px 30px #0009}.begin:hover{transform:translateY(-2px)scale(1.02)}.begin:active{transform:translateY(1px)scale(.99)}.begin.off{color:var(--ink-dim);box-shadow:none;cursor:not-allowed;border:1px solid var(--panel-edge);background:#3c2e1e99}.lobby-hint{color:var(--ink-dim);margin:0;font-size:clamp(12px,1.05vw,22px)}.scene{grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(8px,1.4vh,26px);height:100%;min-height:0;display:grid}.narration{text-align:center;width:min(1600px,90vw);margin:0 auto;transition:opacity .3s}.scene.covered .narration{opacity:0}.narration-body p.rt,.beat-prose p.rt{font-family:var(--display);text-shadow:0 2px 20px #000000e6;margin:0 0 .42em;font-size:clamp(19px,2.25vw,46px);line-height:1.34}.narration-body p.rt:last-child,.beat-prose p.rt:last-child{margin-bottom:0}.rt em{color:var(--accent);font-style:italic}.speaker{text-transform:uppercase;letter-spacing:.36em;color:var(--ink-dim);text-indent:.36em;align-items:center;gap:.6em;margin-bottom:.6em;font-size:clamp(10px,.95vw,19px);display:inline-flex}.speaker.is-crown{color:#ffdca0;letter-spacing:.44em;font-size:clamp(12px,1.15vw,24px)}.speaker.is-crown:before,.speaker.is-crown:after{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);width:clamp(24px,4vw,90px);height:1px}.choices-wrap{align-self:end;gap:clamp(6px,.8vh,16px);display:grid}.choices-head{justify-content:space-between;align-items:center;gap:1em;display:flex}.choices-label{text-transform:uppercase;letter-spacing:.34em;color:var(--ink-dim);font-size:clamp(10px,.9vw,18px)}.choices-wrap.hushed{justify-items:center}.hushed-label{font-family:var(--display);color:var(--ink-dim);letter-spacing:.4em;opacity:.5;font-size:clamp(20px,2vw,40px)}.choices{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:clamp(7px,.8vw,18px);display:grid}.choice{border-radius:var(--r-md);border:1px solid var(--panel-edge);-webkit-backdrop-filter:blur(10px)saturate(1.1);backdrop-filter:blur(10px)saturate(1.1);background:#0e0a08b8;grid-template-rows:auto minmax(0,1fr) auto;gap:.4em;padding:clamp(9px,.95vw,22px);transition:border-color .26s,box-shadow .26s,transform .26s cubic-bezier(.2,.8,.2,1);display:grid}.choice.leading{border-color:#ffc86bcc;transform:translateY(-3px);box-shadow:inset 0 0 0 1px #ffc86b66,0 0 42px #ffc86b2e}.choice-top{align-items:baseline;gap:.5em;display:flex}.choice-num{font-family:var(--display);letter-spacing:.2em;color:var(--accent);opacity:.75;flex:none;font-size:clamp(11px,.9vw,18px)}.choice-label{font-family:var(--display);margin:0;font-size:clamp(15px,1.5vw,32px);font-weight:600;line-height:1.15}.choice-blurb{font-family:var(--body);color:var(--ink-dim);margin:0;font-size:clamp(12px,1.02vw,21px);line-height:1.3}.choice-bar{background:#0000008c;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.4em;height:clamp(38px,3.4vw,60px);padding:0 .7em;display:flex;position:relative;overflow:hidden}.choice-fill{transform-origin:0;background:linear-gradient(90deg,#ffc86b6b,#ffc86b24);transition:transform .44s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.choice.leading .choice-fill{background:linear-gradient(90deg,#ffd68c99,#ffc86b33)}.choice-voters{align-items:center;min-width:0;display:flex;position:relative;overflow:hidden}.voter{filter:drop-shadow(0 2px 4px #000c);margin-right:-.5em;animation:.4s cubic-bezier(.2,.9,.25,1) both voterIn;display:block}.voter:last-child{margin-right:0}.choice-count{font-family:var(--display);font-variant-numeric:tabular-nums;color:var(--ink-dim);margin-left:auto;padding-left:.4em;font-size:clamp(15px,1.35vw,28px);position:relative}.choice.has-votes .choice-count{color:var(--ink)}.choice.leading .choice-count{color:var(--accent)}.party{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:clamp(5px,.65vw,15px);display:grid}.hero{border-radius:var(--r-sm);border:1px solid var(--panel-edge);border-bottom:3px solid var(--cls);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d0907a8;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(5px,.6vw,14px);min-width:0;padding:clamp(5px,.6vw,13px);transition:opacity .3s,background .4s;display:grid;position:relative}.hero.full{border-radius:var(--r-md);border-bottom-width:4px;padding:clamp(7px,.8vw,17px)}.hero-sigil{position:relative}.hero-body{gap:.25em;min-width:0;display:grid}.hero-line{justify-content:space-between;align-items:baseline;gap:.5em;min-width:0;display:flex}.hero-name{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;font-size:clamp(12px,1.05vw,22px);overflow:hidden}.hero.full .hero-name{font-size:clamp(14px,1.3vw,28px)}.hero-lv{color:var(--cls);font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:.25em;font-size:clamp(10px,.85vw,17px);font-weight:700;display:inline-flex}.hero-foot{align-items:baseline;gap:.6em;min-width:0;min-height:1.1em;display:flex}.hero-title{font-family:var(--display);color:var(--accent);opacity:.8;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(9px,.72vw,14px);overflow:hidden}.hero.ready{box-shadow:0 0 0 1px #7fd08a52}.hero.gone{opacity:.45}.hero.downed{border-bottom-color:var(--danger);background:#2e0a099e}.hero.downed .crest{filter:grayscale()brightness(.55)}.hero-slash{pointer-events:none;filter:drop-shadow(0 1px 2px #000c);background:linear-gradient(135deg,#0000 45%,#e0564af2 45% 55%,#0000 55%);position:absolute;inset:-8%}.waiting{text-transform:uppercase;letter-spacing:.26em;color:var(--ink-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:1em;min-height:2.2em;padding:.3em 0 .5em;font-size:clamp(10px,.9vw,19px);display:flex}.waiting-list{flex-wrap:wrap;justify-content:center;gap:clamp(8px,1vw,24px);display:flex}.waiting-who{font-family:var(--display);text-transform:none;letter-spacing:.06em;color:var(--ink);align-items:center;gap:.4em;font-size:clamp(13px,1.15vw,24px);display:inline-flex}.waiting.all-in{color:var(--good)}.waiting.resolving-note{color:var(--ink-dim);opacity:.7}.combat{grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid}.combat-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:clamp(10px,1.5vw,34px);display:grid}.round{text-align:center;font-family:var(--display);min-width:clamp(64px,5.4vw,112px)}.round-label{font-family:var(--ui);text-transform:uppercase;letter-spacing:.3em;color:var(--ink-dim);font-size:clamp(9px,.75vw,15px);display:block}.round-n{color:var(--accent);text-shadow:0 0 30px #ffc86b59;font-size:clamp(30px,3.1vw,66px);line-height:1;display:block}.combat-clock{justify-items:end;display:grid}.enemies{grid-template-columns:repeat(var(--n), minmax(0, 1fr));place-items:end center;gap:clamp(8px,1.3vw,34px);display:grid}.enemy{justify-items:center;gap:.3em;width:100%;max-width:clamp(170px,16vw,320px);transition:opacity .5s;display:grid}.enemy-figure{place-items:center;width:100%;height:clamp(84px,9.6vw,186px);display:grid;position:relative}.enemy-icon{color:#06050a;width:clamp(70px,8.2vw,165px);height:auto;filter:drop-shadow(0 0 clamp(10px, 1.5vw, 34px) var(--glow)) drop-shadow(0 8px 14px #000000d9)}.sil-humanoid .enemy-icon{animation:4.4s ease-in-out infinite alternate swayIdle}.sil-beast .enemy-icon{animation:3.2s ease-in-out infinite alternate prowlIdle}.sil-blob .enemy-icon{animation:2.8s ease-in-out infinite alternate squishIdle}.sil-hanging .enemy-figure{align-items:start}.sil-hanging .enemy-icon{transform-origin:50% 0;animation:3.8s ease-in-out infinite alternate dangleIdle}.enemy-plinth{background:radial-gradient(#000000bf,#0000 70%);border-radius:50%;width:62%;height:clamp(5px,.55vw,11px);margin-top:-.2em}.enemy-name{font-family:var(--display);text-align:center;text-shadow:0 2px 10px #000000e6;font-size:clamp(13px,1.25vw,27px);line-height:1.1}.enemy .hpbar{width:100%}.enemy-statuses{flex-wrap:wrap;justify-content:center;gap:.35em;display:flex}.status{text-transform:uppercase;letter-spacing:.2em;color:#e6d8ff;background:#be8cff24;border:1px solid #c8a0ff57;border-radius:999px;padding:.15em .6em;font-size:clamp(9px,.72vw,14px)}.enemy.dead .enemy-figure{opacity:.3}.enemy.dead .hpbar{opacity:.4}.enemy.dead .enemy-name{color:var(--ink-dim);text-decoration:line-through}.enemy.dead .enemy-icon{filter:grayscale()drop-shadow(0 4px 8px #000000e6);animation:none;transform:rotate(-9deg)translateY(6%)}.enemy-dead{font-family:var(--display);text-transform:uppercase;letter-spacing:.32em;color:var(--danger);font-size:clamp(10px,.85vw,17px)}.combat-mid{min-height:0}.combat-foot{gap:.2em;display:grid}.split{text-align:center;grid-template-rows:auto auto auto minmax(0,1fr);align-content:center;justify-items:center;gap:clamp(8px,1.5vh,28px);height:100%;min-height:0;display:grid}.pile-label{text-transform:uppercase;letter-spacing:.4em;color:var(--ink-dim);text-indent:.4em;font-size:clamp(10px,.95vw,19px);display:block}.pile-value{font-family:var(--display);color:#fff6de;text-shadow:0 0 clamp(24px, 3.4vw, 90px) var(--glow), 0 6px 0 #00000080;justify-content:center;align-items:center;gap:.24em;font-size:clamp(58px,9vw,175px);font-weight:700;line-height:1;display:flex}.pile-coin{width:clamp(44px,5.6vw,105px);height:auto;color:var(--accent);filter:drop-shadow(0 0 20px var(--glow))}.split-text p.rt{font-family:var(--display);max-width:min(1300px,84vw);margin:0 auto .35em;font-size:clamp(15px,1.6vw,34px);line-height:1.32}.split-clock{justify-items:center;gap:.5em;display:grid}.split-warn{max-width:46ch;font-family:var(--body);color:var(--ink-dim);font-size:clamp(11px,.98vw,20px);display:block}.seals{grid-template-columns:repeat(var(--n), minmax(0, 1fr));align-self:end;gap:clamp(7px,.9vw,22px);width:min(1560px,94vw);display:grid}.seal{border-radius:var(--r-md);border:1px solid var(--panel-edge);background:#0d090799;justify-items:center;gap:.25em;padding:clamp(7px,.8vw,18px);transition:border-color .4s,box-shadow .4s;display:grid}.seal-disc{position:relative}.seal.sealed{border-color:#ffc86bb3;box-shadow:0 0 28px #ffc86b29}.seal.sealed .seal-disc:after{content:"";border:2px solid #ffc86b8c;border-radius:50%;animation:.5s cubic-bezier(.2,.9,.25,1) both sealIn;position:absolute;inset:-14%}.seal:not(.sealed) .crest{filter:grayscale(.75)brightness(.65)}.seal-lock{color:var(--accent);filter:drop-shadow(0 2px 3px #000000e6);position:absolute;bottom:-6%;right:-18%}.seal-name{font-family:var(--display);margin-top:.2em;font-size:clamp(12px,1.1vw,23px)}.seal-state{text-transform:uppercase;letter-spacing:.24em;color:var(--ink-dim);font-size:clamp(9px,.78vw,15px)}.seal-state.on{color:var(--accent)}.seal.downed{opacity:.45}.coronation{grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(8px,1.4vh,24px);height:100%;min-height:0;display:grid}.cor-head{text-align:center}.cor-eyebrow{text-transform:uppercase;letter-spacing:.4em;color:var(--ink-dim);text-indent:.4em;font-size:clamp(10px,.95vw,19px)}.cor-title{font-family:var(--display);color:var(--accent);text-shadow:0 0 clamp(20px,3vw,66px) #ffbe5a66;margin:.1em 0 .15em;font-size:clamp(28px,3.2vw,68px)}.cor-intro{max-width:min(1200px,82vw);font-family:var(--body);color:var(--ink-dim);margin:0 auto;font-size:clamp(13px,1.15vw,24px)}.standings{align-content:start;gap:clamp(5px,.7vh,13px);width:min(1560px,92vw);margin:0 auto;display:grid;overflow:hidden}.standing{border-radius:var(--r-md);border:1px solid var(--panel-edge);border-left:4px solid var(--cls);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d09079e;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:clamp(8px,1vw,22px);padding:clamp(5px,.65vw,14px) clamp(10px,1vw,22px);display:grid}.standing.first{border-color:#ffc86bb3;border-left-color:var(--cls);background:#2c1e0ba8}.standing-rank{font-family:var(--display);color:var(--ink-dim);text-align:center;width:1.3em;font-size:clamp(18px,1.9vw,40px)}.standing.first .standing-rank{color:var(--accent)}.standing-body{min-width:0}.standing-line{align-items:baseline;gap:.7em;min-width:0;display:flex}.standing-name{font-family:var(--display);font-size:clamp(15px,1.45vw,31px)}.standing-cls{text-transform:uppercase;letter-spacing:.22em;color:var(--cls);font-size:clamp(9px,.78vw,15px)}.standing-title{font-family:var(--display);color:var(--accent);opacity:.85;white-space:nowrap;font-size:clamp(10px,.85vw,17px)}.standing-claim{font-family:var(--display);color:var(--accent);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:.5em;font-size:clamp(16px,1.6vw,34px)}.claimbar{background:#00000080;border-radius:999px;height:clamp(5px,.45vw,9px);margin-top:.35em;overflow:hidden}.claimbar-fill{transform-origin:0;background:linear-gradient(90deg, var(--accent), var(--cls));height:100%;transition:transform .52s cubic-bezier(.2,.8,.2,1)}.standing-vote{text-transform:uppercase;letter-spacing:.22em;color:var(--ink-dim);white-space:nowrap;align-items:center;gap:.4em;font-size:clamp(9px,.78vw,15px);display:inline-flex}.standing-vote.on{color:var(--good)}.cor-foot{justify-content:center;align-items:center;gap:clamp(12px,1.6vw,40px);display:flex}.cor-note{font-family:var(--body);color:var(--ink-dim);font-size:clamp(12px,1.05vw,22px)}.ending{grid-template-columns:1.1fr 1fr;gap:clamp(16px,2.2vw,56px);height:100%;min-height:0;display:grid}.ending-left{grid-template-rows:auto auto minmax(0,1fr) auto;align-content:start;gap:.3em;min-height:0;display:grid;overflow:hidden}.ending-eyebrow{text-transform:uppercase;letter-spacing:.42em;color:var(--ink-dim);font-size:clamp(10px,.95vw,19px)}.ending-title{font-family:var(--display);margin:.05em 0 .15em;font-size:clamp(36px,4.8vw,104px);font-weight:700;line-height:1;animation:.9s cubic-bezier(.2,.8,.2,1) both endingIn}.tone-triumph .ending-title{color:#ffe8b4;text-shadow:0 0 clamp(26px, 3.4vw, 80px) var(--glow)}.tone-pyrrhic .ending-title{color:#d3dcff;text-shadow:0 0 clamp(24px,3vw,66px) #8fa8ff80}.tone-disaster .ending-title{color:#ff9d88;text-shadow:0 0 clamp(24px,3vw,66px) #e0564a8c}.ending-text{min-height:0;overflow:hidden}.ending-text p.rt{font-family:var(--body);color:var(--ink-dim);margin:0 0 .55em;font-size:clamp(13px,1.2vw,25px);line-height:1.45}.monarch{border-top:1px solid var(--panel-edge);align-items:center;gap:clamp(12px,1.5vw,36px);padding-top:clamp(10px,1.4vh,26px);display:flex}.monarch-crest{flex:none;position:relative}.monarch-crown{color:var(--accent);filter:drop-shadow(0 0 22px var(--glow));animation:3.4s ease-in-out infinite alternate breathe;position:absolute;top:-38%;left:50%;transform:translate(-50%)}.monarch-body{gap:.1em;min-width:0;display:grid}.monarch-label{text-transform:uppercase;letter-spacing:.4em;color:var(--accent);font-size:clamp(10px,.9vw,18px)}.monarch-name{font-family:var(--display);font-size:clamp(24px,2.7vw,58px);font-weight:700;line-height:1.05}.monarch-cls{font-family:var(--body);color:var(--ink-dim);font-size:clamp(11px,1vw,21px)}.monarch.none{color:var(--ink-dim)}.ending-right{grid-template-rows:auto minmax(0,1fr);gap:.7em;min-height:0;display:grid}.reveal{align-content:start;gap:clamp(3px,.5vh,9px);min-height:0;padding-right:.3em;display:grid;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 4% 100%);mask-image:linear-gradient(#0000 0,#000 4% 100%)}.reveal-row{border-radius:var(--r-sm);border:1px solid #ffffff12;border-left:3px solid var(--cls,var(--panel-edge));background:#0d090799;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:.7em;padding:.4em .75em;animation:.5s cubic-bezier(.2,.8,.2,1) both revealIn;display:grid}.reveal-icon{color:var(--ink-dim);place-items:center;display:grid}.reveal-text{font-family:var(--body);font-size:clamp(12px,1.05vw,22px);line-height:1.25}.reveal-amount{font-family:var(--display);color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(13px,1.15vw,25px)}.reveal-nocrest{width:clamp(20px,1.8vw,34px)}.reveal-row.secret{background:linear-gradient(90deg,#4e2e0acc,#140e0a9e);border-color:#ffc86b8c;box-shadow:0 0 28px #ffbe5a2e}.reveal-row.secret .reveal-icon{color:var(--accent)}.reveal-row.secret.fresh{animation:.75s cubic-bezier(.2,.85,.2,1) both secretIn}.reveal-flag{font-family:var(--ui);letter-spacing:.3em;text-transform:uppercase;color:var(--accent);vertical-align:.1em;margin-right:.7em;font-size:.62em;font-weight:700;display:inline-block}.reveal-row.k-total{background:#34230bb8;border-color:#ffc86bbf}.reveal-row.k-total .reveal-text{font-family:var(--display)}.reveal-pending{color:var(--ink-dim);letter-spacing:.3em;padding:.4em .75em;font-size:clamp(14px,1.3vw,26px)}.beats{z-index:5;pointer-events:none;padding:var(--frame-pad);grid-template-rows:1fr auto 1fr;grid-template-columns:minmax(0,1fr);place-items:center;display:grid;position:absolute;inset:0}.beat{grid-area:2/1}.beat.narrate{text-align:center;border-radius:var(--r-lg);border:1px solid var(--panel-edge);-webkit-backdrop-filter:blur(14px)saturate(1.15);backdrop-filter:blur(14px)saturate(1.15);background:#0b0806db;width:min(1500px,88vw);padding:clamp(14px,1.7vw,42px) clamp(18px,2.4vw,60px);animation:.45s cubic-bezier(.2,.8,.2,1) both beatIn;box-shadow:0 30px 90px #000000b3}.beat.narrate .speaker{margin-bottom:.4em}.beat.crown-voice{text-align:center;border-radius:var(--r-lg);background:radial-gradient(130% 150% at 50% 0,#7a5010f0,#1a1106f2 68%);border:1px solid #ffcd6e99;width:min(1500px,88vw);padding:clamp(16px,2.1vw,50px) clamp(22px,3vw,74px) clamp(14px,1.7vw,40px);animation:.65s cubic-bezier(.2,.85,.2,1) both crownIn;box-shadow:inset 0 0 0 1px #ffcd6e2e,0 0 clamp(40px,6vw,150px) #ffb4464d,0 30px 100px #000000bf}.crown-mark{color:var(--accent);filter:drop-shadow(0 0 22px var(--glow));line-height:0}.crown-who{font-family:var(--ui);text-transform:uppercase;letter-spacing:.52em;text-indent:.52em;color:#ffdca0;margin:.35em 0 .5em;font-size:clamp(10px,.95vw,19px);font-weight:600;display:block}.crown-prose p.rt{font-family:var(--display);color:#fff4d9;text-shadow:0 0 34px #ffbe5a73;margin:0 0 .35em;font-size:clamp(22px,2.8vw,60px);font-weight:600;line-height:1.24}.crown-prose p.rt:last-child{margin-bottom:0}.crown-rule{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px;margin-top:.7em}.beat.check{border-radius:var(--r-lg);border:1px solid var(--panel-edge);background:#0a0705e6;align-items:center;gap:clamp(12px,1.8vw,46px);padding:clamp(10px,1.3vw,30px) clamp(16px,2.2vw,54px);animation:.4s cubic-bezier(.2,.8,.2,1) both beatIn;display:flex;box-shadow:0 24px 70px #000000a6}.check-who{font-family:var(--display);align-items:center;gap:.6em;font-size:clamp(14px,1.3vw,28px);display:flex}.check-dial{text-align:center}.check-stat{text-transform:uppercase;letter-spacing:.34em;color:var(--ink-dim);text-indent:.34em;font-size:clamp(10px,.9vw,18px);display:block}.check-nums{font-family:var(--display);justify-content:center;align-items:baseline;gap:.35em;display:flex}.check-roll{font-size:clamp(30px,3.2vw,70px);line-height:1}.check-vs{font-family:var(--ui);text-transform:uppercase;letter-spacing:.24em;color:var(--ink-dim);font-size:clamp(10px,.85vw,17px)}.check-dc{color:var(--ink-dim);font-size:clamp(20px,1.9vw,42px)}.check-verdict{font-family:var(--display);text-transform:uppercase;letter-spacing:.24em;text-indent:.24em;border-radius:999px;padding:.18em .8em;font-size:clamp(16px,1.7vw,38px)}.check.pass .check-roll{color:var(--good)}.check.pass .check-verdict{color:var(--good);border:1px solid #7fd08a80}.check.fail .check-roll{color:var(--danger)}.check.fail .check-verdict{color:var(--danger);border:1px solid #e0564a80}.beat.moment{border-radius:var(--r-lg);border:1px solid var(--panel-edge);background:#0a0705e6;align-items:center;gap:clamp(12px,1.6vw,40px);padding:clamp(12px,1.5vw,34px) clamp(18px,2.4vw,58px);animation:.45s cubic-bezier(.2,.85,.2,1) both momentIn;display:flex;box-shadow:0 26px 80px #000000b3}.moment-mark{color:var(--accent);flex:none;line-height:0;position:relative}.moment-badge{border:1px solid var(--panel-edge);color:var(--accent);background:#0a0705f5;border-radius:50%;place-items:center;padding:.28em;display:grid;position:absolute;bottom:-6%;right:-14%}.moment-body{gap:.15em;display:grid}.moment-head{font-family:var(--display);font-size:clamp(24px,2.7vw,60px);font-weight:700;line-height:1.08}.moment-sub{font-family:var(--body);color:var(--ink-dim);font-size:clamp(12px,1.1vw,23px)}.m-bad{border-color:#e0564a8c}.m-bad .moment-head{color:#ff9d88}.m-bad .moment-mark{color:var(--danger)}.m-good{border-color:#7fd08a80}.m-good .moment-head,.m-good .moment-mark{color:var(--good)}.m-kill{border-color:#ffc86b66}.m-kill .moment-head{color:#ffdcab}.m-level{border-color:#ffc86ba6}.m-level .moment-head{color:var(--accent)}.m-title{border-color:#ffc86ba6}.m-title .moment-head{color:var(--accent);font-style:italic}.setpiece{z-index:2;place-items:center;display:grid;position:absolute;inset:0}.setpiece-curtain{background:radial-gradient(62% 62% at 50% 46%,#090604e0,#030202f7);animation:.3s both fadeIn;position:absolute;inset:0}.setpiece-inner{text-align:center;padding:var(--frame-pad);justify-items:center;gap:clamp(6px,1.1vh,22px);display:grid;position:relative}.setpiece-shout{font-family:var(--display);text-transform:uppercase;letter-spacing:clamp(3px,.5vw,14px);text-indent:clamp(3px,.5vw,14px);color:#fff6de;text-shadow:0 0 clamp(22px, 3.2vw, 80px) var(--glow), 0 4px 0 #0006;font-size:clamp(26px,4.2vw,92px);font-weight:700;line-height:1;animation:.5s cubic-bezier(.2,.9,.2,1) both shoutIn}.setpiece-blame{opacity:0;align-items:center;gap:clamp(8px,1vw,24px);transition:opacity .4s,transform .45s cubic-bezier(.2,.8,.2,1);display:flex;transform:translateY(16px)}.setpiece.s1 .setpiece-blame,.setpiece.s2 .setpiece-blame,.setpiece.s3 .setpiece-blame{opacity:1;transform:none}.blame-name{font-family:var(--display);color:var(--cls,var(--accent));font-size:clamp(20px,2.3vw,50px);font-weight:700}.blame-verb{text-transform:uppercase;letter-spacing:.32em;color:var(--ink-dim);font-size:clamp(10px,.95vw,19px)}.setpiece-card{perspective:1600px;opacity:0;transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1);transform:translateY(22px)scale(.9)}.setpiece.s1 .setpiece-card,.setpiece.s2 .setpiece-card,.setpiece.s3 .setpiece-card{opacity:1;transform:none}.card3d{aspect-ratio:5/7;width:clamp(150px,15vw,290px);transform-style:preserve-3d;transition:transform .72s cubic-bezier(.3,.9,.25,1);position:relative}.setpiece.s2 .card3d,.setpiece.s3 .card3d{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;border-radius:var(--r-md);border:2px solid #ffc86bd9;place-content:center;gap:.5em;padding:clamp(10px,1vw,24px);display:grid;position:absolute;inset:0;box-shadow:0 30px 80px #000000bf}.card-back{color:#ffc86bb3;background:repeating-linear-gradient(45deg,#2a1a08,#2a1a08 9px,#35220c 9px 18px);place-items:center}.card-front{text-align:center;background:radial-gradient(130% 110% at 50% 0,#714810,#190f06 76%);transform:rotateY(180deg)}.card-kicker{text-transform:uppercase;letter-spacing:.4em;text-indent:.4em;color:#ffdca0;font-size:clamp(9px,.75vw,15px)}.card-label{font-family:var(--display);color:#fff4d9;font-size:clamp(15px,1.55vw,33px);font-weight:700;line-height:1.18}.card-flourish{background:linear-gradient(90deg, transparent, var(--accent), transparent);height:2px}.setpiece-outcome{max-width:min(1200px,82vw);font-family:var(--display);color:var(--ink);opacity:0;font-size:clamp(15px,1.85vw,40px);line-height:1.3;transition:opacity .5s,transform .5s cubic-bezier(.2,.8,.2,1);transform:translateY(14px)}.setpiece.s3 .setpiece-outcome{opacity:1;transform:none}.ticker{grid-area:1/1;place-self:end start;gap:.3em;max-width:min(540px,34vw);margin-bottom:clamp(8px,1.4vh,22px);display:grid}.ticker-line{border:1px solid var(--panel-edge);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink-dim);background:#0a0705eb;border-radius:999px;align-items:center;gap:.6em;padding:.4em .9em;font-size:clamp(10px,.92vw,19px);animation:.35s cubic-bezier(.2,.8,.2,1) both tickIn;display:flex;box-shadow:0 8px 26px #0009}.ticker-line svg{color:var(--accent);flex:none}.ticker-line span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conn{z-index:20;color:#ffd2c8;letter-spacing:.06em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#180b09e0;border:1px solid #e0564a73;border-radius:999px;align-items:center;gap:.6em;padding:.45em 1em;font-size:clamp(10px,.88vw,18px);display:flex;position:absolute;bottom:clamp(10px,1.2vw,28px);right:clamp(10px,1.2vw,28px)}.conn-dot{background:var(--danger);border-radius:50%;width:.7em;height:.7em;animation:1.2s ease-in-out infinite alternate breathe}.curtain{z-index:3;text-align:center;padding:var(--frame-pad);place-content:center;justify-items:center;gap:.3em;display:grid;position:absolute;inset:0}.curtain h1{font-family:var(--display);letter-spacing:.18em;text-indent:.18em;color:#fff8e8;text-shadow:0 0 clamp(24px, 3.4vw, 80px) var(--glow);margin:.15em 0 0;font-size:clamp(38px,6.5vw,140px);font-weight:700}.curtain p{color:var(--ink-dim);margin:0;font-size:clamp(13px,1.15vw,24px)}.curtain-mark{color:var(--accent)}.curtain-mark.pulse{animation:2.4s ease-in-out infinite alternate breathe}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes breathe{0%{opacity:.45}to{opacity:1}}@keyframes tick{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}@keyframes chIn{0%{opacity:0;transform:translateY(30px)scale(.88)}to{opacity:1;transform:none}}@keyframes joinIn{0%{opacity:0;transform:translateY(18px)scale(.94)}to{opacity:1;transform:none}}@keyframes voterIn{0%{opacity:0;transform:translate(-10px)scale(.6)}to{opacity:1;transform:none}}@keyframes beatIn{0%{opacity:0;transform:translateY(22px)scale(.975)}to{opacity:1;transform:none}}@keyframes crownIn{0%{opacity:0;transform:translateY(-26px)scale(.96)}to{opacity:1;transform:none}}@keyframes momentIn{0%{opacity:0;transform:translateY(26px)scale(.94)}to{opacity:1;transform:none}}@keyframes shoutIn{0%{opacity:0;transform:scale(1.5)}60%{opacity:1;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes revealIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes secretIn{0%{opacity:0;transform:translateY(16px)scale(.96)}55%{opacity:1;transform:translate(0,0)scale(1.035)}to{opacity:1;transform:none}}@keyframes tickIn{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:none}}@keyframes sealIn{0%{opacity:0;transform:scale(1.5)}to{opacity:1;transform:none}}@keyframes endingIn{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:none}}@keyframes swayIdle{0%{transform:translate(-2%)rotate(-1.2deg)}to{transform:translate(2%,-1%)rotate(1.2deg)}}@keyframes prowlIdle{0%{transform:translate(-3%)scaleX(1)}to{transform:translate(3%,-2%)scaleX(1.04)}}@keyframes squishIdle{0%{transform:scale(1.05,.94)}to{transform:scale(.95,1.06)}}@keyframes dangleIdle{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)}}@media (prefers-reduced-motion:reduce){.floater{opacity:1;transform:translate(-50%,-60%);animation:none!important}.lobby-code,.monarch-crown,.curtain-mark.pulse,.conn-dot,.dots:after,.clock.urgent .clock-read b{opacity:1;animation:none!important}.quake,.enemy-icon{animation:none!important}}@media (aspect-ratio<=4/3){.ending{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.ending-left{grid-template-rows:auto auto auto auto}}@media (width<=900px){.choices{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.party{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.seals{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.enemies{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}.lobby-scan{z-index:3;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:clamp(16px,3vh,40px);right:clamp(16px,3vw,48px)}.lobby-qr{background:var(--ink);border-radius:12px;width:clamp(112px,13vw,188px);padding:10px;animation:.9s cubic-bezier(.2,.9,.25,1) both qr-in;box-shadow:0 10px 30px #0000008c,0 0 0 1px #ffdcaa40}.lobby-qr svg{width:100%;height:auto;display:block}.lobby-scan .lobby-eyebrow{text-align:center;max-width:15ch}@keyframes qr-in{0%{opacity:0;transform:translateY(-10px)scale(.94)}to{opacity:1;transform:none}}.landing{height:100%;position:relative;overflow:hidden}.landing-inner{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;height:100%;padding:6vh 6vw;display:flex;position:relative}.landing-eyebrow{font-family:var(--ui);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);margin:0;font-size:clamp(11px,1.1vw,14px)}.landing-title{font-family:var(--display);letter-spacing:.01em;color:var(--ink);text-shadow:0 0 44px #ffb85c47;max-width:16ch;margin:0;font-size:clamp(34px,6.4vw,92px);font-weight:700;line-height:1.02}.landing-begin{border-radius:var(--r-lg);min-height:60px;color:var(--ink);font-family:var(--display);letter-spacing:.08em;cursor:pointer;background:linear-gradient(#ffc86b38,#ffb85c14);border:1px solid #ffdcaa66;margin-top:10px;padding:16px 40px;font-size:clamp(17px,1.9vw,25px);transition:transform .14s,background .2s}.landing-begin:hover{background:#ffc86b4d;transform:translateY(-2px)}.landing-begin:active{transform:translateY(0)}.landing-note,.landing-error{font-family:var(--ui);color:var(--ink-dim);margin:0;font-size:clamp(12px,1.2vw,16px)}.landing-note b{color:var(--ink);letter-spacing:.02em;font-weight:600}.landing-error{color:var(--danger)}.landing-alt{font-family:var(--ui);color:var(--ink-dim);border-bottom:1px solid #ffdcaa4d;margin-top:4px;padding-bottom:2px;font-size:clamp(12px,1.2vw,15px);text-decoration:none}.landing-alt:hover{color:var(--ink)}.topbar-mute{appearance:none;width:34px;height:34px;color:var(--ink);cursor:pointer;opacity:.5;background:#00000040;border:1px solid #ffdcaa2e;border-radius:999px;padding:0;font-size:15px;line-height:1;transition:opacity .16s,border-color .16s}.topbar-mute:hover{opacity:1;border-color:#ffdcaa66}.topbar-mute.off{opacity:.32}.ending-credit{max-width:46ch;font-family:var(--ui);letter-spacing:.03em;color:var(--ink-dim);opacity:.75;margin:18px 0 0;font-size:clamp(10px,.85vw,12px);line-height:1.5}
