:root{--bg:#050608;--panel:#090b0fb8;--panel-strong:#090b0feb;--border:#ffffff29;--border-strong:#ffffff52;--text:#f7f3ea;--muted:#f7f3eaa8;--accent:#d8b46a;--danger:#ff6b73;--good:#7bf0a1;--shadow:0 28px 110px #000000ad}@font-face{font-family:Cinzel Decorative;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/CinzelDecorative-Bold.ttf)format("truetype")}@font-face{font-family:Cinzel Decorative;font-style:normal;font-weight:900;font-display:swap;src:url(/fonts/CinzelDecorative-Black.ttf)format("truetype")}.game-title{text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(#fff6d0 0%,#efcf7a 34%,#c8943a 68%,#7a4f14 100%);color:#0000;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px #ffecb459)drop-shadow(0 3px #3a2208f2)drop-shadow(0 8px 18px #0000009e);-webkit-background-clip:text;background-clip:text;font-family:Cinzel Decorative,Palatino Linotype,Book Antiqua,Georgia,serif;font-weight:900;line-height:1}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;overflow-x:hidden}button,input,select{font:inherit}.game{background-position:50%;background-size:cover;place-items:center;min-height:100vh;padding:112px 28px 30px;display:grid;position:relative}.game:before{content:"";pointer-events:none;background:radial-gradient(circle at 18% 18%,#d8b46a1f,#0000 30%),linear-gradient(#00000047,#000000d6);position:fixed;inset:0}.hud{z-index:20;background:linear-gradient(#000000db,#0000007a,#0000);justify-content:space-between;align-items:flex-start;gap:20px;padding:18px 26px 40px;display:flex;position:fixed;top:0;left:0;right:0}.brand-block .game-title{letter-spacing:.16em;margin:7px 0 0;font-size:clamp(17px,2.2vw,24px)}.brand-block p{color:var(--muted);margin:5px 0 0;font-size:12px}.players{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.hud-player{border:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);min-width:280px;color:var(--muted);cursor:pointer;text-align:left;appearance:none;font-size:12px;font:inherit;background:#06070a9e;border-radius:14px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s,box-shadow .28s,min-width .28s,padding .28s;display:grid;box-shadow:0 8px 28px #00000047}.hud-player-body{gap:2px;min-width:0;display:grid}.hud-player-role{color:#f7f3ea7a;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:700}.hud-player strong{color:var(--text);font-size:13px;transition:font-size .28s}.hud-avatar{object-fit:cover;object-position:top center;border:1px solid #d8b46a6b;border-radius:12px;width:38px;height:38px;transition:width .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1),border-radius .28s,box-shadow .28s;box-shadow:0 6px 18px #00000052}.player-turn{width:fit-content;color:var(--text);background:#d8b46a1a;border:1px solid #d8b46a57;border-radius:999px;align-items:center;gap:10px;padding:6px 12px 6px 6px;font-size:12px;font-weight:900;display:inline-flex}.player-turn img{object-fit:cover;object-position:top center;border:1px solid #d8b46a6b;border-radius:50%;width:34px;height:34px}.winner-turn{background:#7bf0a11f;border-color:#7bf0a16b}.hint-line{color:#f0ddb0;background:#d8b46a1f;border:1px solid #d8b46a57;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:800}.hud-player.active{background:linear-gradient(135deg,#d8b46a33,#06070ab8);border-color:#d8b46ab8}.hud-player.active .hud-player-role{color:#f0ddb0}.player-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 50% 28%,#d8b46a2e,#0000 40%),#000000eb;place-items:stretch stretch;padding:0;animation:.24s modalFadeIn;display:grid;position:fixed;inset:0}.player-modal{width:100%;min-height:100%;padding:max(28px, env(safe-area-inset-top)) 24px max(32px, env(safe-area-inset-bottom));box-shadow:none;background:linear-gradient(#0a0b0ffa 0%,#020305fc 100%);border:none;border-radius:0;align-content:center;justify-items:center;gap:22px;animation:.32s cubic-bezier(.2,.8,.2,1) modalPopIn;display:grid;position:relative}.player-modal-glow{pointer-events:none;filter:blur(18px);background:radial-gradient(circle,#d8b46a3d,#0000 68%);border-radius:50%;height:42%;position:absolute;inset:12% 10% auto}.player-modal-close{border:1px solid var(--border);width:42px;height:42px;color:var(--text);cursor:pointer;background:#06070ab8;border-radius:50%;font-size:28px;line-height:1;transition:border-color .2s,background .2s,transform .2s;position:absolute;top:14px;right:14px}.player-modal-close:hover{background:#d8b46a1f;border-color:#d8b46a9e;transform:scale(1.05)}.player-modal-avatar{object-fit:cover;object-position:top center;border:2px solid #d8b46a94;border-radius:32px;width:min(84vw,360px);height:min(84vw,360px);box-shadow:0 24px 60px #0000007a,0 0 0 6px #d8b46a14}.player-modal-name{text-align:center;margin:0;font-size:clamp(34px,8vw,52px)}.player-modal-role{color:#f7f3ea9e;letter-spacing:.16em;text-transform:uppercase;margin:-8px 0 0;font-size:13px;font-weight:800}.player-modal-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(100%,440px);display:grid}.player-modal-stat{border:1px solid var(--border);text-align:center;background:#06070a94;border-radius:18px;gap:8px;padding:18px 16px;display:grid}.player-modal-stat-label{color:#f7f3ea85;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}.player-modal-stat strong{font-size:clamp(28px,7vw,40px);line-height:1}.player-modal-stat.score strong{color:#f0ddb0}.player-modal-stat.lives strong{color:#ffb3c6}.player-modal-stat.lives strong.critical{color:var(--danger);animation:1.4s ease-in-out infinite lifePulse}.player-modal-action{width:min(100%,320px);margin-top:4px}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPopIn{0%{opacity:0;transform:scale(.92)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}.scene-frame{border:1px solid var(--border);width:min(100%,1180px);min-height:min(78vh,780px);box-shadow:var(--shadow);background:linear-gradient(90deg,#08090d 0 52%,#101217 63%,#050608 100%);border-radius:26px;grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr);display:grid;position:relative;overflow:hidden}@keyframes frameIntro{0%{opacity:0;transform:scale(1.04);box-shadow:0 0 #d8b46a00}to{opacity:1;box-shadow:var(--shadow), 0 0 48px #d8b46a1f;transform:scale(1)}}@keyframes artIntro{0%{opacity:0;filter:drop-shadow(0 18px 36px #00000073)blur(6px);transform:scale(1.22)translateY(18px)}to{opacity:1;filter:drop-shadow(0 18px 36px #00000073)blur();transform:scale(1)translateY(0)}}@keyframes uiIntro{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes frameEvent{0%{opacity:0;transform:translate(-36px)rotate(-.6deg)}70%{transform:translate(4px)rotate(.2deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes eventFlash{0%{opacity:.55}to{opacity:0}}@keyframes artEvent{0%{opacity:0;filter:drop-shadow(0 0 #ff5a6900)brightness(1.4);transform:translate(-24px)scale(.96)}40%{filter:drop-shadow(0 0 24px #ff5a6959)brightness(1.15)}to{opacity:1;filter:drop-shadow(0 18px 36px #00000073)brightness();transform:translate(0)scale(1)}}@keyframes uiEvent{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes choiceEventIn{0%{opacity:0;transform:translate(-18px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes frameEncounter{0%{opacity:0;clip-path:inset(0 100% 0 0 round 26px)}to{opacity:1;clip-path:inset(0 round 26px)}}@keyframes artEncounter{0%{opacity:0;transform:translate(40px)scale(1.06)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes uiEncounter{0%{opacity:0;transform:translate(24px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes choiceEncounterIn{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes frameNotice{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes artNotice{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes uiNotice{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes frameResult{0%{opacity:0;transform:scale(.94)}65%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes frameResultTwist{0%{opacity:0;transform:scale(.9)rotate(-1deg)}35%{transform:scale(1.04)rotate(.6deg)}70%{transform:scale(.98)rotate(-.3deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes chipPop{0%{opacity:0;transform:scale(.6)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes screenFlash{0%{opacity:0}14%{opacity:1}to{opacity:0}}@keyframes screenFlashStrong{0%{opacity:0}10%{opacity:1}22%{opacity:.92}to{opacity:0}}@keyframes fxTintFade{0%{opacity:.95}to{opacity:0}}@keyframes fxGlowGain{0%{box-shadow:var(--shadow), 0 0 0 #48dc8200}35%{box-shadow:var(--shadow), 0 0 52px #48dc8261}to{box-shadow:var(--shadow), 0 0 0 #48dc8200}}@keyframes fxGlowLoss{0%{box-shadow:var(--shadow), 0 0 0 #ff465a00}35%{box-shadow:var(--shadow), 0 0 52px #ff465a57}to{box-shadow:var(--shadow), 0 0 0 #ff465a00}}@keyframes fxShake{0%,to{transform:translate(0)}18%{transform:translate(-5px)}36%{transform:translate(5px)}54%{transform:translate(-3px)}72%{transform:translate(3px)}}@keyframes fxShakeHard{0%,to{transform:translate(0)scale(1)}12%{transform:translate(-9px)scale(1.01)}24%{transform:translate(9px)scale(1.01)}36%{transform:translate(-7px)}48%{transform:translate(7px)}60%{transform:translate(-4px)}72%{transform:translate(4px)}}@keyframes chipPopGain{0%{opacity:0;filter:brightness(1.5);transform:scale(.45)translateY(10px)}55%{filter:brightness(1.25);transform:scale(1.14)translateY(-2px)}to{opacity:1;filter:brightness();transform:scale(1)translateY(0)}}@keyframes chipPopLoss{0%{opacity:0;filter:brightness(1.3);transform:scale(1.15)translateY(-4px)}40%{filter:brightness(.85);transform:scale(.92)translateY(2px)}to{opacity:1;filter:brightness();transform:scale(1)translateY(0)}}@keyframes chipPopLifeLoss{0%{opacity:0;filter:brightness(1.4);transform:scale(1.2)}25%{filter:brightness(.7);transform:scale(.88)}50%{transform:scale(1.06)}to{opacity:1;filter:brightness();transform:scale(1)}}@keyframes chipPopLifeGain{0%{opacity:0;filter:brightness(1.4);transform:scale(.5)}50%{filter:brightness(1.3);transform:scale(1.18)}to{opacity:1;filter:brightness();transform:scale(1)}}.game-flash{pointer-events:none;z-index:12;animation:.9s ease-out forwards screenFlash;position:fixed;inset:0}.game-flash-gain{background:radial-gradient(circle at 50% 42%,#48dc827a,#0000 58%),linear-gradient(#28a05a38,#14502d2e)}.game-flash-life-gain{background:radial-gradient(circle at 50% 40%,#64ffaa85,#0000 55%),linear-gradient(#32c87842,#196e4133);animation:1s ease-out forwards screenFlashStrong}.game-flash-loss{background:radial-gradient(circle at 50% 42%,#ff465a70,#0000 58%),linear-gradient(#b423373d,#460a1433)}.game-flash-life-loss{background:radial-gradient(circle at 50% 38%,#ff2d4194,#0000 52%),linear-gradient(#c8192d52,#3c000c42);animation:1.05s ease-out forwards screenFlashStrong}.scene-frame.fx-gain{animation:.38s both frameNotice,.75s both fxGlowGain}.scene-frame.fx-life-gain{animation:.38s both frameNotice,.85s both fxGlowGain}.scene-frame.fx-loss{animation:.38s both frameNotice,.75s both fxGlowLoss,.55s 60ms both fxShake}.scene-frame.fx-life-loss{animation:.38s both frameNotice,.85s both fxGlowLoss,.7s both fxShakeHard}.scene-frame.anim-result.fx-gain,.scene-frame.anim-result-twist.fx-gain{animation:.44s cubic-bezier(.34,1.4,.64,1) both frameResult,.75s both fxGlowGain}.scene-frame.anim-result.fx-life-gain,.scene-frame.anim-result-twist.fx-life-gain{animation:.44s cubic-bezier(.34,1.4,.64,1) both frameResult,.85s both fxGlowGain}.scene-frame.anim-result.fx-loss,.scene-frame.anim-result-twist.fx-loss{animation:.44s cubic-bezier(.34,1.4,.64,1) both frameResult,.75s both fxGlowLoss,.55s 80ms both fxShake}.scene-frame.anim-result.fx-life-loss,.scene-frame.anim-result-twist.fx-life-loss{animation:.44s cubic-bezier(.34,1.4,.64,1) both frameResult,.85s both fxGlowLoss,.7s 40ms both fxShakeHard}.scene-frame[class*=fx-]:after{content:"";border-radius:inherit;pointer-events:none;z-index:1;animation:.85s forwards fxTintFade;position:absolute;inset:0}.scene-frame.fx-gain:after,.scene-frame.fx-life-gain:after{background:#48dc8224;box-shadow:inset 0 0 90px #48dc8238}.scene-frame.fx-loss:after,.scene-frame.fx-life-loss:after{background:#ff465a1f;box-shadow:inset 0 0 90px #ff465a3d}.scene-frame.fx-life-loss:after{background:#ff2d4129;box-shadow:inset 0 0 110px #ff2d4152}@keyframes frameWin{0%{opacity:0;transform:scale(.88);box-shadow:0 0 #7bf0a100}to{opacity:1;box-shadow:var(--shadow), 0 0 60px #7bf0a12e;transform:scale(1)}}@keyframes artWin{0%{opacity:0;filter:drop-shadow(0 0 #7bf0a100);transform:scale(1.12)}to{opacity:1;filter:drop-shadow(0 18px 36px #00000073)drop-shadow(0 0 28px #7bf0a138);transform:scale(1)}}@keyframes uiWin{0%{opacity:0;transform:translateY(32px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes frameMenu{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes artMenu{0%{opacity:0;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes uiMenu{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes componentIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scene-art{min-height:inherit;place-items:center;padding:22px;display:grid;position:relative;overflow:hidden}.scene-art:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0 68%,#08090d94 88%,#08090df2),linear-gradient(#ffffff0d,#0000 18%,#00000040);position:absolute;inset:0}.scene-art img{object-fit:contain;object-position:center;filter:drop-shadow(0 18px 36px #00000073);width:100%;height:auto;max-height:calc(min(78vh,780px) - 44px)}.art-fallback{color:#f5efe2c7;letter-spacing:.08em;text-align:center;background:radial-gradient(circle at 24% 28%,#d8b46a2e,#0000 34%),linear-gradient(135deg,#121318f5,#040508f5);border:1px solid #d8b46a38;place-items:center;width:100%;height:auto;min-height:200px;max-height:calc(min(78vh,780px) - 44px);font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,4vw,48px);font-weight:900;display:grid}.scene-ui{z-index:2;background:linear-gradient(90deg,#08090d3d,#08090de0 22%,#08090dfa),radial-gradient(circle at 100% 0,#d8b46a1f,#0000 34%);flex-direction:column;justify-content:center;gap:12px;min-width:0;padding:42px 38px;display:flex;position:relative}.scene-ui>*{animation:none}.anim-intro{animation:.62s cubic-bezier(.2,.8,.2,1) both frameIntro}.anim-intro .scene-art img{animation:.78s cubic-bezier(.16,1,.3,1) both artIntro}.anim-intro .scene-ui>*{animation:.48s both uiIntro}.anim-intro .scene-ui>:nth-child(2){animation-delay:.12s}.anim-intro .scene-ui>:nth-child(3){animation-delay:.22s}.anim-intro .scene-ui>:nth-child(4){animation-delay:.32s}.anim-intro .scene-ui>:nth-child(5){animation-delay:.42s}.anim-event{animation:.42s cubic-bezier(.2,.9,.2,1) both frameEvent}.anim-event:before{content:"";z-index:5;pointer-events:none;background:#ff78782e;animation:.38s both eventFlash;position:absolute;inset:0}.anim-event .scene-art img{animation:.46s cubic-bezier(.2,.9,.2,1) both artEvent}.anim-event .scene-ui>*{animation:.38s both uiEvent}.anim-event .scene-ui>:nth-child(2){animation-delay:60ms}.anim-event .scene-ui>:nth-child(3){animation-delay:.12s}.anim-event .scene-ui>:nth-child(4){animation-delay:.18s}.anim-event .scene-ui>:nth-child(5){animation-delay:.24s}.anim-event .scene-ui>:nth-child(6){animation-delay:.3s}.anim-event .choice-btn{animation:.26s both choiceEventIn}.anim-event .choice-btn:nth-child(2){animation-delay:.22s}.anim-event .choice-btn:nth-child(3){animation-delay:.28s}.anim-event .choice-btn:nth-child(4){animation-delay:.34s}.anim-encounter{animation:.52s cubic-bezier(.4,0,.2,1) both frameEncounter}.anim-encounter .scene-art img{animation:.56s cubic-bezier(.4,0,.2,1) both artEncounter}.anim-encounter .scene-ui>*{animation:.44s both uiEncounter}.anim-encounter .scene-ui>:nth-child(2){animation-delay:80ms}.anim-encounter .scene-ui>:nth-child(3){animation-delay:.16s}.anim-encounter .scene-ui>:nth-child(4){animation-delay:.24s}.anim-encounter .scene-ui>:nth-child(5){animation-delay:.32s}.anim-encounter .scene-ui>:nth-child(6){animation-delay:.4s}.anim-encounter .choice-btn{animation:.28s both choiceEncounterIn}.anim-encounter .choice-btn:nth-child(2){animation-delay:.26s}.anim-encounter .choice-btn:nth-child(3){animation-delay:.32s}.anim-encounter .choice-btn:nth-child(4){animation-delay:.38s}.anim-notice{animation:.38s both frameNotice}.anim-notice .scene-art img{animation:.42s both artNotice}.anim-notice .scene-ui>*{animation:.34s both uiNotice}.anim-notice .scene-ui>:nth-child(2){animation-delay:50ms}.anim-notice .scene-ui>:nth-child(3){animation-delay:.1s}.anim-notice .scene-ui>:nth-child(4){animation-delay:.15s}.anim-notice .scene-ui>:nth-child(5){animation-delay:.2s}.anim-notice .stat-chip{animation:.32s cubic-bezier(.2,1.2,.2,1) both chipPop}.anim-notice .stat-chip.gain,.anim-result .stat-chip.gain,.anim-result-twist .stat-chip.gain{animation:.52s cubic-bezier(.2,1.4,.2,1) both chipPopGain}.anim-notice .stat-chip.loss,.anim-result .stat-chip.loss,.anim-result-twist .stat-chip.loss{animation:.52s cubic-bezier(.3,.9,.2,1) both chipPopLoss}.anim-notice .stat-chip.life-loss,.anim-result .stat-chip.life-loss,.anim-result-twist .stat-chip.life-loss{animation:.62s cubic-bezier(.3,.9,.2,1) both chipPopLifeLoss}.anim-notice .stat-chip.life-gain,.anim-result .stat-chip.life-gain,.anim-result-twist .stat-chip.life-gain{animation:.58s cubic-bezier(.2,1.4,.2,1) both chipPopLifeGain}.anim-notice .stat-chip:nth-child(2){animation-delay:.18s}.anim-notice .stat-chip:nth-child(3){animation-delay:.24s}.anim-result{animation:.44s cubic-bezier(.34,1.4,.64,1) both frameResult}.anim-result-twist{animation:.52s cubic-bezier(.34,1.2,.64,1) both frameResultTwist}.anim-result .scene-art img,.anim-result-twist .scene-art img{animation:.4s both artNotice}.anim-result .scene-ui>*,.anim-result-twist .scene-ui>*{animation:.36s both uiNotice}.anim-result .scene-ui>:nth-child(2),.anim-result-twist .scene-ui>:nth-child(2){animation-delay:60ms}.anim-result .scene-ui>:nth-child(3),.anim-result-twist .scene-ui>:nth-child(3){animation-delay:.12s}.anim-result .scene-ui>:nth-child(4),.anim-result-twist .scene-ui>:nth-child(4){animation-delay:.18s}.anim-result .scene-ui>:nth-child(5),.anim-result-twist .scene-ui>:nth-child(5){animation-delay:.24s}.anim-result .stat-chip,.anim-result-twist .stat-chip{animation:.34s cubic-bezier(.2,1.3,.2,1) both chipPop}.anim-win{animation:.58s cubic-bezier(.2,.9,.2,1) both frameWin}.anim-win .scene-art img{animation:.64s cubic-bezier(.2,.9,.2,1) both artWin}.anim-win .scene-ui>*{animation:.5s both uiWin}.anim-win .scene-ui>:nth-child(2){animation-delay:.1s}.anim-win .scene-ui>:nth-child(3){animation-delay:.18s}.anim-win .scene-ui>:nth-child(4){animation-delay:.26s}.anim-win .scene-ui>:nth-child(5){animation-delay:.34s}.anim-menu{animation:.48s both frameMenu}.anim-menu .scene-ui>*{animation:.4s both uiMenu}.anim-menu.hide-art .scene-art img{animation:none}.anim-menu .scene-ui>:nth-child(2){animation-delay:40ms}.anim-menu .scene-ui>:nth-child(3){animation-delay:80ms}.anim-menu .scene-ui>:nth-child(4){animation-delay:.12s}.anim-menu .scene-ui>:nth-child(5){animation-delay:.16s}.anim-menu .scene-ui>:nth-child(6){animation-delay:.2s}.anim-menu .scene-ui>:nth-child(7){animation-delay:.24s}.anim-menu .scene-ui>:nth-child(8){animation-delay:.28s}.game-menu:before{opacity:.55}.scene-frame.menu.hide-art{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#08090db8,#040508e0);grid-template-columns:1fr;width:min(100%,560px);min-height:auto}.scene-frame.menu.hide-art .scene-ui{text-align:center;justify-content:center;align-items:center;padding:48px 36px 40px}.scene-frame.menu.hide-art .menu-section,.scene-frame.menu.hide-art .mode-toggle,.scene-frame.menu.hide-art .player-picker,.scene-frame.menu.hide-art .primary-action{width:min(100%,520px)}.scene-frame.menu.hide-art .roman-title{font-size:clamp(32px,7vw,56px)}.menu .scene-ui{justify-content:flex-end}.menu-tagline{letter-spacing:.18em;text-transform:uppercase;color:#d4af6a;text-shadow:0 2px 16px #d4af6a40;margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(18px,2.2vw,26px);font-weight:400}.menu-blurb{color:#ebe4d2c7;max-width:42ch;margin:0 0 12px;font-size:15px;font-style:italic;line-height:1.65}.menu-section{gap:10px;width:min(100%,520px);margin:0 0 16px;display:grid}.menu-section-label{color:#f7f3ea94;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}.mode-toggle{flex-wrap:wrap;gap:10px;display:flex}.mode-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#06070a9e;border-radius:14px;flex:140px;padding:12px 16px;font-weight:800;transition:transform .2s,border-color .2s,background .2s,color .2s}.mode-btn:hover{color:var(--text);border-color:#d8b46a7a}.mode-btn.selected{color:var(--text);background:linear-gradient(135deg,#d8b46a3d,#06070ad1);border-color:#d8b46ad1;transform:scale(1.03)}.player-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.player-picker.duo-preview{pointer-events:none}.player-card{border:1px solid var(--border);color:var(--muted);cursor:pointer;appearance:none;font:inherit;background:#06070a9e;border-radius:18px;justify-items:center;gap:8px;padding:16px 12px 14px;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .2s,background .2s,box-shadow .28s,padding .28s;display:grid}.player-card.readonly{cursor:default;opacity:.92}.player-card img{object-fit:cover;object-position:top center;border:1px solid #d8b46a6b;border-radius:18px;width:72px;height:72px;transition:width .28s cubic-bezier(.2,.8,.2,1),height .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s;box-shadow:0 8px 22px #00000052}.player-card strong{color:var(--text);font-size:15px;transition:font-size .28s}.player-card-stat{font-size:13px;font-weight:900;transition:font-size .28s}.player-card-stat:first-of-type{color:#f0ddb0}.player-card-stat:last-of-type{color:#ffb3c6}.player-card:hover:not(.readonly){border-color:#d8b46a85;transform:translateY(-2px)}.player-card.selected{background:linear-gradient(135deg,#d8b46a29,#06070ad1);border-color:#d8b46ab8;box-shadow:0 0 0 1px #d8b46a1f}.menu-hint{color:#f7f3ea85;margin:0;font-size:13px;font-style:italic}h2{letter-spacing:-.03em;text-shadow:0 6px 30px #00000094;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,4.5vw,64px);line-height:.95}.roman-title.game-title{letter-spacing:.05em;max-width:none;font-size:clamp(36px,6vw,78px)}p{color:var(--muted);overflow-wrap:anywhere;margin:0 0 4px;font-size:16px;line-height:1.55}.microcopy{color:#f7f3ea73;letter-spacing:.04em;font-size:12px}.badge{width:fit-content;color:var(--accent);letter-spacing:.12em;background:#d8b46a29;border:1px solid #d8b46a7a;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900}.settings-row{grid-template-columns:1fr;gap:10px;margin:8px 0;display:grid}label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;gap:8px;font-size:11px;font-weight:900;display:grid}button,select,input{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff14;border-radius:14px;outline:none;padding:14px 15px;font-weight:850}select option{color:#111}button{cursor:pointer;text-align:left;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}button:hover,button:focus-visible{border-color:var(--border-strong);background:#ffffff24;transform:translateY(-1px);box-shadow:0 10px 28px #00000038}.primary-action{text-transform:uppercase;letter-spacing:.08em;background:linear-gradient(135deg,#d8b46a47,#ffffff1a);border-color:#d8b46a75;margin-top:4px}.primary-action:disabled{opacity:.55;cursor:not-allowed;transform:none}.wheelbox{text-align:center;margin:8px 0 4px}.wheel-outer{aspect-ratio:1;width:min(100%,260px);height:min(100%,260px);margin:10px auto 16px;position:relative}.wheel-pointer{z-index:4;border-left:12px solid #0000;border-right:12px solid #0000;border-top:22px solid var(--accent);filter:drop-shadow(0 2px 6px #000000a6);width:0;height:0;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.wheel-pointer:after{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:-26px;left:-6px;box-shadow:0 0 12px #d8b46a99}.wheel-hub{z-index:3;background:radial-gradient(circle at 35% 30%, #fff8e8, var(--accent) 55%, #8a6a28);border:3px solid #ffffff59;border-radius:50%;width:44px;height:44px;margin:auto;position:absolute;inset:0;box-shadow:0 0 20px #d8b46a73,inset 0 2px 4px #ffffff59}.wheel-svg{will-change:transform;border:6px solid #d8b46ad9;border-radius:50%;width:100%;height:100%;position:absolute;inset:0;overflow:hidden;box-shadow:0 0 40px #ff2d6f59,0 0 0 4px #00000073,inset 0 0 24px #00000059}.wheel-svg-label{paint-order:stroke fill;stroke:#ffffff59;stroke-width:2px;pointer-events:none}.wheelbox-spinning .wheel-outer{animation:.8s ease-in-out infinite alternate wheelGlow}.wheelbox-spinning .wheel-svg{filter:brightness(1.06)}.wheelbox-landed .wheel-outer{animation:.55s ease-out wheelLandPulse}.wheel-result{color:var(--text);background:linear-gradient(135deg,#d8b46a38,#7bf0a11f);border:1px solid #d8b46a73;border-radius:12px;margin:4px 0 8px;padding:10px 14px;font-weight:700;animation:.35s both wheelResultIn}.wheel-spin-btn{min-width:180px}@keyframes wheelGlow{0%{filter:drop-shadow(0 0 8px #d8b46a40)}to{filter:drop-shadow(0 0 18px #ff6b7373)}}@keyframes wheelLandPulse{0%{transform:scale(1)}45%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes wheelResultIn{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.choice-list{gap:9px;margin-top:4px;display:grid}.choice-btn{grid-template-columns:auto 1fr;align-items:center;gap:12px;min-height:52px;display:grid}.choice-btn.focused,.choice-btn:focus-visible{background:linear-gradient(135deg,#d8b46a2e,#ffffff1a);border-color:#d8b46ab8;box-shadow:0 0 0 1px #d8b46a29}.keyboard-hint{color:#f7f3ea6b;letter-spacing:.08em;text-transform:uppercase;text-align:center;margin:10px 0 0;font-size:11px;font-weight:700}.choice-index{width:32px;height:32px;color:var(--accent);background:#d8b46a24;border-radius:10px;place-items:center;font-size:11px;font-weight:950;display:inline-grid}.number-row{grid-template-columns:1fr auto;gap:9px;display:grid}.chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.stat-chip,.chips span{border:1px solid var(--border);color:var(--text);background:#ffffff14;border-radius:999px;align-items:center;gap:4px;padding:8px 11px;font-size:12px;font-weight:900;animation:.28s both chipIn;display:inline-flex}.stat-chip.gain{color:#c8ffd8;background:linear-gradient(135deg,#7bf0a138,#7bf0a114);border-color:#7bf0a194;box-shadow:0 0 20px #7bf0a124}.stat-chip.loss{color:#ffc4c8;background:linear-gradient(135deg,#ff6b733d,#ff6b7314);border-color:#ff6b7394;box-shadow:0 0 20px #ff6b731f}.stat-chip.life-gain{color:#ffd0e0;background:linear-gradient(135deg,#ff82af3d,#ff82af14);border-color:#ff82af94;box-shadow:0 0 18px #ff82af1f}.stat-chip.life-loss{color:#ff9aa3;background:linear-gradient(135deg,#ff5a6947,#ff5a691a);border-color:#ff5a69ad;box-shadow:0 0 18px #ff5a6924}.stat-chip.utility{color:#f0ddb0;background:linear-gradient(135deg,#d8b46a3d,#d8b46a14);border-color:#d8b46a94;box-shadow:0 0 18px #d8b46a1a}.hud-score{color:#f0ddb0;font-weight:950;transition:font-size .28s}.hud-lives{color:#ffb3c6;font-weight:950;transition:font-size .28s}.hud-lives.critical{color:var(--danger);animation:1.4s ease-in-out infinite lifePulse}@keyframes lifePulse{0%,to{opacity:1}50%{opacity:.62}}@keyframes chipIn{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media (width<=920px){.game{padding:108px 12px 16px}.hud{background:linear-gradient(#000000f0 0%,#00000094 65%,#0000 100%);flex-direction:column;gap:8px;padding:12px 14px 20px;display:flex}.players{flex-wrap:nowrap;justify-content:flex-start;gap:8px;width:100%;margin-top:0;display:flex}.hud-player{border-radius:12px;flex:1 1 0;grid-template-columns:auto 1fr auto auto;min-width:0;max-width:280px;padding:8px 10px}.scene-frame{grid-template-columns:1fr;min-height:auto}.scene-art{border-bottom:1px solid var(--border);justify-content:center;align-items:center;height:42vh;min-height:auto;max-height:290px;padding:12px;display:flex;overflow:hidden}.scene-art img,.art-fallback{object-fit:contain;object-position:center;width:100%;max-width:100%;height:100%;max-height:100%}.scene-art:after{background:linear-gradient(#0000 0 70%,#08090d73 90%,#08090dd9)}.scene-ui{background:linear-gradient(#08090d94,#08090dfa);justify-content:flex-start;padding:20px 16px}h2{font-size:clamp(24px,6vw,32px)}}@media (width<=520px){.game{padding-top:108px}.hud{padding:10px 12px 16px}.hud-avatar{border-radius:8px;width:26px;height:26px}.hud-player-body strong{font-size:11px}.hud-player-role{display:none}.hud-score,.hud-lives{font-size:11px}.hud-player{gap:6px;padding:6px 8px}.scene-frame.menu.hide-art .scene-ui{padding:24px 16px 20px}.menu-tagline{margin-bottom:4px;font-size:18px}.menu-blurb{margin-bottom:12px;font-size:13px;line-height:1.5}.menu-section{gap:6px;margin-bottom:12px}.mode-btn{border-radius:10px;padding:8px 10px;font-size:12px}.player-card{border-radius:12px;gap:4px;padding:10px 8px}.player-card img{border-radius:12px;width:48px;height:48px}.player-card strong{font-size:12px}.player-card-stat{font-size:11px}.choice-btn{border-radius:10px;min-height:44px;padding:8px 12px;font-size:13px}.choice-index{border-radius:6px;width:24px;height:24px;font-size:10px}.keyboard-hint{display:none}.number-row{grid-template-columns:1fr}}
