@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/cinzel-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/cinzel-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-primary: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "Cinzel", "Georgia", "Times New Roman", serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;font-family:var(--font-primary);line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--sp-0: 0;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--primary-color: var(--dnd-gold);--primary-dark: var(--dnd-surface-2);--secondary-color: var(--dnd-accent-purple);--accent-color: var(--dnd-accent-purple);--z-base: 0;--z-raised: 10;--z-header: 50;--z-burger: 100;--z-dropdown: 200;--z-modal-backdrop: 1000;--z-modal: 2000;--z-toast: 9000;--z-tooltip: 9500;--z-critical: 10000}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}body{min-width:320px;min-height:100dvh;font-family:inherit;line-height:inherit}#root{width:100%;margin:0 auto;text-align:left}@media(min-width:1024px){#root{max-width:960px;box-shadow:0 0 40px #0006;min-height:100vh}}@media(min-width:1400px){#root{max-width:1100px}}h1,h2,h3,h4,h5,h6{line-height:1.2;color:var(--dnd-text);text-wrap:balance}p{text-wrap:pretty}a{color:var(--dnd-gold);text-decoration:none}a:hover{color:var(--dnd-gold-dark)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}ul,ol{list-style:none}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--dnd-gold, #d4af37);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--dnd-gold-20);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--dnd-gold-30)}*{scrollbar-width:thin;scrollbar-color:var(--dnd-gold-20) transparent}.dice-icon{display:inline-block;width:1em;height:1em;color:inherit;vertical-align:-.125em;flex-shrink:0}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--dnd-surface-0);color:var(--dnd-text);padding:1rem}.error-boundary__container{max-width:500px;text-align:center;background:var(--dnd-surface-1);border-radius:var(--radius-lg);padding:2rem;box-shadow:0 4px 20px #0000004d;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.error-boundary__icon{font-size:3rem;margin-bottom:1rem}.error-boundary__title{font-family:var(--font-display);font-size:1.75rem;color:var(--dnd-gold);margin:0 0 .5rem;font-weight:700}.error-boundary__message{font-size:1rem;color:var(--dnd-text-muted);margin:0 0 1.5rem;line-height:1.6}.error-boundary__details{margin:1.5rem 0;padding:1rem;background:var(--dnd-surface-0);border-radius:var(--radius-md);text-align:left}.error-boundary__details summary{cursor:pointer;color:var(--dnd-gold);font-weight:600;-webkit-user-select:none;user-select:none}.error-boundary__details summary:hover{color:var(--dnd-gold-light, #f0e6a0)}.error-boundary__stack{margin-top:.5rem;padding:.75rem;background:var(--dnd-surface-2);border-radius:var(--radius-sm);font-size:.75rem;overflow-x:auto;color:var(--dnd-accent-red);font-family:Monaco,Courier New,monospace}.error-boundary__actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.error-boundary__button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:var(--font-primary)}.error-boundary__button--primary{background:var(--dnd-gold);color:var(--dnd-surface-0)}.error-boundary__button--primary:hover{background:var(--dnd-gold-light, #f0e6a0);transform:translateY(-2px);box-shadow:0 4px 12px #f0b4004d}.error-boundary__button--primary:active{transform:translateY(0)}.error-boundary__button--secondary{background:var(--dnd-surface-2);color:var(--dnd-text);border:1px solid var(--dnd-text-muted)}.error-boundary__button--secondary:hover{background:var(--dnd-surface-2);border-color:var(--dnd-gold);color:var(--dnd-gold)}.error-boundary__hint{font-size:.85rem;color:var(--dnd-text-muted);margin:0}[data-theme=light] .error-boundary{background:var(--dnd-surface-0)}[data-theme=light] .error-boundary__container{background:var(--dnd-surface-1);box-shadow:0 2px 8px #0000001a}.language-switcher{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid var(--dnd-border, rgba(255, 255, 255, .12));border-radius:var(--radius-md, 8px);background:var(--dnd-surface-1, #1a1f25);color:var(--dnd-text, #e0e0e0);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.language-switcher:hover{background:var(--dnd-surface-2, #252b33);border-color:var(--dnd-gold, #c8a84e)}.connectivity-badge{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-md, 8px);font-size:.85rem;font-weight:600;z-index:var(--z-toast);animation:slideBadgeIn .3s ease-out;pointer-events:none}@keyframes slideBadgeIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.connectivity-badge--offline{background:#dc3232e6;color:#fff;box-shadow:0 2px 12px #dc323266}.connectivity-badge__dot{width:8px;height:8px;border-radius:50%;background:#ff6b6b;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.connectivity-badge__text{white-space:nowrap}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,var(--dnd-darker) 0%,var(--dnd-dark) 50%,var(--dnd-dark) 100%);background-attachment:fixed;padding:1.25rem 1rem;font-family:var(--font-primary);position:relative}.auth-page:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 50%,var(--dnd-gold-03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,var(--dnd-red-08) 0%,transparent 50%);pointer-events:none;z-index:0}:root[data-theme=light] .auth-page:before{background-image:radial-gradient(circle at 20% 50%,rgba(139,112,20,.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(217,83,79,.03) 0%,transparent 50%)}.auth-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--dnd-text);z-index:1}.auth-container{width:100%;max-width:420px;padding:2rem;background:#1a2332f2;border-radius:var(--radius-lg);box-shadow:0 4px 24px #00000080,inset 0 1px 1px var(--dnd-gold-08);border:1px solid var(--dnd-border);position:relative;z-index:1;animation:authFadeIn .5s ease-out}:root[data-theme=light] .auth-container{background:var(--dnd-card-bg);box-shadow:0 4px 24px #0000001a,inset 0 1px 1px #7a5c1e0f}.auth-container:before,.auth-container:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-gold),transparent);opacity:.5}.auth-container:before{top:0}.auth-container:after{bottom:0}@keyframes authFadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:1.75rem}.auth-logo{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.5rem}.auth-logo-icon{font-size:1.8rem}.auth-logo h1{color:var(--dnd-gold);font-size:1.4rem;font-family:var(--font-display);letter-spacing:1.5px;text-transform:uppercase;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.5)}:root[data-theme=light] .auth-logo h1{text-shadow:none}.auth-subtitle{color:var(--dnd-text);font-size:.95rem;margin:0;font-style:italic;letter-spacing:.3px}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.4rem}.auth-field label{display:block;font-weight:600;color:var(--dnd-gold);font-size:.8rem;letter-spacing:.5px;text-transform:uppercase;font-family:var(--font-primary)}.auth-field input{width:100%;padding:.625rem;background:#09191acc;border:1px solid var(--dnd-border);border-radius:var(--radius-sm);font-size:1rem;font-family:inherit;color:var(--dnd-text-light);transition:all .3s ease;box-sizing:border-box}:root[data-theme=light] .auth-field input{background:var(--dnd-darker)}.auth-field input::placeholder{color:#d8c9b84d}:root[data-theme=light] .auth-field input::placeholder{color:#2d2a2459}.auth-field input:focus{outline:none;border-color:var(--dnd-gold);background:#09191a;box-shadow:0 0 20px var(--dnd-gold-20),inset 0 0 0 1px var(--dnd-gold)}:root[data-theme=light] .auth-field input:focus{background:#fff;box-shadow:0 0 0 2px #7a5c1e40}.auth-error{background:var(--dnd-red-20);border:1px solid var(--dnd-accent-red);border-radius:var(--radius-sm);padding:.6rem .8rem;color:#e8a0a0;font-size:.85rem;line-height:1.4}:root[data-theme=light] .auth-error{background:#8b2e2e14;color:var(--dnd-accent-red)}.auth-success{background:#2e8b5726;border:1px solid rgba(46,139,87,.4);border-radius:var(--radius-sm);padding:.6rem .8rem;color:#7cd4a8;font-size:.85rem;line-height:1.4}:root[data-theme=light] .auth-success{background:#2e8b5714;color:#1a6b3a}.auth-btn{width:100%;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem;font-family:inherit}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-btn-primary{background:linear-gradient(135deg,var(--dnd-gold) 0%,var(--dnd-gold-dark) 100%);color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-primary)}.auth-btn-primary:hover:not(:disabled){box-shadow:0 4px 16px var(--dnd-gold-40);transform:translateY(-1px)}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-google{background:#ffffff14;border:1px solid var(--dnd-border);color:var(--dnd-text-light)}:root[data-theme=light] .auth-btn-google{background:var(--dnd-darker);color:var(--dnd-text)}.auth-btn-google:hover:not(:disabled){background:#ffffff1f;border-color:var(--dnd-gold)}:root[data-theme=light] .auth-btn-google:hover:not(:disabled){background:var(--dnd-card-bg);border-color:var(--dnd-gold)}.auth-google-icon{flex-shrink:0}.auth-btn-loading{display:flex;align-items:center;gap:.5rem}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--dnd-border),transparent)}.auth-divider span{color:var(--dnd-text);font-size:.8rem;text-transform:uppercase;letter-spacing:1px;opacity:.6}.auth-footer{margin-top:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.auth-footer-text{color:var(--dnd-text);font-size:.85rem}.auth-link{background:none;border:none;color:var(--dnd-gold);cursor:pointer;font-size:.85rem;padding:0;font-family:inherit;transition:color .2s ease;text-decoration:none}.auth-link:hover{color:var(--dnd-text-light);text-decoration:underline}.auth-spinner{width:36px;height:36px;border:3px solid var(--dnd-border);border-top-color:var(--dnd-gold);border-radius:50%;animation:authSpin .8s linear infinite}.auth-spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(26,26,26,.3);border-top-color:#1a1a1a;border-radius:50%;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}@media(max-width:480px){.auth-container{padding:1.5rem 1.25rem}.auth-logo h1{font-size:1.2rem}}.auth-btn-guest{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem 1rem;border:1px dashed var(--dnd-border);border-radius:8px;background:transparent;color:var(--dnd-text-light);font-size:.95rem;cursor:pointer;transition:all .2s}.auth-btn-guest:hover{border-color:var(--dnd-gold);color:var(--dnd-gold);background:var(--dnd-gold-06)}.auth-guest-hint{text-align:center;font-size:.8rem;color:var(--dnd-text-muted, #888);margin-top:.5rem}.skeleton{background:linear-gradient(90deg,var(--dnd-surface-2) 25%,var(--dnd-surface-3) 50%,var(--dnd-surface-2) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:1em;margin-bottom:.5rem}.skeleton-title{height:1.5em;width:60%;margin-bottom:1rem}.skeleton-card{height:80px;margin-bottom:.75rem;border-radius:var(--radius-md)}.skeleton-circle{width:40px;height:40px;border-radius:50%}.character-list-skeleton{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.sheet-header-skeleton{display:flex;align-items:center;gap:1rem;padding:1rem}.sheet-header-skeleton .skeleton-circle{width:48px;height:48px;flex-shrink:0}.sheet-header-skeleton .skeleton-info{flex:1;display:flex;flex-direction:column;gap:.5rem}.tab-content-skeleton{padding:1rem;display:flex;flex-direction:column;gap:.75rem}:root[data-theme=classic-red] .wizard-container:before{background-image:radial-gradient(circle at 20% 50%,rgba(196,30,58,.03) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(100,100,100,.02) 0%,transparent 50%)}:root[data-theme=classic-red] .wizard-header h1{text-shadow:0 0 30px rgba(196,30,58,.15)}:root[data-theme=classic-red] .progress-indicator .step.active{background:#ffffff0f;border-color:var(--dnd-gold);color:var(--dnd-gold);box-shadow:0 0 12px #c41e3a40}:root[data-theme=classic-red] .progress-indicator .step.completed{background:#ffffff14;border-color:var(--dnd-gold);color:var(--dnd-gold)}:root[data-theme=classic-red] .btn{border:1px solid rgba(196,30,58,.3);background:#ffffff0a}:root[data-theme=classic-red] .btn:hover{border-color:#c41e3a80;background:#ffffff14;box-shadow:0 4px 15px #c41e3a33}:root[data-theme=classic-red] .btn-primary,:root[data-theme=classic-red] .btn-primary:hover{background:linear-gradient(135deg,#c41e3a,#8b1a2b);border-color:#c41e3a}:root[data-theme=classic-red] .btn-primary:hover{background:linear-gradient(135deg,#d42a46,#a02030);box-shadow:0 6px 20px #c41e3a59}:root[data-theme=classic-red] .selection-card{border-color:#ffffff14;background:#ffffff05}:root[data-theme=classic-red] .selection-card:hover{border-color:#c41e3a59;background:#ffffff0a;box-shadow:0 4px 20px #c41e3a1f}:root[data-theme=classic-red] .selection-card.selected{border-color:var(--dnd-gold);background:#ffffff0f;box-shadow:0 0 20px #c41e3a33}:root[data-theme=classic-red] .step-section{border:1px solid rgba(255,255,255,.06);background:#ffffff05}:root[data-theme=classic-red] .wizard-step h2:after{background:linear-gradient(90deg,var(--dnd-gold),transparent)}:root[data-theme=classic-red] .wizard-nav .btn-secondary{border-color:#c41e3a4d}:root[data-theme=classic-red] .character-sheet:before{background-image:radial-gradient(circle at 20% 50%,rgba(196,30,58,.02) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(100,100,100,.02) 0%,transparent 50%)}:root[data-theme=classic-red] .sheet-header{background:linear-gradient(135deg,var(--dnd-surface-2) 0%,var(--dnd-surface-3) 100%);border-bottom:2px solid rgba(196,30,58,.3);box-shadow:0 8px 30px #0003,inset 0 1px 1px #ffffff08}:root[data-theme=classic-red] .sheet-header:before,:root[data-theme=classic-red] .sheet-header:after{background:#ffffff08}:root[data-theme=classic-red] .info-tag{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--dnd-text-light);text-shadow:none}:root[data-theme=classic-red] .info-tag:hover{background:#ffffff1a;border-color:#c41e3a4d}:root[data-theme=classic-red] .character-title h1{text-shadow:0 0 20px rgba(196,30,58,.15)}:root[data-theme=classic-red] .character-name-editable:hover{background:#ffffff0d}:root[data-theme=classic-red] .name-edit-input{border:1px solid var(--dnd-gold);box-shadow:0 0 8px #c41e3a4d}:root[data-theme=classic-red] .burger-toggle span{background:var(--dnd-gold)}:root[data-theme=classic-red] .burger-dropdown{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.2);box-shadow:0 8px 30px #00000080}:root[data-theme=classic-red] .burger-item:hover{background:#ffffff0f}:root[data-theme=classic-red] .burger-theme-select{background:var(--dnd-surface-0);border-color:#c41e3a26;color:var(--dnd-text)}:root[data-theme=classic-red] .burger-theme-select:hover{border-color:#c41e3a40}:root[data-theme=classic-red] .burger-theme-select:focus{border-color:var(--dnd-gold);box-shadow:0 0 0 2px #c41e3a1a}:root[data-theme=classic-red] .sheet-tabs{background:var(--dnd-surface-1);border-bottom:1px solid rgba(196,30,58,.15);box-shadow:inset 0 -1px 2px #0003}:root[data-theme=classic-red] .sheet-tab:hover{background:#ffffff0a}:root[data-theme=classic-red] .sheet-tab.active{color:var(--dnd-gold);background:#ffffff0f}:root[data-theme=classic-red] .sheet-tab.active:after{background:var(--dnd-gold);box-shadow:0 0 8px #c41e3a66}:root[data-theme=classic-red] .section{background:#ffffff06;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 15px #00000040,inset 0 1px 1px #ffffff05}:root[data-theme=classic-red] .section h3{border-bottom:2px solid rgba(196,30,58,.25)}:root[data-theme=classic-red] .section-header-static{border-bottom:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .sheet-top-block{background:var(--dnd-surface-1);border-bottom:1px solid rgba(196,30,58,.15)}:root[data-theme=classic-red] .compact-stat-icon{color:var(--dnd-gold)}:root[data-theme=classic-red] .compact-stat-value{color:var(--dnd-text-light)}:root[data-theme=classic-red] .stat-tooltip{background:#121214f2;border:1px solid rgba(196,30,58,.3)}:root[data-theme=classic-red] .hp-bar-container{background:var(--dnd-surface-2);border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .hp-bar-background{background:linear-gradient(90deg,#2d8a3e33,#4caf5033,#66bb6a33)}:root[data-theme=classic-red] .hp-input{background:#0000004d;border:1px solid rgba(255,255,255,.1)}:root[data-theme=classic-red] .hp-btn{background:#ffffff0f;border:1px solid rgba(196,30,58,.3)}:root[data-theme=classic-red] .hp-btn:hover{background:#ffffff1a;border-color:#c41e3a80}:root[data-theme=classic-red] .ac-input{border-color:var(--dnd-gold);box-shadow:0 0 6px #c41e3a4d}:root[data-theme=classic-red] .ac-override-hint{color:#c41e3a80}:root[data-theme=classic-red] .ability-box{background:#ffffff08;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 1px #ffffff05,0 2px 8px #0003}:root[data-theme=classic-red] .ability-box:before{background:linear-gradient(90deg,transparent,var(--dnd-gold),transparent)}:root[data-theme=classic-red] .ability-box:hover{border-color:#c41e3a66;background:#ffffff0f;box-shadow:0 0 20px #c41e3a1f,inset 0 1px 1px #ffffff0a}:root[data-theme=classic-red] .ability-card{background:#ffffff06;border:1px solid rgba(255,255,255,.06);box-shadow:0 4px 15px #0003,inset 0 1px 1px #ffffff05}:root[data-theme=classic-red] .ability-card:hover{background:#ffffff0d;border-color:#c41e3a40;box-shadow:0 6px 20px #c41e3a1a,inset 0 1px 1px #ffffff08}:root[data-theme=classic-red] .ability-card .modifier{text-shadow:0 0 8px rgba(196,30,58,.35)}:root[data-theme=classic-red] .ability-card .modifier.positive{text-shadow:0 0 8px rgba(196,30,58,.6)}:root[data-theme=classic-red] .skill-row:hover{background:#ffffff0a}:root[data-theme=classic-red] .proficient-dot{background:var(--dnd-gold);box-shadow:0 0 6px #c41e3a80}:root[data-theme=classic-red] .skill-bonus{color:var(--dnd-gold)}:root[data-theme=classic-red] .skill-row.expertise{background:#c41e3a1f;border-left-color:var(--dnd-gold);border-left-width:3px}:root[data-theme=classic-red] .skill-row.expertise .skill-modifier{background:linear-gradient(135deg,#c41e3a,#8b1a2b);color:#fff;border-color:#c41e3a;box-shadow:0 0 14px #c41e3a59;font-weight:900}:root[data-theme=classic-red] .expertise-mark{color:var(--dnd-gold);text-shadow:0 0 6px rgba(196,30,58,.5)}:root[data-theme=classic-red] .skill-row.proficient .skill-modifier{background:linear-gradient(135deg,#c41e3a99,#8b1a2b99);color:#fff;border-color:#c41e3a80;box-shadow:0 0 10px #c41e3a33}:root[data-theme=classic-red] .spell-circle-row{border-bottom:1px solid rgba(255,255,255,.05)}:root[data-theme=classic-red] .slot-btn{border:1px solid rgba(255,255,255,.08);background:#ffffff05}:root[data-theme=classic-red] .slot-btn.used{background:#c41e3a26;border-color:var(--dnd-gold);box-shadow:0 0 6px #c41e3a4d}:root[data-theme=classic-red] .spell-name-link{color:var(--dnd-gold)}:root[data-theme=classic-red] .spell-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .spell-card:hover{border-color:#c41e3a40;background:#ffffff0a}:root[data-theme=classic-red] .combat-weapon-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .combat-weapon-card:hover{border-color:#c41e3a40;background:#ffffff0a}:root[data-theme=classic-red] .attack-bonus{color:var(--dnd-gold)}:root[data-theme=classic-red] .inventory-item{border-bottom:1px solid rgba(255,255,255,.04)}:root[data-theme=classic-red] .inventory-item:hover{background:#ffffff08}:root[data-theme=classic-red] .qty-btn{border:1px solid rgba(255,255,255,.1);background:#ffffff0a}:root[data-theme=classic-red] .qty-btn:hover{background:#ffffff14;border-color:#c41e3a4d}:root[data-theme=classic-red] .qty-btn.edit-btn{border-color:#c41e3a4d}:root[data-theme=classic-red] .qty-btn.edit-btn:hover{background:#ffffff14}:root[data-theme=classic-red] .feature-item{border-bottom:1px dashed rgba(255,255,255,.08)}:root[data-theme=classic-red] .feature-header{color:var(--dnd-gold)}:root[data-theme=classic-red] .armor-modal{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.2);box-shadow:0 20px 60px #00000080}:root[data-theme=classic-red] .armor-modal-header{border-bottom:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .armor-modal-footer{border-top:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .armor-select{background:var(--dnd-surface-1);border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .armor-detail-tag{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .vitals-combat-divider{background:linear-gradient(90deg,transparent,rgba(196,30,58,.2),transparent)}:root[data-theme=classic-red] .dice-roll-modal{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.2)}:root[data-theme=classic-red] .dice-roll-header{border-bottom:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .dice-roll-btn{background:#ffffff0a;border:1px solid rgba(196,30,58,.2)}:root[data-theme=classic-red] .dice-roll-btn:hover{background:#ffffff14;border-color:#c41e3a66}:root[data-theme=classic-red] .quick-dice-panel{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.15)}:root[data-theme=classic-red] .quick-dice-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .quick-dice-btn:hover{background:#ffffff14;border-color:#c41e3a4d}:root[data-theme=classic-red] .notes-textarea{background:#00000040;border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .notes-textarea:focus{border-color:var(--dnd-gold);box-shadow:0 0 8px #c41e3a33}:root[data-theme=classic-red] .level-badge{background:linear-gradient(135deg,#c41e3a,#8b1a2b);color:#fff;border:1px solid rgba(196,30,58,.5);box-shadow:0 1px 4px #0006,inset 0 1px #ffffff26}:root[data-theme=classic-red] .resource-pip{border:1px solid rgba(196,30,58,.3)}:root[data-theme=classic-red] .resource-pip.filled{background:var(--dnd-gold);box-shadow:0 0 6px #c41e3a66}:root[data-theme=classic-red] .portrait-container{border:2px solid rgba(196,30,58,.2);box-shadow:0 0 20px #0003}:root[data-theme=classic-red] .death-save-btn{border:1px solid rgba(255,255,255,.1)}:root[data-theme=classic-red] .theme-toggle{background:#ffffff0d;border:2px solid rgba(196,30,58,.3);color:var(--dnd-gold);box-shadow:0 2px 8px #00000040}:root[data-theme=classic-red] .theme-toggle:hover{background:#ffffff14;border-color:#c41e3a80;transform:scale(1.1);box-shadow:0 4px 12px #c41e3a33}:root[data-theme=classic-red] .character-card{background:#ffffff05;border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .character-card:hover{border-color:#c41e3a4d;box-shadow:0 6px 20px #c41e3a1a}:root[data-theme=classic-red] .btn.btn-secondary.char-list-pregen-btn{background:linear-gradient(135deg,#c41e3a1f,#c41e3a0f)!important;color:var(--dnd-gold)!important}:root[data-theme=classic-red] .btn.btn-secondary.char-list-pregen-btn:hover{background:linear-gradient(135deg,#c41e3a33,#c41e3a1a)!important;color:var(--dnd-gold)!important}:root[data-theme=classic-red] .add-character-btn{background:#ffffff08;border:2px dashed rgba(196,30,58,.25)}:root[data-theme=classic-red] .add-character-btn:hover{background:#ffffff0f;border-color:#c41e3a80}:root[data-theme=classic-red] .auth-container{border:1px solid rgba(255,255,255,.06)}:root[data-theme=classic-red] .auth-field input{border:1px solid rgba(255,255,255,.1);background:#0003}:root[data-theme=classic-red] .auth-field input:focus{border-color:var(--dnd-gold);box-shadow:0 0 8px #c41e3a40}:root[data-theme=classic-red] .session-card{border:1px solid rgba(255,255,255,.06);background:#ffffff05}:root[data-theme=classic-red] .session-card:hover{border-color:#c41e3a40;background:#ffffff0a}:root[data-theme=classic-red] .share-modal{background:var(--dnd-surface-2);border:1px solid rgba(196,30,58,.2)}:root[data-theme=classic-red] .share-code{background:#ffffff0a;border:1px solid rgba(255,255,255,.08)}:root[data-theme=classic-red] .ptr-spinner{border-color:#ffffff1a;border-top-color:var(--dnd-gold)}@keyframes classicRedPulse{0%,to{box-shadow:0 0 8px #c41e3a26}50%{box-shadow:0 0 18px #c41e3a59}}:root[data-theme=classic-red] .concentration-badge{animation:classicRedPulse 2s ease-in-out infinite}:root[data-theme=classic-red] ::-webkit-scrollbar-thumb{background:#c41e3a4d}:root[data-theme=classic-red] ::-webkit-scrollbar-thumb:hover{background:#c41e3a80}:root[data-theme=classic-red] ::-webkit-scrollbar-track{background:var(--dnd-surface-0)}:root[data-theme=classic-red] .hp-bar-container{background:#c41e3a1a;border-color:#c41e3a4d}:root[data-theme=classic-red] .hp-btn.damage{border-color:#c41e3a80;color:#c41e3a}:root[data-theme=classic-red] .hp-btn.damage:hover{background:#c41e3a33}:root[data-theme=classic-red] .notes-editor{border-color:#c41e3a33}:root[data-theme=classic-red] .notes-editor:focus-within{border-color:#c41e3a80}:root[data-theme=classic-red] .cs-flag--self .cs-flag-body{border-color:#c41e3a80;background:#c41e3a1a}:root[data-theme=classic-red] .combat-log-entry{border-left-color:#c41e3a66}:root[data-theme=classic-red] .connectivity-badge--offline{background:#c41e3ae6}
