@import "https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600&display=swap";@import "https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap";:root{--bg:#0c0c0f;--bg2:#111116;--bg3:#16161d;--bg4:#1c1c25;--border:#1e1e26;--border2:#2a2a36;--jade:#00c896;--jade-dim:#00c8961a;--jade-mid:#00c89638;--gold:#b8932e;--gold-dim:#b8932e1a;--gold-mid:#b8932e38;--danger:#e85454;--danger-dim:#e854541a;--warn:#e8a020;--warn-dim:#e8a0201a;--common:#00c896;--uncommon:#e8a020;--rare:#e85454;--epic:#8b5cf6;--epic-dim:#8b5cf61a;--epic-mid:#8b5cf633;--epic-border:#8b5cf647;--text:#f4f4f6;--text2:#8888a0;--text3:#55556a;--serif:"Instrument Serif", Georgia, serif;--sans:"DM Sans", system-ui, sans-serif;--radius:8px;--radius-lg:14px}body.light{--bg:#f5f5f7;--bg2:#fff;--bg3:#f0f0f4;--bg4:#e8e8ef;--border:#e2e2ea;--border2:#d0d0dc;--jade:#009970;--jade-dim:#00997014;--gold:#9a6f1a;--gold-dim:#9a6f1a14;--danger:#c93a3a;--danger-dim:#c93a3a14;--warn:#c47a10;--warn-dim:#c47a1014;--epic:#7c3aed;--epic-dim:#7c3aed14;--epic-border:#7c3aed38;--text:#111118;--text2:#5a5a72;--text3:#9898b0}html,body,#root{background:var(--bg);height:100dvh;min-height:-webkit-fill-available;color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5;transition:background .5s,color .3s}*{box-sizing:border-box}@keyframes cardFlip{0%{transform:perspective(600px)rotateY(0)}49%{transform:perspective(600px)rotateY(90deg)}50%{transform:perspective(600px)rotateY(90deg)}to{transform:perspective(600px)rotateY(0)}}@keyframes cameraShake{0%,to{transform:translate(0)}20%{transform:translate(-4px)rotate(-.5deg)}40%{transform:translate(4px)rotate(.5deg)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes greenFlash{0%{box-shadow:0 0 #00c896cc}50%{box-shadow:0 0 20px 10px #00c89666}to{box-shadow:0 0 #00c89600}}@keyframes consensusGlow{0%{border-color:var(--border);box-shadow:0 0 #c8a84b00}30%{border-color:var(--gold);box-shadow:0 0 25px 8px #c8a84b99}to{border-color:var(--gold);box-shadow:0 0 8px 2px #c8a84b33}}@keyframes gaugePulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes overflowShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes mysteryGlow{0%,to{text-shadow:0 0 8px #8b5cf666}50%{text-shadow:0 0 20px #8b5cf6cc,0 0 40px #8b5cf64d}}@keyframes confettiPop{0%{opacity:1;transform:translate(0)scale(1)rotate(0)}to{opacity:0;transform:translate(var(--tx), var(--ty)) scale(.3) rotate(720deg)}}@keyframes fadeOverlay{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}@keyframes bounceIn{0%{opacity:0;transform:scale(0)translateY(20px)}60%{opacity:1;transform:scale(1.15)translateY(-4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes lockSlam{0%{opacity:0;transform:scale(1.4)}50%{opacity:1;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes perfectFill{0%{opacity:0;transform:scale(.8)}20%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1)}}@keyframes timerCountdown{0%{color:var(--text)}70%{color:var(--warn)}90%{color:var(--danger)}}@keyframes availPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 4px}50%{opacity:.6;transform:scale(1.2);box-shadow:0 0 10px}}@keyframes availRecommendedGlow{0%,to{box-shadow:0 0 6px #feae3466}50%{box-shadow:0 0 16px #feae34aa}}*{box-sizing:border-box;margin:0;padding:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes charBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes flashOut{0%{opacity:.6}to{opacity:0}}@keyframes celebrate{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-12px)rotate(-5deg)}75%{transform:translateY(-12px)rotate(5deg)}}@keyframes atkFly{0%{opacity:1;transform:translateY(0)scale(1)}60%{opacity:.8;transform:translateY(-80px)scale(1.3)}to{opacity:0;transform:translateY(-120px)scale(.5)}}@keyframes spellFly{0%{opacity:1;transform:translateY(0)scale(1)}60%{opacity:.8;transform:translateY(-80px)scale(1.3)}to{opacity:0;transform:translateY(-120px)scale(.5)}}@keyframes trailFade{0%{opacity:.6}to{opacity:0;transform:scale(0)}}@keyframes atkLunge{0%{transform:translateY(0)}25%{transform:translateY(-16px)translate(4px)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes spellFlash{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}30%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}@keyframes spellGlow{0%{opacity:.8;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(3)}}@keyframes screenShake{0%,to{transform:translate(0)}10%{transform:translate(-5px,3px)}30%{transform:translate(5px,-3px)}50%{transform:translate(-4px,4px)}70%{transform:translate(4px,-2px)}90%{transform:translate(-2px,1px)}}@keyframes dmgFloat{0%{opacity:0;transform:translate(-50%)scale(.5)}20%{opacity:1;transform:translate(-50%,-20px)scale(1.2)}to{opacity:0;transform:translate(-50%,-80px)scale(.8)}}@keyframes bossIdle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes bossRage{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.05)}}@keyframes bossHit{0%{filter:brightness(3)}50%{transform:translate(-4px)}to{filter:brightness();transform:translate(0)}}@keyframes bossDeath{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)rotate(10deg)}to{opacity:0;transform:scale(0)rotate(45deg)}}@keyframes achieveIn{0%{opacity:0;transform:translate(-50%,-30px)}to{opacity:1;transform:translate(-50%)}}@keyframes comboPop{0%{transform:scale(0)}70%{transform:scale(1.3)}to{transform:scale(1)}}@keyframes comboPulse{0%,to{text-shadow:0 0 15px #feae34;transform:scale(1)}50%{text-shadow:0 0 25px #feae34;transform:scale(1.1)}}@keyframes lootDrop{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes lootBounce{0%{transform:translateY(0)}30%{transform:translateY(-12px)}50%{transform:translateY(0)}70%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes lootFloat{0%{opacity:0;transform:translateY(0)scale(0)}40%{opacity:1;transform:translateY(-25px)scale(1.2)}to{opacity:0;transform:translateY(-40px)}}@keyframes cardFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes cardDrop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes particle{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-200px)scale(0)}}@keyframes victoryPulse{0%,to{text-shadow:0 0 20px #feae3466;transform:scale(1)}50%{text-shadow:0 0 40px #feae3488;transform:scale(1.05)}}@keyframes amuPulse{0%,to{opacity:.3;transform:translate(-50%,-50%)scale(1)}50%{opacity:.6;transform:translate(-50%,-50%)scale(1.15)}}@keyframes chestOpen{0%{transform:scale(1)}20%{transform:scale(1.2)rotate(-3deg)}40%{transform:scale(1.3)rotate(3deg)}to{transform:scale(1)}}@keyframes portalPulse{0%,to{opacity:.3}50%{opacity:.6}}@keyframes charWalk{0%,to{transform:translate(0)}50%{transform:translate(6px)}}@keyframes barSweep{0%{width:0}to{width:100%}}@keyframes diceRoll{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.3)}to{transform:rotate(360deg)scale(1)}}@keyframes mapShake{0%,to{transform:translate(0)}10%{transform:translate(-4px,2px)}30%{transform:translate(4px,-2px)}50%{transform:translate(-3px,2px)}70%{transform:translate(3px,-1px)}}@keyframes sunPulse{0%,to{box-shadow:0 0 30px #ffe47744,0 0 60px #ffe47722}50%{box-shadow:0 0 40px #ffe47766,0 0 80px #ffe47733}}@keyframes consensusFlash{0%{box-shadow:0 0 #c8a84b00}30%{box-shadow:0 0 20px #c8a84b99}60%{box-shadow:0 0 10px #c8a84b4d}to{box-shadow:0 0 #c8a84b00}}button,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (width<=640px){.vote-card,[data-vote-card]{min-width:44px;min-height:44px}.world-map-container{-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;overflow-x:auto}.world-map-item{scroll-snap-align:center}.kanban-grid{grid-template-columns:1fr!important}.pf-header{font-size:8px!important}.session-chrome{padding:8px!important;font-size:10px!important}.lifeline-icon{width:44px!important;height:44px!important;font-size:18px!important}.flip-card{cursor:pointer}}@media (width<=768px){.overworld-container{-webkit-overflow-scrolling:touch;overflow:hidden auto}.modal-inner{border-radius:0!important;max-width:100%!important;min-height:auto!important;margin:0!important}.decorative-mobile-hide{display:none}}@supports (padding-top:env(safe-area-inset-top)){.app-shell-top{padding-top:max(16px, env(safe-area-inset-top))}.app-shell-bottom{padding-bottom:max(16px, env(safe-area-inset-bottom))}}
