@charset "UTF-8";[data-class=barbarian]{--class-color: #E7623E;--class-color-light: rgba(231, 98, 62, .15);--class-color-dark: #B84A2E;--class-gradient: linear-gradient(135deg, #E7623E, #B84A2E);--class-color-rgb: 231, 98, 62;--color-primary: #E7623E;--color-primary-rgb: 231, 98, 62;--color-primary-dark: #B84A2E}[data-class=bard]{--class-color: #AB6DAC;--class-color-light: rgba(171, 109, 172, .15);--class-color-dark: #8A4E8B;--class-gradient: linear-gradient(135deg, #AB6DAC, #8A4E8B);--class-color-rgb: 171, 109, 172;--color-primary: #AB6DAC;--color-primary-rgb: 171, 109, 172;--color-primary-dark: #8A4E8B}[data-class=cleric]{--class-color: #91A1B2;--class-color-light: rgba(145, 161, 178, .15);--class-color-dark: #6E7D8E;--class-gradient: linear-gradient(135deg, #91A1B2, #6E7D8E);--class-color-rgb: 145, 161, 178;--color-primary: #91A1B2;--color-primary-rgb: 145, 161, 178;--color-primary-dark: #6E7D8E}[data-class=druid]{--class-color: #7A853B;--class-color-light: rgba(122, 133, 59, .15);--class-color-dark: #5C6328;--class-gradient: linear-gradient(135deg, #7A853B, #5C6328);--class-color-rgb: 122, 133, 59;--color-primary: #7A853B;--color-primary-rgb: 122, 133, 59;--color-primary-dark: #5C6328}[data-class=fighter]{--class-color: #7F513E;--class-color-light: rgba(127, 81, 62, .15);--class-color-dark: #5F3C2E;--class-gradient: linear-gradient(135deg, #7F513E, #5F3C2E);--class-color-rgb: 127, 81, 62;--color-primary: #7F513E;--color-primary-rgb: 127, 81, 62;--color-primary-dark: #5F3C2E}[data-class=monk]{--class-color: #51A5C5;--class-color-light: rgba(81, 165, 197, .15);--class-color-dark: #3E7E99;--class-gradient: linear-gradient(135deg, #51A5C5, #3E7E99);--class-color-rgb: 81, 165, 197;--color-primary: #51A5C5;--color-primary-rgb: 81, 165, 197;--color-primary-dark: #3E7E99}[data-class=paladin]{--class-color: #B59E54;--class-color-light: rgba(181, 158, 84, .15);--class-color-dark: #8F7A3E;--class-gradient: linear-gradient(135deg, #B59E54, #8F7A3E);--class-color-rgb: 181, 158, 84;--color-primary: #B59E54;--color-primary-rgb: 181, 158, 84;--color-primary-dark: #8F7A3E}[data-class=ranger]{--class-color: #507F62;--class-color-light: rgba(80, 127, 98, .15);--class-color-dark: #3C5F49;--class-gradient: linear-gradient(135deg, #507F62, #3C5F49);--class-color-rgb: 80, 127, 98;--color-primary: #507F62;--color-primary-rgb: 80, 127, 98;--color-primary-dark: #3C5F49}[data-class=rogue]{--class-color: #555752;--class-color-light: rgba(85, 87, 82, .15);--class-color-dark: #3E3F3C;--class-gradient: linear-gradient(135deg, #555752, #3E3F3C);--class-color-rgb: 85, 87, 82;--color-primary: #555752;--color-primary-rgb: 85, 87, 82;--color-primary-dark: #3E3F3C}[data-class=sorcerer]{--class-color: #992E2E;--class-color-light: rgba(153, 46, 46, .15);--class-color-dark: #6E1F1F;--class-gradient: linear-gradient(135deg, #992E2E, #6E1F1F);--class-color-rgb: 153, 46, 46;--color-primary: #992E2E;--color-primary-rgb: 153, 46, 46;--color-primary-dark: #6E1F1F}[data-class=warlock]{--class-color: #7B469B;--class-color-light: rgba(123, 70, 155, .15);--class-color-dark: #5C3474;--class-gradient: linear-gradient(135deg, #7B469B, #5C3474);--class-color-rgb: 123, 70, 155;--color-primary: #7B469B;--color-primary-rgb: 123, 70, 155;--color-primary-dark: #5C3474}[data-class=wizard]{--class-color: #2A50A1;--class-color-light: rgba(42, 80, 161, .15);--class-color-dark: #1F3B78;--class-gradient: linear-gradient(135deg, #2A50A1, #1F3B78);--class-color-rgb: 42, 80, 161;--color-primary: #2A50A1;--color-primary-rgb: 42, 80, 161;--color-primary-dark: #1F3B78}[data-class=artificer]{--class-color: #AB611C;--class-color-light: rgba(171, 97, 28, .15);--class-color-dark: #804814;--class-gradient: linear-gradient(135deg, #AB611C, #804814);--class-color-rgb: 171, 97, 28;--color-primary: #AB611C;--color-primary-rgb: 171, 97, 28;--color-primary-dark: #804814}[data-class]{--accent: var(--color-primary);--accent-rgb: var(--color-primary-rgb);--accent-dark: var(--color-primary-dark);--accent-light: var(--class-color-light);--accent-gradient: var(--class-gradient)}.class-themed{border-color:var(--color-primary)!important}.class-themed.accent-text{color:var(--color-primary)!important}.class-themed.accent-bg{background:var(--color-primary)!important}.class-themed.accent-border{border:2px solid var(--color-primary)!important}.class-themed.accent-gradient{background:var(--class-gradient)!important}.dnd-card{background:linear-gradient(135deg,var(--background-elevated) 0%,var(--background-primary) 100%);border:1px solid var(--border-light);border-radius:12px;padding:24px;box-shadow:0 4px 12px #0003;transition:all .3s ease;position:relative;overflow:hidden}.dnd-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-gradient, linear-gradient(90deg, #3b82f6, #b8956a));opacity:.8}.dnd-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000004d;border-color:var(--border-accent)}.dnd-card:hover:before{opacity:1;height:5px}.dnd-card.selectable{cursor:pointer}.dnd-card.selectable:hover{transform:translateY(-5px);border-color:var(--accent, #3b82f6)}.dnd-card.selectable:hover:before{height:6px;background:var(--accent, #3b82f6)}.dnd-card.selectable.selected{border-color:var(--accent, #3b82f6);box-shadow:0 8px 25px #0006;transform:translateY(-4px)}.dnd-card.selectable.selected:before{height:6px;background:var(--accent, #3b82f6);opacity:1}.dnd-card-title{font-size:1.4rem;font-weight:600;color:var(--accent, #3b82f6);margin-bottom:12px;line-height:1.3}.dnd-card-description{color:var(--text-secondary);line-height:1.6;margin-bottom:15px}.dnd-card-meta{font-size:.85rem;color:var(--text-muted);font-style:italic}.dnd-table{width:100%;background:var(--background-elevated);border-radius:12px;overflow:hidden;box-shadow:0 6px 20px #00000040;border:1px solid var(--border-color);margin:20px 0;border-collapse:separate;border-spacing:0}.dnd-table th{background:var(--accent-gradient, linear-gradient(135deg, #3b82f6, #b8956a));color:#fff;padding:16px;text-align:left;font-weight:600;border-bottom:3px solid var(--accent-dark, #b8956a);font-size:.9rem;text-transform:uppercase;letter-spacing:.8px;text-shadow:1px 1px 2px rgba(0,0,0,.3);position:relative}.dnd-table th:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent, #3b82f6),transparent)}.dnd-table th.center{text-align:center}.dnd-table th.right{text-align:right}.dnd-table th:first-child{border-top-left-radius:12px}.dnd-table th:last-child{border-top-right-radius:12px}.dnd-table td{padding:14px 16px;border-bottom:1px solid var(--border-light);color:var(--text-primary);vertical-align:top;transition:all .2s ease;background:var(--background-primary)}.dnd-table td.center{text-align:center}.dnd-table td.right{text-align:right}.dnd-table td.highlight{font-weight:600;color:var(--accent, #3b82f6)}.dnd-table tbody tr{transition:all .2s ease}.dnd-table tbody tr:hover{background:var(--background-secondary)}.dnd-table tbody tr:hover td{background:var(--background-secondary);transform:scale(1.005)}.dnd-table tbody tr:nth-child(2n) td{background:#ffffff05}.dnd-table tbody tr:nth-child(odd) td{background:#ffffff03}.dnd-table tbody tr:last-child td{border-bottom:none}.dnd-table tbody tr:last-child td:first-child{border-bottom-left-radius:12px}.dnd-table tbody tr:last-child td:last-child{border-bottom-right-radius:12px}.dnd-table .level-column{width:80px;text-align:center;font-weight:700;color:var(--accent, #3b82f6);font-size:1.1rem;background:var(--background-secondary)!important}.dnd-table .spell-level-header{writing-mode:vertical-rl;text-orientation:mixed;padding:12px 10px!important;min-width:45px;font-size:.8rem;text-align:center}.dnd-btn{padding:12px 24px;border-radius:8px;border:2px solid var(--accent, #3b82f6);background:transparent;color:var(--accent, #6c757d);font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.9rem}.dnd-btn:hover{background:var(--accent, #6c757d);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.dnd-btn:active{transform:translateY(0)}.dnd-btn.primary{background:var(--accent, #6c757d);color:#fff}.dnd-btn.primary:hover{background:var(--accent-dark, #495057);border-color:var(--accent-dark, #495057);transform:translateY(-2px)}.dnd-btn.outline{background:transparent;border:2px solid var(--accent, #6c757d);color:var(--accent, #6c757d)}.dnd-btn.gradient{background:var(--accent-gradient, linear-gradient(135deg, #6c757d, #5a6268));border:none;color:#fff}.dnd-btn.gradient:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);filter:brightness(1.1)}.dnd-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.dnd-section-header{font-size:2rem;font-weight:600;color:var(--accent, #6c757d);margin-bottom:20px;padding-bottom:10px;border-bottom:3px solid var(--accent, #6c757d);position:relative}.dnd-section-header:after{content:"";position:absolute;bottom:-3px;left:0;width:50px;height:3px;background:var(--accent-gradient, linear-gradient(90deg, #6c757d, #868e96))}.dnd-info-box{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:8px;padding:20px;margin:20px 0;box-shadow:var(--shadow-xs);border-left:4px solid var(--accent, #6c757d)}.dnd-info-box h3,.dnd-info-box h4{color:var(--accent, #6c757d);margin-bottom:15px;font-weight:600}.dnd-info-box p{color:var(--text-secondary);line-height:1.6;margin-bottom:10px}.dnd-info-box p:last-child{margin-bottom:0}.dnd-info-box ul,.dnd-info-box ol{color:var(--text-secondary);padding-left:20px}.dnd-info-box ul li,.dnd-info-box ol li{margin-bottom:5px;line-height:1.5}.dnd-loading{text-align:center;padding:40px;color:var(--text-muted);font-size:1.1rem}.dnd-loading:before{content:"\26a1";display:block;font-size:2rem;margin-bottom:10px;color:var(--accent, #6c757d)}.dnd-error{background:#dc35451a;border:1px solid #dc3545;color:#dc3545;padding:15px;border-radius:8px;margin:20px 0}.dnd-error:before{content:"\26a0\fe0f";margin-right:8px}.progression-table-container{width:100%;overflow-x:auto;overflow-y:visible;margin:20px 0;border-radius:12px;box-shadow:0 8px 30px #00000026;background:var(--background-elevated);border:1px solid rgba(var(--accent-rgb, 212, 165, 116),.3)}.progression-table-container::-webkit-scrollbar{height:8px}.progression-table-container::-webkit-scrollbar-track{background:rgba(var(--accent-rgb, 212, 165, 116),.1);border-radius:4px}.progression-table-container::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--accent, #3b82f6),var(--accent-dark, #b8956a));border-radius:4px;border:1px solid var(--background-elevated)}.progression-table-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,var(--accent-dark, #b8956a),var(--accent, #3b82f6))}.progression-table{width:100%;margin:0;box-shadow:none;border-collapse:separate;border-spacing:0;font-size:.9rem}.progression-table thead tr:first-child th{background:var(--accent-gradient, linear-gradient(135deg, #3b82f6, #b8956a));color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:.5px;position:sticky;top:0;z-index:10}.progression-table th,.progression-table td{padding:10px 6px;text-align:center;border-right:1px solid rgba(var(--accent-rgb, 212, 165, 116),.2);vertical-align:middle;font-size:.85rem}.progression-table th:last-child,.progression-table td:last-child{border-right:none}.progression-table th{background:var(--accent-gradient, linear-gradient(135deg, #3b82f6, #b8956a));color:#fff;font-weight:600;text-shadow:1px 1px 2px rgba(0,0,0,.3);border-bottom:2px solid var(--accent-dark, #b8956a)}.progression-table td{background:var(--background-elevated);border-bottom:1px solid rgba(var(--accent-rgb, 212, 165, 116),.15);transition:background-color .2s ease}.progression-table td:hover{background:rgba(var(--accent-rgb, 212, 165, 116),.05)}.progression-table th:first-child,.progression-table td:first-child{width:50px;min-width:50px;background:rgba(var(--accent-rgb, 212, 165, 116),.1);position:relative}.progression-table td:first-child .level-badge{display:inline-block;background:var(--accent, #3b82f6);color:#fff;border-radius:50%;width:28px;height:28px;line-height:28px;text-align:center;font-size:.8rem;font-weight:700;box-shadow:0 2px 4px #0003;transition:all .2s ease}.progression-table td:first-child .level-badge:hover{transform:scale(1.1);box-shadow:0 3px 6px #0000004d}.progression-table td:first-child:not(:has(.level-badge)){color:var(--accent-dark, #b8956a);background:var(--accent, #3b82f6);color:#fff;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.progression-table th:nth-child(2),.progression-table td:nth-child(2){width:70px;min-width:70px;font-weight:600}.progression-table .class-features-column{min-width:140px;max-width:160px;width:150px;text-align:left;padding-left:8px;padding-right:8px;line-height:1.2;white-space:normal;font-size:.85rem}.progression-table .spell-slot-header,.progression-table .spell-slot-cell{width:35px;min-width:35px;font-size:.8rem;font-weight:600}.progression-table .special-column{width:70px;min-width:70px;font-weight:500}.progression-table .spell-slots-group{background:var(--accent-gradient, linear-gradient(135deg, #3b82f6, #b8956a));color:#fff;font-weight:700;text-transform:uppercase;letter-spacing:1px;text-shadow:1px 1px 2px rgba(0,0,0,.4);border-bottom:3px solid var(--accent-dark, #b8956a)}.progression-table .highlight-level{background:linear-gradient(90deg,rgba(var(--accent-rgb, 212, 165, 116),.15),rgba(var(--accent-rgb, 212, 165, 116),.08))!important}.progression-table .highlight-level td{background:inherit!important;font-weight:600;border-bottom:2px solid rgba(var(--accent-rgb, 212, 165, 116),.3)}.progression-table .highlight-level td:first-child{color:var(--accent-dark, #b8956a);font-weight:800;background:rgba(var(--accent-rgb, 212, 165, 116),.25)!important;box-shadow:inset 2px 0 0 var(--accent, #3b82f6)}.progression-table tbody tr:nth-child(2n):not(.highlight-level){background:rgba(var(--accent-rgb, 212, 165, 116),.03)}.progression-table tbody tr:nth-child(2n):not(.highlight-level) td{background:rgba(var(--accent-rgb, 212, 165, 116),.03)}@media (max-width: 1200px){.progression-table{font-size:.8rem}.progression-table th,.progression-table td{padding:8px 4px}.progression-table td:first-child .level-badge{width:25px;height:25px;line-height:25px;font-size:.75rem}.progression-table .class-features-column{min-width:160px;max-width:180px;width:170px;font-size:.75rem;line-height:1.2}.progression-table .spell-slot-header,.progression-table .spell-slot-cell{width:30px;min-width:30px;font-size:.7rem}.progression-table .special-column{width:60px;min-width:60px}}@media (max-width: 768px){.progression-table-container{margin:15px -10px;border-radius:8px}.progression-table{font-size:.75rem}.progression-table th,.progression-table td{padding:6px 3px}.progression-table th:first-child,.progression-table td:first-child{width:40px;min-width:40px}.progression-table td:first-child .level-badge{width:22px;height:22px;line-height:22px;font-size:.7rem}.progression-table th:nth-child(2),.progression-table td:nth-child(2){width:55px;min-width:55px}.progression-table .class-features-column{min-width:140px;max-width:160px;width:150px;font-size:.7rem;padding-left:8px;padding-right:8px}.progression-table .spell-slot-header,.progression-table .spell-slot-cell{width:28px;min-width:28px;font-size:.65rem}.progression-table .special-column{width:50px;min-width:50px;font-size:.7rem}.progression-table th{font-size:.7rem;font-weight:600;letter-spacing:.3px}}@media (max-width: 480px){.progression-table-container{margin:10px -15px;border-radius:6px}.progression-table{font-size:.7rem}.progression-table th,.progression-table td{padding:5px 2px}.progression-table th:first-child,.progression-table td:first-child{width:35px;min-width:35px}.progression-table td:first-child .level-badge{width:20px;height:20px;line-height:20px;font-size:.65rem}.progression-table .class-features-column{min-width:120px;max-width:140px;width:130px;font-size:.65rem;padding-left:6px;padding-right:6px}.progression-table .spell-slot-header,.progression-table .spell-slot-cell{width:25px;min-width:25px;font-size:.6rem}.progression-table .special-column{width:45px;min-width:45px;font-size:.65rem}.dnd-card{padding:12px}.dnd-table{font-size:.8rem}.dnd-table th,.dnd-table td{padding:8px 6px}.dnd-section-header{font-size:1.4rem}}.selection-card{background:linear-gradient(135deg,var(--background-primary) 0%,rgba(35,35,35,.95) 100%)!important;border:2px solid var(--border-color);box-shadow:0 6px 20px #00000040;cursor:pointer;transition:all .3s ease}.selection-card:before{height:5px!important;background:var(--accent-gradient, linear-gradient(90deg, #3b82f6, #b8956a));opacity:.9}.selection-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000059;border-color:var(--accent, #3b82f6)}.selection-card:hover:before{height:6px!important;opacity:1}.selection-card.selected{border-color:var(--accent, #3b82f6);background:linear-gradient(135deg,var(--background-elevated) 0%,var(--background-primary) 100%)}.selection-card.selected:before{height:6px!important;opacity:1;background:var(--accent, #3b82f6)}.selection-card.needs-selection{border-color:#ffc107;box-shadow:0 6px 20px #ffc10733}.selection-card.needs-selection:before{background:linear-gradient(90deg,#ffc107,#ffb300)}.description-background{background:linear-gradient(135deg,var(--background-elevated) 0%,rgba(55,55,55,.8) 100%);border:1px solid var(--border-light);border-radius:8px;padding:16px 20px;margin:12px 0;box-shadow:inset 0 2px 4px #0000001a;color:var(--text-secondary);font-size:1rem;line-height:1.6;cursor:default}.description-background.with-accent{border-left:4px solid var(--accent, #3b82f6);padding-left:24px}.description-background.important{background:linear-gradient(135deg,#ffc1071a,#ffc1070d);border-color:#ffc107;border-left:4px solid #ffc107;padding-left:24px}.description-background.warning{background:linear-gradient(135deg,#dc35451a,#dc35450d);border-color:#dc3545;border-left:4px solid #dc3545;padding-left:24px}.expandable-section{margin:20px 0}.expandable-section .section-header{background:linear-gradient(135deg,var(--background-primary) 0%,var(--background-elevated) 100%);border:1px solid var(--border-color);border-radius:8px 8px 0 0;padding:16px 20px;cursor:pointer;transition:all .3s ease;position:relative}.expandable-section .section-header:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent-gradient, linear-gradient(90deg, #3b82f6, #b8956a));border-radius:8px 8px 0 0;opacity:.7}.expandable-section .section-header:hover{background:linear-gradient(135deg,var(--background-elevated) 0%,var(--background-primary) 100%);border-color:var(--accent, #3b82f6)}.expandable-section .section-header:hover:before{opacity:1;height:4px}.expandable-section .section-header h2,.expandable-section .section-header h3,.expandable-section .section-header h4{margin:0;color:var(--text-primary);display:flex;align-items:center;gap:12px;font-weight:600}.expandable-section .section-header .toggle-icon{color:var(--accent, #3b82f6);font-size:1.2em;transition:transform .3s ease;font-weight:700}.expandable-section .section-header .toggle-icon.expanded{transform:rotate(90deg)}.expandable-section .section-header.no-toggle{cursor:default}.expandable-section .section-header.no-toggle:hover{background:linear-gradient(135deg,var(--background-primary) 0%,var(--background-elevated) 100%);border-color:var(--border-color)}.expandable-section .section-content{border:1px solid var(--border-color);border-top:none;border-radius:0 0 8px 8px;background:var(--background-primary);transition:all .3s ease;overflow:hidden}.expandable-section .section-content.expanded{max-height:none;opacity:1;padding:20px}.expandable-section .section-content.collapsed{max-height:0;opacity:0;padding:0 20px}.expandable-section.always-expanded .section-header{border-radius:8px;cursor:default}.expandable-section.always-expanded .section-header .toggle-icon{display:none}.expandable-section.always-expanded .section-content{border:none;border-radius:0;background:transparent;padding:20px 0;max-height:none;opacity:1}.needs-attention{position:relative}.needs-attention:after{content:"\26a0\fe0f";position:absolute;top:-8px;right:-8px;background:#ffc107;color:#000;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;box-shadow:0 2px 8px #ffc10766}.selection-group{border:2px dashed var(--border-light);border-radius:12px;padding:20px;margin:16px 0;background:#ffffff05}.selection-group.complete{border-color:var(--accent, #3b82f6);border-style:solid;background:#d4a5740d}.selection-group .group-title{color:var(--accent, #3b82f6);font-weight:600;margin-bottom:12px;font-size:1.1em}@media (max-width: 768px){.selection-card{padding:16px}.selection-card:hover{transform:translateY(-2px)}.expandable-section .section-header{padding:12px 16px}.expandable-section .section-header h2,.expandable-section .section-header h3,.expandable-section .section-header h4{font-size:1.1em}.description-background{padding:12px 16px;font-size:.95rem}}@media (max-width: 480px){.selection-card{margin:8px 0}.expandable-section{margin:16px 0}.selection-group{padding:16px;margin:12px 0}}.m-0{margin:0!important}.m-1{margin:.5rem!important}.m-2{margin:1rem!important}.m-3{margin:1.5rem!important}.m-4{margin:2rem!important}.m-5{margin:3rem!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.5rem!important}.mt-2{margin-top:1rem!important}.mt-3{margin-top:1.5rem!important}.mt-4{margin-top:2rem!important}.mt-5{margin-top:3rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.5rem!important}.mb-2{margin-bottom:1rem!important}.mb-3{margin-bottom:1.5rem!important}.mb-4{margin-bottom:2rem!important}.mb-5{margin-bottom:3rem!important}.p-0{padding:0!important}.p-1{padding:.5rem!important}.p-2{padding:1rem!important}.p-3{padding:1.5rem!important}.p-4{padding:2rem!important}.p-5{padding:3rem!important}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-primary{color:var(--text-primary)!important}.text-secondary{color:var(--text-secondary)!important}.text-muted{color:var(--text-muted)!important}.text-class{color:var(--accent, #6c757d)!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fs-sm{font-size:.875rem!important}.fs-base{font-size:1rem!important}.fs-lg{font-size:1.125rem!important}.fs-xl{font-size:1.25rem!important}.fs-2xl{font-size:1.5rem!important}.fs-3xl{font-size:1.875rem!important}.d-none{display:none!important}.d-block{display:block!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-flex{display:flex!important}.d-grid{display:grid!important}.flex-column{flex-direction:column!important}.flex-row{flex-direction:row!important}.justify-center{justify-content:center!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.justify-between{justify-content:space-between!important}.align-center{align-items:center!important}.align-start{align-items:flex-start!important}.align-end{align-items:flex-end!important}.gap-1{gap:.5rem!important}.gap-2{gap:1rem!important}.gap-3{gap:1.5rem!important}.gap-4{gap:2rem!important}.grid-1{grid-template-columns:1fr!important}.grid-2{grid-template-columns:repeat(2,1fr)!important}.grid-3{grid-template-columns:repeat(3,1fr)!important}.grid-4{grid-template-columns:repeat(4,1fr)!important}.grid-auto{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))!important}.grid-auto-sm{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important}.grid-auto-lg{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))!important}.bg-primary{background:var(--bg-primary)!important}.bg-secondary{background:var(--bg-secondary)!important}.bg-elevated{background:var(--bg-elevated)!important}.bg-class{background:var(--accent, #6c757d)!important}.bg-class-light{background:var(--accent-light, #e9ecef)!important}.bg-gradient{background:var(--accent-gradient, linear-gradient(135deg, #6c757d, #5a6268))!important}.border{border:1px solid var(--border-light)!important}.border-class{border:1px solid var(--accent, #6c757d)!important}.border-class-thick{border:2px solid var(--accent, #6c757d)!important}.border-top{border-top:1px solid var(--border-light)!important}.border-bottom{border-bottom:1px solid var(--border-light)!important}.border-left{border-left:1px solid var(--border-light)!important}.border-right{border-right:1px solid var(--border-light)!important}.rounded{border-radius:.375rem!important}.rounded-lg{border-radius:.5rem!important}.rounded-xl{border-radius:.75rem!important}.rounded-2xl{border-radius:1rem!important}.shadow-none{box-shadow:none!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.shadow-xl{box-shadow:var(--shadow-xl)!important}.cursor-pointer{cursor:pointer!important}.cursor-default{cursor:default!important}.cursor-not-allowed{cursor:not-allowed!important}.hover-lift{transition:transform .2s ease!important}.hover-lift:hover{transform:translateY(-2px)!important}.hover-scale{transition:transform .2s ease!important}.hover-scale:hover{transform:scale(1.02)!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}@media (max-width: 768px){.hidden-mobile{display:none!important}.grid-mobile-1{grid-template-columns:1fr!important}.grid-mobile-2{grid-template-columns:repeat(2,1fr)!important}.text-mobile-center{text-align:center!important}.p-mobile-2{padding:1rem!important}.p-mobile-3{padding:1.5rem!important}.m-mobile-2{margin:1rem!important}.m-mobile-3{margin:1.5rem!important}}@media (min-width: 769px){.hidden-desktop{display:none!important}}.ae-roll-group{margin-bottom:.75rem}.ae-roll-label{display:block;font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem}.ae-roll-row{display:flex;align-items:stretch;gap:.5rem}.ae-roll-input{flex:1;padding:.6rem;font-size:1.1rem;font-weight:700;text-align:center;background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:0;color:#e2e8f0;transition:all .2s}.ae-roll-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 8px rgba(var(--accent-rgb),.15)}.ae-roll-input::placeholder{color:#475569;font-weight:400}.ae-roll-btn{padding:.6rem .75rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px;background:#10b98140;border:1px solid #10b981;border-radius:0;color:#10b981;cursor:pointer;white-space:nowrap;transition:all .2s}.ae-roll-btn:hover:not(:disabled){background:#10b98166}.ae-roll-btn:disabled{opacity:.35;cursor:not-allowed}.ae-roll-mod{align-self:center;font-size:.9rem;font-weight:600;color:#93c5fd;white-space:nowrap}.ae-roll-result{display:flex;align-items:center;gap:8px;margin-top:.4rem;padding:.4rem .75rem;background:#ffffff0a;border-left:2px solid #475569}.ae-roll-total{font-size:1.1rem;font-weight:800;color:#e2e8f0}.action-buttons{display:flex;gap:8px;margin-top:12px}.action-buttons button{flex:1;padding:10px 16px;border-radius:0;font-size:11px;font-weight:700;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.action-buttons button:disabled{opacity:.35;cursor:not-allowed}.execute-primary,.btn-border-success{background:#10b98140;border:1px solid #10b981;color:#10b981}.execute-primary:not(:disabled),.btn-border-success:not(:disabled){background:#10b98166;box-shadow:0 0 8px #10b9814d}.execute-primary:hover:not(:disabled),.btn-border-success:hover:not(:disabled){background:#10b98180}.execute-primary:disabled,.btn-border-success:disabled{opacity:.35;cursor:not-allowed}.cancel-secondary,.btn-border-danger{background:#ef444440;border:1px solid #ef4444;color:#ef4444}.cancel-secondary:hover:not(:disabled),.btn-border-danger:hover:not(:disabled){background:#ef444466}.cancel-secondary:disabled,.btn-border-danger:disabled{opacity:.35;cursor:not-allowed}.neutral-action{background:#d4af3740;border:1px solid #d4af37;color:#d4af37}.neutral-action:hover:not(:disabled){background:#d4af3766}.neutral-action:disabled{opacity:.35;cursor:not-allowed}.accent-action{background:rgba(var(--accent-rgb, 212, 175, 55),.25);border:1px solid var(--accent, #d4af37);color:var(--accent, #d4af37)}.accent-action:hover:not(:disabled){background:rgba(var(--accent-rgb, 212, 175, 55),.4)}.accent-action:disabled{opacity:.35;cursor:not-allowed}.roll-all-leap-btn,.roll-all-btn,.roll-btn,.btn-roll-all,.btn-roll-single,.quick-roll-btn,.btn-auto-roll,.roll-auto-btn{background:#10b98140;border:1px solid #10b981;border-radius:0;color:#10b981;font-weight:700;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;white-space:nowrap;transition:all .2s}.roll-all-leap-btn:hover:not(:disabled),.roll-all-btn:hover:not(:disabled),.roll-btn:hover:not(:disabled),.btn-roll-all:hover:not(:disabled),.btn-roll-single:hover:not(:disabled),.quick-roll-btn:hover:not(:disabled),.btn-auto-roll:hover:not(:disabled),.roll-auto-btn:hover:not(:disabled){background:#10b98166}.roll-all-leap-btn:disabled,.roll-all-btn:disabled,.roll-btn:disabled,.btn-roll-all:disabled,.btn-roll-single:disabled,.quick-roll-btn:disabled,.btn-auto-roll:disabled,.roll-auto-btn:disabled{opacity:.35;cursor:not-allowed}.roll-auto-btn,.btn-auto-roll{padding:6px 12px;font-size:.8rem}.quick-roll-btn{padding:.6rem .75rem;font-size:.8rem}.btn-roll-single{padding:4px 10px;font-size:.75rem}.btn-roll-all{padding:6px 14px;font-size:.8rem}.roll-btn{padding:6px 12px;font-size:.8rem}.roll-all-btn,.roll-all-leap-btn{padding:.65rem 1.25rem;font-size:.95rem}.combat-input,.combat-input-narrow,.combat-input-wide{background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:0;color:#e2e8f0;padding:.6rem;font-size:1rem;font-weight:700;text-align:center}.combat-input:focus,.combat-input-narrow:focus,.combat-input-wide:focus{border-color:var(--accent);outline:none;box-shadow:0 0 8px rgba(var(--accent-rgb),.15)}.combat-input::placeholder,.combat-input-narrow::placeholder,.combat-input-wide::placeholder{color:#475569;font-weight:400}.combat-input-wide{width:100%}.combat-input-narrow{width:64px}.combat-select{background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:0;color:#e2e8f0;padding:.5rem .75rem;font-size:.85rem;font-weight:600;cursor:pointer}.combat-select:focus{border-color:var(--accent);outline:none}.combat-select option{background:#1a1a1a;color:#e0e0e0}.action-card{background:#1e1e1e;border:1px solid rgba(255,255,255,.1);border-radius:0;padding:12px;cursor:pointer;transition:border-color .2s,background .2s}.action-card:hover{background:rgba(var(--accent-rgb, 212, 175, 55),.1);border-color:rgba(var(--accent-rgb, 212, 175, 55),.5)}.action-card.selected{background:#22c55e1f;border-color:#22c55e}.action-card.disabled,.action-card[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.section-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:.8rem;font-weight:700;color:var(--accent, #d4af37);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;-webkit-user-select:none;user-select:none}.section-header:hover{background:rgba(var(--accent-rgb, 212, 175, 55),.08)}.combat-panel,.combat-panel-accent{background:#1e1e1e;border:1px solid rgba(255,255,255,.1);border-radius:0;padding:12px}.combat-panel-accent{border-left:4px solid var(--accent, #d4af37)}.combat-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-radius:0}.combat-badge.badge-success{background:#22c55e40;color:#4ade80;border:1px solid rgba(34,197,94,.5)}.combat-badge.badge-danger{background:#ef444440;color:#fca5a5;border:1px solid rgba(239,68,68,.5)}.combat-badge.badge-info{background:#3b82f640;color:#93c5fd;border:1px solid rgba(59,130,246,.5)}.combat-badge.badge-warning{background:#f59e0b40;color:#fbbf24;border:1px solid rgba(245,158,11,.5)}.hit-miss-badge{padding:2px 8px;font-size:11px;font-weight:700;text-transform:uppercase;border-radius:0}.hit-miss-badge.hit{background:#22c55e40;color:#4ade80;border:1px solid rgba(34,197,94,.5)}.hit-miss-badge.miss{background:#ef444440;color:#fca5a5;border:1px solid rgba(239,68,68,.5)}.field-label{font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.35rem}.msa-actions{display:flex;gap:8px}.msa-actions button,.msa-actions .execute-primary,.msa-actions .btn-border-success,.msa-actions .cancel-secondary,.msa-actions .btn-border-danger{padding:8px 16px;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease;border-radius:0}.msa-actions .execute-primary,.msa-actions .btn-border-success{flex:1}.target-select optgroup,.spell-dropdown optgroup,.browser-spell-select optgroup{font-weight:700;color:var(--accent, #d4af37);background:#1a1a1a;font-size:.85rem;padding:4px 0}.target-select option,.spell-dropdown option,.browser-spell-select option{background:#1a1a1a;color:#e0e0e0;font-weight:400;padding:4px 8px}.combat-spell-card ::ng-deep .spell-card-container:hover{transform:none}.btn{padding:10px 20px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#ffffffe6;cursor:pointer;transition:all .2s;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;font-family:inherit}.btn:hover{border-color:#ffffff80;background:#ffffff0d}.btn:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--accent, #3b82f6);border-color:var(--accent, #3b82f6);color:#000}.btn--primary:hover{filter:brightness(1.1);background:var(--accent, #3b82f6)}.btn--danger{border-color:#ef4444;color:#ef4444}.btn--danger:hover{background:#ef44441a}.btn--success{border-color:#22c55e;color:#22c55e}.btn--success:hover{background:#22c55e1a}.btn--sm{padding:6px 12px;font-size:.7rem}.btn--lg{padding:14px 28px;font-size:.85rem}.btn--block{width:100%}.card{background:#1e1e1e;border:1px solid rgba(255,255,255,.1);padding:16px;transition:all .2s}.card--accent{border-left:4px solid var(--accent, #3b82f6)}.card--hover:hover{transform:translateY(-2px);border-color:#fff3;box-shadow:0 4px 12px #0000004d}.card__header{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#ffffffb3;margin-bottom:8px}.card__body{color:#ffffffe6}.form-input,.form-select,.form-textarea{width:100%;min-height:50px;padding:12px 16px;background:#0f172a99;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.9rem;font-family:inherit;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent, #3b82f6);box-shadow:0 0 0 1px var(--accent, #3b82f6)}.form-input::placeholder,.form-select::placeholder,.form-textarea::placeholder{color:#ffffff4d}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.form-textarea{min-height:100px;resize:vertical}.form-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#ffffff80;margin-bottom:6px}.tab-nav{display:flex;gap:0;border-bottom:2px solid rgba(255,255,255,.1);background:#0003}.tab-nav--fill .tab-btn{flex:1;text-align:center;justify-content:center}.tab-nav--compact .tab-btn{padding:8px 12px;font-size:.7rem}.tab-nav--scrollable{overflow-x:auto;-webkit-overflow-scrolling:touch}.tab-nav--scrollable::-webkit-scrollbar{height:4px}.tab-nav--scrollable::-webkit-scrollbar-track{background:transparent}.tab-nav--scrollable::-webkit-scrollbar-thumb{background:var(--accent)}.tab-nav--transparent{background:transparent}.tab-btn{padding:12px 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:#fff9;cursor:pointer;text-transform:uppercase;font-size:.8rem;font-weight:600;letter-spacing:.5px;font-family:inherit;transition:all .2s;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.tab-btn:hover{color:#ffffffe6;background:#ffffff0d}.tab-btn--active,.tab-btn.active{color:var(--accent);border-bottom-color:var(--accent)}.tab-btn:disabled{opacity:.4;cursor:not-allowed}.tab-badge{background:rgba(var(--accent-rgb),.2);padding:2px 8px;font-size:.7rem;font-weight:700;color:var(--accent)}.tab-content{padding:1rem}.section-header{border-left:4px solid var(--accent, #3b82f6);padding-left:12px;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:#ffffffb3;margin-bottom:12px}.panel{background:#1e1e1e;border:1px solid rgba(255,255,255,.1);padding:16px;position:relative}.close-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.2);color:#fff9;cursor:pointer;font-size:14px;font-family:inherit;transition:all .2s}.close-btn:hover{border-color:#ef4444;color:#ef4444;background:#ef44441a}*,*:before,*:after{border-radius:0!important}:root,[data-theme=dark]{color-scheme:dark;--color-primary: #d4af37;--color-primary-rgb: 212, 175, 55;--color-primary-dark: #b8941f;--color-primary-light: color-mix(in srgb, var(--color-primary) 70%, white);--accent: var(--color-primary);--accent-rgb: var(--color-primary-rgb);--accent-dark: var(--color-primary-dark);--accent-light: var(--color-primary-light);--color-danger: #ef4444;--color-success: #10b981;--color-warning: #f59e0b;--color-surface: #1e1e1e;--color-bg: #0a0a0a;--color-border: rgba(255, 255, 255, .1);--color-text: #ffffff;--color-text-muted: rgba(255, 255, 255, .7);--color-text-dim: rgba(255, 255, 255, .4)}[data-theme=light]{color-scheme:light;--color-surface: #ffffff;--color-bg: #f5f5f5;--color-border: rgba(0, 0, 0, .12);--color-text: #1a1a1a;--color-text-muted: rgba(0, 0, 0, .6);--color-text-dim: rgba(0, 0, 0, .35)}body.role-player{--color-primary: var(--class-color, #d4af37);--color-primary-rgb: var(--class-color-rgb, 212, 175, 55);--color-primary-dark: var(--class-color-dark, #b8941f)}body.role-dm{--color-primary: #c73032;--color-primary-rgb: 199, 48, 50;--color-primary-dark: #9a2426}body.role-admin{--color-primary: #507F82;--color-primary-rgb: 80, 127, 130;--color-primary-dark: #3d6164}:root,[data-theme=dark]{--background-dark: var(--bg-page);--background-primary: var(--color-surface);--background-secondary: var(--bg-elevated);--background-tertiary: var(--bg-surface-elevated);--background-elevated: var(--bg-elevated);--background-darker: #0d1117;--text-primary: var(--color-text);--text-secondary: var(--color-text-muted);--text-muted: var(--color-text-dim);--text-dark: #24292f;--border-color: var(--color-border);--border-light: rgba(255, 255, 255, .15);--border-dark: rgba(255, 255, 255, .06);--accent-red: var(--color-danger);--accent-green: var(--color-success);--success: var(--color-success);--warning: var(--color-warning);--danger: var(--color-danger);--card-background: var(--color-surface);--card-border: var(--color-border);--modal-overlay-bg: #0a0a12;--modal-content-bg: var(--color-surface);--modal-border: rgba(255, 255, 255, .2);--input-background: var(--bg-input);--input-border: var(--color-border);--input-focus: var(--color-primary)}[data-theme=light]{--background-dark: var(--bg-page);--background-primary: var(--color-surface);--background-secondary: var(--bg-elevated);--background-tertiary: var(--bg-surface-elevated);--background-elevated: var(--bg-elevated);--background-darker: #eaeaea;--text-primary: var(--color-text);--text-secondary: var(--color-text-muted);--text-muted: var(--color-text-dim);--text-dark: #111;--border-color: var(--color-border);--border-light: rgba(0, 0, 0, .08);--border-dark: rgba(0, 0, 0, .15);--accent-red: var(--color-danger);--accent-green: var(--color-success);--success: var(--color-success);--warning: var(--color-warning);--danger: var(--color-danger);--card-background: var(--color-surface);--card-border: var(--color-border);--modal-overlay-bg: rgba(0, 0, 0, .5);--modal-content-bg: var(--color-surface);--modal-border: rgba(0, 0, 0, .15);--input-background: var(--bg-input);--input-border: var(--color-border);--input-focus: var(--color-primary)}body{margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--bg-page);color:var(--color-text);min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}.modal-overlay{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background:var(--modal-overlay-bg)!important;background-color:var(--modal-overlay-bg)!important;opacity:1!important;backdrop-filter:blur(4px);display:flex!important;align-items:center!important;justify-content:center!important;z-index:1000!important;padding:20px;animation:fadeIn .3s ease-in-out}.modal-content{background-color:var(--modal-content-bg)!important;border:1px solid var(--modal-border);border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #00000080;animation:slideUp .3s ease-out;position:relative}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color);background-color:var(--background-secondary);border-radius:12px 12px 0 0}.modal-header h3,.modal-header h2{margin:0;color:var(--text-primary);font-size:1.5rem;font-weight:600}.modal-header .close-button{background:transparent;border:none;color:var(--text-secondary);font-size:1.5rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.modal-header .close-button:hover{background-color:var(--background-tertiary);color:var(--text-primary)}.modal-body{padding:24px;color:var(--text-primary)}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.modal-content{max-width:95%;max-height:95vh}.modal-header{padding:16px 20px}.modal-header h3,.modal-header h2{font-size:1.25rem}.modal-body{padding:20px}}html{background-color:var(--bg-page)}input,textarea,select{background-color:var(--bg-input);color:var(--color-text);border:1px solid var(--color-border);padding:.75rem;font-family:inherit;min-height:44px;line-height:1.5;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search]{height:44px;min-height:44px}textarea{min-height:100px;height:auto;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb),.2)}select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23888' d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px;padding-right:2.5rem}select option{background-color:var(--bg-input);color:var(--color-text);padding:.5rem}select optgroup{background-color:var(--bg-surface-elevated);color:var(--color-primary);font-weight:700;font-style:normal;padding:.5rem}select optgroup option{background-color:var(--bg-input);color:var(--color-text);padding-left:1.5rem}.form-control{color:var(--color-text);background-color:var(--bg-input)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-weight:500}.form-input{width:100%;background-color:var(--input-background);color:var(--text-primary);border:1px solid var(--input-border);border-radius:4px;padding:10px 12px}.form-input:focus{border-color:var(--input-focus);box-shadow:0 0 0 2px #3b82f633}table{background-color:var(--card-background);color:var(--text-primary)}.modal-overlay,div.modal-overlay,[class*=modal-overlay]{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;background:#0d0d1a!important;background-color:#0d0d1a!important;background-image:none!important;opacity:1!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:1000!important;isolation:isolate!important}app-campaign-lobby .modal-overlay,.campaign-lobby .modal-overlay{background:#0d0d1a!important;background-color:#0d0d1a!important}.modal-content{background:var(--modal-content-bg)!important;background-color:var(--modal-content-bg)!important;color:var(--text-primary)!important;border:2px solid var(--modal-border)!important;border-radius:16px!important;box-shadow:0 10px 40px #00000080!important;position:relative!important;z-index:1001!important;max-width:90%!important;max-height:90vh!important;overflow:auto!important}.loading{color:var(--text-secondary)}.error-message{background-color:#dc35451a;color:var(--danger);border:1px solid var(--danger);border-radius:4px;padding:10px;margin:10px 0}.success-message{background-color:#28a7451a;color:var(--success);border:1px solid var(--success);border-radius:4px;padding:10px;margin:10px 0}.navbar,.header{background-color:var(--background-secondary);color:var(--text-primary);border-bottom:1px solid var(--border-color)}.sidebar{background-color:var(--background-secondary);color:var(--text-primary);border-right:1px solid var(--border-color)}html,body{background-color:var(--background-dark)!important;color:var(--text-primary)!important}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .2s ease,color .2s ease,border-color .2s ease!important}:root{--mobile-padding: 16px;--mobile-gap: 12px;--touch-target-size: 44px;--safe-area-inset-top: env(safe-area-inset-top);--safe-area-inset-bottom: env(safe-area-inset-bottom);--safe-area-inset-left: env(safe-area-inset-left);--safe-area-inset-right: env(safe-area-inset-right)}*{box-sizing:border-box}html{font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f9fafb;color:#111827;overflow-x:hidden}h1,h2,h3,h4,h5,h6{line-height:1.3;margin:0 0 1rem}h1{font-size:1.875rem;font-weight:700}h2{font-size:1.5rem;font-weight:600}h3{font-size:1.25rem;font-weight:600}p{margin:0 0 1rem;line-height:1.6}input,textarea,select,button{font-size:16px;font-family:inherit}input,textarea{padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;transition:border-color .2s,box-shadow .2s;width:100%;max-width:100%}select{padding:12px 16px;border-radius:8px;transition:border-color .2s,box-shadow .2s;width:100%;max-width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--theme-primary, #4a9eff);box-shadow:0 0 0 3px rgba(var(--theme-primary-rgb, 74, 158, 255),.1)}button{min-height:var(--touch-target-size);padding:12px 24px;border:none;border-radius:8px;background-color:var(--theme-primary, #4a9eff);color:#fff;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s;touch-action:manipulation}button:hover{background-color:var(--theme-primary-dark, #3a8eef);filter:brightness(1.1)}button:active{transform:scale(.98)}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background-color:#ffffff1a;color:#ffffffe6;border:1px solid rgba(255,255,255,.15)}.btn-secondary:hover{background-color:#ffffff26;border-color:#ffffff4d}a{color:var(--theme-primary, #4a9eff);text-decoration:none;transition:color .2s}a:hover{color:var(--theme-primary-dark, #3a8eef);text-decoration:underline}.mobile-container{max-width:100%;margin:0 auto;padding:0 var(--mobile-padding)}.mobile-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;border:1px solid rgba(0,0,0,.05);padding:var(--mobile-padding);margin-bottom:var(--mobile-gap)}.mobile-grid{display:grid;gap:var(--mobile-gap);grid-template-columns:1fr}@media (min-width: 480px){.mobile-grid-2{grid-template-columns:1fr 1fr}}.mobile-spacing{padding:var(--mobile-padding)}.mobile-spacing-sm{padding:calc(var(--mobile-padding) * .5)}.mobile-spacing-lg{padding:calc(var(--mobile-padding) * 1.5)}.mobile-list{list-style:none;padding:0;margin:0}.mobile-list-item{padding:12px 0;border-bottom:1px solid #f3f4f6;min-height:var(--touch-target-size);display:flex;align-items:center}.mobile-list-item:last-child{border-bottom:none}.mobile-table{width:100%;border-collapse:collapse;font-size:14px}.mobile-table th,.mobile-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #f3f4f6}.mobile-table th{background-color:#f9fafb;font-weight:600;position:sticky;top:0;z-index:10}@media (max-width: 767px){.mobile-table-responsive{display:block;overflow-x:auto;white-space:nowrap}.mobile-table-stack{display:block}.mobile-table-stack thead{display:none}.mobile-table-stack tbody,.mobile-table-stack tr,.mobile-table-stack td{display:block}.mobile-table-stack tr{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:8px;padding:8px}.mobile-table-stack td{border:none;position:relative;padding:4px 0 4px 50%}.mobile-table-stack td:before{content:attr(data-label);position:absolute;left:6px;width:45%;padding-right:10px;white-space:nowrap;font-weight:600;color:#6b7280}}.mobile-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:#00000080;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.mobile-modal-content{background:#fff;border-radius:16px 16px 0 0;width:100%;max-height:90vh;overflow-y:auto;padding:var(--mobile-padding);padding-bottom:calc(var(--mobile-padding) + var(--safe-area-inset-bottom));transform:translateY(100%);transition:transform .3s ease-out}.mobile-modal.show .mobile-modal-content{transform:translateY(0)}.mobile-tabs{display:flex;background:#f3f4f6;border-radius:8px;padding:4px;margin-bottom:var(--mobile-gap);overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-tab{flex:1;min-width:0;padding:8px 12px;text-align:center;border-radius:6px;cursor:pointer;transition:background-color .2s,color .2s;white-space:nowrap;font-size:14px;font-weight:500;color:#6b7280}.mobile-tab.active{background:#fff;color:#8b5cf6;box-shadow:0 1px 3px #0000001a}.mobile-accordion{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.mobile-accordion-header{background:#f9fafb;padding:16px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background-color .2s;min-height:var(--touch-target-size)}.mobile-accordion-header:hover{background:#f3f4f6}.mobile-accordion-content{padding:16px;border-top:1px solid #e5e7eb;display:none}.mobile-accordion-content.show{display:block}.mobile-form-group{margin-bottom:16px}.mobile-form-label{display:block;margin-bottom:4px;font-weight:500;color:#374151;font-size:14px}.mobile-form-help{font-size:12px;color:#6b7280;margin-top:4px}.mobile-form-error{color:#ef4444;font-size:12px;margin-top:4px}.mobile-alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;border-left:4px solid}.mobile-alert-success{background:#f0fdf4;border-color:#22c55e;color:#15803d}.mobile-alert-warning{background:#fffbeb;border-color:#f59e0b;color:#d97706}.mobile-alert-error{background:#fef2f2;border-color:#ef4444;color:#dc2626}.mobile-alert-info{background:#f0f9ff;border-color:#3b82f6;color:#1d4ed8}@supports (padding: max(0px)){.safe-area-top{padding-top:max(var(--mobile-padding),var(--safe-area-inset-top))}.safe-area-bottom{padding-bottom:max(var(--mobile-padding),var(--safe-area-inset-bottom))}.safe-area-left{padding-left:max(var(--mobile-padding),var(--safe-area-inset-left))}.safe-area-right{padding-right:max(var(--mobile-padding),var(--safe-area-inset-right))}}.hide-mobile{display:none}.show-mobile{display:block}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.w-full{width:100%}.h-full{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.mt-2{margin-top:8px}.mt-4{margin-top:16px}.mb-2{margin-bottom:8px}.mb-4{margin-bottom:16px}.p-2{padding:8px}.p-4{padding:16px}.rounded{border-radius:8px}.rounded-lg{border-radius:12px}.shadow{box-shadow:0 1px 3px #0000001a}.shadow-lg{box-shadow:0 4px 6px #0000001a}@media (min-width: 768px){.hide-mobile{display:block}.show-mobile{display:none}.mobile-container{max-width:768px}.mobile-grid{grid-template-columns:repeat(2,1fr)}.mobile-modal{align-items:center}.mobile-modal-content{width:90%;max-width:500px;max-height:80vh;border-radius:16px;transform:scale(.9)}.mobile-modal.show .mobile-modal-content{transform:scale(1)}}@media (min-width: 1024px){.mobile-container{max-width:1024px}.mobile-grid{grid-template-columns:repeat(3,1fr)}}.fade-in{animation:fadeIn .3s ease-out}.slide-up{animation:slideUp .3s ease-out}.slide-down{animation:slideDown .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}*:focus{outline:2px solid #8b5cf6;outline-offset:2px}button:focus,input:focus,textarea:focus,select:focus{outline:none;box-shadow:0 0 0 3px #8b5cf61a}@media (prefers-contrast: high){button,.mobile-card,input,textarea,select{border:2px solid #000}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.modal-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#0a0a12d9;background-color:#0a0a12d9;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:1;margin:0;padding:0}.modal-content{background:#1a1a1a;background-color:#1a1a1a;color:#f0f6fc;border:2px solid rgba(255,255,255,.2);border-radius:16px;box-shadow:0 10px 40px #00000080;position:relative;z-index:10001;max-width:90%;max-height:90vh;overflow:auto}div.modal-overlay,section.modal-overlay,aside.modal-overlay,.campaign-lobby .modal-overlay,app-campaign-lobby .modal-overlay{background:#0a0a12d9;background-color:#0a0a12d9;opacity:1}div.modal-content,.campaign-lobby .modal-content,app-campaign-lobby .modal-content{background:#1a1a1a;background-color:#1a1a1a}
