@import url(https://fonts.googleapis.com/css2?family=Uncial+Antiqua&family=Cinzel:wght@400;600&family=Macondo&family=Pirata+One&family=Nosifer&family=MedievalSharp&family=Celtic+Hand&family=Creepster&display=swap);@import url(https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Source+Sans+Pro:wght@400;600&display=swap);.theme-toggle{font-family:var(--font-body)}.theme-toggle button,.theme-toggle__button,.theme-toggle__trigger{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:6px;padding:8px 12px;transition:all var(--transition-fast)}.theme-toggle__button:hover,.theme-toggle__trigger:hover{background-color:var(--color-primary);box-shadow:var(--shadow-button);color:#fff;transform:translateY(-1px)}.theme-toggle--simple button{border-radius:50%;height:40px;justify-content:center;padding:0;width:40px}.theme-toggle--simple.theme-toggle--small button{font-size:12px;height:32px;width:32px}.theme-toggle--simple.theme-toggle--large button{font-size:18px;height:48px;width:48px}.theme-toggle--buttons{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--border-radius) + 4px);box-shadow:var(--shadow-card);display:flex;gap:4px;padding:4px}.theme-toggle--buttons .theme-toggle__button{background-color:transparent;border:none;border-radius:var(--border-radius);padding:6px 10px;transition:all var(--transition-fast)}.theme-toggle--buttons .theme-toggle__button.active{background-color:var(--color-primary);box-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff}.theme-toggle--buttons .theme-toggle__button:hover:not(.active){background-color:var(--color-neutral);transform:none}.theme-toggle--dropdown{position:relative}.theme-toggle__trigger{justify-content:space-between;min-width:100px}.theme-toggle__arrow{font-size:10px;opacity:.7;transition:transform var(--transition-fast)}.theme-toggle__trigger[aria-expanded=true] .theme-toggle__arrow{transform:rotate(180deg)}.theme-toggle__backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:998}.theme-toggle__dropdown{animation:dropdownAppear .2s ease;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.15);left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:999}.theme-toggle__option{align-items:center;background-color:transparent;border:none;color:var(--color-text);cursor:pointer;display:flex;font-family:inherit;font-size:14px;gap:8px;padding:10px 12px;transition:background-color var(--transition-fast);width:100%}.theme-toggle__option:hover{background-color:var(--color-neutral)}.theme-toggle__option.active{background-color:var(--color-primary);color:#fff}.theme-toggle__check{font-size:12px;margin-left:auto}.theme-toggle__icon{align-items:center;display:flex;font-size:16px;justify-content:center;line-height:1}.theme-toggle__label{font-weight:500;white-space:nowrap}.theme-toggle--small{font-size:12px}.theme-toggle--small .theme-toggle__button,.theme-toggle--small .theme-toggle__trigger{font-size:12px;padding:6px 8px}.theme-toggle--small .theme-toggle__icon{font-size:14px}.theme-toggle--large{font-size:16px}.theme-toggle--large .theme-toggle__button,.theme-toggle--large .theme-toggle__trigger{font-size:16px;padding:10px 16px}.theme-toggle--large .theme-toggle__icon{font-size:18px}@keyframes dropdownAppear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.theme-toggle__button:focus,.theme-toggle__option:focus,.theme-toggle__trigger:focus{outline:2px solid var(--color-primary);outline-offset:2px}.theme-dark .theme-toggle__dropdown{box-shadow:0 4px 12px rgba(0,0,0,.4)}@media (max-width:480px){.theme-toggle--dropdown .theme-toggle__trigger{min-width:80px}.theme-toggle--buttons{flex-direction:column;width:100%}.theme-toggle--buttons .theme-toggle__button{justify-content:flex-start}}@media (prefers-contrast:high){.theme-toggle__button,.theme-toggle__trigger{border-width:2px}.theme-toggle__button:hover,.theme-toggle__trigger:hover{border-color:var(--color-primary)}}.loading-screen{background:linear-gradient(135deg,var(--color-primary) 30,var(--color-secondary) 20);color:var(--color-dark);font-family:var(--font-body)}.loading-spinner{border:6px solid rgba(var(--color-primary-rgb),.1);height:60px;width:60px}.loading-message{animation:pulse 1.5s ease-in-out infinite;color:var(--color-primary);font-size:1.2rem;max-width:80%}@media (max-width:768px){.loading-spinner{border-width:5px;height:50px;width:50px}.loading-message{font-size:1rem}}.error-boundary{background:linear-gradient(135deg,var(--color-neutral),var(--color-border));font-family:var(--font-body);padding:20px}.error-container{background-color:var(--color-surface);border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.2);max-width:600px;padding:30px;text-align:center;width:100%}.error-title{color:var(--color-danger);font-family:var(--font-heading);font-size:1.8rem;margin-bottom:20px}.error-message{color:var(--color-text-muted);font-size:1.1rem;line-height:1.5;margin-bottom:30px}.error-actions{margin:30px 0}.error-reset-button{background-color:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:12px 25px;transition:all .2s ease}.error-reset-button:hover{background-color:var(--color-secondary);box-shadow:0 5px 15px rgba(0,0,0,.1);transform:translateY(-2px)}.error-details{border-top:1px solid #eee;margin-top:30px;padding-top:20px;text-align:left}.error-details summary{color:var(--color-secondary);cursor:pointer;font-weight:700;margin-bottom:10px}.error-details pre{background-color:var(--color-neutral);border-radius:6px;color:var(--color-text-muted);font-size:.9rem;margin-top:10px;max-height:200px;overflow-x:auto;padding:15px}@media (max-width:768px){.error-container{padding:20px}.error-title{font-size:1.5rem}.error-message{font-size:1rem}.error-reset-button{font-size:.9rem;padding:10px 20px}}.rune-button{animation:glowPulse 6s ease-in-out infinite;background:#1c1c1c;border:2px solid #392244;border-radius:12px;box-shadow:inset 0 0 5px #000,0 2px 5px #000,0 0 15px #8f5df4;color:#8f5df4;cursor:pointer;font-family:Cinzel,serif;font-size:1.3rem;letter-spacing:.05em;min-width:150px;overflow:hidden;padding:.8em 2em;position:relative;text-align:center;text-shadow:0 0 6px #8f5df4,0 0 12px #8f5df4aa;transition:transform .2s ease-in-out,box-shadow .2s ease;z-index:1}.rune-button>*{position:relative;z-index:2}.rune-button:hover{box-shadow:inset 0 0 8px #000,0 4px 12px currentColor,0 0 25px currentColor;transform:scale(1.05)}.rune-button:active{box-shadow:inset 0 0 10px #000,0 2px 4px #000;transform:scale(.97)}.rune-button.disabled,.rune-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.rune-button.disabled:hover,.rune-button:disabled:hover{box-shadow:inset 0 0 5px #000,0 2px 5px #000,0 0 15px #8f5df4;transform:none}.rune-button:before{background-image:url("data:image/svg+xml;utf8,<svg width='200' height='200' xmlns='http://www.w3.org/2000/svg'><filter id='noise'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23noise)' opacity='0.06'/></svg>");background-size:cover;border-radius:12px;z-index:0}.rune-button:after,.rune-button:before{content:"";inset:0;pointer-events:none;position:absolute}.rune-button:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 200 50%27><path d=%27M10 30 Q 25 10, 40 30 T 70 30 T 100 10 T 130 30 T 160 10 T 190 30%27 stroke=%27%23544%27 stroke-width=%272%27 fill=%27none%27/></svg>");background-position:50%;background-repeat:no-repeat;background-size:120%;opacity:.1;z-index:1}@keyframes glowPulse{0%,to{box-shadow:inset 0 0 5px #000,0 2px 5px #000,0 0 15px currentColor;text-shadow:0 0 6px currentColor,0 0 12px currentColor}50%{box-shadow:inset 0 0 8px #000,0 4px 10px currentColor,0 0 30px currentColor;text-shadow:0 0 10px currentColor,0 0 20px currentColor}}.rune-button,.rune-button--primary,.rune-button.purple{box-shadow:inset 0 0 5px #000,0 2px 5px #000,0 0 15px #8f5df4;color:#8f5df4;text-shadow:0 0 6px #8f5df4,0 0 12px #8f5df488}.rune-button--secondary,.rune-button.orange{box-shadow:inset 0 0 5px #000,0 2px 5px #000,0 0 15px #f4b71c;color:#f4b71c;text-shadow:0 0 6px #f4b71c,0 0 12px #f4b71c88}.rune-button--danger{box-shadow:inset 0 0 5px #000,0 2px 5px #000,0 0 15px #e84855;color:#e84855;text-shadow:0 0 6px #e84855,0 0 12px #e8485588}.rune-button--uncial{font-family:Uncial Antiqua,serif}.rune-button--cinzel{font-family:Cinzel,serif;font-weight:600}.rune-button--macondo{font-family:Macondo,cursive}.rune-button--pirata{font-family:Pirata One,cursive}.rune-button--nosifer{font-family:Nosifer,cursive;font-size:1.1rem}.rune-button--medieval{font-family:MedievalSharp,cursive}.rune-button--celtic{font-family:Celtic Hand,cursive}.rune-button--creepster{font-family:Creepster,cursive;font-size:1.1rem}.theme-light .rune-button{background:#2a2a2a;border-color:#5a4b6c}.theme-light .rune-button--secondary{background:#2a2a2a;border-color:#6b4419}.theme-light .rune-button--danger{background:#2a2a2a;border-color:#7a2832}.tutorial-overlay{align-items:center;animation:fadeIn .3s ease;background-color:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.tutorial-overlay.exiting{animation:fadeOut .3s ease forwards}.tutorial-modal{animation:scaleIn .3s ease;background-color:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-card);color:var(--color-text);display:flex;flex-direction:column;height:80vh;max-height:700px;max-width:600px;overflow:hidden;position:relative;width:90%}.tutorial-overlay.exiting .tutorial-modal{animation:scaleOut .3s ease forwards}.tutorial-title{border-bottom:1px solid var(--color-border);color:var(--color-primary);flex-shrink:0;font-family:var(--font-heading);font-size:2.13rem;margin:0;padding:20px 20px 15px;text-align:center}.tutorial-content{color:var(--color-text);flex:1 1;font-family:var(--font-body);font-size:1.33rem;line-height:1.5;overflow-y:auto;padding:20px}.tutorial-step-content{display:flex;flex-direction:column;height:100%}.tutorial-main-content{color:var(--color-text);font-size:1.4rem;margin:0 0 15px;text-align:center}.tutorial-highlights{background:var(--color-success-light);border-left:4px solid var(--color-accent);border-radius:8px;margin:15px 0;padding:15px}.tutorial-highlight{align-items:center;display:flex;margin:8px 0}.highlight-icon{font-size:1.46em;margin-right:8px}.highlight-text{color:var(--color-text);font-size:1.33rem;font-weight:500}.tutorial-steps{background:var(--color-neutral);border:1px solid var(--color-border);border-radius:8px;margin:15px 0;padding:15px;text-align:center}.tutorial-step-item{color:var(--color-text);font-size:1.33rem;font-weight:500;line-height:1.8;margin:8px 0}.tutorial-tips{background:var(--color-success-light);border-left:4px solid var(--color-accent);border-radius:8px;margin:15px 0;padding:15px}.tutorial-tips h4{color:var(--color-secondary);font-size:1.46rem;margin:0 0 10px}.tutorial-tips ul{margin:0;padding-left:18px}.tutorial-tips li{margin:6px 0}.tutorial-formula,.tutorial-tips li{color:var(--color-text);font-size:1.27rem}.tutorial-formula{background:var(--color-neutral);border:1px solid var(--color-border);border-radius:8px;font-family:monospace;font-weight:700;margin:15px 0;padding:12px;text-align:center}.tutorial-rules{margin:15px 0}.tutorial-rules h4{color:var(--color-secondary);font-size:1.46rem;margin:0 0 10px}.tutorial-rules ul{margin:0;padding-left:18px}.tutorial-rules li{color:var(--color-text);font-size:1.27rem;margin:6px 0}.tutorial-classes,.tutorial-races{display:flex;flex-direction:column;gap:10px;margin:15px 0}.tutorial-class-card,.tutorial-race-card{background:var(--color-light);border:2px solid var(--color-border);border-radius:8px;padding:12px;transition:all .3s ease}.tutorial-class-card:hover,.tutorial-race-card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.class-header,.race-header{align-items:center;display:flex;margin-bottom:6px}.class-emoji,.race-emoji{font-size:1.46em;margin-right:8px}.class-name,.race-name{color:var(--color-primary);font-weight:700;margin-right:8px}.class-type,.race-type{color:var(--color-secondary);font-size:1.13rem;font-weight:500}.class-desc,.race-ability{color:var(--color-text);font-size:1.2rem;line-height:1.3}.tutorial-strategy{background:var(--color-success-light);border-radius:8px;color:var(--color-text);font-size:1.27rem;margin-top:15px;padding:12px}.tutorial-tells{margin:15px 0}.warlock-tells{background:var(--color-danger-light);border-left:4px solid var(--color-danger);border-radius:8px;margin-bottom:15px;padding:15px}.warlock-tells h4{color:var(--color-danger);font-size:1.46rem;margin:0 0 10px}.warlock-tells ul{margin:0;padding-left:18px}.warlock-tells li{color:var(--color-text);font-size:1.27rem;margin:6px 0}.detection-methods h4{color:var(--color-secondary);font-size:1.46rem;margin:0 0 10px}.detection-method{align-items:flex-start;display:flex;gap:6px;margin:8px 0}.method-icon{font-size:1.33em}.method-name{color:var(--color-primary);font-weight:700;min-width:-webkit-fit-content;min-width:fit-content}.method-desc{color:var(--color-text);font-size:1.2rem;line-height:1.3}.tutorial-strategy-tips{display:flex;flex-direction:column;gap:15px;margin:15px 0}.good-tips{background:var(--color-success-light);border-left:4px solid var(--color-accent)}.good-tips,.warlock-tips{border-radius:8px;padding:15px}.warlock-tips{background:var(--color-danger-light);border-left:4px solid var(--color-danger)}.good-tips h4,.warlock-tips h4{font-size:1.46rem;margin:0 0 10px}.good-tips h4{color:var(--color-accent)}.warlock-tips h4{color:var(--color-danger)}.good-tips ul,.warlock-tips ul{margin:0;padding-left:18px}.good-tips li,.warlock-tips li{color:var(--color-text);font-size:1.27rem;margin:6px 0}.tutorial-ready{padding:20px 0;text-align:center}.ready-icon{font-size:3rem;margin:15px 0}.ready-reminders{background:var(--color-success-light);border-left:4px solid var(--color-accent);border-radius:8px;margin:15px 0;padding:15px;text-align:left}.ready-reminders h4{color:var(--color-secondary);font-size:1.46rem;margin:0 0 10px;text-align:center}.ready-reminders ul{margin:0;padding-left:18px}.ready-reminders li{color:var(--color-text);font-size:1.27rem;margin:6px 0}.ready-message{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-warlock) 100%);border-radius:8px;color:var(--color-light);font-size:1.33rem;margin:20px 0;padding:15px}.tutorial-navigation{align-items:center;background:var(--color-nav-bg);border-top:1px solid var(--color-border);display:flex;flex-shrink:0;justify-content:space-between;padding:15px 20px}.tutorial-button{border:none;border-radius:8px;cursor:pointer;font-family:var(--font-body);font-size:19px;font-weight:700;min-width:70px;padding:12px 18px;transition:all .2s ease}.tutorial-button:hover:not(:disabled){box-shadow:var(--shadow-card);transform:translateY(-1px)}.tutorial-button:active:not(:disabled){transform:translateY(1px)}.tutorial-button:disabled{cursor:not-allowed;opacity:.5}.back-button{color:var(--color-text)}.next-button{background-color:var(--color-secondary);color:var(--color-light)}.tutorial-counter{color:var(--color-primary);font-size:1.33rem;font-weight:700}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text);cursor:pointer;display:flex;font-size:32px;height:30px;justify-content:center;position:absolute;right:15px;top:15px;transition:all .2s ease;width:30px}.close-button:hover{background-color:var(--color-hover-bg)}@keyframes scaleIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@media (max-width:768px){.tutorial-modal{height:85vh;max-height:none;width:95%}.tutorial-title{font-size:1.86rem;padding:15px 15px 12px}.tutorial-content{font-size:1.26rem;padding:15px}.tutorial-main-content{font-size:1.33rem}.tutorial-navigation{padding:12px 15px}.tutorial-button{font-size:19px;min-width:65px;padding:14px 16px}.tutorial-counter{font-size:1.26rem}.close-button{font-size:27px;height:28px;right:12px;top:12px;width:28px}.tutorial-classes,.tutorial-races{gap:8px}.tutorial-class-card,.tutorial-race-card{padding:10px}.class-header,.race-header{flex-wrap:wrap;gap:4px}.class-type,.race-type{flex-basis:100%;font-size:1.13rem;margin-left:28px}.good-tips,.ready-reminders,.tutorial-highlights,.tutorial-tips,.warlock-tells,.warlock-tips{margin:12px 0;padding:12px}.ready-message,.tutorial-formula,.tutorial-steps,.tutorial-strategy{margin:12px 0;padding:10px}.ready-icon{font-size:2.7rem;margin:12px 0}.good-tips li,.ready-reminders li,.tutorial-rules li,.tutorial-tips li,.warlock-tells li,.warlock-tips li{font-size:1.26rem;margin:4px 0}.class-desc,.method-desc,.race-ability{font-size:1.13rem}.tutorial-formula,.tutorial-strategy{font-size:1.2rem}.good-tips h4,.ready-reminders h4,.tutorial-rules h4,.tutorial-tips h4,.warlock-tells h4,.warlock-tips h4{font-size:1.4rem}}@media (max-width:480px){.tutorial-modal{height:90vh;width:98%}.tutorial-title{font-size:1.73rem;padding:12px}.tutorial-content{font-size:1.2rem;padding:12px}.tutorial-main-content{font-size:1.26rem;margin-bottom:12px}.tutorial-navigation{gap:8px;padding:10px 12px}.tutorial-button{font-size:17px;min-width:60px;padding:12px 14px}.tutorial-counter{font-size:1.2rem}.good-tips,.ready-message,.ready-reminders,.tutorial-formula,.tutorial-highlights,.tutorial-steps,.tutorial-strategy,.tutorial-tips,.warlock-tells,.warlock-tips{margin:10px 0;padding:10px}.tutorial-classes,.tutorial-races{gap:6px}.tutorial-class-card,.tutorial-race-card{padding:8px}.ready-icon{font-size:2.7rem;margin:10px 0}.good-tips h4,.ready-reminders h4,.tutorial-rules h4,.tutorial-tips h4,.warlock-tells h4,.warlock-tips h4{font-size:1.33rem;margin-bottom:8px}.good-tips li,.ready-reminders li,.tutorial-rules li,.tutorial-tips li,.warlock-tells li,.warlock-tips li{font-size:1.13rem;line-height:1.4}.class-desc,.method-desc,.race-ability{font-size:1.07rem;line-height:1.3}.ready-message,.tutorial-formula,.tutorial-strategy{font-size:1.13rem}}.tooltip-container{display:inline-block;position:relative}.tooltip{animation:tooltipFadeIn .2s ease;background-color:var(--color-dark);border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#fff;font-family:var(--font-body);font-size:14px;max-width:200px;padding:8px 12px;position:absolute;white-space:nowrap;z-index:100}.tooltip-top{bottom:100%;left:50%;margin-bottom:8px;transform:translateX(-50%)}.tooltip-right{left:100%;margin-left:8px;top:50%;transform:translateY(-50%)}.tooltip-bottom{left:50%;margin-top:8px;top:100%;transform:translateX(-50%)}.tooltip-left{margin-right:8px;right:100%;top:50%;transform:translateY(-50%)}.tooltip:after{border-style:solid;border-width:5px;content:"";position:absolute}.tooltip-top:after{border-color:var(--color-dark) transparent transparent transparent;left:50%;top:100%;transform:translateX(-50%)}.tooltip-right:after{border-color:transparent var(--color-dark) transparent transparent;right:100%;top:50%;transform:translateY(-50%)}.tooltip-bottom:after{border-color:transparent transparent var(--color-dark) transparent;bottom:100%;left:50%;transform:translateX(-50%)}.tooltip-left:after{border-color:transparent transparent transparent var(--color-dark);left:100%;top:50%;transform:translateY(-50%)}@keyframes tooltipFadeIn{0%{opacity:0}to{opacity:1}}.tooltip{word-wrap:break-word;text-align:center;white-space:normal}@media (max-width:480px){.tooltip{font-size:12px;max-width:150px;padding:6px 10px}}.join-page-container{align-items:center;background:linear-gradient(135deg,var(--color-neutral) 0,var(--color-surface) 100%);display:flex;flex-direction:column;font-family:var(--font-body);justify-content:center;min-height:100vh;padding:20px}.join-card{animation:slideIn .6s ease-out;background:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-card);max-width:400px;padding:40px;text-align:center;width:100%}.game-logo{color:var(--color-primary);font-family:var(--font-heading);font-size:3rem;margin:0 0 16px;text-shadow:2px 2px 4px rgba(0,0,0,.1)}.game-tagline{color:var(--color-text-muted);font-size:1.1rem;line-height:1.4;margin:0 0 32px}.input-section{margin-bottom:24px;text-align:left}.input-label{color:var(--color-text);display:block;font-size:.95rem;font-weight:700;margin-bottom:8px}.input-row{align-items:center;display:flex;gap:8px;position:relative}.text-input{background:#fff;border:2px solid var(--color-border);border-radius:8px;flex:1 1;font-family:var(--font-body);font-size:16px;padding:12px 16px;transition:all .2s ease}.text-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.text-input.valid{background-color:rgba(var(--color-accent-rgb),.05);border-color:var(--color-accent)}.text-input.invalid{background-color:rgba(var(--color-danger-rgb),.05);border-color:var(--color-danger)}.dice-button{align-items:center;background:var(--color-neutral);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;display:flex;font-size:18px;height:48px;justify-content:center;min-width:48px;padding:12px 16px;transition:all .2s ease}.dice-button:hover:not(:disabled){background:var(--color-border);transform:translateY(-1px)}.dice-button:disabled{cursor:not-allowed;opacity:.6}.dice-button.loading{opacity:.7}.char-counter{color:var(--color-text-muted);font-size:12px;font-weight:500;min-width:35px;text-align:center}.validation-feedback{margin-top:8px;min-height:20px}.error-message,.success-message{font-size:14px;font-weight:500;margin-bottom:4px}.success-message{color:var(--color-accent)}.temporary-feedback{animation:fadeInOut 2s ease;color:var(--color-secondary);font-size:14px;font-weight:500;margin-bottom:4px}@keyframes fadeInOut{0%{opacity:0;transform:translateY(-5px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.suggestion{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px;gap:8px;margin-top:4px}.suggestion-button{background:rgba(var(--color-primary-rgb),.1);border:1px solid var(--color-primary);border-radius:4px;color:var(--color-primary);cursor:pointer;font-size:13px;font-weight:500;padding:4px 8px;transition:all .2s ease}.suggestion-button:hover{background:rgba(var(--color-primary-rgb),.2);transform:translateY(-1px)}.input-hint{margin-top:8px}.hint-text{color:var(--color-text-muted);font-size:12px;line-height:1.3}.create-game-section{margin-bottom:24px}.create-button{background:var(--color-secondary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font-body);font-size:16px;font-weight:700;padding:16px;transition:all .2s ease;width:100%}.create-button:hover:not(.disabled){background:#e68900;background:var(--color-secondary-dark,#e68900);box-shadow:0 4px 12px rgba(255,123,37,.3);transform:translateY(-2px)}.create-button.disabled{background:var(--color-text-muted);cursor:not-allowed;opacity:.6}.join-game-section{margin-bottom:24px}.code-label-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.help-button{background:var(--color-neutral);border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);cursor:pointer;font-size:14px;font-weight:700;height:24px;transition:all .2s ease;width:24px}.help-button:hover{background:var(--color-border);color:var(--color-text)}.code-help-text{background:var(--color-neutral);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-muted);font-size:14px;line-height:1.4;margin-bottom:12px;padding:12px}.code-input{border:2px solid var(--color-border);border-radius:8px;font-family:monospace;font-size:18px;font-weight:700;letter-spacing:2px;padding:12px 16px;text-align:center;transition:all .2s ease;width:100%}.code-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.clear-code-button{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .2s ease;width:24px}.clear-code-button:hover{background:var(--color-danger);color:#fff}.join-button{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font-body);font-size:16px;font-weight:700;padding:16px;transition:all .2s ease;width:100%}.join-button:hover:not(.disabled){background:#2c5282;background:var(--color-primary-dark,#2c5282);box-shadow:0 4px 12px rgba(66,153,225,.3);transform:translateY(-2px)}.join-button.disabled{background:var(--color-text-muted);cursor:not-allowed;opacity:.6}.tutorial-link-container{margin-top:24px}.tutorial-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-family:var(--font-body);font-size:14px;text-decoration:underline;transition:color .2s ease}.tutorial-link:hover{color:#2c5282;color:var(--color-primary-dark,#2c5282)}.join-page-footer{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px;gap:16px;margin-top:40px;text-align:center}@media (max-width:480px){.join-card{margin:10px;padding:24px}.game-logo{font-size:2.5rem}.game-tagline{font-size:1rem}.input-row{flex-wrap:wrap}.char-counter{margin-top:4px;text-align:right;width:100%}.suggestion{flex-wrap:wrap}.join-page-footer{flex-direction:column;gap:8px}}.character-select-container{animation:fade-in .5s ease;background:linear-gradient(135deg,var(--color-primary) 10,var(--color-secondary) 10);border-radius:12px;box-shadow:0 4px 8px rgba(0,0,0,.1);font-family:var(--font-body);margin:0 auto;max-width:900px;padding:20px}.game-code-title{color:var(--color-primary);margin-bottom:8px}.game-code-title,.welcome-title{font-family:var(--font-heading);text-align:center}.welcome-title{color:var(--color-dark);margin-bottom:16px}.suggestion-box{animation:pulse 2s infinite;background-color:var(--color-secondary) 20;border-radius:8px;margin:15px auto;max-width:400px;padding:10px;text-align:center}.section-container{margin-top:30px}.section-title{font-size:1.5rem;position:relative;text-align:center}.section-title span{background-color:hsla(0,0%,100%,.7);padding:0 10px;position:relative;z-index:1}.section-title:after{background-color:var(--color-secondary);border-radius:1.5px;bottom:0;content:"";height:3px;left:10%;position:absolute;right:10%}.class-descriptions,.racial-descriptions{background-color:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-card);display:flex;justify-content:center;margin:10px 0;padding:10px}.cards-grid{flex-wrap:wrap;gap:10px}.cards-grid,.selection-card{display:flex;justify-content:center}.selection-card{align-items:center;background-color:var(--color-surface);border:2px solid transparent;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;flex-direction:column;height:120px;margin:8px;overflow:hidden;padding:0;position:relative;transition:all .2s ease;width:100px}.selection-card:hover:not(.disabled){box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.selection-card.selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary);transform:translateY(-4px)}.selection-card.disabled{cursor:not-allowed;filter:grayscale(70%);opacity:.5}.card-icon{align-items:center;bottom:0;display:flex;font-size:40px;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:1}.race-icon-img{animation:fadeIn .3s ease forwards;height:100%;object-fit:cover;opacity:0;width:100%}.selection-card.disabled .race-icon-img{filter:grayscale(100%) opacity(.5)}.icon-loader{animation:pulse 1.5s ease-in-out infinite;color:var(--color-text-muted);font-size:24px}.icon-fallback{font-size:40px}.card-label-overlay{align-items:center;background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;padding:8px 4px;position:absolute;right:0;z-index:2}.race-name{color:#fff;font-size:11px;font-weight:700;letter-spacing:.5px;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.8)}.selection-card.disabled .card-label-overlay{opacity:.6}.selection-card.disabled .race-name{color:hsla(0,0%,100%,.7)}.confirm-container{margin-top:40px;text-align:center}.confirm-button{background-color:var(--color-secondary);border:none;border-radius:8px;box-shadow:var(--shadow-button);color:#fff;cursor:pointer;font-family:var(--font-body);font-size:18px;font-weight:700;padding:14px 40px;transition:all .2s ease}.confirm-button:hover:not(:disabled){box-shadow:0 6px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.confirm-button:active:not(:disabled){box-shadow:0 2px 4px rgba(0,0,0,.1);transform:translateY(1px);transition:all .1s ease}.confirm-button.disabled{background-color:var(--color-text-muted);box-shadow:none;cursor:not-allowed;transform:none}.status-message{animation:slide-up .3s ease;border-radius:8px;margin-top:20px;padding:15px;text-align:center}.status-message.valid{background-color:var(--color-accent) 30;color:var(--color-accent)}.status-message.invalid{background-color:var(--color-danger) 20;color:var(--color-danger)}@media (max-width:768px){.character-select-container{padding:15px}.game-code-title{font-size:1.6rem}.section-title,.welcome-title{font-size:1.3rem}.selection-card{height:110px;margin:5px;width:90px}.card-icon{font-size:36px}.card-label{font-size:14px}.confirm-button{font-size:16px;padding:12px 30px}}@media (max-width:480px){.selection-card{height:100px;margin:4px;padding:8px;width:80px}.card-icon{font-size:32px}.card-label{font-size:12px}.confirm-button{font-size:14px;padding:10px 20px}.status-message{font-size:14px;padding:10px}}.lobby-container{align-items:center;background:linear-gradient(135deg,var(--color-primary) 30,var(--color-secondary) 20);display:flex;flex-direction:column;font-family:var(--font-body);min-height:100vh;padding:20px}.lobby-card{animation:fade-in .5s ease;background-color:var(--color-surface);border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.1);max-width:800px;padding:30px;text-align:center;width:100%}.lobby-title{color:var(--color-primary);font-family:var(--font-heading);margin-bottom:8px}.game-code-display{align-items:center;background-color:var(--color-primary) 10;border-radius:8px;cursor:pointer;display:flex;gap:10px;justify-content:center;margin:20px 0;padding:12px;transition:background-color .2s ease}.game-code-display:hover{background-color:var(--color-primary) 15}.game-code{font-size:20px;font-weight:700}.copy-button{align-items:center;background:none;border:none;border-radius:4px;color:var(--color-primary);cursor:pointer;display:flex;font-size:14px;gap:5px;padding:5px 10px;transition:all .2s ease}.copy-button:hover{background-color:var(--color-primary) 10}.copy-icon{display:inline-block}.hidden-input{left:-9999px;position:absolute}.readiness-indicator{background-color:var(--color-primary) 10;border-radius:8px;margin:20px 0;padding:12px 16px}.readiness-top-row{align-items:flex-start;display:flex;justify-content:space-between}.player-count{align-self:center;color:var(--color-dark);font-size:18px;font-weight:700}.readiness-section{align-items:center;display:flex;flex-direction:column}.readiness-bar-container{background-color:#e0e0e0;border-radius:4px;height:8px;margin-bottom:4px;overflow:hidden;width:120px}.readiness-count{color:var(--color-text-muted);font-size:12px;text-align:center;white-space:nowrap}.readiness-bar{background-color:var(--color-secondary);height:100%;transition:width .5s ease}.readiness-bar.all-ready{background-color:var(--color-accent)}.start-button{background-color:var(--color-secondary);border:none;border-radius:8px;box-shadow:var(--shadow-button);color:#fff;cursor:pointer;font-family:var(--font-body);font-size:18px;font-weight:700;margin:20px 0;max-width:300px;padding:14px 40px;transition:all .2s ease;width:100%}.start-button:hover:not(:disabled){box-shadow:0 6px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.start-button:active:not(:disabled){box-shadow:0 2px 4px rgba(0,0,0,.1);transform:translateY(1px)}.start-button.disabled{background-color:var(--color-text-muted);box-shadow:none;cursor:not-allowed}.waiting-host-message{background-color:var(--color-primary) 20;border-radius:8px;color:var(--color-primary);font-size:16px;font-weight:700;margin:20px 0;padding:14px}.player-help-message{color:var(--color-dark);font-size:14px;margin:16px 0}.lobby-players-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr));justify-items:center;margin:20px 0;width:100%}.lobby-player-wrapper{align-items:center;display:flex;flex-direction:column;gap:8px;position:relative}.host-badge-card{background-color:var(--color-secondary);border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.2);color:#fff;font-size:12px;font-weight:700;left:50%;padding:4px 12px;position:absolute;top:-8px;transform:translateX(-50%);z-index:10}.player-status-overlay{margin-top:4px}.current-player-indicator{color:#888;font-size:12px;margin-left:5px}.not-selected{color:var(--color-danger);font-size:14px}.status-badge{border-radius:4px;display:inline-block;font-size:14px;font-weight:700;padding:4px 10px}.status-badge.ready{background-color:var(--color-accent) 20;color:var(--color-accent)}.status-badge.selecting{background-color:var(--color-danger) 20;color:var(--color-danger)}.details-toggle-bottom{border-top:1px solid var(--color-border);display:flex;justify-content:center;margin-top:20px;padding-top:15px}.details-toggle{align-items:center;display:flex;gap:8px}.toggle-label{color:var(--color-text-muted);font-size:14px}.toggle-switch{background-color:#ccc;border-radius:10px;cursor:pointer;height:20px;position:relative;transition:background-color .3s;width:40px}.toggle-switch.active{background-color:var(--color-primary)}.toggle-slider{background-color:var(--color-surface);border-radius:50%;height:16px;left:2px;position:absolute;top:2px;transition:left .3s;width:16px}.toggle-switch.active .toggle-slider{left:22px}.instructions-card{animation:slide-up .5s ease;background-color:hsla(0,0%,100%,.7);border-radius:8px;margin-top:20px;max-width:800px;padding:15px;width:100%}.instructions-title{color:var(--color-primary);font-family:var(--font-heading);font-size:18px;margin-bottom:10px}.instructions-list{color:var(--color-dark);font-size:14px;line-height:1.6;padding-left:20px}.instructions-list li{margin-bottom:5px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.lobby-card{padding:20px 15px}.lobby-title{font-size:1.8rem}.game-code{font-size:18px}.readiness-top-row{align-items:center;flex-direction:column;gap:15px}.readiness-section{width:100%}.readiness-bar-container{height:10px;width:100%}.lobby-players-grid{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center}.start-button,.waiting-host-message{font-size:16px;padding:12px}}@media (max-width:480px){.lobby-players-grid{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));justify-items:center}.host-badge-card{font-size:10px;padding:3px 8px}.status-badge{font-size:12px;padding:3px 6px}.instructions-list{font-size:13px;padding-left:15px}.readiness-indicator{padding:10px 12px}.readiness-label{font-size:13px}.readiness-count{font-size:11px}}.unified-player-card{aspect-ratio:3/4;background:var(--color-background-secondary);border:2px solid var(--color-border);border-radius:12px;display:flex;flex-direction:column;min-height:160px;overflow:hidden;position:relative;transition:all .2s ease}.unified-player-card--small{aspect-ratio:3/4;border-radius:8px;min-height:120px}.unified-player-card--medium{aspect-ratio:3/4;border-radius:12px;min-height:160px}.unified-player-card--large{aspect-ratio:3/4;border-radius:16px;min-height:200px}.unified-player-card--xlarge{aspect-ratio:3/4;border-radius:20px;min-height:280px}.unified-player-card.clickable{cursor:pointer}.unified-player-card.clickable:hover{border-color:var(--color-primary);box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.unified-player-card.selected{background:var(--color-primary-light);border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.unified-player-card.current-player{background:var(--color-info-light);border-color:var(--color-info)}.unified-player-card.dead{filter:grayscale(50%);opacity:.6}.player-card-background{z-index:1}.player-card-background,.player-card-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.player-card-overlay{background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.3) 50%,rgba(0,0,0,.6));z-index:2}.player-card-content{display:flex;flex-direction:column;height:100%;justify-content:flex-end;padding:8px;position:relative;z-index:3}.name-plate{bottom:33%;justify-content:center;left:0;padding:0 8px;position:absolute;right:0;z-index:4}.name-bar,.name-plate{align-items:center;display:flex}.name-bar{background:rgba(0,0,0,.7);border-radius:20px;gap:8px;max-width:100%;min-width:0;padding:6px 16px}.unified-player-card .player-name{color:#fff!important;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;text-shadow:1px 1px 2px rgba(0,0,0,.8);white-space:nowrap}.current-indicator{background:var(--color-info);border-radius:8px;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;text-shadow:none}.unified-player-card--small .player-name{color:#fff!important;font-size:12px}.unified-player-card--large .player-name{color:#fff!important;font-size:16px}.unified-player-card--xlarge .player-name{color:#fff!important;font-size:18px}.unified-player-card--small .name-bar{padding:4px 12px}.unified-player-card--large .name-bar{padding:8px 20px}.unified-player-card--xlarge .name-bar{padding:10px 24px}.status-effects-bar{align-items:center;display:flex;gap:6px;justify-content:center;margin-bottom:4px;min-height:20px}.status-effect{background:rgba(0,0,0,.6);border-radius:10px;color:#fff;font-size:12px;padding:2px 6px;text-shadow:1px 1px 1px rgba(0,0,0,.8)}.status-icon{font-size:14px}.status-value{font-weight:600}.unified-player-card--small .status-effects-bar{gap:4px;min-height:16px}.unified-player-card--small .status-effect{font-size:10px;padding:1px 4px}.unified-player-card--small .status-icon{font-size:12px}.unified-player-card--large .status-effects-bar{gap:8px;min-height:24px}.unified-player-card--large .status-effect{font-size:14px;padding:3px 8px}.unified-player-card--xlarge .status-effects-bar{gap:10px;min-height:28px}.unified-player-card--xlarge .status-effect{font-size:16px;padding:4px 10px}.health-bar-container{margin-top:auto}.health-bar{background:rgba(0,0,0,.6);border:1px solid hsla(0,0%,100%,.2);border-radius:10px;height:20px}.health-fill{border-radius:10px}.health-text{font-size:11px}.unified-player-card--small .health-bar{height:16px}.unified-player-card--small .health-text{font-size:10px}.unified-player-card--large .health-bar{height:24px}.unified-player-card--large .health-text{font-size:12px}.unified-player-card--xlarge .health-bar{height:28px}.unified-player-card--xlarge .health-text{font-size:14px}.selection-indicator{right:8px;text-shadow:none}.dead-overlay{align-items:center;background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.dead-icon{font-size:48px;opacity:.8}.unified-player-card--small .dead-icon{font-size:32px}.unified-player-card--large .dead-icon{font-size:64px}.unified-player-card--xlarge .dead-icon{font-size:80px}@media (max-width:768px){.player-name{color:#fff!important;font-size:12px}.health-bar{height:18px}.health-text{font-size:10px}.status-effect{font-size:10px;padding:1px 4px}}@media (max-width:480px){.unified-player-card{aspect-ratio:2/3;min-height:100px}}[data-theme=dark] .unified-player-card{background:var(--color-background-secondary);border-color:var(--color-border)}[data-theme=dark] .unified-player-card.selected{background:var(--color-primary-dark);border-color:var(--color-primary)}[data-theme=dark] .name-bar{background:rgba(0,0,0,.8)}[data-theme=dark] .status-effect{background:rgba(0,0,0,.7)}[data-theme=dark] .health-bar{background:rgba(0,0,0,.7);border-color:hsla(0,0%,100%,.3)}@keyframes healthChange{0%{transform:scaleX(1.05)}to{transform:scaleX(1)}}.health-fill{animation:healthChange .3s ease-out}.player-column{background-color:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;height:100%;padding:15px}.section-title.secondary{color:var(--color-secondary);font-size:1.1rem;margin-bottom:12px;margin-top:20px}.players-list{display:flex;flex:1 1;flex-direction:column;gap:12px;max-height:600px;overflow-y:auto;padding-right:4px}.players-list::-webkit-scrollbar{width:8px}.players-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.players-list::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.player-column{animation:fadeIn .5s ease}@media (max-width:992px){.players-list{max-height:400px}}@media (max-width:768px){.player-column{padding:10px}.section-title{font-size:1.2rem;margin-bottom:12px}.section-title.secondary{font-size:1rem;margin-bottom:8px;margin-top:16px}.players-list{gap:8px;max-height:350px}}.history-column{animation:fadeIn .5s ease;background-color:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;height:100%;padding:15px}.section-title{color:var(--color-primary);font-family:var(--font-heading);font-size:1.3rem;margin-bottom:16px}.history-content{display:flex;flex-direction:column;gap:20px;height:calc(100% - 50px);overflow-y:auto;padding-right:8px}.history-entry{animation:slideIn .3s ease;margin-bottom:20px}.round-title{align-items:center;color:var(--color-primary);display:flex;font-family:var(--font-heading);font-size:1.1rem;margin:0 0 8px;position:relative}.round-title:after{background-color:rgba(var(--color-primary-rgb),.2);content:"";flex:1 1;height:1px;margin-left:10px}.event-list{border-left:3px solid var(--color-primary);margin-left:5px;padding-left:12px}.event-item{border-radius:4px;font-size:14px;line-height:1.4;margin:6px 0;padding:6px 10px;position:relative}.event-item:before{background-color:var(--color-primary);border-radius:50%;content:"";height:8px;left:-16px;position:absolute;top:12px;width:8px}.event-item:nth-child(2n){background-color:var(--color-neutral)}.event-item.event-you-acted{background-color:rgba(255,123,37,.1);border-left:3px solid var(--color-secondary);font-weight:500}.event-item.event-you-acted:before{background-color:var(--color-secondary)}.event-item.event-you-target{background-color:rgba(var(--color-primary-rgb),.1);border-left:3px solid var(--color-primary);font-weight:500}.event-item.event-you-target:before{background-color:var(--color-primary)}.event-item.event-observer{opacity:.8}.event-item.event-damage{color:var(--color-danger)}.event-item.event-damage:before{background-color:var(--color-danger)}.event-item.event-heal{color:var(--color-accent)}.event-item.event-heal:before{background-color:var(--color-accent)}.event-item.event-death{color:var(--color-danger);font-weight:700}.event-item.event-death:before{background-color:var(--color-danger)}.event-item.event-corruption{color:var(--color-warlock);font-weight:700}.event-item.event-corruption:before{background-color:var(--color-warlock)}.event-item.event-resurrect{color:var(--color-secondary);font-weight:700}.event-item.event-resurrect:before{background-color:var(--color-secondary)}.event-item.event-keen_senses{color:var(--color-accent);font-style:italic}.event-item.event-keen_senses:before{background-color:var(--color-accent)}.event-item.warlock-event{color:var(--color-warlock);font-weight:700}.event-item.warlock-event:before{background-color:var(--color-warlock)}.event-item.attack-event{color:var(--color-danger)}.event-item.attack-event:before{background-color:var(--color-danger)}.event-item.heal-event{color:var(--color-accent)}.event-item.heal-event:before{background-color:var(--color-accent)}.event-item.defense-event{color:var(--color-primary)}.event-item.monster-event{color:var(--color-monster)}.event-item.monster-event:before{background-color:var(--color-monster)}.event-item.death-event{color:var(--color-danger);font-weight:700}.event-item.death-event:before{background-color:var(--color-danger)}.event-item.corruption-event{color:var(--color-warlock);font-weight:700}.event-item.corruption-event:before{background-color:var(--color-warlock)}.event-item.resurrect-event{color:var(--color-secondary);font-weight:700}.event-item.resurrect-event:before{background-color:var(--color-secondary)}.event-item.level-event{color:#9370db;font-weight:700}.event-item.level-event:before{background-color:#9370db}.empty-history{background-color:var(--color-neutral);border:1px dashed #ddd;border-radius:8px;color:#888;font-style:italic;padding:30px;text-align:center}.history-content::-webkit-scrollbar{width:8px}.history-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.history-content::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.event-item.event-you-acted:after{color:var(--color-secondary);content:"→ You";font-size:11px;font-weight:700;position:absolute;right:5px;top:6px}.event-item.event-you-target:after{color:var(--color-primary);content:"← To You";font-size:11px;font-weight:700;position:absolute;right:5px;top:6px}@media (max-width:992px){.history-content{max-height:500px}}@media (max-width:768px){.history-column{padding:10px}.section-title{font-size:1.2rem;margin-bottom:12px}.round-title{font-size:1rem}.event-item{font-size:13px;padding:5px 8px}.empty-history{padding:20px}.event-item.event-you-acted:after,.event-item.event-you-target:after{display:none}}.tab-navigation{background-color:var(--color-surface);border-bottom:1px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;justify-content:space-between;margin-bottom:20px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.tab-button{background-color:transparent;border:none;color:var(--color-dark);flex:1 1;flex-direction:column;font-family:var(--font-body);font-weight:700;gap:4px;justify-content:center;padding:14px 8px;position:relative}.tab-button:after{background-color:transparent;bottom:0;content:"";height:3px;left:25%;position:absolute;right:25%;transition:all .2s ease}.tab-button.active{color:var(--color-primary)}.tab-button.active:after{background-color:var(--color-secondary);left:0;right:0}.tab-icon{font-size:20px}.tab-label{font-size:12px}.tab-button.active:after{animation:slideIn .2s ease-out}.tab-button:hover{background-color:rgba(var(--color-primary-rgb),.05)}.tab-button:active{background-color:rgba(var(--color-primary-rgb),.1)}@media (max-width:400px){.tab-button{padding:10px 5px}.tab-icon{font-size:18px}.tab-label{font-size:11px}}.racial-ability-card{border-radius:8px;border-style:solid;border-width:2px;font-family:var(--font-body);margin:10px 0;padding:12px;transition:all .2s ease}.racial-ability-card.available{background-color:rgba(var(--color-primary-rgb),.9);box-shadow:var(--shadow-card);cursor:pointer}.racial-ability-card.unavailable{background-color:var(--color-neutral);cursor:not-allowed;opacity:.7}.racial-ability-card.available:hover{box-shadow:0 6px 12px rgba(0,0,0,.1);transform:translateY(-3px)}.racial-ability-card.available:active{box-shadow:0 2px 6px rgba(0,0,0,.1);transform:translateY(-1px)}.ability-header{margin-bottom:8px}.ability-title{border-radius:4px;color:#fff;flex-grow:1;font-family:var(--font-heading);font-weight:700;margin-right:10px;padding:6px 10px}.ability-icon-container{align-items:center;border-radius:50%;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.ability-description{background-color:var(--color-neutral);border-radius:4px;color:var(--color-text-muted);font-size:14px;margin-bottom:10px;min-height:60px;padding:8px}.ability-status{align-items:center;display:flex;font-size:14px;justify-content:space-between}.status-indicator{border-radius:4px;font-weight:700;padding:4px 8px}.status-indicator.available{background-color:rgba(var(--color-accent-rgb),.2);color:var(--color-accent)}.status-indicator.unavailable{background-color:rgba(var(--color-danger-rgb),.2);color:var(--color-danger)}.usage-indicators{display:flex;justify-content:center;margin-top:8px}.usage-dots{display:flex;gap:5px}.usage-dot{border-radius:50%;height:20px;transition:background-color .3s;width:20px}.usage-dot.inactive{background-color:#ddd}@keyframes pulseBorder{0%{box-shadow:0 0 0 0 rgba(var(--color-accent-rgb),.4)}70%{box-shadow:0 0 0 6px rgba(44,185,120,0)}to{box-shadow:0 0 0 0 rgba(44,185,120,0)}}.racial-ability-card.available:not(:hover) .status-indicator.available{animation:pulseBorder 2s infinite}.step-title{color:var(--color-text);font-size:24px;font-weight:700;margin-bottom:24px;text-align:center}.section-subtitle{color:var(--color-text-secondary);font-size:18px;font-weight:600;margin:16px 0 12px}.racial-section{border-bottom:1px solid var(--color-border);margin-bottom:24px;padding-bottom:16px}.abilities-grid,.class-abilities-section{margin-bottom:16px}.abilities-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;width:100%}.abilities-grid.desktop-grid{gap:16px;grid-template-columns:1fr 1fr}.abilities-grid.mobile-grid{gap:12px;grid-template-columns:1fr 1fr}.unified-ability-card{background:var(--color-background-secondary);border:2px solid var(--color-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .2s ease}.unified-ability-card.desktop-size{min-height:120px;padding:16px}.unified-ability-card.mobile-size{min-height:100px;padding:12px}.unified-ability-card:hover:not(.locked):not(.on-cooldown):not(.not-selectable){border-color:var(--color-primary);box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.unified-ability-card.selected{background:var(--color-primary-light);border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.unified-ability-card.locked{background:var(--color-background-tertiary);cursor:not-allowed;opacity:.6}.unified-ability-card.on-cooldown{cursor:not-allowed;opacity:.7}.unified-ability-card.not-selectable{cursor:not-allowed;opacity:.5}.ability-background-icon{font-size:48px;left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.unified-ability-card.desktop-size .ability-background-icon{font-size:60px}.unified-ability-card.mobile-size .ability-background-icon{font-size:40px}.ability-content-overlay{display:flex;flex:1 1;flex-direction:column;justify-content:space-between;position:relative;z-index:2}.ability-name{color:var(--color-text);font-size:14px;line-height:1.2}.unified-ability-card.desktop-size .ability-name{font-size:16px;margin-bottom:8px}.ability-description{color:var(--color-text-secondary);font-size:12px;line-height:1.3;margin-bottom:auto}.unified-ability-card.desktop-size .ability-description{font-size:13px;line-height:1.4}.ability-damage{color:var(--color-text);font-size:11px;font-weight:600;margin-top:4px}.unified-ability-card.desktop-size .ability-damage{font-size:12px}.ability-content-overlay.ability-attack{background:linear-gradient(135deg,rgba(220,53,69,.1),rgba(220,53,69,.05))}.ability-content-overlay.ability-defense{background:linear-gradient(135deg,rgba(0,123,255,.1),rgba(0,123,255,.05))}.ability-content-overlay.ability-heal{background:linear-gradient(135deg,rgba(40,167,69,.1),rgba(40,167,69,.05))}.ability-content-overlay.ability-special{background:linear-gradient(135deg,hsla(208,7%,46%,.1),hsla(208,7%,46%,.05))}.lock-overlay{align-items:center;background:rgba(0,0,0,.7);bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.lock-icon{font-size:24px;margin-bottom:4px}.unlock-text{font-size:11px;font-weight:600;text-align:center}.unified-ability-card.desktop-size .lock-icon{font-size:28px}.unified-ability-card.desktop-size .unlock-text{font-size:12px}.cooldown-overlay{align-items:center;background:rgba(220,53,69,.9);border-radius:50%;color:#fff;display:flex;flex-direction:column;font-size:10px;font-weight:700;height:32px;justify-content:center;position:absolute;right:8px;top:8px;width:32px;z-index:10}.cooldown-number{line-height:1}.cooldown-text{font-size:8px;line-height:1}.unified-ability-card.desktop-size .cooldown-overlay{font-size:11px;height:36px;width:36px}.unified-ability-card.desktop-size .cooldown-text{font-size:9px}.selection-indicator{align-items:center;background:var(--color-success);border-radius:50%;color:#fff;display:flex;font-size:14px;font-weight:700;height:24px;justify-content:center;left:8px;position:absolute;top:8px;width:24px;z-index:10}.unified-ability-card.desktop-size .selection-indicator{font-size:16px;height:28px;width:28px}.enhancements-active{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.enhancement-badge{background:var(--color-warning);border-radius:16px;color:var(--color-text-inverse);font-size:12px;font-weight:600;padding:6px 12px}.loading-spinner{align-items:center;color:var(--color-text-secondary);display:flex;font-size:16px;justify-content:center;padding:40px}@media (max-width:768px){.step-title{font-size:20px;margin-bottom:16px}.abilities-grid.mobile-grid{gap:10px;grid-template-columns:1fr 1fr}.section-subtitle{font-size:16px}}@media (max-width:480px){.abilities-grid.mobile-grid{gap:8px}}[data-theme=dark] .unified-ability-card{background:var(--color-background-secondary);border-color:var(--color-border)}[data-theme=dark] .unified-ability-card.selected{background:var(--color-primary-dark);border-color:var(--color-primary)}[data-theme=dark] .lock-overlay{background:rgba(0,0,0,.8)}.selected-ability-reminder{align-items:center;background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:12px;display:flex;gap:12px;margin-bottom:24px;padding:16px}.ability-icon{flex-shrink:0;font-size:24px}.ability-info{flex:1 1}.ability-info strong{color:var(--color-text);display:block;font-size:16px;font-weight:600;margin-bottom:2px}.ability-category{font-weight:500;text-transform:uppercase}.ability-category,.change-ability-btn{color:var(--color-text-secondary);font-size:12px}.change-ability-btn{background:var(--color-background);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;padding:6px 12px;transition:all .2s ease}.change-ability-btn:hover{background:var(--color-background-tertiary);color:var(--color-text)}.targets-section{margin-bottom:16px}.monster-target-wide{align-items:center;background:var(--color-background-secondary);border:2px solid var(--color-border);border-radius:12px;cursor:pointer;display:flex;gap:16px;margin-bottom:16px;padding:16px;transition:all .2s ease}.monster-target-wide:hover{border-color:var(--color-primary);box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.monster-target-wide.selected{background:var(--color-primary-light);border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.monster-info{flex:1 1}.monster-name{color:var(--color-text);font-size:18px;font-weight:700;margin-bottom:4px}.monster-stats{display:flex;gap:16px;margin-bottom:8px}.hp-text{color:var(--color-text);font-size:14px;font-weight:600}.next-attack{color:var(--color-text-secondary);font-size:12px}.health-bar-wide{background:var(--color-background-tertiary);border-radius:4px;height:8px;overflow:hidden;width:100%}.health-fill{border-radius:4px;transition:width .3s ease}.health-fill.health-high{background:var(--color-success)}.health-fill.health-medium{background:var(--color-warning)}.health-fill.health-low{background:var(--color-danger)}.player-targets-grid{grid-gap:12px;display:grid;gap:12px;width:100%}.player-targets-grid.desktop-grid{gap:16px;grid-template-columns:repeat(3,1fr)}.player-targets-grid.mobile-grid{gap:8px;grid-template-columns:repeat(3,1fr)}.target-player-wrapper{width:100%}.target-player-wrapper.invalid-target{pointer-events:none}.player-target-card{align-items:center;background:var(--color-background-secondary);border:2px solid var(--color-border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px;text-align:center;transition:all .2s ease}.player-target-card.desktop-size{padding:20px 16px}.player-target-card.mobile-size{gap:6px;padding:12px 8px}.player-target-card:hover:not(.invalid-target){border-color:var(--color-primary);box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.player-target-card.selected{background:var(--color-primary-light);border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.player-target-card.ready{background:var(--color-success-light);border-color:var(--color-success)}.player-target-card.self{background:var(--color-info-light);border-color:var(--color-info)}.player-target-card.invalid-target{background:var(--color-background-tertiary);cursor:not-allowed;opacity:.5}.player-name{font-size:14px;max-width:100%}.player-hp,.player-target-card.mobile-size .player-name{font-size:12px}.player-hp{color:var(--color-text);font-weight:600}.player-target-card.mobile-size .player-hp{font-size:11px}.health-bar-compact{background:var(--color-background-tertiary);border-radius:3px;height:6px;overflow:hidden;width:100%}.player-target-card.mobile-size .health-bar-compact{height:4px}.custom-avatar,.monster-avatar{flex-shrink:0}@media (max-width:768px){.selected-ability-reminder{gap:8px;padding:12px}.ability-icon{font-size:20px}.ability-info strong{font-size:14px}.monster-target-wide{gap:12px;padding:12px}.monster-name{font-size:16px}.player-targets-grid.mobile-grid{gap:8px;grid-template-columns:repeat(3,1fr)}.player-targets-grid.desktop-grid{gap:12px;grid-template-columns:repeat(3,1fr)}}@media (max-width:480px){.player-targets-grid.mobile-grid{gap:6px;grid-template-columns:repeat(3,1fr)}}@media (min-width:1200px){.player-targets-grid.desktop-grid{gap:16px;grid-template-columns:repeat(3,1fr)}}[data-theme=dark] .selected-ability-reminder{background:var(--color-background-secondary);border-color:var(--color-border)}[data-theme=dark] .change-ability-btn{background:var(--color-background);border-color:var(--color-border)}[data-theme=dark] .monster-target-wide,[data-theme=dark] .player-target-card{background:var(--color-background-secondary);border-color:var(--color-border)}.action-wizard{display:flex;flex-direction:column;height:100%;width:100%}.action-wizard--mobile{background:transparent;bottom:0;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:1000}.action-wizard--mobile .wizard-content{animation:slideUp .3s ease-out;background:var(--color-background);border-top-left-radius:16px;border-top-right-radius:16px;bottom:0;box-shadow:0 -4px 20px rgba(0,0,0,.2);display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:400px;min-width:350px;pointer-events:auto;position:absolute;transform:translateX(-50%);width:100%}.action-wizard--desktop{animation:none;background:transparent;margin:0 auto;max-width:500px;min-width:450px;position:relative;width:100%}.action-wizard--desktop .wizard-content{animation:none;background:transparent;border-radius:0;max-height:none;width:100%}.action-wizard--mobile .wizard-handle{align-items:center;background:var(--color-background);border-top-left-radius:16px;border-top-right-radius:16px;cursor:pointer;display:flex;height:24px;justify-content:center;position:-webkit-sticky;position:sticky;top:0}.action-wizard--mobile .wizard-handle:after{background:var(--color-text-secondary);border-radius:2px;content:"";height:4px;opacity:.5;width:40px}.action-wizard--desktop .wizard-handle{display:none}.wizard-step{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.step-content{flex:1 1;overflow-y:auto;padding:16px}.step-navigation{background:var(--color-background);border-top:1px solid var(--color-border);display:flex;gap:12px;justify-content:flex-end;padding:16px}.action-wizard--mobile .step-navigation{border-top:2px solid var(--color-border);bottom:0;box-shadow:0 -4px 12px rgba(0,0,0,.1);position:-webkit-sticky;position:sticky}.action-wizard--desktop .step-navigation{border-top:1px solid var(--color-border);box-shadow:none;position:relative}.step-navigation .btn-primary,.step-navigation .btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.step-navigation .btn-secondary{background:var(--color-background-secondary);border:1px solid var(--color-border);color:var(--color-text)}.step-navigation .btn-secondary:hover{background:var(--color-background-tertiary)}.step-navigation .btn-primary{background:var(--color-primary);color:#fff}.step-navigation .btn-primary:hover{background:var(--color-primary-dark)}.step-navigation .btn-primary:disabled{background:var(--color-disabled);cursor:not-allowed;opacity:.6}.action-wizard--mobile .step-navigation .btn-primary,.action-wizard--mobile .step-navigation .btn-secondary{font-size:16px;padding:16px 24px}@media (max-width:768px){.action-wizard--mobile .wizard-content{max-height:90vh;max-width:95vw;min-width:320px}.step-navigation{flex-wrap:wrap}.step-navigation .btn-primary,.step-navigation .btn-secondary{flex:1 1;min-width:120px}}@media (max-width:480px){.action-wizard--mobile .wizard-content{border-radius:0;left:0;max-width:100vw;min-width:100vw;transform:none}}@media (min-width:1200px){.action-wizard--desktop{max-width:500px;min-width:450px}}[data-theme=dark] .action-wizard--mobile{background:rgba(0,0,0,.9)}[data-theme=dark] .action-wizard--mobile .wizard-content{background:var(--color-background);border-top:1px solid var(--color-border)}.game-state-drawer-overlay{animation:fadeIn .2s ease-out;background:rgba(0,0,0,.8);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1000}.game-state-drawer{animation:slideUp .3s ease-out;bottom:0;flex-direction:column;left:50%;max-height:85vh;max-width:400px;min-width:350px;position:absolute;transform:translateX(-50%);width:100%}.drawer-handle,.game-state-drawer{background:var(--color-background);border-top-left-radius:16px;border-top-right-radius:16px;display:flex}.drawer-handle{align-items:center;cursor:pointer;height:24px;justify-content:center;position:-webkit-sticky;position:sticky;top:0}.drawer-handle:after{background:var(--color-text-secondary);border-radius:2px;content:"";height:4px;opacity:.5;width:40px}.drawer-content{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.drawer-header{align-items:center;background:var(--color-background);border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;padding:16px}.drawer-tabs,.tab-button{display:flex;gap:8px}.tab-button{align-items:center;background:var(--color-background-secondary);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.tab-button:hover{background:var(--color-background-tertiary);color:var(--color-text)}.tab-button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tab-icon{font-size:16px}.tab-label{font-weight:600}.back-to-actions-btn{align-items:center;background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:4px;padding:8px 16px;transition:all .2s ease}.back-to-actions-btn:hover{background:var(--color-primary-dark)}.drawer-tab-content{flex:1 1;overflow-y:auto;padding:16px}@keyframes slideUp{0%{transform:translateX(-50%) translateY(100%)}to{transform:translateX(-50%) translateY(0)}}@media (max-width:768px){.game-state-drawer{max-height:90vh;max-width:95vw;min-width:320px}.drawer-header{padding:12px}.back-to-actions-btn,.tab-button{font-size:12px;padding:6px 12px}}@media (max-width:480px){.game-state-drawer{border-radius:0;left:0;max-width:100vw;min-width:100vw;transform:none}.drawer-handle{border-radius:0}.drawer-tabs{gap:4px}.tab-button{gap:4px;padding:6px 8px}.tab-icon{font-size:14px}.tab-label{display:none}}[data-theme=dark] .game-state-drawer-overlay{background:rgba(0,0,0,.9)}[data-theme=dark] .game-state-drawer{background:var(--color-background);border-top:1px solid var(--color-border)}[data-theme=dark] .drawer-header{background:var(--color-background);border-bottom-color:var(--color-border)}[data-theme=dark] .tab-button{background:var(--color-background-secondary);border-color:var(--color-border);color:var(--color-text-secondary)}[data-theme=dark] .tab-button:hover{background:var(--color-background-tertiary);color:var(--color-text)}.adaptability-modal-overlay{align-items:center;animation:fadeIn .3s ease;background-color:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.adaptability-modal-content{animation:slideIn .4s ease;background-color:var(--color-surface);border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.2);max-height:80vh;max-width:600px;overflow-y:auto;padding:20px;width:80%}.modal-title{border-bottom:2px solid var(--color-secondary);color:var(--color-primary);font-family:var(--font-heading);margin-bottom:20px;padding-bottom:10px;text-align:center}.step-title{color:var(--color-dark);font-size:16px;margin-bottom:16px}.ability-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.ability-card,.class-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;cursor:pointer;padding:12px;transition:all .2s ease}.ability-card:hover,.class-card:hover{border-color:var(--color-primary);box-shadow:0 4px 8px rgba(0,0,0,.1);transform:translateY(-2px)}.ability-name{font-weight:700;margin-bottom:4px}.class-list{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-bottom:20px}.class-card{font-weight:700;padding:16px;text-align:center}.back-button,.cancel-button{border:none;border-radius:4px;cursor:pointer;font-family:var(--font-body);padding:8px 16px;transition:all .2s ease}.back-button{background-color:var(--color-neutral);color:var(--color-dark);margin-right:10px}.cancel-button{background-color:var(--color-primary);color:#fff;margin-left:auto}.back-button:hover,.cancel-button:hover{box-shadow:0 2px 4px rgba(0,0,0,.1);transform:translateY(-2px)}.modal-footer{border-top:1px solid #eee;display:flex;justify-content:flex-end;margin-top:20px;padding-top:20px}.loading-message{color:var(--color-text-muted);padding:20px;text-align:center}.error-message{align-items:center;background-color:#fdd;border-radius:4px;color:var(--color-danger);display:flex;justify-content:space-between;margin-bottom:16px;padding:10px}.clear-error-button{background:none;border:none;color:var(--color-danger);cursor:pointer;font-weight:700}@media (max-width:768px){.adaptability-modal-content{padding:15px;width:90%}.class-list{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.adaptability-modal-content{padding:10px;width:95%}.modal-title{font-size:1.5rem}.class-list{grid-template-columns:1fr}}.abilities-by-level{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto}.level-group{background-color:var(--color-neutral);border:1px solid var(--color-border);border-radius:8px;padding:12px}.level-title{border-bottom:1px solid #eee;color:var(--color-primary);font-size:16px;margin-bottom:10px;padding-bottom:6px}.ability-header{align-items:center;display:flex;justify-content:space-between}.class-icon{font-size:18px;margin-right:8px}.ability-category{align-items:center;color:var(--color-text-muted);display:flex;font-size:14px;gap:5px}.reconnection-toggle{margin:10px 0}.toggle-label{cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-input{display:none}.toggle-slider{background-color:var(--color-border);border-radius:24px;height:24px;margin-right:10px;position:relative;transition:background-color .3s;width:50px}.toggle-slider:before{background-color:#fff;border-radius:50%;content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .3s;width:20px}.toggle-input:checked+.toggle-slider{background-color:var(--color-accent)}.toggle-input:checked+.toggle-slider:before{transform:translateX(26px)}.toggle-text{color:#333;color:var(--color-text,#333);font-size:14px;font-weight:600}.toggle-description{color:#666;color:var(--color-text-muted,#666);font-size:12px;line-height:1.3;margin-top:5px;max-width:300px;text-align:center}.events-log-container{background-color:var(--color-surface);border:1px solid var(--color-neutral);border-radius:8px;box-shadow:var(--shadow-card);font-family:var(--font-body);padding:16px}.events-log-title{color:var(--color-primary);font-family:var(--font-heading);font-size:1.2rem;margin:0 0 12px}.events-log-content{background-color:var(--color-neutral);border-radius:4px;height:200px;overflow-y:auto;padding:8px;scrollbar-color:var(--color-primary) var(--color-neutral);scrollbar-width:thin}.events-log-content::-webkit-scrollbar{width:8px}.events-log-content::-webkit-scrollbar-track{background:var(--color-neutral);border-radius:4px}.events-log-content::-webkit-scrollbar-thumb{background-color:var(--color-primary);border-radius:4px}.events-log-entry{border-radius:4px;font-size:.9rem;line-height:1.4;margin:4px 0;padding:6px 10px;position:relative}.events-log-entry.even{background-color:var(--color-neutral)}.events-log-entry.odd{background-color:transparent}.events-log-entry.event-you-acted{background-color:rgba(255,123,37,.1);border-left:3px solid var(--color-secondary);font-weight:500}.events-log-entry.event-you-target{background-color:rgba(var(--color-primary-rgb),.1);border-left:3px solid var(--color-primary);font-weight:500}.events-log-entry.event-observer{opacity:.8}.events-log-entry.event-damage{color:var(--color-danger)}.events-log-entry.event-heal{color:var(--color-accent)}.events-log-entry.event-death{color:var(--color-danger);font-weight:700}.events-log-entry.event-corruption{color:var(--color-warlock);font-weight:700}.events-log-entry.event-resurrect{color:var(--color-secondary);font-weight:700}.events-log-entry.event-keen_senses{color:var(--color-accent);font-style:italic}.events-log-entry.warlock-event{color:var(--color-warlock);font-weight:700}.events-log-entry.attack-event{color:var(--color-danger)}.events-log-entry.heal-event{color:var(--color-accent)}.events-log-entry.defense-event{color:var(--color-primary)}.events-log-entry.monster-event{color:var(--color-monster)}.events-log-entry.death-event{color:var(--color-danger);font-weight:700}.events-log-entry.corruption-event{color:var(--color-warlock);font-weight:700}.events-log-entry.resurrect-event{color:var(--color-secondary);font-weight:700}.events-log-empty{color:var(--color-text-muted);font-style:italic;padding:20px;text-align:center}.events-log-entry.event-you-acted:before{color:var(--color-secondary);content:"→";font-weight:700;left:-2px;position:absolute}.events-log-entry.event-you-target:before{color:var(--color-primary);content:"←";font-weight:700;left:-2px;position:absolute}@keyframes eventAppear{0%{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.events-log-entry{animation:eventAppear .3s ease-out}@media (max-width:768px){.events-log-container{padding:12px}.events-log-content{height:180px}.events-log-entry{font-size:.85rem;padding:5px 8px}}.disconnect-event{background-color:rgba(246,173,85,.1);border-left:3px solid #f6ad55;border-left:3px solid var(--color-warning,#f6ad55);color:#f6ad55;color:var(--color-warning,#f6ad55);font-style:italic;padding-left:8px;position:relative}.disconnect-event:before{content:"🏃‍♂️";margin-right:6px;opacity:.7}.theme-dark .disconnect-event{background-color:rgba(251,176,64,.15);border-left-color:#fbb040;color:#fbb040}.theme-colorblind .disconnect-event{background-color:rgba(139,90,43,.1);border-left-color:#8b5a2b;color:#8b5a2b}.disconnect-event{animation:fadeInDisconnect .5s ease-in}@keyframes fadeInDisconnect{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.disconnect-event{border-radius:4px;margin:4px 0;padding:6px 8px}.battle-results-overlay{align-items:center;animation:fadeIn .3s ease;background-color:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.battle-results-overlay.exiting{animation:fadeOut .3s ease forwards}.battle-results-modal{animation:slideIn .3s ease;background-color:var(--color-surface);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:80vh;max-width:700px;overflow:hidden;padding:24px;position:relative;width:90%}.battle-results-overlay.exiting .battle-results-modal{animation:slideOut .3s ease forwards}.battle-results-header{margin-bottom:20px;text-align:center}.battle-results-title{color:var(--color-primary);font-family:var(--font-heading);font-size:1.8rem;margin:0 0 16px}.level-up-banner{animation:levelUpGlow 2s infinite alternate;background:linear-gradient(45deg,#4a5568,#2d3748);border:2px solid gold;border-radius:8px;box-shadow:0 4px 12px rgba(255,215,0,.2);color:gold;font-size:1.1rem;font-weight:700;letter-spacing:1px;margin-bottom:16px;padding:12px 20px;position:relative;text-align:center;text-transform:uppercase}.level-up-banner:after,.level-up-banner:before{background:linear-gradient(90deg,transparent,gold,transparent);content:"";height:2px;position:absolute;top:50%;width:20px}.level-up-banner:before{left:10px;transform:translateY(-50%)}.level-up-banner:after{right:10px;transform:translateY(-50%)}.game-over-banner{animation:pulse 2s infinite;border-radius:8px;font-size:1.3rem;font-weight:700;margin-bottom:16px;padding:16px 20px;text-align:center}.game-over-banner.good{background:linear-gradient(45deg,#48bb78,#68d391);box-shadow:0 4px 12px rgba(72,187,120,.3);color:#fff}.game-over-banner.evil{background:linear-gradient(45deg,#e53e3e,#fc8181);box-shadow:0 4px 12px rgba(229,62,62,.3);color:#fff}.trophy-award{animation:trophyGlow 2s ease-in-out infinite alternate;background:linear-gradient(135deg,gold,orange);border:3px solid gold;border-radius:12px;box-shadow:0 4px 15px rgba(255,215,0,.3);color:#8b4513;margin:16px 0;padding:20px}.trophy-header{margin-bottom:12px}.trophy-header h3{font-size:1.6rem;font-weight:700;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.trophy-name{font-size:1.4rem;text-shadow:1px 1px 2px rgba(0,0,0,.2)}.trophy-recipient{color:#8b4513;font-size:1.2rem;font-weight:600;margin-bottom:8px}.trophy-description{font-size:1rem;opacity:.9}@keyframes trophyGlow{0%{box-shadow:0 4px 15px rgba(255,215,0,.3)}to{box-shadow:0 6px 20px rgba(255,215,0,.6)}}.battle-results-content{flex:1 1;margin-bottom:20px;overflow:hidden}.battle-results-content .events-log-container{height:100%;max-height:400px}.battle-results-content .events-log-content{height:350px}.battle-results-footer{border-top:1px solid var(--color-neutral);display:flex;gap:16px;justify-content:center;padding-top:16px}.continue-button,.game-over-button{border:none;border-radius:8px;cursor:pointer;font-family:var(--font-body);font-size:16px;font-weight:700;min-width:180px;padding:12px 32px;transition:all .2s ease}.continue-button{background-color:var(--color-secondary);color:#fff}.continue-button:hover{background-color:#e68900;background-color:var(--color-secondary-dark,#e68900);box-shadow:0 4px 12px rgba(255,123,37,.3);transform:translateY(-2px)}.game-over-button{background-color:var(--color-primary);color:#fff}.game-over-button:hover{background-color:#2c5282;background-color:var(--color-primary-dark,#2c5282);box-shadow:0 4px 12px rgba(66,153,225,.3);transform:translateY(-2px)}.close-button-x{align-items:center;background:none;border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px}.close-button-x:hover{background-color:rgba(0,0,0,.1);color:var(--color-text)}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes levelUpGlow{0%{border-color:gold;box-shadow:0 4px 12px rgba(255,215,0,.2)}to{border-color:#ffed4a;box-shadow:0 4px 20px rgba(255,215,0,.4)}}@media (max-width:768px){.battle-results-modal{max-height:85vh;padding:20px;width:95%}.battle-results-title{font-size:1.5rem}.game-over-banner,.level-up-banner{font-size:1rem;padding:10px 16px}.battle-results-content .events-log-content{height:300px}.continue-button,.game-over-button{font-size:14px;min-width:140px;padding:10px 24px}}@media (max-width:480px){.battle-results-modal{padding:16px;width:98%}.battle-results-title{font-size:1.3rem}.battle-results-content .events-log-content{height:250px}.close-button-x{font-size:24px;right:12px;top:12px}}.damage-effects-container{position:fixed;z-index:9999}.damage-effect-overlay,.damage-effects-container{bottom:0;left:0;pointer-events:none;right:0;top:0}.damage-effect-overlay{position:absolute}.fire-effect{animation:intenseFire ease-out forwards;background:radial-gradient(ellipse at center,hsla(0,0%,100%,.1) 0,transparent 30%),radial-gradient(ellipse at center,rgba(255,200,0,.4) 20%,rgba(255,100,0,.6) 50%,rgba(255,0,0,.8) 75%,rgba(139,0,0,.9) 100%),linear-gradient(45deg,rgba(255,69,0,.3),rgba(255,140,0,.5) 50%,rgba(255,0,0,.7))}.fire-effect:before{animation:flamesDance .6s ease-in-out infinite alternate;background-image:radial-gradient(ellipse 200px 400px at 0 100%,rgba(255,69,0,.8) 0,rgba(255,140,0,.6) 30%,transparent 70%),radial-gradient(ellipse 200px 400px at 100% 100%,rgba(255,69,0,.8) 0,rgba(255,140,0,.6) 30%,transparent 70%),radial-gradient(ellipse 300px 200px at 50% 0,rgba(255,69,0,.7) 0,rgba(255,140,0,.5) 40%,transparent 80%),radial-gradient(ellipse 300px 200px at 50% 100%,rgba(255,69,0,.7) 0,rgba(255,140,0,.5) 40%,transparent 80%),radial-gradient(ellipse 150px 300px at 25% 80%,rgba(255,100,0,.6) 0,rgba(255,200,0,.4) 50%,transparent 100%),radial-gradient(ellipse 150px 300px at 75% 80%,rgba(255,100,0,.6) 0,rgba(255,200,0,.4) 50%,transparent 100%),radial-gradient(circle at 15% 60%,rgba(255,200,0,.5) 0,transparent 30%),radial-gradient(circle at 85% 60%,rgba(255,200,0,.5) 0,transparent 30%),radial-gradient(circle at 50% 20%,rgba(255,150,0,.4) 0,transparent 25%)}.fire-effect:after,.fire-effect:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.fire-effect:after{animation:emberDance .4s ease-in-out infinite;background-image:radial-gradient(ellipse 100px 200px at 20% 90%,hsla(0,0%,100%,.8) 0,rgba(255,200,0,.6) 20%,transparent 50%),radial-gradient(ellipse 100px 200px at 80% 90%,hsla(0,0%,100%,.8) 0,rgba(255,200,0,.6) 20%,transparent 50%),radial-gradient(ellipse 150px 100px at 50% 10%,hsla(0,0%,100%,.7) 0,rgba(255,220,0,.5) 30%,transparent 60%),radial-gradient(circle 3px at 30% 70%,rgba(255,100,0,.9) 0,transparent 100%),radial-gradient(circle 2px at 70% 50%,rgba(255,150,0,.8) 0,transparent 100%),radial-gradient(circle 4px at 60% 80%,rgba(255,69,0,.7) 0,transparent 100%),radial-gradient(circle 2px at 40% 30%,rgba(255,200,0,.6) 0,transparent 100%)}@keyframes intenseFire{0%{filter:brightness(1) saturate(1) blur(0);opacity:0;transform:scale(.8)}5%{filter:brightness(1.8) saturate(1.5) blur(1px);opacity:1;transform:scale(1.2)}15%{filter:brightness(1.4) saturate(1.3) blur(.5px);opacity:.9;transform:scale(1.1)}25%{filter:brightness(1.6) saturate(1.4) blur(1px);opacity:1;transform:scale(1.15)}85%{filter:brightness(1.2) saturate(1.1) blur(2px);opacity:.7;transform:scale(1.05)}to{filter:brightness(1) saturate(1) blur(3px);opacity:0;transform:scale(1)}}@keyframes flamesDance{0%{opacity:.8;transform:scale(1) rotate(-1deg) translateY(0)}25%{opacity:1;transform:scale(1.1) rotate(1deg) translateY(-5px)}50%{opacity:.9;transform:scale(.95) rotate(-.5deg) translateY(-2px)}75%{opacity:1;transform:scale(1.05) rotate(1.5deg) translateY(-7px)}to{opacity:.8;transform:scale(1.15) rotate(-1deg) translateY(-10px)}}@keyframes emberDance{0%{opacity:1;transform:translateY(0) scale(1)}25%{opacity:.8;transform:translateY(-20px) scale(1.2)}50%{opacity:1;transform:translateY(-15px) scale(.9)}75%{opacity:.6;transform:translateY(-25px) scale(1.1)}to{opacity:.4;transform:translateY(-30px) scale(.8)}}.slash-effect{animation:slashTear ease-out forwards;background:rgba(0,0,0,.2)}.slash-effect:before{animation:massiveSlash 1s ease-out forwards;background:linear-gradient(135deg,transparent,transparent 47%,rgba(64,0,0,.8) 47.5%,#8b0000 48%,#dc143c 48.5%,#fff 49%,#ff6464 49.5%,#fff 50%,#ff6464 50.5%,#fff 51%,#dc143c 51.5%,#8b0000 52%,rgba(64,0,0,.8) 52.5%,transparent 53%,transparent);-webkit-clip-path:polygon(0 0,8% 2%,16% 1%,24% 3%,32% 1%,40% 4%,48% 2%,56% 5%,64% 3%,72% 6%,80% 4%,88% 7%,96% 5%,100% 8%,100% 100%,92% 98%,84% 99%,76% 97%,68% 99%,60% 96%,52% 98%,44% 95%,36% 97%,28% 94%,20% 96%,12% 93%,4% 95%,0 92%);clip-path:polygon(0 0,8% 2%,16% 1%,24% 3%,32% 1%,40% 4%,48% 2%,56% 5%,64% 3%,72% 6%,80% 4%,88% 7%,96% 5%,100% 8%,100% 100%,92% 98%,84% 99%,76% 97%,68% 99%,60% 96%,52% 98%,44% 95%,36% 97%,28% 94%,20% 96%,12% 93%,4% 95%,0 92%)}.slash-effect:after,.slash-effect:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.slash-effect:after{animation:deepGash 1.4s ease-out forwards;background:linear-gradient(135deg,transparent,transparent 46%,rgba(32,0,0,.6) 46.5%,rgba(64,0,0,.8) 47%,rgba(139,0,0,.9) 47.5%,rgba(180,0,0,.8) 48%,rgba(220,20,60,.7) 48.5%,rgba(255,69,0,.6) 49%,rgba(255,140,0,.5) 49.5%,rgba(255,200,100,.4) 50%,rgba(255,140,0,.5) 50.5%,rgba(255,69,0,.6) 51%,rgba(220,20,60,.7) 51.5%,rgba(180,0,0,.8) 52%,rgba(139,0,0,.9) 52.5%,rgba(64,0,0,.8) 53%,rgba(32,0,0,.6) 53.5%,transparent 54%,transparent);-webkit-clip-path:polygon(0 0,6% 3%,14% 1%,22% 4%,30% 2%,38% 5%,46% 3%,54% 6%,62% 4%,70% 7%,78% 5%,86% 8%,94% 6%,100% 10%,100% 100%,94% 97%,86% 99%,78% 96%,70% 98%,62% 95%,54% 97%,46% 94%,38% 96%,30% 93%,22% 95%,14% 92%,6% 94%,0 90%);clip-path:polygon(0 0,6% 3%,14% 1%,22% 4%,30% 2%,38% 5%,46% 3%,54% 6%,62% 4%,70% 7%,78% 5%,86% 8%,94% 6%,100% 10%,100% 100%,94% 97%,86% 99%,78% 96%,70% 98%,62% 95%,54% 97%,46% 94%,38% 96%,30% 93%,22% 95%,14% 92%,6% 94%,0 90%)}@keyframes slashTear{0%{filter:brightness(1) contrast(1) saturate(1);opacity:0}15%{filter:brightness(1.8) contrast(1.5) saturate(1.3);opacity:1}40%{filter:brightness(1.4) contrast(1.3) saturate(1.2);opacity:.9}to{filter:brightness(1) contrast(1) saturate(1);opacity:0}}@keyframes massiveSlash{0%{filter:blur(2px);opacity:0;transform:scaleX(0) translateX(-100%) skewX(-30deg) scaleY(.3)}10%{filter:blur(1px);opacity:1;transform:scaleX(.2) translateX(-80%) skewX(-25deg) scaleY(.5)}25%{filter:blur(.5px);opacity:1;transform:scaleX(.6) translateX(-40%) skewX(-15deg) scaleY(.8)}45%{filter:blur(0);opacity:1;transform:scaleX(1) translateX(0) skewX(0deg) scaleY(1)}70%{filter:blur(.5px);opacity:.8;transform:scaleX(1.1) translateX(8%) skewX(8deg) scaleY(1.05)}85%{filter:blur(1px);opacity:.6;transform:scaleX(1.15) translateX(15%) skewX(15deg) scaleY(1.08)}to{filter:blur(2px);opacity:0;transform:scaleX(1.2) translateX(25%) skewX(25deg) scaleY(1.1)}}@keyframes deepGash{0%{opacity:0;transform:scaleX(0) translateX(-120%) skewX(-35deg) scaleY(.2)}15%{opacity:.8;transform:scaleX(.3) translateX(-70%) skewX(-20deg) scaleY(.6)}35%{opacity:.9;transform:scaleX(.7) translateX(-30%) skewX(-10deg) scaleY(.9)}55%{opacity:.9;transform:scaleX(1) translateX(0) skewX(0deg) scaleY(1)}75%{opacity:.7;transform:scaleX(1.05) translateX(5%) skewX(5deg) scaleY(1.02)}90%{opacity:.4;transform:scaleX(1.1) translateX(12%) skewX(12deg) scaleY(1.05)}to{opacity:0;transform:scaleX(1.15) translateX(20%) skewX(20deg) scaleY(1.08)}}.poison-effect{animation:poisonBubble ease-in-out forwards;background:radial-gradient(circle at 20% 20%,rgba(0,255,0,.3) 0,transparent 50%),radial-gradient(circle at 80% 30%,rgba(124,252,0,.4) 0,transparent 50%),radial-gradient(circle at 40% 70%,rgba(50,205,50,.3) 0,transparent 50%),radial-gradient(circle at 90% 80%,rgba(0,255,127,.3) 0,transparent 50%),linear-gradient(180deg,transparent,rgba(0,128,0,.2))}.poison-effect:after{animation:bubbleFloat 2s ease-in-out infinite;background-image:radial-gradient(circle at 15% 25%,rgba(0,255,0,.6) 2px,transparent 3px),radial-gradient(circle at 65% 15%,rgba(124,252,0,.5) 1.5px,transparent 2.5px),radial-gradient(circle at 45% 55%,rgba(50,205,50,.7) 3px,transparent 4px),radial-gradient(circle at 85% 75%,rgba(0,255,127,.6) 2px,transparent 3px);background-size:200px 200px,150px 150px,180px 180px,160px 160px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes poisonBubble{0%{filter:blur(0);opacity:0}20%{filter:blur(1px);opacity:1}80%{filter:blur(2px);opacity:.7}to{filter:blur(3px);opacity:0}}@keyframes bubbleFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-10px) scale(1.1)}}.lightning-effect{animation:lightningFlash ease-out forwards;background:radial-gradient(ellipse at center,hsla(0,0%,100%,.9) 0,rgba(135,206,250,.4) 30%,transparent 70%)}.lightning-effect:before{animation:lightningBolt .3s ease-out forwards;background-image:linear-gradient(180deg,transparent 0,#00bfff 20%,rgba(135,206,250,.9) 25%,#00bfff 30%,#fff 35%,#00bfff 40%,rgba(135,206,250,.8) 45%,#00bfff 50%,transparent 55%),linear-gradient(135deg,transparent,rgba(0,191,255,.8) 15%,hsla(0,0%,100%,.9) 20%,rgba(0,191,255,.8) 25%,transparent 30%),linear-gradient(45deg,transparent,rgba(0,191,255,.8) 15%,hsla(0,0%,100%,.9) 20%,rgba(0,191,255,.8) 25%,transparent 30%);background-position:20% 0,80% 20%,10% 60%;background-size:8px 100%,200px 200px,200px 200px;-webkit-clip-path:polygon(48% 0,52% 0,54% 15%,49% 15%,53% 25%,47% 25%,51% 35%,45% 35%,49% 45%,43% 45%,47% 55%,41% 55%,45% 65%,39% 65%,43% 75%,37% 75%,41% 85%,35% 85%,39% 95%,33% 95%,37% 100%,35% 100%,40% 90%,42% 90%,44% 80%,46% 80%,48% 70%,50% 70%,52% 60%,54% 60%,56% 50%,58% 50%,60% 40%,62% 40%,64% 30%,66% 30%,68% 20%,70% 20%,72% 10%,50% 10%);clip-path:polygon(48% 0,52% 0,54% 15%,49% 15%,53% 25%,47% 25%,51% 35%,45% 35%,49% 45%,43% 45%,47% 55%,41% 55%,45% 65%,39% 65%,43% 75%,37% 75%,41% 85%,35% 85%,39% 95%,33% 95%,37% 100%,35% 100%,40% 90%,42% 90%,44% 80%,46% 80%,48% 70%,50% 70%,52% 60%,54% 60%,56% 50%,58% 50%,60% 40%,62% 40%,64% 30%,66% 30%,68% 20%,70% 20%,72% 10%,50% 10%)}.lightning-effect:after,.lightning-effect:before{background-repeat:no-repeat;bottom:0;content:"";left:0;position:absolute;right:0;top:0}.lightning-effect:after{animation:electricSparks .2s ease-out forwards;background-image:linear-gradient(180deg,transparent 0,#fff 10%,rgba(0,191,255,.9) 15%,transparent 20%),linear-gradient(170deg,transparent,rgba(0,191,255,.7) 40%,hsla(0,0%,100%,.8) 45%,rgba(0,191,255,.7) 50%,transparent 55%),linear-gradient(10deg,transparent,rgba(0,191,255,.6) 60%,hsla(0,0%,100%,.7) 65%,rgba(0,191,255,.6) 70%,transparent 75%),radial-gradient(circle 2px at 30% 30%,#fff 0,rgba(0,191,255,.8) 50%,transparent 100%),radial-gradient(circle 1px at 70% 50%,#fff 0,rgba(0,191,255,.6) 50%,transparent 100%),radial-gradient(circle 2px at 40% 70%,#fff 0,rgba(0,191,255,.7) 50%,transparent 100%),radial-gradient(circle 1px at 80% 80%,#fff 0,rgba(0,191,255,.5) 50%,transparent 100%);background-position:70% 0,20% 40%,90% 60%,30% 30%,70% 50%,40% 70%,80% 80%;background-size:4px 100%,150px 300px,150px 300px,20px 20px,15px 15px,25px 25px,18px 18px;-webkit-clip-path:polygon(70% 0,74% 0,76% 20%,71% 20%,75% 40%,69% 40%,73% 60%,67% 60%,71% 80%,65% 80%,69% 100%,67% 100%,70% 90%,72% 90%,74% 70%,76% 70%,78% 50%,80% 50%,82% 30%,84% 30%,86% 10%,72% 10%);clip-path:polygon(70% 0,74% 0,76% 20%,71% 20%,75% 40%,69% 40%,73% 60%,67% 60%,71% 80%,65% 80%,69% 100%,67% 100%,70% 90%,72% 90%,74% 70%,76% 70%,78% 50%,80% 50%,82% 30%,84% 30%,86% 10%,72% 10%)}@keyframes lightningFlash{0%{filter:brightness(1);opacity:0}2%{filter:brightness(5) saturate(2);opacity:1}4%{filter:brightness(2) saturate(1.5);opacity:.3}6%{filter:brightness(4) saturate(2);opacity:1}8%{filter:brightness(1.5) saturate(1.2);opacity:.2}12%{filter:brightness(3) saturate(1.8);opacity:.8}20%{filter:brightness(1.5) saturate(1.2);opacity:.4}to{filter:brightness(1) saturate(1);opacity:0}}@keyframes lightningBolt{0%{opacity:0;transform:scaleY(0) translateY(-50%)}10%{opacity:1;transform:scaleY(.3) translateY(-30%)}15%{opacity:1;transform:scaleY(1) translateY(0)}25%{opacity:.8;transform:scaleY(1) translateY(0)}to{opacity:0;transform:scaleY(1) translateY(0)}}@keyframes electricSparks{0%{opacity:0;transform:scale(0)}20%{opacity:1;transform:scale(1.5)}40%{opacity:.8;transform:scale(1)}60%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(.8)}}.ice-effect{animation:arcaneFreeze ease-out forwards;background:radial-gradient(circle at center,rgba(186,85,211,.4) 0,rgba(138,43,226,.6) 40%,rgba(75,0,130,.5) 100%),linear-gradient(45deg,rgba(147,112,219,.3),rgba(123,104,238,.4) 50%,rgba(72,61,139,.3))}.ice-effect:after{animation:arcaneShards ease-out forwards;background-image:conic-gradient(from 0deg at 20% 30%,transparent 0deg,rgba(186,85,211,.8) 60deg,transparent 120deg),conic-gradient(from 120deg at 70% 20%,transparent 0deg,rgba(138,43,226,.7) 60deg,transparent 120deg),conic-gradient(from 240deg at 80% 70%,transparent 0deg,rgba(75,0,130,.9) 60deg,transparent 120deg),conic-gradient(from 60deg at 30% 80%,transparent 0deg,rgba(147,112,219,.6) 60deg,transparent 120deg),radial-gradient(circle 2px at 25% 25%,#fff 0,rgba(186,85,211,.8) 50%,transparent 100%),radial-gradient(circle 1px at 75% 35%,#fff 0,rgba(138,43,226,.7) 50%,transparent 100%),radial-gradient(circle 3px at 45% 65%,#fff 0,rgba(123,104,238,.8) 50%,transparent 100%),radial-gradient(circle 1px at 85% 75%,#fff 0,rgba(75,0,130,.6) 50%,transparent 100%);background-size:150px 150px,120px 120px,100px 100px,180px 180px,20px 20px,15px 15px,25px 25px,18px 18px;bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes arcaneFreeze{0%{filter:blur(0) hue-rotate(0deg) saturate(1);opacity:0}30%{filter:blur(1px) hue-rotate(15deg) saturate(1.5);opacity:1}70%{filter:blur(2px) hue-rotate(-10deg) saturate(1.3);opacity:.8}to{filter:blur(3px) hue-rotate(0deg) saturate(1);opacity:0}}@keyframes arcaneShards{0%{opacity:0;transform:scale(.3) rotate(0deg)}30%{opacity:1;transform:scale(1) rotate(120deg)}60%{opacity:.8;transform:scale(1.1) rotate(240deg)}to{opacity:0;transform:scale(1.3) rotate(1turn)}}.blunt-effect{animation:bluntImpact ease-out forwards;background:radial-gradient(ellipse at center,transparent 30%,hsla(0,0%,50%,.4) 50%,rgba(64,64,64,.7) 80%,rgba(32,32,32,.6) 100%),radial-gradient(circle at 50% 50%,hsla(0,0%,63%,.3) 0,transparent 60%)}.blunt-effect:before{animation:shockwave .6s ease-out forwards;background:radial-gradient(circle,hsla(0,0%,100%,.6) 0,hsla(0,0%,50%,.4) 30%,transparent 60%);border-radius:50%;content:"";height:200px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);width:200px}@keyframes bluntImpact{0%{opacity:0;transform:scale(.8)}20%{opacity:1;transform:scale(1.1)}40%{opacity:.8;transform:scale(.95)}60%{opacity:.9;transform:scale(1.05)}to{opacity:0;transform:scale(1)}}@keyframes shockwave{0%{opacity:1;transform:translate(-50%,-50%) scale(0)}to{opacity:0;transform:translate(-50%,-50%) scale(5)}}.nature-effect{animation:natureGrowth ease-in-out forwards;background:radial-gradient(circle at 30% 40%,rgba(34,139,34,.4) 0,transparent 50%),radial-gradient(circle at 70% 60%,rgba(50,205,50,.3) 0,transparent 50%),linear-gradient(135deg,rgba(0,128,0,.2),rgba(152,251,152,.3))}.nature-effect:before{animation:vineGrowth ease-out forwards;background-image:linear-gradient(45deg,transparent,rgba(50,205,50,.6) 20%,transparent 40%),linear-gradient(135deg,transparent 60%,rgba(34,139,34,.5) 80%,transparent),linear-gradient(225deg,transparent,rgba(152,251,152,.4) 30%,transparent 60%),linear-gradient(315deg,transparent 70%,rgba(0,128,0,.5) 90%,transparent);background-size:100px 100px,80px 80px,120px 120px,90px 90px}.nature-effect:after,.nature-effect:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0}.nature-effect:after{animation:leafSparkle 1.5s ease-in-out infinite;background-image:radial-gradient(circle at 25% 75%,rgba(0,255,0,.8) 1px,transparent 2px),radial-gradient(circle at 75% 25%,rgba(124,252,0,.6) 1.5px,transparent 2.5px),radial-gradient(circle at 60% 80%,rgba(50,205,50,.7) 1px,transparent 2px),radial-gradient(circle at 80% 60%,rgba(152,251,152,.5) 2px,transparent 3px);background-size:80px 80px,120px 120px,100px 100px,90px 90px}@keyframes natureGrowth{0%{filter:hue-rotate(0deg) saturate(1);opacity:0}30%{filter:hue-rotate(20deg) saturate(1.5);opacity:1}70%{filter:hue-rotate(-10deg) saturate(1.2);opacity:.7}to{filter:hue-rotate(0deg) saturate(1);opacity:0}}@keyframes vineGrowth{0%{opacity:0;transform:scale(.3) rotate(0deg)}60%{opacity:1;transform:scale(1.1) rotate(90deg)}to{opacity:0;transform:scale(1.3) rotate(180deg)}}@keyframes leafSparkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.corruption-effect{align-items:center;animation:corruptionBase ease-out forwards;background:rgba(0,0,0,.4);display:flex;justify-content:center}.corruption-effect:before{animation:bloodDripsOnly 2s ease-out forwards;background-image:radial-gradient(ellipse 8px 40px at 10% -10px,rgba(139,0,0,.9) 0,rgba(180,0,0,.8) 30%,transparent 70%),radial-gradient(ellipse 6px 35px at 25% -5px,rgba(160,0,0,.8) 0,rgba(200,0,0,.7) 40%,transparent 80%),radial-gradient(ellipse 10px 45px at 45% -15px,#8b0000 0,rgba(180,0,0,.9) 20%,transparent 60%),radial-gradient(ellipse 7px 38px at 60% -8px,rgba(160,0,0,.9) 0,rgba(200,0,0,.8) 35%,transparent 75%),radial-gradient(ellipse 9px 42px at 80% -12px,rgba(139,0,0,.8) 0,rgba(180,0,0,.7) 25%,transparent 65%),radial-gradient(ellipse 5px 32px at 90% -3px,rgba(160,0,0,.7) 0,rgba(200,0,0,.6) 45%,transparent 85%),radial-gradient(ellipse 4px 25px at 15% -2px,rgba(180,0,0,.6) 0,rgba(220,0,0,.5) 50%,transparent 90%),radial-gradient(ellipse 5px 28px at 35% -6px,rgba(160,0,0,.7) 0,rgba(200,0,0,.6) 40%,transparent 80%),radial-gradient(ellipse 3px 22px at 55% -1px,rgba(180,0,0,.5) 0,rgba(220,0,0,.4) 55%,transparent 95%),radial-gradient(ellipse 6px 30px at 75% -9px,rgba(160,0,0,.8) 0,rgba(200,0,0,.7) 30%,transparent 70%),radial-gradient(ellipse 2px 15px at 20% 0,rgba(200,0,0,.4) 0,rgba(240,0,0,.3) 60%,transparent 100%),radial-gradient(ellipse 3px 18px at 50% -2px,rgba(180,0,0,.5) 0,rgba(220,0,0,.4) 50%,transparent 90%),radial-gradient(ellipse 2px 16px at 85% 1px,rgba(200,0,0,.3) 0,rgba(240,0,0,.2) 65%,transparent 100%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes corruptionBase{0%{filter:brightness(1) saturate(1);opacity:0}15%{filter:brightness(.7) saturate(1.5);opacity:.8}85%{filter:brightness(.8) saturate(1.2);opacity:.6}to{filter:brightness(1) saturate(1);opacity:0}}@keyframes bloodDripsOnly{0%{filter:hue-rotate(0deg) saturate(1.5);opacity:0;transform:translateY(-100px) scaleY(.3)}15%{filter:hue-rotate(0deg) saturate(1.5);opacity:1;transform:translateY(0) scaleY(1)}50%{filter:hue-rotate(15deg) saturate(1.3);opacity:1;transform:translateY(300px) scaleY(1.5)}80%{filter:hue-rotate(30deg) saturate(1.1);opacity:.8;transform:translateY(500px) scaleY(1.8)}to{filter:hue-rotate(45deg) saturate(.9);opacity:0;transform:translateY(700px) scaleY(2)}}@keyframes corruptedTextDelayed{0%,50%{color:#c00;opacity:0;transform:translate(-50%,-50%) scale(0)}55%{color:#dc143c;filter:brightness(2) saturate(2);opacity:1;transform:translate(-50%,-50%) scale(1.3)}60%{color:#7851a9;filter:brightness(1.8) saturate(1.8);opacity:1;transform:translate(-47%,-48%) scale(1.1) rotate(-2deg)}65%{color:#fff;filter:brightness(3) saturate(.5);opacity:1;transform:translate(-53%,-52%) scale(1.2) rotate(3deg)}70%{color:#000;filter:brightness(.1) saturate(3);opacity:1;transform:translate(-48%,-49%) scale(1.05) rotate(-1deg)}75%{color:#dc143c;filter:brightness(2.2) saturate(2.2);opacity:1;transform:translate(-52%,-51%) scale(1.15) rotate(2deg)}80%{color:#639;filter:brightness(1.6) saturate(1.9);opacity:1;transform:translate(-49%,-48%) scale(1.08) rotate(-3deg)}85%{color:#fff;filter:brightness(2.5) saturate(.3);opacity:1;transform:translate(-51%,-52%) scale(1.12) rotate(1deg)}90%{color:#000;filter:brightness(.1) saturate(2.5);opacity:1;transform:translate(-50%,-49%) scale(1.03) rotate(-1deg)}95%{color:#dc143c;filter:brightness(3) saturate(3);opacity:1;transform:translate(-50%,-50%) scale(1.2) rotate(0deg)}to{color:#c00;filter:brightness(1) saturate(1);opacity:0;transform:translate(-50%,-50%) scale(.8) rotate(0deg)}}@media (max-width:768px){.corruption-effect .corruption-text{font-size:3rem!important}}@media (max-width:480px){.corruption-effect .corruption-text{font-size:2.5rem!important}}@media (max-width:768px){.damage-effect-overlay{filter:blur(.5px)}.corruption-effect:before,.fire-effect:before,.ice-effect:after,.nature-effect:after,.nature-effect:before,.poison-effect:after{animation-duration:.8s}}@media (prefers-reduced-motion:reduce){.damage-effect-overlay,.damage-effect-overlay:after,.damage-effect-overlay:before{animation:fadeInOut 1s ease-out forwards}@keyframes fadeInOut{0%{opacity:0}50%{opacity:.5}to{opacity:0}}}.game-header-content{align-items:center;background-color:var(--color-background-secondary);border:2px solid var(--color-border);border-radius:12px;display:flex;margin-bottom:16px;min-height:80px;overflow:hidden;padding:12px 16px 12px 80px;position:relative}.game-header-content.desktop{flex-direction:row;gap:16px;justify-content:space-between}.game-header-content.mobile{flex-direction:column;padding:12px 12px 12px 60px}.game-header-content.mobile .game-info-section,.game-header-content.mobile .health-section,.game-header-content.mobile .player-info-section{width:100%}.game-header-content.mobile .stats-section{margin-top:8px;width:100%}.player-info-section{flex:1 1;min-width:0;position:relative}.corruption-overlay{border-radius:8px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.player-name{color:var(--color-text);font-size:20px;font-weight:700;margin-bottom:4px;overflow:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:2}.player-details{color:var(--color-text-secondary);display:flex;font-size:14px;gap:8px;position:relative;z-index:2}.player-class,.player-race{font-weight:600}.game-header-content.mobile .player-info-section{justify-self:end}.game-header-content.mobile .player-name{font-size:16px;text-align:right}.game-header-content.mobile .player-details{font-size:12px;justify-content:flex-end}.game-info-section{align-items:center;display:flex;gap:16px}.level-info,.round-info{color:var(--color-text);font-size:16px;font-weight:600;white-space:nowrap}.round-info{color:var(--color-primary)}.level-info{color:var(--color-secondary)}.game-header-content.mobile .game-info-section{display:contents}.game-header-content.mobile .level-info,.game-header-content.mobile .round-info{font-size:12px}.health-section{flex:2 1;max-width:300px}.health-bar-container{width:100%}.health-bar{background:rgba(0,0,0,.2);border:1px solid var(--color-border);border-radius:12px;height:24px;overflow:hidden;position:relative}.health-fill{border-radius:12px;height:100%;left:0;position:absolute;top:0;transform-origin:left center;transition:all .3s ease}.health-text{color:#fff;font-size:12px;font-weight:700;left:50%;position:absolute;text-shadow:1px 1px 2px rgba(0,0,0,.8);top:50%;transform:translate(-50%,-50%);z-index:2}.game-header-content.mobile .health-section{max-width:none}.game-header-content.mobile .health-bar{height:20px}.game-header-content.mobile .health-text{font-size:11px}.stats-section{align-items:flex-end;display:flex;flex-direction:column;gap:4px;min-width:120px}.player-count,.warlock-count{color:var(--color-text-secondary);font-size:12px;font-weight:600;white-space:nowrap}.player-count{color:var(--color-success)}.warlock-count{color:var(--color-danger)}.game-header-content.mobile .player-count,.game-header-content.mobile .warlock-count{font-size:11px}.game-header-content.desktop{grid-gap:8px 16px;align-items:center;display:grid;gap:8px 16px;grid-template-areas:". round level" ". info stats" ". status ." ". health .";grid-template-columns:1fr 500px 1fr;grid-template-rows:auto auto auto auto;justify-items:center}.game-header-content.desktop .player-info-section{grid-area:info;text-align:center}.game-header-content.desktop .game-info-section{display:contents}.game-header-content.desktop .round-info{align-self:start;font-size:16px;font-weight:600;grid-area:round}.game-header-content.desktop .level-info{align-self:start;font-size:14px;grid-area:level;justify-self:start}.game-header-content.desktop .health-section{grid-area:health;max-width:none;width:100%}.game-header-content.desktop .status-effects-section{grid-area:status;justify-content:center}.game-header-content.desktop .stats-section{align-items:flex-end;align-self:start;flex-direction:column;gap:4px;grid-area:stats}.game-header-content.mobile{grid-gap:8px;align-items:start;display:grid;gap:8px;grid-template-areas:"info info" "status health" "stats stats";grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;position:relative}.game-header-content.mobile .player-info-section{grid-area:info;text-align:right}.game-header-content.mobile .level-info,.game-header-content.mobile .round-info{display:none}.game-header-content.mobile .status-effects-section{align-items:center;align-self:center;display:flex;gap:4px;grid-area:status}.game-header-content.mobile .health-section{grid-area:health;margin-left:auto;width:50%}.game-header-content.mobile .stats-section{align-items:center;flex-direction:row;font-size:10px;gap:8px;grid-area:stats;justify-content:flex-end}@media (max-width:768px){.game-header-content.desktop{gap:8px 12px;grid-template-areas:"info round" "health level" "stats stats";grid-template-columns:1fr auto}.game-header-content.desktop .level-info{grid-area:level;justify-self:end}.game-header-content.desktop .stats-section{align-items:center;border-top:1px solid var(--color-border);flex-direction:row;grid-area:stats;justify-content:space-between;margin-top:8px;padding-top:8px}}@media (max-width:480px){.game-header-content{min-height:60px;padding:8px 8px 8px 50px}.player-name{font-size:16px}.level-info,.player-details,.round-info{font-size:12px}.health-bar{height:16px}.health-text{font-size:10px}}.status-effects-section{align-items:center;display:flex;gap:6px}.status-effect{align-items:center;border-radius:4px;display:flex;font-size:11px;font-weight:600;gap:2px;padding:2px 4px;white-space:nowrap}.status-effect.armor{background:rgba(59,130,246,.2);border:1px solid rgba(59,130,246,.3);color:#1d4ed8}.status-effect.stunned{background:rgba(245,158,11,.2);border:1px solid rgba(245,158,11,.3);color:#d97706}.status-effect.blessed{background:rgba(34,197,94,.2);border:1px solid rgba(34,197,94,.3);color:#16a34a}.status-icon,.status-value{font-size:10px}.status-value{font-weight:700}.mobile-corruption-indicator{bottom:8px;height:24px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%);width:24px;z-index:1}[data-theme=dark] .game-header-content{background:var(--color-background-secondary);border-color:var(--color-border)}[data-theme=dark] .player-avatar{background-color:var(--color-background-tertiary);border-color:var(--color-border)}[data-theme=dark] .health-bar{background:hsla(0,0%,100%,.1)}[data-theme=dark] .health-bar,[data-theme=dark] .stats-section{border-color:var(--color-border)}.game-container{background-color:var(--color-neutral);display:flex;flex-direction:column;margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.character-title-section{margin-bottom:24px;text-align:center}.game-title{word-wrap:break-word;color:var(--color-primary);font-family:var(--font-heading);font-size:2rem;font-weight:700;-webkit-hyphens:auto;hyphens:auto;line-height:1.3;margin-bottom:12px;overflow-wrap:break-word}.game-title.warlock-text{color:var(--color-warlock);font-size:1.8rem;font-weight:700;letter-spacing:1px;line-height:1.4;text-shadow:0 0 5px rgba(34,0,51,.5)}.title-health-container{margin:0 auto;max-width:300px}.title-health-text{color:var(--color-dark);font-family:var(--font-body);font-size:16px;font-weight:600;margin-bottom:6px}.action-column-container{display:flex;flex-direction:column;height:100%}.results-phase{padding:20px;text-align:center}.results-phase .section-title{color:var(--color-primary);font-size:1.5rem;margin-bottom:20px}.ready-button{align-items:center;background:var(--color-success);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 auto;padding:12px 24px;transition:all .2s ease}.ready-button:hover{background:var(--color-success-dark);transform:translateY(-2px)}.ready-button:disabled{background:var(--color-disabled);cursor:not-allowed;transform:none}.ready-button.clicked{background:var(--color-warning)}.ready-spinner{animation:spin 1s linear infinite;border:2px solid transparent;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}.title-health-bar{background-color:#e0e0e0;border:1px solid #d0d0d0;border-radius:6px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1);height:12px;overflow:hidden}.title-health-fill{border-radius:5px;height:100%;transition:width .5s ease,background-color .5s ease}.title-health-fill.health-high{background-color:var(--color-accent);box-shadow:0 0 5px rgba(var(--color-accent-rgb),.3)}.title-health-fill.health-medium{background-color:var(--color-secondary);box-shadow:0 0 5px rgba(255,123,37,.3)}.title-health-fill.health-low{background-color:var(--color-danger);box-shadow:0 0 5px rgba(var(--color-danger-rgb),.3)}.mobile-player-header{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 8px 8px;border-top:none;box-shadow:var(--shadow-card);display:none;left:0;margin-bottom:16px;padding:12px 16px;position:fixed;right:0;top:0;z-index:100}.mobile-character-info{margin-bottom:8px}.mobile-player-name{word-wrap:break-word;color:var(--color-primary);font-family:var(--font-heading);font-size:1.2rem;font-weight:700;line-height:1.2;margin:0;overflow-wrap:break-word}.mobile-player-name.warlock-text{color:var(--color-warlock);font-size:1.1rem;line-height:1.3;text-shadow:0 0 3px rgba(34,0,51,.3)}.mobile-character-subtitle{color:var(--color-text-muted);font-size:.9rem;margin-top:2px}.mobile-health-section{align-items:center;display:flex;gap:12px}.mobile-health-text{color:var(--color-dark);flex-shrink:0;font-size:14px;font-weight:600;min-width:60px}.mobile-health-bar{background-color:#e0e0e0;border:1px solid #d0d0d0;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.mobile-health-fill{border-radius:3px;height:100%;transition:width .5s ease,background-color .5s ease}.mobile-health-fill.health-high{background-color:var(--color-accent)}.mobile-health-fill.health-medium{background-color:var(--color-secondary)}.mobile-health-fill.health-low{background-color:var(--color-danger)}.game-loading{align-items:center;color:var(--color-primary);display:flex;flex-direction:column;font-family:var(--font-body);font-size:1.2rem;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid rgba(var(--color-primary-rgb),.1);border-radius:50%;border-top-color:var(--color-primary);height:50px;margin-bottom:20px;width:50px}.game-page{background-color:var(--color-neutral);min-height:100vh;padding:20px}.desktop-header-container{margin:0 auto 20px;max-width:1200px;width:100%}.mobile-header-container{margin-bottom:16px;position:relative;width:100%;z-index:1}.desktop-layout{grid-gap:20px;display:grid;flex:1 1;gap:20px;grid-template-columns:1fr 2fr 1fr;margin:0 auto;max-width:1200px;padding:0 20px;width:100%}.mobile-layout{display:flex;flex:1 1;flex-direction:column}.phase-container{background-color:var(--color-surface);border-radius:8px;box-shadow:var(--shadow-card);display:flex;flex:2 1;flex-direction:column;margin-bottom:16px;min-height:500px;padding:16px;position:relative;transition:all .3s ease}.phase-container:hover{box-shadow:0 8px 16px rgba(0,0,0,.1)}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.fade-in{animation:fadeIn .5s ease}.slide-in{animation:slideIn .3s ease}@media (max-width:1200px){.game-container{padding:10px}.character-title-section{margin-bottom:16px}.game-title{font-size:1.8rem}.game-title.warlock-text{font-size:1.6rem}.title-health-text{font-size:15px}}@media (max-width:992px){.desktop-header-container{max-width:900px}.desktop-layout{gap:15px;grid-template-columns:1fr 1.5fr 1fr;max-width:900px}}@media (max-width:768px){.mobile-player-header{display:block}.character-title-section{display:none}.game-container{padding:80px 10px 10px}.phase-container{margin-top:12px;min-height:auto;padding:12px}}@media (max-width:480px){.mobile-player-header{margin-bottom:12px;padding:10px 12px}.game-container{padding-top:75px}.mobile-player-name{font-size:1.1rem}.mobile-player-name.warlock-text{font-size:1rem;line-height:1.4}.mobile-character-subtitle{font-size:.8rem}.mobile-health-text{font-size:13px;min-width:55px}.mobile-health-bar{height:6px}}.confetti-container{bottom:0;left:0;overflow:hidden;pointer-events:none;position:absolute;right:0;top:0;z-index:0}.confetti-piece{animation-fill-mode:forwards;animation-name:fall;animation-timing-function:ease-in;position:absolute;top:-20px}@keyframes fall{to{opacity:0;transform:translateY(100vh) rotate(1turn)}}.final-scores-container{margin:30px 0;text-align:center}.final-scores-title{color:#6c5ce7;color:var(--color-primary,#6c5ce7);font-family:var(--font-heading);font-size:1.5rem;letter-spacing:1px;margin-bottom:20px}.scores-table{background:var(--color-surface);border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.1);margin:0 auto;max-width:600px;overflow:hidden}.table-header{background:var(--color-primary);color:#fff;display:grid;font-size:.9rem;font-weight:700;grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:12px 16px;text-align:center}.header-player{padding-left:8px;text-align:left}.header-stat,.player-row{text-align:center}.player-row{align-items:center;border-bottom:1px solid var(--color-border);display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;padding:12px 16px;transition:background-color .2s ease}.player-row:last-child{border-bottom:none}.player-row:hover{background-color:var(--color-neutral)}.player-row-good{background-color:rgba(46,204,113,.1);border-left:4px solid #2ecc71}.warlock-row{background-color:rgba(155,89,182,.1);border-left:4px solid #9b59b6}.dead-row{background-color:hsla(184,9%,62%,.1);opacity:.6}.player-info{align-items:center;display:flex;gap:8px;text-align:left}.class-icon{font-size:1.2rem;text-align:center;width:24px}.class-icon-image{border-radius:3px;height:24px;object-fit:contain;width:24px}.class-icon-emoji{font-size:1.2rem}.player-name{color:#333;color:var(--color-text,#333);font-weight:600}.death-indicator{margin-left:auto;opacity:.7}.player-stat{color:#333;color:var(--color-text,#333);font-size:.9rem;font-weight:500}@media (max-width:768px){.scores-table{margin:0 -10px;max-width:100%}.player-row,.table-header{font-size:.8rem;padding:10px 12px}.final-scores-title{color:#6c5ce7;font-size:1.3rem}.player-name,.player-stat{color:#333}.class-icon{font-size:1rem;width:20px}.class-icon-image{height:20px;width:20px}.class-icon-emoji{font-size:1rem}}@media (max-width:480px){.player-row,.table-header{font-size:.75rem;grid-template-columns:1.5fr .8fr .8fr .8fr .8fr;padding:8px 10px}.player-info{gap:6px}.player-name,.player-stat{color:#333!important}.class-icon{font-size:.9rem;width:18px}.class-icon-image{height:18px;width:18px}.class-icon-emoji{font-size:.9rem}}.end-page-container{align-items:center;background:linear-gradient(135deg,var(--color-primary) 30,var(--color-secondary) 20);display:flex;flex-direction:column;font-family:var(--font-body);justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.results-card{animation:fadeIn .5s ease;background-color:var(--color-surface);border-radius:12px;box-shadow:0 10px 25px rgba(0,0,0,.1);max-width:900px;padding:30px;position:relative;text-align:center;width:100%;z-index:1}.title-container{align-items:center;display:flex;height:120px;justify-content:center;margin-bottom:24px;position:relative}.animated-title{font-family:var(--font-heading);font-size:3rem;left:50%;letter-spacing:2px;margin:0;position:absolute;text-shadow:0 2px 4px rgba(0,0,0,.2);top:50%;transform:translate(-50%,-50%);transition:opacity .8s ease-in-out;white-space:nowrap}.animated-title.visible{opacity:1}.animated-title.hidden{opacity:0}.animated-title:not(.winner-result){color:var(--color-primary)}.winner-result{font-size:2.5rem}.winner-description{color:var(--color-text-muted);font-size:1.1rem;margin-bottom:30px}.trophy-display{background:var(--color-surface);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin:20px 0;padding:15px}.trophy-header{margin-bottom:15px;text-align:center}.trophy-header h2{color:var(--color-text-primary);font-family:var(--font-heading);font-size:1.5rem;margin:0}.trophy-content{grid-gap:20px;align-items:center;color:var(--color-text-primary);display:grid;gap:20px;grid-template-columns:1fr 2fr 1fr}.trophy-avatar{align-items:center;display:flex;justify-content:center}.player-avatar{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:hsla(0,0%,100%,.1);border-radius:12px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));height:80px;width:80px}.trophy-details{text-align:center}.trophy-name{color:var(--color-text-primary);font-size:1.2rem;font-weight:700;margin-bottom:8px}.trophy-recipient{color:var(--color-text-secondary);font-size:1rem;margin-bottom:10px}.trophy-description{color:var(--color-text-secondary);font-size:.9rem;font-style:italic;line-height:1.4}.trophy-emoji{align-items:center;animation:trophyBounce 2s ease-in-out infinite;display:flex;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));font-size:4rem;justify-content:center}@keyframes trophyBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.team-groups{display:flex;flex-direction:column;gap:24px;margin:30px 0}.stats-container{margin-top:30px}.stats-title{color:var(--color-primary);font-family:var(--font-heading);margin-bottom:20px}.history-toggle-container{border-top:1px solid #eee;margin:30px 0 20px;padding-top:30px}.history-toggle-button{background-color:var(--color-primary);border:none;border-radius:6px;color:#fff;cursor:pointer;font-family:var(--font-body);font-size:16px;font-weight:700;padding:12px 24px;transition:all .2s ease}.history-toggle-button:hover{background-color:var(--color-secondary);box-shadow:0 4px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.complete-history-container{animation:slideDown .3s ease;background-color:var(--color-neutral);border:1px solid var(--color-border);border-radius:8px;margin:20px 0 30px;max-height:500px;overflow:hidden}.complete-history-container .history-column{background-color:transparent;box-shadow:none;height:auto;max-height:500px;padding:10px}.complete-history-container .section-title{color:var(--color-primary);font-size:1.1rem;margin-bottom:12px;text-align:center}.complete-history-container .history-content{max-height:450px;overflow-y:auto}.action-buttons{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:30px}.play-again-button{background-color:var(--color-secondary);border:none;border-radius:8px;box-shadow:var(--shadow-button);color:#fff;cursor:pointer;display:block;font-family:var(--font-body);font-size:18px;font-weight:700;margin:30px auto 0;padding:14px 30px;transition:all .2s ease}.play-again-button:hover{box-shadow:0 6px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.play-again-button:active{box-shadow:0 3px 6px rgba(0,0,0,.1);transform:translateY(1px)}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:500px;opacity:1;transform:translateY(0)}}@media (max-width:768px){.results-card{max-width:100%;padding:20px}.title-container{height:100px}.animated-title{font-size:2.5rem}.winner-result{font-size:2rem}.action-buttons{flex-direction:column;gap:15px}.play-again-button{font-size:16px;padding:12px 24px}.complete-history-container{max-height:400px}.complete-history-container .history-content{max-height:350px}.trophy-display{margin:15px 0;padding:12px}.trophy-header h2{font-size:1.3rem}.trophy-content{gap:15px}.player-avatar{height:70px;width:70px}.trophy-name{font-size:1.1rem}.trophy-recipient{font-size:1rem}.trophy-emoji{font-size:3rem}}@media (max-width:480px){.results-card{padding:15px}.title-container{height:80px}.animated-title{font-size:2rem;letter-spacing:1px}.winner-result{font-size:1.5rem}.stats-title{font-size:1.2rem}.action-buttons{gap:12px}.play-again-button{padding:12px 0;width:100%}.history-toggle-button{padding:10px 0;width:100%}.complete-history-container{border-radius:0;margin:15px -15px 20px;max-height:350px}.trophy-display{margin:10px 0;padding:10px}.trophy-header h2{font-size:1.2rem}.trophy-content{gap:10px;grid-template-columns:80px 1fr 80px}.player-avatar{height:60px;width:60px}.trophy-name{font-size:1rem}.trophy-description,.trophy-recipient{font-size:.9rem}.trophy-emoji{font-size:2.5rem}}.rune-test-container{background:#111;color:var(--color-text);min-height:100vh;padding:2rem}.rune-test-header{align-items:center;border-bottom:2px solid var(--color-border);display:flex;justify-content:space-between;margin-bottom:3rem;padding-bottom:1rem}.rune-test-header h1{color:var(--color-primary);font-family:var(--font-heading);font-size:2.5rem;margin:0}.rune-test-content{margin:0 auto;max-width:1200px}.button-section{margin-bottom:3rem}.button-section h2{color:var(--color-primary);font-family:var(--font-heading);font-size:1.8rem;margin-bottom:1.5rem}.button-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.font-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:3rem}.font-demo{background:hsla(0,0%,100%,.02);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;padding:1rem;text-align:center}.font-demo h3{color:#8f5df4;font-family:var(--font-body);font-size:.9rem;letter-spacing:.1em;margin-bottom:1rem;opacity:.8;text-transform:uppercase}.comparison-section{border-top:2px solid var(--color-border);margin-top:4rem;padding-top:2rem}.comparison-section h2{color:var(--color-primary);font-family:var(--font-heading);margin-bottom:2rem;text-align:center}.comparison-grid{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:600px}.comparison-item{text-align:center}.comparison-item h3{color:var(--color-text-muted);margin-bottom:1rem}.standard-button{background:var(--color-primary);border:none;border-radius:8px;color:#fff;cursor:pointer;font-family:var(--font-body);font-size:1rem;min-width:150px;padding:.75rem 1.5rem;transition:all .2s ease}.standard-button:hover{background:var(--color-secondary);box-shadow:0 4px 8px rgba(0,0,0,.2);transform:translateY(-2px)}.standard-button:active{transform:translateY(0)}@media (max-width:768px){.rune-test-container{padding:1rem}.rune-test-header{flex-direction:column;gap:1rem;text-align:center}.button-grid{gap:1.5rem;grid-template-columns:1fr}.comparison-grid{gap:2rem;grid-template-columns:1fr}}.app-container{background-color:var(--color-neutral);color:var(--color-dark);display:flex;flex-direction:column;font-family:var(--font-body);min-height:100vh;overflow-x:hidden}.app-container>*{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-secondary)}.text-danger{color:var(--color-danger)}.text-accent{color:var(--color-accent)}.hide-on-mobile{display:block}.show-on-mobile{display:none}@media (max-width:768px){.hide-on-mobile{display:none}.show-on-mobile{display:block}}:root{--color-primary:#4a2c82;--color-secondary:#ff7b25;--color-accent:#2cb978;--color-danger:#e84855;--color-neutral:#f5f5f5;--color-dark:#333;--color-monster:#8b0000;--color-warlock:#203;--color-primary-rgb:74,44,130;--color-secondary-rgb:255,123,37;--color-accent-rgb:44,185,120;--color-danger-rgb:232,72,85;--color-neutral-rgb:245,245,245;--color-text-rgb:51,51,51;--color-text-muted-rgb:102,102,102;--color-surface-rgb:255,255,255;--color-border-rgb:224,224,224;--color-background:#fff;--color-surface:#fff;--color-border:#e0e0e0;--color-text:#333;--color-text-muted:#666;--font-heading:"Cinzel",serif;--font-body:"Source Sans Pro",sans-serif;--shadow-card:0 4px 8px rgba(0,0,0,.2);--shadow-button:0 2px 4px rgba(0,0,0,.2);--border-radius:8px;--spacing-small:8px;--spacing-medium:16px;--spacing-large:24px;--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease}.theme-dark{--color-primary-rgb:124,95,176;--color-secondary-rgb:255,149,84;--color-accent-rgb:78,211,150;--color-danger-rgb:255,107,117;--color-neutral-rgb:26,26,26;--color-text-rgb:224,224,224;--color-text-muted-rgb:176,176,176;--color-surface-rgb:30,30,30;--color-border-rgb:64,64,64;color-scheme:dark}*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{height:100%;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--color-background);color:#333;color:var(--color-text);font-family:Source Sans Pro,sans-serif;font-family:var(--font-body);line-height:1.6;transition:background-color .3s ease,color .3s ease;transition:background-color var(--transition-normal),color var(--transition-normal)}*,:after,:before{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease;transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}.theme-switching *{transition:none!important}a{color:#4a2c82;color:var(--color-primary);text-decoration:none;transition:color .15s ease;transition:color var(--transition-fast)}a:hover{color:#ff7b25;color:var(--color-secondary)}button{cursor:pointer}button,input,select,textarea{font-family:Source Sans Pro,sans-serif;font-family:var(--font-body)}input,select,textarea{border-color:#e0e0e0;border-color:var(--color-border);color:#333;color:var(--color-text)}h1,h2,h3,h4,h5,h6{color:#4a2c82;color:var(--color-primary);font-family:Cinzel,serif;font-family:var(--font-heading);margin-bottom:16px;margin-bottom:var(--spacing-medium)}.button{background-color:#4a2c82;background-color:var(--color-primary);border:none;border-radius:8px;border-radius:var(--border-radius);box-shadow:0 2px 4px rgba(0,0,0,.2);box-shadow:var(--shadow-button);color:#fff;cursor:pointer;display:inline-block;font-weight:700;padding:10px 20px;text-align:center;transition:all .15s ease;transition:all var(--transition-fast)}.button:hover{box-shadow:0 6px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.button:active{box-shadow:0 2px 4px rgba(0,0,0,.1);transform:translateY(0)}.button:disabled{background-color:#666;background-color:var(--color-text-muted);box-shadow:none;cursor:not-allowed;opacity:.6;transform:none}.button.primary{background-color:#4a2c82;background-color:var(--color-primary)}.button.secondary{background-color:#ff7b25;background-color:var(--color-secondary)}.button.accent{background-color:#2cb978;background-color:var(--color-accent)}.button.danger{background-color:#e84855;background-color:var(--color-danger)}.card{border-radius:8px;border-radius:var(--border-radius);box-shadow:0 4px 8px rgba(0,0,0,.2);box-shadow:var(--shadow-card);margin-bottom:16px;margin-bottom:var(--spacing-medium);padding:16px;padding:var(--spacing-medium)}.card,input,select,textarea{background-color:#fff;background-color:var(--color-surface);border:1px solid #e0e0e0;border:1px solid var(--color-border)}input,select,textarea{border-radius:8px;border-radius:var(--border-radius);font-size:16px;padding:10px 15px;transition:all .15s ease;transition:all var(--transition-fast);width:100%}input:focus,select:focus,textarea:focus{border-color:#4a2c82;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(74,44,130,.1);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb),.1);outline:none}.theme-dark input:focus,.theme-dark select:focus,.theme-dark textarea:focus{box-shadow:0 0 0 3px rgba(124,95,176,.2)}label{color:#333;color:var(--color-text);display:block;font-weight:700;margin-bottom:8px}.text-center{text-align:center}.container{margin:0 auto;max-width:1200px;padding:0 16px;padding:0 var(--spacing-medium)}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.flex{display:flex}.flex-column{display:flex;flex-direction:column}.flex-center,.flex-center-column{align-items:center;display:flex;justify-content:center}.flex-center-column{flex-direction:column}.justify-center{justify-content:center}.items-center{align-items:center}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1 1}.full-screen-center{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh}.theme-dark ::-webkit-scrollbar{background-color:#fff;background-color:var(--color-surface)}.theme-dark ::-webkit-scrollbar-thumb{background-color:#e0e0e0;background-color:var(--color-border)}.theme-dark ::-webkit-scrollbar-thumb:hover{background-color:#4a2c82;background-color:var(--color-primary)}.theme-dark ::selection{background-color:#4a2c82;background-color:var(--color-primary);color:#fff}.theme-dark img{opacity:.9}.theme-dark img:hover{opacity:1}
/*# sourceMappingURL=main.13bad78b.css.map*/