@charset "UTF-8";:root{--barbarian-primary: #dc3545;--barbarian-light: #f8d7da;--barbarian-dark: #721c24;--barbarian-gradient: linear-gradient(135deg, #dc3545, #c82333);--bard-primary: #6f42c1;--bard-light: #e2d9f3;--bard-dark: #492e87;--bard-gradient: linear-gradient(135deg, #6f42c1, #5a2d91);--cleric-primary: #ffc107;--cleric-light: #fff3cd;--cleric-dark: #856404;--cleric-gradient: linear-gradient(135deg, #ffc107, #e0a800);--druid-primary: #28a745;--druid-light: #d4edda;--druid-dark: #155724;--druid-gradient: linear-gradient(135deg, #28a745, #1e7e34);--fighter-primary: #6c757d;--fighter-light: #e9ecef;--fighter-dark: #343a40;--fighter-gradient: linear-gradient(135deg, #6c757d, #5a6268);--monk-primary: #fd7e14;--monk-light: #fdebd0;--monk-dark: #8a4000;--monk-gradient: linear-gradient(135deg, #fd7e14, #e8690b);--paladin-primary: #007bff;--paladin-light: #cce5ff;--paladin-dark: #004085;--paladin-gradient: linear-gradient(135deg, #007bff, #0056b3);--ranger-primary: #20c997;--ranger-light: #c3f4e8;--ranger-dark: #0d5f47;--ranger-gradient: linear-gradient(135deg, #20c997, #17a085);--rogue-primary: #343a40;--rogue-light: #d6d8db;--rogue-dark: #1a1e21;--rogue-gradient: linear-gradient(135deg, #343a40, #23272b);--sorcerer-primary: #e74c3c;--sorcerer-light: #fadbd8;--sorcerer-dark: #922b21;--sorcerer-gradient: linear-gradient(135deg, #e74c3c, #c0392b);--warlock-primary: #8e44ad;--warlock-light: #e8d5e8;--warlock-dark: #5b2c6f;--warlock-gradient: linear-gradient(135deg, #8e44ad, #732d91);--wizard-primary: #3498db;--wizard-light: #d5dbdb;--wizard-dark: #1f618d;--wizard-gradient: linear-gradient(135deg, #3498db, #2980b9);--primary-gold: #d4a574;--secondary-gold: #b8956a;--bright-gold: #e6c085;--light-gold: #f4e6d1;--background-primary: #2d2d2d;--background-secondary: #232323;--background-darker: #1a1a1a;--background-elevated: #373737;--background-hover: rgba(255, 255, 255, .08);--modal-overlay-bg: rgba(10, 10, 18, .85);--modal-content-bg: #1a1a1a;--modal-border: rgba(255, 255, 255, .3);--border-light: rgba(212, 165, 116, .2);--border-color: rgba(212, 165, 116, .3);--border-dark: rgba(212, 165, 116, .5);--border-accent: rgba(212, 165, 116, .5);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .8);--text-muted: rgba(255, 255, 255, .6);--text-light: rgba(255, 255, 255, .9);--accent-primary: #3b82f6;--accent-success: #22c55e;--accent-warning: #f59e0b;--accent-danger: #ef4444;--accent-info: #06b6d4;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1)}[data-class=barbarian]{--class-color: var(--barbarian-primary);--class-color-light: var(--barbarian-light);--class-color-dark: var(--barbarian-dark);--class-gradient: var(--barbarian-gradient);--class-color-rgb: 220, 53, 69}[data-class=bard]{--class-color: var(--bard-primary);--class-color-light: var(--bard-light);--class-color-dark: var(--bard-dark);--class-gradient: var(--bard-gradient);--class-color-rgb: 111, 66, 193}[data-class=cleric]{--class-color: var(--cleric-primary);--class-color-light: var(--cleric-light);--class-color-dark: var(--cleric-dark);--class-gradient: var(--cleric-gradient);--class-color-rgb: 255, 193, 7}[data-class=druid]{--class-color: var(--druid-primary);--class-color-light: var(--druid-light);--class-color-dark: var(--druid-dark);--class-gradient: var(--druid-gradient);--class-color-rgb: 40, 167, 69}[data-class=fighter]{--class-color: var(--fighter-primary);--class-color-light: var(--fighter-light);--class-color-dark: var(--fighter-dark);--class-gradient: var(--fighter-gradient);--class-color-rgb: 108, 117, 125}[data-class=monk]{--class-color: var(--monk-primary);--class-color-light: var(--monk-light);--class-color-dark: var(--monk-dark);--class-gradient: var(--monk-gradient);--class-color-rgb: 253, 126, 20}[data-class=paladin]{--class-color: var(--paladin-primary);--class-color-light: var(--paladin-light);--class-color-dark: var(--paladin-dark);--class-gradient: var(--paladin-gradient);--class-color-rgb: 0, 123, 255}[data-class=ranger]{--class-color: var(--ranger-primary);--class-color-light: var(--ranger-light);--class-color-dark: var(--ranger-dark);--class-gradient: var(--ranger-gradient);--class-color-rgb: 32, 201, 151}[data-class=rogue]{--class-color: var(--rogue-primary);--class-color-light: var(--rogue-light);--class-color-dark: var(--rogue-dark);--class-gradient: var(--rogue-gradient);--class-color-rgb: 52, 58, 64}[data-class=sorcerer]{--class-color: var(--sorcerer-primary);--class-color-light: var(--sorcerer-light);--class-color-dark: var(--sorcerer-dark);--class-gradient: var(--sorcerer-gradient);--class-color-rgb: 231, 76, 60}[data-class=warlock]{--class-color: var(--warlock-primary);--class-color-light: var(--warlock-light);--class-color-dark: var(--warlock-dark);--class-gradient: var(--warlock-gradient);--class-color-rgb: 142, 68, 173}[data-class=wizard]{--class-color: var(--wizard-primary);--class-color-light: var(--wizard-light);--class-color-dark: var(--wizard-dark);--class-gradient: var(--wizard-gradient);--class-color-rgb: 52, 152, 219}:root{--class-color: #d4a574;--class-color-light: #f4e6d1;--class-color-dark: #b8956a;--class-gradient: linear-gradient(135deg, #d4a574, #b8956a);--primary-gold: #d4a574;--secondary-gold: #b8956a;--bright-gold: #e6c085;--light-gold: #f4e6d1;--background-primary: rgba(45, 45, 45, .95);--background-secondary: rgba(35, 35, 35, .98);--background-darker: #1a1a1a;--background-elevated: rgba(55, 55, 55, .9);--background-hover: rgba(255, 255, 255, .08);--border-light: rgba(212, 165, 116, .2);--border-color: rgba(212, 165, 116, .3);--border-accent: rgba(212, 165, 116, .5);--text-primary: #ffffff;--text-secondary: rgba(255, 255, 255, .8);--text-muted: rgba(255, 255, 255, .6);--text-accent: #d4a574;--text-light: #f5f5f5;--text-dark: #1a1a1a;--border-dark: rgba(70, 70, 70, .5)}.class-themed{border-color:var(--class-color)!important}.class-themed.accent-text{color:var(--class-color)!important}.class-themed.accent-bg{background:var(--class-color)!important}.class-themed.accent-border{border:2px solid var(--class-color)!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(--class-gradient, linear-gradient(90deg, #d4a574, #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(--class-color, #d4a574)}.dnd-card.selectable:hover:before{height:6px;background:var(--class-color, #d4a574)}.dnd-card.selectable.selected{border-color:var(--class-color, #d4a574);box-shadow:0 8px 25px #0006;transform:translateY(-4px)}.dnd-card.selectable.selected:before{height:6px;background:var(--class-color, #d4a574);opacity:1}.dnd-card-title{font-size:1.4rem;font-weight:600;color:var(--class-color, #d4a574);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(--class-gradient, linear-gradient(135deg, #d4a574, #b8956a));color:#fff;padding:16px;text-align:left;font-weight:600;border-bottom:3px solid var(--class-color-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(--class-color, #d4a574),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(--class-color, #d4a574)}.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(--class-color, #d4a574);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(--class-color, #d4a574);background:transparent;color:var(--class-color, #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(--class-color, #6c757d);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-md)}.dnd-btn:active{transform:translateY(0)}.dnd-btn.primary{background:var(--class-color, #6c757d);color:#fff}.dnd-btn.primary:hover{background:var(--class-color-dark, #495057);border-color:var(--class-color-dark, #495057);transform:translateY(-2px)}.dnd-btn.outline{background:transparent;border:2px solid var(--class-color, #6c757d);color:var(--class-color, #6c757d)}.dnd-btn.gradient{background:var(--class-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(--class-color, #6c757d);margin-bottom:20px;padding-bottom:10px;border-bottom:3px solid var(--class-color, #6c757d);position:relative}.dnd-section-header:after{content:"";position:absolute;bottom:-3px;left:0;width:50px;height:3px;background:var(--class-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(--class-color, #6c757d)}.dnd-info-box h3,.dnd-info-box h4{color:var(--class-color, #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(--class-color, #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(--class-color-rgb, 212, 165, 116),.3)}.progression-table-container::-webkit-scrollbar{height:8px}.progression-table-container::-webkit-scrollbar-track{background:rgba(var(--class-color-rgb, 212, 165, 116),.1);border-radius:4px}.progression-table-container::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--class-color, #d4a574),var(--class-color-dark, #b8956a));border-radius:4px;border:1px solid var(--background-elevated)}.progression-table-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,var(--class-color-dark, #b8956a),var(--class-color, #d4a574))}.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(--class-gradient, linear-gradient(135deg, #d4a574, #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(--class-color-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(--class-gradient, linear-gradient(135deg, #d4a574, #b8956a));color:#fff;font-weight:600;text-shadow:1px 1px 2px rgba(0,0,0,.3);border-bottom:2px solid var(--class-color-dark, #b8956a)}.progression-table td{background:var(--background-elevated);border-bottom:1px solid rgba(var(--class-color-rgb, 212, 165, 116),.15);transition:background-color .2s ease}.progression-table td:hover{background:rgba(var(--class-color-rgb, 212, 165, 116),.05)}.progression-table th:first-child,.progression-table td:first-child{width:50px;min-width:50px;background:rgba(var(--class-color-rgb, 212, 165, 116),.1);position:relative}.progression-table td:first-child .level-badge{display:inline-block;background:var(--class-color, #d4a574);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(--class-color-dark, #b8956a);background:var(--class-color, #d4a574);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(--class-gradient, linear-gradient(135deg, #d4a574, #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(--class-color-dark, #b8956a)}.progression-table .highlight-level{background:linear-gradient(90deg,rgba(var(--class-color-rgb, 212, 165, 116),.15),rgba(var(--class-color-rgb, 212, 165, 116),.08))!important}.progression-table .highlight-level td{background:inherit!important;font-weight:600;border-bottom:2px solid rgba(var(--class-color-rgb, 212, 165, 116),.3)}.progression-table .highlight-level td:first-child{color:var(--class-color-dark, #b8956a);font-weight:800;background:rgba(var(--class-color-rgb, 212, 165, 116),.25)!important;box-shadow:inset 2px 0 0 var(--class-color, #d4a574)}.progression-table tbody tr:nth-child(2n):not(.highlight-level){background:rgba(var(--class-color-rgb, 212, 165, 116),.03)}.progression-table tbody tr:nth-child(2n):not(.highlight-level) td{background:rgba(var(--class-color-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(--class-gradient, linear-gradient(90deg, #d4a574, #b8956a));opacity:.9}.selection-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000059;border-color:var(--class-color, #d4a574)}.selection-card:hover:before{height:6px!important;opacity:1}.selection-card.selected{border-color:var(--class-color, #d4a574);background:linear-gradient(135deg,var(--background-elevated) 0%,var(--background-primary) 100%)}.selection-card.selected:before{height:6px!important;opacity:1;background:var(--class-color, #d4a574)}.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(--class-color, #d4a574);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(--class-gradient, linear-gradient(90deg, #d4a574, #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(--class-color, #d4a574)}.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(--class-color, #d4a574);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(--class-color, #d4a574);border-style:solid;background:#d4a5740d}.selection-group .group-title{color:var(--class-color, #d4a574);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(--class-color, #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(--class-color, #6c757d)!important}.bg-class-light{background:var(--class-color-light, #e9ecef)!important}.bg-gradient{background:var(--class-gradient, linear-gradient(135deg, #6c757d, #5a6268))!important}.border{border:1px solid var(--border-light)!important}.border-class{border:1px solid var(--class-color, #6c757d)!important}.border-class-thick{border:2px solid var(--class-color, #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}}:root{--theme-primary: #d4af37;--theme-primary-dark: #aa8c2c;--theme-primary-rgb: 212, 175, 55;--theme-gradient: linear-gradient(135deg, #d4af37 0%, #aa8c2c 100%)}body.role-player{--theme-primary: #d4af37;--theme-primary-dark: #aa8c2c;--theme-primary-rgb: 212, 175, 55;--theme-gradient: linear-gradient(135deg, #d4af37 0%, #aa8c2c 100%)}body.role-dm{--theme-primary: #c73032;--theme-primary-dark: #9a2426;--theme-primary-rgb: 199, 48, 50;--theme-gradient: linear-gradient(135deg, #c73032 0%, #9a2426 100%)}body.role-admin{--theme-primary: #507F82;--theme-primary-dark: #3d6164;--theme-primary-rgb: 80, 127, 130;--theme-gradient: linear-gradient(135deg, #507F82 0%, #3d6164 100%)}body.class-barbarian{--theme-primary: #E7623E;--theme-primary-dark: #B8452A;--theme-primary-rgb: 231, 98, 62;--theme-gradient: linear-gradient(135deg, #E7623E 0%, #B8452A 100%)}body.class-bard{--theme-primary: #AB6DAC;--theme-primary-dark: #8A4E8B;--theme-primary-rgb: 171, 109, 172;--theme-gradient: linear-gradient(135deg, #AB6DAC 0%, #8A4E8B 100%)}body.class-cleric{--theme-primary: #91A1B2;--theme-primary-dark: #6E7D8E;--theme-primary-rgb: 145, 161, 178;--theme-gradient: linear-gradient(135deg, #91A1B2 0%, #6E7D8E 100%)}body.class-druid{--theme-primary: #7A853B;--theme-primary-dark: #5C6328;--theme-primary-rgb: 122, 133, 59;--theme-gradient: linear-gradient(135deg, #7A853B 0%, #5C6328 100%)}body.class-fighter{--theme-primary: #7F513E;--theme-primary-dark: #5F3C2E;--theme-primary-rgb: 127, 81, 62;--theme-gradient: linear-gradient(135deg, #7F513E 0%, #5F3C2E 100%)}body.class-monk{--theme-primary: #51A5C7;--theme-primary-dark: #3E7E99;--theme-primary-rgb: 81, 165, 199;--theme-gradient: linear-gradient(135deg, #51A5C7 0%, #3E7E99 100%)}body.class-paladin{--theme-primary: #B59E54;--theme-primary-dark: #8F7A3E;--theme-primary-rgb: 181, 158, 84;--theme-gradient: linear-gradient(135deg, #B59E54 0%, #8F7A3E 100%)}body.class-ranger{--theme-primary: #507F62;--theme-primary-dark: #3C5F49;--theme-primary-rgb: 80, 127, 98;--theme-gradient: linear-gradient(135deg, #507F62 0%, #3C5F49 100%)}body.class-rogue{--theme-primary: #555752;--theme-primary-dark: #3E3F3C;--theme-primary-rgb: 85, 87, 82;--theme-gradient: linear-gradient(135deg, #555752 0%, #3E3F3C 100%)}body.class-sorcerer{--theme-primary: #992E2E;--theme-primary-dark: #6E1F1F;--theme-primary-rgb: 153, 46, 46;--theme-gradient: linear-gradient(135deg, #992E2E 0%, #6E1F1F 100%)}body.class-warlock{--theme-primary: #7B469B;--theme-primary-dark: #5C3474;--theme-primary-rgb: 123, 70, 155;--theme-gradient: linear-gradient(135deg, #7B469B 0%, #5C3474 100%)}body.class-wizard{--theme-primary: #2A50A1;--theme-primary-dark: #1F3B78;--theme-primary-rgb: 42, 80, 161;--theme-gradient: linear-gradient(135deg, #2A50A1 0%, #1F3B78 100%)}body.class-artificer{--theme-primary: #7D7D7D;--theme-primary-dark: #5A5A5A;--theme-primary-rgb: 125, 125, 125;--theme-gradient: linear-gradient(135deg, #7D7D7D 0%, #5A5A5A 100%)}:root{--background-dark: #181818;--background-primary: #161b22;--background-secondary: #21262d;--background-tertiary: #30363d;--background-elevated: #21262d;--background-darker: #0d1117;--text-primary: #f0f6fc;--text-secondary: #e6edf3;--text-muted: #7d8590;--text-dark: #24292f;--border-color: #30363d;--border-light: #373e47;--border-dark: #21262d;--primary-gold: #f7931e;--secondary-gold: #e8860c;--accent-red: #da3633;--accent-green: #238636;--accent-blue: #2f81f7;--success: #238636;--warning: #d29922;--danger: #da3633;--info: #2f81f7;--card-background: #161b22;--card-border: #30363d;--button-primary: #f7931e;--button-hover: #e8860c;--modal-overlay-bg: #0a0a12;--modal-content-bg: #1e2139;--modal-border: rgba(255, 255, 255, .2);--input-background: #21262d;--input-border: #30363d;--input-focus: #f7931e}body{margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--background-dark);color:var(--text-primary);min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:20px}.card{background:var(--card-background);border-radius:8px;box-shadow:0 4px 8px #0000004d;padding:20px;margin-bottom:20px;border:1px solid var(--card-border);color:var(--text-primary)}.btn{background-color:var(--button-primary);color:var(--text-primary);border:none;padding:10px 20px;border-radius:6px;cursor:pointer;text-decoration:none;display:inline-block;transition:all .3s ease;font-weight:500;text-align:center}.btn:hover{background-color:var(--button-hover);transform:translateY(-1px);box-shadow:0 2px 8px #0003}.btn-primary{background-color:var(--primary-gold)}.btn-secondary{background-color:#6c757d}.btn-secondary:hover{background-color:#545b62}.btn-success{background-color:#28a745}.btn-warning{background-color:#ffc107;color:#000}.btn:disabled{opacity:.6;cursor:not-allowed}.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(--background-dark)}input,textarea{background-color:var(--input-background)!important;color:var(--text-primary)!important;border:1px solid var(--input-border);border-radius:4px;padding:.75rem!important;font-family:inherit;min-height:50px!important;height:auto!important;line-height:1.5!important;box-sizing:border-box;display:flex;align-items:center}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search]{height:50px!important;min-height:50px!important}textarea{min-height:100px!important;height:auto!important;resize:vertical}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 2px #d4af3733}select{background-color:#0006!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important;-moz-text-fill-color:#ffffff!important;border:1px solid var(--input-border);border-radius:4px;padding:.75rem 3rem .75rem .75rem!important;font-family:inherit;min-height:50px!important;height:auto!important;line-height:1.5!important;display:flex!important;align-items:center!important;box-sizing:border-box;appearance:none!important;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='%23d4af37' d='M8 11L3 6h10z'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right .75rem center!important;background-size:16px!important}select:not([size]):not([multiple]){background-color:#0006!important;color:#fff!important;-webkit-text-fill-color:#ffffff!important;-moz-text-fill-color:#ffffff!important;min-height:50px!important;line-height:1.5!important}select:not(:-internal-list-box):not([multiple]):not([popover]){color:#fff!important;-webkit-text-fill-color:#ffffff!important;-moz-text-fill-color:#ffffff!important;line-height:1.5!important}select option{background-color:#1a1a1a!important;color:#fff!important;padding:.5rem!important;-webkit-text-fill-color:#ffffff!important;-moz-text-fill-color:#ffffff!important;line-height:1.5!important}select optgroup{background-color:#2a2a2a!important;color:var(--theme-primary, #d4af37)!important;font-weight:700!important;font-style:normal!important;padding:.5rem!important;-webkit-text-fill-color:var(--theme-primary, #d4af37)!important;-moz-text-fill-color:var(--theme-primary, #d4af37)!important}select optgroup option{background-color:#1a1a1a!important;color:#fff!important;padding-left:1.5rem!important;-webkit-text-fill-color:#ffffff!important;-moz-text-fill-color:#ffffff!important}.form-group select,.form-group select:not([multiple]){color:#fff!important;-webkit-text-fill-color:#ffffff!important;-moz-text-fill-color:#ffffff!important;background-color:#0006!important}.form-control{color:#fff!important;-webkit-text-fill-color:#ffffff!important;-moz-text-fill-color:#ffffff!important}.shop-editor-inline select,.loot-editor-inline select,.encounter-editor-inline select{color:#fff!important;-webkit-text-fill-color:#ffffff!important;background-color:#0006!important}.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 #d4af3733}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}.main-content,.character-creation,.character-builder,.app-root,app-root,#root{background-color:var(--background-dark)!important;color:var(--text-primary)!important}router-outlet,router-outlet+*,.router-content{background-color:var(--background-dark)!important}.container,.container-fluid,.main-container,.content,.page,.wrapper{background-color:var(--background-dark)!important;color:var(--text-primary)!important;min-height:100vh}.mat-app-background,.cdk-overlay-container,ng-component{background-color:var(--background-dark)!important}app-class,app-species,app-background,app-skills,app-equipment,app-feats,.class-selection,.species-selection,.background-selection,.character-creation-container{background-color:var(--background-dark)!important;color:var(--text-primary)!important}.page-content,.content-wrapper,.main-wrapper,.ng-scope{background-color:var(--background-dark)!important;color:var(--text-primary)!important;min-height:100vh}div:not(.btn):not(.modal):not(.tooltip):not(.shop-item-card):not(.dm-edit-card):not(.request-card-modern):not(.request-item-card),section:not(.btn):not(.modal):not(.tooltip),main:not(.btn):not(.modal):not(.tooltip){background-color:transparent!important}div:not(.btn):not(.modal):not(.tooltip):not(.shop-item-card):not(.dm-edit-card):not(.request-card-modern):not(.request-item-card).container,div:not(.btn):not(.modal):not(.tooltip):not(.shop-item-card):not(.dm-edit-card):not(.request-card-modern):not(.request-item-card).main,div:not(.btn):not(.modal):not(.tooltip):not(.shop-item-card):not(.dm-edit-card):not(.request-card-modern):not(.request-item-card).content,div:not(.btn):not(.modal):not(.tooltip):not(.shop-item-card):not(.dm-edit-card):not(.request-card-modern):not(.request-item-card).page,div:not(.btn):not(.modal):not(.tooltip):not(.shop-item-card):not(.dm-edit-card):not(.request-card-modern):not(.request-item-card)[class*=background],div:not(.btn):not(.modal):not(.tooltip):not(.shop-item-card):not(.dm-edit-card):not(.request-card-modern):not(.request-item-card)[class*=wrapper],section:not(.btn):not(.modal):not(.tooltip).container,section:not(.btn):not(.modal):not(.tooltip).main,section:not(.btn):not(.modal):not(.tooltip).content,section:not(.btn):not(.modal):not(.tooltip).page,section:not(.btn):not(.modal):not(.tooltip)[class*=background],section:not(.btn):not(.modal):not(.tooltip)[class*=wrapper],main:not(.btn):not(.modal):not(.tooltip).container,main:not(.btn):not(.modal):not(.tooltip).main,main:not(.btn):not(.modal):not(.tooltip).content,main:not(.btn):not(.modal):not(.tooltip).page,main:not(.btn):not(.modal):not(.tooltip)[class*=background],main:not(.btn):not(.modal):not(.tooltip)[class*=wrapper]{background-color:var(--background-dark)!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}
