:root{--color-bg-darkest: #0a0a0a;--color-bg-darker: #0d0d0d;--color-bg-dark: #0f0f0f;--color-bg-base: #1a1a1a;--color-bg-elevated: #2a2a2a;--color-bg-hover: #333;--color-border-darkest: #222;--color-border-dark: #333;--color-border-base: #444;--color-border-light: #555;--color-border-lighter: #666;--color-text-muted: #666;--color-text-secondary: #888;--color-text-tertiary: #999;--color-text-base: #aaa;--color-text-light: #bbb;--color-text-lighter: #ccc;--color-text-bright: #ddd;--color-text-emphasis: #e0e0e0;--color-text-primary: #fff;--color-success-dark: #1a5c1a;--color-success-base: #28a745;--color-success-light: #4caf50;--color-success-bright: #66bb6a;--color-success-text: #4a4;--color-danger-darkest: #8b0000;--color-danger-dark: #a00;--color-danger-base: #dc3545;--color-danger-light: #a66;--color-danger-lighter: #c88;--color-danger-text: #d88;--color-warning-dark: #8b4513;--color-warning-base: #ffc107;--color-warning-light: #d4a373;--color-warning-bg: #fff3cd;--color-accent-dark: #2d6ab4;--color-accent-base: #4a90e2;--color-accent-light: #3498db;--color-accent-bright: #88f;--color-magic-darkest: #4a3a6a;--color-magic-dark: #4a4a6a;--color-magic-base: #9b59b6;--color-magic-light: #6a4a8a;--color-magic-bright: #9d8bff;--color-gold: #da4;--color-gold-bright: #d4a017;--color-armor: #4a5568;--color-alchemist-primary: #9b59b6;--color-alchemist-secondary: #4a3a6a;--color-alchemist-bg: rgba(155, 89, 182, .1);--color-wound-minor: rgb(99, 0, 0);--color-wound-minor-bg: rgba(99, 0, 0, .1);--color-wound-minor-bg-dark: rgba(99, 0, 0, .2);--color-wound-serious: rgb(64, 0, 0);--color-wound-serious-bg: rgba(64, 0, 0, .1);--color-wound-serious-bg-dark: rgba(64, 0, 0, .2);--color-wound-devastating: rgb(36, 0, 0);--color-wound-devastating-bg: rgba(36, 0, 0, .1);--color-wound-devastating-bg-dark: rgba(36, 0, 0, .2);--color-wound-temporary: #4a9eff;--font-family-base: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 13px;--font-size-base: 14px;--font-size-lg: 15px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 28px;--font-size-5xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-base: 1.5;--line-height-relaxed: 1.6;--letter-spacing-tight: .5px;--letter-spacing-base: 1px;--letter-spacing-wide: 1.5px;--letter-spacing-wider: 2px;--spacing-0: 0;--spacing-1: 4px;--spacing-2: 6px;--spacing-3: 8px;--spacing-4: 10px;--spacing-5: 12px;--spacing-6: 16px;--spacing-7: 20px;--spacing-8: 24px;--spacing-9: 32px;--radius-none: 0;--radius-sm: 2px;--radius-base: 4px;--radius-md: 6px;--radius-lg: 8px;--border-width-thin: 1px;--border-width-base: 2px;--border-width-thick: 3px;--shadow-none: none;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-base: 0 2px 4px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .6);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .7);--shadow-2xl: 0 8px 32px rgba(0, 0, 0, .8);--glow-success: 0 0 4px rgba(74, 170, 68, .3);--glow-danger: 0 0 4px rgba(220, 53, 69, .3);--glow-accent: 0 0 4px rgba(74, 144, 226, .3);--glow-magic: 0 0 4px rgba(155, 89, 182, .3);--transition-fast: .1s;--transition-base: .2s;--transition-slow: .3s;--ease-base: ease;--ease-in: ease-in;--ease-out: ease-out;--ease-in-out: ease-in-out;--transition-colors: color var(--transition-base) var(--ease-base), background-color var(--transition-base) var(--ease-base), border-color var(--transition-base) var(--ease-base);--transition-transform: transform var(--transition-base) var(--ease-base);--transition-opacity: opacity var(--transition-base) var(--ease-base);--transition-all: all var(--transition-base) var(--ease-base);--z-base: 1;--z-dropdown: 10;--z-sticky: 100;--z-fixed: 200;--z-modal-backdrop: 900;--z-modal: 1000;--z-tooltip: 1100;--card-bg: var(--color-bg-base);--card-border: var(--color-border-dark);--card-shadow: var(--shadow-lg);--button-bg: var(--color-bg-elevated);--button-border: var(--color-border-base);--button-text: var(--color-text-light);--button-hover-bg: var(--color-bg-hover);--input-bg: var(--color-bg-dark);--input-border: var(--color-border-base);--input-text: var(--color-text-primary);--input-placeholder: var(--color-text-muted);--input-focus-border: var(--color-accent-base);--scrollbar-track: var(--color-bg-base);--scrollbar-thumb: var(--color-border-base);--scrollbar-thumb-hover: var(--color-border-light)}@keyframes slideDown{0%{opacity:0;max-height:0;transform:translateY(-8px)}to{opacity:1;max-height:2000px;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success-base)}.text-danger{color:var(--color-danger-base)}.text-warning{color:var(--color-warning-base)}.text-accent{color:var(--color-accent-base)}.text-uppercase{text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.text-semibold{font-weight:var(--font-weight-semibold)}.transition-colors{transition:var(--transition-colors)}.transition-transform{transition:var(--transition-transform)}.transition-all{transition:var(--transition-all)}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--scrollbar-track)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*{box-sizing:border-box;margin:0;padding:0}:root{font-family:var(--font-family-base);line-height:var(--line-height-base);font-weight:var(--font-weight-normal);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{overflow-x:hidden;width:100%;max-width:100%}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg-darkest);color:var(--color-text-base);position:relative}#root{width:100%;max-width:100%;overflow-x:hidden}button{font-family:inherit;cursor:pointer}button:focus,button:focus-visible{outline:var(--border-width-base) solid var(--color-accent-base);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--color-accent-base);text-decoration:none}a:hover{color:var(--color-accent-light)}::selection{background:var(--color-accent-base);color:var(--color-text-primary)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.notification-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:400px;pointer-events:none}.notification{display:flex;align-items:center;gap:12px;padding:16px 24px;border-radius:8px;background:var(--color-bg-elevated, #2a2a2a);border:1px solid var(--color-border-base, #4a4a4a);box-shadow:0 8px 32px #00000080;cursor:pointer;animation:fadeInScale .3s ease-out;transition:opacity .2s,transform .2s;pointer-events:auto}.notification:hover{transform:scale(1.02);opacity:.95}@keyframes fadeInScale{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.notification-icon{font-size:18px;flex-shrink:0}.notification-message{flex:1;color:#e0e0e0;font-size:14px;line-height:1.4}.notification-close{background:transparent;border:none;color:#999;font-size:18px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:color .2s}.notification-close:hover{color:#fff}.notification-error{border-left:4px solid #e74c3c;background:#3a2626}.notification-success{border-left:4px solid #2ecc71;background:#263a29}.notification-warning{border-left:4px solid #f39c12;background:#3a3426}.notification-info{border-left:4px solid #3498db;background:#26303a}.modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;padding:var(--spacing-7);animation:fadeIn var(--transition-base) var(--ease-base)}.modal-content{background:var(--color-bg-base);border:var(--border-width-thick) solid var(--color-border-base);border-radius:var(--radius-none);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-2xl);animation:slideIn var(--transition-base) var(--ease-base)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-7) var(--spacing-8);border-bottom:var(--border-width-base) solid var(--color-border-base);background:var(--color-bg-darkest)}.modal-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-emphasis);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.modal-close-btn{background:none;border:none;color:var(--color-text-tertiary);font-size:36px;line-height:1;cursor:pointer;padding:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:color var(--transition-base) var(--ease-base)}.modal-close-btn:hover{color:var(--color-text-emphasis)}.modal-body{padding:var(--spacing-8);color:var(--color-text-lighter);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.modal-body p{margin:0 0 var(--spacing-5) 0}.modal-body p:last-child{margin-bottom:0}.modal-body strong{color:var(--color-text-emphasis);font-weight:var(--font-weight-semibold)}.modal-note{font-size:var(--font-size-md);color:var(--color-text-tertiary)!important;font-style:italic;margin-top:var(--spacing-6)!important}.modal-body ul{margin:var(--spacing-5) 0;padding-left:var(--spacing-8)}.modal-body li{margin-bottom:var(--spacing-3)}.modal-footer{padding:var(--spacing-7) var(--spacing-8);border-top:var(--border-width-base) solid var(--color-border-base);background:var(--color-bg-darkest);display:flex;gap:var(--spacing-5);justify-content:flex-end}.modal-btn{padding:var(--spacing-4) var(--spacing-8);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-none);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.modal-btn-primary{background:var(--color-danger-darkest);color:var(--color-text-emphasis);border-color:var(--color-danger-dark)}.modal-btn-primary:hover:not(:disabled){background:var(--color-danger-dark);border-color:#c00}.modal-btn-secondary{background:var(--color-bg-elevated);color:var(--color-text-lighter);border-color:var(--color-border-base)}.modal-btn-secondary:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-light)}.modal-btn-success{background:var(--color-success-dark);color:var(--color-text-emphasis);border-color:#2d7a2d}.modal-btn-success:hover:not(:disabled){background:#2d7a2d;border-color:#3a9a3a}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-form-group{margin-bottom:var(--spacing-7)}.modal-form-group:last-child{margin-bottom:0}.modal-label{display:block;font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);margin-bottom:var(--spacing-3);font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.modal-select,.modal-input{width:100%;padding:var(--spacing-4) var(--spacing-5);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-none);font-size:var(--font-size-lg);background:var(--color-bg-darkest);color:var(--color-text-emphasis);transition:border-color var(--transition-base) var(--ease-base)}.modal-select:focus,.modal-input:focus{outline:none;border-color:var(--color-border-lighter)}.modal-select option{background:var(--color-bg-darkest);color:var(--color-text-emphasis)}.modal-option-group{display:flex;flex-direction:column;gap:var(--spacing-5)}.modal-option{display:flex;align-items:center;padding:var(--spacing-5);background:var(--color-bg-darkest);border:var(--border-width-base) solid var(--color-border-base);cursor:pointer;transition:var(--transition-all)}.modal-option:hover{border-color:var(--color-border-lighter);background:var(--color-bg-elevated)}.modal-option input[type=radio],.modal-option input[type=checkbox]{margin-right:var(--spacing-5);cursor:pointer}.modal-option-label{flex:1;color:var(--color-text-lighter);font-size:var(--font-size-lg);cursor:pointer}.modal-option input:checked+.modal-option-label{color:var(--color-text-emphasis);font-weight:var(--font-weight-semibold)}@media(max-width:768px){.modal-content{max-width:100%}.modal-header{padding:var(--spacing-6) var(--spacing-7)}.modal-title{font-size:var(--font-size-2xl)}.modal-body{padding:var(--spacing-7)}.modal-footer{padding:var(--spacing-6) var(--spacing-7);flex-direction:column}.modal-btn{width:100%}}.granular-control-panel{padding:8px}.granular-controls-description{margin-bottom:16px}.granular-controls-sections{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}.granular-control-section{background:#1a1a2a;border:1px solid #3a3a4a;border-radius:8px;padding:14px}.granular-section-title{font-size:13px;font-weight:700;color:#b0b0b0;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #3a3a4a}.granular-controls-grid{display:flex;flex-direction:column;gap:10px}.granular-control-row{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#2a2a3a;border:1px solid #4a4a5a;border-radius:6px;transition:background .2s ease}.granular-control-row:hover{background:#2f2f3f}.granular-control-label{flex:1}.granular-control-stat-name{font-size:14px;font-weight:600;color:#fff;margin-bottom:2px}.granular-control-stat-desc{font-size:11px;color:#888}.granular-control-inputs{display:flex;align-items:center;gap:6px}.granular-control-btn{width:32px;height:32px;background:linear-gradient(135deg,#3a4a5a,#2a3a4a);border:1px solid #5a6a7a;border-radius:4px;color:#b0b0b0;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.granular-control-btn:hover{background:linear-gradient(135deg,#4a5a6a,#3a4a5a);border-color:#6a7a8a;color:#c8c8c8;transform:translateY(-1px)}.granular-control-btn:active{transform:translateY(0)}.granular-control-input{width:60px;height:32px;background:#1a1a2a;border:1px solid #4a4a5a;border-radius:4px;color:#fff;text-align:center;font-size:14px;font-weight:600;padding:4px}.granular-control-input:focus{outline:none;border-color:#6a7a8a;background:#1f1f2f}.granular-control-input::-webkit-inner-spin-button,.granular-control-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.granular-control-input[type=number]{-moz-appearance:textfield}.granular-control-reset{width:28px;height:28px;background:#4a3a3a;border:1px solid #6a5a5a;border-radius:4px;color:#ff6b6b;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin-left:4px}.granular-control-reset:hover{background:#5a4a4a;border-color:#7a6a6a;transform:scale(1.1)}.granular-controls-footer{display:flex;justify-content:center;padding-top:16px;border-top:1px solid #4a4a5a}.granular-control-reset-all{background:linear-gradient(135deg,#4a3a3a,#3a2a2a);border:1px solid #6a5a5a;border-radius:6px;padding:10px 20px;color:#ff8b8b;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.granular-control-reset-all:hover:not(:disabled){background:linear-gradient(135deg,#5a4a4a,#4a3a3a);border-color:#7a6a6a;color:#faa;transform:translateY(-1px)}.granular-control-reset-all:disabled{opacity:.4;cursor:not-allowed}.main-layout{max-width:1000px;margin:0 auto;padding:var(--spacing-8);min-height:100vh;position:relative}.selection-panel-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:1050;background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-right:none;border-radius:8px 0 0 8px;padding:12px 8px;cursor:pointer;transition:all .2s ease;writing-mode:vertical-rl;text-orientation:sideways;font-size:12px;font-weight:600;color:var(--color-text-lighter);letter-spacing:1px;text-transform:uppercase}.selection-panel-tab:hover{background:var(--color-bg-hover);border-color:var(--color-gold);color:var(--color-gold)}.selection-panel-tab.open{transform:translate(-400px) translateY(-50%);background:var(--color-bg-base);border-color:var(--color-gold);color:var(--color-gold)}.panel-controls{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-4);justify-content:flex-end}.expand-collapse-btn{width:28px;height:28px;background:var(--color-bg-elevated);color:var(--color-text-lighter);border:1px solid var(--color-border-base);border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.expand-collapse-btn:active{transform:scale(.95)}.layout-left{background:var(--color-bg-base);border-radius:var(--radius-none);padding:var(--spacing-9);box-shadow:var(--shadow-lg);border:var(--border-width-base) solid var(--color-bg-elevated);max-width:950px}.layout-right{position:fixed;top:0;right:0;width:400px;height:calc(100vh - 60px);overflow-y:auto;padding:var(--spacing-4);padding-right:var(--spacing-3);background:var(--color-bg-dark);border-left:1px solid var(--color-border-base);border-bottom:1px solid var(--color-border-base);border-radius:0 0 0 8px;box-shadow:-4px 0 20px #00000080;z-index:1000}.layout-right::-webkit-scrollbar{width:var(--spacing-3)}.layout-right::-webkit-scrollbar-track{background:var(--color-bg-darkest);border-radius:var(--radius-none)}.layout-right::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--radius-none)}.layout-right::-webkit-scrollbar-thumb:hover{background:var(--color-border-lighter)}@media(max-width:1024px)and (min-width:769px){.layout-right{width:350px}.selection-panel-tab.open{transform:translate(-350px) translateY(-50%)}}@media(max-width:768px){.selection-panel-tab,.layout-right{display:none}.main-layout,.layout-left{padding:var(--spacing-4)}}.rest-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.rest-dialog{background:var(--color-bg-dark);border:1px solid var(--color-border-base);border-radius:8px;width:90%;max-width:420px;box-shadow:0 8px 32px #00000080}.rest-dialog.short-rest{border-color:var(--color-border-base)}.rest-dialog.camp-rest{border-color:#ffb74d66}.rest-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-dark)}.rest-dialog.camp-rest .rest-header{border-bottom-color:#ffb74d4d}.rest-header h3{margin:0;font-size:16px;color:#64b5f6}.rest-dialog.camp-rest .rest-header h3{color:#ffb74d}.rest-close{background:none;border:none;color:var(--color-text-muted);font-size:20px;cursor:pointer;padding:0 4px}.rest-close:hover{color:var(--color-text-lighter)}.rest-content{padding:16px;display:flex;flex-direction:column;gap:12px}.hd-pool-display{background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-radius:8px;padding:12px 16px;margin-bottom:4px;text-align:center}.free-healing-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-elevated);border:1px solid var(--color-border-dark);border-radius:6px;font-size:13px}.camp-rest-effects{display:flex;flex-wrap:wrap;gap:10px;padding:12px;background:var(--color-bg-base);border-radius:6px;margin-bottom:4px}.wound-section-camp{margin-bottom:12px}.wound-type-label{font-size:12px;color:var(--color-text-lighter)}.wound-type-label.minor{color:#ffc107}.wound-type-label.serious{color:#ff9800}.wound-type-label.devastating{color:#f44336}.wound-slot.minor{width:20px;height:20px;border-color:#ffc107}.wound-slot.serious{width:24px;height:24px;border-color:#ff9800}.wound-slot.devastating{width:28px;height:28px;border-color:#f44336}.wound-slot.filled{opacity:1}.wound-slot.filled.minor{background:#ffc107}.wound-slot.filled.serious{background:#ff9800}.wound-slot.filled.devastating{background:#f44336}.wound-slot.selected{border-color:#4caf50!important;background:#4caf50!important;box-shadow:0 0 8px #4caf50}.healing-selected{font-size:11px;color:#4caf50;margin-top:6px}.healing-summary{background:var(--color-bg-base);border-radius:6px;padding:12px;margin-top:4px}.summary-line{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-secondary);margin-bottom:4px}.summary-total{font-size:13px;font-weight:600;color:#4caf50;padding-top:6px;border-top:1px solid var(--color-border-dark)}.rest-done-btn{padding:12px 16px;border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:4px}.rest-done-btn.short{background:linear-gradient(135deg,#1565c0,#1976d2)}.rest-done-btn.short:hover{background:linear-gradient(135deg,#1976d2,#1e88e5);transform:translateY(-1px)}.rest-done-btn.camp{background:linear-gradient(135deg,#e65100,#ff9800)}.rest-done-btn.camp:hover{background:linear-gradient(135deg,#ff9800,#ffb74d);transform:translateY(-1px)}.rest-done-btn:disabled{background:var(--color-bg-elevated);color:var(--color-text-muted);cursor:not-allowed;transform:none}.party-sidebar-tab{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:1050;background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-left:none;border-radius:0 8px 8px 0;padding:12px 8px;cursor:pointer;transition:all .2s ease;writing-mode:vertical-rl;text-orientation:sideways;font-size:12px;font-weight:600;color:var(--color-text-lighter);letter-spacing:1px;text-transform:uppercase}.party-sidebar-tab:hover{background:var(--color-bg-hover);border-color:var(--color-gold);color:var(--color-gold)}.party-sidebar-tab.open{transform:translate(360px) translateY(-50%);background:var(--color-bg-base);border-color:var(--color-gold);color:var(--color-gold)}.party-sidebar-tab.disabled{opacity:.5;color:var(--color-text-muted)}.party-sidebar-tab.disabled:hover{background:var(--color-bg-elevated);border-color:var(--color-border-base);color:var(--color-text-muted);cursor:default}.party-sidebar{position:fixed;left:0;top:0;width:360px;max-width:100vw;height:calc(100vh - 60px);background:var(--color-bg-dark);border-right:1px solid var(--color-border-base);border-bottom:1px solid var(--color-border-base);border-radius:0 0 8px;z-index:1049;transition:transform .3s ease;transform:translate(-100%);overflow-y:auto;overflow-x:hidden;box-shadow:4px 0 20px #00000080;isolation:isolate}.party-sidebar.open{transform:translate(0)}.party-sidebar-content{padding:16px;display:flex;flex-direction:column;gap:16px}.party-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--color-border-dark)}.party-title{font-size:18px;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:1px;margin:0}.party-title-input{font-size:18px;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:1px;background:transparent;border:none;border-bottom:1px solid transparent;outline:none;padding:0;width:200px}.party-title-input:focus{border-bottom-color:var(--color-gold)}.party-toggle-btn{background:var(--color-bg-elevated);border:1px solid var(--color-border-base);color:var(--color-text-lighter);padding:6px 12px;border-radius:4px;font-size:11px;cursor:pointer;transition:all .2s}.party-toggle-btn:hover{border-color:var(--color-gold);color:var(--color-gold)}.party-toggle-btn.enabled{background:#4caf5033;border-color:var(--color-success-base);color:var(--color-success-light)}.party-sync-section{background:var(--color-bg-elevated);border:1px solid var(--color-border-dark);border-radius:6px;padding:10px;margin-bottom:8px}.party-sync-connected{display:flex;flex-direction:column;gap:8px}.sync-status{display:flex;align-items:center;gap:6px}.sync-indicator{width:8px;height:8px;border-radius:50%;background:var(--color-text-muted)}.sync-indicator.online{background:var(--color-success-base);box-shadow:0 0 6px var(--color-success-base)}.sync-label{font-size:11px;color:var(--color-text-lighter);text-transform:uppercase;letter-spacing:.5px}.party-code-display{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--color-bg-dark);border-radius:4px;cursor:pointer;transition:all .15s}.party-code-display:hover{background:var(--color-bg-base)}.party-code-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase}.party-code{font-size:14px;font-weight:700;color:var(--color-gold);letter-spacing:2px;font-family:monospace}.copy-hint{font-size:9px;color:var(--color-text-muted);margin-left:auto}.party-sync-options{display:flex;flex-direction:column;gap:8px}.sync-buttons{display:flex;gap:8px}.sync-btn{flex:1;padding:8px 12px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;border:1px solid var(--color-border-base);background:var(--color-bg-dark);color:var(--color-text-lighter)}.sync-btn:hover{border-color:var(--color-border-light);color:var(--color-text-primary)}.sync-btn:disabled{opacity:.5;cursor:not-allowed}.sync-btn.create{background:#daa5201a;border-color:var(--color-gold);color:var(--color-gold)}.sync-btn.create:hover{background:#daa52033}.sync-btn.join-toggle,.sync-btn.join{background:#4caf501a;border-color:var(--color-success-base);color:var(--color-success-light)}.sync-btn.join-toggle:hover,.sync-btn.join:hover{background:#4caf5033}.sync-btn.disconnect{background:#dc35451a;border-color:var(--color-danger-base);color:var(--color-danger-light)}.sync-btn.disconnect:hover{background:#dc354533}.sync-btn.cancel{background:var(--color-bg-elevated)}.join-party-form{display:flex;flex-direction:column;gap:8px}.join-code-input{padding:10px 12px;background:var(--color-bg-dark);border:1px solid var(--color-border-base);border-radius:4px;color:var(--color-text-primary);font-size:14px;font-weight:700;letter-spacing:3px;text-align:center;font-family:monospace;text-transform:uppercase}.join-code-input:focus{outline:none;border-color:var(--color-gold)}.join-code-input::placeholder{font-weight:400;letter-spacing:0;color:var(--color-text-muted)}.join-form-buttons{display:flex;gap:8px}.sync-message{padding:8px 10px;border-radius:4px;font-size:11px;margin-top:6px}.sync-message.info{background:#6495ed1a;border:1px solid rgba(100,149,237,.3);color:#6495ed}.sync-message.success{background:#4caf501a;border:1px solid rgba(76,175,80,.3);color:var(--color-success-light)}.sync-message.error{background:#dc35451a;border:1px solid rgba(220,53,69,.3);color:var(--color-danger-light)}.party-section{background:var(--color-bg-base);border:1px solid var(--color-border-dark);border-radius:6px;padding:12px}.party-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.party-section-title{font-size:12px;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0}.formation-row{display:flex;align-items:center;gap:8px;padding:8px;background:var(--color-bg-elevated);border-radius:4px}.formation-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;min-width:35px}.formation-slots{display:flex;gap:6px;flex-wrap:wrap;flex:1}.formation-slot{width:40px;height:40px;border-radius:4px;background:var(--color-bg-dark);border:1px solid var(--color-border-base);display:flex;align-items:center;justify-content:center;cursor:grab;transition:all .2s}.formation-slot:hover{border-color:var(--color-gold)}.formation-slot.dragging{opacity:.5}.formation-portrait{width:100%;height:100%;object-fit:cover;border-radius:3px}.formation-initial{font-size:14px;font-weight:700;color:var(--color-text-muted)}.formation-hint{font-size:10px;color:var(--color-text-muted);font-style:italic}.formation-slot{position:relative;cursor:pointer}.formation-slot.selected{border-color:var(--color-gold);box-shadow:0 0 0 2px var(--color-gold),0 0 8px #d4af3766;transform:scale(1.05)}.formation-slot.swap-target{border-color:var(--color-accent-base);background:#4a90e21a}.formation-slot.swap-target:hover{border-color:var(--color-accent-light);box-shadow:0 0 0 2px var(--color-accent-base);transform:scale(1.05)}.formation-selected-badge{position:absolute;bottom:-4px;right:-4px;width:16px;height:16px;border-radius:50%;background:var(--color-gold);color:#000;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700}.resources-grid{display:flex;flex-direction:column;gap:10px}.resource-box{background:var(--color-bg-elevated);border-radius:4px;padding:10px}.resource-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase;margin-bottom:6px}.resource-value{display:flex;align-items:center;gap:8px}.resource-current{font-size:20px;font-weight:700;color:var(--color-text-primary)}.resource-max{font-size:12px;color:var(--color-text-muted)}.resource-controls{display:flex;gap:4px;margin-top:6px}.resource-btn{background:var(--color-bg-dark);border:1px solid var(--color-border-dark);color:var(--color-text-lighter);padding:4px 8px;border-radius:3px;font-size:11px;cursor:pointer;transition:all .15s}.resource-btn:hover{border-color:var(--color-border-light);color:var(--color-text-primary)}.resource-btn.use{color:var(--color-danger-light)}.resource-btn.use:hover{border-color:var(--color-danger-base)}.resource-btn.restore{color:var(--color-success-light)}.resource-btn.restore:hover{border-color:var(--color-success-base)}.resource-header{display:flex;justify-content:space-between;align-items:flex-start}.resource-label .expand-indicator{font-size:8px;margin-left:4px;opacity:.6}.resource-contributions{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border-dark)}.contribution-row{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:11px}.contrib-name{color:var(--color-text-lighter);flex:1}.contrib-value{font-weight:600;color:var(--color-gold);min-width:20px;text-align:right}.contrib-source{font-size:10px;color:var(--color-text-muted)}.hit-dice-pips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding:4px}.hit-dice-pip{width:16px;height:16px;background:var(--color-bg-dark);border:1px solid #444;cursor:pointer;transition:box-shadow .3s,border-color .3s;transform:rotate(45deg);position:relative;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.hit-dice-pip.available{background:linear-gradient(135deg,#8b0000,#dc143c 50%,#f44,#dc143c);border:none;box-shadow:0 0 6px #f44,0 0 12px #dc143c80;animation:diamond-glow 3s ease-in-out infinite,diamond-spin 12s linear infinite}.hit-dice-pip.available:before{content:"";position:absolute;top:25%;left:25%;width:50%;height:50%;background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,transparent 50%);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.hit-dice-pip:hover{border-color:var(--color-gold);box-shadow:0 0 8px var(--color-gold)}.hit-dice-pip.available:hover{box-shadow:0 0 10px #f66,0 0 20px #ff4444b3;animation-play-state:paused}@keyframes diamond-glow{0%,to{box-shadow:0 0 6px #f44,0 0 12px #dc143c80}50%{box-shadow:0 0 10px #f66,0 0 18px #dc143cb3}}@keyframes diamond-spin{0%{transform:rotate(45deg)}to{transform:rotate(405deg)}}.members-list{display:flex;flex-direction:column;gap:8px}.member-card{display:flex;align-items:center;gap:10px;padding:10px;background:var(--color-bg-elevated);border-radius:4px;border:1px solid transparent;transition:all .2s}.member-card.inactive{opacity:.5;background:var(--color-bg-dark)}.member-portrait{width:36px;height:36px;border-radius:4px;object-fit:cover;background:var(--color-bg-dark);border:1px solid var(--color-border-dark)}.member-portrait-placeholder{width:36px;height:36px;border-radius:4px;background:var(--color-bg-dark);border:1px solid var(--color-border-dark);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:var(--color-text-muted)}.member-info{flex:1;min-width:0}.member-name{font-size:13px;font-weight:600;color:var(--color-text-lighter);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.member-class{font-size:10px;color:var(--color-text-muted)}.member-contribution{font-size:9px;color:var(--color-text-secondary);margin-top:2px}.member-controls{display:flex;gap:4px}.member-toggle-btn{background:transparent;border:1px solid var(--color-border-dark);color:var(--color-text-muted);width:24px;height:24px;border-radius:3px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s}.member-toggle-btn:hover{border-color:var(--color-border-light);color:var(--color-text-lighter)}.member-toggle-btn.active{background:#4caf5033;border-color:var(--color-success-base);color:var(--color-success-light)}.member-remove-btn{background:transparent;border:1px solid var(--color-border-dark);color:var(--color-danger-light);width:24px;height:24px;border-radius:3px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .15s}.member-remove-btn:hover{border-color:var(--color-danger-base);background:#dc35451a}.add-member-btn{width:100%;padding:10px;background:var(--color-bg-elevated);border:1px dashed var(--color-border-base);border-radius:4px;color:var(--color-text-muted);font-size:12px;cursor:pointer;transition:all .2s}.add-member-btn:hover{border-color:var(--color-gold);color:var(--color-gold)}.party-inventory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.party-inventory-slot{position:relative;aspect-ratio:1;background:var(--color-bg-elevated);border:1px solid var(--color-border-dark);border-radius:4px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;padding:4px}.party-inventory-slot:hover{border-color:var(--color-border-light)}.party-inventory-slot.has-item{background:var(--color-bg-base)}.party-inventory-slot.drag-over{border-color:var(--color-gold);background:#daa5201a}.party-inventory-slot.swap-source{border-color:var(--color-gold);background:#daa52033;box-shadow:0 0 8px #daa52066}.party-inventory-slot.swap-target{border-color:var(--color-success-base);background:#4caf501a;animation:pulse-target 1s infinite}@keyframes pulse-target{0%,to{opacity:1}50%{opacity:.7}}.party-inventory-slot-empty{font-size:16px;color:var(--color-text-muted);opacity:.3}.party-inventory-item{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.party-inventory-item-name{font-size:8px;color:var(--color-text-lighter);line-height:1.2;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.party-inventory-remove-btn{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;background:#0009;border:none;border-radius:50%;color:var(--color-text-muted);font-size:12px;line-height:1;cursor:pointer;opacity:0;transition:opacity .2s,color .2s}.party-inventory-slot:hover .party-inventory-remove-btn{opacity:1}.party-inventory-remove-btn:hover{color:var(--color-error-base);background:#000c}.party-inventory-list{display:flex;flex-direction:column;gap:4px}.party-inventory-list-item{background:var(--color-bg-elevated);border:1px solid var(--color-border-dark);border-radius:6px;overflow:hidden}.party-inventory-list-item.swap-source{border-color:var(--color-gold);box-shadow:0 0 8px #daa52066}.party-inventory-list-header{display:flex;align-items:center;padding:10px 12px;cursor:pointer;gap:8px}.party-inventory-list-header:hover{background:var(--color-bg-base)}.party-inventory-list-item .expand-toggle{font-size:10px;color:var(--color-text-muted);width:12px}.party-inventory-list-item .party-inventory-item-name{flex:1;font-size:13px;color:var(--color-text-base);font-weight:500}.party-inventory-item-actions{display:flex;gap:6px}.party-inventory-select-btn{width:24px;height:24px;padding:0;background:var(--color-bg-base);border:1px solid var(--color-border-dark);border-radius:4px;color:var(--color-text-muted);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center}.party-inventory-select-btn:hover{border-color:var(--color-gold);color:var(--color-gold)}.party-inventory-list-item .party-inventory-remove-btn{position:static;width:24px;height:24px;opacity:1;background:var(--color-bg-base);border:1px solid var(--color-border-dark);border-radius:4px;display:flex;align-items:center;justify-content:center}.party-inventory-list-item .party-inventory-remove-btn:hover{border-color:var(--color-error-base);color:var(--color-error-base)}.party-inventory-item-details{padding:0 12px 12px 32px;font-size:12px;color:var(--color-text-muted);border-top:1px solid var(--color-border-dark);background:var(--color-bg-base)}.party-inventory-item-details p{margin:8px 0 0;line-height:1.4}.party-inventory-item-details .item-description{color:var(--color-text-lighter)}.party-inventory-item-details .item-effect{color:var(--color-accent-light)}.party-inventory-item-details .item-stat{color:var(--color-text-muted)}.party-inventory-add-slot{display:flex;align-items:center;gap:8px;padding:12px;background:var(--color-bg-elevated);border:1px dashed var(--color-border-dark);border-radius:6px;cursor:pointer;color:var(--color-text-muted);transition:all .15s}.party-inventory-add-slot:hover{border-color:var(--color-border-light);color:var(--color-text-lighter)}.party-inventory-add-slot.drag-over,.party-inventory-add-slot.swap-target{border-color:var(--color-gold);background:#daa5201a}.party-inventory-add-slot .add-icon{font-size:16px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-base);border-radius:4px}.party-inventory-add-slot .add-text{font-size:12px}.party-feats-list{display:flex;flex-direction:column;gap:8px}.party-feat-slot{padding:10px;background:var(--color-bg-elevated);border:1px solid var(--color-border-dark);border-radius:4px}.party-feat-slot.locked{opacity:.4;border-style:dashed}.party-feat-slot.empty{border-style:dashed;cursor:pointer}.party-feat-slot.empty:hover{border-color:var(--color-gold)}.party-feat-header{display:flex;justify-content:space-between;align-items:center}.party-feat-name{font-size:12px;font-weight:600;color:var(--color-text-lighter)}.party-feat-locked-label{font-size:10px;color:var(--color-text-muted)}.party-feat-description{font-size:10px;color:var(--color-text-secondary);margin-top:4px;line-height:1.4}.party-feat-remove-btn{background:transparent;border:none;color:var(--color-danger-light);cursor:pointer;padding:2px 6px;font-size:12px}.party-feat-remove-btn:hover{color:var(--color-danger-base)}.empty-slot-text{font-size:11px;color:var(--color-text-muted)}.party-feat-selector{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;padding:8px;background:var(--color-bg-dark);border-radius:4px;margin-top:8px}.party-feat-option{padding:8px;background:var(--color-bg-elevated);border:1px solid var(--color-border-dark);border-radius:4px;cursor:pointer;transition:all .15s}.party-feat-option:hover{border-color:var(--color-gold)}.party-feat-option.selected{border-color:var(--color-success-base);background:#4caf501a}.party-feat-option-name{font-size:11px;font-weight:600;color:var(--color-text-lighter)}.party-feat-option-desc{font-size:9px;color:var(--color-text-secondary);margin-top:2px}.party-sidebar-content.disabled{opacity:.5;pointer-events:none}.party-disabled-message{text-align:center;padding:20px;color:var(--color-text-muted);font-size:12px}.party-section-header.collapsible{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:8px;margin:-8px -8px 8px;border-radius:4px;transition:background .2s}.party-section-header.collapsible:hover{background:var(--color-bg-hover)}.section-toggle{font-size:10px;color:var(--color-text-muted)}.party-header-left{display:flex;align-items:center;gap:8px}.sync-indicator-inline{width:8px;height:8px;border-radius:50%;background:var(--color-success-base);box-shadow:0 0 4px var(--color-success-base)}.party-header-cog{position:relative}.party-cog-btn{background:transparent;border:none;color:var(--color-text-lighter);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s}.party-cog-btn:hover{color:var(--color-gold);background:var(--color-bg-elevated)}.party-cog-menu{position:absolute;top:100%;right:0;background:var(--color-bg-dark);border:1px solid var(--color-border-base);border-radius:6px;padding:8px;min-width:160px;z-index:100;box-shadow:0 4px 12px #0006}.cog-menu-item{padding:6px 8px;border-bottom:1px solid var(--color-border-dark);margin-bottom:6px}.cog-menu-item.info{display:flex;flex-direction:column;gap:2px}.cog-menu-label{font-size:10px;color:var(--color-text-muted);text-transform:uppercase}.cog-menu-value{font-size:14px;font-weight:600;color:var(--color-gold);cursor:pointer;letter-spacing:1px}.cog-menu-btn{display:block;width:100%;background:var(--color-bg-elevated);border:1px solid var(--color-border-base);color:var(--color-text-lighter);padding:8px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s;margin-top:4px}.cog-menu-btn:hover{border-color:var(--color-gold);color:var(--color-gold)}.cog-menu-btn.disconnect{color:var(--color-error-base);border-color:var(--color-error-base)}.cog-menu-btn.disconnect:hover{background:#f443361a}.rest-controls{margin-top:12px;border-top:1px solid var(--color-border-dark);padding-top:12px}.rest-controls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.rest-controls-label{font-size:12px;font-weight:600;color:var(--color-text-lighter);text-transform:uppercase;letter-spacing:.5px}.rest-menu-toggle{background:transparent;border:1px solid var(--color-border-base);color:var(--color-text-lighter);padding:4px 8px;border-radius:4px;font-size:10px;cursor:pointer;transition:all .2s}.rest-menu-toggle:hover{border-color:var(--color-gold);color:var(--color-gold)}.rest-menu{display:flex;flex-direction:column;gap:8px}.rest-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:6px;border:1px solid var(--color-border-base);background:var(--color-bg-elevated)!important;cursor:pointer;transition:all .2s;text-align:left}.rest-btn.short-rest,.rest-btn.camp-rest,.rest-btn.safe-rest{background:var(--color-bg-elevated)!important}.rest-btn:hover{border-color:var(--color-gold)}.rest-btn-title{font-size:13px;font-weight:600;color:var(--color-text-primary)}.rest-btn-desc{font-size:10px;color:var(--color-text-muted)}.rest-btn.short-rest:hover,.rest-btn.camp-rest:hover,.rest-btn.safe-rest:hover{border-color:var(--color-gold);background:var(--color-bg-base)}.rest-btn.short-rest .rest-btn-title,.rest-btn.camp-rest .rest-btn-title,.rest-btn.safe-rest .rest-btn-title{color:var(--color-text-primary)}.short-rest-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.short-rest-dialog{background:var(--color-bg-dark);border:1px solid var(--color-border-base);border-radius:8px;width:90%;max-width:360px;box-shadow:0 8px 32px #00000080}.short-rest-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border-dark)}.short-rest-header h3{margin:0;font-size:16px;color:#64b5f6}.short-rest-close{background:none;border:none;color:var(--color-text-muted);font-size:20px;cursor:pointer;padding:0 4px}.short-rest-close:hover{color:var(--color-text-lighter)}.short-rest-content{padding:16px;display:flex;flex-direction:column;gap:12px}.short-rest-desc{margin:0;font-size:13px;color:var(--color-text-lighter);line-height:1.5}.short-rest-dice-available{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--color-bg-elevated);border-radius:6px}.dice-label{font-size:12px;color:var(--color-text-muted)}.dice-value{font-size:18px;font-weight:700;color:var(--color-gold)}.short-rest-rolls{background:var(--color-bg-base);border:1px solid var(--color-border-dark);border-radius:6px;padding:10px}.rolls-header{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;margin-bottom:8px}.roll-result{display:flex;align-items:center;gap:8px;padding:4px 0;border-bottom:1px solid var(--color-border-dark)}.roll-result:last-of-type{border-bottom:none}.roll-number{font-size:10px;color:var(--color-text-muted);width:24px}.roll-die{font-size:11px;color:var(--color-text-lighter)}.roll-value{font-size:16px;font-weight:700;color:#81c784;margin-left:auto}.rolls-total{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-base);font-size:14px;font-weight:600;color:#81c784;text-align:right}.short-rest-roll-btn{padding:12px 16px;background:linear-gradient(135deg,#1565c0,#1976d2);border:none;border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.short-rest-roll-btn:hover:not(:disabled){background:linear-gradient(135deg,#1976d2,#1e88e5);transform:translateY(-1px)}.short-rest-roll-btn:disabled{background:var(--color-bg-elevated);color:var(--color-text-muted);cursor:not-allowed}.short-rest-done-btn{padding:10px 16px;background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-radius:6px;color:var(--color-text-lighter);font-size:13px;cursor:pointer;transition:all .2s}.short-rest-done-btn:hover{border-color:var(--color-gold);color:var(--color-gold)}.short-rest-options{display:flex;flex-direction:column;gap:16px}.short-rest-section{background:var(--color-bg-base);border:1px solid var(--color-border-dark);border-radius:6px;padding:12px}.short-rest-section h4{margin:0 0 10px;font-size:12px;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.short-rest-hint{margin:0 0 8px;font-size:11px;color:var(--color-text-muted);font-style:italic}.short-rest-buttons{display:flex;gap:8px}.short-rest-option-btn{flex:1;padding:10px 12px;background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-radius:6px;color:var(--color-text-lighter);font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.short-rest-option-btn:hover:not(:disabled){border-color:#81c784;color:#81c784;background:#81c7841a}.short-rest-option-btn:disabled{opacity:.5;cursor:not-allowed}.short-rest-option-btn.with-healing{border-color:#64b5f6;color:#64b5f6}.short-rest-option-btn.with-healing:hover:not(:disabled){background:#64b5f626}.short-rest-option-btn.forgo-healing{border-color:#ffb74d;color:#ffb74d}.short-rest-option-btn.forgo-healing:hover:not(:disabled){background:#ffb74d26}.short-rest-spell-list{display:flex;flex-direction:column;gap:6px;max-height:150px;overflow-y:auto;margin-bottom:10px}.short-rest-spell-btn{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--color-bg-elevated);border:1px solid var(--color-border-dark);border-radius:4px;cursor:pointer;transition:all .15s}.short-rest-spell-btn:hover{border-color:var(--color-border-light)}.short-rest-spell-btn.selected{border-color:var(--color-gold);background:#daa5201a}.short-rest-spell-btn .spell-name{font-size:12px;color:var(--color-text-lighter)}.short-rest-spell-btn .spell-escalation{font-size:11px;font-weight:600;color:var(--color-danger-light);background:#dc354533;padding:2px 6px;border-radius:3px}.short-rest-escalation-options{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid var(--color-border-dark)}.short-rest-summary{background:var(--color-bg-base);border:1px solid var(--color-border-dark);border-radius:6px;padding:12px}.summary-header{font-size:12px;font-weight:600;color:var(--color-text-lighter);margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--color-border-dark)}.summary-item{font-size:11px;color:var(--color-text-secondary);padding:3px 0}.summary-item.healed{color:#81c784}.summary-item.escalation{color:#64b5f6}.summary-item.remaining{color:var(--color-text-muted);font-style:italic}.short-rest-dialog.wide{max-width:420px}.healing-budget{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--color-bg-elevated);border-radius:6px;flex-wrap:wrap}.healing-budget.camp{background:#ffb74d1a;border:1px solid rgba(255,183,77,.3)}.budget-label{font-size:12px;color:var(--color-text-muted)}.budget-minor{font-size:14px;font-weight:600;color:#ffc107;background:#ffc10726;padding:4px 10px;border-radius:4px}.budget-serious{font-size:14px;font-weight:600;color:#ff9800;background:#ff980026;padding:4px 10px;border-radius:4px}.budget-note{font-size:10px;color:var(--color-text-muted);font-style:italic}.wound-selection{display:flex;flex-direction:column;gap:10px}.wound-row-healing{display:flex;align-items:center;gap:10px}.wound-type-label{font-size:12px;color:var(--color-text-lighter);min-width:60px}.wound-pips{display:flex;flex-wrap:wrap;gap:6px}.wound-pip-btn{width:28px;height:28px;border-radius:50%;border:2px solid;background:transparent;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s}.wound-pip-btn.minor{border-color:#ffc107;color:#ffc107}.wound-pip-btn.minor:hover{background:#ffc10733;transform:scale(1.1);box-shadow:0 0 8px #ffc10766}.wound-pip-btn.serious{border-color:#ff9800;color:#ff9800}.wound-pip-btn.serious:hover{background:#ff980033;transform:scale(1.1);box-shadow:0 0 8px #ff980066}.camp-rest-dialog{border-color:#ffb74d66}.camp-rest-header{border-bottom-color:#ffb74d4d}.camp-rest-header h3{color:#ffb74d}.camp-rest-effects{display:flex;flex-wrap:wrap;gap:10px;padding:12px;background:var(--color-bg-base);border-radius:6px;margin-bottom:12px}.effect-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-lighter)}.effect-icon{font-size:16px}.no-wounds-message{text-align:center;padding:16px;color:var(--color-text-muted);font-size:13px;font-style:italic}.short-rest-done-btn.camp{background:linear-gradient(135deg,#e65100,#ff9800);color:#fff;border:none}.short-rest-done-btn.camp:hover{background:linear-gradient(135deg,#ff9800,#ffb74d)}.spell-escalation .reduced{color:#81c784;font-size:10px}@media(max-width:768px){.party-sidebar{width:100%;max-width:100vw;left:0;right:0}.party-sidebar-tab{inset:auto auto 80px 0;transform:none;padding:8px 6px;font-size:10px}.party-sidebar-tab.open{left:auto;right:0;transform:none;border-radius:8px 0 0 8px;border-right:none;border-left:1px solid var(--color-border-base)}}@media(max-width:480px){.party-sidebar-tab{padding:6px 4px;font-size:9px}}.clickable-tag{background:linear-gradient(135deg,#3a4a5a,#2a3a4a);border:1px solid #5a6a7a;border-radius:4px;padding:4px 10px;font-size:12px;color:#b0b0b0;cursor:pointer;transition:all .2s ease;font-weight:500;white-space:nowrap;display:inline-block}.clickable-tag:hover{background:linear-gradient(135deg,#4a5a6a,#3a4a5a);border-color:#6a7a8a;color:#c8c8c8;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.clickable-tag:active{transform:translateY(0);box-shadow:0 1px 2px #0003}.clickable-tag-tooltip{position:absolute;bottom:calc(100% + 10px);left:0;background:#2a2a2a;border:1px solid #5a5a6a;border-radius:6px;padding:12px;min-width:250px;max-width:400px;z-index:10000;box-shadow:0 6px 16px #00000080;animation:tagTooltipFadeIn .15s ease}.clickable-tag-tooltip:after{content:"";position:absolute;top:100%;left:20px;border:7px solid transparent;border-top-color:#2a2a2a}.clickable-tag-tooltip:before{content:"";position:absolute;top:100%;left:20px;border:8px solid transparent;border-top-color:#5a5a6a;margin-top:1px;z-index:-1}.clickable-tag-tooltip-title{font-size:13px;font-weight:600;color:#fff;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #4a4a5a}.clickable-tag-tooltip-content{font-size:12px;color:#ccc;line-height:1.5;white-space:normal}.clickable-tag-tooltip-content strong{color:#fff;font-weight:600}@keyframes tagTooltipFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.hd-pool-display{background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-radius:8px;padding:12px 16px;margin-bottom:16px;text-align:center}.hd-pool-label{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.hd-pool-bar{display:flex;align-items:center;justify-content:center;gap:12px;font-size:28px;font-weight:700}.hd-pool-current{color:var(--color-text-primary)}.hd-pool-arrow{color:var(--color-text-muted);font-size:20px}.hd-pool-after{color:var(--color-text-lighter)}.hd-pool-after.negative{color:var(--color-danger-base)}.hd-cost-label{font-size:12px;color:var(--color-text-secondary);margin-top:4px}.free-healing-info{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-elevated);border:1px solid var(--color-border-dark);border-radius:6px;margin-bottom:16px;font-size:13px}.free-label{color:var(--color-text-secondary)}.free-value{color:var(--color-text-primary);font-weight:700}.free-detail{color:var(--color-text-muted);font-size:11px}.wound-section-camp{margin-bottom:16px}.wound-section-header-camp{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.wound-type-label{font-size:13px;font-weight:600;color:var(--color-text-light)}.wound-cost-info{font-size:11px;color:var(--color-text-muted)}.wound-slots-grid{display:flex;flex-wrap:wrap;gap:6px;padding:10px;background:var(--color-bg-base);border-radius:6px;min-height:44px;position:relative}.wound-slot{border-radius:50%;cursor:pointer;transition:all .2s;border:2px solid var(--color-border-base)}.wound-slot.minor{width:20px;height:20px}.wound-slot.serious{width:24px;height:24px}.wound-slot.devastating{width:28px;height:28px}.wound-slot.empty{background:transparent;opacity:.3;cursor:default}.wound-slot.filled{opacity:1;background:var(--color-danger-dark);border-color:var(--color-danger-base)}.wound-slot.selected{border-color:var(--color-success-light)!important;background:var(--color-success-base)!important;box-shadow:0 0 6px var(--color-success-light)}.wound-slot.disabled{opacity:.4;cursor:not-allowed}.wound-slot.filled:not(.disabled):not(.selected):hover{transform:scale(1.1);box-shadow:0 0 6px var(--color-border-lighter)}.healing-selected{font-size:11px;color:var(--color-success-light);margin-top:6px}.devastating-locked-overlay{position:absolute;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:11px;color:var(--color-text-secondary);text-align:center;padding:8px;z-index:1}.healing-summary{background:var(--color-bg-base);border-radius:6px;padding:12px;margin-top:8px}.summary-line{display:flex;justify-content:space-between;font-size:12px;color:var(--color-text-secondary);padding:3px 0}.summary-total{font-size:14px;font-weight:600;color:var(--color-text-primary);text-align:center;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-dark)}.no-wounds-message{font-style:italic;color:var(--color-text-muted);text-align:center;padding:24px;margin:0}.capstone-mutation-selection{margin-top:var(--spacing-8);padding:var(--spacing-6);background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-alchemist-secondary);border-radius:var(--radius-md)}.capstone-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-5) 0;color:var(--color-gold-bright);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.capstone-description{font-size:var(--font-size-md);color:var(--color-text-base);margin:0 0 var(--spacing-5) 0}.mutation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-3);margin-bottom:var(--spacing-5)}.mutation-option{padding:var(--spacing-3) var(--spacing-5);font-size:var(--font-size-md);background:#2a2a3a;color:var(--color-text-emphasis);border:var(--border-width-base) solid var(--color-alchemist-secondary);border-radius:var(--radius-base);cursor:pointer;text-align:left;transition:var(--transition-all)}.mutation-option:hover{background:#3a3a4a;border-color:var(--color-alchemist-primary);transform:translateY(-2px)}.mutation-option.selected{background:var(--color-alchemist-primary);color:var(--color-text-primary);border-color:var(--color-alchemist-primary)}.mutation-name{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1)}.mutation-effect{font-size:var(--font-size-xs);opacity:.8}.selected-mutation-display{margin-top:var(--spacing-5);padding:var(--spacing-3);background:#2a2a4a;border:var(--border-width-thin) solid var(--color-alchemist-primary);border-radius:var(--radius-base);font-size:var(--font-size-md);color:var(--color-text-emphasis)}.selected-label{color:var(--color-alchemist-primary)}.confirmation-prompt{margin-top:var(--spacing-6);margin-bottom:0}.wound-tracker{padding:var(--spacing-4);background:var(--color-bg-base);border-radius:var(--radius-md);box-shadow:var(--shadow-base)}.wound-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:var(--border-width-thin) solid var(--color-bg-elevated)}.wound-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);margin:0;display:flex;align-items:center;gap:var(--spacing-3)}.bloodied-indicator{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#fff;background:#c62828;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:1px;animation:bloodied-pulse 2s ease-in-out infinite;margin:var(--spacing-3) 0;text-align:center;width:fit-content;margin-left:auto;margin-right:auto}@keyframes bloodied-pulse{0%,to{box-shadow:0 0 #c62828b3}50%{box-shadow:0 0 12px 4px #c6282880}}.rest-buttons{display:flex;gap:var(--spacing-2)}.rest-btn{background:var(--color-accent-base);color:var(--color-text-primary);border:none;padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.rest-btn:hover{transform:translateY(-2px);box-shadow:var(--glow-accent)}.camp-rest-btn{background:#fd7e14}.camp-rest-btn:hover{background:#e8590c;box-shadow:0 4px 8px #fd7e1466}.safe-rest-btn{background:var(--color-success-base)}.safe-rest-btn:hover{background:#218838;box-shadow:0 4px 8px #28a74566}.ac-display-compact{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-4);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-armor);border-radius:var(--radius-sm);cursor:help}.ac-label-compact{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase}.ac-value-compact{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-armor);font-family:Courier New,monospace}.wound-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding:var(--spacing-3);background:var(--color-bg-dark);border-radius:var(--radius-sm)}.progression-type{font-size:var(--font-size-sm);color:var(--color-border-light)}.wound-thresholds{display:flex;gap:var(--spacing-4);font-size:var(--font-size-xs)}.threshold-item{color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.wounds-horizontal-container{display:flex;gap:var(--spacing-3);align-items:flex-start;margin-bottom:var(--spacing-4)}.wound-section{flex:1;padding:var(--spacing-3);background:var(--color-bg-dark);border-radius:var(--radius-md);position:relative;display:flex;flex-direction:column;min-height:120px}.wound-section-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-border-dark);min-height:32px;max-height:32px}.wound-type-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wound-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent-base);padding:var(--spacing-sm) var(--spacing-2);background:var(--color-bg-base);border-radius:var(--radius-sm);white-space:nowrap}.consolidate-arrow-container{width:100%;display:flex;justify-content:center;margin-top:var(--spacing-2);padding:var(--spacing-2) 0}.consolidate-arrow-btn{background:#d4a01733;color:var(--color-gold);border:2px solid var(--color-gold);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:24px;font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-all);box-shadow:0 0 8px #d4a01766;width:100%;max-width:300px;height:24px;display:flex;align-items:center;justify-content:center}.consolidate-arrow-btn:hover{background:#d4a01766;color:#f0c030;border-color:#f0c030;transform:scale(1.05);box-shadow:0 0 16px #f0c03099}.wound-clusters{display:flex;flex-direction:column;gap:var(--spacing-2);min-height:50px;flex:1}.temp-wounds-section{margin-top:auto;padding-top:var(--spacing-2);border-top:1px solid var(--color-border-dark);min-height:35px}.wound-cluster{display:flex;flex-direction:row;gap:var(--spacing-1);padding:var(--spacing-2);background:var(--color-bg-base);border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--color-bg-elevated);align-items:center;justify-content:center}.wound-pip{width:20px;height:20px;cursor:pointer;transition:var(--transition-all);position:relative;display:flex;align-items:center;justify-content:center}.wound-pip.cluster-full{animation:wound-pulse 3.6s ease-in-out infinite}@keyframes wound-pulse{0%,to{filter:brightness(1);box-shadow:0 0 #ff0000b3}50%{filter:brightness(1.3);box-shadow:0 0 12px 4px #f009}}.wound-pip:after{content:"";position:absolute;width:calc(100% + 6px);height:calc(100% + 6px);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);z-index:0}.wound-pip.temporary.empty:before{background:var(--color-bg-base)!important}.wound-pip.temporary.empty:after{background:gold!important}.wound-pip.temporary.empty{box-shadow:0 0 8px #ffd70099}.wound-pip.temporary.filled:before{background:gold!important}.wound-pip.temporary.filled:after{background:#b8860b!important}.wound-pip.temporary.filled{box-shadow:0 0 8px #ffd700cc}.temp-indicator{color:gold;font-weight:500;font-size:12px}.temporary-wounds{margin-top:var(--spacing-8);padding:var(--spacing-6);background:#0f1520;border-left:var(--spacing-1) solid var(--color-accent-base);border-radius:var(--radius-md)}.temp-wounds-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);margin:0 0 var(--spacing-5) 0}.temp-wound-item{font-size:var(--font-size-base);color:var(--color-border-light);padding:var(--spacing-2) 0;font-weight:var(--font-weight-medium)}.wound-notes{margin-top:var(--spacing-4);padding:var(--spacing-3);background:#1a1a0a;border-left:var(--spacing-1) solid var(--color-warning-base);border-radius:var(--radius-sm)}.wound-notes p{margin:0 0 var(--spacing-2) 0;font-size:10px;color:var(--color-warning-light);line-height:1.4}.wound-notes p:last-child{margin-bottom:0}.wound-notes strong{font-weight:var(--font-weight-bold)}.wound-notes-header strong{font-size:var(--font-size-base)}.wound-tracker.touch-compact{padding:var(--spacing-2)}.wound-tracker.touch-compact .wound-header{margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-2)}.wound-tracker.touch-compact .rest-buttons{flex-wrap:wrap;gap:var(--spacing-1)}.wound-tracker.touch-compact .rest-btn{padding:var(--spacing-1) var(--spacing-2);font-size:9px}.wound-tracker.touch-compact .wound-info{padding:var(--spacing-2);margin-bottom:var(--spacing-2);flex-wrap:wrap;gap:var(--spacing-2)}.wound-tracker.touch-compact .progression-type{font-size:11px}.wound-tracker.touch-compact .wound-thresholds{gap:var(--spacing-2);font-size:10px}.wound-tracker.touch-compact .wounds-horizontal-container{gap:var(--spacing-2)}.wound-tracker.touch-compact .wound-section{padding:var(--spacing-2);min-height:80px}.wound-tracker.touch-compact .wound-section-header{margin-bottom:var(--spacing-2);padding-bottom:var(--spacing-1);min-height:24px;max-height:24px}.wound-tracker.touch-compact .wound-type-title{font-size:10px}.wound-tracker.touch-compact .wound-count{font-size:10px;padding:2px var(--spacing-1)}.wound-tracker.touch-compact .wound-clusters{min-height:36px;gap:var(--spacing-1)}.wound-tracker.touch-compact .wound-cluster{padding:var(--spacing-1);gap:2px}.wound-tracker.touch-compact .wound-pip{width:16px;height:16px}.wound-tracker.touch-compact .consolidate-arrow-container{margin-top:var(--spacing-1);padding:var(--spacing-1) 0}.wound-tracker.touch-compact .consolidate-arrow-btn{font-size:16px;height:20px}.wound-tracker.touch-compact .temp-wounds-section{min-height:28px;padding-top:var(--spacing-1)}.wound-tracker.touch-compact .temp-wounds-section>div:first-child{font-size:9px!important;margin-bottom:2px!important}.wound-tracker.touch-compact .bloodied-indicator{font-size:10px;padding:var(--spacing-1) var(--spacing-2);margin:var(--spacing-2) 0}.wound-tracker.touch-compact .wound-notes{margin-top:var(--spacing-2);padding:var(--spacing-2)}.wound-tracker.touch-compact .wound-notes p{font-size:9px}.wound-tracker.touch-compact .wound-notes-header strong{font-size:11px}@media(max-width:768px){.wound-info{flex-direction:column;align-items:flex-start;gap:var(--spacing-5)}.wound-thresholds{flex-direction:column;gap:var(--spacing-3)}.wounds-horizontal-container{flex-direction:column;gap:var(--spacing-8)}.wound-section{width:100%}.wound-pip{width:28px;height:28px}.wound-tracker.touch-compact .wounds-horizontal-container{flex-direction:row;gap:var(--spacing-1)}.wound-tracker.touch-compact .wound-section{min-height:70px}.wound-tracker.touch-compact .wound-pip{width:18px;height:18px}}.wound-helper{margin-top:var(--spacing-4);background:var(--color-bg-dark);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-md);overflow:hidden}.wound-helper-header{width:100%;display:flex;align-items:center;position:relative}.wound-helper-toggle{width:100%;padding:var(--spacing-4) var(--spacing-5);background:var(--color-bg-base);border:none;color:var(--color-text-lighter);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-align:left;display:flex;align-items:center;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.wound-helper-toggle:hover{background:#222}.wound-helper-title{color:var(--color-text-lighter)}.wound-helper-content{padding:var(--spacing-5);background:var(--color-bg-dark)}.damage-input-section{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:var(--spacing-5);padding:var(--spacing-4);background:var(--color-bg-base);border-radius:var(--radius-sm)}.damage-label{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);min-width:140px}.damage-input{flex:1;padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-darkest);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-sm);color:var(--color-text-bright);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);font-family:Courier New,monospace}.damage-input::-webkit-outer-spin-button,.damage-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.damage-input[type=number]{-moz-appearance:textfield}.damage-input:focus{outline:none;border-color:var(--color-accent-base);box-shadow:0 0 0 2px #4a90e233}.damage-input::placeholder{color:var(--color-text-muted);font-weight:400}.wound-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-3);margin-bottom:var(--spacing-5)}.wound-status-item{padding:var(--spacing-4);border-radius:var(--radius-sm);border-left:var(--border-width-thick) solid}.wound-status-item.minor{background:#6300001a;border-left-color:#630000}.wound-status-item.serious{background:#4000001a;border-left-color:#400000}.wound-status-item.devastating{background:#2400001a;border-left-color:#240000}.status-header{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-lighter);margin-bottom:var(--spacing-2);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.status-info{display:flex;flex-direction:column;gap:var(--spacing-1);font-size:var(--font-size-sm);color:var(--color-text-light)}.status-threshold{color:var(--color-text-tertiary)}.status-available{font-weight:var(--font-weight-semibold);color:var(--color-text-bright);font-family:Courier New,monospace}.allocations-section{margin-top:var(--spacing-5)}.allocations-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);margin:0 0 var(--spacing-4) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.allocations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4)}.allocation-box{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-3);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-sm);transition:var(--transition-all)}.allocation-box.clickable{cursor:pointer}.allocation-box.clickable:hover{background:var(--color-bg-elevated);border-color:var(--color-accent-base);box-shadow:var(--shadow-md);transform:translateY(-2px)}.allocation-box.clickable:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.wound-rows{width:100%;background:var(--color-bg-darkest);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-sm);padding:var(--spacing-3)}.wound-row{display:flex;flex-wrap:wrap;gap:4px;min-height:24px;align-items:center;padding:var(--spacing-2) 0}.wound-pip{width:18px;height:18px;position:relative;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.wound-pip:before{content:"";position:absolute;width:100%;height:100%;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);z-index:1}.wound-pip:after{content:"";position:absolute;width:calc(100% + 4px);height:calc(100% + 4px);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);z-index:0}.wound-pip.minor.empty:before{background:var(--color-bg-base)}.wound-pip.minor.empty:after{background:#505050}.wound-pip.minor.filled:before{background:#dc0000}.wound-pip.minor.filled:after{background:#960000}.wound-pip.minor:hover{filter:brightness(1.2)}.wound-pip.serious.empty:before{background:var(--color-bg-base)}.wound-pip.serious.empty:after{background:#464646}.wound-pip.serious.filled:before{background:#a00000}.wound-pip.serious.filled:after{background:#780000}.wound-pip.serious:hover{filter:brightness(1.2)}.wound-pip.devastating.empty:before{background:var(--color-bg-base)}.wound-pip.devastating.empty:after{background:#3c3c3c}.wound-pip.devastating.filled:before{background:#500000}.wound-pip.devastating.filled:after{background:#3c0000}.wound-pip.devastating:hover{filter:brightness(1.2)}.wound-divider{height:2px;background:linear-gradient(90deg,transparent,#d4af37,transparent);margin:var(--spacing-1) 0;opacity:.6}.wasted-damage{font-size:10px;color:var(--color-warning-light);margin-top:var(--spacing-2);text-align:center}@media(max-width:400px){.allocations-grid{grid-template-columns:1fr}}.no-allocations{padding:var(--spacing-5);background:#c628281a;border:var(--border-width-base) solid #c62828;border-radius:var(--radius-sm);text-align:center}.no-allocations p{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:#ff6b6b}.no-allocations-detail{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.helper-prompt{padding:var(--spacing-5);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.helper-prompt p{margin:0}.wound-helper-rest-cog{position:absolute;right:var(--spacing-3);top:50%;transform:translateY(-50%)}.rest-cog-btn{background:none;border:none;font-size:16px;cursor:pointer;padding:4px 8px;opacity:.7;transition:all .2s}.rest-cog-btn:hover{opacity:1}.rest-cog-menu{position:absolute;right:0;top:100%;margin-top:4px;background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:180px;z-index:100;overflow:hidden}.rest-cog-note{padding:8px 12px;font-size:10px;color:var(--color-text-muted);background:var(--color-bg-base);border-bottom:1px solid var(--color-border-dark)}.rest-cog-item{display:block;width:100%;padding:10px 12px;background:none;border:none;text-align:left;color:var(--color-text-lighter);font-size:12px;cursor:pointer;transition:all .15s}.rest-cog-item:hover{background:var(--color-bg-base);color:var(--color-gold)}.rest-cog-item:not(:last-child){border-bottom:1px solid var(--color-border-dark)}@media(max-width:768px){.wound-status-grid{grid-template-columns:1fr}.damage-input-section{flex-direction:column;align-items:stretch}.damage-label{min-width:auto}}.notation-system{margin-top:16px;padding:12px;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:8px}.notation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #3a3a3a}.notation-title{font-size:14px;font-weight:700;color:#b0b0b0;text-transform:uppercase;letter-spacing:.5px;margin:0}.add-note-btn{width:28px;height:28px;background:#2a2a2a;border:1px solid #4a4a4a;border-radius:4px;color:#2ecc71;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.add-note-btn:hover{background:#3a3a3a;border-color:#5a5a5a;transform:scale(1.1)}.notation-list{display:flex;flex-direction:column;gap:8px}.notation-empty{padding:20px;text-align:center;color:#666;font-size:12px;font-style:italic}.notation-item{background:#2a2a2a;border:1px solid #4a4a4a;border-radius:6px;overflow:visible}.notation-item-header{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background .2s ease;position:relative}.notation-item-header:hover{background:#2f2f2f}.notation-expand-icon{font-size:10px;color:#888;min-width:12px}.notation-item-title{flex:1;font-size:13px;font-weight:600;color:#fff}.notation-title-input{flex:1;background:#1a1a1a;border:1px solid #5a5a5a;border-radius:3px;padding:4px 8px;color:#fff;font-size:13px;font-weight:600}.notation-title-input:focus{outline:none;border-color:#7a7a7a}.notation-cog-btn{background:transparent;border:none;color:#888;font-size:14px;cursor:pointer;padding:4px;transition:all .2s ease;position:relative;z-index:10}.notation-cog-btn:hover{color:#aaa;transform:rotate(45deg)}.notation-cog-menu{position:absolute;right:8px;top:calc(100% + 2px);background:#2a2a2a;border:1px solid #4a4a4a;border-radius:4px;padding:4px;z-index:1001;box-shadow:0 4px 8px #0000004d;min-width:100px}.notation-cog-menu button{width:100%;background:transparent;border:none;color:#ccc;padding:8px 12px;text-align:left;cursor:pointer;font-size:12px;border-radius:3px;transition:background .2s ease}.notation-cog-menu button:hover{background:#3a3a4a}.notation-cog-menu button.delete-btn{color:#ff6b6b}.notation-cog-menu button.delete-btn:hover{background:#3a2a2a}.notation-item-content{padding:0 12px 12px;border-top:1px solid #3a3a3a;margin-top:0;background:#1a1a1a}.notation-textarea{width:100%;min-height:150px;max-height:400px;padding:12px;background:#2a2a2a;border:1px solid #4a4a4a;border-radius:4px;color:#fff;font-size:13px;font-family:Courier New,monospace;line-height:1.6;resize:vertical;margin-top:8px}.notation-textarea:focus{outline:none;border-color:#5a5a5a;background:#2f2f2f}.notation-textarea::placeholder{color:#666;font-style:italic}.item-property-btn{background:linear-gradient(135deg,#3a3a4a,#2a2a3a);border:1px solid #5a5a6a;border-radius:4px;padding:2px 8px;font-size:11px;color:#b0b0ff;cursor:pointer;transition:all .2s ease;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.3)}.item-property-btn:hover{background:linear-gradient(135deg,#4a4a5a,#3a3a4a);border-color:#6a6a7a;color:#d0d0ff;transform:translateY(-1px);box-shadow:0 2px 4px #0003}.item-property-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0003}.item-property-tooltip{position:fixed;transform:translate(-50%,-100%);background:#2a2a2a;border:1px solid #5a5a6a;border-radius:6px;padding:12px;min-width:200px;max-width:300px;z-index:10000;box-shadow:0 4px 12px #0006;animation:tooltipFadeIn .15s ease}.item-property-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#2a2a2a}.item-property-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:#5a5a6a;margin-top:1px;z-index:-1}.item-property-tooltip-title{font-size:13px;font-weight:600;color:#b0b0ff;margin-bottom:6px;border-bottom:1px solid #4a4a5a;padding-bottom:4px}.item-property-tooltip-description{font-size:12px;color:#ccc;line-height:1.4}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,calc(-100% + 4px))}to{opacity:1;transform:translate(-50%,-100%)}}.equipped-weapon{background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-border-dark);border-left:var(--border-width-thick) solid var(--color-warning-dark);border-radius:var(--radius-base);padding:var(--spacing-4);touch-action:none;-webkit-user-select:none;user-select:none}.equipped-weapon.offhand{opacity:.6;border-left-color:var(--color-border-base)}.equipped-weapon-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.equipped-weapon-name{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-bright)}.remove-button{background:transparent;border:none;color:var(--color-danger-base);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);cursor:pointer;padding:0;width:var(--spacing-8);height:var(--spacing-8);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition-all)}.remove-button:hover{background:var(--color-danger-base);color:var(--color-text-primary)}.weapon-master-toggle{margin-bottom:var(--spacing-3);padding:var(--spacing-2);background:var(--color-bg-darker);border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--color-warning-dark)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-bright);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:var(--color-warning-dark)}.checkbox-label input[type=checkbox].pinning-checkbox{appearance:none;width:18px;height:18px;border:2px solid #d4af37;background:#000;border-radius:3px;cursor:pointer;position:relative;transition:all .2s}.checkbox-label input[type=checkbox].pinning-checkbox:checked{background:#1a1a1a;box-shadow:0 0 8px #d4af3766}.checkbox-label input[type=checkbox].pinning-checkbox:checked:after{content:"⚔️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:11px}.checkbox-label input[type=checkbox].pinning-checkbox:hover{border-color:gold;box-shadow:0 0 5px #d4af374d}.checkbox-label span{font-weight:var(--font-weight-semibold)}.equipped-weapon-stats{display:flex;flex-direction:column;gap:var(--spacing-1);margin-bottom:var(--spacing-3)}.stat-row{display:flex;justify-content:space-between;font-size:var(--font-size-xs)}.tooltip-container:hover .tooltip{display:block}.stat-value{color:var(--color-text-lighter);font-family:Courier New,monospace;font-weight:var(--font-weight-bold)}.tooltip{display:none;position:absolute;z-index:var(--z-modal);top:100%;left:0;margin-top:var(--spacing-1);padding:var(--spacing-3);background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-warning-dark);border-radius:var(--radius-base);min-width:180px;box-shadow:var(--shadow-md)}.tooltip-title{color:var(--color-warning-dark);font-weight:var(--font-weight-bold);font-size:10px;margin-bottom:var(--spacing-1);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.equipped-weapon-notes{margin-top:var(--spacing-2);padding:var(--spacing-2);background:var(--color-bg-darker);border-radius:var(--radius-sm);font-size:10px;color:var(--color-text-base);font-style:italic}.charges-container{margin-bottom:var(--spacing-3);padding:var(--spacing-3);background:#3b82f60d;border-radius:var(--radius-sm);border:1px solid rgba(59,130,246,.2)}.charges-header{display:flex;flex-direction:column;gap:4px;margin-bottom:var(--spacing-2)}.charges-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#3b82f6}.charges-recharge-info{font-size:10px;color:var(--color-text-muted);font-style:italic}.charges-checkboxes{display:flex;gap:6px;flex-wrap:wrap}.charge-checkbox-label{cursor:pointer;display:flex;align-items:center}.charge-checkbox{cursor:pointer}.equipped-armour{background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-border-dark);border-left:var(--border-width-thick) solid var(--color-armor);border-radius:var(--radius-base);padding:var(--spacing-4);touch-action:none;-webkit-user-select:none;user-select:none}.equipped-armour-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.equipped-armour-name{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-bright)}.equipped-armour-stats{display:flex;flex-direction:column;gap:var(--spacing-1);margin-bottom:var(--spacing-3)}.equipped-armour-notes{margin-top:var(--spacing-2);padding:var(--spacing-2);background:var(--color-bg-darker);border-radius:var(--radius-sm);font-size:10px;color:var(--color-text-base);font-style:italic}.inventory-slot-item{background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-border-dark);border-left:var(--border-width-thick) solid #6b8e23;border-radius:var(--radius-base);padding:var(--spacing-3);touch-action:none;-webkit-user-select:none;user-select:none}.inventory-slot-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.inventory-slot-name{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-bright)}.inventory-slot-details{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.detail-row{display:flex;gap:var(--spacing-1);font-size:10px}.detail-label{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.detail-value{color:var(--color-text-lighter);font-family:Courier New,monospace}.stackable-badge{background:#6b8e23;color:var(--color-text-primary);padding:2px var(--spacing-2);border-radius:var(--radius-sm);font-size:9px;font-weight:var(--font-weight-bold);text-transform:uppercase}.inventory-slot-notes{margin-top:var(--spacing-1);padding:var(--spacing-1);background:var(--color-bg-darker);border-radius:var(--radius-sm);font-size:9px;color:var(--color-text-base);font-style:italic;line-height:1.3}.header-right-section{display:flex;align-items:center;gap:var(--spacing-4)}.inventory-minimized{padding:var(--spacing-4);background:var(--color-bg-elevated);border-radius:var(--radius-base)}.inventory-minimized .minimized-item{display:flex;gap:var(--spacing-3);margin-bottom:var(--spacing-2);font-size:var(--font-size-sm)}.inventory-minimized .minimized-item:last-child{margin-bottom:0}.inventory-minimized .minimized-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);min-width:80px}.inventory-minimized .minimized-value{color:var(--color-text-lighter)}.ac-display{position:relative;background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-armor);border-radius:var(--radius-md);padding:var(--spacing-3) var(--spacing-6);min-width:140px;cursor:help}.ac-display.tooltip-container:hover .tooltip{display:block}.ac-main{display:flex;align-items:center;gap:var(--spacing-3)}.ac-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase}.ac-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-armor);font-family:Courier New,monospace}.tooltip-container{position:relative}.tooltip{display:none;position:absolute;z-index:var(--z-modal);top:100%;left:0;margin-top:var(--spacing-1);padding:var(--spacing-3);background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-armor);border-radius:var(--radius-base);min-width:180px;box-shadow:var(--shadow-md)}.ac-tooltip{border-color:var(--color-armor)}.tooltip-title{color:var(--color-armor);font-weight:var(--font-weight-bold);font-size:10px;margin-bottom:var(--spacing-1);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.tooltip-line{color:var(--color-text-lighter);font-size:10px;margin:2px 0;font-weight:var(--font-weight-semibold)}.section-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase;margin-bottom:var(--spacing-4);letter-spacing:var(--letter-spacing-tight)}.weapon-slots-section{margin-bottom:var(--spacing-6)}.weapon-slots{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.weapon-set-indicator{background:var(--color-bg-elevated);margin-bottom:var(--spacing-3);padding:var(--spacing-3);border-radius:var(--radius-base);border:1px solid var(--color-border-base);display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.weapon-set-divider{grid-column:1 / -1;background:var(--color-bg-elevated);margin:var(--spacing-2) 0;padding:var(--spacing-3);border-radius:var(--radius-base);border:1px solid var(--color-border-base)}.weapon-set-toggle-container{display:flex;align-items:center;justify-content:center;gap:var(--spacing-2)}.weapon-set-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;font-weight:var(--font-weight-semibold)}.weapon-set-toggle-btn{padding:var(--spacing-1) var(--spacing-3);border:3px solid var(--color-border-dark);background:var(--color-bg-dark);color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:var(--font-size-xs);cursor:pointer;transition:all .2s;opacity:.6}.weapon-set-toggle-btn:hover{opacity:.8;border-color:var(--color-border-base)}.weapon-set-toggle-btn.active{background:var(--color-bg-elevated);color:var(--color-text-primary);border:3px solid #d4af37;font-weight:var(--font-weight-semibold);letter-spacing:.5px;opacity:1;box-shadow:0 0 8px #d4af3766}.weapon-drop-zone{min-height:120px;border:var(--border-width-base) dashed var(--color-border-dark);border-radius:var(--radius-base);padding:var(--spacing-3);transition:var(--transition-all)}.weapon-drop-zone.empty{background:var(--color-bg-darker);display:flex;align-items:center;justify-content:center}.weapon-drop-zone.hover{border-color:var(--color-warning-dark);background:#8b45131a}.weapon-drop-zone.filled{border-style:solid;border-color:var(--color-border-dark);background:transparent}.armour-slot-section{margin-bottom:var(--spacing-6)}.armour-drop-zone{min-height:100px;border:var(--border-width-base) dashed var(--color-border-dark);border-radius:var(--radius-base);padding:var(--spacing-3);transition:var(--transition-all)}.armour-drop-zone.empty{background:var(--color-bg-darker);display:flex;align-items:center;justify-content:center}.armour-drop-zone.hover{border-color:var(--color-armor);background:#4a55681a}.armour-drop-zone.filled{border-style:solid;border-color:var(--color-border-dark);background:transparent}.general-inventory-section{margin-bottom:var(--spacing-6)}.inventory-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.inventory-slot-drop-zone{min-height:80px;border:var(--border-width-base) dashed var(--color-border-dark);border-radius:var(--radius-base);padding:var(--spacing-3);transition:var(--transition-all)}.inventory-slot-drop-zone.empty{background:var(--color-bg-darker);display:flex;align-items:center;justify-content:center}.inventory-slot-drop-zone.hover{border-color:#6b8e23;background:#6b8e231a}.inventory-slot-drop-zone.filled{border-style:solid;border-color:var(--color-border-dark);background:transparent}.empty-slot-text{color:var(--color-border-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-align:center;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.currency-section{padding-top:var(--spacing-5);border-top:var(--border-width-base) solid var(--color-border-darkest)}.currency-display{display:flex;gap:var(--spacing-6)}.currency-item{display:flex;gap:var(--spacing-3);font-size:var(--font-size-sm)}.currency-label{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.currency-value{color:var(--color-text-bright);font-weight:var(--font-weight-bold);font-family:Courier New,monospace}.inventory-slot-drop-zone.secondary-slot{background:#64646426;border-style:solid;border-color:var(--color-border-darkest);cursor:not-allowed}.inventory-slot-drop-zone.coin-slot{background:#ffd7001a;border-style:solid;border-color:#ffd7004d;cursor:not-allowed}.inventory-slot-drop-zone.valid-target{border-color:#28a745;background:#28a74526;border-style:dashed}.inventory-slot-drop-zone.invalid-target{border-color:#dc3545;background:#dc35451a;opacity:.6}.weapon-drop-zone.valid-target,.armour-drop-zone.valid-target{border-color:#28a745;background:#28a74526;border-style:dashed}.weapon-drop-zone.blocked{background:#64646433;border-color:var(--color-border-darkest);opacity:.6}.weapon-drop-zone.two-handed-spanning{grid-column:span 2;background:var(--color-bg-dark);border:var(--border-width-base) solid #654;position:relative}.weapon-drop-zone.two-handed-spanning:after{content:"2H";position:absolute;top:var(--spacing-2);right:var(--spacing-2);background:#654;color:var(--color-text-primary);font-size:10px;font-weight:var(--font-weight-bold);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm)}.blocked-text{color:var(--color-text-muted)!important;flex-direction:column;display:flex}.blocked-reason{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-1)}.weapon-drop-zone.swap-selected,.inventory-slot-drop-zone.swap-selected,.armour-drop-zone.swap-selected{border-color:var(--color-magic-base);border-style:solid;box-shadow:0 0 12px #4a9eff80,inset 0 0 8px #4a9eff33;background:#4a9eff1a}.weapon-drop-zone.swap-target,.inventory-slot-drop-zone.swap-target,.armour-drop-zone.swap-target{border-color:#4a9eff80;border-style:dashed;animation:pulse-swap-target 1.5s ease-in-out infinite}@keyframes pulse-swap-target{0%,to{border-color:#4a9eff4d;background:transparent}50%{border-color:#4a9eff99;background:#4a9eff0d}}.apparel-category{margin-bottom:var(--spacing-4)}.apparel-category-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--spacing-2);text-transform:uppercase;letter-spacing:.5px}.apparel-ring-slots{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3)}.magical-apparel-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-3);margin-top:var(--spacing-3)}.magical-apparel-section{margin-bottom:var(--spacing-4)}.ac-stacking-warning{margin:var(--spacing-2) 0 var(--spacing-3) 0;padding:var(--spacing-3);background:#1a1a0a;border-left:var(--spacing-1) solid var(--color-warning-base);border-radius:var(--radius-sm);font-size:11px;color:var(--color-warning-light);line-height:1.4}.ac-stacking-warning strong{font-weight:var(--font-weight-bold);color:var(--color-warning-base)}.lost-items-section{margin-top:var(--spacing-6);padding:var(--spacing-5);background:#e539351a;border:2px solid #e53935;border-radius:var(--radius-md)}.lost-items-title{margin:0 0 var(--spacing-3) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:#ff6b6b}.lost-items-description{margin:0 0 var(--spacing-5) 0;font-size:var(--font-size-sm);color:var(--color-text-light);line-height:var(--line-height-relaxed)}.lost-items-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.lost-item-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-sm)}.lost-item-info{flex:1}.lost-item-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-bright);margin-bottom:var(--spacing-1)}.lost-item-stat{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.lost-item-actions{display:flex;gap:var(--spacing-2)}.lost-item-btn{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);border:none;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-all)}.lost-item-btn.reclaim-btn{background:var(--color-success-dark);color:var(--color-text-bright)}.lost-item-btn.reclaim-btn:hover{background:var(--color-success-base)}.lost-item-btn.delete-btn{background:var(--color-danger-dark);color:var(--color-text-bright)}.lost-item-btn.delete-btn:hover{background:var(--color-danger-base)}.weightless-items-section{margin-bottom:var(--spacing-4);padding-top:var(--spacing-5);border-top:var(--border-width-base) solid var(--color-border-darkest)}.weightless-items-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-3);min-height:80px;padding:var(--spacing-3);border:2px dashed var(--color-border-base);border-radius:var(--radius-base);background:var(--color-bg-base);transition:all .2s ease}.weightless-items-list.drop-zone-hover{background:var(--color-bg-hover);border:2px dashed var(--color-border-lighter);box-shadow:0 0 0 3px #6a5acd1a}.weightless-item-wrapper{display:flex;align-items:center;gap:var(--spacing-1)}.weightless-remove-btn{background:none;border:none;color:var(--color-text-muted);font-size:16px;line-height:1;cursor:pointer;padding:4px 6px;transition:all .2s ease;flex-shrink:0;border-radius:3px}.weightless-remove-btn:hover{color:var(--color-danger);background:#dc35451a}.magical-apparel-slot{transition:all .2s ease}.magical-apparel-slot.hover{border-color:#6b8e23;background:#6b8e2326;border-style:dashed}.magical-apparel-slot.filled:hover{border-color:#4a9eff80;background:#4a9eff0d}.magical-apparel-slot.expanded{height:auto;min-height:80px}.magical-apparel-item-content{display:flex;flex-direction:column;width:100%;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.magical-apparel-item-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.magical-apparel-header-controls{display:flex;align-items:center;gap:6px}.expand-indicator{font-size:10px;color:var(--color-text-muted);transition:color .2s}.magical-apparel-item-header:hover .expand-indicator{color:var(--color-text-bright)}.magical-apparel-item-name{font-size:13px;font-weight:600;color:var(--color-text-bright);flex:1;line-height:1.2}.magical-apparel-charges-preview{display:flex;gap:4px;margin:6px 0}.charge-pip{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.3);cursor:pointer;transition:all .2s ease}.charge-pip.available{background:#4a9eff66;border-color:#4a9effb3}.charge-pip.used{background:#3c3c3c66;border-color:#64646480}.charge-pip:hover{transform:scale(1.15);border-color:#fff9}.magical-apparel-details-inline{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.magical-apparel-description{font-size:12px;font-style:italic;color:var(--color-text-dim);margin:0 0 8px;line-height:1.4}.magical-apparel-benefit{font-size:12px;margin-bottom:8px;padding:6px 8px;background:#ffffff08;border-radius:4px;border-left:2px solid rgba(74,158,255,.5)}.magical-apparel-benefit .detail-label{font-weight:600;color:var(--color-text-bright);margin-right:4px}.magical-apparel-benefit .detail-value{color:var(--color-text-lighter);line-height:1.4}.magical-apparel-stats{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.magical-apparel-stats .stat-badge{padding:3px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:3px;font-size:11px}.magical-apparel-stats .stat-label{color:var(--color-text-muted);margin-right:2px}.magical-apparel-charges-info{font-size:11px;margin-bottom:6px}.magical-apparel-charges-info .charges-label{color:var(--color-text-muted);font-style:italic}.magical-apparel-curse{font-size:11px;padding:4px 6px;background:#c850501a;border-radius:3px;border-left:2px solid rgba(200,80,80,.5);margin-bottom:6px}.magical-apparel-curse .curse-label{font-weight:600;color:#dc6464;margin-right:4px}.magical-apparel-curse .curse-text{color:var(--color-text-lighter)}.magical-apparel-notes{font-size:11px;color:var(--color-text-muted);font-style:italic}.magical-apparel-actions{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.move-to-party-btn{padding:6px 12px;font-size:11px;background:linear-gradient(135deg,#dc143c33,#8b000026);border:1px solid #dc143c;border-radius:4px;color:#f66;cursor:pointer;transition:all .2s}.move-to-party-btn:hover:not(:disabled){background:linear-gradient(135deg,#dc143c4d,#8b000040);border-color:#f44}.move-to-party-btn:disabled{opacity:.4;cursor:not-allowed}.magical-item-stats .stat-value{color:var(--color-text-bright);font-weight:600}.charges-recharge-info{color:var(--color-text-secondary);font-size:12px;margin-bottom:8px}.charges-checkboxes-modal{display:flex;gap:8px}.charge-checkbox-modal{position:relative;cursor:pointer}.charge-checkbox-modal input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.charge-checkbox-visual-modal{width:28px;height:28px;border:2px solid rgba(255,255,255,.3);border-radius:4px;background:#0000004d;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.charge-checkbox-modal.available .charge-checkbox-visual-modal{background:#4a9eff4d;border-color:#4a9eff99}.charge-checkbox-modal.available .charge-checkbox-visual-modal:after{content:"✓";color:#4a9eff;font-size:16px;font-weight:700}.charge-checkbox-modal.used .charge-checkbox-visual-modal{background:#64646433;border-color:#64646466}.charge-checkbox-modal:hover .charge-checkbox-visual-modal{border-color:#ffffff80;transform:scale(1.05)}.magical-apparel-name-row{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.cursed-badge{background:linear-gradient(135deg,#8b0000,#4a0000);color:#ff6b6b;font-size:10px;padding:2px 6px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border:1px solid #8b0000;flex-shrink:0}.cog-menu-container{position:relative}.cog-button{background:transparent;border:none;color:#888;font-size:16px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.cog-button:hover{background:#ffffff1a;color:#fff}.cog-dropdown{position:absolute;right:0;top:100%;background:#2a2a2a;border:1px solid #444;border-radius:6px;box-shadow:0 4px 12px #00000080;z-index:100;min-width:150px;overflow:hidden}.cog-menu-item{display:block;width:100%;padding:10px 14px;background:transparent;border:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;transition:background .2s ease}.cog-menu-item:hover{background:#ffffff1a}.cog-menu-item.remove-cursed{color:#ff6b6b}.cog-menu-item.remove-cursed:hover{background:#8b00004d}.curse-warning-inline{position:absolute;top:100%;left:0;right:0;background:linear-gradient(135deg,#2a1a1a,#1a1010);border:1px solid #8b0000;border-radius:6px;padding:10px;margin-top:4px;z-index:100;box-shadow:0 4px 12px #8b000066}.curse-warning-header{display:flex;align-items:center;gap:6px;margin-bottom:6px}.curse-warning-inline .curse-warning-icon{font-size:14px}.curse-warning-inline .curse-warning-title{font-size:13px;font-weight:700;color:#ff6b6b}.curse-warning-inline .curse-warning-text{color:#aaa;font-size:11px;line-height:1.4;margin-bottom:8px}.curse-warning-inline .curse-warning-actions{display:flex;gap:8px}.curse-btn-inline{flex:1;padding:6px 10px;border:none;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease}.curse-btn-inline.cancel{background:#333;color:#ccc}.curse-btn-inline.cancel:hover{background:#444}.curse-btn-inline.force-remove{background:linear-gradient(135deg,#8b0000,#5a0000);color:#fff}.curse-btn-inline.force-remove:hover{background:linear-gradient(135deg,#a00,#7a0000)}.drop-zone{background:var(--color-bg-dark);border:var(--border-width-base) solid var(--color-bg-elevated);border-radius:0;padding:var(--spacing-6);margin-bottom:var(--spacing-6);min-height:80px;transition:var(--transition-all);box-shadow:0 4px 6px #0006}.drop-zone.can-drop{border-color:var(--color-accent-base);background:#0f1520}.drop-zone.active{border-color:var(--color-accent-dark);background:#0a1525;border-style:solid}.drop-zone.locked{background:#1a1a1a;opacity:.7;cursor:not-allowed;pointer-events:none}.drop-zone.locked .drop-zone-content{opacity:.6}.drop-zone-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;margin-bottom:var(--spacing-3);letter-spacing:var(--letter-spacing-tight)}.drop-zone-content{min-height:60px}.drop-zone-placeholder{color:var(--color-text-tertiary);font-size:var(--font-size-base);text-align:center;padding:var(--spacing-7);font-style:italic}.drop-zone.filled{background:var(--color-bg-base);border-style:solid;border-color:var(--color-bg-elevated)}.drop-zone.touch-enabled{cursor:pointer;border-style:dashed;border-color:var(--color-magic-dark)}.drop-zone.touch-enabled:hover,.drop-zone.touch-enabled:active{background:var(--color-bg-elevated);border-color:var(--color-magic-base)}.drop-zone.touch-enabled .drop-zone-placeholder{color:var(--color-magic-base)}@media(max-width:768px){.drop-zone.touch-enabled{min-height:70px;border-width:2px}}.character-slot{background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-bg-elevated);border-radius:var(--radius-md);padding:var(--spacing-5)}.slot-title{font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);margin:0 0 var(--spacing-3) 0;display:flex;justify-content:space-between;align-items:center}.class-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-3)}.class-title-row .slot-title{margin:0}.description-toggle-btn{background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-xl);cursor:pointer;padding:var(--spacing-1) var(--spacing-2);transition:var(--transition-all);display:flex;align-items:center;justify-content:center}.description-toggle-btn:hover{color:var(--color-text-lighter);transform:scale(1.1)}.description-toggle-btn:active{transform:scale(.95)}.slot-description{font-size:var(--font-size-base);color:var(--color-text-muted);margin:0 0 var(--spacing-3) 0;line-height:var(--line-height-relaxed)}.slot-ability,.slot-effect,.slot-abilities,.slot-motivations{font-size:var(--font-size-md);color:var(--color-border-light);margin-top:var(--spacing-3)}.slot-abilities .abilities-list{list-style:none;padding:0;margin:var(--spacing-3) 0 0 0}.slot-abilities .abilities-list li{padding:var(--spacing-1) 0;font-size:var(--font-size-md);color:var(--color-border-light);line-height:var(--line-height-relaxed)}.abilities-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg-elevated);border-radius:var(--radius-base);transition:var(--transition-all)}.abilities-header:hover{background:var(--color-bg-hover)}.abilities-header-no-toggle{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg-elevated);border-radius:var(--radius-base);transition:all .3s ease}.abilities-header-no-toggle.has-unrolled-header,.abilities-header.has-unrolled-header{border:1px solid #9b59b6;box-shadow:0 0 12px #9b59b666}.abilities-collapsed{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-top:var(--spacing-2);padding:var(--spacing-2)}.ability-name-tag{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);background:var(--color-bg-elevated);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--color-border-darkest)}.class-stats{display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-3)}.stat-item{font-size:var(--font-size-md);color:var(--color-border-light);line-height:var(--line-height-relaxed)}.class-stats-compact{margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--color-bg-elevated);border-radius:var(--radius-base);border:var(--border-width-thin) solid var(--color-border-darkest)}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-3)}.stat-compact{display:flex;flex-direction:column;gap:var(--spacing-1);position:relative}.stat-label-compact{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.stat-value-compact{font-size:var(--font-size-sm);color:var(--color-text-lighter);line-height:var(--line-height-base)}.stat-languages{margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:var(--border-width-thin) solid var(--color-border-darkest);font-size:var(--font-size-sm);color:var(--color-border-light)}.focus-toggle-row{margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:var(--border-width-thin) solid var(--color-border-darkest)}.focus-toggle-label{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer}.focus-toggle-checkbox{width:16px;height:16px;accent-color:#f39c12;cursor:pointer}.focus-toggle-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.focus-toggle-checkbox:checked+.focus-toggle-text{color:#f39c12}.stat-compact.tooltip-container{cursor:help}.stat-compact.tooltip-container:hover .tooltip{display:block}.speed-tooltip{position:absolute;z-index:var(--z-modal);bottom:100%;left:0;margin-bottom:var(--spacing-2);padding:var(--spacing-3);background:#1a1a1a;border:var(--border-width-thin) solid #4a3a6a;border-radius:var(--radius-base);min-width:200px;max-width:300px;box-shadow:0 4px 12px #00000080;display:none;white-space:normal;word-wrap:break-word}.speed-tooltip .tooltip-title{color:#9b59b6;font-weight:var(--font-weight-bold);font-size:10px;margin-bottom:var(--spacing-1);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.speed-tooltip .tooltip-line{color:#e0e0e0;font-size:10px;margin:2px 0;font-weight:var(--font-weight-semibold);line-height:1.4;white-space:normal;word-wrap:break-word}.spell-level{font-size:var(--font-size-sm);background:var(--color-accent-base);color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-3);border-radius:var(--radius-base);font-weight:var(--font-weight-medium)}.slot-talents{margin-top:var(--spacing-5)}.talents-header-slot{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:var(--spacing-3);background:var(--color-bg-elevated);border-radius:var(--radius-base);transition:var(--transition-all)}.talents-header-slot:hover{background:var(--color-bg-hover)}.expand-toggle-slot{background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-xl);cursor:pointer;padding:var(--spacing-1) var(--spacing-2);transition:var(--transition-all);display:flex;align-items:center;justify-content:center}.expand-toggle-slot:hover{color:var(--color-text-lighter);transform:scale(1.1)}.expand-toggle-slot:active{transform:scale(.95)}.talents-list-slot{list-style:none;padding:0;margin:var(--spacing-3) 0 0 0;max-height:250px;overflow-y:auto}.talents-list-slot::-webkit-scrollbar{width:6px}.talents-list-slot::-webkit-scrollbar-track{background:var(--scrollbar-track)}.talents-list-slot::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.talents-list-slot::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.talent-item-slot{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-1);background:var(--color-bg-dark);border-left:var(--border-width-base) solid var(--color-bg-elevated);font-size:var(--font-size-sm);color:var(--color-border-light);line-height:var(--line-height-relaxed)}.talent-item-slot:last-child{margin-bottom:0}.talent-roll{font-weight:var(--font-weight-bold);color:var(--color-text-lighter);min-width:35px;text-align:center;background:var(--color-bg-elevated);padding:var(--spacing-sm) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.talent-text{flex:1}.ability-checkbox-layout{display:flex;align-items:flex-start;gap:var(--spacing-2)}.ability-checkbox-content{flex:1}.ability-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-success-base);flex-shrink:0}.ability-checkbox-small{width:16px;height:16px;cursor:pointer;accent-color:var(--color-success-base)}.weapon-display-grid{display:flex;flex-direction:column;gap:2px}.weapon-name-display{font-weight:600}.weapon-stats-display{font-size:10px;opacity:.8;font-style:italic}.weapon-item-spacing{margin-bottom:4px}.weapon-item-spacing:last-child{margin-bottom:0}.bonus-text{color:#2ecc71}.currency-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.currency-section-title{margin:0}.currency-edit-btn{padding:4px 12px;font-size:12px;background:#2a2a2a;color:#4ade80;border:1px solid #4ade80;border-radius:4px;cursor:pointer;transition:all .2s ease;font-weight:500}.currency-edit-btn:hover{background:#1a1a1a;box-shadow:0 0 8px #4ade804d}.currency-slots-message{margin-top:8px;font-size:12px;color:#666;font-style:italic}.currency-modal-container{display:flex;flex-direction:column;gap:16px}.currency-modal-description{font-size:13px;color:#666;margin:0 0 4px}.currency-modal-conversion{font-size:12px;color:#888;margin:0 0 12px;font-style:italic}.currency-input-row{display:flex;align-items:center;gap:12px}.currency-input-label{min-width:130px;font-size:14px;font-weight:500}.currency-input-field{flex:1;padding:8px 12px;font-size:14px;border:2px solid #ddd;border-radius:4px;width:100px}.currency-input-suffix{font-size:13px;color:#666;min-width:30px}.level-controls-inline{display:flex;align-items:center;gap:8px;padding:12px;border-bottom:1px solid #333}.description-text-expanded{margin-top:4px;font-size:.9em;opacity:.9;white-space:pre-line}.empty-slot-text-subtle{color:#666;font-size:11px}.tremor-sense-bonus,.tremor-sense-tooltip-bonus{color:#2ecc71}.roll-helper-container{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;width:100%}.roll-helper-container.touch-mode{width:100%;max-width:100%}.roll-helper-compact{display:flex;flex-direction:column;gap:4px;background:var(--color-bg-dark);border:1px solid var(--color-border-base);border-radius:5px;padding:6px;max-width:100%}.roll-row{display:flex;align-items:center;gap:3px;padding:3px 4px;background:#0003;border:1px solid var(--color-border-dark);border-radius:3px;position:relative;overflow:hidden;flex-wrap:nowrap}.roll-row-spell{background:#4a9eff14;border-color:#4a9eff33}.roll-row-info{display:flex;flex-direction:column;gap:1px;min-width:60px;max-width:100px;overflow:hidden}.roll-row-name{font-weight:600;font-size:9px;color:var(--color-text-lighter);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.roll-row-stats{display:flex;align-items:center;gap:4px;font-size:8px;color:var(--color-text-muted)}.roll-stat-modifier{color:#4a9eff;font-weight:600}.roll-stat-separator{color:var(--color-border-base)}.roll-stat-damage{color:#e0a060;font-family:monospace;font-size:9px}.spell-range{color:var(--color-accent-base);font-family:monospace;font-size:9px}.roll-row-buttons{display:flex;gap:2px;flex-shrink:0}.roll-btn-compact{padding:2px 3px;border:none;cursor:pointer;font-weight:600;font-size:8px;border-radius:2px;transition:all .15s ease;min-width:22px;text-align:center}.roll-btn-disadv{background:linear-gradient(135deg,#8e0000,#5c0000);color:#ffffffe6}.roll-btn-disadv:hover{background:linear-gradient(135deg,#b71c1c,#8e0000);box-shadow:0 0 8px #b71c1c66}.roll-btn-roll{background:linear-gradient(135deg,#3a3a4a,#2a2a3a);color:var(--color-text-lighter)}.roll-btn-roll:hover{background:linear-gradient(135deg,#4a4a5a,#3a3a4a);box-shadow:0 0 8px #6464784d}.roll-btn-adv{background:linear-gradient(135deg,#1b5e20,#0d3d12);color:#ffffffe6}.roll-btn-adv:hover{background:linear-gradient(135deg,#2e7d32,#1b5e20);box-shadow:0 0 8px #2e7d3266}.roll-btn-damage{background:linear-gradient(135deg,#3a3a4a,#2a2a3a);color:var(--color-text-lighter)}.roll-btn-damage:hover{background:linear-gradient(135deg,#4a4a5a,#3a3a4a);box-shadow:0 0 8px #6464784d}.roll-result-display{font-size:10px;font-weight:700;color:var(--color-text-lighter);min-width:22px;text-align:center;padding:2px;background:#0000004d;border-radius:2px;flex-shrink:0}.roll-result-display.empty{color:var(--color-text-muted);opacity:.5}.roll-result-display.damage-result{background:#0000004d;color:var(--color-text-lighter)}.roll-result-display.damage-result.exploded{color:gold;background:#d4af3733;box-shadow:0 0 8px #d4af3766}.roll-result-display.damage-result.nat-1{color:#f44;background:#c6282833}.roll-result-display.nat-24{color:gold;background:#d4af3733;box-shadow:0 0 8px #d4af3766}.roll-result-display.nat-2{color:#f44;background:#c6282833;box-shadow:0 0 8px #c6282866}.roll-result-display.nat-20-plus{color:gold}.roll-result-display.nat-low{color:#ff6b6b}.roll-btn-compact.nat-24{background:linear-gradient(135deg,#d4af37,#a67c00);box-shadow:0 0 12px #d4af3799;animation:pulse-gold 1.5s ease-in-out infinite}.roll-btn-compact.nat-2{background:linear-gradient(135deg,#c62828,#8e0000);box-shadow:0 0 12px #c6282899;animation:pulse-red 1.5s ease-in-out infinite}.roll-btn-compact.nat-20-plus .roll-result-inline{color:gold}.roll-btn-compact.nat-low .roll-result-inline{color:#ff6b6b}.warden-flip-btn{width:16px;height:16px;border-radius:50%;background:var(--color-bg-elevated);border:1px solid var(--color-border-base);color:var(--color-text-muted);font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;flex-shrink:0;margin-left:1px}.warden-flip-btn:hover{border-color:#d4af37;color:#d4af37;box-shadow:0 0 8px #d4af3766}.weapon-set-indicator{display:flex;align-items:center;justify-content:center;gap:6px;padding:4px 0;margin-top:2px}.set-indicator-btn{width:22px;height:22px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border-dark);background:var(--color-bg-dark);color:var(--color-text-muted);font-size:10px;font-weight:600;cursor:pointer;transition:all .2s;opacity:.6}.set-indicator-btn:hover{opacity:.8;border-color:var(--color-border-base)}.set-indicator-btn.active{background:var(--color-bg-elevated);color:var(--color-text-primary);border:2px solid #d4af37;opacity:1;box-shadow:0 0 6px #d4af374d}.set-indicator-label{font-size:9px;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.roll-special-toggle{display:flex;justify-content:flex-start;margin-bottom:4px}.pinning-toggle-label{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--color-text-bright);cursor:pointer;-webkit-user-select:none;user-select:none;padding:3px 6px;background:#d4af370d;border-radius:3px;border:1px solid rgba(212,175,55,.2)}.pinning-toggle-label:hover{background:#d4af371a;border-color:#d4af374d}.pinning-checkbox-roll{appearance:none;width:14px;height:14px;border:2px solid #d4af37;background:#000;border-radius:3px;cursor:pointer;position:relative;transition:all .2s;flex-shrink:0}.pinning-checkbox-roll:checked{background:#1a1a1a;box-shadow:0 0 6px #d4af3766}.pinning-checkbox-roll:checked:after{content:"⚔️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:9px}.pinning-checkbox-roll:hover{border-color:gold;box-shadow:0 0 4px #d4af374d}.floating-roll{pointer-events:none;animation:floatUp 2s ease-out forwards;z-index:1000;background:#000000e6;padding:8px 12px;border-radius:4px;font-size:12px;color:#fff;white-space:nowrap;box-shadow:0 2px 8px #00000080}@keyframes floatUp{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-60px)}}@keyframes pulse-gold{0%,to{box-shadow:0 0 12px #d4af3799}50%{box-shadow:0 0 20px #d4af37e6}}@keyframes pulse-red{0%,to{box-shadow:0 0 12px #c6282899}50%{box-shadow:0 0 20px #c62828e6}}.roll-helper-container.touch-mode .roll-btn-compact{padding:5px 6px;font-size:9px;min-width:28px}.roll-helper-container.touch-mode .roll-row{padding:4px 5px;gap:3px}.roll-helper-container.touch-mode .warden-flip-btn{width:20px;height:20px;font-size:11px}.roll-row-pinned-spell{display:flex;flex-direction:column;gap:2px}.spell-dc-badge{display:flex;align-items:center;justify-content:center;min-width:22px;height:22px;background:#4a9eff26;border:1px solid rgba(74,158,255,.3);border-radius:3px;flex-shrink:0}.spell-dc-value-small{font-size:9px;font-weight:700;color:#4a9eff}.spell-result-indicator{font-size:10px;font-weight:700;min-width:14px;text-align:center;flex-shrink:0}.spell-result-indicator.success{color:#4caf50}.spell-result-indicator.fail{color:#f44336}.roll-result-display.spell-success{background:#4caf5033;border:1px solid rgba(76,175,80,.4)}.roll-result-display.spell-fail{background:#f4433633;border:1px solid rgba(244,67,54,.4)}.escalation-ticks{display:flex;flex-wrap:wrap;gap:2px;padding:2px 4px;background:#00000026;border-radius:2px;min-height:14px}.escalation-tick{width:12px;height:12px;border:1px solid rgba(74,158,255,.4);background:#0000004d;border-radius:2px;cursor:pointer;font-size:8px;color:#4a9eff;display:flex;align-items:center;justify-content:center;padding:0;transition:all .15s ease}.escalation-tick:hover{border-color:#4a9eff;background:#4a9eff26}.escalation-tick.checked{background:#4a9eff4d;border-color:#4a9eff;color:#fff}.spell-fail-thresholds{font-size:7px;color:#888;font-family:monospace;white-space:nowrap;letter-spacing:-.3px}.spell-fail-thresholds.cursed{color:#ff6b6b;text-shadow:0 0 4px rgba(255,107,107,.5)}@media(max-width:500px){.roll-row-buttons{gap:1px}.roll-btn-compact{padding:4px 5px;min-width:30px;font-size:8px}.warden-flip-btn{width:22px;height:22px;font-size:12px}.roll-result-display{font-size:11px;min-width:24px;padding:3px 4px}.escalation-tick{width:14px;height:14px}}.roll-helper-container:not(.touch-mode) .roll-row-name{font-size:10px}.roll-helper-container:not(.touch-mode) .roll-row-stats{font-size:9px}.roll-helper-container:not(.touch-mode) .roll-stat-damage{font-size:10px}.roll-helper-container:not(.touch-mode) .roll-btn-compact{font-size:9px;padding:3px 4px;min-width:24px}.roll-helper-container:not(.touch-mode) .roll-result-display{font-size:12px;min-width:24px}.roll-helper-container:not(.touch-mode) .pinning-toggle-label{font-size:12px}.roll-helper-container:not(.touch-mode) .spell-dc-value-small{font-size:10px}.roll-helper-container:not(.touch-mode) .spell-result-indicator{font-size:12px}.roll-helper-container:not(.touch-mode) .spell-fail-thresholds{font-size:8px}.roll-helper-container:not(.touch-mode) .escalation-tick{font-size:9px;width:14px;height:14px}.attr-display-compact-btn{background:#2a2a2a;border:1px solid #5a5a6a;border-radius:4px;padding:6px 10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;min-width:100px;font-weight:600}.attr-display-compact-btn:hover{background:#3a3a3a;border-color:#6a6a7a;transform:translateY(-1px);box-shadow:0 2px 4px #0000004d}.attr-display-compact-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0003}.attr-display-label{font-size:11px;font-weight:600;color:#9a9aaa;text-transform:uppercase;letter-spacing:.5px}.attr-display-value-container{display:flex;align-items:center;gap:0;position:relative;background:#3a3a4a;border:1px solid #5a5a6a;border-radius:3px;padding:4px 6px}.attr-display-value{font-size:14px;font-weight:700;color:#fff;min-width:20px;text-align:center}.attr-display-mod-box{font-size:11px;font-weight:600;margin-left:6px;padding:2px 5px;background:#1a1a2a;border:1px solid #4a4a5a;border-radius:2px;min-width:24px;text-align:center;color:#fff}.attr-display-mod-box.positive{color:#7fbf7f;border-color:#5a7f5a}.attr-display-mod-box.negative{color:#ff6b6b;border-color:#7f4a4a}.attr-display-mod{font-size:12px;font-weight:500;margin-left:2px}.attr-display-mod.positive{color:#7fbf7f}.attr-display-mod.negative{color:#ff6b6b}.attr-display-full-btn{background:linear-gradient(135deg,#2a3a4a,#1a2a3a);border:2px solid #4a5a6a;border-radius:4px;padding:14px;cursor:pointer;transition:all .2s ease;min-width:130px;text-align:center;font-weight:700}.attr-display-full-btn:hover{background:linear-gradient(135deg,#3a4a5a,#2a3a4a);border-color:#5a6a7a;transform:translateY(-1px);box-shadow:0 2px 6px #0003}.attr-display-full-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0003}.attr-display-full-name{font-size:12px;font-weight:600;color:#9a9aaa;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.attr-display-full-value{font-size:18px;font-weight:700;color:#fff}.attr-display-full-mod{font-size:14px;font-weight:500;margin-left:6px}.attr-display-full-mod.positive{color:#7fbf7f}.attr-display-full-mod.negative{color:#ff6b6b}.attr-display-tooltip{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);background:#2a2a2a;border:1px solid #5a5a6a;border-radius:8px;padding:16px;min-width:280px;max-width:350px;z-index:10000;box-shadow:0 6px 16px #00000080;animation:tooltipFadeIn .2s ease}.attr-display-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#2a2a2a}.attr-display-tooltip:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:9px solid transparent;border-top-color:#5a5a6a;margin-top:1px;z-index:-1}.attr-display-tooltip-header{border-bottom:1px solid #4a4a5a;padding-bottom:12px;margin-bottom:12px}.attr-display-tooltip-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:4px}.attr-display-tooltip-subtitle{font-size:12px;color:#aaa;line-height:1.4;font-style:italic}.attr-display-tooltip-section{margin-bottom:12px}.attr-display-tooltip-section:last-child{margin-bottom:0}.attr-display-tooltip-section-title{font-size:12px;font-weight:600;color:#b0b0b0;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.attr-display-tooltip-breakdown-item{font-size:12px;color:#ccc;margin-bottom:3px;padding-left:4px}.attr-display-tooltip-total{font-size:13px;font-weight:600;color:#fff;margin-top:8px;padding-top:8px;border-top:1px solid #3a3a4a}.attr-display-tooltip-detail{font-size:11px;color:#ccc;margin-bottom:4px;line-height:1.4;padding-left:4px}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.attributes-display{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-3)}.attribute-item{background:var(--color-bg-dark);padding:var(--spacing-3);border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--color-bg-elevated);display:flex;justify-content:space-between;align-items:center;transition:var(--transition-all)}.attribute-item.swappable{cursor:pointer;border:var(--border-width-base) solid var(--color-bg-elevated)}.attribute-item.swappable:hover{background:var(--color-bg-base);border-color:var(--color-border-base);transform:translateY(-2px);box-shadow:var(--shadow-2xl)}.attribute-item.selected{background:#2a2a1a;border:var(--border-width-base) solid var(--color-text-secondary);box-shadow:0 0 0 3px #8883}.attribute-name{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.attribute-value{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-light)}.standard-array-dropdowns{margin-bottom:var(--spacing-4);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-2)}.attribute-dropdown-row{display:flex;align-items:center;gap:var(--spacing-3);margin-bottom:0}.attr-label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-xs);min-width:80px;text-transform:uppercase}.attr-select{padding:var(--spacing-2) var(--spacing-3);border:var(--border-width-thin) solid var(--color-border-base);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-bg-darkest);color:var(--color-text-lighter);cursor:pointer;transition:var(--transition-all);flex:1}.attr-select:hover{border-color:var(--color-border-lighter)}.attr-select:focus{outline:none;border-color:var(--color-border-lighter)}.roll-attributes-section{margin-bottom:var(--spacing-7);padding:var(--spacing-6);background:var(--color-bg-dark);border-radius:var(--radius-none);border:var(--border-width-thin) solid var(--color-bg-elevated)}.roll-attributes-btn{width:100%;background:var(--color-bg-elevated);color:var(--color-text-lighter);border:var(--border-width-base) solid var(--color-border-base);padding:var(--spacing-5) var(--spacing-7);border-radius:var(--radius-none);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);margin-bottom:var(--spacing-5)}.roll-attributes-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-lighter)}.roll-count-info{margin-top:var(--spacing-5);padding:var(--spacing-3) var(--spacing-5);background:var(--color-bg-base);border-radius:var(--radius-none);border-left:var(--border-width-base) solid var(--color-border-lighter);font-size:var(--font-size-md);color:var(--color-text-base)}.reroll-warning{background:#2a2a1a;color:var(--color-text-lighter);padding:var(--spacing-5);border-radius:var(--radius-none);border-left:var(--spacing-1) solid var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-5)}.rolled-attributes-note{background:#0a0a1a;color:var(--color-text-tertiary);padding:var(--spacing-4);border-radius:var(--radius-none);font-size:var(--font-size-md)}.swap-hint{margin-top:var(--spacing-3);padding:var(--spacing-3);background:#2a2a1a;color:var(--color-text-lighter);border-radius:var(--radius-none);font-size:var(--font-size-sm);border-left:var(--border-width-thick) solid var(--color-text-secondary)}.input-attributes-section{margin-bottom:var(--spacing-7);padding:var(--spacing-6);background:var(--color-bg-dark);border-radius:var(--radius-none);border:var(--border-width-thin) solid var(--color-bg-elevated);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-4);transform:scale(.75);transform-origin:top center;margin-top:calc(var(--spacing-7) * -.125);margin-bottom:calc(var(--spacing-7) * .75)}.attribute-input-row{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-4);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-sm);transition:var(--transition-all)}.attribute-input-row:hover{border-color:var(--color-border-lighter);background:var(--color-bg-hover)}.attribute-input-row .attr-label{font-weight:var(--font-weight-bold);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.attribute-input-row .attr-input{padding:var(--spacing-3);border:var(--border-width-thin) solid var(--color-border-base);border-radius:var(--radius-sm);background:var(--color-bg-darkest);color:var(--color-text-light);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-align:center;transition:var(--transition-all);-moz-appearance:textfield}.attribute-input-row .attr-input::-webkit-outer-spin-button,.attribute-input-row .attr-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.attribute-input-row .attr-input:hover{border-color:var(--color-border-lighter)}.attribute-input-row .attr-input:focus{outline:none;border-color:var(--color-text-secondary);box-shadow:0 0 0 2px #8883}.attribute-input-row .attr-input::placeholder{color:var(--color-text-tertiary);opacity:.5}.attribute-input-row.next-to-roll{background:#1a1a2a;border-color:var(--color-text-secondary);box-shadow:0 0 0 2px #8888884d}.attribute-input-row.next-to-roll .attr-input{border-color:var(--color-text-secondary)}.attribute-input-row.selected{background:#2a2a1a;border-color:var(--color-text-secondary);box-shadow:0 0 0 3px #8883}.attribute-modifier{margin-left:var(--spacing-3);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);padding:var(--spacing-sm) var(--spacing-2);border-radius:var(--radius-none)}.attribute-modifier.positive{color:#8c8;background:#0a2a0a}.attribute-modifier.negative{color:var(--color-danger-lighter);background:#2a0a0a}.advantage-indicator{margin-left:var(--spacing-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#4a4;background:#0a2a0a;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);border:1px solid #4a4}.attr-adjust-btn{width:22px;height:22px;padding:0;background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-border-base);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:10px;cursor:pointer;transition:var(--transition-all);display:flex;align-items:center;justify-content:center;line-height:1}.attr-adjust-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-border-lighter);color:var(--color-text-lighter)}.attr-adjust-btn:active{background:var(--color-bg-dark);transform:scale(.95)}.recall-btn,.confirm-btn{padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-align:center}.recall-btn:disabled,.confirm-btn:disabled{opacity:.4;cursor:not-allowed;background:var(--color-bg-dark)}.recall-btn:not(:disabled):hover,.confirm-btn:not(:disabled):hover{background:var(--color-bg-elevated);border-color:var(--color-border-lighter);color:var(--color-text-lighter)}.confirm-btn:not(:disabled){background:#2a2a1a;border-color:var(--color-text-secondary);color:var(--color-text-lighter)}.confirm-btn:not(:disabled):hover{background:#3a3a2a;border-color:var(--color-text-lighter);box-shadow:0 0 8px #8888884d}.attributes-compact-horizontal{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--color-bg-elevated);border-radius:var(--radius-base);border:var(--border-width-thin) solid var(--color-border-darkest)}.attr-compact-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg-base);border-radius:var(--radius-sm);min-width:60px;cursor:help}.attr-compact-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.attr-compact-value{font-size:15px;font-weight:var(--font-weight-semibold);color:var(--color-text-lighter)}.attr-compact-mod{font-size:14px;margin-left:var(--spacing-1)}.attr-compact-mod.positive{color:var(--color-success)}.attr-compact-mod.negative{color:var(--color-error)}.versatile-modal-content{text-align:center}.versatile-modal-content p{margin-bottom:var(--spacing-3);color:var(--color-text-lighter)}.versatile-attribute-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-3);margin-top:var(--spacing-4)}.versatile-attr-btn{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-4);background:var(--color-bg-dark);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-all);color:var(--color-text-lighter)}.versatile-attr-btn:hover:not(:disabled){background:var(--color-bg-elevated);border-color:var(--color-accent-base);box-shadow:var(--glow-accent)}.versatile-attr-btn:disabled{opacity:.5;cursor:not-allowed}.attr-btn-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);margin-bottom:var(--spacing-2)}.attr-btn-value{font-size:var(--font-size-xs);color:var(--color-success)}.talent-bonus{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-1)}@media(max-width:768px){.attributes-display{grid-template-columns:repeat(2,1fr)}.standard-array-dropdowns{grid-template-columns:1fr}.input-attributes-section{grid-template-columns:1fr;gap:var(--spacing-3)}}.spells-container{margin-top:var(--spacing-6)}.spell-tier-section{margin-bottom:var(--spacing-5);border:var(--border-width-thin) solid var(--color-bg-elevated);border-radius:var(--radius-none);background:var(--color-bg-dark)}.spell-tier-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-5) var(--spacing-6);background:var(--color-bg-base);cursor:pointer;transition:var(--transition-all);border-bottom:var(--border-width-thin) solid var(--color-bg-elevated)}.spell-tier-header:hover{background:#222}.spell-tier-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-light);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.spell-tier-list{padding:var(--spacing-5)}.spell-card{background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-bg-elevated);border-radius:var(--radius-none);margin-bottom:var(--spacing-5);overflow:hidden}.spell-card.uncastable{border-color:#733;opacity:.7}.spell-card:last-child{margin-bottom:0}.spell-card-header{display:flex;align-items:center;padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-dark);cursor:pointer;transition:var(--transition-all);gap:var(--spacing-4)}.spell-card-header:hover{background:var(--color-bg-base)}.spell-dc-column{display:flex;flex-direction:column;align-items:center;min-width:42px;padding:var(--spacing-2);background:var(--color-bg-base);border-radius:var(--radius-sm);border:1px solid var(--color-border-dark)}.spell-dc-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-lighter);line-height:1}.spell-dc-value.easy{color:#8c8}.spell-dc-value.hard{color:#f88}.spell-dc-value.uncastable{color:#f44;text-decoration:line-through}.spell-dc-label{font-size:9px;text-transform:uppercase;color:var(--color-text-secondary);letter-spacing:.5px}.spell-info-column{flex:1;display:flex;flex-direction:column;gap:var(--spacing-1);min-width:0}.spell-name-row{display:flex;align-items:center;gap:var(--spacing-3);flex-wrap:wrap}.spell-status-icons{display:flex;gap:var(--spacing-1);align-items:center}.status-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:10px;font-weight:var(--font-weight-bold);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-all)}.status-icon.dc-reduction{background:#4a9eff;color:#fff;cursor:default}.status-icon.armor-penalty{background:#e74c3c;color:#fff;cursor:default;width:auto;padding:0 4px}.status-icon.capstone{background:transparent;font-size:14px;cursor:default}.status-icon.focus{background:transparent;border:1px solid #f0c040;color:#888}.status-icon.focus.active{background:#f0c040;color:#000}.status-icon.focus:hover{border-color:#f0c040;color:#f0c040}.status-icon.memorized{background:transparent;border:1px solid #4a9eff;color:#888}.status-icon.memorized.active{background:#4a9eff;color:#fff}.status-icon.memorized:hover{border-color:#4a9eff;color:#4a9eff}.status-icon.pin{background:transparent;border:1px solid #8b5cf6;color:#888;opacity:.6}.status-icon.pin.active{background:#8b5cf6;color:#fff;opacity:1}.status-icon.pin:hover{border-color:#a78bfa;color:#8b5cf6;opacity:1}.spell-escalation-preview{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-xs)}.escalation-count{color:#7fbf7f;font-weight:var(--font-weight-bold)}.escalation-text{color:#5a9f5a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spell-card.has-capstone,.spell-card.has-capstone .spell-dc-column{border-color:#654}.spell-header-left{flex:1;display:flex;flex-direction:column;gap:var(--spacing-2)}.spell-header-right{display:flex;align-items:center;gap:var(--spacing-3)}.focus-checkbox-btn{background:var(--color-bg-elevated);border:var(--border-width-base) solid var(--color-border-base);color:var(--color-text-secondary);width:28px;height:28px;border-radius:var(--radius-none);cursor:pointer;transition:var(--transition-all);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:var(--font-weight-bold);padding:0}.focus-checkbox-btn:hover{border-color:var(--color-accent-bright);color:var(--color-accent-bright);background:#1a1a30}.focus-checkbox-btn.focused{background:#2a2a50;border-color:var(--color-accent-bright);color:var(--color-accent-bright)}.spell-name{margin:0;font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text-bright);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.spell-badges{display:flex;gap:var(--spacing-3);flex-wrap:wrap}.spell-dc-badge{font-size:var(--font-size-sm);background:var(--color-bg-elevated);color:var(--color-gold);padding:var(--spacing-1) var(--spacing-4);border-radius:var(--radius-none);font-weight:var(--font-weight-bold);border:var(--border-width-thin) solid var(--color-border-base);letter-spacing:var(--letter-spacing-tight)}.spell-dc-badge .uncastable-marker{color:#d66;font-weight:var(--font-weight-bold)}.spell-focus-badge{font-size:var(--font-size-xs);background:#2a2a50;color:var(--color-accent-bright);padding:var(--spacing-1) var(--spacing-4);border-radius:var(--radius-none);font-weight:var(--font-weight-semibold);border:var(--border-width-thin) solid #446;letter-spacing:var(--letter-spacing-tight)}.expand-toggle-btn{background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-1) var(--spacing-3);transition:var(--transition-all)}.expand-toggle-btn:hover{color:var(--color-text-bright)}.spell-card-body{padding:var(--spacing-6);background:var(--color-bg-darkest);border-top:var(--border-width-thin) solid var(--color-bg-elevated)}.spell-details{margin-bottom:var(--spacing-7)}.spell-description{font-size:var(--font-size-base);color:var(--color-text-tertiary);margin:0 0 var(--spacing-6) 0;line-height:var(--line-height-base)}.spell-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-5);margin-bottom:var(--spacing-6)}.spell-info-item{font-size:var(--font-size-md);color:var(--color-text-base)}.spell-info-item strong{color:var(--color-gold);text-transform:uppercase;font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-tight);display:block;margin-bottom:var(--spacing-1)}.spell-effect-section,.spell-escalation-section,.spell-capstone-section{margin-bottom:16px;padding:12px;background:#111;border-left:var(--border-width-thick) solid var(--color-border-base)}.spell-capstone-section{border-left-color:gold;background:#1a1500}.spell-effect-section strong,.spell-escalation-section strong,.spell-capstone-section strong{color:#da4;text-transform:uppercase;font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-tight);display:block;margin-bottom:var(--spacing-3)}.spell-capstone-section strong{color:gold}.spell-effect-section p,.spell-escalation-section p,.spell-capstone-section p{margin:0;font-size:var(--font-size-md);color:var(--color-text-lighter);line-height:var(--line-height-base)}.capstone-effect-note{display:block;margin-top:var(--spacing-3);padding:var(--spacing-2) var(--spacing-4);background:#daa52026;border-left:var(--border-width-thick) solid var(--color-gold);color:var(--color-gold);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-tight)}.escalation-effect-note{display:block;margin-top:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3);background:#8b451333;border-left:var(--border-width-base) solid var(--color-warning-dark);color:var(--color-warning-light);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-style:italic}.capstone-bonus-text{color:gold!important;font-weight:600}.spell-tracking{margin-top:var(--spacing-7);padding-top:var(--spacing-7);border-top:var(--border-width-base) solid var(--color-bg-elevated)}.tracking-section{margin-bottom:var(--spacing-7)}.tracking-section:last-of-type{margin-bottom:0}.tracking-label{margin:0 0 var(--spacing-5) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-gold);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.tracking-sublabel{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-normal);margin-top:var(--spacing-1);text-transform:none;letter-spacing:0}.tracking-checkboxes{display:grid;grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:var(--spacing-2);max-width:100%}.checkbox-btn{width:32px;height:32px;background:var(--color-bg-darkest);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-none);color:var(--color-gold);font-size:16px;font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-all);display:flex;align-items:center;justify-content:center}.checkbox-btn:hover:not(:disabled){background:var(--color-bg-base);border-color:var(--color-gold);transform:scale(1.05)}.checkbox-btn.checked{background:#2a2a0a;border-color:var(--color-gold);color:var(--color-gold)}.checkbox-btn:disabled{opacity:.3;cursor:not-allowed}.spell-actions{display:flex;gap:var(--spacing-4);margin-top:var(--spacing-7);padding-top:var(--spacing-6);border-top:var(--border-width-thin) solid var(--color-bg-elevated)}.reset-spell-btn{background:#1a1a0a;color:var(--color-gold);border:var(--border-width-base) solid #553;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-none);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.reset-spell-btn:hover{background:#2a2a0a;border-color:var(--color-gold);color:#fc6;transform:translateY(-1px)}.remove-spell-btn{background:#1a0a0a;color:var(--color-danger-light);border:var(--border-width-base) solid #533;padding:var(--spacing-3) var(--spacing-6);border-radius:var(--radius-none);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.remove-spell-btn:hover{background:#2a0a0a;border-color:#844;color:var(--color-danger-text);transform:translateY(-1px)}.capstone-spell-selection{margin:var(--spacing-7) 0;padding:var(--spacing-6);background:#1a1a2e;border:var(--border-width-base) solid var(--color-magic-dark);border-radius:var(--radius-none)}.capstone-spell-selection .selection-heading{font-size:16px;font-weight:var(--font-weight-bold);color:var(--color-magic-bright);margin:0 0 var(--spacing-3) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.capstone-spell-selection .selection-instruction{font-size:var(--font-size-md);color:var(--color-text-base);margin:0 0 var(--spacing-5) 0;line-height:var(--line-height-base)}.capstone-spell-options{display:flex;flex-wrap:wrap;gap:var(--spacing-3)}.capstone-spell-btn{padding:var(--spacing-4) var(--spacing-6);background:#2a2a3e;border:var(--border-width-base) solid var(--color-magic-dark);border-radius:var(--radius-none);color:var(--color-text-lighter);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all)}.capstone-spell-btn:hover{background:#3a3a4e;border-color:#6a6a8a;color:var(--color-text-primary);transform:translateY(-2px)}.capstone-spell-btn.selected{background:var(--color-magic-darkest);border-color:var(--color-magic-bright);color:var(--color-magic-bright);box-shadow:var(--glow-magic)}.capstone-spell-btn .checkmark{margin-left:var(--spacing-2);color:var(--color-magic-bright)}.blood-magic-info{margin:var(--spacing-6) 0;padding:var(--spacing-5);background:#2a0a0a;border:var(--border-width-base) solid #6a2a2a;border-radius:var(--radius-none)}.blood-magic-title{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-danger-text);margin:0 0 var(--spacing-3) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.blood-magic-options{display:flex;gap:var(--spacing-6);flex-wrap:wrap}.blood-magic-option{display:flex;align-items:center;gap:var(--spacing-3);font-size:var(--font-size-md)}.blood-magic-cost{padding:var(--spacing-1) var(--spacing-3);background:#3a1a1a;color:var(--color-danger-text);font-weight:var(--font-weight-semibold);border:var(--border-width-thin) solid #6a2a2a;white-space:nowrap}.blood-magic-benefit{color:var(--color-text-base);font-weight:var(--font-weight-semibold)}.spell-capstone-badge{background:linear-gradient(135deg,var(--color-magic-darkest) 0%,var(--color-magic-light) 100%);color:var(--color-text-primary);padding:var(--spacing-1) var(--spacing-4);border-radius:var(--radius-none);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);text-transform:uppercase;border:var(--border-width-thin) solid var(--color-magic-bright);box-shadow:var(--glow-magic)}.spell-memorized-counter{font-size:var(--font-size-md);font-weight:var(--font-weight-normal);margin-left:var(--spacing-3);color:var(--color-accent-base)}.spell-header-actions{display:flex;gap:var(--spacing-3);align-items:center}.clear-memorized-btn{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-xs);background:none;border:none;color:var(--color-danger-light);cursor:pointer;font-weight:var(--font-weight-semibold);text-decoration:underline;transition:var(--transition-colors)}.clear-memorized-btn:hover{color:var(--color-danger-base)}.spell-current-escalation-section{margin-top:12px;padding:12px;background:#2a4a2a;border:1px solid #4a7a4a;border-radius:6px}.spell-current-escalation-title{color:#7fbf7f;margin:0 0 var(--spacing-3) 0;font-weight:var(--font-weight-semibold)}.spell-current-escalation-list{margin:8px 0 0;padding-left:20px;list-style-type:disc}.spell-current-escalation-item{color:#d0f0d0;margin-bottom:4px}.spell-item-bonus-section{margin-top:12px;padding:12px;background:#4a2a0a;border:1px solid #8a4a2a;border-radius:6px}.spell-item-bonus-title{color:#f0a040;margin:0 0 var(--spacing-3) 0;font-weight:var(--font-weight-semibold)}.spell-item-bonus-list{margin:8px 0 0;padding-left:20px;list-style-type:disc}.spell-item-bonus-item{color:#f0d0a0;margin-bottom:4px}.spell-escalation-preview.item-bonus-preview .escalation-text{color:#f0a040}.spell-options-container{position:relative;display:flex;justify-content:flex-end;margin-top:12px}.spell-menu-btn{background:transparent;border:none;color:#888;font-size:16px;cursor:pointer;padding:4px 8px;opacity:.7;transition:opacity .2s;display:flex;align-items:center;justify-content:center}.spell-menu-btn:hover{opacity:1}.spell-menu-dropdown{position:absolute;bottom:100%;right:0;margin-bottom:4px;z-index:1000;background:#2a2a2a;border:1px solid #444;border-radius:4px;padding:4px 0;min-width:150px;box-shadow:0 4px 8px #0000004d}.spell-menu-item{display:block;width:100%;padding:8px 16px;background:transparent;border:none;color:#e0e0e0;text-align:left;cursor:pointer;font-size:13px;transition:var(--transition-colors)}.spell-menu-item:hover{background:#3a3a3a}.spell-menu-item-danger{color:#ff6b6b}.spell-menu-item-danger:hover{background:#3a3a3a}.add-spell-section{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;margin-top:16px;background:var(--color-bg-dark, #1a1a1a);border:2px dashed var(--color-border-base, #3a3a3a);border-radius:8px;cursor:pointer;transition:all .2s ease}.add-spell-section:hover{background:var(--color-bg-elevated, #2a2a2a);border-color:var(--color-border-light, #4a4a4a)}.add-spell-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--color-bg-base, #242424);border-radius:50%;font-size:20px;font-weight:700;color:var(--color-text-muted, #666)}.add-spell-text{font-size:15px;font-weight:600;color:var(--color-text-lighter, #999);text-transform:uppercase;letter-spacing:.5px}.add-spell-hint{font-size:12px;color:var(--color-text-muted, #666)}@media(max-width:600px){.add-spell-section{flex-direction:column;gap:8px;padding:20px}.add-spell-hint{display:block}}.collapsible-section{background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-border-dark);border-radius:var(--radius-none);margin-bottom:var(--spacing-6);box-shadow:var(--shadow-lg);overflow:hidden}.section-header{width:100%;background:var(--color-bg-elevated);border:none;padding:var(--spacing-6) var(--spacing-7);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:var(--transition-colors)}.section-header:hover{background:var(--color-bg-hover)}.section-header.locked{background:#1a1a1a;opacity:.6;cursor:not-allowed}.section-header.locked:hover{background:#1a1a1a}.section-header.locked .section-title{color:#666}.section-title{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis);text-align:left;text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.section-toggle{font-size:var(--font-size-sm);color:var(--color-text-muted);transition:var(--transition-transform)}.section-toggle.open{transform:rotate(180deg)}.section-content{padding:var(--spacing-6) var(--spacing-7);border-top:var(--border-width-thin) solid var(--color-border-darkest)}.character-section{margin-bottom:var(--spacing-6)}.section-header-with-toggle{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4) var(--spacing-5);background:var(--color-bg-base);border-bottom:var(--border-width-base) solid var(--color-border-dark);cursor:pointer}.section-heading{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-lighter);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.section-toggle-btn{background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer;padding:var(--spacing-2);transition:var(--transition-all);display:flex;align-items:center;justify-content:center;min-width:32px;min-height:32px}.section-toggle-btn:hover{color:var(--color-text-bright);transform:scale(1.1)}.form-selection-intro{margin-bottom:var(--spacing-4)}.form-selection-options{max-height:500px;overflow-y:auto}.form-selection-option{cursor:pointer;padding:16px;margin-bottom:12px;background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-sm);transition:var(--transition-all)}.form-selection-option:hover{background:var(--color-bg-elevated);border-color:var(--color-border-lighter);transform:translateY(-2px)}.form-option-name{margin-bottom:8px;font-size:16px}.form-option-name strong{color:var(--color-text-emphasis)}.form-option-description{margin-bottom:8px;font-size:13px;opacity:.9;color:var(--color-text-secondary)}.form-option-stats{font-size:12px;display:grid;gap:4px;color:var(--color-text-base)}.form-option-stats strong{color:var(--color-accent-base)}.capstone-mutation-intro{margin-bottom:16px;color:#ccc}.capstone-mutation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:16px}.capstone-mutation-option{padding:8px 12px;font-size:13px;background:#2a2a3a;color:#e0e0e0;border:2px solid #4a3a6a;border-radius:4px;cursor:pointer;text-align:left;transition:all .2s}.capstone-mutation-option:hover{background:#3a3a4a;border-color:#9b59b6}.capstone-mutation-option.selected{background:#9b59b6;color:#fff;border-color:#9b59b6}.mutation-option-name{font-weight:600;margin-bottom:4px}.mutation-option-effect{font-size:11px;opacity:.8}.capstone-mutation-selected{margin-bottom:16px;padding:8px;background:#2a2a4a;border:1px solid #9b59b6;border-radius:4px;font-size:13px;color:#e0e0e0}.mutation-selected-label{color:#9b59b6}.capstone-mutation-confirm{width:100%;padding:12px;border:none;border-radius:6px;font-size:14px;font-weight:600;transition:var(--transition-all)}.capstone-mutation-confirm.enabled{background:var(--color-gold);color:#000;cursor:pointer}.capstone-mutation-confirm.enabled:hover{background:var(--color-gold-bright);transform:translateY(-1px)}.capstone-mutation-confirm.disabled{background:#666;color:#999;cursor:not-allowed}.mutation-choice-intro{margin-bottom:16px;color:#ccc}.mutation-info-box{margin-bottom:16px;padding:12px;border-radius:6px}.mutation-info-box.capstone{background:#2a2a3a;border:1px solid var(--color-gold)}.mutation-info-box.previous{background:#2a3a2a;border:1px solid #4a9e4a}.mutation-info-label{color:var(--color-gold)}.mutation-info-label.previous-label{color:#4a9e4a}.mutation-info-name{color:#fff}.mutation-info-effect{font-size:13px;color:#ccc}.mutation-choice-actions{display:flex;gap:12px;margin-top:16px;flex-direction:column}.mutation-choice-btn{padding:12px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition-all)}.mutation-choice-btn:hover{transform:translateY(-1px)}.mutation-choice-btn.keep-capstone{background:var(--color-gold);color:#000}.mutation-choice-btn.keep-capstone:hover{background:var(--color-gold-bright)}.mutation-choice-btn.keep-previous{background:#4a90e2;color:#fff}.mutation-choice-btn.keep-previous:hover{background:#5aa0f2}.mutation-choice-btn.roll-new{background:#9b59b6;color:#fff}.mutation-choice-btn.roll-new:hover{background:#ab69c6}.catalyst-modal-content{min-width:400px}.catalyst-intro{margin-bottom:16px;color:#ccc;text-align:center}.catalyst-intro strong{color:#9b59b6}.catalyst-duration-box{background:linear-gradient(135deg,#1a1a2e,#2a2a4a);border:2px solid #9b59b6;border-radius:8px;padding:16px;text-align:center;margin-bottom:20px}.catalyst-duration-label{color:#9b59b6;font-size:12px;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.catalyst-duration-result{display:flex;align-items:baseline;justify-content:center;gap:8px}.catalyst-duration-value{font-size:48px;font-weight:700;color:#fff;text-shadow:0 0 10px rgba(155,89,182,.5)}.catalyst-duration-turns{font-size:18px;color:#aaa}.catalyst-rolling{color:#9b59b6;font-style:italic;animation:pulse .5s infinite alternate}@keyframes pulse{0%{opacity:.5}to{opacity:1}}.catalyst-divider{height:1px;background:linear-gradient(90deg,transparent,#444,transparent);margin:16px 0}.catalyst-mutations-header{text-align:center;color:#ccc;margin-bottom:16px}.catalyst-mutations-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.catalyst-mutation-card{background:#1a1a1a;border:2px solid #444;border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:8px}.catalyst-mutation-card:not(.rolling):hover{border-color:#9b59b6;background:#2a1a2a;transform:translateY(-2px);box-shadow:0 4px 12px #9b59b64d}.catalyst-mutation-card.rolling{cursor:default;display:flex;align-items:center;justify-content:center;min-height:120px}.catalyst-mutation-roll{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px}.catalyst-mutation-name{font-size:16px;font-weight:700;color:#9b59b6}.catalyst-mutation-effect{font-size:13px;color:#ccc;line-height:1.4}@media(max-width:500px){.catalyst-modal-content{min-width:auto}.catalyst-mutations-grid{grid-template-columns:1fr}}.forms-container{padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.transformation-potions-display{padding:var(--spacing-5);background:var(--color-bg-dark);border:var(--border-width-thin) solid var(--color-border-dark);margin-bottom:var(--spacing-6);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter)}.active-transformation{padding:var(--spacing-6);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-magic-darkest);margin-bottom:var(--spacing-6);box-shadow:0 0 12px #4a3a6a66;min-height:80px}.active-transformation.inactive{background:var(--color-bg-dark);border-color:var(--color-border-dark);box-shadow:none;opacity:.7}.no-active-form{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.active-transformation h4{margin:0 0 var(--spacing-5) 0;color:var(--color-magic-bright);font-size:16px;text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.current-mutation,.capstone-mutation{padding:var(--spacing-4);background:var(--color-bg-darkest);border-left:var(--border-width-thick) solid var(--color-magic-light);margin-bottom:var(--spacing-3);font-size:var(--font-size-md);color:var(--color-text-bright)}.current-mutation strong,.capstone-mutation strong{color:var(--color-magic-bright);margin-right:var(--spacing-2)}.mutation-table-toggle{width:100%;padding:var(--spacing-4) var(--spacing-6);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-dark);color:var(--color-text-lighter);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);margin-bottom:var(--spacing-6);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.mutation-table-toggle:hover{background:#222;border-color:var(--color-border-base)}.mutation-table{padding:var(--spacing-6);background:var(--color-bg-dark);border:var(--border-width-thin) solid var(--color-border-dark);margin-bottom:var(--spacing-6)}.mutation-table h4{margin:0 0 var(--spacing-5) 0;color:var(--color-text-lighter);font-size:var(--font-size-base);text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.mutation-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.mutation-entry{padding:var(--spacing-4);background:var(--color-bg-base);border-left:var(--border-width-thick) solid var(--color-magic-light);font-size:var(--font-size-md);color:var(--color-text-bright)}.mutation-entry strong{color:var(--color-magic-bright);margin-right:var(--spacing-3)}.forms-list{display:flex;flex-direction:column;gap:var(--spacing-6)}.form-card{background:var(--color-bg-dark);border:var(--border-width-base) solid var(--color-border-dark);padding:var(--spacing-6);transition:var(--transition-all)}.form-card:hover{border-color:var(--color-border-base);box-shadow:var(--shadow-md)}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-5);border-bottom:var(--border-width-thin) solid var(--color-bg-elevated)}.form-name{margin:0;font-size:16px;font-weight:var(--font-weight-bold);color:var(--color-text-emphasis);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.form-activation-checkbox{display:flex;align-items:center;gap:var(--spacing-3);cursor:pointer;font-size:var(--font-size-base);color:var(--color-text-lighter);font-weight:var(--font-weight-semibold)}.form-activation-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.form-activation-btn{padding:8px 16px;background:var(--color-bg-base);border:2px solid var(--color-border-base);color:var(--color-text-lighter);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease;border-radius:4px;min-width:100px}.form-activation-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-magic-light);color:var(--color-magic-bright)}.form-activation-btn.active{background:#4a3a6a4d;border-color:var(--color-magic-bright);color:var(--color-magic-bright);box-shadow:0 0 8px #4a3a6a66}.form-activation-btn.active:hover{background:#4a3a6a33;border-color:var(--color-danger-light);color:var(--color-danger-light)}.form-details{color:var(--color-text-light)}.form-description{font-size:var(--font-size-md);line-height:var(--line-height-base);margin:0 0 var(--spacing-5) 0;color:var(--color-text-tertiary);font-style:italic}.form-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-3);padding:var(--spacing-5);background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-bg-elevated);margin-bottom:var(--spacing-3);font-size:var(--font-size-md)}.form-stats>div{color:var(--color-text-bright)}.form-stats strong{color:var(--color-magic-bright);margin-right:var(--spacing-2)}.form-bonuses{padding:var(--spacing-4);background:var(--color-bg-base);border-left:var(--border-width-thick) solid var(--color-success-light);font-size:var(--font-size-md);color:var(--color-text-bright)}.form-bonuses strong{color:var(--color-success-bright);margin-right:var(--spacing-2)}@media(max-width:768px){.attributes-display{grid-template-columns:repeat(2,1fr)}.standard-array-dropdowns{grid-template-columns:1fr}.character-name-input{width:100%}.talent-level-row{flex-direction:column;align-items:flex-start}}.feature-card{position:relative;padding:var(--spacing-5);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-md);transition:var(--transition-all)}.feature-card:hover{background:var(--color-bg-elevated);border-color:var(--color-border-light);box-shadow:var(--shadow-md)}.feature-card-title{margin:0 0 var(--spacing-3) 0;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-bright);padding-right:var(--spacing-8)}.feature-card-description{margin:0;font-size:var(--font-size-md);color:var(--color-text-light);line-height:var(--line-height-relaxed)}.feature-cog-btn{position:absolute;top:var(--spacing-3);right:var(--spacing-3);background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer;padding:var(--spacing-2);transition:var(--transition-all);z-index:10;display:flex;align-items:center;justify-content:center}.feature-cog-btn:hover{color:var(--color-text-bright);transform:rotate(45deg)}.feature-cog-menu{position:absolute;top:calc(var(--spacing-3) + 32px);right:var(--spacing-3);background:var(--color-bg-elevated);border:var(--border-width-base) solid var(--color-border-light);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:1001;min-width:120px;overflow:hidden}.feature-cog-menu button{width:100%;padding:var(--spacing-3) var(--spacing-4);background:transparent;border:none;color:var(--color-text-light);font-size:var(--font-size-sm);text-align:left;cursor:pointer;transition:var(--transition-all);border-bottom:var(--border-width-thin) solid var(--color-border-dark)}.feature-cog-menu button:last-child{border-bottom:none}.feature-cog-menu button:hover{background:var(--color-bg-base);color:var(--color-text-bright)}.feature-cog-menu button.danger{color:var(--color-danger-light)}.feature-cog-menu button.danger:hover{background:#e539351a;color:var(--color-danger-bright)}.blessings-container{padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.bonded-armament-info{padding:var(--spacing-4);margin-bottom:var(--spacing-4);background:#2a1a3a;border:var(--border-width-thin) solid #9b59b6;border-radius:var(--radius-base)}.bonded-armament-bonus{margin-bottom:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-lighter)}.bonded-armament-bonus strong{color:#9b59b6}.bonded-armament-desc{font-size:var(--font-size-xs);color:#c9a0dc;line-height:var(--line-height-relaxed);margin:0}.blessings-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.blessing-card{position:relative;padding:var(--spacing-3);padding-bottom:var(--spacing-8);background:var(--color-bg-darkest);border:var(--border-width-thin) solid #4a3a6a;border-radius:var(--radius-base)}.blessing-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#9b59b6;margin:0 0 var(--spacing-2) 0}.blessing-effect{font-size:var(--font-size-sm);color:var(--color-text-lighter);line-height:1.4;margin:0}.blessing-cog-btn{position:absolute;bottom:var(--spacing-1);right:var(--spacing-1);background:transparent;border:none;color:#9b59b6;font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-1);opacity:.6;transition:var(--transition-all)}.blessing-cog-btn:hover{opacity:1}.blessing-menu-dropdown{position:absolute;right:0;bottom:100%;margin-bottom:var(--spacing-1);background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-border-base);border-radius:var(--radius-sm);padding:var(--spacing-1) 0;z-index:var(--z-dropdown);min-width:140px;box-shadow:var(--shadow-lg)}.blessing-menu-item{width:100%;padding:var(--spacing-2) var(--spacing-4);background:transparent;border:none;color:var(--color-danger-light);text-align:left;cursor:pointer;font-size:var(--font-size-sm);transition:var(--transition-all)}.blessing-menu-item:hover{background:var(--color-bg-dark)}.blessing-roll-section{margin-top:var(--spacing-4)}.roll-blessing-btn{width:100%;padding:var(--spacing-3);background:#9b59b6;border:none;border-radius:var(--radius-base);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all)}.roll-blessing-btn:hover{background:#8a4aa5}.blessing-hint{font-size:11px;opacity:.7;margin-top:var(--spacing-1);text-align:center}.blessing-table-toggle{margin-top:var(--spacing-4)}.show-blessing-table-btn{width:100%;padding:var(--spacing-3);background:var(--color-bg-elevated);border:var(--border-width-thin) solid #4a3a6a;border-radius:var(--radius-base);color:var(--color-text-lighter);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-all)}.show-blessing-table-btn:hover{background:var(--color-bg-hover);border-color:#6a4a8a}.initial-blessing-content{text-align:center}.blessing-modal-intro{margin-bottom:var(--spacing-4);color:var(--color-text-lighter)}.blessing-result-card{padding:var(--spacing-4);background:var(--color-bg-darkest);border:2px solid #9b59b6;border-radius:var(--radius-md);margin-bottom:var(--spacing-4)}.blessing-result-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:#9b59b6;margin:0 0 var(--spacing-2) 0}.blessing-result-effect{font-size:var(--font-size-sm);color:var(--color-text-lighter);line-height:var(--line-height-relaxed);margin:0}.accept-blessing-btn{width:100%;padding:var(--spacing-3);background:#9b59b6;border:none;border-radius:var(--radius-base);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all)}.accept-blessing-btn:hover{background:#8a4aa5}.blessing-table-content{background:var(--color-bg-dark);padding:var(--spacing-4);border-radius:var(--radius-base)}.blessing-table-intro{margin-bottom:var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-lighter)}.blessing-table-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.blessing-table-entry{padding:var(--spacing-3);background:var(--color-bg-darkest);border:var(--border-width-thin) solid var(--color-border-dark);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-lighter)}.blessing-roll{color:#9b59b6;margin-right:var(--spacing-2)}.blessing-entry-name{font-weight:var(--font-weight-semibold);margin-right:var(--spacing-2)}.blessing-entry-effect{opacity:.8}.blessing-roll-result{padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-darkest);border:2px solid #9b59b6;border-radius:var(--radius-md);box-shadow:0 0 20px #9b59b699;min-width:150px}.blessing-roll-value{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:#9b59b6;text-align:center;margin-bottom:var(--spacing-2);text-shadow:0 0 10px rgba(155,89,182,.5)}.blessing-roll-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);text-align:center}.spirit-container{padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.spirit-name-input{width:100%;padding:var(--spacing-4);background:var(--color-bg-dark);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-base);color:var(--color-text-lighter);font-size:var(--font-size-base)}.spirit-name-input:focus{border-color:var(--color-magic-light);outline:none}.spirit-stats-card{background:var(--color-bg-dark);border:var(--border-width-base) solid var(--color-magic-darkest);border-radius:var(--radius-md);padding:var(--spacing-6)}.spirit-name{margin-bottom:var(--spacing-5);font-size:16px;color:var(--color-magic-bright)}.spirit-stats-grid{display:grid;gap:var(--spacing-3)}.spirit-stat-row{display:flex;justify-content:space-between;align-items:center}.spirit-stat-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter)}.spirit-stat-value{font-size:var(--font-size-base);color:var(--color-text-bright)}.spirit-specialisation-box{margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--color-bg-base);border-radius:var(--radius-base);font-size:var(--font-size-sm);color:var(--color-magic-light);line-height:var(--line-height-relaxed)}.spirit-abilities-section{margin-top:var(--spacing-6);padding-top:var(--spacing-6);border-top:var(--border-width-thin) solid var(--color-magic-darkest)}.spirit-abilities-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-5);color:var(--color-magic-light)}.spirit-ability-item{margin-bottom:var(--spacing-5);padding:var(--spacing-4);background:var(--color-bg-base);border-radius:var(--radius-base)}.spirit-ability-name{color:var(--color-text-bright);font-weight:var(--font-weight-semibold)}.spirit-ability-desc{margin-top:var(--spacing-2);padding-left:var(--spacing-7);color:var(--color-text-light);font-size:var(--font-size-md)}.necromancer-minion-section{background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-dark);border-radius:0;padding:var(--spacing-6);margin-bottom:var(--spacing-6);box-shadow:0 4px 6px #0006}.minion-container{padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.minion-focus-toggle{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3);cursor:pointer}.minion-focus-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-success-base)}.focus-label{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter)}.minion-focus-note{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-4);padding-left:calc(18px + var(--spacing-2));line-height:var(--line-height-relaxed)}.minion-stats-box{margin-top:var(--spacing-4);padding:var(--spacing-4);background:#1a2a1a99;border:var(--border-width-base) solid #3a6a3a;border-radius:var(--radius-base)}.minion-stats-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:#7fbf7f;margin-bottom:var(--spacing-3);margin-top:0}.minion-stats-grid{display:flex;flex-direction:column;gap:var(--spacing-2)}.minion-stat{font-size:var(--font-size-sm);color:var(--color-text-lighter);line-height:var(--line-height-relaxed)}.minion-stat strong{color:var(--color-text-bright)}.stat-breakdown{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-2)}.minion-resistance{font-size:var(--font-size-sm);color:gold;font-weight:var(--font-weight-semibold);margin-top:var(--spacing-2);padding-top:var(--spacing-2);border-top:var(--border-width-thin) solid var(--color-border-darkest)}.feats-manager{padding:var(--spacing-4);background:var(--color-bg-dark);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-base);margin-top:var(--spacing-4)}.feats-title{font-size:var(--font-size-lg);color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:.5px}.feats-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-border-dark)}.feats-minimize-btn{background:transparent;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-1) var(--spacing-2);transition:var(--transition-all)}.feats-minimize-btn:hover{color:var(--color-text-lighter)}.feats-minimized{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-4);background:var(--color-bg-elevated);border-radius:var(--radius-base);font-size:var(--font-size-sm);color:var(--color-text-lighter)}.minimized-equipped,.minimized-learned{display:flex;flex-direction:column;gap:var(--spacing-2)}.minimized-section-label{font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.minimized-feat-names{display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.minimized-feat-name{background:var(--color-bg-base);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-dark);white-space:nowrap}.minimized-empty{font-style:italic;color:var(--color-text-muted)}.learned-feats-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.feats-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.column-title{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-3) 0;text-transform:uppercase;letter-spacing:.5px}.equipped-feats-column{display:flex;flex-direction:column}.equipped-slots{display:flex;flex-direction:column;gap:var(--spacing-2)}.equipped-feat-slot{background:var(--color-bg-darkest);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-base);min-height:48px;transition:var(--transition-base)}.equipped-feat-slot.can-drop{border-color:var(--color-magic-base);border-style:solid}.equipped-feat-slot.active{background:var(--color-magic-darkest);border-color:var(--color-magic-base);border-style:solid}.empty-slot{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3);color:var(--color-text-tertiary)}.slot-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-dark);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.slot-placeholder{font-size:var(--font-size-sm);font-style:italic}.learned-feats-column{display:flex;flex-direction:column;border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-base);background:var(--color-bg-darkest);transition:var(--transition-base)}.learned-feats-column.drop-active{border-color:var(--color-magic-base);background:var(--color-magic-darkest)}.learned-feats-scroll{max-height:280px;overflow-y:auto;padding:var(--spacing-2)}.learned-feats-scroll::-webkit-scrollbar{width:6px}.learned-feats-scroll::-webkit-scrollbar-track{background:var(--color-bg-darkest)}.learned-feats-scroll::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:3px}.no-feats-message{padding:var(--spacing-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-style:italic}.feat-type-group{margin-bottom:var(--spacing-2)}.feat-type-header{width:100%;display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);background:var(--color-bg-dark);border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-sm);transition:var(--transition-base)}.feat-type-header:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.type-icon{font-size:var(--font-size-base)}.type-name{flex:1;text-align:left;font-weight:var(--font-weight-medium)}.type-count{color:var(--color-text-tertiary)}.collapse-arrow{font-size:var(--font-size-xs)}.feat-type-list{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-2) 0 0 var(--spacing-4)}.feat-item{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg-dark);border:var(--border-width-thin) solid var(--color-border-dark);border-radius:var(--radius-sm);cursor:grab;transition:var(--transition-base);touch-action:none;-webkit-user-select:none;user-select:none}.feat-item:hover{background:var(--color-bg-elevated);border-color:var(--color-border-base)}.feat-item.dragging{cursor:grabbing}.feat-item.expanded{background:var(--color-bg-elevated)}.feat-item-header{display:flex;align-items:center;gap:var(--spacing-2);width:100%}.feat-item-icon{font-size:var(--font-size-base)}.feat-item-info{flex:1;display:flex;flex-direction:column;gap:2px}.feat-item-actions{display:flex;gap:var(--spacing-1)}.feat-item-description{font-size:var(--font-size-xs);color:var(--color-text-secondary);padding:var(--spacing-2);background:var(--color-bg-darkest);border-radius:var(--radius-sm);line-height:1.4}.feat-expand-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:var(--border-width-thin) solid var(--color-border-dark);border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;font-size:8px;transition:var(--transition-base)}.feat-expand-btn:hover{background:var(--color-bg-darkest);border-color:var(--color-border-base);color:var(--color-text-primary)}.feat-item-name{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.feat-item-type{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.feat-remove-btn{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:var(--border-width-thin) solid var(--color-border-dark);border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;font-size:var(--font-size-xs);transition:var(--transition-base)}.feat-remove-btn:hover{background:var(--color-danger-dark);border-color:var(--color-danger-base);color:var(--color-text-primary)}.equipped-feat-slot.touch-enabled{cursor:pointer;border-style:dashed}.equipped-feat-slot.touch-enabled:active{background:var(--color-bg-elevated);border-color:var(--color-magic-base)}.equipped-feat-slot.swap-selected{border-color:var(--color-magic-base);border-style:solid;box-shadow:0 0 12px #4a9eff80,inset 0 0 8px #4a9eff33;background:#4a9eff1a}.equipped-feat-slot.swap-target{border-color:#4a9eff80;border-style:dashed;animation:pulse-swap-target-feat 1.5s ease-in-out infinite}@keyframes pulse-swap-target-feat{0%,to{border-color:#4a9eff4d;background:var(--color-bg-darkest)}50%{border-color:#4a9eff99;background:#4a9eff0d}}.learned-feats-column.swap-target{border-color:#4a9eff80;border-style:dashed;animation:pulse-swap-target-feat 1.5s ease-in-out infinite}.learned-feat-wrapper{border-radius:4px;transition:all .15s ease}.learned-feat-wrapper.swap-selected{border:2px solid var(--color-magic-base);box-shadow:0 0 12px #4a9eff80,inset 0 0 8px #4a9eff33;background:#4a9eff1a;border-radius:4px}.feat-item{-webkit-touch-callout:none}.feat-item-header{min-height:32px}@media(max-width:600px){.feats-container{grid-template-columns:1fr}.learned-feats-scroll{max-height:200px}.feat-item{padding:var(--spacing-3) var(--spacing-4)}.feat-item-header{min-height:40px}}.skill-selection-content{display:flex;flex-direction:column;gap:var(--spacing-4)}.selection-instruction{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.selection-error{font-size:var(--font-size-sm);color:var(--color-danger-base);padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base);border-left:3px solid var(--color-danger-base)}.selection-list{display:flex;flex-direction:column;gap:var(--spacing-2);max-height:400px;overflow-y:auto}.selection-item{padding:var(--spacing-3);background:var(--color-bg-dark);border:var(--border-width-thin) solid var(--color-border-base);border-radius:var(--radius-base);cursor:pointer;transition:all .2s ease}.selection-item:hover{background:var(--color-bg-darkest);border-color:var(--color-border-light)}.selection-item.selected{background:var(--color-primary-bg);border-color:var(--color-primary-base)}.selection-item-name{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--spacing-1)}.selection-item-details{display:flex;flex-wrap:wrap;gap:var(--spacing-2);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.selection-item-damage{font-weight:var(--font-weight-bold);color:var(--color-warning-base)}.selection-item-type{color:var(--color-text-secondary)}.selection-item-notes{color:var(--color-primary-base);font-style:italic}.selection-item-speakers{color:var(--color-text-secondary)}.selection-empty{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic;text-align:center;padding:var(--spacing-4)}.selection-cost-note{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:var(--spacing-2) 0 0 0;font-style:italic}.export-overlay{position:fixed;inset:0;background:#000c;z-index:10000;display:flex;align-items:center;justify-content:center;overflow:auto;padding:20px}.export-container{background:#fff;max-width:1400px;width:100%;max-height:95vh;overflow:auto;border-radius:8px;box-shadow:0 10px 40px #00000080}.export-controls{padding:15px 20px;background:#f5f5f5;border-bottom:2px solid #ddd;display:flex;gap:10px;justify-content:flex-end;position:sticky;top:0;z-index:10}.export-btn{padding:10px 20px;background:#27ae60;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background .2s}.export-btn:hover{background:#229954}.export-close{background:#7f8c8d}.export-close:hover{background:#6c7a7b}.character-sheet-export{padding:20px;background:#fff;color:#000;font-family:Arial,sans-serif;width:100%;max-width:210mm;margin:0 auto;box-sizing:border-box}.sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:3px solid #000}.header-left{flex:1}.character-name-box label{font-size:12px;font-weight:700;display:block;margin-bottom:5px}.name-value{font-size:24px;font-weight:700;min-height:30px}.header-right{display:flex;gap:20px}.hex-stat{text-align:center}.hex-stat label{font-size:10px;font-weight:700;display:block;margin-bottom:5px}.hex-box{width:50px;height:50px;border:2px solid #000;clip-path:polygon(30% 0%,70% 0%,100% 50%,70% 100%,30% 100%,0% 50%)}.identity-row,.background-row{display:flex;gap:15px;margin-bottom:15px;padding:10px;background:#f9f9f9;border:1px solid #ddd}.identity-item,.background-item{flex:1}.identity-item label,.background-item label{font-size:10px;font-weight:700;display:block;margin-bottom:3px;text-transform:uppercase}.identity-item .value,.background-item .value{font-size:14px;font-weight:600;padding:3px 0}.background-item.motivations{flex:2}.motivation-list{display:flex;flex-direction:column;gap:2px}.motivation-value{font-size:12px;padding:2px 0}.background-item.languages{flex:1.5}.languages-list{display:flex;flex-direction:column;gap:2px}.language-value{font-size:12px;padding:2px 0}.combat-stats-row{display:flex;gap:10px;margin-top:15px;margin-bottom:15px;padding:12px;background:#f9f9f9;border:2px solid #000}.combat-stat-item{flex:1}.combat-stat-item label{font-size:10px;font-weight:700;display:block;margin-bottom:3px;text-transform:uppercase}.combat-stat-item .value{font-size:12px;font-weight:600;padding:3px 0}.sheet-main{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;margin-top:12px}.sheet-column{display:flex;flex-direction:column;gap:10px}.section{border:2px solid #000;padding:10px;background:#fff}.section h3{margin:0 0 10px;font-size:14px;font-weight:700;text-transform:uppercase;border-bottom:2px solid #000;padding-bottom:5px}.section h4{margin:0 0 5px;font-size:11px;font-weight:700}.attributes-grid{display:flex;flex-direction:column;gap:5px}.attribute-row{display:flex;align-items:center;gap:5px;font-size:11px}.attr-name{flex:1;font-weight:600}.attr-box,.attr-mod-box{width:35px;height:25px;border:2px solid #000;background:#fff}.attr-mod-label{font-size:9px;font-weight:700}.abilities-list{display:flex;flex-direction:column;gap:6px}.ability-line{font-size:9px;padding:2px 0;line-height:1.4;margin-bottom:3px;display:flex;align-items:flex-start;gap:4px}.ability-checkbox{margin-top:2px;flex-shrink:0;width:12px;height:12px;cursor:pointer}.ability-name{font-weight:600;display:inline}.ability-level{font-style:italic;color:#666;margin-left:5px}.ability-desc{font-size:8px;color:#444;display:inline}.wounds-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:10px;padding-bottom:5px;border-bottom:2px solid #000}.ac-box-header{display:flex;align-items:center;gap:8px}.ac-box-header label{font-size:12px;font-weight:700;text-transform:uppercase}.ac-value-box{width:50px;height:35px;border:3px solid #000;background:#fff}.stats-boxes{display:flex;gap:16px;align-items:center}.initiative-box-header{display:flex;align-items:center;gap:8px}.initiative-box-header label{font-size:12px;font-weight:700;text-transform:uppercase}.initiative-value-box{width:50px;height:35px;border:3px solid #000;background:#fff}.wounds-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.wound-type h4{margin-bottom:5px}.wound-slots{display:flex;flex-wrap:wrap;gap:5px}.wound-checkbox{width:20px;height:20px;border:2px solid #000;background:#fff}.wound-checkbox-with-tick{width:20px;height:20px;border:2px solid #000;background:#fff;position:relative}.wound-checkbox-with-tick.small{width:16px;height:16px}.tick-corner{position:absolute;top:0;right:0;width:6px;height:6px;border-left:1px solid #666;border-bottom:1px solid #666;background:#f9f9f9}.wound-checkbox-with-tick.small .tick-corner{width:5px;height:5px}.temporary-wounds-section{margin:10px 0;padding:8px;background:#f9f9f9;border:1px solid #ddd}.temporary-wounds-section h4{margin:0 0 5px;font-size:11px;font-weight:700}.temporary-wounds-area{min-height:40px;border:1px dashed #666;background:#fff;padding:5px}.wound-thresholds{font-size:10px;display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.threshold-item{font-weight:600}.bonus-wounds-section{margin-top:8px;padding:8px;background:#f9f9f9;border:1px solid #ddd}.bonus-wound-row{display:flex;align-items:center;gap:8px;margin-bottom:5px}.bonus-wound-row:last-child{margin-bottom:0}.bonus-label{font-size:10px;font-weight:700;min-width:70px}.bonus-wound-boxes{display:flex;gap:4px}.character-sheet-export .empty-slots,.character-sheet-page-2 .empty-slots,.character-sheet-page-3 .empty-slots{display:flex;flex-direction:column;gap:6px}.character-sheet-export .empty-slot,.character-sheet-page-2 .empty-slot,.character-sheet-page-3 .empty-slot{height:20px;border-bottom:2px solid #000;background:linear-gradient(to right,#f9f9f9,#fff)}.character-sheet-export .numbered-slots,.character-sheet-page-2 .numbered-slots,.character-sheet-page-3 .numbered-slots{display:flex;flex-direction:column;gap:6px}.character-sheet-export .numbered-slot,.character-sheet-page-2 .numbered-slot,.character-sheet-page-3 .numbered-slot{display:flex;align-items:center;gap:8px}.character-sheet-export .slot-number,.character-sheet-page-2 .slot-number,.character-sheet-page-3 .slot-number{font-size:11px;font-weight:700;min-width:60px;background:#fff;color:#000;padding:2px;border-radius:2px;white-space:nowrap}.character-sheet-export .slot-line,.character-sheet-page-2 .slot-line,.character-sheet-page-3 .slot-line,.character-sheet-export .slot-line-numbered,.character-sheet-page-2 .slot-line-numbered,.character-sheet-page-3 .slot-line-numbered{flex:1;height:20px;border-bottom:2px solid #000;background:#fff}.skills-line{height:22px;border-bottom:2px solid #000;background:#fff}.skills-area{min-height:200px;border:1px dashed #666;background:repeating-linear-gradient(180deg,transparent,transparent 19px,#ddd 19px,#ddd 20px)}.spells-area{min-height:80px;border:1px dashed #666;background:repeating-linear-gradient(180deg,transparent,transparent 19px,#ddd 19px,#ddd 20px)}.matrix-section{padding:8px}.matrix-section h3{font-size:12px;margin-bottom:5px}.dice-matrix{overflow-x:auto}.matrix-grid{display:grid;grid-template-columns:25px repeat(12,1fr);gap:1px;background:#000;border:2px solid #000;font-size:8px}.matrix-cell{background:#fff;padding:3px;text-align:center;min-height:20px;display:flex;align-items:center;justify-content:center;font-weight:500}.matrix-header{background:#e0e0e0;font-weight:700;font-size:9px}.matrix-value{font-size:8px}.equipment-group{margin-bottom:12px}.equipment-group h4{font-size:11px;margin-bottom:5px;font-weight:700}.weapon-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.equipment-slot{margin-bottom:4px}.character-sheet-export .slot-line,.character-sheet-page-2 .slot-line,.character-sheet-page-3 .slot-line{height:20px;border-bottom:2px solid #000;background:#fff}.inventory-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.inventory-slot{height:20px;border:1px solid #000;background:#fff}.weightless-items-field{min-height:40px;border:1px dashed #666;background:#fff;padding:5px}.weapon-dnd-grid{display:flex;flex-direction:column;gap:8px}.weapon-dnd-row{display:flex;gap:5px;align-items:flex-end;padding:4px 0;border-bottom:1px solid #ddd}.weapon-dnd-field{display:flex;flex-direction:column;gap:2px}.weapon-dnd-field label{font-size:8px;font-weight:700;text-transform:uppercase;color:#666}.weapon-label-with-tick{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:2px}.weapon-label-with-tick label{flex:1}.weapon-tick-box{width:12px;height:12px;border:2px solid #000;background:#fff;flex-shrink:0}.weapon-name{flex:2}.weapon-attack{flex:0 0 45px}.weapon-damage{flex:1}.weapon-line{height:18px;border-bottom:2px solid #000;background:#fff}.weapon-box{width:100%;height:20px;border:2px solid #000;background:#fff}.compact-form-list{display:flex;flex-direction:column;gap:6px}.compact-form-entry{padding:4px 0;border-bottom:1px solid #ddd}.compact-form-name-line{height:16px;border-bottom:2px solid #000;margin-bottom:3px}.compact-form-stats{display:flex;gap:8px;font-size:9px;color:#666}.spirit-form-box{padding:8px;background:#f9f9f9;border:1px solid #ddd}.spirit-form-field{display:flex;align-items:center;gap:5px;margin-bottom:8px}.spirit-form-field label{font-size:10px;font-weight:700;min-width:40px}.spirit-line{flex:1;height:18px;border-bottom:2px solid #000}.spirit-stats-grid{display:flex;gap:8px}.spirit-stat{flex:1;display:flex;flex-direction:column;gap:2px}.spirit-stat label{font-size:9px;font-weight:700}.spirit-box{width:100%;height:20px;border:2px solid #000;background:#fff}.spirit-line-short{width:100%;height:18px;border-bottom:2px solid #000}.skald-songs-box{display:flex;flex-direction:column;gap:6px}.skald-song-row{padding:4px 0;border-bottom:1px solid #ddd}.skald-song-name{height:16px;border-bottom:2px solid #000;margin-bottom:3px}.skald-song-range{display:flex;gap:5px;font-size:9px;align-items:center}.skald-song-range label{font-weight:700}.skald-range-value{flex:1;height:14px;border-bottom:1px solid #666}.currency-group{margin-top:15px;padding-top:10px;border-top:2px solid #ddd}.currency-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;font-size:11px;font-weight:600}.currency-box{width:80px;height:25px;border:2px solid #000;background:#fff}.page-break{page-break-after:always;break-after:page;height:0;margin:0;padding:0}.character-sheet-page-2{padding:20px;background:#fff}.sheet-header-small{text-align:center;margin-bottom:20px;padding-bottom:10px;border-bottom:3px solid #000}.sheet-header-small h2{font-size:18px;margin:0}.page2-section{margin-bottom:30px}.page2-section h3{font-size:16px;margin-bottom:10px;padding:5px 10px;background:#333;color:#fff;border:2px solid #000}.page2-instruction{font-size:11px;font-style:italic;margin-bottom:15px;padding:8px;background:#f9f9f9;border-left:3px solid #666}.spell-list-detailed{display:grid;grid-template-columns:1fr 1fr;gap:8px}.spell-row-with-boxes{display:flex;flex-direction:column;gap:3px;padding:4px;border:1px solid #ddd;background:#fff}.spell-row-number{font-size:9px;font-weight:700;color:#666}.spell-name-line{height:18px;border-bottom:2px solid #000;margin-bottom:3px}.spell-checkboxes{display:flex;gap:2px}.spell-checkbox{width:16px;height:16px;border:2px solid #000;background:#fff;flex-shrink:0}.alchemist-rules-box{background:#f9f9f9;border:2px solid #333;padding:12px;margin-bottom:20px}.alchemist-rules-box h4{margin:0 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;border-bottom:2px solid #666;padding-bottom:5px}.rules-list{margin:0;padding-left:20px;font-size:10px;line-height:1.5}.rules-list li{margin-bottom:5px}.rules-list li:last-child{margin-bottom:0}.rules-list strong{font-weight:700;color:#000}.detailed-forms-list{display:flex;flex-direction:column;gap:15px}.detailed-form-box{padding:12px;border:2px solid #000;background:#f9f9f9}.detailed-form-header{display:flex;gap:15px;margin-bottom:10px}.detailed-form-name{flex:2;display:flex;align-items:center;gap:8px}.detailed-form-name label{font-size:11px;font-weight:700;white-space:nowrap}.form-name-line{flex:1;height:20px;border-bottom:2px solid #000;background:#fff}.detailed-form-level{flex:0 0 150px;display:flex;align-items:center;gap:8px}.detailed-form-level label{font-size:10px;font-weight:700;white-space:nowrap}.form-level-box{width:40px;height:22px;border:2px solid #000;background:#fff}.form-level-display{width:40px;height:22px;border:2px solid #000;background:#333;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.detailed-form-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:10px}.form-stat{display:flex;flex-direction:column;gap:3px}.form-stat label{font-size:9px;font-weight:700;text-transform:uppercase}.form-stat-box{height:22px;border:2px solid #000;background:#fff}.form-stat-line{height:20px;border-bottom:2px solid #000;background:#fff}.detailed-form-description{display:flex;flex-direction:column;gap:5px}.detailed-form-description label{font-size:10px;font-weight:700}.form-description-area{min-height:60px;border:1px dashed #666;background:#fff;padding:5px}.detailed-songs-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detailed-song-box{padding:10px;border:2px solid #000;background:#f9f9f9}.detailed-song-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #ccc}.song-number{font-size:11px;font-weight:700}.song-type-field{display:flex;align-items:center;gap:5px}.song-type-field label{font-size:9px;font-weight:700}.song-type-box{display:flex;gap:10px;font-size:10px}.detailed-song-name,.detailed-song-range,.detailed-song-effect{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.detailed-song-name label,.detailed-song-range label,.detailed-song-effect label{font-size:9px;font-weight:700;text-transform:uppercase}.song-name-full-line,.song-range-line{height:18px;border-bottom:2px solid #000;background:#fff}.song-effect-area{min-height:50px;border:1px dashed #666;background:#fff;padding:5px}.bonded-weapon{margin-top:10px}.song-tables-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.song-table-group{background:#f9f9f9;padding:12px;border:2px solid #000}.table-title{font-size:13px;font-weight:700;text-align:center;margin:0 0 10px;padding:5px;background:#333;color:#fff;border:1px solid #000}.song-generation-table{margin-bottom:12px}.table-subtitle{font-size:11px;font-weight:700;margin-bottom:5px;padding:3px 5px;background:#ddd;border-left:3px solid #666}.table-row{display:flex;gap:5px;padding:3px 5px;font-size:8px;border-bottom:1px solid #ddd;align-items:flex-start}.table-row:last-child{border-bottom:none}.roll-num{font-weight:700;min-width:20px;flex-shrink:0;color:#333}.table-entry{font-weight:600;min-width:100px;flex-shrink:0}.table-range{font-size:8px;color:#666;margin-left:auto;flex-shrink:0}.table-effect{font-size:8px;line-height:1.2;color:#444;flex:1}@media print{body *{visibility:hidden}.export-overlay,.export-overlay *,.export-container,.export-container *{visibility:visible}.export-overlay{position:static!important;background:none!important;padding:0!important;display:block!important;overflow:visible!important}.export-container{max-width:none!important;max-height:none!important;overflow:visible!important;box-shadow:none!important;border-radius:0!important;position:absolute!important;left:0!important;top:0!important}.no-print{display:none!important;visibility:hidden!important}.character-sheet-export,.character-sheet-page-2,.character-sheet-page-3{padding:2mm;max-width:210mm;width:210mm;box-sizing:border-box;margin:0 auto}.sheet-header{margin-bottom:9px;padding-bottom:9px;border-bottom-width:2px}.name-value{font-size:20px;min-height:26px}.hex-box{width:40px;height:40px;border-width:1px}.hex-stat label{font-size:9px;margin-bottom:3px}.identity-row,.background-row{margin-bottom:7px;padding:7px;gap:11px}.identity-item label,.background-item label{font-size:8px;margin-bottom:2px}.identity-item .value,.background-item .value{font-size:11px;padding:2px 0}.motivation-value,.language-value{font-size:10px;padding:1px 0}.combat-stats-row{margin-top:7px;margin-bottom:7px;padding:7px;gap:9px}.combat-stat-item label{font-size:8px;margin-bottom:2px}.combat-stat-item .value{font-size:10px;padding:2px 0}.sheet-main{font-size:9px;gap:4px;margin-top:7px}.section{padding:4px}.section h3{font-size:10px;margin:0 0 3px;padding-bottom:3px;border-bottom-width:1px}.section h4{font-size:9px;margin:0 0 3px}.attributes-grid{gap:3px!important}.attribute-row{font-size:9px!important;gap:3px!important;align-items:center!important}.attr-name{flex:1;font-weight:600!important;font-size:9px!important}.attr-box,.attr-mod-box{width:26px!important;height:20px!important;border:2px solid #000!important;background:#fff}.attr-mod-label{font-size:8px!important;font-weight:700!important}.abilities-list{gap:3px;min-height:105%}.ability-line{font-size:8px;line-height:1.3;margin-bottom:2px;gap:3px}.ability-checkbox{width:11px;height:11px;margin-top:1px}.ability-desc{font-size:7px}.wounds-header{display:flex;justify-content:flex-end;align-items:center;margin-bottom:6px;padding-bottom:3px;border-bottom-width:1px}.ac-box-header label,.initiative-box-header label{font-size:10px}.ac-value-box,.initiative-value-box{width:39px;height:29px;border-width:2px}.stats-boxes{gap:13px}.wounds-grid{gap:4px;margin-bottom:4px}.wound-slots{gap:3px}.wound-checkbox-with-tick{width:18px;height:18px;border-width:1px}.wound-checkbox-with-tick.small{width:15px;height:15px}.tick-corner{width:5px;height:5px}.wound-checkbox-with-tick.small .tick-corner{width:4px;height:4px}.temporary-wounds-section{margin:4px 0;padding:4px}.temporary-wounds-section h4{font-size:8px;margin:0 0 3px}.temporary-wounds-area{min-height:24px;padding:3px}.wound-thresholds{font-size:7px;padding-top:4px;padding-bottom:4px;gap:6px}.bonus-wounds-section{margin-top:4px;padding:4px}.bonus-wound-row{gap:5px;margin-bottom:3px}.bonus-label{font-size:7px;min-width:55px}.bonus-wound-boxes{gap:3px}.matrix-section{padding:4px}.matrix-section h3{font-size:9px;margin-bottom:3px}.matrix-grid{font-size:6px;gap:.5px;border-width:1px;grid-template-columns:18px repeat(12,1fr)}.matrix-cell{padding:2px;min-height:14px}.matrix-header{font-size:7px}.matrix-value{font-size:6px}.numbered-slots,.empty-slots{gap:3px}.slot-number{font-size:8px;min-width:18px;padding:2px 3px}.slot-line,.slot-line-numbered,.empty-slot{height:14px;border-bottom:1px solid #333;background:#fff}.skills-line{height:14px;border-bottom:1px solid #333;background:#fff;margin-bottom:3px}.equipment-group{margin-bottom:5px}.equipment-group h4{font-size:8px;margin-bottom:3px}.weapon-dnd-grid{gap:4px}.weapon-dnd-row{gap:3px;padding:3px 0}.weapon-dnd-field{gap:2px}.weapon-dnd-field label{font-size:6px}.weapon-line{height:13px;border-bottom-width:1px}.weapon-box{height:16px;border-width:1px}.weapon-tick-box{width:9px;height:9px;border-width:1px}.inventory-grid{gap:3px}.inventory-slot{height:14px;border-width:1px}.slot-line{height:14px;border-bottom-width:1px}.currency-group{margin-top:10px;padding-top:6px;border-top-width:1px}.currency-row{margin-bottom:3px;font-size:8px}.currency-box{width:55px;height:18px;border-width:1px}.skills-area{min-height:90px}.weightless-items-field{min-height:26px;padding:3px}.spirit-form-box{padding:4px}.spirit-form-field{gap:3px;margin-bottom:4px}.spirit-form-field label{font-size:8px;min-width:32px}.spirit-line,.spirit-line-short{height:13px;border-bottom-width:1px}.spirit-box{height:16px;border-width:1px}.spirit-stats-grid{gap:5px}.compact-form-entry{padding:3px 0}.compact-form-name-line{height:13px;margin-bottom:3px;border-bottom-width:1px}.compact-form-stats{gap:5px;font-size:7px}.ability-checkbox{width:10px;height:10px;-webkit-appearance:checkbox;appearance:checkbox;print-color-adjust:exact;-webkit-print-color-adjust:exact}@page{size:A4 portrait;margin:3mm;orphans:1;widows:1}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}.page-break{page-break-after:always!important;break-after:page!important;display:block!important;height:0!important;margin:0!important;padding:0!important;border:none!important;clear:both!important}.character-sheet-export{page-break-after:auto;min-height:auto;max-height:none;position:relative}.character-sheet-page-2,.character-sheet-page-3{page-break-before:always;page-break-after:auto;min-height:auto;position:relative}.matrix-section,.feats-section,.talents-section{page-break-inside:auto;break-inside:auto}.wounds-section{page-break-inside:avoid;break-inside:avoid}.dice-matrix{overflow-x:visible}.wound-thresholds{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:8px!important;justify-content:flex-start!important;font-size:8px!important}.threshold-item{white-space:nowrap!important}.page2-section,.page3-section{page-break-inside:auto}.detailed-form-box,.detailed-song-box{page-break-inside:avoid}.detailed-song-box{padding:5px!important;margin-bottom:5px!important}.detailed-song-header{margin-bottom:3px!important;padding-bottom:2px!important}.song-number{font-size:8px!important}.song-type-field label,.detailed-song-name label,.detailed-song-range label,.detailed-song-effect label{font-size:7px!important}.song-type-box{font-size:7px!important;gap:4px!important}.detailed-song-name,.detailed-song-range,.detailed-song-effect{gap:1px!important;margin-bottom:3px!important}.song-name-full-line,.song-range-line{height:11px!important;border-bottom-width:1px!important}.song-effect-area{min-height:28px!important;padding:2px!important;font-size:7px!important}.detailed-songs-list{gap:7px!important}.detailed-form-box{padding:7px!important;margin-bottom:7px!important}.detailed-form-header{margin-bottom:3px!important}.detailed-form-name label,.detailed-form-level label,.form-stat label,.detailed-form-description label{font-size:7px!important}.form-level-display{font-size:8px!important}.form-name-line{height:11px!important}.detailed-form-stats-grid{gap:3px!important;margin-bottom:3px!important}.form-stat-box{height:13px!important;width:30px!important}.form-stat-line{height:11px!important}.form-description-area{min-height:33px!important;padding:2px!important;font-size:7px!important}.detailed-forms-list{gap:7px!important}.spell-row-with-boxes{padding:2px!important;gap:1px!important}.spell-row-number{font-size:7px!important}.spell-name-line{height:11px!important}.spell-checkbox{width:11px!important;height:11px!important}.spell-checkboxes{gap:2px!important}.page2-section{margin-bottom:7px!important}.page2-section h3{font-size:10px!important;margin-bottom:5px!important;padding-bottom:2px!important}.page2-instruction{font-size:7px!important;margin-bottom:5px!important}.alchemist-rules-box{padding:5px!important;margin-bottom:7px!important}.alchemist-rules-box h4{font-size:8px!important;margin-bottom:2px!important}.rules-list{font-size:7px!important;padding-left:12px!important;margin:0!important}.rules-list li{margin-bottom:1px!important}.export-overlay:after,.export-container:after{content:none!important;display:none!important}}@media screen and (max-width:1200px){.sheet-main{grid-template-columns:1fr}.character-sheet-export{padding:20px}}.character-sheet-page-3{padding:20px;background:#fff}.page3-section{margin-bottom:30px}.page3-section h3{font-size:18px;font-weight:700;margin-bottom:15px;padding-bottom:8px;border-bottom:2px solid #000}.blessing-table{display:flex;flex-direction:column;gap:8px;margin-top:15px}.blessing-row{display:grid;grid-template-columns:40px 150px 1fr;gap:12px;padding:8px;border:1px solid #ddd;border-radius:4px;background:#f9f9f9}.blessing-roll{font-weight:700;text-align:center;padding:2px 8px;background:#000;color:#fff;border-radius:3px;align-self:start}.blessing-name{font-weight:700;color:#333}.blessing-effect{color:#555;font-size:14px}.detailed-form-box{margin-bottom:25px;padding:15px;border:2px solid #333;border-radius:6px;background:#f9f9f9;page-break-inside:avoid}.form-title{font-size:16px;font-weight:700;margin-bottom:10px;color:#000}.form-description{font-style:italic;margin-bottom:15px;color:#333;line-height:1.5}.form-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:12px;padding:12px;background:#fff;border-radius:4px}.form-stat-item{font-size:13px}.form-bonuses,.form-level-scaling,.form-special-abilities{margin-top:12px;padding:10px;background:#fff;border-radius:4px}.scaling-list,.abilities-list{margin:8px 0 0 20px;padding:0}.scaling-list li,.abilities-list li{margin-bottom:6px;line-height:1.4}@media print{.detailed-form-box{page-break-inside:avoid;break-inside:avoid}.blessing-table{page-break-inside:auto}}.top-menu-bar{position:fixed;top:0;left:0;right:0;height:28px;background:#2a2a2a;border-bottom:1px solid #444;z-index:1000;display:flex;align-items:center}.menu-bar-content{display:flex;align-items:center;padding:0 16px;height:100%}.menu-section{position:relative}.menu-button{height:28px;padding:0 12px;background:transparent;border:none;color:#ccc;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.menu-button:hover{background:#ffffff0d;color:#fff}.menu-button.save-button{background:#4caf5026;color:#81c784;border:1px solid rgba(76,175,80,.3);border-radius:3px;margin-left:8px;font-weight:600}.menu-button.save-button:hover{background:#4caf5040;border-color:#4caf5080;color:#a5d6a7}.menu-dropdown{position:absolute;top:100%;left:0;min-width:280px;max-width:400px;background:#1a1a1a;border:1px solid #444;border-radius:4px;box-shadow:0 4px 12px #00000080;margin-top:4px;max-height:500px;overflow-y:auto;z-index:1001}.menu-item{width:100%;padding:10px 16px;background:transparent;border:none;color:#ccc;font-size:14px;text-align:left;cursor:pointer;transition:all .2s ease;display:block}.menu-item:hover{background:#ffffff0d;color:#fff}.menu-divider{height:1px;background:#333;margin:4px 0}.menu-section-label{padding:8px 16px 4px;font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.menu-save-input{display:flex;gap:8px;padding:8px 12px;background:#ffffff05;border-bottom:1px solid #333}.menu-save-input input{flex:1;padding:6px 10px;background:#0f0f0f;border:1px solid #444;border-radius:3px;color:#fff;font-size:13px}.menu-save-input input:focus{outline:none;border-color:#4a9eff}.save-confirm{padding:6px 12px;background:#4a9eff;border:none;border-radius:3px;color:#fff;font-size:13px;font-weight:500;cursor:pointer}.save-confirm:hover{background:#5aafff}.save-cancel{padding:6px 10px;background:transparent;border:1px solid #444;border-radius:3px;color:#888;font-size:16px;cursor:pointer;line-height:1}.save-cancel:hover{border-color:#666;color:#ccc}.menu-save-list{max-height:300px;overflow-y:auto}.menu-save-item{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid #222}.menu-save-item:hover{background:#ffffff0d}.menu-save-item:last-child{border-bottom:none}.save-item-info{flex:1;min-width:0}.save-item-name{font-size:14px;font-weight:600;color:#4a9eff;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-item-details{font-size:11px;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.save-delete-btn{width:24px;height:24px;padding:0;background:transparent;border:1px solid #444;border-radius:3px;color:#888;font-size:18px;line-height:1;cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-left:8px}.save-delete-btn:hover{background:#d32f2f;border-color:#d32f2f;color:#fff}.menu-feedback{padding:8px 16px;font-size:12px;font-weight:500;text-align:center;animation:slideIn .3s ease}.menu-feedback.success{background:#4caf501a;border-bottom:1px solid #4caf50;color:#4caf50}.menu-feedback.error{background:#d32f2f1a;border-bottom:1px solid #d32f2f;color:#f44336}.menu-dropdown::-webkit-scrollbar,.menu-save-list::-webkit-scrollbar{width:8px}.menu-dropdown::-webkit-scrollbar-track,.menu-save-list::-webkit-scrollbar-track{background:#0003}.menu-dropdown::-webkit-scrollbar-thumb,.menu-save-list::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.menu-dropdown::-webkit-scrollbar-thumb:hover,.menu-save-list::-webkit-scrollbar-thumb:hover{background:#555}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.load-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.load-modal-content{background:#1a1a1a;border:1px solid #444;border-radius:8px;max-width:1000px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #000c}.load-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #333}.load-modal-header h2{margin:0;font-size:20px;font-weight:600;color:#fff}.load-modal-close{width:32px;height:32px;padding:0;background:transparent;border:1px solid #444;border-radius:4px;color:#888;font-size:24px;line-height:1;cursor:pointer;transition:all .2s ease}.load-modal-close:hover{background:#d32f2f33;border-color:#d32f2f;color:#f44336}.load-character-grid{padding:24px;display:grid;grid-template-columns:repeat(5,1fr);gap:10px 12px;overflow-y:auto;max-height:calc(90vh - 100px)}.no-saves-message{grid-column:1 / -1;text-align:center;padding:60px 20px;color:#666;font-size:16px}.load-character-card{background:#2a2a2a;border:2px solid #333;border-radius:6px;padding:8px 8px 12px;cursor:pointer;transition:all .3s ease;position:relative;display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.load-character-card:nth-child(5n){border-bottom:2px solid #444;margin-bottom:18px;padding-bottom:14px}.load-character-card:nth-last-child(-n+5):nth-child(5n){border-bottom:none;margin-bottom:10px;padding-bottom:12px}.load-character-card:hover{border-color:#4a9eff;background:#2f2f2f;box-shadow:0 4px 16px #4a9eff33;transform:translateY(-2px)}.load-card-portrait{width:100%;height:90px;border-radius:4px;overflow:hidden;background:#1a1a1a;border:1px solid #333;display:flex;align-items:center;justify-content:center}.load-portrait-img{width:100%;height:100%;object-fit:cover}.load-portrait-placeholder{color:#555;font-size:11px;font-weight:500}.load-card-info{display:flex;flex-direction:column;gap:3px}.load-card-name{font-size:13px;font-weight:600;color:#4a9eff;margin-bottom:2px}.load-card-detail{font-size:11px;color:#ccc;line-height:1.3}.load-card-timestamp{font-size:9px;color:#666;margin-top:2px;padding-top:4px;border-top:1px solid #333}.load-card-delete{position:absolute;top:6px;right:6px;width:20px;height:20px;padding:0;background:#000000b3;border:1px solid #444;border-radius:3px;color:#888;font-size:16px;line-height:1;cursor:pointer;transition:all .2s ease;z-index:10}.load-card-delete:hover{background:#d32f2f;border-color:#d32f2f;color:#fff}.load-character-grid::-webkit-scrollbar{width:10px}.load-character-grid::-webkit-scrollbar-track{background:#0003;border-radius:5px}.load-character-grid::-webkit-scrollbar-thumb{background:#444;border-radius:5px}.load-character-grid::-webkit-scrollbar-thumb:hover{background:#555}.character-sheet{position:relative}.character-header{margin-bottom:var(--spacing-9);padding-bottom:var(--spacing-8);border-bottom:var(--border-width-thick) solid var(--color-border-base)}.character-sheet-title{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);color:var(--color-text-emphasis);margin:0 0 var(--spacing-7) 0;padding-bottom:var(--spacing-6);border-bottom:1px solid var(--color-border-base);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider);text-align:center}.character-summary-compact{display:grid;grid-template-columns:auto 1fr auto;gap:var(--spacing-4);align-items:flex-start}@media(max-width:768px){.character-summary-compact{grid-template-columns:auto 1fr;grid-template-rows:auto auto}.instructions-info-box,.instructions-info-icon{grid-column:1 / -1;grid-row:1;max-width:100%;margin-bottom:var(--spacing-3)}.portrait-container-compact,.character-info-compact{grid-row:2}.portrait-box-compact{width:80px;height:80px}.character-name-display{font-size:18px}.character-race-display,.character-religion-display,.character-level-class-display{font-size:12px}.instructions-info-box{padding:var(--spacing-2)}.instructions-title{font-size:12px}.drag-instructions-text{font-size:11px;margin-bottom:var(--spacing-1)}}.portrait-container-compact{position:relative;flex-shrink:0}.portrait-box-compact{width:132px;height:132px;border:2px solid var(--color-border-base);border-radius:var(--radius-sm);background:var(--color-bg-dark);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.portrait-image-compact{width:100%;height:100%;object-fit:cover}.portrait-placeholder-compact{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center}.portrait-cog-btn-topleft{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#000000b3;border:1px solid var(--color-border-base);color:#ccc;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;z-index:10}.portrait-cog-btn-topleft:hover{background:#ffffff26;color:#fff;border-color:var(--color-border-hover)}.portrait-cog-menu{position:absolute;top:36px;left:0;min-width:180px;background:#1a1a1a;border:1px solid #444;border-radius:4px;box-shadow:0 4px 12px #00000080;z-index:1000;overflow:hidden}.portrait-cog-menu-item{display:block;width:100%;padding:10px 14px;background:transparent;border:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;transition:all .2s ease}.portrait-cog-menu-item:hover{background:#ffffff0d;color:#fff}.character-info-compact{display:flex;flex-direction:column;gap:8px;min-width:0}.character-name-row{display:flex;align-items:center;gap:12px}.character-name-display{font-size:20px;font-weight:600;color:var(--color-text-emphasis)}.name-cog-btn{width:20px;height:20px;border-radius:50%;background:transparent;border:1px solid var(--color-border-base);color:#ccc;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0;flex-shrink:0}.name-cog-btn:hover{background:#ffffff0d;color:#fff;border-color:var(--color-border-hover)}.name-cog-menu{position:absolute;top:100%;left:0;margin-top:4px;min-width:180px;background:#1a1a1a;border:1px solid #444;border-radius:4px;box-shadow:0 4px 12px #00000080;z-index:1000;overflow:hidden}.name-cog-menu-item{display:block;width:100%;padding:10px 14px;background:transparent;border:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;transition:all .2s ease}.name-cog-menu-item:hover{background:#ffffff0d;color:#fff}.character-race-display,.character-religion-display,.character-level-class-display{font-size:15px;color:var(--color-text-lighter)}.instructions-info-box{padding:var(--spacing-3);border:1px solid rgba(160,160,160,.3);border-radius:var(--radius-sm);background:#a0a0a00d;max-width:350px;flex-shrink:0}.instructions-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.instructions-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#a0a0a0e6;margin:0}.instructions-collapse-btn{background:transparent;border:none;color:#a0a0a0b3;font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-1);transition:var(--transition-all)}.instructions-collapse-btn:hover{color:#a0a0a0}.instructions-info-icon{background:transparent;border:1px solid rgba(160,160,160,.3);border-radius:var(--radius-sm);padding:var(--spacing-2);font-size:var(--font-size-lg);cursor:pointer;transition:var(--transition-all);filter:grayscale(100%);opacity:.6}.instructions-info-icon:hover{opacity:1;border-color:#a0a0a080}.drag-instructions{padding:0}.drag-instructions-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:#a0a0a0e6;margin:0 0 var(--spacing-2) 0}.drag-instructions-text{font-size:var(--font-size-xs);color:#a0a0a0b3;line-height:var(--line-height-relaxed);margin:0 0 var(--spacing-2) 0}.drag-instructions-text:last-child{margin-bottom:0}.drag-instructions-text strong{color:#a0a0a0e6;font-weight:var(--font-weight-semibold)}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-content-compact{background:#1a1a1a;border:1px solid #444;border-radius:8px;padding:24px;min-width:400px;box-shadow:0 8px 24px #0009}.modal-title{margin:0 0 16px;font-size:18px;font-weight:600;color:var(--color-text-emphasis)}.rename-input{width:100%;padding:10px 12px;font-size:14px;background:#0f0f0f;border:1px solid #444;border-radius:4px;color:#fff;margin-bottom:16px}.rename-input:focus{outline:none;border-color:#4a9eff}.modal-buttons{display:flex;gap:8px;justify-content:flex-end}.modal-btn{padding:8px 16px;font-size:14px;font-weight:500;border-radius:4px;border:none;cursor:pointer;transition:all .2s ease}.modal-btn-confirm{background:#4a9eff;color:#fff}.modal-btn-confirm:hover{background:#5aafff}.modal-btn-cancel{background:transparent;border:1px solid #444;color:#ccc}.modal-btn-cancel:hover{background:#ffffff0d;border-color:#666}.section-heading-row-with-level{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5)}.section-heading-row-with-level .lock-btn.locked:hover{background:var(--color-bg-elevated);color:inherit}.level-controls-compact{position:relative}.level-cog-btn{width:28px;height:28px;border-radius:50%;background:transparent;border:1px solid var(--color-border-base);color:#ccc;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:0}.level-cog-btn:hover{background:#ffffff0d;color:#fff;border-color:var(--color-border-hover)}.level-cog-menu{position:absolute;top:100%;right:0;margin-top:8px;min-width:220px;background:#1a1a1a;border:1px solid #444;border-radius:4px;box-shadow:0 4px 12px #00000080;z-index:1000;padding:12px}.level-menu-content{display:flex;flex-direction:column;gap:10px}.level-menu-label{font-size:12px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px}.level-controls-menu{display:flex;align-items:center;justify-content:center;gap:12px}.level-btn-menu{width:32px;height:32px;background:var(--color-bg-elevated);color:var(--color-text-lighter);border:1px solid var(--color-border-base);border-radius:4px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.level-btn-menu:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-lighter);color:var(--color-text-emphasis)}.level-btn-menu:disabled{opacity:.3;cursor:not-allowed}.level-display-menu{font-size:18px;font-weight:600;color:var(--color-text-emphasis);min-width:30px;text-align:center}.level-controls-inline{display:flex;align-items:center;gap:8px}.level-label{font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);font-size:var(--font-size-sm)}.level-btn-inline{width:28px;height:28px;background:var(--color-bg-elevated);color:var(--color-text-lighter);border:1px solid var(--color-border-base);border-radius:4px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.level-btn-inline:hover:not(:disabled){background:var(--color-bg-hover);border-color:var(--color-border-lighter);color:var(--color-text-emphasis)}.level-btn-inline:disabled{opacity:.3;cursor:not-allowed}.level-display-inline{font-size:16px;font-weight:600;color:var(--color-text-emphasis);min-width:24px;text-align:center}.level-btn{width:36px;height:36px;background:var(--color-bg-elevated);color:var(--color-text-lighter);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-none);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-all);display:flex;align-items:center;justify-content:center}.level-btn:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-lighter);transform:scale(1.05)}.level-btn:disabled{background:var(--color-bg-base);border-color:var(--color-bg-elevated);cursor:not-allowed;opacity:.3}.level-display{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);min-width:40px;text-align:center}.character-section{margin-bottom:var(--spacing-9)}.section-heading{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis);margin:0 0 var(--spacing-6) 0;padding-bottom:var(--spacing-3);text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.section-heading-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-3)}.section-heading-row .section-heading{margin:0;padding-bottom:0;border-bottom:none}.minimize-btn{background:transparent;border:var(--border-width-thin) solid var(--color-border-dark);color:var(--color-text-secondary);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-base);cursor:pointer;font-size:var(--font-size-sm);transition:var(--transition-all)}.minimize-btn:hover{background:var(--color-bg-hover);color:var(--color-text-lighter);border-color:var(--color-border-light)}.minimized-content{padding:var(--spacing-4);background:var(--color-bg-elevated);border-radius:var(--radius-base);border:var(--border-width-thin) solid var(--color-border-darkest)}.minimized-item{display:flex;gap:var(--spacing-3);padding:var(--spacing-2) 0}.minimized-item:not(:last-child){border-bottom:var(--border-width-thin) solid var(--color-border-darkest)}.minimized-label{font-weight:var(--font-weight-bold);color:var(--color-text-secondary);font-size:var(--font-size-sm);min-width:100px}.minimized-value{color:var(--color-text-lighter);font-size:var(--font-size-sm)}.class-minimized-expanded{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-2) 0}.minimized-attributes-row{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.minimized-section-divider{width:100%;display:flex;align-items:center;gap:8px;margin-top:10px;margin-bottom:4px}.minimized-section-divider:before,.minimized-section-divider:after{content:"";flex:1;height:1px;background:var(--color-border-dark)}.minimized-section-label{font-size:10px;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.minimized-trackables-row{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.trackable-btn{background:#2a2a2a;border:1px solid #5a5a6a;border-radius:4px;padding:6px 10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-weight:600}.trackable-btn:hover{background:#3a3a3a;border-color:#6a6a7a;transform:translateY(-1px);box-shadow:0 2px 4px #0000004d}.trackable-btn-label{font-size:11px;font-weight:600;color:#9a9aaa;text-transform:uppercase;letter-spacing:.5px}.trackable-btn-checkbox-container{display:flex;align-items:center;background:#3a3a4a;border:1px solid #5a5a6a;border-radius:3px;padding:3px 5px}.trackable-btn-checkbox{appearance:none;width:14px;height:14px;border:2px solid #5a5a6a;background:#1a1a2a;border-radius:2px;cursor:pointer;position:relative;margin:0;transition:all .15s}.trackable-btn-checkbox:checked{background:#4a9eff4d;border-color:#4a9eff}.trackable-btn-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#4a9eff;font-size:10px;font-weight:700}.trackable-btn.active{border-color:#d4af3799}.trackable-btn.active .trackable-btn-checkbox-container{border-color:#d4af3780;background:#d4af371a}.trackable-btn.active .trackable-btn-checkbox{border-color:#d4af37}.trackable-btn.active .trackable-btn-checkbox:checked{background:#d4af374d}.trackable-btn.active .trackable-btn-checkbox:checked:after{color:#d4af37}.trackable-btn.used{opacity:.7;border-color:#64646480}.trackable-btn-tooltip{background:#2a2a2a;border:1px solid #5a5a6a;border-radius:6px;padding:12px;min-width:200px;max-width:280px;box-shadow:0 6px 16px #00000080;animation:trackableTooltipFadeIn .15s ease}.trackable-btn-tooltip.arrow-bottom:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-top-color:#2a2a2a}.trackable-btn-tooltip.arrow-bottom:before{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#5a5a6a;margin-top:1px;z-index:-1}.trackable-btn-tooltip.arrow-top:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:7px solid transparent;border-bottom-color:#2a2a2a}.trackable-btn-tooltip.arrow-top:before{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-bottom-color:#5a5a6a;margin-bottom:1px;z-index:-1}.trackable-btn-tooltip-title{font-size:13px;font-weight:600;color:#fff;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #4a4a5a}.trackable-btn-tooltip-content{font-size:12px;color:#ccc;line-height:1.5;white-space:pre-wrap}@keyframes trackableTooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.ability-button-tag.clickable-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:var(--color-bg-darkest);border:1px solid var(--color-border-dark);border-radius:4px;font-size:11px;font-weight:500;color:var(--color-text-lighter);cursor:pointer;transition:all .15s}.ability-button-tag.clickable-tag:hover{background:var(--color-bg-dark);border-color:var(--color-border-base)}.ability-button-tag.active{background:#d4af3726;border-color:#d4af3780}.ability-button-tag.used{background:#64646433;border-color:#64646466;opacity:.7}.ability-checkbox{appearance:none;width:14px;height:14px;border:2px solid #d4af37;background:#0a0a0a;border-radius:3px;cursor:pointer;position:relative;flex-shrink:0;transition:all .15s}.ability-checkbox:hover{border-color:#e5c453}.ability-checkbox:checked{background:#d4af3733}.ability-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;font-weight:700;color:#d4af37}.ability-button-tag.used .ability-checkbox{border-color:#888}.ability-button-tag.used .ability-checkbox:checked{background:#6464644d}.ability-button-tag.used .ability-checkbox:checked:after{color:#888}.section-divider{height:1px;background:linear-gradient(to right,transparent,var(--color-border-base) 20%,var(--color-border-base) 80%,transparent);margin:var(--spacing-6) 0}.identity-wounds-row{display:flex;gap:var(--spacing-6);align-items:flex-start;justify-content:flex-start}.background-column{flex:0 1 auto;display:flex;flex-direction:column;gap:var(--spacing-4);min-width:280px;max-width:400px}.wounds-column{flex:1 1 auto;min-width:320px;max-width:450px}.wounds-placeholder{background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-radius:var(--radius-sm);padding:var(--spacing-6);height:100%;display:flex;flex-direction:column}.wounds-placeholder-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);margin:0 0 var(--spacing-5) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.wounds-placeholder-content{display:flex;flex-direction:column;gap:var(--spacing-4);flex:1}.placeholder-wound-row{display:flex;align-items:center;gap:var(--spacing-4);padding:var(--spacing-3);background:var(--color-bg-base);border-radius:var(--radius-sm);border:1px solid var(--color-border-dark)}.placeholder-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);min-width:90px;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.placeholder-slots{flex:1;font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right}.placeholder-notes{margin-top:auto;padding-top:var(--spacing-4);border-top:1px solid var(--color-border-dark)}.placeholder-notes p{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0 0 var(--spacing-2) 0;line-height:var(--line-height-relaxed)}.placeholder-notes p:last-child{margin-bottom:0}.placeholder-notes strong{color:var(--color-text-lighter)}.placeholder-message{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-style:italic;text-align:center;margin:var(--spacing-4) 0;padding:var(--spacing-4);background:var(--color-bg-darkest);border-radius:var(--radius-sm)}.mobile-wounds-top{display:none}@media(max-width:768px){.identity-wounds-row{flex-direction:column}.wounds-column{display:none}.mobile-wounds-top{display:block;margin-bottom:var(--spacing-6)}}.identity-sections-wrapper{flex:0 0 auto;width:50%;min-width:300px;max-width:500px}.identity-section.character-section{margin-bottom:var(--spacing-6)}.identity-section .section-heading{font-size:var(--font-size-lg);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-2)}.identity-section .section-heading-row{margin-bottom:var(--spacing-3);padding-bottom:var(--spacing-2)}.identity-section .section-heading-row .section-heading{font-size:var(--font-size-lg)}.identity-section .minimized-content{padding:var(--spacing-3)}.identity-section .minimized-item{padding:var(--spacing-1) 0}.identity-section .minimized-label{font-size:var(--font-size-xs);min-width:80px}.identity-section .minimized-value{font-size:var(--font-size-xs)}.identity-section .minimize-btn{padding:var(--spacing-1) var(--spacing-2);font-size:var(--font-size-xs)}.identity-section .heritage-unlocks{margin-top:var(--spacing-4);padding:var(--spacing-4)}.identity-section .heritage-ability{padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-2);font-size:var(--font-size-sm)}.identity-section .heritage-ability .ability-level{font-size:var(--font-size-xs)}.identity-section .drop-zone{padding:var(--spacing-3);margin-bottom:var(--spacing-3);min-height:60px}.identity-section .drop-zone-label{font-size:var(--font-size-xs)}.identity-section .drop-zone-content,.identity-section .slot-header{font-size:var(--font-size-sm)}.identity-section .slot-with-lock{gap:var(--spacing-2)}.identity-section .lock-btn{font-size:var(--font-size-xs);padding:var(--spacing-1)}.identity-section .motivations-list{gap:var(--spacing-2)}.identity-section .motivation-item{padding:var(--spacing-2)}.identity-section .motivation-hint{font-size:var(--font-size-xs);margin-top:var(--spacing-2)}.section-header-with-toggle{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-6)}.section-header-with-toggle .section-heading{margin-bottom:0;flex:1}.section-toggle-btn{background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-xl);cursor:pointer;padding:var(--spacing-3) var(--spacing-5);transition:var(--transition-all);min-width:40px;display:flex;align-items:center;justify-content:center}.section-toggle-btn:hover{color:var(--color-text-lighter);transform:scale(1.1)}.section-toggle-btn:active{transform:scale(.95)}.talent-section{margin-top:var(--spacing-6);padding:var(--spacing-6);background:var(--color-bg-dark);border-radius:var(--radius-none);border:var(--border-width-thin) solid var(--color-bg-elevated)}.talent-roll-btn{background:var(--color-bg-elevated);color:var(--color-text-lighter);border:var(--border-width-base) solid var(--color-border-base);padding:var(--spacing-4) var(--spacing-7);border-radius:var(--radius-none);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);margin-bottom:var(--spacing-3)}.talent-roll-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-lighter)}.talent-roll-btn.versatile{background:#1a1a2a;border-color:var(--color-border-base);margin-left:var(--spacing-3)}.talent-roll-btn.versatile:hover{background:#222;border-color:var(--color-border-lighter)}.talent-result{background:var(--color-bg-darkest);padding:var(--spacing-5);border-radius:var(--radius-none);margin-top:var(--spacing-3);font-size:var(--font-size-base);color:var(--color-text-lighter);border-left:var(--spacing-1) solid var(--color-border-base)}.spell-slots{display:grid;gap:var(--spacing-5)}.empty-message{color:var(--color-text-tertiary);font-style:italic;text-align:center;padding:var(--spacing-7)}.motivations-list{display:flex;flex-direction:column;gap:var(--spacing-5)}.motivation-item{position:relative}.remove-motivation-btn{position:absolute;top:var(--spacing-3);right:var(--spacing-3);background:#2a1a1a;color:var(--color-text-lighter);border:var(--border-width-thin) solid var(--color-border-base);padding:var(--spacing-1) var(--spacing-5);border-radius:var(--radius-none);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all)}.remove-motivation-btn:hover{background:#3a2a2a;color:var(--color-text-primary);border-color:var(--color-border-lighter)}.motivation-hint{text-align:center;color:var(--color-text-secondary);font-size:var(--font-size-base);font-style:italic;margin:var(--spacing-3) 0 0 0;padding:var(--spacing-5);background:#2a2a1a;border-radius:var(--radius-none);border:var(--border-width-thin) solid var(--color-border-dark)}.heritage-unlocks{margin-top:var(--spacing-6);padding:var(--spacing-6);background:var(--color-bg-dark);border-radius:var(--radius-none);border:var(--border-width-thin) solid var(--color-bg-elevated)}.heritage-ability{padding:var(--spacing-4) var(--spacing-5);margin-bottom:var(--spacing-3);border-radius:var(--radius-none);font-size:var(--font-size-base);transition:var(--transition-all);display:flex;align-items:flex-start;gap:var(--spacing-2)}.heritage-ability-checkbox{flex-shrink:0;width:16px;height:16px;cursor:pointer;accent-color:#4ade80;position:absolute;right:0;top:var(--spacing-3)}.heritage-ability-checkbox:checked{opacity:.6}.heritage-ability:has(.heritage-ability-checkbox:checked){opacity:.5;text-decoration:line-through;text-decoration-color:var(--color-text-secondary)}.heritage-ability.unlocked{background:#0a2a0a;border-left:var(--spacing-1) solid var(--color-success-text);color:#aca}.heritage-ability.locked{background:var(--color-bg-base);border-left:var(--spacing-1) solid var(--color-border-base);color:var(--color-text-muted);opacity:.6}.ability-level{font-weight:var(--font-weight-bold);margin-right:var(--spacing-3)}.heritage-abilities-section{margin-top:var(--spacing-4);padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.heritage-ability-level{font-weight:var(--font-weight-bold);color:#4ade80;width:100%;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--spacing-1)}.racial-abilities-section{margin-top:var(--spacing-4);padding:var(--spacing-3);background:var(--color-bg-dark);border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--color-bg-elevated)}.racial-abilities-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-sm);transition:var(--transition-all)}.racial-abilities-header:hover{background:var(--color-bg-hover)}.racial-ability-content{padding:var(--spacing-3);font-size:var(--font-size-sm);color:var(--color-text-lighter);line-height:var(--line-height-relaxed);background:var(--color-bg-base);border-radius:var(--radius-sm);margin-top:var(--spacing-2)}.heritage-abilities-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:var(--spacing-2);margin-bottom:var(--spacing-3);border-radius:var(--radius-sm);transition:var(--transition-all)}.heritage-abilities-header:hover{background:var(--color-bg-hover)}.heritage-abilities-minimized{display:flex;flex-wrap:wrap;gap:var(--spacing-2);padding:var(--spacing-2)}.heritage-ability-name-tag{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#4ade80;background:var(--color-bg-base);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--color-success-base)}.heritage-ability-formatted{display:flex;flex-direction:column;gap:var(--spacing-1);flex:1}.heritage-ability-formatted .ability-level{display:block;margin-bottom:var(--spacing-1)}.heritage-ability-formatted .ability-text{display:block;color:var(--color-text-lighter);line-height:var(--line-height-relaxed)}.language-choice-btn-compact{animation:language-glow 2s ease-in-out infinite}@keyframes language-glow{0%,to{box-shadow:0 0 5px #9b59b680}50%{box-shadow:0 0 15px #9b59b6cc,0 0 25px #9b59b666}}.heritage-ability-text strong{color:#4ade80;font-weight:var(--font-weight-bold)}.advancement-checkboxes{margin-top:var(--spacing-6);padding:var(--spacing-6);background:#2a2a1a;border-radius:var(--radius-none);border:var(--border-width-thin) solid var(--color-border-dark);display:flex;flex-direction:column;gap:var(--spacing-6)}.advancement-option{display:flex;flex-direction:column;gap:var(--spacing-2)}.advancement-checkbox{display:flex;align-items:center;gap:var(--spacing-4);cursor:pointer;font-size:var(--font-size-lg);color:var(--color-text-lighter);font-weight:var(--font-weight-medium)}.advancement-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--color-border-lighter)}.checkbox-label{-webkit-user-select:none;user-select:none}.advancement-description{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0;padding-left:30px;line-height:var(--line-height-relaxed);font-style:italic}.advancement-compact{display:flex;gap:var(--spacing-4);padding:var(--spacing-3) var(--spacing-4);background:#2a2a1a;border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--color-border-dark);margin-bottom:var(--spacing-3)}.advancement-indicator{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-error);padding:var(--spacing-1) var(--spacing-3);background:var(--color-bg-dark);border-radius:var(--radius-sm)}.advancement-indicator.checked{color:var(--color-success)}.talents-by-level,.versatile-talent-section{margin-top:var(--spacing-6);padding:var(--spacing-6);background:var(--color-bg-dark);border-radius:var(--radius-none);border:var(--border-width-thin) solid var(--color-bg-elevated);transition:all .3s ease}.talents-by-level.has-unrolled{border-color:#9b59b6;box-shadow:0 0 12px #9b59b666}.talents-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.talents-header-row .talents-heading{margin:0;padding:0;border:none}.talents-minimize-btn{background:transparent;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-1) var(--spacing-2);transition:var(--transition-all)}.talents-minimize-btn:hover{color:var(--color-text-lighter)}.talents-heading{font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);margin:0 0 var(--spacing-6) 0;padding-bottom:var(--spacing-3);border-bottom:var(--border-width-base) solid var(--color-border-dark);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.talent-level-row{display:flex;align-items:flex-start;gap:var(--spacing-6);margin-bottom:var(--spacing-5);padding:var(--spacing-4);background:var(--color-bg-base);border-radius:var(--radius-none);border:var(--border-width-thin) solid var(--color-bg-elevated)}.talent-level{font-weight:var(--font-weight-bold);color:var(--color-text-secondary);font-size:var(--font-size-base);min-width:150px;padding-top:var(--spacing-1)}.versatile-indicator{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-normal);font-style:italic}.talent-content{display:flex;flex-direction:column;gap:var(--spacing-3);flex:1}.talents-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.talent-level-row .talent-result{background:none;padding:var(--spacing-1) 0;margin:0;border:none;color:var(--color-text-lighter);font-weight:var(--font-weight-medium);display:block}.talent-level-row .talent-roll-btn{margin:0;padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-md);align-self:flex-start}.talents-two-column{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.talents-table-column,.talents-rolls-column{background:var(--color-bg-base);border-radius:var(--radius-sm);padding:var(--spacing-3);border:var(--border-width-thin) solid var(--color-bg-elevated)}.talents-column-heading{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);margin:0 0 var(--spacing-3) 0;padding-bottom:var(--spacing-2);border-bottom:var(--border-width-thin) solid var(--color-border-darkest)}.talents-table-list-compact{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.talents-table-list-compact::-webkit-scrollbar{width:4px}.talents-table-list-compact::-webkit-scrollbar-track{background:var(--scrollbar-track)}.talents-table-list-compact::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm)}.talent-table-item-compact{display:flex;align-items:flex-start;gap:var(--spacing-2);padding:var(--spacing-1) 0;font-size:var(--font-size-xs);color:var(--color-border-light);line-height:var(--line-height-base)}.talent-roll-compact{font-weight:var(--font-weight-bold);color:var(--color-accent-base);min-width:24px;text-align:center}.talent-text-compact{flex:1}.talent-level-row-compact{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-2);margin-bottom:var(--spacing-2);background:var(--color-bg-dark);border-radius:var(--radius-sm);border-left:2px solid var(--color-bg-elevated)}.talent-level-row-compact:last-child{margin-bottom:0}.talent-level-compact{font-weight:var(--font-weight-bold);color:var(--color-text-secondary);font-size:var(--font-size-xs)}.versatile-indicator-compact{font-size:var(--font-size-xs);color:var(--color-accent-base);font-weight:var(--font-weight-normal)}.talent-content-compact,.talents-list-compact{display:flex;flex-direction:column;gap:var(--spacing-1)}.talent-result-compact{font-size:var(--font-size-xs);color:var(--color-text-lighter);line-height:var(--line-height-base)}.talent-roll-btn-compact{background:var(--color-accent-base);color:var(--color-text-primary);border:none;padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);align-self:flex-start}.talent-roll-btn-compact:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.advancement-boxes{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4);margin-top:var(--spacing-5)}.advancement-box{padding:var(--spacing-5);background:var(--color-bg-dark);border-radius:var(--radius-sm);border:var(--border-width-base) solid var(--color-border-base);transition:all .3s ease;opacity:.5}.advancement-box.unlocked{opacity:1;background:var(--color-bg-elevated);border-color:#d4a017;box-shadow:0 0 20px #d4a0174d}.advancement-box-title{margin:0 0 var(--spacing-3) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-lighter);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.advancement-box.unlocked .advancement-box-title{color:#d4a017}.advancement-box-description{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:var(--line-height-base)}.advancement-box.unlocked .advancement-box-description{color:var(--color-text-base)}@media(max-width:768px){.talents-two-column,.advancement-boxes{grid-template-columns:1fr}}.talent-attribute-selection{margin-top:var(--spacing-6);margin-bottom:var(--spacing-8);padding:var(--spacing-7);background:var(--color-bg-darkest);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-none)}.selection-heading{font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis);margin:0 0 var(--spacing-5) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.talent-preview{color:var(--color-text-secondary);font-size:var(--font-size-base);margin:0 0 var(--spacing-6) 0;padding:var(--spacing-5);background:var(--color-bg-base);border-left:var(--border-width-thick) solid var(--color-border-lighter);font-style:italic}.selection-instruction{color:var(--color-text-lighter);font-size:var(--font-size-base);margin:0 0 var(--spacing-6) 0;font-weight:var(--font-weight-medium)}.attribute-selection-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-5);margin-bottom:var(--spacing-7)}.attribute-select-btn{padding:var(--spacing-4) var(--spacing-7);background:var(--color-bg-base);color:var(--color-text-secondary);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-none);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.attribute-select-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-border-lighter);color:var(--color-text-lighter);transform:translateY(-2px)}.attribute-select-btn.selected{background:var(--color-border-base);border-color:var(--color-text-secondary);color:var(--color-text-primary);box-shadow:0 0 10px #8888884d}.selection-actions{display:flex;gap:var(--spacing-5)}.confirm-selection-btn,.cancel-selection-btn{padding:var(--spacing-4) var(--spacing-8);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-none);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.confirm-selection-btn{background:var(--color-bg-elevated);color:var(--color-text-lighter)}.confirm-selection-btn:hover:not(:disabled){background:var(--color-border-base);border-color:var(--color-border-lighter);color:var(--color-text-primary);transform:translateY(-2px)}.confirm-selection-btn:disabled{background:var(--color-bg-base);border-color:var(--color-bg-elevated);color:var(--color-border-base);cursor:not-allowed;opacity:.5}.cancel-selection-btn{background:var(--color-bg-darkest);color:var(--color-text-secondary)}.cancel-selection-btn:hover{background:var(--color-bg-elevated);border-color:var(--color-border-lighter);color:var(--color-text-lighter);transform:translateY(-2px)}.talent-inline-selection{margin-top:var(--spacing-5);margin-bottom:var(--spacing-6);padding:var(--spacing-6);background:var(--color-bg-darkest);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-sm);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.talent-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-4);border-bottom:var(--border-width-base) solid var(--color-border-dark)}.talent-selection-header strong{font-size:var(--font-size-lg);color:var(--color-text-emphasis);font-weight:var(--font-weight-semibold)}.talent-selection-close{background:transparent;border:none;color:var(--color-text-secondary);font-size:24px;line-height:1;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:var(--transition-all);border-radius:var(--radius-sm)}.talent-selection-close:hover{background:var(--color-bg-elevated);color:var(--color-text-lighter)}.talent-selection-instruction{color:var(--color-text-lighter);font-size:var(--font-size-base);margin:0 0 var(--spacing-5) 0;line-height:1.5}.talent-selection-options{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-6);max-height:400px;overflow-y:auto}.talent-selection-options::-webkit-scrollbar{width:8px}.talent-selection-options::-webkit-scrollbar-track{background:var(--color-bg-base);border-radius:var(--radius-sm)}.talent-selection-options::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--radius-sm)}.talent-selection-option{padding:var(--spacing-4) var(--spacing-5);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-all);font-size:var(--font-size-base);color:var(--color-text-secondary);display:flex;align-items:center;gap:var(--spacing-3)}.talent-selection-option:hover{background:var(--color-bg-elevated);border-color:var(--color-border-lighter);color:var(--color-text-lighter)}.talent-selection-option.selected{background:var(--color-bg-elevated);border-color:var(--color-accent-light);color:var(--color-text-emphasis);box-shadow:0 0 10px #d4a01733}.talent-selection-option .checkmark{color:var(--color-accent-light);font-weight:var(--font-weight-bold)}.talent-selection-option.disabled{opacity:.5;cursor:not-allowed}.talent-selection-option.disabled:hover{background:var(--color-bg-base);border-color:var(--color-border-dark);color:var(--color-text-secondary);transform:none}.talent-selection-note{margin-top:12px;opacity:.7;font-size:12px}.talent-option-detail{margin-top:4px;font-size:13px;opacity:.9}.talent-selection-actions{display:flex;gap:var(--spacing-4);justify-content:flex-end}.talent-selection-confirm,.talent-selection-cancel,.talent-selection-back{padding:var(--spacing-3) var(--spacing-6);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.talent-selection-confirm{background:var(--color-bg-elevated);color:var(--color-text-lighter);border-color:var(--color-border-lighter)}.talent-selection-confirm:hover:not(:disabled){background:var(--color-accent-light);color:var(--color-bg-darkest);border-color:var(--color-accent-light);transform:translateY(-2px);box-shadow:0 4px 12px #d4a0174d}.talent-selection-confirm:disabled{background:var(--color-bg-base);border-color:var(--color-border-dark);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.5}.talent-selection-cancel,.talent-selection-back{background:var(--color-bg-dark);color:var(--color-text-secondary)}.talent-selection-cancel:hover,.talent-selection-back:hover{background:var(--color-bg-elevated);border-color:var(--color-border-lighter);color:var(--color-text-lighter);transform:translateY(-2px)}.languages-display{display:flex;flex-wrap:wrap;gap:var(--spacing-3);margin-bottom:var(--spacing-6)}.language-item{background:#0a0a1a;color:var(--color-text-tertiary);padding:var(--spacing-2) var(--spacing-5);border-radius:var(--radius-none);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);border:var(--border-width-base) solid var(--color-border-dark)}.language-choice-section{margin-top:var(--spacing-7);padding:var(--spacing-6);background:var(--color-bg-dark);border:var(--border-width-thin) solid var(--color-bg-elevated);border-radius:var(--radius-none)}.language-choice-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-lighter);margin:0 0 var(--spacing-5) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.language-choice-count{color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.language-choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-3)}.language-choice-btn{padding:var(--spacing-4) var(--spacing-6);background:var(--color-bg-base);color:var(--color-text-secondary);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-none);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-align:left}.language-choice-btn:hover:not(:disabled){background:var(--color-bg-elevated);border-color:var(--color-border-lighter);color:var(--color-text-lighter);transform:translateY(-2px)}.language-choice-btn.selected{background:var(--color-border-base);border-color:var(--color-text-secondary);color:var(--color-text-primary);box-shadow:0 0 10px #8888884d}.language-choice-btn:disabled{opacity:.3;cursor:not-allowed}.language-choice-btn .checkmark{margin-left:var(--spacing-2);color:var(--color-text-secondary)}.skald-songs-container{position:relative;display:flex;flex-direction:column;gap:var(--spacing-6);background:var(--color-bg-dark);padding:var(--spacing-4);border-radius:var(--radius-base)}.songs-two-column{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4)}.songs-column{display:flex;flex-direction:column;gap:var(--spacing-3)}.songs-column-header{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--letter-spacing-base);padding:var(--spacing-2) var(--spacing-3);margin:0;border-radius:var(--radius-sm)}.dirge-header{background:#1a0505;color:#c33;border-left:3px solid #600}.anthem-header{background:#1a1a05;color:var(--color-gold);border-left:3px solid #660}.songs-column-list{display:flex;flex-direction:column;gap:var(--spacing-2)}.songs-column-empty{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic;padding:var(--spacing-3);text-align:center}.song-item-compact{position:relative;padding:var(--spacing-3);background:var(--color-bg-base);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.song-item-compact.dirge{border-left:2px solid var(--color-danger-dark)}.song-item-compact.anthem{border-left:2px solid var(--color-gold)}.song-compact-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.song-compact-name{margin:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis);line-height:1.3;flex:1}.song-compact-cog{background:transparent;border:none;font-size:var(--font-size-sm);cursor:pointer;padding:0;opacity:.6;transition:var(--transition-all)}.song-compact-cog:hover{opacity:1}.song-compact-range{margin:0 0 var(--spacing-1) 0;color:var(--color-text-secondary);font-size:var(--font-size-xs)}.song-compact-range strong{color:var(--color-text-lighter)}.song-range-bonus{color:#4a9eff;margin-left:var(--spacing-1)}.song-compact-effect{margin:0;color:var(--color-text-lighter);font-size:var(--font-size-xs);line-height:1.4}.song-capstone-badge{display:inline-block;margin-top:var(--spacing-2);font-size:10px;color:var(--color-gold);font-weight:var(--font-weight-semibold)}.song-generation{padding:var(--spacing-6);background:var(--color-bg-dark);border:var(--border-width-thin) solid var(--color-bg-elevated);border-radius:var(--radius-none)}.song-generation-hint{margin:0 0 var(--spacing-5) 0;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.song-generation-buttons{display:flex;gap:var(--spacing-5);flex-wrap:wrap}.generate-song-btn{padding:var(--spacing-5) var(--spacing-8);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-none);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);flex:1;min-width:200px}.dirge-btn{background:#1a0505;color:#c33;border-color:#600}.dirge-btn:hover{background:#2a0505;border-color:#900;color:#f44;transform:translateY(-2px)}.anthem-btn{background:#1a1a05;color:var(--color-gold);border-color:#660}.anthem-btn:hover{background:#2a2a05;border-color:#990;color:#fc6;transform:translateY(-2px)}.songs-list{display:flex;flex-direction:column;gap:var(--spacing-6)}.song-item{padding:var(--spacing-6);background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-none);min-height:180px;display:flex;flex-direction:column;position:relative}.song-item.dirge{border-left:var(--spacing-1) solid var(--color-danger-dark)}.song-item.anthem{border-left:var(--spacing-1) solid var(--color-gold)}.song-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-5);padding-bottom:var(--spacing-3);border-bottom:var(--border-width-thin) solid var(--color-bg-elevated)}.song-name{margin:0;font-size:16px;font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.song-type-badge{padding:var(--spacing-1) var(--spacing-5);background:var(--color-bg-darkest);border:var(--border-width-thin) solid var(--color-border-base);border-radius:var(--radius-none);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.song-details{margin-bottom:var(--spacing-5)}.song-details p{margin:var(--spacing-2) 0;font-size:var(--font-size-md);color:var(--color-text-lighter);line-height:var(--line-height-base)}.song-range{color:var(--color-text-secondary);font-size:var(--font-size-sm)!important;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.song-effect{color:var(--color-text-lighter)!important}.capstone-indicator{color:var(--color-gold)!important;font-weight:var(--font-weight-semibold);font-style:italic}.song-menu-container{position:absolute;bottom:var(--spacing-5);right:var(--spacing-5)}.song-cog-btn{background:var(--color-bg-elevated);color:var(--color-text-lighter);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-none);font-size:var(--font-size-2xl);width:36px;height:36px;cursor:pointer;transition:var(--transition-all);display:flex;align-items:center;justify-content:center;padding:0}.song-cog-btn:hover{background:var(--color-border-base);border-color:var(--color-border-lighter);transform:rotate(90deg)}.song-menu-dropdown{position:absolute;bottom:42px;right:0;background:var(--color-bg-darkest);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-none);min-width:150px;box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);display:flex;flex-direction:column}.song-menu-item{padding:var(--spacing-4) var(--spacing-6);background:var(--color-bg-darkest);color:var(--color-text-lighter);border:none;border-bottom:var(--border-width-thin) solid var(--color-border-darkest);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-align:left;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.song-menu-item:last-child{border-bottom:none}.song-menu-item:hover{background:var(--color-bg-elevated);color:var(--color-text-primary)}.song-menu-item-danger{color:var(--color-danger-light)}.song-menu-item-danger:hover{background:#1a0a0a;color:#f88}.remove-song-btn:hover{background:#2a0a0a;border-color:#844;color:var(--color-danger-text);transform:translateY(-2px)}.slot-with-lock{position:relative}.lock-btn{position:absolute;top:8px;right:8px;background:transparent;border:none;font-size:var(--font-size-lg);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-base);transition:var(--transition-all);opacity:.6;z-index:10}.lock-btn:hover{opacity:1;background:var(--color-bg-elevated);transform:scale(1.1)}.lock-btn.locked{opacity:1;color:var(--color-warning-base)}.lock-btn.locked:hover{background:var(--color-warning-base);color:var(--color-bg-darkest)}.learned-skills-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.learned-skill-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-3) var(--spacing-4);background:var(--color-bg-dark);border:var(--border-width-thin) solid var(--color-border-dark);border-radius:var(--radius-base)}.learned-skill-info{display:flex;flex-direction:column;gap:var(--spacing-1)}.learned-skill-name{font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis)}.learned-skill-xp{font-size:var(--font-size-sm);color:var(--color-warning-base)}.learned-skill-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:var(--spacing-2) 0 0 0;line-height:1.4}.remove-skill-btn{background:transparent;border:var(--border-width-thin) solid var(--color-error-base);color:var(--color-error-base);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-base);font-size:var(--font-size-sm);cursor:pointer;transition:var(--transition-all)}.remove-skill-btn:hover{background:var(--color-error-base);color:var(--color-bg-darkest)}.skills-section{margin-top:var(--spacing-6)}.skills-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.skills-header-row .section-heading{margin:0}.skills-minimized{padding:var(--spacing-4);background:var(--color-bg-elevated);border-radius:var(--radius-base);font-size:var(--font-size-sm);color:var(--color-text-lighter);display:flex;flex-wrap:wrap;gap:var(--spacing-2)}.skill-minimized-name{background:var(--color-bg-base);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-sm);border:1px solid var(--color-border-dark)}.skills-table{display:flex;flex-direction:column;gap:var(--spacing-3);margin-top:var(--spacing-4)}.skills-table-header{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis);margin-bottom:var(--spacing-2)}.skill-table-item{position:relative;padding:var(--spacing-4);background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-border-dark);border-left:3px solid var(--color-warning-base);border-radius:var(--radius-base)}.skill-table-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-2)}.skill-table-item-name{font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis)}.skill-selection-detail{font-weight:var(--font-weight-normal);color:var(--color-primary-base)}.skill-table-item-xp{font-size:var(--font-size-sm);color:var(--color-warning-base);margin-left:var(--spacing-2)}.skill-table-item-description{font-size:var(--font-size-sm);color:var(--color-text-tertiary);line-height:1.4;margin:0}.skill-cog-btn{position:absolute;bottom:var(--spacing-2);right:var(--spacing-2);padding:var(--spacing-1);background:transparent;border:none;color:var(--color-accent-base);font-size:var(--font-size-sm);cursor:pointer;opacity:.7;transition:var(--transition-all)}.skill-cog-btn:hover{opacity:1}.skill-cog-menu{position:absolute;right:var(--spacing-2);bottom:calc(var(--spacing-2) + 24px);background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-accent-dim);border-radius:var(--radius-base);padding:var(--spacing-1);z-index:1000;min-width:120px}.skill-cog-menu-btn{width:100%;padding:var(--spacing-2) var(--spacing-3);background:transparent;border:none;color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;text-align:left;transition:var(--transition-all)}.skill-cog-menu-btn:hover{background:var(--color-bg-dark)}.learned-proficiencies-section{margin-top:var(--spacing-4);padding:var(--spacing-3);background:var(--color-bg-dark);border-radius:var(--radius-base)}.proficiency-heading{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--spacing-2) 0;text-transform:uppercase;letter-spacing:.5px}.proficiency-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-2);padding:var(--spacing-2);background:var(--color-bg-base);border-radius:var(--radius-sm);margin-bottom:var(--spacing-1)}.proficiency-item:last-child{margin-bottom:0}.proficiency-name{font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis)}.proficiency-damage,.proficiency-ac{font-weight:var(--font-weight-bold);color:var(--color-warning-base);font-size:var(--font-size-sm)}.proficiency-notes{font-size:var(--font-size-xs);color:var(--color-primary-base);font-style:italic}.proficiency-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);width:100%}.equipped-feats-display{margin-top:var(--spacing-4)}.feats-slots-display{display:flex;flex-direction:column;gap:var(--spacing-1)}.feat-display-item{display:flex;align-items:center;gap:var(--spacing-2)}.feat-display-icon{font-size:var(--font-size-sm)}@keyframes shake{0%,to{transform:translate(-50%) translate(0)}10%,30%,50%,70%,90%{transform:translate(-50%) translate(-5px)}20%,40%,60%,80%{transform:translate(-50%) translate(5px)}}.languages-section{margin-top:var(--spacing-4);padding:var(--spacing-3);background:var(--color-bg-dark);border-radius:var(--radius-base)}.language-choice-btn-compact{padding:var(--spacing-1) var(--spacing-3);background:#2a2a4a;border:var(--border-width-thin) solid #4a4a8a;border-radius:var(--radius-sm);color:var(--color-text-lighter);font-size:var(--font-size-xs);cursor:pointer;transition:var(--transition-all)}.language-choice-btn-compact:hover{background:#3a3a5a;border-color:#6a6a9a}.attribute-guide{margin-top:var(--spacing-3);padding:var(--spacing-3);background:#1a1a0a;border-left:var(--spacing-1) solid var(--color-warning-base);border-radius:var(--radius-sm)}.attribute-guide p{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-xs);color:var(--color-warning-light);line-height:var(--line-height-base)}.attribute-guide p:last-child{margin-bottom:0}.attribute-guide strong{font-weight:var(--font-weight-bold)}.ironbound-container,.warden-container{padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.class-manager-section{margin-bottom:16px}.class-manager-checkbox-label{display:flex;align-items:center;gap:8px}.class-manager-label-text{font-size:14px;font-weight:600;color:#ccc}.class-manager-description{font-size:12px;color:#888;margin-top:4px;margin-left:28px}.class-manager-field-label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:#ccc}.class-manager-select{width:100%;padding:10px;background:#2a2a2a;border:1px solid #4a4a4a;border-radius:6px;color:#fff;font-size:14px;cursor:pointer}.class-manager-hint{font-size:12px;color:#888;margin-top:8px}.class-manager-info-box{margin-top:12px;padding:12px;background:#2a2a2a;border-radius:6px;border:1px solid #4a4a4a}.class-manager-info-title{font-size:13px;font-weight:600}.class-manager-info-title.gorm{color:#4a9e4a}.class-manager-info-title.moradin{color:#e74c3c}.class-manager-info-title.duerra{color:#9b59b6}.class-manager-info-list{font-size:12px;color:#ccc;margin-top:6px;line-height:1.5;padding-left:20px}.spirit-name-section{margin-bottom:16px}.spirit-name-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:6px}.spirit-name-input{width:100%;padding:10px;background:#2a2a2a;border:1px solid #4a4a4a;border-radius:6px;color:#9b9bff;font-size:14px;font-style:italic}.spirit-current-name{font-size:12px;color:#9b9bff;font-style:italic}.spirit-ability-desc{font-size:13px;line-height:1.8}.spirit-ability-usage{font-size:11px;opacity:.7;margin-left:4px}.spirit-capstone-badge{color:gold;margin-left:4px}.spirit-ability-last{margin-bottom:0}.class-feature-list{display:flex;flex-direction:column;gap:12px}.class-feature-card{background:#2a2a2a;border:1px solid #4a4a4a;border-radius:6px;padding:14px;transition:all .2s ease}.class-feature-card:hover{border-color:#5a5a5a;box-shadow:0 2px 8px #0000004d}.class-feature-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #3a3a3a}.class-feature-name{margin:0;font-size:15px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.class-feature-description{font-size:13px;line-height:1.6;color:#ccc;margin:0}.class-feature-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;padding:10px;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;margin-top:10px;font-size:13px}.class-feature-stat{color:#ccc}.class-feature-stat strong{color:#4a90e2;margin-right:6px}.class-action-btn{width:100%;padding:12px;background:#4a90e2;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.class-action-btn:hover{background:#5aa0f2;transform:translateY(-1px);box-shadow:0 4px 8px #4a90e24d}.class-action-btn:active{transform:translateY(0)}.class-secondary-btn{width:100%;padding:10px;background:#2a2a2a;color:#ccc;border:1px solid #4a4a4a;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.class-secondary-btn:hover{background:#3a3a3a;border-color:#5a5a5a;color:#fff}.class-info-box{padding:12px;background:#2a2a2a;border:1px solid #4a4a4a;border-radius:6px;margin-bottom:12px;font-size:13px;color:#ccc;line-height:1.6}.class-info-title{font-size:14px;font-weight:700;color:#4a90e2;margin-bottom:8px}.class-hint-box{padding:10px 12px;background:#2a2a1a;border:1px solid #4a4a2a;border-radius:4px;margin-top:8px;font-size:12px;color:#ccc;font-style:italic;text-align:center}.class-meter-display{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:#2a2a2a;border:1px solid #4a4a4a;border-radius:6px;margin-bottom:12px;font-size:14px;font-weight:600;color:#fff}.class-meter-boxes{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.class-meter-box{width:24px;height:24px;border-radius:4px;border:2px solid #4a90e2;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:600;transition:all .2s ease}.class-meter-box.filled{background:#4a90e2}.class-meter-box:hover{transform:scale(1.1)}.class-section-toggle{width:100%;padding:10px 12px;background:#2a2a2a;border:1px solid #4a4a4a;border-radius:6px;color:#ccc;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px;text-align:left}.class-section-toggle:hover{background:#3a3a3a;border-color:#5a5a5a}.class-cog-btn{background:transparent;border:none;color:#888;font-size:14px;cursor:pointer;padding:4px;transition:all .2s ease;position:relative;z-index:10}.class-cog-btn:hover{color:#aaa;transform:rotate(45deg)}.class-cog-menu{position:absolute;right:8px;top:calc(100% + 2px);background:#2a2a2a;border:1px solid #4a4a4a;border-radius:4px;padding:4px;z-index:1001;box-shadow:0 4px 8px #0000004d;min-width:120px}.class-cog-menu-item{width:100%;background:transparent;border:none;color:#ccc;padding:8px 12px;text-align:left;cursor:pointer;font-size:12px;border-radius:3px;transition:background .2s ease}.class-cog-menu-item:hover{background:#3a3a4a}.class-cog-menu-item.delete{color:#ff6b6b}.class-cog-menu-item.delete:hover{background:#3a2a2a}.class-checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#ccc;font-weight:600}.class-checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.potion-meter-header{display:flex;justify-content:space-between;align-items:center}.potion-duration-info{font-size:12px;color:#9b59b6;margin-left:24px}.progression-container{margin-bottom:12px}.progression-content{margin-top:8px;padding:12px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px}.progression-form-entry{margin-bottom:12px;padding:10px;background:#0f0f0f;border:1px solid #333;border-radius:4px}.progression-form-name{font-size:14px;font-weight:600;color:#9b59b6;margin-bottom:8px}.progression-levels-list{display:flex;flex-direction:column;gap:4px}.progression-level-item{font-size:12px;padding-left:8px}.progression-level-item.active{color:#ccc;border-left:2px solid #9b59b6}.progression-level-item.inactive{color:#666;border-left:2px solid #333}.progression-level-label{font-weight:600;color:#d4a017;margin-right:4px}.progression-level-label.inactive{color:#555}.missing-feature-btn{width:100%;padding:10px;margin-bottom:12px;background:#d4a017;color:#000;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.missing-feature-btn:hover{background:#e4b027;transform:translateY(-1px)}.active-state-box{padding:12px;background:#1a1a2a;border:1px solid #4a3a6a;margin-bottom:12px;border-radius:6px;min-height:80px}.active-state-box h4{margin:0 0 10px;color:#9b59b6;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.active-state-inactive{background:#1a1a1a;border-color:#3a3a3a;opacity:.7}.active-state-detail{padding:8px;background:#0f0f0f;border-left:3px solid #9b59b6;margin-bottom:6px;font-size:13px;color:#ccc}.active-state-detail strong{color:#9b59b6;margin-right:6px}.special-abilities-box{margin-top:12px;padding:12px;background:#1a2a1a;border:1px solid #2a4a2a;border-radius:6px}.special-abilities-title{margin-bottom:8px;color:#4a9e4a;font-size:14px;font-weight:700}.special-abilities-list{display:flex;flex-direction:column;gap:6px}.special-ability-item{padding:6px 8px;background:#0f1a0f;border:1px solid #2a3a2a;border-radius:4px;font-size:13px;color:#ccc}.special-ability-level{color:#4a9e4a;font-weight:600;margin-right:6px}.feature-table-container{margin-top:12px;padding:16px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px}.feature-table-title{margin-bottom:12px;color:#ccc;font-size:15px;font-weight:700}.feature-table-list{display:flex;flex-direction:column;gap:8px}.feature-table-entry{padding:8px 12px;background:#0f0f0f;border:1px solid #333;border-radius:4px;font-size:13px;color:#ccc}.feature-table-entry strong{color:#9b59b6;margin-right:8px}.feature-table-entry-name{font-weight:600;margin-right:6px;color:#fff}.feature-table-entry-effect{color:#888}.heritage-abilities-container{padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.heritage-ability-item{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--spacing-2);padding:var(--spacing-3) 0;border-bottom:var(--border-width-thin) solid var(--color-border-darkest);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);position:relative}.heritage-ability-item:last-child{border-bottom:none;padding-bottom:0}.heritage-ability-level{font-weight:var(--font-weight-bold);color:var(--color-success-base);width:100%;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--spacing-1)}.heritage-ability-text{color:var(--color-text-lighter);flex:1}.heritage-ability-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-success-base);flex-shrink:0}.feats-container{padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.no-feats-message{color:var(--color-text-tertiary);font-style:italic;font-size:var(--font-size-sm);padding:var(--spacing-3) 0}.feat-item{display:flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-2);background:var(--color-bg-base);border-radius:var(--radius-sm);margin-bottom:var(--spacing-1)}.feat-item:last-child{margin-bottom:0}.feat-icon{font-size:var(--font-size-lg);flex-shrink:0}.feat-name{font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis);flex:1;transition:var(--transition-all)}.feat-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-accent-base);flex-shrink:0;margin-left:auto}.learned-skills-container{padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.no-skills-message{color:var(--color-text-tertiary);font-style:italic;font-size:var(--font-size-sm);padding:var(--spacing-3) 0}.skill-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--spacing-2);padding:var(--spacing-2);background:var(--color-bg-base);border-radius:var(--radius-sm);margin-bottom:var(--spacing-1)}.skill-item:last-child{margin-bottom:0}.skill-name{font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis)}.skill-damage,.skill-ac{font-weight:var(--font-weight-bold);color:var(--color-warning-base);font-size:var(--font-size-sm)}.skill-notes{font-size:var(--font-size-xs);color:var(--color-primary-base);font-style:italic}.skill-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary);width:100%}.learned-utility-skills,.learned-weapons,.learned-armour{margin-bottom:var(--spacing-3)}.learned-utility-skills:last-child,.learned-weapons:last-child,.learned-armour:last-child{margin-bottom:0}.languages-container{padding:var(--spacing-4);background:var(--color-bg-dark);border-radius:var(--radius-base)}.known-languages{display:flex;flex-wrap:wrap;gap:var(--spacing-2);margin-bottom:var(--spacing-3)}.language-tag{display:inline-block;padding:var(--spacing-1) var(--spacing-3);background:var(--color-bg-base);border:var(--border-width-thin) solid var(--color-border-dark);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-lighter)}.language-choices-subsection{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-2);padding-top:var(--spacing-2);border-top:var(--border-width-thin) solid var(--color-border-darkest)}.choices-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-right:var(--spacing-1)}.language-choice-btn-compact{padding:var(--spacing-1) var(--spacing-3);background:var(--color-bg-elevated);border:var(--border-width-thin) solid var(--color-border-base);border-radius:var(--radius-sm);color:var(--color-text-lighter);font-size:var(--font-size-xs);cursor:pointer;transition:var(--transition-all)}.language-choice-btn-compact:hover{background:var(--color-bg-hover);border-color:var(--color-border-lighter)}.dice-roller-container{background:#1a1a1a;border:2px solid #444;border-radius:8px;padding:16px;box-shadow:0 2px 8px #0000004d}.dice-icons-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.dice-icon-btn{position:relative;height:48px;background:#222;border:2px solid #555;border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;padding:0;overflow:hidden}.dice-icon-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0006;filter:brightness(1.2)}.dice-icon-btn:active:not(:disabled){transform:translateY(0)}.dice-icon-btn:disabled{opacity:.4;cursor:not-allowed}.dice-icon-label{font-size:16px;font-weight:700;letter-spacing:.5px;color:#888}.dice-count-badge{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:#666;color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0006;animation:popBadge .2s ease-out}@keyframes popBadge{0%{transform:scale(0)}to{transform:scale(1)}}.dice-stack-area{min-height:60px;background:#0000004d;border:2px dashed #444;border-radius:6px;padding:8px;margin-bottom:12px}.stack-empty-message{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#666;gap:6px;padding:12px 0;font-size:13px;font-weight:500}.stack-empty-message .dice-icon{font-size:24px;opacity:.5;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dice-stack-list{display:flex;flex-wrap:wrap;gap:6px}.stacked-die{display:flex;align-items:center;gap:6px;background:#222;border:2px solid #555;border-radius:6px;padding:6px 10px;animation:slideIn .2s ease-out}@keyframes slideIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.stacked-die-label{font-size:14px;font-weight:700;letter-spacing:.5px;color:#888}.remove-die-btn{width:18px;height:18px;background:#64646433;border:1px solid #666;border-radius:50%;color:#888;font-size:11px;font-weight:900;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.remove-die-btn:hover:not(:disabled){background:#666;color:#fff;transform:scale(1.1)}.remove-die-btn:disabled{opacity:.3;cursor:not-allowed}.dice-modifier-row{display:flex;align-items:center;gap:8px;margin-bottom:12px}.dice-label{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;min-width:60px}.dice-number-input{display:flex;gap:2px;height:32px;flex:1}.dice-number-btn{width:32px;height:32px;background:#2a2a2a;border:1px solid #444;border-radius:4px;color:#e0e0e0;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.dice-number-btn:hover:not(:disabled){background:#333;border-color:#666;color:#fff}.dice-number-btn:active:not(:disabled){transform:scale(.95)}.dice-number-btn:disabled{opacity:.4;cursor:not-allowed}.dice-number-display{flex:1;height:32px;background:#1a1a1a;border:1px solid #444;border-radius:4px;color:#e0e0e0;font-size:14px;font-weight:600;text-align:center;padding:0 8px;-moz-appearance:textfield}.dice-number-display::-webkit-outer-spin-button,.dice-number-display::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.dice-number-display:focus{outline:none;border-color:#666;box-shadow:0 0 0 2px #64646433}.dice-action-buttons{display:flex;gap:8px;margin-bottom:16px}.dice-clear-btn{flex:0 0 80px;height:40px;background:#2a2a2a;border:2px solid #444;border-radius:6px;color:#e0e0e0;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease}.dice-clear-btn:hover:not(:disabled){background:#555;border-color:#666;color:#fff}.dice-clear-btn:disabled{opacity:.3;cursor:not-allowed}.dice-roll-btn{flex:1;height:40px;background:#444;border:2px solid #555;border-radius:6px;color:#fff;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000004d}.dice-roll-btn:hover:not(:disabled){background:#555;transform:translateY(-2px);box-shadow:0 4px 12px #0006}.dice-roll-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #0000004d}.dice-roll-btn.rolling{animation:pulse 1s ease-in-out infinite}.dice-roll-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.dice-display{min-height:140px;background:#0000004d;border:2px dashed #444;border-radius:6px;padding:16px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;position:relative}.dice-animation{display:flex;align-items:center;justify-content:center}.dice{width:60px;height:60px;position:relative;transform-style:preserve-3d}.dice.rolling{animation:rollDice 1s ease-in-out infinite}.dice-face{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700;color:#fff;background:#555;border-radius:8px;box-shadow:0 4px 12px #0006,inset 0 -2px 4px #0000004d}@keyframes rollDice{0%{transform:rotateX(0) rotateY(0) rotate(0)}25%{transform:rotateX(180deg) rotateY(90deg) rotate(45deg)}50%{transform:rotateX(360deg) rotateY(180deg) rotate(90deg)}75%{transform:rotateX(540deg) rotateY(270deg) rotate(135deg)}to{transform:rotateX(720deg) rotateY(360deg) rotate(180deg)}}.dice-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#666;gap:8px}.placeholder-text{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px;font-weight:500;text-align:center}.dice-icon{font-size:32px;opacity:.5}.dice-result-panel{margin-bottom:12px;background:#0000004d;border:2px dashed #444;border-radius:6px;padding:16px}.dice-result{display:flex;flex-direction:column;gap:12px;width:100%;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.result-main{display:flex;flex-direction:column;align-items:center;gap:4px}.result-total{font-size:48px;font-weight:900;color:#fff;text-shadow:0 0 20px rgba(255,255,255,.3),0 2px 4px rgba(0,0,0,.5);animation:scaleIn .3s ease-out}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.result-notation{font-size:13px;font-weight:600;color:#999;letter-spacing:.5px}.result-groups{display:flex;flex-direction:column;gap:10px}.result-group{background:#0000004d;border:1px solid #333;border-radius:6px;padding:8px 12px;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.result-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #444}.result-group-label{font-size:13px;font-weight:700;letter-spacing:.5px;color:#888}.result-group-total{font-size:16px;font-weight:900;color:#aaa}.result-group-rolls{display:flex;flex-wrap:wrap;gap:6px}.result-roll-pip{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#2a2a2a;border:2px solid #555;border-radius:6px;color:#e0e0e0;font-size:13px;font-weight:700;padding:0 6px;animation:popIn .2s ease-out;animation-fill-mode:backwards}.result-roll-pip:nth-child(1){animation-delay:.05s}.result-roll-pip:nth-child(2){animation-delay:.1s}.result-roll-pip:nth-child(3){animation-delay:.15s}.result-roll-pip:nth-child(4){animation-delay:.2s}.result-roll-pip:nth-child(5){animation-delay:.25s}.result-roll-pip:nth-child(6){animation-delay:.3s}.result-roll-pip:nth-child(7){animation-delay:.35s}.result-roll-pip:nth-child(8){animation-delay:.4s}@keyframes popIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.result-roll-pip.max-roll{background:#2a2a1a;border:2px solid #FFD700;color:gold;box-shadow:0 0 20px #ffd70099;animation:goldGlow 2s ease-in-out infinite}@keyframes goldGlow{0%,to{box-shadow:0 0 15px #ffd70080}50%{box-shadow:0 0 25px #ffd700cc}}.result-roll-pip.min-roll{background:#2a1a1a;border:2px solid #FF0000;color:#f66;box-shadow:0 0 20px #f009;animation:redGlow 3s ease-in-out infinite}@keyframes redGlow{0%,to{box-shadow:0 0 15px #ff000080}50%{box-shadow:0 0 25px #f00c}}.result-modifier-display{text-align:center;font-size:13px;font-weight:600;color:#888;padding:6px 12px;background:#6464641a;border:1px solid #555;border-radius:6px}.dice-history-section{border-top:1px solid #444;padding-top:12px}.history-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.history-toggle-btn{background:transparent;border:none;color:#888;font-size:12px;font-weight:600;cursor:pointer;padding:4px 0;transition:color .2s ease}.history-toggle-btn:hover{color:#aaa}.history-clear-btn{width:20px;height:20px;background:transparent;border:1px solid #444;border-radius:4px;color:#888;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.history-clear-btn:hover{background:#555;border-color:#666;color:#fff}.dice-history{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;padding-right:4px}.dice-history::-webkit-scrollbar{width:4px}.dice-history::-webkit-scrollbar-track{background:#0003;border-radius:2px}.dice-history::-webkit-scrollbar-thumb{background:#444;border-radius:2px}.dice-history::-webkit-scrollbar-thumb:hover{background:#666}.history-item{display:flex;align-items:center;gap:8px;background:#0003;border:1px solid #333;border-radius:4px;padding:6px 10px;font-size:11px;animation:slideIn .2s ease-out}.history-notation{font-weight:600;color:#888;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-arrow{color:#666;font-size:10px}.history-total{font-weight:700;color:#aaa;min-width:32px;text-align:center}.history-time{margin-left:auto;font-size:10px;color:#666}.history-show-more-btn{width:100%;margin-top:8px;padding:6px 12px;background:#6464641a;border:1px solid #444;border-radius:4px;color:#888;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.history-show-more-btn:hover{background:#64646433;border-color:#666;color:#aaa}.draggable-card{background:var(--color-bg-base);border:var(--border-width-base) solid var(--color-border-dark);border-radius:var(--radius-none);padding:var(--spacing-6);margin-bottom:var(--spacing-5);cursor:move;transition:var(--transition-all);box-shadow:0 2px 8px #0009;touch-action:none;-webkit-user-select:none;user-select:none}.draggable-card:hover{border-color:var(--color-border-lighter);box-shadow:var(--shadow-lg);transform:translateY(-2px);background:var(--color-border-darkest)}.draggable-card.dragging{opacity:.5;cursor:grabbing}.card-header{display:flex;align-items:center;margin-bottom:var(--spacing-3)}.card-image{width:60px;height:60px;border-radius:var(--radius-none);margin-right:var(--spacing-5);background:var(--color-bg-darkest);border:var(--border-width-thin) solid var(--color-border-base);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xl)}.card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.card-description{color:var(--color-text-light);font-size:var(--font-size-base);line-height:1.4;margin:var(--spacing-3) 0}.card-mechanics{background:var(--color-bg-dark);padding:var(--spacing-3);border-radius:var(--radius-none);margin-top:var(--spacing-3);border:var(--border-width-thin) solid var(--color-bg-elevated)}.card-mechanics-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin:0 0 var(--spacing-1) 0;text-transform:uppercase;letter-spacing:var(--letter-spacing-base)}.card-mechanics-text{font-size:var(--font-size-md);color:var(--color-text-light);margin:0 0 var(--spacing-2) 0;display:block}.card-mechanics-text:last-child{margin-bottom:0}.draggable-card.usable{border-color:var(--color-success-light);box-shadow:var(--glow-success)}.draggable-card.usable:hover{border-color:var(--color-success-bright);box-shadow:0 0 12px #4caf5080}.draggable-card.unusable{opacity:.5;border-color:var(--color-border-light)}.draggable-card.unusable:hover{opacity:.6;border-color:var(--color-border-lighter)}.draggable-card.locked{background:#2a2a2a;border-color:#444;opacity:.5;cursor:not-allowed;pointer-events:none}.draggable-card.locked:hover{transform:none;box-shadow:0 2px 8px #0009;border-color:#444;background:#2a2a2a}.card-header-content{display:flex;align-items:center;flex:1}.card-category-description{margin-top:var(--spacing-3);padding:var(--spacing-3) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;line-height:1.4;border-top:1px solid var(--color-border-darkest)}.expandable-card-details{margin-top:var(--spacing-5);padding-top:var(--spacing-5);border-top:1px solid var(--color-border-dark);animation:slideDown var(--transition-base) ease-out}.versatile-badge{margin-left:var(--spacing-3);font-size:var(--font-size-base)}.heritage-benefits{margin-top:var(--spacing-5);padding:var(--spacing-5);background:var(--color-bg-dark);border-radius:var(--radius-none);border:1px solid var(--color-bg-elevated)}.benefit-level{margin-bottom:var(--spacing-3);font-size:var(--font-size-md);line-height:var(--line-height-base)}.benefit-level:last-child{margin-bottom:0}.level-label{font-weight:var(--font-weight-bold);color:var(--color-text-secondary);display:inline;margin-right:var(--spacing-1);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.level-text{color:var(--color-text-light);display:inline}.trauma-card{border-left:3px solid var(--color-danger-base)}.trauma-header{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.trauma-roll-badge{background:var(--color-danger-base);color:var(--color-text-primary);padding:3px var(--spacing-3);border-radius:var(--radius-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);align-self:flex-start;text-transform:uppercase}.bespoke-card-header{display:flex;align-items:center;gap:var(--spacing-5);margin-bottom:var(--spacing-3)}.bespoke-icon{font-size:var(--font-size-4xl)}.bespoke-card-note{margin-top:var(--spacing-5);padding:var(--spacing-4);background:#9c59b626;border-left:var(--spacing-1) solid #9b59b6;border-radius:var(--radius-base);font-size:var(--font-size-sm);color:#b19cd9;font-weight:var(--font-weight-semibold)}.motivation-card{border-left:3px solid var(--color-success-base)}.motivation-header{display:flex;flex-direction:column;gap:var(--spacing-3);margin-bottom:var(--spacing-3)}.motivation-roll-badge{background:var(--color-success-base);color:var(--color-text-primary);padding:3px var(--spacing-3);border-radius:var(--radius-base);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);align-self:flex-start;text-transform:uppercase}.card-category-description{margin-top:var(--spacing-3);margin-bottom:var(--spacing-3);padding:var(--spacing-3) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;line-height:1.4;border-top:1px solid var(--color-border-darkest);border-bottom:1px solid var(--color-border-darkest)}.motivation-opposition{margin-top:var(--spacing-5);padding:var(--spacing-3);background:var(--color-warning-bg);border-left:3px solid var(--color-warning-base);border-radius:var(--radius-base);font-size:var(--font-size-md)}.opposition-label{font-weight:var(--font-weight-semibold);color:#856404;margin-right:var(--spacing-2)}.opposition-name{color:#856404;font-weight:var(--font-weight-bold)}.roll-card-header{display:flex;align-items:center;gap:var(--spacing-5);margin-bottom:var(--spacing-3)}.roll-dice-icon{font-size:var(--font-size-4xl)}.roll-card-note{margin-top:var(--spacing-5);padding:var(--spacing-4);background:var(--color-warning-bg);border-left:var(--spacing-1) solid var(--color-warning-base);border-radius:var(--radius-base);font-size:var(--font-size-sm);color:#856404;font-weight:var(--font-weight-semibold)}.evil-gods-toggle{margin:var(--spacing-3) 0;padding:var(--spacing-2);background:var(--color-bg-elevated);border-radius:var(--radius-sm)}.evil-toggle-label{display:flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-lighter);cursor:pointer}.evil-toggle-label input[type=checkbox]{width:14px;height:14px;accent-color:var(--color-danger-base);cursor:pointer}.evil-toggle-label input[type=checkbox]:checked+span{color:var(--color-danger-base)}.weapon-header-info{display:flex;flex-direction:column;gap:4px;flex:1}.weapon-quick-stats{display:flex;gap:6px;flex-wrap:wrap}.weapon-damage-badge{padding:2px var(--spacing-3);background:var(--color-bg-elevated);border:1px solid var(--color-danger-base);border-radius:3px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-danger-base)}.weapon-type-badge{padding:2px var(--spacing-3);background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-radius:3px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary)}.weapon-range-badge{padding:2px var(--spacing-3);background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-radius:3px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.weapon-notes-preview{font-size:11px;color:var(--color-text-muted);font-style:italic;margin-top:2px;line-height:1.3}.weapon-stat{display:flex;justify-content:space-between;padding:var(--spacing-1) 0;font-size:var(--font-size-md);border-bottom:1px solid var(--color-bg-base)}.weapon-stat:last-child{border-bottom:none}.stat-label{color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}.stat-value{color:var(--color-text-lighter)}.armour-ac-badge{margin-left:auto;padding:var(--spacing-sm, 2px) var(--spacing-3);background:var(--color-bg-elevated);border:1px solid var(--color-border-base);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-accent-light)}.armour-stat{display:flex;justify-content:space-between;padding:var(--spacing-1) 0;font-size:var(--font-size-md);border-bottom:1px solid var(--color-bg-base)}.armour-stat:last-child{border-bottom:none}.requirement-not-met{color:#ff6b6b!important;font-weight:var(--font-weight-bold)}.draggable-card.lacks-requirements{border-color:#ff6b6b!important;box-shadow:0 0 8px #ff6b6b4d}.expandable-card-container{width:100%}.expandable-card-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:var(--spacing-1) 0}.card-header-content{display:flex;align-items:center;flex:1;gap:var(--spacing-3)}.class-badge-inline{font-size:var(--font-size-lg);margin-left:var(--spacing-1)}.expand-toggle{background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-base);cursor:pointer;padding:var(--spacing-3);transition:var(--transition-all);min-width:30px}.expand-toggle:hover{color:var(--color-text-lighter);transform:scale(1.2)}.card-category-description{margin-top:var(--spacing-3);padding:var(--spacing-3) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;line-height:1.4;border-top:var(--border-width-thin) solid var(--color-border-darkest)}.expandable-card-details{margin-top:var(--spacing-5);padding-top:var(--spacing-5);border-top:var(--border-width-thin) solid var(--color-border-dark);animation:slideDown var(--transition-base) var(--ease-out)}.abilities-list{list-style:none;padding:0;margin:var(--spacing-3) 0 0 0}.ability-item{padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-1);background:var(--color-bg-base);border-left:var(--border-width-base) solid var(--color-border-base);font-size:var(--font-size-md);color:var(--color-text-light)}.ability-item:last-child{margin-bottom:0}.class-badge{margin-top:var(--spacing-3);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-none);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-align:center}.caster-badge{background:#0a0a1a;color:var(--color-text-secondary);border:var(--border-width-thin) solid var(--color-border-dark)}.talents-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:0}.talents-header .card-mechanics-title{margin-bottom:0}.expand-toggle-small{background:transparent;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-1) var(--spacing-3);transition:var(--transition-all);min-width:24px}.expand-toggle-small:hover{color:var(--color-text-lighter);transform:scale(1.2)}.talents-table-list{list-style:none;padding:0;margin:var(--spacing-3) 0 0 0;max-height:300px;overflow-y:auto}.talents-table-list::-webkit-scrollbar{width:6px}.talents-table-list::-webkit-scrollbar-track{background:var(--color-bg-darkest)}.talents-table-list::-webkit-scrollbar-thumb{background:var(--color-border-base);border-radius:var(--radius-none)}.talents-table-list::-webkit-scrollbar-thumb:hover{background:var(--color-border-lighter)}.talent-table-item{padding:var(--spacing-2) var(--spacing-3);margin-bottom:var(--spacing-1);background:var(--color-bg-darkest);border-left:var(--border-width-base) solid var(--color-border-dark);font-size:var(--font-size-sm);color:var(--color-text-base);line-height:1.4}.talent-table-item:last-child{margin-bottom:0}.advancement-content{margin-top:var(--spacing-3)}.advancement-item{padding:var(--spacing-3);margin-bottom:var(--spacing-3);background:var(--color-bg-base);border-left:var(--border-width-base) solid var(--color-magic-base);border-radius:var(--radius-sm)}.advancement-item:last-child{margin-bottom:0}.advancement-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.advancement-name{color:var(--color-magic-base);font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.advancement-xp{font-size:var(--font-size-xs);color:var(--color-text-secondary);background:var(--color-bg-darkest);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);border:var(--border-width-thin) solid var(--color-border-dark)}.advancement-description{font-size:var(--font-size-sm);color:var(--color-text-light);line-height:var(--line-height-base);margin:0}.item-stackable-badge{margin-left:auto;font-size:var(--font-size-base)}.item-stat{display:flex;justify-content:space-between;padding:var(--spacing-1) 0;font-size:var(--font-size-md);border-bottom:1px solid var(--color-bg-base)}.item-stat:last-child{border-bottom:none}.skill-card-content{display:flex;flex-direction:column;gap:var(--spacing-3)}.skill-header{display:flex;align-items:center;gap:var(--spacing-4)}.skill-icon{font-size:var(--font-size-2xl);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-darkest);border-radius:var(--radius-base);border:var(--border-width-thin) solid var(--color-border-dark)}.skill-title-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.skill-xp-cost{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-warning-base);background:var(--color-bg-darkest);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-base);width:fit-content}.skill-stackable-note{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-style:italic;padding:var(--spacing-2);background:var(--color-bg-dark);border-radius:var(--radius-base);border-left:2px solid var(--color-warning-base)}.skill-language{border-left:3px solid #3498db}.skill-combat{border-left:3px solid #e74c3c}.skill-utility{border-left:3px solid #2ecc71}.skill-magic{border-left:3px solid #9b59b6}.skill-class{border-left:3px solid #f39c12}.feat-card-content{display:flex;flex-direction:column;gap:var(--spacing-3)}.feat-header{display:flex;align-items:center;gap:var(--spacing-4)}.feat-icon{font-size:var(--font-size-2xl);width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-darkest);border-radius:var(--radius-base);border:var(--border-width-thin) solid var(--color-border-dark)}.feat-title-group{display:flex;flex-direction:column;gap:var(--spacing-1)}.feat-xp-cost{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-warning-base);background:var(--color-bg-darkest);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-base);width:fit-content}.feat-melee{border-left:3px solid #e74c3c}.feat-ranged{border-left:3px solid #f39c12}.feat-magic{border-left:3px solid #9b59b6}.feat-tactics{border-left:3px solid #3498db}.feat-survival{border-left:3px solid #2ecc71}.feat-defense{border-left:3px solid #95a5a6}.magical-item-card{border:1px solid rgba(180,150,50,.4);background:#b4963208}.magical-item-card:hover{border-color:#b4963299}.magical-item-icon{font-size:20px;margin-right:8px;opacity:.7}.magical-item-header-info{flex:1;display:flex;flex-direction:column;gap:4px}.magical-title{color:var(--color-text-bright)}.magical-item-quick-stats{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.stat-badge{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap}.damage-badge{background:#ef444433;color:#ef4444;border:1px solid #ef4444}.enhancement-badge{background:#b4963226;color:#b49632e6;border:1px solid rgba(180,150,50,.4);font-weight:700}.type-badge{background:#64829626;color:#96aabee6;border:1px solid rgba(100,130,150,.4)}.ac-badge{background:#64966426;color:#8cb48ce6;border:1px solid rgba(100,150,100,.4)}.magical-badge{background:#78649626;color:#9682b4cc;border:1px solid rgba(120,100,150,.4)}.mind-badge{background:#9370db26;color:#b496dce6;border:1px solid rgba(147,112,219,.5)}.card-section{margin-top:12px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.card-description-text{font-size:12px;line-height:1.5;color:#fffc;font-style:italic;margin:0}.magical-benefit{background:#ffffff05;padding:8px;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.benefit-title{color:var(--color-text-bright);margin-bottom:4px}.magical-charges{background:#ffffff05;padding:8px;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.charges-title{color:var(--color-text-bright);margin-bottom:4px}.magical-curse{background:#c850500d;padding:8px;border-radius:4px;border:1px solid rgba(200,80,80,.2)}.curse-title{color:#c85050e6;margin-bottom:4px}.curse-text{color:#c85050cc}.item-stat{display:flex;justify-content:space-between;padding:4px 0;font-size:12px}.stat-label{color:#fff9;font-weight:600}.stat-value{color:#ffffffe6}.card-mechanics-title{font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.card-mechanics-text{font-size:12px;line-height:1.4;color:#fffc;margin:0}.selection-panel{padding-bottom:var(--spacing-8)}.panel-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-emphasis);margin:0 0 var(--spacing-8) 0;padding:var(--spacing-6) var(--spacing-7);background:var(--color-bg-base);border-radius:var(--radius-none);box-shadow:var(--shadow-md);border:var(--border-width-base) solid var(--color-bg-elevated);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}.section-note{color:var(--color-text-secondary);font-size:var(--font-size-base);margin-bottom:var(--spacing-6);font-style:italic}.section-category-description{margin:0 0 var(--spacing-6) 0;padding:var(--spacing-5);font-size:var(--font-size-md);color:var(--color-text-secondary);font-style:italic;line-height:1.4;background:var(--color-bg-darkest);border-left:var(--border-width-thick) solid var(--color-border-base)}.spell-level-badge{font-size:var(--font-size-xs);background:var(--color-bg-elevated);color:var(--color-text-lighter);padding:2px var(--spacing-2);border-radius:var(--radius-none);font-weight:var(--font-weight-medium);margin-left:var(--spacing-3);border:var(--border-width-thin) solid var(--color-border-base)}.generate-songs-btn{width:100%;background:var(--color-bg-elevated);color:var(--color-text-lighter);border:var(--border-width-base) solid var(--color-border-base);padding:var(--spacing-5) var(--spacing-7);border-radius:var(--radius-none);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);margin-bottom:var(--spacing-6)}.generate-songs-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-lighter)}.attribute-method-cards{display:flex;flex-direction:column;gap:var(--spacing-5);margin-bottom:var(--spacing-6)}.roll-attributes-interface{background:var(--color-bg-base);padding:var(--spacing-6);border-radius:var(--radius-none);margin-top:var(--spacing-6);border:var(--border-width-thin) solid var(--color-bg-elevated)}.roll-attributes-interface h5{margin:0 0 var(--spacing-6) 0;color:var(--color-text-lighter);font-size:var(--font-size-lg);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.roll-attribute-row{display:flex;align-items:center;gap:var(--spacing-5);margin-bottom:var(--spacing-3);padding:var(--spacing-3);background:var(--color-bg-dark);border-radius:var(--radius-none);border:var(--border-width-thin) solid var(--color-bg-elevated)}.attr-name{flex:1;font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-base);text-transform:uppercase}.attr-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-light);min-width:40px;text-align:center}.roll-btn{background:var(--color-bg-elevated);color:var(--color-text-lighter);border:var(--border-width-base) solid var(--color-border-base);padding:var(--spacing-2) var(--spacing-6);border-radius:var(--radius-none);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all)}.roll-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-lighter)}.options-toggle{margin:var(--spacing-5) 0}.toggle-options-btn{width:100%;background:var(--color-bg-dark);color:var(--color-text-secondary);border:var(--border-width-base) solid var(--color-bg-elevated);padding:var(--spacing-4) var(--spacing-6);border-radius:var(--radius-none);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);text-align:left}.toggle-options-btn:hover{background:var(--color-bg-base);color:var(--color-text-lighter);border-color:var(--color-border-base)}.individual-options{margin-top:var(--spacing-5);margin-left:var(--spacing-6);padding-left:var(--spacing-6);border-left:var(--border-width-thick) solid var(--color-border-dark)}.pantheon-description{font-size:var(--font-size-md);color:var(--color-text-secondary);margin:0 0 var(--spacing-5) 0;padding:var(--spacing-5);background:var(--color-bg-darkest);border-left:var(--border-width-thick) solid var(--color-border-base);font-style:italic;line-height:1.4}.gods-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-4)}.panel-header .panel-title{margin:0}.expand-collapse-buttons{display:flex;flex-direction:column;gap:var(--spacing-1)}.expand-collapse-btn{background:var(--color-bg-elevated);color:var(--color-text-lighter);border:var(--border-width-base) solid var(--color-border-base);padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-none);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:var(--transition-all);line-height:1}.expand-collapse-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-lighter)}.motivation-controls{display:flex;flex-direction:column;gap:var(--spacing-3)}.opposition-checkbox{padding:var(--spacing-2) var(--spacing-3);background:var(--color-bg-elevated);border:var(--border-width-base) solid var(--color-border-base);border-radius:var(--radius-none)}.opposition-checkbox label{display:flex;align-items:center;gap:var(--spacing-2);cursor:pointer;color:var(--color-text-primary);font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.opposition-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:#28a745}.opposition-checkbox span{-webkit-user-select:none;user-select:none}.character-selection-screen{min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#0d0d0d);display:flex;align-items:center;justify-content:center;padding:20px}.selection-container{width:80%;max-width:1400px;height:80vh;background:#1a1a1af2;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:40px;box-shadow:0 10px 50px #00000080;display:flex;flex-direction:column}.splash-header{text-align:center;margin-bottom:40px}.game-title{font-size:48px;font-weight:700;color:var(--color-text-bright);margin:0 0 8px;text-shadow:0 2px 10px rgba(255,255,255,.3);letter-spacing:2px}.game-subtitle{font-size:18px;color:var(--color-text-muted);margin:0;letter-spacing:1px}.auth-section{margin-top:20px;display:flex;justify-content:center;align-items:center}.btn-google-sign-in{display:flex;align-items:center;gap:10px;padding:12px 24px;background:#fff;color:#444;border:1px solid rgba(0,0,0,.1);border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-google-sign-in:hover{box-shadow:0 2px 8px #0003;transform:translateY(-1px)}.google-icon{font-weight:700;font-size:18px;color:#4285f4}.user-info{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#ffffff0d;border-radius:8px;border:1px solid rgba(255,255,255,.1)}.user-avatar{width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.2)}.user-name{color:var(--color-text-bright);font-size:14px;font-weight:500}.btn-sign-out{padding:6px 16px;background:#ff646433;color:#ff6464;border:1px solid rgba(255,100,100,.4);border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-sign-out:hover{background:#ff64644d;border-color:#ff646499}.character-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:32px;flex:1;overflow-y:auto;padding:8px;align-content:start}.no-characters{grid-column:1 / -1;text-align:center;padding:60px 20px;color:var(--color-text-muted)}.no-characters p{margin:8px 0}.no-characters .hint{font-size:14px;opacity:.7}.character-card{background:#ffffff08;border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:16px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;min-height:180px;position:relative}.character-card:hover{background:#ffffff0f;border-color:#fff3;transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.character-card.selected{background:#4a9eff26;border-color:#4a9eff;box-shadow:0 0 0 2px #4a9eff4d}.character-card-main{display:flex;flex-direction:column;flex:1}.character-info{flex:1}.character-name{font-size:20px;font-weight:600;color:var(--color-text-bright);margin:0 0 12px;line-height:1.2}.character-details{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.detail-item{font-size:13px;color:var(--color-text-lighter)}.detail-label{color:var(--color-text-muted);font-weight:500;min-width:50px;display:inline-block}.character-timestamp{font-size:11px;color:var(--color-text-muted);font-style:italic;margin-top:auto;padding-top:8px;border-top:1px solid rgba(255,255,255,.05)}.delete-character-btn{position:absolute;top:8px;right:8px;background:transparent;border:1px solid rgba(255,100,100,.3);color:#ff6464b3;width:28px;height:28px;border-radius:4px;font-size:16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;z-index:10}.delete-character-btn:hover{background:#ff646433;border-color:#ff646499;color:#ff6464;transform:scale(1.15)}.action-buttons{display:flex;gap:16px;justify-content:center;margin-bottom:24px}.btn-primary{padding:14px 32px;font-size:16px;font-weight:600;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;letter-spacing:.5px}.btn-load{background:#4a9eff;color:#fff}.btn-load:hover{background:#3a8eef;transform:translateY(-2px);box-shadow:0 4px 12px #4a9eff66}.btn-new{background:#2ecc71;color:#fff}.btn-new:hover{background:#27ae60;transform:translateY(-2px);box-shadow:0 4px 12px #2ecc7166}.splash-footer{text-align:center;padding-top:20px;border-top:1px solid rgba(255,255,255,.1)}.version-text{font-size:12px;color:var(--color-text-muted);margin:0}.character-list::-webkit-scrollbar{width:8px}.character-list::-webkit-scrollbar-track{background:#ffffff0d;border-radius:4px}.character-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.character-list::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:#1a1a1afa;border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:32px;max-width:500px;width:90%;box-shadow:0 20px 60px #000000b3;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-content h2{font-size:24px;color:var(--color-text-bright);margin:0 0 12px;text-align:center}.modal-content p{font-size:14px;color:var(--color-text-secondary);margin:0 0 20px;text-align:center}.character-name-input{width:100%;padding:12px 16px;font-size:16px;background:#ffffff0d;border:2px solid rgba(255,255,255,.2);border-radius:6px;color:var(--color-text-bright);margin-bottom:24px;transition:all .2s ease;box-sizing:border-box}.character-name-input:focus{outline:none;border-color:#4a9eff;background:#ffffff14;box-shadow:0 0 0 3px #4a9eff33}.character-name-input::placeholder{color:var(--color-text-muted)}.modal-buttons{display:flex;gap:12px;justify-content:flex-end}.btn-secondary{padding:10px 24px;font-size:14px;font-weight:600;background:#ffffff0d;color:var(--color-text-lighter);border:2px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-1px)}.btn-danger{padding:10px 24px;font-size:14px;font-weight:600;background:#dc3545;color:#fff;border:2px solid #dc3545;border-radius:6px;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background:#c82333;border-color:#bd2130;transform:translateY(-1px)}.warning-text{color:#ff6b6b;font-size:13px;margin-top:8px}.menu-button.disabled,.menu-item.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.local-characters-toggle{display:flex;justify-content:center;margin-bottom:16px}.toggle-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;transition:all .2s ease}.toggle-label:hover{background:#ffffff14;border-color:#fff3}.toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:#4a9eff;cursor:pointer}.toggle-label span{font-size:13px;color:var(--color-text-secondary)}.cloud-icon,.local-icon{font-size:14px;margin-right:6px}.cloud-icon{color:#4a9eff}.local-icon{color:#f39c12;font-size:12px}.character-selection-screen{flex-direction:column;padding-top:0}.character-selection-screen>.top-menu-bar{width:100%;flex-shrink:0}@media(max-width:768px){.character-selection-screen{padding:0}.selection-container{width:100%;height:auto;min-height:calc(100vh - 40px);border-radius:0;border:none;padding:16px;box-shadow:none}.splash-header{margin-bottom:20px}.game-title{font-size:32px;letter-spacing:1px}.game-subtitle{font-size:14px}.auth-section{margin-top:12px}.user-info{padding:6px 12px;gap:8px}.user-avatar{width:28px;height:28px}.user-name{font-size:12px}.local-characters-toggle{margin-bottom:12px}.toggle-label{padding:6px 12px}.toggle-label span{font-size:12px}.character-list{grid-template-columns:1fr;gap:12px;margin-bottom:20px;padding:4px}.character-card{padding:12px;min-height:auto}.character-name{font-size:16px;margin-bottom:8px;padding-right:30px}.character-details{gap:4px;margin-bottom:8px}.detail-item{font-size:12px}.character-timestamp{font-size:10px;padding-top:6px}.delete-character-btn{width:24px;height:24px;font-size:14px}.action-buttons{flex-direction:column;gap:10px;margin-bottom:16px}.btn-primary{width:100%;padding:12px 20px;font-size:14px}.splash-footer{padding-top:12px}.version-text{font-size:11px}.modal-content{padding:20px;margin:16px;width:calc(100% - 32px)}.modal-content h2{font-size:20px}.modal-content p{font-size:13px;margin-bottom:16px}.character-name-input{padding:10px 14px;font-size:14px;margin-bottom:16px}.modal-buttons{flex-direction:column;gap:8px}.btn-secondary,.btn-danger{width:100%;padding:10px 20px}.no-characters{padding:40px 16px}}@media(max-width:360px){.selection-container{padding:12px}.game-title{font-size:28px}.character-card{padding:10px}.character-name{font-size:15px}}.splash-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a1a,#0d0d0d);position:relative;overflow:hidden}.splash-screen:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.02) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.02) 0%,transparent 40%);pointer-events:none}.splash-container{position:relative;z-index:1;text-align:center;padding:40px}.splash-content{background:#1a1a1af2;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:60px 80px;box-shadow:0 10px 50px #00000080;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.splash-title{font-size:64px;font-weight:700;color:var(--color-text-bright, #e0e0e0);margin:0 0 12px;text-shadow:0 2px 10px rgba(255,255,255,.3);letter-spacing:2px}.splash-tagline{font-size:18px;color:var(--color-text-muted, #888);margin:0 0 48px;font-weight:300;letter-spacing:1px}.splash-signin-btn{display:inline-flex;align-items:center;gap:12px;padding:14px 32px;font-size:16px;font-weight:600;background:#fff;color:#333;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #0000004d}.splash-signin-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0006;background:#f8f8f8}.splash-signin-btn:active{transform:translateY(0)}.splash-signin-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.splash-signin-btn:disabled:hover{transform:none;box-shadow:0 4px 16px #0000004d;background:#fff}.splash-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px 0}.splash-loading p{color:var(--color-text-muted, #888);font-size:16px;margin:0}.splash-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:#4285f4;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.google-icon-large{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:linear-gradient(135deg,#4285f4,#34a853 50%,#fbbc05,#ea4335);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:22px;font-weight:700}.splash-footer-text{margin-top:32px;font-size:13px;color:var(--color-text-muted, #666);font-weight:300}@media(max-width:600px){.splash-content{padding:40px 30px}.splash-title{font-size:48px}.splash-tagline{font-size:16px}.splash-signin-btn{padding:12px 24px;font-size:15px}}.touch-selection-overlay{position:fixed;inset:0;background:#000000e6;z-index:10000;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.touch-selection-modal{background:var(--color-bg-base);border-top:2px solid var(--color-border-base);width:100%;max-height:90vh;display:flex;flex-direction:column;animation:slideUp .25s ease-out;border-radius:16px 16px 0 0}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.touch-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-6) var(--spacing-7);border-bottom:1px solid var(--color-border-base);background:var(--color-bg-darkest);border-radius:16px 16px 0 0;flex-shrink:0}.touch-modal-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-emphasis);margin:0;text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.touch-modal-close{background:none;border:none;color:var(--color-text-tertiary);font-size:32px;line-height:1;cursor:pointer;padding:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.touch-modal-close:hover,.touch-modal-close:active{color:var(--color-text-emphasis);background:var(--color-bg-elevated)}.touch-action-buttons{display:flex;flex-direction:column;gap:var(--spacing-3);padding:var(--spacing-6) var(--spacing-7);border-bottom:1px solid var(--color-border-base);background:var(--color-bg-darker);flex-shrink:0}.touch-action-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-4);padding:var(--spacing-6) var(--spacing-7);border:2px solid var(--color-border-base);border-radius:8px;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:var(--letter-spacing-tight);min-height:56px}.touch-action-btn .action-icon{font-size:20px}.random-roll-btn{background:linear-gradient(135deg,var(--color-magic-darkest),var(--color-magic-dark));color:var(--color-text-emphasis);border-color:var(--color-magic-base)}.random-roll-btn:hover,.random-roll-btn:active{background:linear-gradient(135deg,var(--color-magic-dark),var(--color-magic-base));border-color:var(--color-magic-light);transform:scale(1.02)}.best-fit-btn{background:linear-gradient(135deg,#2d4a1a,#3a5c2a);color:var(--color-text-emphasis);border-color:var(--color-success-base)}.best-fit-btn:hover,.best-fit-btn:active{background:linear-gradient(135deg,#3a5c2a,#4a6c3a);border-color:var(--color-success-light);transform:scale(1.02)}.bespoke-btn{background:linear-gradient(135deg,#4a3a1a,#5c4a2a);color:var(--color-text-emphasis);border-color:var(--color-gold)}.bespoke-btn:hover,.bespoke-btn:active{background:linear-gradient(135deg,#5c4a2a,#6c5a3a);border-color:var(--color-gold-bright);transform:scale(1.02)}.touch-search-container{position:relative;padding:var(--spacing-5) var(--spacing-7);background:var(--color-bg-darkest);border-bottom:1px solid var(--color-border-base);flex-shrink:0}.touch-search-input{width:100%;padding:var(--spacing-5) var(--spacing-6);padding-right:44px;border:1px solid var(--color-border-base);border-radius:8px;font-size:var(--font-size-lg);background:var(--color-bg-base);color:var(--color-text-emphasis);transition:border-color .2s ease}.touch-search-input:focus{outline:none;border-color:var(--color-border-lighter)}.touch-search-input::placeholder{color:var(--color-text-muted)}.touch-search-clear{position:absolute;right:calc(var(--spacing-7) + 8px);top:50%;transform:translateY(-50%);background:var(--color-bg-elevated);border:none;color:var(--color-text-tertiary);font-size:20px;width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.touch-search-clear:hover,.touch-search-clear:active{background:var(--color-bg-hover);color:var(--color-text-emphasis)}.touch-options-container{flex:1;overflow-y:auto;padding:var(--spacing-5) var(--spacing-7) var(--spacing-9);-webkit-overflow-scrolling:touch}.touch-options-list{display:flex;flex-direction:column;gap:var(--spacing-3)}.touch-option-wrapper{border:1px solid var(--color-border-base);border-radius:8px;background:var(--color-bg-elevated);overflow:hidden;transition:all .2s ease}.touch-option-wrapper.expanded{border-color:var(--color-border-light);background:var(--color-bg-base)}.touch-option-header{display:flex;align-items:stretch}.touch-option-expand-btn{display:flex;align-items:center;justify-content:center;width:44px;background:var(--color-bg-darker);border:none;border-right:1px solid var(--color-border-base);color:var(--color-text-muted);font-size:10px;cursor:pointer;transition:all .2s ease;flex-shrink:0}.touch-option-expand-btn:hover,.touch-option-expand-btn:active{background:var(--color-bg-darkest);color:var(--color-text-lighter)}.touch-option-expand-btn.expanded{transform:rotate(90deg);color:var(--color-gold)}.touch-option-btn{display:flex;align-items:center;flex:1;padding:var(--spacing-5) var(--spacing-6);background:transparent;border:none;cursor:pointer;text-align:left;transition:all .15s ease;min-height:56px}.touch-option-btn.no-details{border-radius:8px}.touch-option-btn:hover,.touch-option-btn:active{background:var(--color-bg-hover)}.touch-option-btn.disabled{opacity:.5;cursor:not-allowed}.touch-option-btn.disabled:hover,.touch-option-btn.disabled:active{background:transparent}.touch-option-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-emphasis);flex:1}.touch-option-disabled-reason{font-size:var(--font-size-xs);color:var(--color-danger-light);font-style:italic;margin-left:var(--spacing-3)}.touch-option-details{padding:var(--spacing-4) var(--spacing-6);padding-left:calc(44px + var(--spacing-6));background:var(--color-bg-darker);border-top:1px solid var(--color-border-base);animation:expandIn .2s ease-out}.touch-option-subtitle{font-size:var(--font-size-sm);color:var(--color-gold);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-2)}.touch-option-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.touch-option-group{margin-bottom:var(--spacing-5)}.touch-group-header{display:flex;align-items:center;width:100%;padding:var(--spacing-5) var(--spacing-6);background:var(--color-bg-darkest);border:1px solid var(--color-border-base);border-radius:8px;cursor:pointer;text-align:left;transition:all .15s ease;margin-bottom:var(--spacing-3)}.touch-group-header:hover,.touch-group-header:active{background:var(--color-bg-darker);border-color:var(--color-border-light)}.touch-group-name{flex:1;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-emphasis);text-transform:uppercase;letter-spacing:var(--letter-spacing-tight)}.touch-group-count{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-right:var(--spacing-4)}.touch-group-arrow{color:var(--color-text-tertiary);font-size:var(--font-size-sm);transition:transform .2s ease}.touch-group-arrow.expanded{transform:rotate(180deg)}.touch-group-options{display:flex;flex-direction:column;gap:var(--spacing-3);padding-left:var(--spacing-5);animation:expandIn .2s ease-out}@keyframes expandIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.touch-no-results{text-align:center;padding:var(--spacing-9);color:var(--color-text-tertiary);font-size:var(--font-size-lg);font-style:italic}@media(min-width:768px){.touch-selection-overlay{align-items:center;padding:var(--spacing-7)}.touch-selection-modal{max-width:500px;max-height:80vh;border-radius:12px;border:2px solid var(--color-border-base)}.touch-modal-header{border-radius:12px 12px 0 0}.touch-action-buttons{flex-direction:row;flex-wrap:wrap}.touch-action-btn{flex:1;min-width:140px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.touch-options-container{padding-bottom:calc(var(--spacing-9) + env(safe-area-inset-bottom))}}.app{min-height:100vh;background:linear-gradient(135deg,var(--color-bg-darkest) 0%,var(--color-bg-base) 50%,var(--color-bg-dark) 100%);position:relative}#root{max-width:100%;margin:0;padding:0}.floating-roll{position:absolute;pointer-events:none;font-weight:600;color:#e0e0e0;text-shadow:0 0 10px rgba(224,224,224,.3);white-space:nowrap;animation:rollFloat 5s ease-out forwards;z-index:1000}@keyframes rollFloat{0%{transform:translateY(0) scale(.5);opacity:0}15%{transform:translateY(-20px) scale(1.2);opacity:1}30%{transform:translateY(-40px) scale(1);opacity:1}70%{transform:translateY(-60px) scale(1);opacity:1}85%{transform:translateY(-70px) scale(.8);opacity:.5}to{transform:translateY(-80px) scale(.5);opacity:0}}.app-footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:16px;padding:12px 20px;background:#000000d9;border-top:1px solid rgba(255,255,255,.1);z-index:100}.footer-btn{padding:8px 20px;font-size:13px;font-weight:500;background:#ffffff1a;color:#ccc;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;transition:all .2s ease}.footer-btn:hover{background:#ffffff26;color:#fff;border-color:#ffffff4d}.footer-btn-signout{background:#dc354533;border-color:#dc354566;color:#ff6b6b}.footer-btn-signout:hover{background:#dc35454d;border-color:#dc354599;color:#ff8a8a}
