:root{--bg-dark: radial-gradient(circle at 50% -20%, #2a124d 0%, #05010a 80%);--amethyst-glow: rgba(157, 78, 221, .5);--amethyst-bright: #9d4ede;--amethyst-light: #c77dff;--glass-border: rgba(255, 255, 255, .1);--glass-surface: rgba(255, 255, 255, .03);--text-primary: #ffffff;--text-secondary: #b79ced;--danger: #ff4444;--accent-gradient: linear-gradient(135deg, #9d4ede 0%, #5a189a 100%);--accent-gradient-hot: linear-gradient(135deg, #c77dff 0%, #7b2cff 45%, #00ffa3 140%);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.18, .9, .22, 1.18);--motion-fast: .18s;--motion-med: .36s;--motion-slow: .62s;--focus-ring: 0 0 0 3px rgba(199, 125, 255, .18), 0 0 0 1px rgba(199, 125, 255, .65);--surface-elevated: rgba(255, 255, 255, .065);--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--viewport-height: 100vh;--viewport-stable-height: 100vh;--visual-viewport-height: 100vh;--visual-viewport-top: 0px;--manual-modal-top: clamp(10px, 3dvh, 26px);--manual-modal-right: clamp(10px, 3vw, 26px);--manual-modal-bottom: clamp(10px, 3dvh, 26px);--manual-modal-left: clamp(10px, 3vw, 26px);--card-dark-bg: #121212;--card-dark-border: rgba(255, 255, 255, .08);--card-dark-shadow: 0 12px 30px rgba(0, 0, 0, .8)}@supports (height: 100svh){:root{--viewport-stable-height: 100svh}}@supports (height: 100dvh){:root{--viewport-height: 100dvh;--visual-viewport-height: 100dvh}}html,body{height:100%;width:100vw;margin:0;padding:0;background:#05010a;background:var(--bg-dark) no-repeat fixed;color:var(--text-primary);font-family:Montserrat,Arial,sans-serif;overflow:hidden!important;position:fixed;top:0;left:0;overscroll-behavior:none!important;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased}*{-webkit-tap-highlight-color:transparent!important;box-sizing:border-box}html,body,#ui *,button,input,select,textarea,option,h1,h2,h3,h4,h5,h6,p,span,small,strong,b,label,a,li{font-family:Montserrat,Arial,sans-serif!important;text-align:center!important}button,a,.game-card,.action-card,.nav-logo-right{outline:none!important;-webkit-tap-highlight-color:transparent!important;-webkit-user-select:none;user-select:none}body.taverna-no-glow .pulse-logo,body.taverna-no-glow .main-title,body.taverna-no-glow .text-amethyst{filter:none!important;text-shadow:none!important}body.taverna-compact-cards .game-card,body.taverna-compact-cards .action-card,body.taverna-compact-cards .glass-box{border-radius:16px!important}body.taverna-compact-cards .game-card{min-height:108px!important;padding:16px!important}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.game-card:focus-visible,.action-card:focus-visible{box-shadow:var(--focus-ring);border-color:#c77dffc7!important}#app{height:var(--viewport-height);min-height:var(--viewport-stable-height);width:100vw;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;padding:max(16px,var(--safe-top)) max(16px,var(--safe-right)) calc(96px + max(16px,var(--safe-bottom))) max(16px,var(--safe-left));box-sizing:border-box;display:flex;flex-direction:column}::-webkit-scrollbar{width:0px;background:transparent}@keyframes cardEntrance{0%{opacity:0;transform:translate3d(0,22px,0) scale(.965);filter:blur(8px)}to{opacity:1;transform:translateZ(0) scale(1);filter:blur(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes floatLogo{0%,to{transform:translateY(0)}50%{transform:translateY(-5px);filter:drop-shadow(0 0 15px var(--amethyst-light))}}@keyframes pulse{0%,to{transform:scale(.98);opacity:.72}50%{transform:scale(1.035);opacity:1;filter:drop-shadow(0 0 22px var(--amethyst-bright))}}@keyframes sheenSweep{0%{transform:translate(-130%) skew(-18deg);opacity:0}28%{opacity:.42}to{transform:translate(130%) skew(-18deg);opacity:0}}@keyframes panelReveal{0%{opacity:0;transform:translate3d(18px,0,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes floatDie{0%,to{transform:translateZ(0) rotate(-12deg);filter:drop-shadow(0 0 0 rgba(199,125,255,0))}50%{transform:translate3d(0,-12px,0) rotate(-8deg);filter:drop-shadow(0 18px 34px rgba(157,78,222,.28))}}@keyframes diceTumble{0%{transform:rotateX(0) rotateY(0) rotate(0) translateY(0)}42%{transform:rotateX(360deg) rotateY(250deg) rotate(-18deg) translateY(-12px)}74%{transform:rotateX(620deg) rotateY(500deg) rotate(12deg) translateY(3px)}to{transform:rotateX(720deg) rotateY(720deg) rotate(0) translateY(0)}}@keyframes chatPop{0%{opacity:0;transform:translate3d(0,10px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes mapPing{0%{opacity:1;transform:scale(.35);box-shadow:0 0 #00ffa385}72%{opacity:.88;transform:scale(2.1);box-shadow:0 0 0 22px #00ffa300}to{opacity:0;transform:scale(2.35)}}@keyframes tokenFocus{0%,to{filter:drop-shadow(0 0 0 rgba(0,255,163,0))}45%{filter:drop-shadow(0 0 24px rgba(0,255,163,.7))}}.fade-in{animation:fadeInUp var(--motion-slow) var(--ease-out) forwards}.pulse-logo{animation:pulse 1.5s infinite ease-in-out}.nav-logo-right{position:fixed;top:calc(15px + env(safe-area-inset-top));right:20px;width:45px;height:45px;z-index:1500;filter:drop-shadow(0 0 10px var(--amethyst-bright));animation:floatLogo 4s ease-in-out infinite}.grid-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:20px;width:100%}.game-card,.action-card{background:var(--glass-surface);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);border-radius:24px;padding:24px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;transform:translateZ(0);will-change:transform;transition:transform var(--motion-med) var(--ease-spring),border-color var(--motion-med) ease,background var(--motion-med) ease,box-shadow var(--motion-med) ease,filter var(--motion-med) ease;text-align:center;animation:cardEntrance .6s var(--ease-out) backwards;cursor:pointer}.game-card:before,.action-card:before{content:"";position:absolute;inset:-40% auto -40% 0;width:42%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);transform:translate(-140%) skew(-18deg);pointer-events:none}.game-card:hover,.action-card:hover{transform:translateY(-4px) scale(1.015);background:var(--surface-elevated);border-color:#c77dff6b;box-shadow:0 18px 38px #00000057,0 0 28px #9d4ede21}.game-card:hover:before,.action-card:hover:before{animation:sheenSweep .9s var(--ease-out)}.game-card:active,.action-card:active{transform:scale(.965);background:#9d4edd1a;border-color:var(--amethyst-light)}#app:has(.taverna-home){scroll-behavior:smooth;scroll-snap-type:y proximity}body:has(.taverna-home) .nav-logo-right{opacity:0;pointer-events:none}.taverna-home{width:100%;min-height:100%;padding:max(22px,env(safe-area-inset-top)) clamp(18px,3vw,44px) calc(112px + env(safe-area-inset-bottom));color:#fff;background:radial-gradient(circle at 50% -20%,rgba(110,46,165,.2),transparent 42%),#05010a}.taverna-home-header{position:relative;display:flex;align-items:center;justify-content:center;gap:13px;min-height:68px;margin:0 auto 22px;animation:homeHeaderReveal .7s var(--ease-out) both}.taverna-home-header:after{content:"";position:absolute;left:50%;bottom:0;width:min(180px,34vw);height:1px;background:linear-gradient(90deg,transparent,rgba(220,181,118,.72),transparent);transform:translate(-50%)}.taverna-home-header img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(199,125,255,.5))}.taverna-home-header h1{margin:0;color:#fff;font-size:clamp(1.55rem,3vw,2.5rem);font-weight:900;line-height:1;letter-spacing:0;text-transform:uppercase}.taverna-home-main{width:min(100%,1380px);margin:0 auto}.taverna-scene-stage{--pointer-x: 0px;--pointer-y: 0px;display:flex;align-items:stretch;gap:0;width:100%;height:clamp(470px,67dvh,650px);min-height:0;overflow:hidden;border:1px solid rgba(220,181,118,.34);border-radius:8px;perspective:1400px;box-shadow:0 28px 80px #0000008c}.taverna-scene{flex:1 1 0;min-width:0;position:relative;isolation:isolate;overflow:hidden;padding:0;border:0;border-right:1px solid rgba(255,255,255,.1);border-radius:0;background:#120b18;color:#fff;cursor:pointer;opacity:0;transform:translateY(26px) rotateX(2deg);box-shadow:none;transition:flex .62s var(--ease-out),opacity .5s ease,transform .62s var(--ease-spring),border-color .3s ease,filter .42s ease,box-shadow .42s ease}.taverna-scene:nth-child(2){transition-delay:70ms}.taverna-scene:nth-child(3){transition-delay:.14s}.taverna-scene:last-child{border-right:0}.taverna-scene.is-in-view{opacity:1;transform:translateY(0) rotateX(0)}.taverna-scene img{position:absolute;z-index:-2;top:-18px;right:-18px;bottom:-18px;left:-18px;width:calc(100% + 36px);height:calc(100% + 36px);object-fit:cover;transform:translate3d(var(--pointer-x),var(--pointer-y),0) scale(1.075);transition:transform .75s var(--ease-out),filter .48s ease}.scene-cards img{object-position:36% 50%}.scene-party img{object-position:50% 50%}.scene-gdr img{object-position:64% 50%}.taverna-scene-scrim{position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#05010a0a 28%,#05010abd),linear-gradient(90deg,rgba(5,1,10,.3),transparent 42%,rgba(5,1,10,.18))}.taverna-scene-title{position:absolute;left:24px;right:24px;bottom:clamp(24px,4vw,48px);color:#fff;font-size:clamp(1.45rem,3.8vw,3.5rem);font-weight:900;line-height:.95;letter-spacing:0;text-transform:uppercase;text-shadow:0 4px 24px rgba(0,0,0,.72);transform:translateY(8px);transition:transform .5s var(--ease-out)}.taverna-scene-title:after{content:"";display:block;width:54px;height:1px;margin:14px auto 0;background:linear-gradient(90deg,transparent,rgba(220,181,118,.92),transparent);box-shadow:0 0 14px #c77dff80}.taverna-scene:hover,.taverna-scene:focus-visible{flex:1.55 1 0;transform:translateY(-5px);box-shadow:inset 0 0 0 1px #ffffff38}.taverna-scene:hover img,.taverna-scene:focus-visible img{transform:translate3d(calc(var(--pointer-x) * .45),calc(var(--pointer-y) * .45),0) scale(1.025)}.taverna-scene:hover .taverna-scene-title,.taverna-scene:focus-visible .taverna-scene-title{transform:translateY(0)}.taverna-scene-stage:has(.taverna-scene:hover) .taverna-scene:not(:hover),.taverna-scene-stage:has(.taverna-scene:focus-visible) .taverna-scene:not(:focus-visible){filter:brightness(.62) saturate(.72)}.taverna-scene.is-opening{z-index:5;flex:2.4 1 0;transform:scale(.99);filter:brightness(1.12) saturate(1.08)}.taverna-home-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;margin-top:10px;animation:homeDockReveal .76s .24s var(--ease-out) both}.taverna-home-dock:has(.is-resume){grid-template-columns:minmax(190px,1.55fr) repeat(4,minmax(110px,1fr))}.taverna-home-dock button{min-width:0;min-height:62px;padding:10px 14px;border:1px solid rgba(220,181,118,.17);border-radius:8px;background:linear-gradient(180deg,#ffffff0e,#ffffff06);color:#ffffffd1;font-size:clamp(.68rem,1vw,.78rem);font-weight:800;letter-spacing:0;cursor:pointer;box-shadow:inset 0 1px #ffffff09;transition:transform .24s var(--ease-spring),background .24s ease,color .24s ease,border-color .24s ease}.taverna-home-dock button:hover,.taverna-home-dock button:focus-visible{transform:translateY(-2px);background:#ffffff17;border-color:#c77dff66;color:#fff}.taverna-home-dock .is-resume{display:grid;align-content:center;gap:2px;background:linear-gradient(135deg,#9d4ede33,#5b21b61a);border-color:#c77dff42}.taverna-home-dock .is-resume small{color:#ffffff80;font-size:.58rem;font-weight:700;letter-spacing:0}.taverna-home-dock .is-resume strong{overflow:hidden;color:#fff;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}@keyframes homeHeaderReveal{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes homeDockReveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.minigames-lobby-wrapper{width:min(100%,640px);margin:0 auto;padding:clamp(14px,3vw,22px);padding-bottom:calc(128px + var(--safe-bottom));box-sizing:border-box;color:#fff}.minigame-multiplayer-panel{display:grid;width:100%;min-width:0;gap:12px;margin:0 0 22px;padding:16px;box-sizing:border-box;border:1px solid rgba(199,125,255,.24);border-radius:22px;overflow:hidden;background:radial-gradient(circle at 18% 0%,rgba(199,125,255,.16),transparent 42%),linear-gradient(180deg,#ffffff13,#ffffff09);box-shadow:0 16px 38px #00000042}.minigame-multiplayer-panel.is-connected{border-color:#00ffa35c;box-shadow:0 16px 38px #00000042,0 0 28px #00ffa314}.minigame-multiplayer-join{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-width:0}.minigame-multiplayer-join input{min-width:0;min-height:44px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#0003;color:#fff;padding:0 14px;font-family:Montserrat,sans-serif;font-size:clamp(.72rem,2.7vw,.78rem);font-weight:900;letter-spacing:1.6px;text-transform:uppercase}.minigame-multiplayer-join input::placeholder{color:#ffffff73}.minigame-multiplayer-join button,.minigame-multiplayer-main{min-height:44px;border:1px solid rgba(199,125,255,.28);border-radius:14px;background:#9d4ede29;color:#fff;cursor:pointer;font-family:Montserrat,sans-serif;font-size:clamp(.68rem,2.5vw,.72rem);font-weight:900;letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap}.minigame-multiplayer-join button{padding:0 16px}.minigame-multiplayer-main{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0;background:linear-gradient(135deg,#9d4ede52,#5a189a6b);box-shadow:inset 0 1px #ffffff14}.minigame-multiplayer-main span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;text-align:center}.minigame-multiplayer-join button:disabled,.minigame-multiplayer-main:disabled{cursor:wait;opacity:.66}.minigame-multiplayer-dot{width:11px;height:11px;flex:0 0 11px;border-radius:999px;background:#f44;box-shadow:0 0 0 4px #ff44441f,0 0 16px #ff444485}.minigame-multiplayer-dot.is-connected{background:#00ffa3;box-shadow:0 0 0 4px #00ffa31f,0 0 18px #00ffa38c}.minigame-multiplayer-code{display:grid;place-items:center;gap:3px;min-height:62px;border:1px dashed rgba(255,255,255,.15);border-radius:16px;background:#0000002e}.minigame-multiplayer-code[hidden]{display:none!important}.minigame-multiplayer-code small,.minigame-multiplayer-status{margin:0;color:#ffffff94;font-size:.66rem;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;text-align:center;line-height:1.35;overflow-wrap:anywhere}.minigame-multiplayer-code strong{color:#fff;font-family:Montserrat,sans-serif;font-size:clamp(1.25rem,6.4vw,1.5rem);font-weight:900;letter-spacing:clamp(2px,1vw,4px);overflow-wrap:anywhere}.login-auth-card{width:min(100%,370px);max-height:calc(100dvh - 40px);padding:clamp(30px,5vw,40px) clamp(22px,4vw,30px);border-radius:32px 32px 24px 24px;background:radial-gradient(circle at 50% -12%,rgba(199,125,255,.22),transparent 44%),linear-gradient(180deg,#120920f0,#0b0416e6 58%,#05010adb);border:1px solid rgba(199,125,255,.28);box-shadow:0 24px 68px #00000075,0 0 0 1px #ffffff0a inset,0 0 34px #9d4edd24;cursor:default;isolation:isolate;overflow:hidden auto;scrollbar-width:none}.login-auth-card::-webkit-scrollbar{width:0;height:0}.login-auth-card:before{display:none}.login-auth-card:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(255,255,255,.055);border-radius:24px 24px 18px 18px;pointer-events:none;z-index:0}.login-auth-card>*{position:relative;z-index:1}.login-auth-card:hover,.login-auth-card:active{transform:translateZ(0);background:radial-gradient(circle at 50% -12%,rgba(199,125,255,.24),transparent 44%),linear-gradient(180deg,#120920f0,#0b0416e6 58%,#05010adb);border-color:#c77dff57;box-shadow:0 24px 68px #00000075,0 0 0 1px #ffffff0a inset,0 0 34px #9d4edd24}body.taverna-compact-cards .login-auth-card{border-radius:28px 28px 22px 22px!important}.game-card:nth-child(1){animation-delay:.1s}.game-card:nth-child(2){animation-delay:.15s}.game-card:nth-child(3){animation-delay:.2s}.game-card:nth-child(4){animation-delay:.25s}.game-card:nth-child(5){animation-delay:.3s}.game-card:nth-child(6){animation-delay:.35s}.main-title{font-family:Montserrat,sans-serif;font-weight:900;font-size:2.2rem;text-align:center;text-transform:uppercase;background:linear-gradient(180deg,#ffffff 0%,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 10px rgba(157,78,221,.3))}.text-amethyst{color:var(--amethyst-bright);text-shadow:0 0 15px var(--amethyst-glow)}.sidebar-glass{position:fixed;right:-110%;top:0;width:290px;height:100dvh;background:#05020ad9;backdrop-filter:blur(40px) saturate(150%);-webkit-backdrop-filter:blur(40px) saturate(150%);z-index:9000!important;transition:right var(--motion-slow) var(--ease-out),box-shadow var(--motion-med) ease,border-color var(--motion-med) ease;padding:calc(60px + env(safe-area-inset-top)) 20px;border-left:1px solid var(--glass-border);box-sizing:border-box;box-shadow:-15px 0 40px #0009;animation:panelReveal var(--motion-slow) var(--ease-out)}.sidebar-glass.active{right:0!important}.floating-trigger{position:fixed;bottom:calc(25px + env(safe-area-inset-bottom));right:20px;width:62px;height:62px;border-radius:20px;background:var(--accent-gradient);z-index:9999!important;display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:5px;box-shadow:0 12px 26px #9d4edd57,inset 0 1px #ffffff2e;border:1px solid rgba(255,255,255,.1);transition:transform var(--motion-med) var(--ease-spring),background var(--motion-med) ease,box-shadow var(--motion-med) ease,border-color var(--motion-med) ease;cursor:pointer;visibility:visible!important}.floating-trigger:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 18px 36px #9d4edd6b,0 0 24px #c77dff2e}.floating-trigger.is-active{background:var(--danger)!important;transform:rotate(180deg);box-shadow:0 0 30px #f449;border-color:#f446}.nav-bar{width:26px;height:3px;background:#fff;border-radius:10px;transition:all .4s cubic-bezier(.68,-.6,.32,1.6);transform-origin:center}.floating-trigger.is-active .nav-bar:nth-child(1){transform:translateY(8px) rotate(45deg)}.floating-trigger.is-active .nav-bar:nth-child(2){opacity:0;transform:scale(.2)}.floating-trigger.is-active .nav-bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.btn-back-glass,.btn-glass,.btn-primary{width:100%;background:#ffffff0a;border:1px solid var(--glass-border);border-left:3px solid transparent;color:#fff;padding:16px 20px;border-radius:16px;font-family:Montserrat,sans-serif;font-weight:800;font-size:.85rem;letter-spacing:1px;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:transform var(--motion-med) var(--ease-spring),background var(--motion-med) ease,border-color var(--motion-med) ease,box-shadow var(--motion-med) ease;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:12px;box-shadow:0 4px 15px #0003}.btn-back-glass:hover,.btn-glass:hover,.btn-primary:hover{transform:translateY(-2px);background:#ffffff13;border-color:#c77dff6b;box-shadow:0 10px 26px #00000047,0 0 22px #9d4ede1f}.btn-back-glass:active,.btn-glass:active,.btn-primary:active{transform:scale(.975);background:#9d4edd26;border-color:var(--amethyst-light);border-left:3px solid var(--amethyst-bright);box-shadow:0 0 20px #9d4edd66}input[type=text],input[type=email],input[type=password],select,.auth-input{width:100%;background:#ffffff0d;border:1px solid var(--glass-border);border-radius:16px;padding:14px;color:#fff;font-size:16px;font-family:Montserrat,sans-serif;outline:none;transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease,transform var(--motion-fast) ease;box-sizing:border-box}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,select:focus,.auth-input:focus{border-color:var(--amethyst-bright);background:#9d4edd0d;box-shadow:0 0 15px #9d4edd33}.glass-box{background:var(--glass-surface);border:1px solid var(--glass-border);border-radius:20px;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);box-shadow:0 10px 30px #00000059}.sidebar-btn{background:#ffffff0a;border:1px solid var(--glass-border);color:#fff;font-family:Montserrat,sans-serif;font-weight:800;cursor:pointer}.side-music-toggle{width:100%;height:52px;border:1px solid var(--glass-border);border-radius:999px;background:#ffffff0d;color:#fff;position:relative;overflow:hidden;cursor:pointer;font-family:Montserrat,sans-serif;font-weight:900;letter-spacing:2px;box-shadow:inset 0 1px #ffffff14,0 8px 20px #0000002e;transition:background var(--motion-med) ease,border-color var(--motion-med) ease,box-shadow var(--motion-med) ease,transform var(--motion-fast) ease}.side-music-toggle:hover{transform:translateY(-1px);border-color:#c77dff6b}.side-music-toggle-label{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;opacity:.34;pointer-events:none}.side-music-toggle-knob{position:absolute;top:5px;left:5px;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffffeb;box-shadow:0 8px 18px #00000059;transition:left var(--motion-med) var(--ease-spring),transform var(--motion-med) var(--ease-spring),box-shadow var(--motion-med) ease}.side-music-toggle-state{position:absolute;top:50%;right:18px;transform:translateY(-50%);font-size:.68rem;color:#ffffff8c;pointer-events:none}.side-music-toggle.is-on{background:linear-gradient(135deg,#9d4eded9,#00ffa347);border-color:#c77dff99;box-shadow:0 0 22px #9d4ede47}.side-music-toggle.is-on .side-music-toggle-knob{left:calc(100% - 45px);box-shadow:0 8px 22px #00ffa338,0 0 0 6px #ffffff0a}.side-music-toggle.is-on .side-music-toggle-state{left:18px;right:auto;color:#fff}.settings-profile-page,.music-center{width:100%;max-width:720px;margin:0 auto;padding:20px 0 120px;color:#fff}.settings-back,.music-back{width:auto!important;display:inline-flex;border-left:none!important;margin-bottom:28px}.settings-profile-header,.music-header{text-align:center;margin-bottom:24px}.settings-kicker{margin:0 0 8px;text-transform:uppercase;letter-spacing:3px;font-size:.72rem;opacity:.55;font-weight:800}.settings-title,.music-title{margin:0}.settings-profile-preview{display:flex;align-items:center;gap:18px;padding:20px;margin-bottom:18px}.settings-avatar-preview{width:72px;height:72px;border-radius:20px;display:flex;align-items:center;justify-content:center;flex:0 0 auto;background:#9d4ede24;border:1px solid rgba(199,125,255,.4);color:var(--amethyst-light);font-size:2rem;font-weight:900;overflow:hidden}.settings-avatar-preview img{width:100%;height:100%;object-fit:cover}.settings-profile-preview h2{margin:0;font-size:1.35rem;text-transform:uppercase}.settings-profile-preview p,.music-playlist p,.music-note p{margin:6px 0 0;opacity:.58;font-size:.82rem;line-height:1.5}.settings-form{display:grid;gap:16px;padding:20px}.settings-form label,.settings-row{display:grid;gap:8px;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;opacity:.9}.settings-check{grid-template-columns:1fr auto;align-items:center}.settings-check input{width:22px;height:22px;accent-color:var(--amethyst-bright)}.settings-save{margin-top:8px}.settings-saved{min-height:18px;margin:0;text-align:center;color:#00ffa3;font-size:.78rem;font-weight:800}.music-now{padding:18px;margin-bottom:18px;text-align:center}.music-now-label{display:block;text-transform:uppercase;letter-spacing:2px;font-size:.68rem;opacity:.5;margin-bottom:6px}.music-now strong{color:var(--amethyst-light);font-size:1.35rem;text-transform:uppercase}.music-now p{margin:6px 0 0;opacity:.65}.music-playlists{display:grid;gap:16px}.music-playlist{padding:18px;position:relative;overflow:hidden;transition:border-color var(--motion-med) ease,background var(--motion-med) ease,transform var(--motion-med) var(--ease-out),box-shadow var(--motion-med) ease}.music-playlist:hover{transform:translateY(-3px);border-color:#c77dff6b;background:#ffffff0e;box-shadow:0 16px 34px #00000047}.music-playlist.is-selected{border-color:#c77dffbf;background:#9d4ede14}.music-playlist-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.music-playlist h2{margin:0;font-size:1rem;text-transform:uppercase}.music-playlist-select,.music-track{border:1px solid var(--glass-border);background:#ffffff0a;color:#fff;border-radius:12px;cursor:pointer;font-family:Montserrat,sans-serif;font-weight:800;transition:transform var(--motion-fast) ease,background var(--motion-fast) ease,border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.music-playlist-select{padding:10px 12px;font-size:.68rem}.music-track-list{display:grid;gap:10px}.music-track{min-height:48px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left}.music-playlist-select:hover,.music-track:hover{transform:translateY(-1px);background:#9d4ede1f;border-color:#c77dff75;box-shadow:0 8px 20px #0000003d}.music-track:active,.music-playlist-select:active{transform:scale(.985)}.music-track small{color:var(--amethyst-light);opacity:.8}.music-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.music-note{padding:14px 18px;margin-top:18px}.dnd-app{width:100%;max-width:1120px;margin:0 auto;padding:20px 0 120px;color:#fff}.dnd-back{width:auto!important;display:inline-flex;border-left:none!important;margin-bottom:22px}.dnd-hero{min-height:260px;border:1px solid var(--glass-border);border-radius:24px;padding:34px;margin-bottom:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#280a3cd1,#05010af0),url(https://www.transparenttextures.com/patterns/dark-matter.png);overflow:hidden;box-shadow:0 24px 60px #00000073;position:relative;isolation:isolate;animation:cardEntrance var(--motion-slow) var(--ease-out) backwards}.dnd-hero:after{content:"";position:absolute;inset:-35% -10% auto auto;width:360px;height:360px;background:radial-gradient(circle,rgba(199,125,255,.14),transparent 68%);pointer-events:none;z-index:-1}.dnd-kicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:3px;font-size:.72rem;opacity:.58;font-weight:900}.dnd-hero h1{margin:0;font-family:Montserrat,sans-serif;font-size:clamp(2.4rem,7vw,4.7rem);line-height:.95;letter-spacing:0}.dnd-hero h1 span{color:var(--amethyst-light);text-shadow:0 0 22px var(--amethyst-glow)}.dnd-hero p:last-child{max-width:560px;margin:18px 0 0;opacity:.68;line-height:1.6;font-size:.92rem}.dnd-hero-die{font-family:Montserrat,sans-serif;font-size:clamp(5rem,18vw,12rem);line-height:.8;font-weight:900;color:#c77dff14;transform:rotate(-12deg);flex:0 0 auto;animation:floatDie 4.8s ease-in-out infinite}.dnd-tabs{display:flex;gap:10px;overflow-x:auto;padding:4px 0 18px;margin-bottom:12px}.dnd-tabs button{flex:0 0 auto;border:1px solid var(--glass-border);border-radius:999px;background:#ffffff0a;color:#fff;padding:12px 16px;font-family:Montserrat,sans-serif;font-weight:900;font-size:.76rem;cursor:pointer;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.dnd-tabs button:hover{transform:translateY(-2px);border-color:#c77dff75;background:#9d4ede1a}.dnd-tabs button.active{border-color:var(--amethyst-light);background:#9d4ede29;color:var(--amethyst-light)}.dnd-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.dnd-panel,.dnd-list-card,.dnd-empty{border:1px solid var(--glass-border);background:var(--glass-surface);color:#fff;border-radius:18px;padding:22px;text-align:left;cursor:pointer;position:relative;overflow:hidden;transition:border-color var(--motion-med) ease,transform var(--motion-med) var(--ease-out),background var(--motion-med) ease,box-shadow var(--motion-med) ease}.dnd-panel:hover,.dnd-list-card:hover{transform:translateY(-3px);border-color:#c77dff75;background:#ffffff0e;box-shadow:0 16px 34px #00000047,0 0 26px #9d4ede1a}.dnd-panel:active{transform:scale(.985);border-color:var(--amethyst-light);background:#9d4ede1a}.dnd-panel span,.dnd-list-card span,.dnd-section-head p,.dnd-muted{display:block;color:#ffffff94;font-size:.8rem;line-height:1.5}.dnd-panel strong,.dnd-list-card strong,.dnd-section-head h2{display:block;margin:8px 0;font-family:Montserrat,sans-serif;font-size:1.2rem;text-transform:uppercase}.dnd-panel p,.dnd-list-card p{margin:0;color:#ffffff9e;font-size:.86rem;line-height:1.55}.dnd-section-head{margin:24px 0 16px}.dnd-section-actions,.dnd-list-card{display:flex;justify-content:space-between;align-items:center;gap:16px}.dnd-card-list{display:grid;gap:14px}.dnd-character-card-media{width:64px;height:64px;border-radius:18px;border:1px solid rgba(199,125,255,.42);background:#9d4ede1f;display:flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;color:var(--amethyst-light);font-weight:900;font-size:1.5rem}.dnd-character-card-media img{width:100%;height:100%;object-fit:cover}.dnd-inline-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.dnd-manual-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px}.dnd-manual-list{display:grid;gap:10px;align-content:start;position:sticky;top:88px;max-height:calc(100dvh - 120px);overflow-y:auto;overflow-x:clip;min-width:0;z-index:1}.dnd-manual-card{width:100%;min-width:0;box-sizing:border-box;padding:16px;border-radius:16px;border:1px solid var(--glass-border);background:#ffffff0a;color:#fff;text-align:left;cursor:pointer;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.dnd-manual-card:hover{transform:translateY(-2px);border-color:#c77dff75;background:#9d4ede17;box-shadow:0 10px 24px #00000038}.dnd-manual-card.active{border-color:var(--amethyst-light);background:#9d4ede24;transform:none}.dnd-manual-card strong{display:block;margin-bottom:6px}.dnd-manual-card span{opacity:.58;font-size:.78rem;line-height:1.45}.dnd-manual-card small{display:block;margin-top:10px;opacity:.5;font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px}.dnd-manual-viewer{min-height:680px;overflow:hidden;display:flex;flex-direction:column}.dnd-manual-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px;border-bottom:1px solid var(--glass-border);flex-wrap:wrap}.dnd-manual-title{min-width:min(100%,300px);flex:1 1 300px}.dnd-manual-toolbar span{display:block;opacity:.55;font-size:.68rem;text-transform:uppercase;letter-spacing:2px}.dnd-manual-toolbar small{display:block;margin-top:6px;color:#ffffff8a;font-size:.72rem;font-weight:800}.dnd-manual-toolbar a{color:#fff;text-decoration:none;border:1px solid var(--glass-border);border-radius:999px;padding:10px 14px;font-weight:900;font-size:.72rem;display:inline-flex;align-items:center;justify-content:center;min-height:40px;white-space:nowrap}.dnd-manual-index-note{color:var(--amethyst-light)!important;opacity:.9!important}.dnd-manual-index-note[hidden]{display:none!important}.dnd-manual-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;flex:1 1 420px}.dnd-manual-controls button,.dnd-manual-controls input{border:1px solid var(--glass-border);background:#ffffff12;color:#fff;border-radius:999px;padding:10px 14px;font-weight:900;font-size:.72rem;min-height:40px}.dnd-manual-controls label{display:flex;align-items:center;gap:8px;min-height:40px}.dnd-manual-controls label span,.dnd-manual-controls>span{opacity:.62;font-size:.68rem;text-transform:uppercase;letter-spacing:1.5px}.dnd-manual-controls input{width:88px;text-align:center}.dnd-manual-page-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:#00000024;scrollbar-width:thin}.dnd-manual-page-chip{width:42px;height:38px;flex:0 0 42px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#fff;font-size:.78rem;font-weight:900;cursor:pointer}.dnd-manual-page-chip.active{border-color:var(--amethyst-light);background:#9d4ede3d;box-shadow:0 0 18px #9d4ede2e}.dnd-manual-reader{height:min(68dvh,660px);min-height:520px;overflow-x:auto;overflow-y:hidden;padding:clamp(18px,3vw,34px);display:flex;align-items:center;gap:clamp(14px,2.2vw,28px);scroll-behavior:smooth;scroll-snap-type:x mandatory;perspective:1500px;background:radial-gradient(circle at 50% 42%,rgba(157,78,222,.16),transparent 48%),linear-gradient(180deg,#0d0716eb,#040108f5);scrollbar-width:thin}.dnd-manual-reader.is-turning .dnd-manual-page.active{animation:dndManualPageTurn .52s cubic-bezier(.2,.8,.2,1)}.dnd-manual-page{flex:0 0 clamp(238px,29vw,360px);scroll-snap-align:center;border:1px solid rgba(255,255,255,.12);border-radius:14px 18px 18px 14px;background:linear-gradient(90deg,rgba(0,0,0,.34) 0 12px,transparent 12px),#ffffff0e;overflow:hidden;color:#fff;cursor:pointer;display:grid;gap:10px;padding:12px;text-decoration:none;transform:rotateY(-8deg) translateZ(0);transform-origin:left center;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease;box-shadow:18px 18px 44px #0000005c;position:relative;isolation:isolate}.dnd-manual-page:before{content:"";position:absolute;inset:0 auto 0 0;width:16px;background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(0,0,0,.2),transparent);opacity:.7;pointer-events:none;z-index:2}.dnd-manual-page:after{content:"";position:absolute;inset:10px 8px 10px auto;width:1px;background:#ffffff1f;box-shadow:-4px 0 16px #ffffff14;pointer-events:none}.dnd-manual-page:hover{transform:rotateY(-3deg) translateY(-4px);border-color:#c77dff8a;background:#9d4ede1f;box-shadow:0 16px 28px #00000047}.dnd-manual-page.active{border-color:var(--amethyst-light);transform:rotateY(0) scale(1.035);background:linear-gradient(90deg,rgba(255,255,255,.13) 0 14px,transparent 14px),#9d4ede1f;box-shadow:0 22px 54px #00000070,0 0 28px #9d4ede29;z-index:3}.dnd-manual-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dnd-manual-card-head>span:first-child{display:grid;gap:3px}.dnd-manual-card-head strong{font-size:.78rem;text-transform:uppercase;letter-spacing:1px}.dnd-manual-card-kicker{color:#ffffff80;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:1px}.dnd-manual-open-badge{color:var(--amethyst-light);font-size:.7rem;font-weight:900;text-transform:uppercase}.dnd-manual-preview{aspect-ratio:.72;min-height:360px;position:relative;display:block;overflow:hidden;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,#ffffff1a,#05020ac7);box-shadow:inset 0 0 0 1px #ffffff08}.dnd-manual-preview-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#ffffff6b;font-size:1.6rem;font-weight:900;letter-spacing:1px}.dnd-manual-preview-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#ffffffeb;pointer-events:none}@keyframes dndManualPageTurn{0%{transform:rotateY(-18deg) scale(.98);filter:brightness(.78)}58%{transform:rotateY(4deg) scale(1.04);filter:brightness(1.06)}to{transform:rotateY(0) scale(1.035);filter:brightness(1)}}.dnd-manual-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9800;display:none;padding:var(--manual-modal-top) var(--manual-modal-right) var(--manual-modal-bottom) var(--manual-modal-left);box-sizing:border-box}body.dnd-manual-modal-open .floating-trigger{display:none!important}.dnd-manual-modal.active{display:block}.dnd-manual-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:#05020ab8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}.dnd-manual-modal-panel{position:relative;z-index:1;width:min(1080px,100%);height:min(92dvh,calc(var(--viewport-height) - var(--manual-modal-top) - var(--manual-modal-bottom)),920px);max-height:calc(var(--viewport-height) - var(--manual-modal-top) - var(--manual-modal-bottom));margin:0 auto;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(199,125,255,.38);border-radius:18px;background:#05020af0;box-shadow:0 24px 70px #00000094}.dnd-manual-modal-panel header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;border-bottom:1px solid rgba(255,255,255,.1)}.dnd-manual-modal-panel header strong{font-size:.9rem;line-height:1.25}.dnd-manual-modal-panel header div{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dnd-manual-modal-panel a,.dnd-manual-modal-panel button{min-height:38px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#ffffff12;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;text-decoration:none;text-transform:uppercase;font-size:.68rem;font-weight:900}.dnd-manual-modal-panel iframe{flex:1 1 auto;width:100%;min-height:0;border:0;background:#fff;color-scheme:light}.dnd-sheet{display:grid;gap:16px}.dnd-form-section{padding:18px;display:grid;gap:14px}.dnd-form-section h3{margin:0;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.dnd-sheet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dnd-sheet label,.dnd-row-label{display:grid;gap:8px;color:#ffffffb8;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:1px}.dnd-sheet input,.dnd-sheet select,.dnd-sheet textarea,.dnd-session input,.dnd-session select,.dnd-session textarea{width:100%;border:1px solid var(--glass-border);border-radius:14px;padding:13px;background:#ffffff0d;color:#fff;font:inherit;box-sizing:border-box}.dnd-session textarea{min-height:96px;resize:vertical}.dnd-session input[type=color]{height:44px;padding:6px;cursor:pointer}.dnd-sheet input[type=file]{padding:11px;cursor:pointer}.dnd-check-inline{grid-template-columns:1fr auto;align-items:center}.dnd-check-inline input[type=checkbox]{width:22px;height:22px;accent-color:var(--amethyst-bright)}.dnd-map-upload span{color:#ffffff80;font-size:.72rem;line-height:1.35;text-transform:none;letter-spacing:0;font-weight:600}.dnd-sheet textarea{min-height:110px;resize:vertical}.dnd-stat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.dnd-stat{padding:16px;text-align:center}.dnd-stat input{text-align:center;font-size:1.5rem;font-weight:900}.dnd-two-col{display:grid;grid-template-columns:1fr 2fr;gap:16px}.dnd-checks,.dnd-textareas{padding:18px}.dnd-checks{display:grid;gap:10px}.dnd-checks h3{margin:0 0 8px}.dnd-checks label{grid-template-columns:auto 1fr;align-items:center;text-transform:none;letter-spacing:0}.dnd-textareas{display:grid;gap:14px}.dnd-error{color:var(--danger);font-weight:800}.dnd-session{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:block;background:#f8fafc;color:#fff;font-family:Montserrat,sans-serif;overflow:hidden;animation:fadeInUp var(--motion-slow) var(--ease-out) forwards}body.dnd-session-active .floating-trigger{display:flex!important;z-index:9999!important}body.dnd-session-active .nav-logo-right{display:none!important}body.dnd-session-chat-open .floating-trigger{right:calc(min(390px,calc(100vw - 18px)) + 24px);bottom:calc(104px + env(safe-area-inset-bottom))}.dnd-session-panel{position:absolute;top:0;bottom:0;z-index:90;width:min(390px,calc(100vw - 18px));border-color:#9d4ede38;background:#05020ae6;backdrop-filter:blur(22px) saturate(135%);-webkit-backdrop-filter:blur(22px) saturate(135%);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 55px #0000007a;transition:transform var(--motion-slow) var(--ease-out),opacity var(--motion-med) ease,box-shadow var(--motion-med) ease;will-change:transform}.dnd-session-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:80;background:#00000061;opacity:0;pointer-events:none;transition:opacity var(--motion-med) ease}.dnd-left-panel{left:0;border-right:1px solid rgba(157,78,222,.22);padding:18px;gap:16px;overflow-y:auto;transform:translate(calc(-100% - 18px))}.dnd-chat-panel{right:0;border-left:1px solid rgba(157,78,222,.22);transform:translate(calc(100% + 18px))}.dnd-session[data-left-open=true] .dnd-left-panel,.dnd-session[data-chat-open=true] .dnd-chat-panel{transform:translate(0)}.dnd-session[data-left-open=true] .dnd-session-scrim,.dnd-session[data-chat-open=true] .dnd-session-scrim{opacity:1;pointer-events:auto}.dnd-session-panel header{display:grid;gap:4px;padding-bottom:14px;border-bottom:1px solid var(--glass-border)}.dnd-session-panel .dnd-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:0 0 auto}.dnd-panel-head>div{min-width:0;display:grid;gap:4px}.dnd-panel-close{flex:0 0 38px;width:38px;height:38px;border:1px solid var(--glass-border);border-radius:12px;background:#ffffff0f;color:#fff;font-size:1.25rem;font-weight:900;line-height:1;cursor:pointer;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease}.dnd-panel-close:hover{transform:translateY(-1px);border-color:#c77dff75;background:#9d4ede24}.dnd-session-panel header span{opacity:.5;font-size:.68rem;text-transform:uppercase;letter-spacing:2px;font-weight:900}.dnd-session-panel header strong{font-size:1rem;text-transform:uppercase}.dnd-chat-panel .dnd-panel-head{align-items:center;padding:18px;border-bottom-color:#c77dff2e;background:radial-gradient(circle at 0% 0%,rgba(199,125,255,.18),transparent 42%),linear-gradient(180deg,#ffffff0e,#fff0)}.dnd-chat-panel .dnd-panel-head span{width:fit-content;opacity:1;color:#05010a;font-size:.68rem;text-transform:none;letter-spacing:.02em;border-radius:999px;padding:4px 9px;background:#c77dfff2;box-shadow:0 0 18px #9d4ede38}.dnd-chat-panel .dnd-panel-head strong{color:#fffffff0;font-size:1.14rem;line-height:1.15;text-transform:none;letter-spacing:0}.session-tool-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;flex:0 0 auto}.session-tool-switcher button{border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#ffffff0e;color:#ffffffb8;padding:11px 10px;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:transform var(--motion-fast) var(--ease-spring),border-color var(--motion-fast) ease,background var(--motion-fast) ease,color var(--motion-fast) ease}.session-tool-switcher button:hover{transform:translateY(-1px);border-color:#c77dff6b;background:#9d4ede1f;color:#fff}.session-tool-switcher button.active,.session-tool-switcher button[aria-pressed=true]{border-color:#c77dffb8;background:linear-gradient(135deg,#9d4ede57,#480ca833);color:#fff;box-shadow:0 12px 28px #00000038,0 0 20px #9d4ede29}.dnd-session-block[hidden]{display:none!important}.dnd-session-panel header small{color:#ffffff85;font-size:.68rem;font-weight:800;line-height:1.35}.dnd-session-block{display:grid;gap:10px}.dnd-session-block h3{margin:0;font-size:.88rem;text-transform:uppercase}.session-brief{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;background:#ffffff09}.session-brief p{margin:0;color:#ffffffa8;font-size:.78rem;line-height:1.45}.session-ai-panel textarea{min-height:118px;resize:vertical}.session-ai-status{min-height:18px;margin:0;color:#ffffff8f;font-size:.72rem;font-weight:800;line-height:1.35}.token-form-grid{display:grid;grid-template-columns:48px repeat(3,minmax(0,1fr));gap:8px}.session-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.initiative-round{display:flex;justify-content:space-between;align-items:center;border:1px solid rgba(0,255,163,.22);border-radius:12px;padding:9px 11px;background:#00ffa30f;color:#ffffffb8;font-size:.76rem;text-transform:uppercase;font-weight:900}.initiative-form{display:grid;grid-template-columns:1fr 72px;gap:8px}.initiative-list{display:grid;gap:8px}.initiative-item{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--glass-border);border-radius:12px;padding:10px 12px;background:#ffffff0a;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.initiative-item:hover,.token-list-item:hover{transform:translate(3px);border-color:#c77dff6b;background:#ffffff0f}.token-list-item.active{border-color:var(--amethyst-light);background:#9d4ede24;box-shadow:0 0 18px #9d4ede1f}.initiative-item>div{display:flex;align-items:center;gap:8px}.initiative-item button,.token-list-item button{border:1px solid var(--glass-border);border-radius:999px;background:#ffffff0f;color:#fff;font-size:.64rem;font-weight:900;padding:6px 9px;cursor:pointer}.initiative-item.active{border-color:#00ffa3;background:#00ffa314}.initiative-item small{color:#ffffff75;font-size:.66rem;font-weight:800}.token-list{display:grid;gap:8px}.token-list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--glass-border);border-radius:12px;padding:9px 10px;background:#ffffff0a;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease}.token-list-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.78rem;font-weight:900}.token-list-item>div{display:flex;align-items:center;gap:4px;flex:0 0 auto}.token-list-item small{display:block;margin-top:2px;color:#ffffff75;font-size:.66rem;font-weight:800}.token-list-item span:before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border-radius:50%;background:var(--token-color)}.token-inspector{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;background:#ffffff09}.token-inspector form,.token-inspector label{display:grid;gap:8px}.token-inspector form{gap:10px}.token-inspector label{color:#ffffff9e;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:1px}.token-inspector textarea{min-height:70px}.token-inspector-head,.token-inspector-damage,.token-inspector-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.token-inspector-head strong{font-size:.86rem;text-transform:uppercase}.token-inspector-head span{color:#ffffff7a;font-size:.68rem;font-weight:900}.token-inspector-grid{display:grid;grid-template-columns:58px repeat(3,minmax(0,1fr));gap:8px}.token-inspector-damage{display:grid;grid-template-columns:72px 1fr 1fr}.token-inspector-damage button{border:1px solid var(--glass-border);border-radius:12px;background:#ffffff0f;color:#fff;padding:10px;font-size:.66rem;font-weight:900;cursor:pointer}.token-inspector-actions .btn-primary,.token-inspector-actions .btn-back-glass{flex:1 1 90px;justify-content:center;padding:10px 12px;font-size:.66rem}.session-check{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;font-size:.76rem;font-weight:800;color:#ffffffb8}.session-check input{width:auto}.session-prep-log{max-height:180px;overflow-y:auto;padding:12px 14px;border-bottom:1px solid var(--glass-border);display:grid;gap:10px;background:#ffffff06}.session-prep-item span{display:block;margin-bottom:3px;color:var(--amethyst-light);font-size:.64rem;text-transform:uppercase;letter-spacing:1px;font-weight:900}.session-prep-item p{margin:0;color:#ffffff9e;font-size:.76rem;line-height:1.45;white-space:pre-wrap}.dnd-table-area{position:relative;width:100%;height:100%;overflow:hidden;background:#f8fafc}#tabletop-container,.tabletop-viewport{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.tabletop-viewport{cursor:grab;touch-action:none;background:#fff;outline:none;overscroll-behavior:none}.tabletop-viewport:focus-visible{box-shadow:inset 0 0 0 2px #7c3aed52}.map-layer{position:absolute;width:4200px;height:4200px;background:#fff;transform-origin:0 0;will-change:transform;overflow:visible}.map-empty{position:absolute;left:420px;top:360px;width:min(560px,70vw);border:1px solid rgba(75,85,99,.2);border-radius:18px;padding:24px;background:#ffffffeb;color:#1f2937c2;box-shadow:0 18px 40px #0f172a1f;pointer-events:none}.map-empty strong{display:block;margin-bottom:8px;color:#111827;font-size:1rem;text-transform:uppercase}.map-empty span{font-size:.84rem;line-height:1.5}.map-grid{position:absolute;left:-50000px;top:-50000px;width:100000px;height:100000px;background-image:linear-gradient(rgba(75,85,99,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(75,85,99,.18) 1px,transparent 1px);background-size:50px 50px;pointer-events:none}.map-grid.is-hidden{display:none}.map-image{position:absolute;top:0;left:0;width:2200px;max-width:none;opacity:.98}.map-pdf{position:absolute;top:0;left:0;width:2200px;height:1600px;border:0;background:#fff;pointer-events:none}.map-fog{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#0000;transition:background var(--motion-med) ease}.map-fog.active{background:radial-gradient(circle at 50% 50%,#1118270a,#1118278f)}.token{position:absolute;width:62px;height:62px;cursor:pointer;z-index:10;transition:transform var(--motion-fast) ease,filter var(--motion-fast) ease;will-change:transform}.token:hover{transform:scale(1.08);filter:drop-shadow(0 0 18px rgba(199,125,255,.48))}.token.focused{animation:tokenFocus 1.2s ease-out both}.token.dragging{z-index:1000;filter:brightness(1.2);transform:scale(1.1)}.token-img{width:100%;height:100%;border-radius:50%;border:3px solid var(--amethyst-light);background:#12051e;display:flex;align-items:center;justify-content:center;box-shadow:0 0 18px #9d4ede8c;overflow:hidden;font-weight:900;color:#fff}.token-img img{width:100%;height:100%;object-fit:cover;pointer-events:none}.token-name{position:absolute;top:-24px;left:50%;transform:translate(-50%);background:#05020ae6;border:1px solid rgba(157,78,222,.32);border-radius:8px;padding:4px 8px;white-space:nowrap;font-size:.64rem;font-weight:900;pointer-events:none}.token-hp{position:absolute;left:6px;right:6px;bottom:-8px;height:5px;border-radius:999px;background:#000000a3;overflow:hidden;border:1px solid rgba(255,255,255,.14)}.token-hp span{display:block;height:100%;background:linear-gradient(90deg,#ff416c,#00ffa3);transition:width var(--motion-med) ease}.token-hp.is-hidden{display:none}.map-ping{position:absolute;width:34px;height:34px;margin-left:-17px;margin-top:-17px;border:2px solid #00ffa3;border-radius:50%;box-shadow:0 0 #00ffa385;pointer-events:none;z-index:70;animation:mapPing 1.35s ease-out forwards}.dnd-table-topbar{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:60;pointer-events:none}.dnd-table-topbar>*{pointer-events:auto}.dnd-table-topbar .btn-back-glass,.dnd-chat-form .btn-primary{width:auto;min-height:42px;margin-bottom:0;padding:10px 14px;border-left-width:1px;border-radius:14px;white-space:nowrap;flex:0 0 auto}.dnd-table-area .btn-back-glass,.dnd-table-topbar strong,.dnd-session-hud,.dnd-dice-bar{border-color:#4b556329;background:#ffffffe0;color:#1f2937;box-shadow:0 14px 32px #0f172a1f}.dnd-table-area .btn-back-glass{color:#1f2937;font-weight:900;box-shadow:0 10px 24px #0f172a14}.dnd-table-area .btn-back-glass:hover{border-color:#7c3aed59;background:#fffffff5;color:#4c1d95}.dnd-session-primary-controls{display:flex;align-items:center;gap:8px;flex:0 0 auto}.dnd-panel-toggle.active,.dnd-panel-toggle[aria-expanded=true]{border-color:#10b98170;background:#d1fae5e0;color:#047857;box-shadow:0 0 18px #10b9812e}.map-control-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.dnd-table-topbar strong{border:1px solid rgba(75,85,99,.16);border-radius:999px;padding:11px 18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center}.dnd-session-hud{position:absolute;left:50%;top:76px;transform:translate(-50%);z-index:55;max-width:min(560px,calc(100% - 40px));border:1px solid rgba(75,85,99,.16);border-radius:16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);padding:12px 16px;text-align:center;pointer-events:none}.dnd-session-hud span,.dnd-session-hud small{display:block;color:#374151ad;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:1.5px}.dnd-session-hud strong{display:block;margin:4px 0;font-size:.94rem;text-transform:uppercase;color:#111827}.dnd-session-hud small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0;font-weight:700}.dnd-dice-bar{position:absolute;left:50%;bottom:18px;transform:translate(-50%);z-index:60;max-width:92%;display:flex;gap:8px;align-items:center;overflow-x:auto;border:1px solid rgba(75,85,99,.16);border-radius:18px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:10px}.dnd-roll-display{position:absolute;right:24px;bottom:104px;z-index:64;display:flex;align-items:center;gap:12px;min-width:240px;max-width:min(340px,calc(100vw - 48px));border:1px solid rgba(124,58,237,.22);border-radius:22px;padding:12px 14px;background:#ffffffeb;color:#111827;box-shadow:0 22px 46px #0f172a29;opacity:0;pointer-events:none;perspective:620px;transform:translate3d(0,14px,0) scale(.96);transform-origin:right bottom;transition:opacity var(--motion-med) ease,transform var(--motion-med) var(--ease-out)}.dnd-roll-display.is-visible{opacity:1;transform:translateZ(0) scale(1)}.dnd-roll-cube{position:relative;flex:0 0 68px;width:68px;height:68px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#fff,#ede9fe 48%,#c4b5fd);color:#4c1d95;font-size:1.65rem;font-weight:950;transform-style:preserve-3d;box-shadow:inset 0 1px #ffffffeb,inset -10px -14px 22px #4c1d9529,0 14px 28px #4c1d9538}.dnd-roll-cube:before,.dnd-roll-cube:after{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:12px;border:1px solid rgba(76,29,149,.18);transform:translateZ(-10px);pointer-events:none}.dnd-roll-cube:after{inset:auto 12px 9px;height:7px;background:#4c1d952e;filter:blur(6px);transform:translateY(18px) rotateX(72deg)}.dnd-roll-display.is-rolling .dnd-roll-cube{animation:diceTumble .72s cubic-bezier(.2,.78,.25,1) both}.dnd-roll-copy{min-width:0;display:grid;gap:2px}.dnd-roll-copy span,.dnd-roll-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dnd-roll-copy span{color:#4c1d95b8;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:1.4px}.dnd-roll-copy strong{color:#111827;font-size:2rem;line-height:1;font-weight:950}.dnd-roll-copy small{color:#1f29379e;font-size:.78rem;font-weight:800}.roll-btn{flex:0 0 auto;min-width:48px;border:0;border-radius:12px;padding:11px 12px;background:var(--accent-gradient);color:#fff;font-weight:900;cursor:pointer;transition:transform var(--motion-fast) var(--ease-spring),filter var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.roll-btn:hover{transform:translateY(-2px) scale(1.04);filter:brightness(1.08);box-shadow:0 8px 20px #9d4ede47}.roll-btn:active{transform:scale(.96)}.dice-mod-control{flex:0 0 auto;display:inline-flex;align-items:center;height:42px;border:1px solid rgba(75,85,99,.18);border-radius:12px;background:#ffffffd1;overflow:hidden}.dice-mod-step{width:34px;height:100%;border:0;background:#7c3aed14;color:#4c1d95;font-size:1rem;font-weight:950;cursor:pointer;transition:background var(--motion-fast) ease,transform var(--motion-fast) var(--ease-spring)}.dice-mod-step:hover{background:#7c3aed29}.dice-mod-step:active{transform:scale(.92)}#rollMod{width:44px;flex:0 0 auto;border:0;border-left:1px solid rgba(75,85,99,.12);border-right:1px solid rgba(75,85,99,.12);background:transparent;color:#111827;padding:10px 4px;text-align:center;font-weight:950}#diceFormula{width:92px;flex:0 0 auto;border:1px solid rgba(75,85,99,.18);border-radius:12px;background:#ffffffd1;color:#111827;padding:10px;font-weight:900}#rollMode{width:118px;flex:0 0 auto;border:1px solid rgba(75,85,99,.18);border-radius:12px;background:#ffffffd1;color:#111827;padding:10px;font-weight:900}.dnd-chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.dnd-chat-message{border:1px solid var(--glass-border);border-radius:14px;background:#ffffff0a;padding:12px;animation:chatPop var(--motion-med) var(--ease-out) both}.dnd-chat-message.roll{border-color:#c77dff80;background:#9d4ede1f}.dnd-chat-message.ai{border-color:#00ffa347;background:radial-gradient(circle at 8% 0%,rgba(0,255,163,.11),transparent 34%),#ffffff0b}.dnd-chat-message.ai strong{color:#00ffa3;background:#00ffa31a}.dnd-chat-message strong{display:inline-flex;align-items:center;max-width:100%;color:var(--amethyst-light);font-size:.76rem;text-transform:none;letter-spacing:.02em;margin-bottom:7px;padding:4px 8px;border-radius:999px;background:#9d4ede1f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dnd-chat-message p{margin:0;font-size:.86rem;line-height:1.45}.dnd-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px;border-top:1px solid var(--glass-border)}.game-setup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05010a;z-index:11000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;animation:fadeInUp .6s ease-out forwards}.game-setup-logo{width:100px;margin-bottom:30px;filter:drop-shadow(0 0 15px var(--amethyst-bright))}.game-setup-subtitle{opacity:.6;text-align:center;font-size:12px;margin-bottom:30px;letter-spacing:2px}.game-setup-card{background:var(--glass-surface);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid var(--glass-border);border-radius:24px;padding:28px 20px;width:100%;max-width:300px;margin-bottom:20px}.game-mode-toggle{display:flex;gap:8px;background:#0000004d;padding:5px;border-radius:12px;margin-bottom:20px}.game-mode-btn{flex:1;padding:12px;border-radius:8px;border:none;background:transparent;color:#fff;font-weight:600;font-size:13px;cursor:pointer;transition:transform var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.game-mode-btn:hover{transform:translateY(-1px);background:#ffffff14}.game-mode-btn.active{background:var(--amethyst-bright);box-shadow:0 4px 15px #9d4edd66}.game-difficulty-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px}.game-difficulty-btn{padding:10px;border-radius:8px;background:#ffffff0d;border:1px solid var(--glass-border);color:#fff;font-size:10px;cursor:pointer;font-weight:800;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease}.game-difficulty-btn:hover{transform:translateY(-1px);border-color:#c77dff75}.game-difficulty-btn.active{background:#9d4edd33;border-color:var(--amethyst-bright)}.game-start-btn{width:100%;margin-top:10px!important}.game-master-wrapper{width:100%;height:100dvh;display:flex;flex-direction:column;justify-content:space-between;align-items:center;position:relative;overflow:hidden;padding:env(safe-area-inset-top,20px) 15px env(safe-area-inset-bottom,20px) 15px;background:radial-gradient(circle at 50% 50%,#1a0b2e,#05010a);animation:fadeInUp .6s cubic-bezier(.2,.8,.2,1) forwards}#start-screen.game-master-wrapper{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;z-index:10000!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;margin:0!important;padding:max(22px,env(safe-area-inset-top)) clamp(18px,4vw,42px) max(26px,env(safe-area-inset-bottom))!important;justify-content:center!important;align-items:center!important;overflow:hidden auto!important;background:radial-gradient(circle at 50% 42%,rgba(157,78,221,.2),transparent 34%),radial-gradient(circle at 50% 50%,#15102a,#05010a 72%)!important;border:0!important;box-shadow:none!important;box-sizing:border-box;animation:fadeInUp .45s var(--ease-out) forwards;scrollbar-width:none}#start-screen.game-master-wrapper::-webkit-scrollbar{width:0;height:0}#start-screen .pulse-logo{width:clamp(72px,12vmin,100px)!important;margin-bottom:clamp(18px,4vmin,25px)!important}#start-screen .main-title{max-width:min(92vw,720px);font-size:clamp(2.35rem,8vw,3.5rem)!important;line-height:1;text-align:center;text-wrap:balance}#start-screen>p{margin-bottom:clamp(22px,4vmin,30px)!important;text-align:center}#start-screen #levels-container{width:min(100%,320px)!important;max-width:min(320px,calc(100vw - 48px))!important;max-height:min(250px,36dvh)!important;padding:8px!important;margin-bottom:clamp(16px,3vmin,20px)!important}.game-master-header{width:100%;display:flex;justify-content:space-between;align-items:center;z-index:1000;height:50px;gap:10px}.game-score-widget{margin-left:auto;margin-right:clamp(66px,7vw,92px);display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;max-width:min(520px,calc(100vw - 170px));padding:6px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#05020a94;box-shadow:0 10px 28px #00000047;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.game-score-widget span{min-height:28px;display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:5px 10px;border-radius:999px;background:#ffffff0e;border:1px solid rgba(255,255,255,.07);font-size:.74rem;font-weight:900;white-space:nowrap;line-height:1}.game-level-button{letter-spacing:.2px}.game-level-button.active{outline:0}.game-level-button:focus-visible{outline:2px solid rgba(199,125,255,.72);outline-offset:3px}.game-title-small{font-weight:900;font-size:14px;color:var(--text-secondary)}.game-turn-indicator{background:var(--glass-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);padding:8px 16px;border-radius:50px;font-size:12px;font-weight:800;flex:1;text-align:center}.game-turn-indicator.white-turn{background:#00ffa326;border-color:#00ffa3;color:#00ffa3}.game-turn-indicator.black-turn{background:#ff416c26;border-color:#ff416c;color:#ff416c}.game-exit-btn{padding:8px 16px!important;font-size:12px!important;margin:0!important;width:auto!important}.game-board-container{flex:1;display:flex;align-items:center;justify-content:center;width:100%}.game-chess-board{display:grid;grid-template-columns:repeat(8,1fr);width:90vw;max-width:380px;height:90vw;max-height:380px;border:2px solid var(--glass-border);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #00000080}.game-chess-stage{width:min(94vw,620px);display:grid;gap:14px;justify-items:center;margin:auto 0}.game-chess-stage .game-chess-board{width:min(88vw,520px);height:min(88vw,520px);max-width:520px;max-height:520px;border:3px solid rgba(255,255,255,.16);border-radius:14px;box-shadow:0 22px 55px #0000007a,0 0 34px #9d4edd1f}.game-chess-topbar{width:min(94vw,520px);display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;z-index:4}.game-chess-meta{width:min(94vw,520px);display:flex;align-items:center;justify-content:space-between;gap:10px;color:#ffffffb3;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:1px}.game-chess-status{min-height:18px;color:#ffffffbd;text-align:right;letter-spacing:0;text-transform:none}.game-chess-square{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:28px;cursor:pointer;position:relative;border:0;padding:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:transform var(--motion-fast) ease,filter var(--motion-fast) ease,box-shadow var(--motion-fast) ease,background var(--motion-fast) ease}.game-chess-square:hover{filter:brightness(1.08)}.game-chess-square.light{background:#e8d8bd}.game-chess-square.dark{background:#7c4f33}.game-chess-square.selected{box-shadow:inset 0 0 0 4px #c77dffeb,inset 0 0 22px #9d4edd61}.game-chess-square.legal:after{content:"";width:28%;height:28%;border-radius:999px;background:#00ffa36b;box-shadow:0 0 14px #00ffa357;position:absolute}.game-chess-square.capture:after{content:"";width:76%;height:76%;border-radius:999px;border:3px solid rgba(255,65,108,.72);box-shadow:0 0 14px #ff416c47;position:absolute}.game-chess-square.last{box-shadow:inset 0 0 0 999px #ffbd3938}.game-chess-square.in-check{box-shadow:inset 0 0 0 999px #ff416c57,inset 0 0 18px #ff416c9e}.game-chess-piece{-webkit-user-select:none;user-select:none;pointer-events:none;color:inherit;display:grid;place-items:center;width:100%;height:100%;line-height:1;font-size:clamp(1.8rem,6.6vw,3rem);filter:drop-shadow(0 3px 5px rgba(0,0,0,.32))}.game-chess-coord{position:absolute;left:4px;bottom:3px;color:#00000075;font-size:.56rem;font-weight:900;pointer-events:none}.game-card-unit{width:clamp(70px,15vw,95px);height:clamp(100px,22vw,135px);background:var(--card-dark-bg)!important;border:1px solid var(--card-dark-border)!important;border-radius:12px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:8px;box-sizing:border-box;box-shadow:var(--card-dark-shadow);transition:transform var(--motion-med) var(--ease-spring),border-color var(--motion-fast) ease,box-shadow var(--motion-med) ease,filter var(--motion-fast) ease;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;color:#fff;font-weight:900;font-size:1.4rem}.game-card-unit.back{background:linear-gradient(135deg,#1a1a1a,#050505)!important;border:2px solid var(--amethyst-bright)!important;color:transparent!important}.game-card-unit:active{transform:translateY(-8px) scale(1.05);box-shadow:0 0 20px #9d4edd66!important;border-color:var(--amethyst-bright)!important}.game-card-unit:hover{transform:translateY(-6px) rotate(-1deg);border-color:#c77dffb3!important;box-shadow:0 18px 32px #0000008c,0 0 18px #9d4edd2e!important}.solo-card-symbol{display:grid;place-items:center;min-height:52px;font-size:2.4rem;line-height:1}.solo-card-draw-number{border-width:2px!important;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.14),transparent 54%),var(--card-dark-bg)!important}.solo-card-draw-label{display:block;font-size:2.35rem;font-weight:1000;line-height:1;text-align:center;letter-spacing:0;text-shadow:0 0 12px currentColor}.flying-card{position:fixed;z-index:9999;pointer-events:none!important}.game-player-area{width:100%;display:flex;flex-direction:column;align-items:center;background:#0000004d;padding:15px;border-radius:24px 24px 0 0;z-index:10;overflow:visible}.game-action-buttons{display:flex;gap:10px;margin-bottom:10px}.game-player-hand{display:flex;gap:10px;padding:26px max(18px,env(safe-area-inset-left)) 30px max(18px,env(safe-area-inset-right));overflow-x:auto;overflow-y:visible;width:100%;justify-content:center;box-sizing:border-box;min-height:162px;scroll-padding-inline:28px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.game-btn-action{background:var(--glass-surface);border:1px solid var(--glass-border);color:#fff;padding:10px 20px;border-radius:16px;font-weight:800;text-transform:uppercase;font-size:12px;cursor:pointer;transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.game-btn-action:hover{transform:translateY(-2px);border-color:#c77dff75;background:#9d4ede1f}.game-btn-action:active{transform:scale(.95);border-color:var(--amethyst-bright);background:var(--amethyst-glow)}.game-opponents-row{display:flex;justify-content:space-evenly;width:100%;padding:10px 0;box-sizing:border-box}.game-bot-pill{background:var(--glass-surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:20px;padding:10px 20px;text-align:center;transition:transform var(--motion-med) var(--ease-out),border-color var(--motion-fast) ease,background var(--motion-fast) ease,box-shadow var(--motion-med) ease;min-width:80px;box-shadow:0 4px 15px #0000004d;font-size:11px}.game-bot-pill.active{border-color:var(--amethyst-bright);background:#9d4edd26;transform:translateY(-5px);box-shadow:0 10px 20px #9d4edd4d}.game-bot-count{font-weight:900;color:var(--amethyst-bright);font-size:16px}.solo-game-wrapper{gap:12px}.solo-opponents-row{flex:0 0 auto;gap:14px;max-width:760px;margin-top:4px}.solo-table{flex:1 1 auto;min-height:0;gap:8px}.solo-table #status-log{position:static!important;top:auto!important;margin-bottom:2px;line-height:1.1}.solo-player-area{flex:0 0 auto;width:100%;overflow:visible}.solo-player-hand{min-height:190px;height:auto;align-items:flex-end;overflow:hidden;padding-top:36px;padding-bottom:26px}.game-master-table{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;width:100%}.game-stack-indicator{color:var(--danger);font-weight:900;height:24px;margin-bottom:15px;text-shadow:0 0 10px rgba(255,65,108,.5)}.game-card-center{display:flex;gap:30px;align-items:center;margin-bottom:20px}.game-color-line{width:100px;height:6px;border-radius:10px;transition:background var(--motion-med) ease,box-shadow var(--motion-med) ease,width var(--motion-med) ease;box-shadow:0 0 20px #9d4edd80}.game-color-picker{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#05020a52;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);z-index:10000;place-items:center;padding:18px;box-sizing:border-box}.game-color-picker-panel{width:min(440px,calc(100vw - 32px));border:1px solid rgba(255,255,255,.16);border-radius:24px;background:#05020ab8;box-shadow:0 18px 48px #0000006b;padding:18px;display:grid;gap:14px}.game-color-picker-panel>span{color:#ffffffd1;font-size:.76rem;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:2px}.game-color-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.game-color-tile{height:clamp(92px,20dvh,140px);border-radius:20px;cursor:pointer;border:3px solid rgba(255,255,255,.1);transition:transform var(--motion-fast) ease,border-color var(--motion-fast) ease,filter var(--motion-fast) ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}.game-color-tile:hover{transform:translateY(-3px) scale(1.02);border-color:#ffffff47;filter:brightness(1.05)}.game-color-tile:active{transform:scale(.9)}.burraco-playfield{flex:1 1 auto;width:min(100%,760px);min-height:0;display:grid;grid-template-rows:minmax(128px,1fr) minmax(128px,1fr);gap:14px;padding:12px 0;box-sizing:border-box}.burraco-meld-zone{min-height:128px;background:#ffffff09;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:24px 14px 14px;position:relative;display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 0 34px #00000047;-webkit-overflow-scrolling:touch}.burraco-draw-zone{width:min(100%,760px);display:flex;justify-content:center;align-items:center;gap:clamp(28px,8vw,64px);padding:14px;box-sizing:border-box;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:#00000038}.burraco-player-zone{width:min(100%,760px);display:grid;gap:8px;justify-items:center;overflow:visible}.burraco-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(100%,520px);padding:0 12px;box-sizing:border-box}@media (max-width: 768px){:root{--manual-modal-top: calc(max(18px, var(--safe-top)) + 10px) ;--manual-modal-right: max(8px, var(--safe-right));--manual-modal-bottom: calc(max(14px, var(--safe-bottom)) + 10px) ;--manual-modal-left: max(8px, var(--safe-left))}.main-title{font-size:clamp(1.7rem,8vw,2.2rem)!important;line-height:1.08}.game-card,.action-card{padding:18px 10px;gap:8px}.minigames-lobby-wrapper{width:100%;padding:calc(14px + var(--safe-top)) 14px calc(132px + var(--safe-bottom))}.minigame-multiplayer-panel{margin-bottom:18px;padding:14px;border-radius:18px}.minigame-multiplayer-join{gap:8px}.minigame-multiplayer-join input,.minigame-multiplayer-join button,.minigame-multiplayer-main{min-height:42px;border-radius:13px}.minigame-multiplayer-code{min-height:58px}.minigame-multiplayer-code strong{font-size:1.35rem}.grid-layout{gap:12px}.game-master-wrapper{padding:env(safe-area-inset-top,15px) 12px env(safe-area-inset-bottom,15px) 12px}.game-master-wrapper.fade-in:not(#start-screen){position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:var(--visual-viewport-height);min-height:var(--viewport-stable-height);padding:calc(8px + var(--safe-top)) 10px calc(10px + var(--safe-bottom)) 10px;box-sizing:border-box;border:0;overflow:hidden}#start-screen.game-master-wrapper{padding:max(18px,var(--safe-top)) 18px max(22px,var(--safe-bottom))!important}#start-screen .main-title{font-size:clamp(2.35rem,14vw,3.15rem)!important}#start-screen #levels-container{max-height:min(280px,34dvh)!important}.game-card-unit{width:clamp(54px,18vw,76px);height:clamp(80px,26vw,112px);min-width:clamp(54px,18vw,76px);border-radius:10px;padding:6px;font-size:1.05rem}.game-master-header{height:auto;min-height:48px;align-items:flex-start;flex:0 0 auto;gap:8px}.game-master-header .game-btn-action,.game-master-header .btn-back-glass{min-height:38px;padding:8px 13px!important;border-radius:14px;font-size:.68rem}.game-score-widget{margin-right:50px;max-width:calc(100vw - 148px);gap:4px;padding:4px;overflow-x:auto;scrollbar-width:none}.game-score-widget::-webkit-scrollbar{display:none}.game-score-widget span{min-height:26px;padding:5px 7px;font-size:.64rem}.game-master-table{flex:1 1 auto;min-height:0;width:100%;padding:4px 0}.game-card-center{gap:18px;margin-bottom:12px}.game-opponents-row{flex:0 0 auto;justify-content:flex-start;gap:8px;width:100%;padding:6px 0;overflow-x:auto;scrollbar-width:none}.game-opponents-row::-webkit-scrollbar{display:none}.game-bot-pill{min-width:72px;padding:8px 12px;border-radius:16px;font-size:.64rem}.game-action-buttons{width:100%;justify-content:center;flex-wrap:wrap;gap:8px}@media (max-height: 680px){#start-screen .pulse-logo{width:60px!important;margin-bottom:12px!important}#start-screen .main-title{font-size:clamp(2rem,12vw,2.7rem)!important;margin-bottom:8px!important}#start-screen>p{margin-bottom:14px!important}#start-screen #levels-container{max-height:30dvh!important;margin-bottom:12px!important}}.game-player-area{padding:8px 0 0;border-radius:18px 18px 0 0;max-height:34dvh;min-height:118px;overflow:visible}.game-player-hand{justify-content:flex-start;min-height:clamp(118px,30dvh,160px);padding:24px 12px calc(16px + env(safe-area-inset-bottom));gap:8px;overflow-x:auto;overflow-y:visible;scrollbar-width:none}.game-player-hand::-webkit-scrollbar{display:none}.solo-game-wrapper{gap:8px}.solo-opponents-row{justify-content:space-between}.solo-player-hand{overflow-x:auto;overflow-y:visible;min-height:clamp(126px,31dvh,168px)}.game-chess-board{width:85vw;height:85vw}.game-chess-stage{width:100%;gap:10px;margin:6px 0 auto}.game-chess-topbar,.game-chess-meta{width:min(100%,420px)}.game-chess-meta{align-items:flex-start;flex-direction:column}.game-chess-status{text-align:left}.burraco-playfield{width:100%;grid-template-rows:minmax(104px,1fr) minmax(104px,1fr);gap:10px;padding:8px 0}.burraco-meld-zone{min-height:104px;border-radius:14px;padding:22px 10px 10px}.burraco-draw-zone{width:100%;padding:10px;gap:28px}.burraco-player-zone{width:100%}.burraco-actions{gap:8px;padding:0 8px}.solo-game-wrapper{justify-content:flex-start;gap:clamp(8px,1.35dvh,13px);padding:env(safe-area-inset-top,12px) 10px env(safe-area-inset-bottom,12px) 10px}.solo-game-wrapper .solo-game-header{min-height:44px;height:auto;align-items:center;gap:8px}.solo-game-wrapper #btn-exit-ingame{flex:0 0 auto;padding:9px 13px!important;border-radius:16px;font-size:.72rem}.solo-game-wrapper #turn-indicator{min-width:0;padding:10px 12px;font-size:.72rem!important;letter-spacing:0}.solo-game-wrapper .solo-opponents-row{width:100%;max-width:100%;margin-top:0;padding:2px 0;justify-content:center;gap:8px}.solo-game-wrapper .game-bot-pill{flex:1 1 0;min-width:0;max-width:112px;padding:8px 5px;border-radius:17px}.solo-game-wrapper .game-bot-count{font-size:1rem}.solo-game-wrapper .solo-table{flex:0 0 auto;width:100%;justify-content:flex-start;padding:0;gap:5px}.solo-game-wrapper #status-log{margin:-2px 0 1px;font-size:.66rem!important;opacity:.72!important}.solo-game-wrapper .game-card-center{gap:18px;margin-bottom:8px}.solo-game-wrapper .game-card-unit{width:clamp(52px,14.8vw,58px);height:clamp(78px,22vw,88px);border-radius:10px;padding:6px;font-size:1.08rem}.solo-game-wrapper #discard-pile .game-card-unit{transform:scale(1.04)!important}.solo-game-wrapper .solo-card-symbol{min-height:34px;font-size:1.75rem}.solo-game-wrapper .solo-card-draw-label{font-size:1.78rem}.solo-game-wrapper .game-color-line{width:96px;height:5px}.solo-game-wrapper .solo-player-area{min-height:116px;margin-top:clamp(8px,1.8dvh,16px);padding:0 0 calc(8px + env(safe-area-inset-bottom)) 0!important;border-radius:18px 18px 0 0;background:linear-gradient(180deg,#0b04141f,#0b041494)!important}.solo-game-wrapper .game-action-buttons{margin-bottom:0;justify-content:center;flex-wrap:wrap}.solo-game-wrapper .solo-player-hand{min-height:118px;justify-content:center;align-items:flex-end;gap:8px;overflow:hidden;padding:22px 3px 16px 5px!important;scrollbar-width:none}.solo-game-wrapper .solo-player-hand::-webkit-scrollbar{display:none}.solo-game-wrapper .solo-player-hand .game-card-unit{flex:0 0 auto}.sidebar-glass{right:-110%;width:min(86vw,320px);overflow-y:auto;-webkit-overflow-scrolling:touch}body.dnd-session-active .floating-trigger{right:14px;bottom:calc(86px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:18px}body.dnd-session-chat-open .floating-trigger{left:14px;right:auto}.settings-profile-preview,.music-playlist-head{align-items:stretch;flex-direction:column}.music-actions{grid-template-columns:1fr}.dnd-hero{min-height:220px;padding:24px}.dnd-grid,.dnd-manual-layout,.dnd-two-col{grid-template-columns:1fr}.dnd-manual-list{position:static;max-height:none;grid-template-columns:1fr}.dnd-manual-viewer{min-height:0}.dnd-manual-toolbar{padding:12px;gap:12px}.dnd-manual-title,.dnd-manual-controls{flex-basis:100%}.dnd-manual-controls{justify-content:flex-start;gap:8px}.dnd-manual-controls label{width:100%;justify-content:space-between}.dnd-manual-controls input{width:104px}.dnd-manual-toolbar a,.dnd-manual-controls button{flex:1 1 132px}.dnd-manual-page-strip{padding:10px 12px}.dnd-manual-reader{height:clamp(220px,calc(var(--visual-viewport-height) - 310px),54dvh);min-height:0;max-height:max(240px,calc(var(--visual-viewport-height) - 250px));padding:16px 18px;gap:16px}.dnd-manual-page{border-radius:14px;padding:10px;flex-basis:min(78vw,330px);transform:rotateY(-5deg)}.dnd-manual-preview{min-height:300px}.dnd-manual-card-head{align-items:flex-start;flex-direction:column;gap:5px}.dnd-manual-open-badge{font-size:.64rem}.dnd-manual-modal{top:var(--visual-viewport-top);bottom:auto;min-height:var(--visual-viewport-height);height:var(--visual-viewport-height);padding:var(--manual-modal-top) var(--manual-modal-right) var(--manual-modal-bottom) var(--manual-modal-left)}.dnd-manual-modal-panel{height:calc(var(--visual-viewport-height) - var(--manual-modal-top) - var(--manual-modal-bottom));max-height:calc(var(--visual-viewport-height) - var(--manual-modal-top) - var(--manual-modal-bottom));border-radius:18px 18px 16px 16px}.dnd-manual-modal-panel header{align-items:flex-start;flex-direction:column;flex:0 0 auto;padding:10px}.dnd-manual-modal-panel iframe{min-height:220px}.dnd-manual-modal-panel header div{width:100%}.dnd-manual-modal-panel a,.dnd-manual-modal-panel button{flex:1 1 120px}@media (max-width: 380px){:root{--manual-modal-top: calc(max(14px, var(--safe-top)) + 8px) ;--manual-modal-right: max(6px, var(--safe-right));--manual-modal-bottom: calc(max(10px, var(--safe-bottom)) + 8px) ;--manual-modal-left: max(6px, var(--safe-left))}.dnd-manual-modal-panel{border-radius:15px}.dnd-manual-modal-panel header{gap:8px;padding:8px}.dnd-manual-modal-panel header strong{font-size:.78rem}.dnd-manual-modal-panel a,.dnd-manual-modal-panel button{min-height:34px;padding:7px 9px;font-size:.62rem}}@media (max-height: 620px){:root{--manual-modal-top: calc(max(10px, var(--safe-top)) + 6px) ;--manual-modal-bottom: calc(max(8px, var(--safe-bottom)) + 6px) }.dnd-manual-reader{height:clamp(190px,calc(var(--visual-viewport-height) - 260px),50dvh)}.dnd-manual-modal-panel header{flex-direction:row;align-items:center;gap:8px}.dnd-manual-modal-panel header strong{flex:1 1 auto;min-width:0;font-size:.76rem}.dnd-manual-modal-panel header div{width:auto;flex:0 0 auto}.dnd-manual-modal-panel a,.dnd-manual-modal-panel button{min-height:34px;padding:7px 10px}.dnd-manual-modal-panel iframe{min-height:180px}}.dnd-sheet-grid{grid-template-columns:1fr 1fr}.dnd-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dnd-section-actions,.dnd-list-card{align-items:stretch;flex-direction:column}.dnd-session{display:block}.dnd-session-panel{width:min(92vw,380px)}.dnd-left-panel{padding:14px;gap:12px}.dnd-chat-panel{width:min(92vw,360px)}.dnd-session-panel header{padding-bottom:10px}.dnd-session-block{gap:8px}.initiative-form{grid-template-columns:1fr 64px}.dnd-table-topbar{align-items:stretch;flex-wrap:wrap;top:calc(10px + env(safe-area-inset-top));left:10px;right:10px;gap:8px}.dnd-table-topbar strong{display:none}.dnd-session-primary-controls{width:100%;justify-content:flex-start}.map-control-row{width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.dnd-session-hud{top:118px;max-width:calc(100% - 24px);padding:9px 12px}.dnd-session-hud strong{font-size:.82rem}.dnd-roll-display{left:12px;right:12px;bottom:calc(154px + env(safe-area-inset-bottom));min-width:0;max-width:none;padding:10px 12px;border-radius:18px;transform-origin:center bottom}.dnd-roll-cube{flex-basis:58px;width:58px;height:58px;border-radius:15px;font-size:1.35rem}.dnd-roll-copy strong{font-size:1.6rem}.dnd-dice-bar{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));transform:none;max-width:none;border-radius:16px;padding:8px}.roll-btn{min-width:44px;padding:10px 11px}#diceFormula{width:84px}.token-form-grid,.token-inspector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.token-inspector-damage{grid-template-columns:68px 1fr 1fr}}@media (max-width: 430px){.minigames-lobby-wrapper{padding-left:12px;padding-right:12px}.minigame-multiplayer-join{grid-template-columns:1fr}.minigame-multiplayer-join button{width:100%}}@media (max-width: 380px){#app{padding-left:14px;padding-right:14px}.grid-layout{grid-template-columns:1fr}.floating-trigger{width:56px;height:56px;right:14px;bottom:calc(18px + env(safe-area-inset-bottom))}.nav-logo-right{right:14px;width:40px;height:40px}.dnd-sheet-grid,.dnd-stat-grid{grid-template-columns:1fr}}@media (min-width: 769px){.sidebar-glass{width:350px}}.fade-out{opacity:0;pointer-events:none;transition:.5s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@media (max-width: 760px){.taverna-home{padding:max(14px,env(safe-area-inset-top)) 14px calc(106px + env(safe-area-inset-bottom))}.taverna-home-header{min-height:54px;margin-bottom:10px}.taverna-home-header img{display:none}.taverna-home-header h1{font-size:clamp(1.5rem,8vw,2rem)}.taverna-scene-stage{display:grid;grid-template-columns:1fr;gap:10px;height:auto;overflow:visible;border:0;border-radius:0;perspective:none;box-shadow:none}.taverna-scene{width:100%;min-height:clamp(224px,32svh,286px);border:1px solid rgba(220,181,118,.24);border-radius:8px;scroll-snap-align:center;transform:translateY(20px) scale(.985)}.taverna-scene:last-child{border-right:1px solid rgba(220,181,118,.24)}.taverna-scene.is-in-view{transform:translateY(0) scale(1)}.taverna-scene:hover,.taverna-scene:focus-visible,.taverna-scene.is-opening{transform:scale(.985)}.taverna-scene-stage:has(.taverna-scene:hover) .taverna-scene:not(:hover),.taverna-scene-stage:has(.taverna-scene:focus-visible) .taverna-scene:not(:focus-visible){filter:none}.taverna-scene img,.taverna-scene:hover img,.taverna-scene:focus-visible img{transform:scale(1.04)}.scene-cards img{object-position:38% 52%}.scene-party img{object-position:50% 50%}.scene-gdr img{object-position:64% 50%}.taverna-scene-title{bottom:24px;font-size:clamp(1.7rem,9vw,2.35rem)}.taverna-home-dock,.taverna-home-dock:has(.is-resume){grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.taverna-home-dock .is-resume{grid-column:1 / -1}.taverna-home-dock button{min-height:58px;padding:9px 8px;font-size:.68rem}body:has(.taverna-home) .floating-trigger{top:calc(17px + env(safe-area-inset-top));right:12px;bottom:auto;width:48px;height:48px;border-radius:8px}}@media (max-width: 350px){.taverna-home{padding-inline:10px}#app:has(.taverna-home){padding-inline:0}.taverna-scene{min-height:210px}.taverna-scene-title{font-size:1.55rem}}@media (max-width: 900px) and (orientation: landscape){.taverna-scene-stage{display:flex;height:min(66dvh,440px)}.taverna-scene{min-height:0}.taverna-home-dock,.taverna-home-dock:has(.is-resume){grid-template-columns:repeat(5,minmax(0,1fr))}.taverna-home-dock .is-resume{grid-column:auto}}
