:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}:root{--aqua:#06b6d4;--teal:#14b8a6;--aqua-light:#22d3ee;--aqua-dark:#0891b2;--bg-dark:#0f172a;--bg-light:#1e293b;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--border-color:#334155}*{box-sizing:border-box;margin:0;padding:0}.app{background-color:var(--bg-dark);color:var(--text-primary);min-height:100vh}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:1000;background:#0f172af2;width:100%;position:fixed;top:0}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:1.25rem 2rem;display:flex}.nav-logo{color:var(--aqua);font-size:1.5rem;font-weight:700;text-decoration:none;transition:color .3s}.nav-logo:hover{color:var(--aqua-light)}.nav-links{gap:2rem;display:flex}.nav-links a{color:var(--text-secondary);font-weight:500;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--aqua)}.nav-dropdown{position:relative}.nav-dropdown-toggle{color:var(--text-secondary);cursor:pointer;align-items:center;gap:.25rem;font-weight:500;text-decoration:none;transition:color .3s;display:flex}.nav-dropdown-toggle:hover{color:var(--aqua)}.nav-dropdown-menu{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);opacity:0;visibility:hidden;z-index:1001;background:#1e293bfa;border-radius:8px;min-width:200px;margin-top:1rem;padding:.5rem 0;transition:all .3s;position:absolute;top:100%;left:0;transform:translateY(-10px);box-shadow:0 10px 30px #0000004d}.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown-menu:hover{opacity:1;visibility:visible;transform:translateY(0)}.nav-dropdown-item{color:var(--text-secondary);padding:.75rem 1.25rem;font-weight:500;text-decoration:none;transition:all .2s;display:block}.nav-dropdown-item:hover{color:var(--aqua);background:#06b6d41a}.dropdown-arrow{font-size:.75rem;transition:transform .3s}.nav-dropdown:hover .dropdown-arrow{transform:rotate(180deg)}.hero{text-align:center;background:linear-gradient(135deg,var(--bg-dark)0%,var(--bg-light)100%);justify-content:center;align-items:center;min-height:100vh;padding:8rem 2rem 6rem;display:flex}.hero-content{max-width:800px}.hero-title{background:linear-gradient(135deg,var(--aqua)0%,var(--teal)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:4rem}.hero-subtitle{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.5rem}.hero-description{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.2rem;line-height:1.6}.hero-cta{justify-content:center;gap:1rem;display:flex}.btn-primary,.btn-secondary{border-radius:8px;padding:.875rem 2rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.btn-primary{background:var(--aqua);color:var(--bg-dark)}.btn-primary:hover{background:var(--aqua-light);transform:translateY(-2px)}.btn-secondary{color:var(--aqua);border:2px solid var(--aqua);background:0 0}.btn-secondary:hover{background:var(--aqua);color:var(--bg-dark);transform:translateY(-2px)}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{text-align:center;color:var(--aqua);margin-bottom:3rem;font-size:2.5rem}.subsection-title{color:var(--text-primary);border-left:4px solid var(--aqua);margin:3rem 0 1.5rem;padding-left:1rem;font-size:1.5rem}.projects{background-color:var(--bg-light);padding:6rem 0}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem;display:grid}.project-card{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:12px;padding:2rem;transition:all .3s}.project-card:hover{border-color:var(--aqua);transform:translateY(-5px);box-shadow:0 10px 30px #06b6d433}.project-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.project-header h4{color:var(--text-primary);font-size:1.25rem}.project-tag{background:var(--aqua);color:var(--bg-dark);border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:600}.tag-ttrpg{background:var(--teal)}.tag-dev{background:var(--text-secondary);color:var(--bg-dark)}.project-card p{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.6}.project-card-button{background:var(--aqua);color:var(--bg-dark);cursor:pointer;border:none;border-radius:6px;padding:.625rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.project-card-button:hover{background:var(--aqua-light);transform:translateY(-2px);box-shadow:0 5px 15px #06b6d44d}.about{background-color:var(--bg-dark);padding:6rem 0}.about-content{max-width:800px;margin:0 auto}.about-content p{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.125rem;line-height:1.8}.skills{margin-top:3rem}.skills h3{color:var(--aqua);margin-bottom:1.5rem;font-size:1.5rem}.skills-grid{flex-wrap:wrap;gap:1rem;display:flex}.skill-tag{background:var(--bg-light);border:1px solid var(--aqua);color:var(--aqua);border-radius:8px;padding:.5rem 1rem;font-weight:500;transition:all .3s}.skill-tag:hover{background:var(--aqua);color:var(--bg-dark)}.contact{background-color:var(--bg-light);text-align:center;padding:6rem 0}.contact-description{color:var(--text-secondary);max-width:600px;margin-bottom:2.5rem;margin-left:auto;margin-right:auto;font-size:1.125rem}.contact-links{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.contact-link{border:2px solid var(--aqua);color:var(--aqua);background:0 0;border-radius:8px;padding:1rem 2.5rem;font-weight:600;text-decoration:none;transition:all .3s}.contact-link:hover{background:var(--aqua);color:var(--bg-dark);transform:translateY(-2px)}.footer{text-align:center;background-color:var(--bg-dark);border-top:1px solid var(--border-color);color:var(--text-secondary);padding:2rem}@media (max-width:768px){.nav-links{gap:1rem}.hero{padding:6rem 1rem 4rem}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.25rem}.hero-description{font-size:1rem}.hero-cta{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;max-width:300px}.section-title{font-size:2rem}.projects-grid{grid-template-columns:1fr}.contact-links{flex-direction:column;align-items:center}.contact-link{width:100%;max-width:300px}}@media (max-width:480px){.nav-container{padding:1rem}.nav-links{gap:.75rem;font-size:.875rem}.hero-title{font-size:2rem}}.talent-allocator{background:#f5f5f5;border-radius:8px;margin:20px 0;padding:20px}.talent-header{border-bottom:2px solid #ddd;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.talent-header h3{color:#333;margin:0;font-size:1.25rem}.talent-points-display{align-items:baseline;gap:5px;font-size:1.5rem;font-weight:700;display:flex}.talent-points-display .remaining{color:#2563eb;font-size:2rem}.talent-points-display .separator,.talent-points-display .total{color:#666}.talent-points-display .label{color:#666;margin-left:5px;font-size:.875rem;font-weight:400}.talent-list{flex-direction:column;gap:8px;display:flex}.talent-row{cursor:pointer;background:#fff;border:2px solid #0000;border-radius:6px;grid-template-columns:1fr auto auto auto;align-items:center;gap:15px;padding:12px 15px;transition:all .2s;display:grid}.talent-row:hover{border-color:#e0e0e0;box-shadow:0 2px 4px #0000000d}.talent-row.selected{background:#eff6ff;border-color:#2563eb}.talent-name{color:#333;font-size:1rem;font-weight:500}.talent-attribute{margin-left:4px}.talent-bubbles{align-items:center;gap:8px;display:flex}.bubble{border:2px solid #333;border-radius:50%;width:16px;height:16px;transition:all .2s}.bubble.filled{background-color:#333}.bubble.empty{background-color:#0000}.talent-controls{align-items:center;gap:10px;display:flex}.expertise-label{text-align:center;color:#666;min-width:35px;font-size:.875rem;font-weight:500}.talent-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;font-weight:700;transition:all .2s;display:flex}.talent-btn:hover:not(:disabled){background:#f0f0f0;border-color:#999}.talent-btn:active:not(:disabled){transform:scale(.95)}.talent-btn:disabled{opacity:.3;cursor:not-allowed}.talent-btn.increment{color:#16a34a}.talent-btn.decrement{color:#dc2626}.error-message{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;margin-top:15px;padding:12px;font-size:.875rem;font-weight:500}.talent-total{background:#f0f0f0;border-radius:4px;flex-direction:column;align-items:center;gap:4px;min-width:60px;padding:8px;display:flex}.total-label{color:#666;text-transform:uppercase;letter-spacing:.5px;font-size:.7rem;font-weight:600}.total-value{color:#2563eb;font-family:Courier New,monospace;font-size:1.25rem;font-weight:700}.attribute-allocator{background:#f5f5f5;border-radius:8px;margin:20px 0;padding:20px}.attribute-header{border-bottom:2px solid #ddd;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;display:flex}.attribute-header h3{color:#333;margin:0;font-size:1.25rem}.pool-selector{align-items:center;gap:.5rem;display:flex}.pool-selector label{color:#666;font-size:.875rem;font-weight:500}.pool-selector select{color:#333;cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:6px 12px;font-size:.95rem}.pool-selector select:hover{border-color:#999}.pool-selector select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb1a}.attribute-pool-display{background-color:#fff;border:1px solid #ddd;border-radius:6px;margin-bottom:15px;padding:15px}.pool-status{justify-content:center;align-items:baseline;gap:5px;font-size:1.5rem;font-weight:700;display:flex}.pool-status.exact .remaining{color:#16a34a}.pool-status.under .remaining{color:#2563eb}.pool-status.over .remaining{color:#dc2626}.pool-status .remaining{font-size:2rem}.pool-status .separator,.pool-status .total{color:#666}.pool-status .label{color:#666;margin-left:5px;font-size:.875rem;font-weight:400}.pool-warning{text-align:center;margin-top:10px}.warning-text{color:#d97706;font-size:.875rem;font-weight:500}.error-text{color:#dc2626;font-size:.875rem;font-weight:600}.attribute-list{flex-direction:column;gap:8px;display:flex}.attribute-row{background:#fff;border:2px solid #0000;border-radius:6px;justify-content:space-between;align-items:center;padding:12px 15px;transition:all .2s;display:flex}.attribute-row:hover{border-color:#e0e0e0;box-shadow:0 2px 4px #0000000d}.attribute-name{flex-direction:column;flex:1;gap:.25rem;display:flex}.attr-abbrev{color:#333;font-family:Courier New,monospace;font-size:1rem;font-weight:700}.attr-full{color:#666;font-size:.75rem}.attribute-controls{align-items:center;gap:10px;display:flex}.attr-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.25rem;font-weight:700;line-height:1;transition:all .2s;display:flex}.attr-btn:hover:not(:disabled){background:#f0f0f0;border-color:#999}.attr-btn:active:not(:disabled){transform:scale(.95)}.attr-btn:disabled{opacity:.3;cursor:not-allowed}.attr-btn.increment{color:#16a34a}.attr-btn.decrement{color:#dc2626}.attribute-value{flex-direction:column;align-items:center;gap:.25rem;min-width:80px;display:flex}.value-display{font-family:Courier New,monospace;font-size:1.5rem;font-weight:700}.value-display.positive{color:#16a34a}.value-display.negative{color:#dc2626}.value-display.zero{color:#666}.range-hint{color:#999;font-size:.7rem}.attribute-help{background-color:#eff6ff;border-left:3px solid #2563eb;border-radius:6px;margin-top:15px;padding:12px 15px}.attribute-help p{color:#1e3a8a;margin:0;font-size:.875rem;line-height:1.5}.attribute-help strong{color:#1e3a8a;font-weight:600}@media (max-width:640px){.attribute-header{flex-direction:column;align-items:flex-start;gap:1rem}.attribute-row{flex-direction:column;gap:1rem}.attribute-name{text-align:center;align-items:center;width:100%}.attribute-controls{justify-content:center;width:100%}}.racial-perks-selector{width:100%;max-width:100%}.perks-header{border-bottom:2px solid #9fa8da;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.perks-header h3{color:#3949ab;margin:0;font-size:1.25rem}.perks-counter{align-items:baseline;gap:.25rem;font-size:1rem;display:flex}.selected-count.complete{color:#2e7d32}.perks-counter .separator{color:#616161;font-weight:400}.perks-counter .total-count{color:#424242;font-size:1.125rem;font-weight:600}.perks-counter .label{color:#616161;margin-left:.5rem;font-size:.875rem}.perks-instruction{color:#0d47a1;background:#e3f2fd;border-left:4px solid #1976d2;border-radius:4px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.95rem}.perks-list{gap:.75rem;margin-bottom:1rem;display:grid}.perk-card{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1rem;transition:all .2s}.perk-card:hover:not(.disabled){border-color:#7986cb;transform:translateY(-1px);box-shadow:0 2px 8px #3949ab26}.perk-card.selected{background:#e8eaf6;border-width:2px;border-color:#5e35b1}.perk-card.disabled{opacity:.5;cursor:not-allowed}.perk-header{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.perk-checkbox{background:#fff;border:2px solid #9fa8da;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.perk-card.selected .perk-checkbox{background:#5e35b1;border-color:#5e35b1}.perk-checkbox .checkmark{color:#fff;font-size:1rem;font-weight:700}.perk-title{color:#1a1a1a;flex:1;font-size:1.05rem;font-weight:600}.perk-card.selected .perk-title{color:#5e35b1}.perk-expand-btn{cursor:pointer;color:#3949ab;background:#fff;border:1px solid #9fa8da;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:1.25rem;transition:all .2s;display:flex}.perk-expand-btn:hover{background:#e8eaf6;border-color:#5e35b1}.perk-summary{color:#2c2c2c;max-height:3rem;padding-left:2.5rem;font-size:.95rem;line-height:1.5;transition:max-height .3s;overflow:hidden}.perk-summary.expanded{max-height:10rem}.perks-warning{color:#e65100;text-align:center;background:#fff3e0;border-left:4px solid #f57c00;border-radius:4px;padding:.75rem 1rem;font-weight:500}.warning-message,.error-message{text-align:center;border-radius:8px;padding:1.5rem;font-weight:500}.warning-message{color:#e65100;background:#fff3e0;border:1px solid #ffb74d}.error-message{color:#c62828;background:#ffebee;border:1px solid #e57373}@media (max-width:768px){.perks-header{flex-direction:column;align-items:flex-start;gap:.5rem}.perk-summary{padding-left:0}}.class-specialty-container{max-width:900px;margin:0 auto;padding:1.5rem}.specialty-header{text-align:center;border-bottom:2px solid #9fa8da;margin-bottom:2rem;padding-bottom:1rem}.specialty-header h3{color:#3949ab;margin-bottom:.5rem;font-size:1.8rem}.specialty-description{color:#2c2c2c;font-size:1rem;line-height:1.6}.specialty-info{background:#e3f2fd;border-left:4px solid #1976d2;border-radius:8px;margin-top:2rem;padding:1.5rem}.specialty-info h4{color:#0d47a1;margin-bottom:1rem;font-size:1.1rem}.specialty-info ul{color:#1a1a1a;padding-left:1.5rem;line-height:1.8;list-style:outside}.specialty-info ul li{margin-bottom:.5rem}.help-text{color:#616161;margin-top:1rem;font-size:.9rem;font-style:italic}.bless-display{flex-direction:column;gap:2rem;margin-bottom:2rem;display:flex}.bless-value-card{text-align:center;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:2px solid #5e35b1;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #5e35b126}.bless-label{text-transform:uppercase;letter-spacing:.1em;color:#616161;margin-bottom:.5rem;font-size:.9rem;font-weight:600}.bless-value{color:#5e35b1;margin:.5rem 0;font-size:4rem;font-weight:700;line-height:1}.bless-subtext{color:#424242;font-size:.9rem}.bless-progression{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem}.bless-progression h4{color:#3949ab;margin-bottom:1rem;font-weight:600}.progression-table{gap:.5rem;display:grid}.progression-row{color:#2c2c2c;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;grid-template-columns:1fr 1fr;padding:.75rem;display:grid}.progression-row.header{color:#3949ab;background:#e8eaf6;border-color:#9fa8da;font-weight:700}.progression-row.current{color:#1b5e20;background:#e8f5e9;border:2px solid #2e7d32;font-weight:600}.aptitude-pool-display{background:#fff;border:2px solid #e0e0e0;border-radius:8px;justify-content:space-around;gap:1rem;margin-bottom:2rem;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000001a}.pool-stat{flex-direction:column;align-items:center;gap:.5rem;display:flex}.pool-stat.remaining .pool-value{color:#f57c00}.pool-stat.remaining .pool-value.complete{color:#2e7d32}.pool-label{color:#616161;text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:600}.pool-value{color:#1a1a1a;font-size:1.8rem;font-weight:700}.arcane-arts-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.arcane-art-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .2s}.arcane-art-card:hover{border-color:#5e35b1;transform:translateY(-1px);box-shadow:0 2px 8px #5e35b126}.art-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.art-name{color:#1a1a1a;margin:0;font-size:1.3rem;font-weight:600}.art-attribute{color:#5e35b1;font-size:.9rem;font-weight:600}.art-allocator{justify-content:center;align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.point-button{color:#3949ab;cursor:pointer;background:#e8eaf6;border:2px solid #9fa8da;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;font-weight:700;transition:all .2s;display:flex}.point-button:hover:not(:disabled){color:#5e35b1;background:#c5cae9;border-color:#5e35b1}.point-button:disabled{opacity:.3;cursor:not-allowed}.art-points{flex-direction:column;align-items:center;min-width:80px;display:flex}.points-value{color:#1a1a1a;font-size:2rem;font-weight:700}.points-label{color:#616161;font-size:.8rem}.art-formula{text-align:center;border-top:1px solid #e0e0e0;padding-top:1rem}.formula-text{color:#424242;font-family:Courier New,monospace;font-size:.85rem}.specialty-count-display{background:#fff;border:2px solid #e0e0e0;border-radius:8px;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;padding:1rem;display:flex;box-shadow:0 1px 3px #0000001a}.count-label{color:#616161;font-size:1rem;font-weight:600}.count-value{color:#f57c00;font-size:1.5rem;font-weight:700}.count-value.complete{color:#2e7d32}.specialties-list{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.specialty-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .2s}.specialty-card:hover{box-shadow:0 2px 8px #0000001a}.specialty-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.specialty-card-header h4{color:#1a1a1a;margin:0;font-weight:600}.remove-button{color:#c62828;cursor:pointer;background:#ffebee;border:1px solid #e57373;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.2rem;font-weight:700;transition:all .2s;display:flex}.remove-button:hover{color:#fff;background:#ef5350;border-color:#c62828}.specialty-type-selector{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.specialty-type-selector label{color:#424242;font-weight:600}.specialty-type-selector select{color:#1a1a1a;background:#fff;border:2px solid #e0e0e0;border-radius:4px;flex:1;padding:.5rem;font-size:1rem}.specialty-type-selector select:focus{border-color:#5e35b1;outline:none}.specialty-description-text{color:#616161;background:#f5f5f5;border-left:3px solid #9fa8da;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-style:italic}.specialty-config{background:#f5f5f5;border-left:3px solid #5e35b1;border-radius:4px;margin-top:1rem;padding:1rem}.specialty-config label{color:#424242;margin-bottom:.5rem;font-weight:600;display:block}.specialty-config select,.specialty-config input{color:#1a1a1a;background:#fff;border:2px solid #e0e0e0;border-radius:4px;width:100%;padding:.5rem}.specialty-config select:focus,.specialty-config input:focus{border-color:#5e35b1;outline:none}.config-note{color:#616161;margin-bottom:.5rem;font-size:.9rem}.talent-bonus-info{color:#424242;margin-top:.75rem;font-size:.9rem}.talent-bonus-info ul{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;padding-left:1rem;display:flex}.talent-bonus-info li{color:#3949ab;background:#e8eaf6;border:1px solid #9fa8da;border-radius:12px;padding:.25rem .75rem}.add-specialty-button{color:#2e7d32;cursor:pointer;background:#e8f5e9;border:2px dashed #2e7d32;border-radius:8px;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.add-specialty-button:hover{color:#1b5e20;background:#c8e6c9;border-color:#1b5e20}.styles-list{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.style-card{background:#fff;border:2px solid #e0e0e0;border-radius:8px;transition:all .2s;overflow:hidden}.style-card.expanded{border-color:#5e35b1;box-shadow:0 2px 8px #5e35b126}.style-card-header{cursor:pointer;justify-content:space-between;align-items:center;padding:1.25rem;transition:background .2s;display:flex}.style-card-header:hover{background:#f5f5f5}.style-title{align-items:center;gap:1rem;display:flex}.style-title h4{color:#1a1a1a;margin:0;font-size:1.2rem;font-weight:600}.tier-badge{border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:600}.tier-badge.tier-apprentice{color:#616161;background:#e0e0e0;border:1px solid #9e9e9e}.tier-badge.tier-journeyman{color:#1976d2;background:#e3f2fd;border:1px solid #64b5f6}.tier-badge.tier-master{color:#7b1fa2;background:#f3e5f5;border:1px solid #ba68c8}.style-actions{gap:.5rem;display:flex}.expand-button{color:#616161;cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:1rem;transition:color .2s}.expand-button:hover{color:#1a1a1a}.style-card-body{background:#fafafa;border-top:1px solid #e0e0e0;padding:0 1.25rem 1.25rem}.style-selector{align-items:center;gap:1rem;margin:1rem 0;display:flex}.style-selector label{color:#424242;font-weight:600}.style-selector select{color:#1a1a1a;background:#fff;border:2px solid #e0e0e0;border-radius:4px;flex:1;padding:.5rem;font-size:1rem}.style-selector select:focus{border-color:#5e35b1;outline:none}.tier-progression{margin:1.5rem 0}.tier-progression h5{color:#1a1a1a;margin-bottom:.75rem;font-weight:600}.tier-description{color:#0d47a1;background:#e3f2fd;border-left:3px solid #1976d2;border-radius:4px;margin-bottom:1rem;padding:1rem;line-height:1.6}.upgrade-button{color:#2e7d32;cursor:pointer;background:#e8f5e9;border:1px solid #2e7d32;border-radius:6px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.upgrade-button:hover{color:#1b5e20;background:#c8e6c9;border-color:#1b5e20}.mastery-badge{color:#7b1fa2;text-align:center;background:#f3e5f5;border:1px solid #ba68c8;border-radius:6px;padding:.75rem;font-weight:600}.all-tiers-preview{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:4px;margin:1.5rem 0;padding:1rem}.all-tiers-preview h5{color:#1a1a1a;margin-bottom:.75rem;font-weight:600}.tier-preview{color:#616161;background:#fff;border-left:2px solid #e0e0e0;border-radius:4px;margin:.5rem 0;padding:.75rem;font-size:.9rem;line-height:1.5}.tier-preview.current-tier{color:#0d47a1;background:#e3f2fd;border-left-width:3px;border-left-color:#1976d2}.tier-preview strong{color:#1a1a1a}.style-card-body .remove-button{border-radius:6px;width:100%;height:auto;margin-top:1rem;padding:.75rem}.add-style-button{color:#2e7d32;cursor:pointer;background:#e8f5e9;border:2px dashed #2e7d32;border-radius:8px;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .2s}.add-style-button:hover{color:#1b5e20;background:#c8e6c9;border-color:#1b5e20}.style-summaries{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.style-summaries div{color:#424242;font-size:.9rem;line-height:1.5}.style-summaries strong{color:#1a1a1a;font-weight:600}.class-specialty-error{text-align:center;color:#616161;padding:2rem}.class-specialty-error p{color:#424242;margin:.5rem 0}.class-specialty-error .help-text{color:#757575;font-size:.85rem}.class-info-preview{background:linear-gradient(135deg,#e8eaf6 0%,#f3e5f5 100%);border:1px solid #9fa8da;border-radius:8px;flex-direction:column;height:100%;padding:1.5rem;animation:.3s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.class-info-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.class-icon{font-size:28px;line-height:1}.class-name{color:#3949ab;margin:0;font-size:20px;font-weight:600}.class-short-description{margin:0 0 16px;font-size:14px;font-weight:600;line-height:1.5;color:#1a1a1a!important}.class-quick-stats{background:#ffffffe6;border:1px solid #00000014;border-radius:6px;flex-direction:column;flex-grow:1;gap:8px;margin-bottom:16px;padding:14px;display:flex}.quick-stat{justify-content:space-between;align-items:center;font-size:13px;display:flex}.stat-label{font-weight:600;color:#616161!important}.stat-value{font-weight:800;color:#1a1a1a!important}.learn-more-button{color:#3949ab;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;gap:4px;width:100%;margin-top:auto;padding:10px 12px;font-size:14px;font-weight:700;transition:all .2s;display:flex}.learn-more-button:hover{background:#3949ab26}.learn-more-button:active{background:#3949ab40}@media (prefers-color-scheme:dark){.class-info-preview{background:linear-gradient(135deg,#3949ab40 0%,#6a1b9a40 100%);border-color:#7986cb}.class-name{color:#9fa8da}.class-short-description{color:#f5f5f5}.class-quick-stats{background:#0006;border-color:#ffffff1a}.stat-label{color:#bdbdbd}.stat-value{color:#fff}.learn-more-button{color:#9fa8da}.learn-more-button:hover{background:#9fa8da33}}.class-info-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.class-info-panel{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:600px;max-height:90vh;animation:.3s ease-out slideUp;display:flex;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.panel-header{border-bottom:2px solid #e0e0e0;justify-content:space-between;align-items:center;padding:24px;display:flex}.panel-title{align-items:center;gap:12px;display:flex}.panel-icon{font-size:32px;line-height:1}.panel-title h2{color:#333;margin:0;font-size:28px}.close-button{color:#999;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:28px;transition:all .2s;display:flex}.close-button:hover{color:#333;background:#0000000d}.panel-content{flex:1;padding:24px;overflow-y:auto}.panel-section{margin-bottom:24px}.panel-section:last-child{margin-bottom:0}.panel-section h3{color:#3949ab;margin:0 0 12px;font-size:18px;font-weight:700}.panel-section p{color:#2c2c2c;margin:0;font-weight:500;line-height:1.6}.playstyle-text{color:#6a1b9a;font-style:italic;font-weight:600}.feature-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.feature-list li{border-radius:6px;align-items:flex-start;gap:10px;padding:10px;line-height:1.5;display:flex}.strengths-list li{color:#1b5e20;background:#e8f5e9;font-weight:500}.weaknesses-list li{color:#e65100;background:#fff3e0;font-weight:500}.feature-icon{flex-shrink:0;font-weight:700}.strengths-list .feature-icon{color:#2e7d32}.weaknesses-list .feature-icon{color:#f57c00}.ideal-text{color:#1a1a1a;background:#e8eaf6;border-left:4px solid #3949ab;border-radius:8px;padding:16px;font-weight:600}.stat-box{color:#fff;background:linear-gradient(135deg,#3949ab 0%,#5e35b1 100%);border-radius:10px;justify-content:space-between;align-items:center;padding:20px;display:flex;box-shadow:0 4px 15px #3949ab66}.stat-box .stat-label{font-size:16px;font-weight:500}.stat-value-large{font-size:36px;font-weight:700}.panel-footer{border-top:2px solid #e0e0e0;justify-content:flex-end;padding:20px 24px;display:flex}.confirm-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#3949ab 0%,#5e35b1 100%);border:none;border-radius:8px;padding:12px 32px;font-size:16px;font-weight:700;transition:all .2s;box-shadow:0 4px 15px #3949ab66}.confirm-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3949ab80}.confirm-button:active{transform:translateY(0)}@media (prefers-color-scheme:dark){.class-info-panel{background:#1e1e1e}.panel-header{border-bottom-color:#404040}.panel-title h2{color:#f5f5f5}.panel-section h3{color:#9fa8da}.close-button{color:#9e9e9e}.close-button:hover{color:#fff;background:#ffffff1a}.panel-section p{color:#e0e0e0}.playstyle-text{color:#ce93d8}.strengths-list li{color:#a5d6a7;background:#2e7d324d}.strengths-list .feature-icon{color:#81c784}.weaknesses-list li{color:#ffcc80;background:#f57c004d}.weaknesses-list .feature-icon{color:#ffb74d}.ideal-text{color:#f5f5f5;background:#3949ab40;border-left-color:#7986cb}.panel-footer{border-top-color:#404040}}@media (max-width:640px){.class-info-backdrop{padding:0}.class-info-panel{border-radius:0;max-height:100vh}.panel-header{padding:20px}.panel-title h2{font-size:24px}.panel-icon{font-size:28px}.panel-content{padding:20px}.stat-value-large{font-size:28px}}.editable-derived-stats-display{background:var(--bg-card,#f5f5f5);border:1px solid var(--bg-border,#e0e0e0);border-radius:8px;margin-top:1.5rem;padding:1.5rem}.editable-derived-stats-display h3{color:var(--primary-500,#3949ab);margin:0 0 1rem;font-size:1.25rem;font-weight:700}.editable-stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:.75rem;display:grid}.editable-stat-item{background:var(--bg-base,#fff);border:1px solid var(--bg-border,#e0e0e0);border-radius:6px;flex-direction:column;gap:.5rem;padding:.75rem 1rem;transition:all .2s;display:flex}.editable-stat-item.has-perk-bonus{border-left:3px solid var(--success-icon,#2e7d32)}.editable-stat-item.is-overridden{background:#fff8e1;border-color:#ffa726}.stat-header{justify-content:space-between;align-items:center;display:flex}.stat-label{color:var(--text-secondary,#2c2c2c);font-size:.9rem;font-weight:600}.stat-input{width:100%;color:var(--primary-500,#3949ab);border:1px solid var(--bg-border,#e0e0e0);background:var(--bg-base,#fff);text-align:center;border-radius:4px;padding:.5rem;font-size:1.25rem;font-weight:700;transition:all .2s}.stat-input:focus{border-color:var(--primary-500,#3949ab);outline:none;box-shadow:0 0 0 3px #3949ab1a}.editable-stat-item.is-overridden .stat-input{background:#fff;border-color:#ffa726}.stat-breakdown{color:var(--text-muted,#616161);text-align:center;padding:.25rem 0;font-size:.8rem}.auto-calc{color:var(--text-muted,#616161)}.override-note{color:#f57c00;font-weight:500}.perk-indicator{color:var(--success-icon,#2e7d32);margin-left:.25rem;font-size:1.1rem;font-weight:700}.stats-hint{color:var(--text-muted,#616161);text-align:center;margin:0;font-size:.85rem;font-style:italic}.ability-selector{flex-direction:column;gap:1rem;display:flex}.ability-tabs{border-bottom:2px solid #e2e8f0;gap:.5rem;display:flex}.ability-tab{color:#718096;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.ability-tab:hover{color:#4299e1;background:#f7fafc}.ability-tab.active{color:#4299e1;border-bottom-color:#4299e1;font-weight:600}.ability-search{gap:.5rem;display:flex}.ability-search-input{border:1px solid #ddd;border-radius:4px;flex:1;padding:.75rem;font-size:1rem;transition:border-color .2s}.ability-search-input:focus{border-color:#4299e1;outline:none}.ability-warning{color:#856404;background:#fef5e7;border:1px solid #f9e79f;border-radius:4px;padding:1rem;font-size:.9rem}.ability-layout{grid-template-columns:1fr 1fr;gap:1.5rem;min-height:400px;display:grid}.ability-list{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.75rem;display:flex;overflow:hidden}.ability-list-header{color:#2d3748;background:#f7fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem;font-size:.95rem;font-weight:600;display:flex}.ability-list-items{flex:1;max-height:500px;overflow-y:auto}.ability-item{cursor:pointer;border-bottom:1px solid #e2e8f0;transition:background .2s}.ability-item:last-child{border-bottom:none}.ability-item:hover{background:#f7fafc}.ability-item.active{background:#ebf8ff;border-left:3px solid #4299e1}.ability-item-label{cursor:pointer;align-items:flex-start;gap:.75rem;width:100%;padding:.75rem 1rem;display:flex}.ability-item-label input[type=checkbox]{cursor:pointer;flex-shrink:0;margin-top:.25rem}.ability-item-content{flex-direction:column;flex:1;gap:.25rem;display:flex}.ability-item-name{color:#2d3748;flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:500;display:flex}.ability-prereq-warning{color:#e53e3e;align-items:center;gap:.25rem;font-size:.85rem;display:flex}.ability-restriction{color:#d69e2e;align-items:center;gap:.25rem;font-size:.85rem;display:flex}.ability-list-empty{text-align:center;color:#718096;padding:2rem;font-size:.95rem}.ability-details{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:1rem;max-height:500px;padding:1.5rem;display:flex;overflow-y:auto}.ability-details-name{color:#2d3748;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0;font-size:1.3rem;display:flex}.ability-details-description{color:#4a5568;white-space:pre-line;font-size:.95rem;line-height:1.6}.ability-details-meta{color:#4a5568;background:#f7fafc;border-radius:4px;padding:.75rem;font-size:.9rem}.ability-details-meta strong{color:#2d3748}.ability-details-restriction{color:#856404;background:#fef5e7;border:1px solid #f9e79f;border-radius:4px;padding:.75rem;font-size:.9rem}.ability-details-restriction strong{color:#856404}.ability-details-note{color:#22543d;background:#f0fff4;border:1px solid #9ae6b4;border-radius:4px;padding:.75rem;font-size:.9rem}.ability-details-placeholder{color:#718096;flex:1;justify-content:center;align-items:center;font-size:.95rem;display:flex}@media (max-width:1024px){.ability-layout{grid-template-columns:1fr}.ability-details{min-height:300px}}@media (max-width:640px){.ability-list-items,.ability-details{max-height:400px}}.armor-selector{max-width:900px;margin:0 auto}.armor-selector h3{color:#1a1a1a;margin-bottom:.5rem;font-size:1.5rem}.armor-instructions{color:#424242;margin-bottom:1.5rem;font-size:.95rem}.armor-table-container{border:1px solid #9fa8da;border-radius:8px;margin-bottom:2rem;overflow-x:auto}.armor-table{border-collapse:collapse;background:#fff;width:100%}.armor-table thead{color:#fff;background:linear-gradient(135deg,#3949ab 0%,#5e35b1 100%)}.armor-table th{text-align:left;padding:.75rem;font-size:.9rem;font-weight:600}.armor-table td{color:#1a1a1a;border-bottom:1px solid #e0e0e0;padding:.75rem}.armor-table tbody tr{cursor:pointer;transition:background-color .2s}.armor-table tbody tr:hover{background-color:#f5f5f5}.armor-table tbody tr.selected-row{background-color:#e8eaf6;border-left:4px solid #3949ab}.armor-table tbody tr.selected-row:hover{background-color:#e8eaf6}.armor-radio{cursor:pointer;width:18px;height:18px}.armor-type-label{color:#3949ab;font-weight:600}.defense-value{color:#2e7d32;font-weight:700}.negative-value{color:#c62828;font-weight:600}.shield-section{background:#e8eaf6;border:1px solid #9fa8da;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.shield-section h3{margin-top:0;margin-bottom:1rem}.shield-checkbox-label{cursor:pointer;color:#1a1a1a;align-items:center;font-size:1rem;display:flex}.shield-checkbox{cursor:pointer;width:20px;height:20px;margin-right:.75rem}.shield-label-text{font-weight:600}.shield-info{background:#fff;border-left:4px solid #2e7d32;border-radius:6px;margin-top:1rem;padding:1rem}.shield-dr{color:#1a1a1a;margin:0 0 .5rem}.shield-dr strong{color:#2e7d32}.shield-note{color:#616161;margin:0;font-size:.9rem;font-style:italic}.equipment-summary{background:#fff3e0;border:1px solid #ffb74d;border-radius:8px;padding:1.5rem}.equipment-summary h4{color:#e65100;margin-top:0;margin-bottom:1rem;font-size:1.2rem}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.summary-item{background:#fff;border-radius:4px;justify-content:space-between;padding:.5rem;display:flex}.summary-label{color:#424242;font-weight:600}.summary-value{color:#1a1a1a;font-weight:700}@media (max-width:768px){.armor-table{font-size:.85rem}.armor-table th,.armor-table td{padding:.5rem .25rem}.summary-grid{grid-template-columns:1fr}}.weapon-selector{flex-direction:column;gap:1rem;display:flex}.weapon-tabs{border-bottom:2px solid #e2e8f0;gap:.5rem;display:flex}.weapon-tab{color:#718096;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.weapon-tab:hover:not(.disabled){color:#4299e1;background:#f7fafc}.weapon-tab.active{color:#4299e1;border-bottom-color:#4299e1;font-weight:600}.weapon-tab.disabled{color:#cbd5e0;cursor:not-allowed;opacity:.6}.weapon-search{gap:.5rem;display:flex}.weapon-search-input{border:1px solid #ddd;border-radius:4px;flex:1;padding:.75rem;font-size:1rem;transition:border-color .2s}.weapon-search-input:focus{border-color:#4299e1;outline:none}.weapon-warning{color:#856404;background:#fef5e7;border:1px solid #f9e79f;border-radius:4px;padding:1rem;font-size:.9rem}.weapon-layout{grid-template-columns:1fr 1fr;gap:1.5rem;min-height:400px;display:grid}.weapon-list{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.75rem;display:flex;overflow:hidden}.weapon-list-header{color:#2d3748;background:#f7fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem;font-size:.95rem;font-weight:600;display:flex}.selected-count{color:#4299e1;font-size:.85rem;font-weight:500}.weapon-list-items{flex:1;max-height:500px;overflow-y:auto}.weapon-item{cursor:pointer;border-bottom:1px solid #e2e8f0;transition:background .2s}.weapon-item:last-child{border-bottom:none}.weapon-item:hover:not(.disabled){background:#f7fafc}.weapon-item.active{background:#ebf8ff;border-left:3px solid #4299e1}.weapon-item.disabled{opacity:.5;cursor:not-allowed}.weapon-item-label{cursor:pointer;align-items:flex-start;gap:.75rem;width:100%;padding:.75rem 1rem;display:flex}.weapon-item-label input[type=checkbox]{cursor:pointer;flex-shrink:0;margin-top:.25rem}.weapon-item-label input[type=checkbox]:disabled{cursor:not-allowed}.weapon-item-content{flex-direction:column;flex:1;gap:.25rem;display:flex}.weapon-item-name{color:#2d3748;flex-wrap:wrap;align-items:center;gap:.5rem;font-weight:500;display:flex}.weapon-item-meta{color:#718096;font-size:.85rem}.weapon-list-empty{text-align:center;color:#718096;padding:2rem;font-size:.95rem}.weapon-details{background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:1rem;max-height:500px;padding:1.5rem;display:flex;overflow-y:auto}.weapon-details-name{color:#2d3748;margin:0;font-size:1.3rem}.weapon-details-description{color:#4a5568;white-space:pre-line;font-size:.95rem;line-height:1.6}.weapon-details-stats{background:#f7fafc;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.weapon-stat-row{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:baseline;gap:1rem;padding:.5rem 0;display:flex}.weapon-stat-row:last-child{border-bottom:none;padding-bottom:0}.weapon-stat-label{color:#2d3748;min-width:80px;font-size:.9rem;font-weight:600}.weapon-stat-value{color:#4a5568;text-align:right;flex:1;font-size:.95rem}.weapon-stat-note{color:#718096;font-size:.85rem;font-style:italic}.weapon-details-placeholder{color:#718096;flex:1;justify-content:center;align-items:center;font-size:.95rem;display:flex}.weapon-summary{background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;margin-top:.5rem;padding:1rem}.weapon-summary h4{color:#2c5282;margin:0 0 .75rem;font-size:1rem}.weapon-summary-list{flex-wrap:wrap;gap:.75rem;display:flex}.weapon-summary-item{color:#2d3748;background:#fff;border:1px solid #bee3f8;border-radius:4px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.9rem;display:flex}.weapon-remove-btn{color:#e53e3e;cursor:pointer;background:0 0;border:none;padding:.1rem .4rem;font-size:1rem;font-weight:700;line-height:1;transition:color .2s}.weapon-remove-btn:hover{color:#c53030}@media (max-width:1024px){.weapon-layout{grid-template-columns:1fr}.weapon-details{min-height:300px}}@media (max-width:640px){.weapon-list-items,.weapon-details{max-height:400px}}.character-creator{max-width:1200px;margin:2rem auto;padding:2rem}.character-creator h1{text-align:center;color:#333;margin-bottom:2rem}.creator-layout{grid-template-columns:1fr 400px;align-items:start;gap:2rem;display:grid}.creator-layout.full-width{grid-template-columns:1fr;max-width:1400px;margin:0 auto}.character-form{background:#fff;border-radius:8px;flex-direction:column;gap:1.5rem;padding:2rem;display:flex;box-shadow:0 2px 4px #0000001a}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:#555;font-size:.95rem;font-weight:600}.required{color:#e53e3e}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;padding:.75rem;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#4299e1;outline:none}.form-group input[type=number]{width:150px}.error-message{color:#c00;background:#fee;border:1px solid #fcc;border-radius:4px;padding:1rem;font-size:.9rem}.generate-button{color:#fff;cursor:pointer;background:#4299e1;border:none;border-radius:4px;margin-top:1rem;padding:1rem 2rem;font-size:1.1rem;font-weight:600;transition:background .2s}.generate-button:hover:not(:disabled){background:#3182ce}.generate-button:disabled{cursor:not-allowed;background:#a0aec0}.help-text{background:#f7fafc;border-left:4px solid #4299e1;border-radius:4px;margin-top:2rem;padding:1rem}.help-text p{color:#4a5568;margin:0;font-size:.9rem;line-height:1.5}.help-text strong{color:#2d3748}.helper-sidebar{position:relative}.sidebar-sticky{background:#fff;border-radius:8px;min-height:200px;position:sticky;top:2rem;box-shadow:0 2px 4px #0000001a}.helper-placeholder{text-align:center;color:#718096;padding:2rem}.helper-placeholder h3{color:#4a5568;margin:0 0 1rem;font-size:1.2rem}.helper-placeholder p{margin:0;font-size:.95rem;line-height:1.6}@media (max-width:1024px){.creator-layout{grid-template-columns:1fr;gap:1.5rem}.sidebar-sticky{position:static}.helper-sidebar{order:-1}}@media (max-width:640px){.character-creator{margin:1rem;padding:1rem}.character-form,.helper-placeholder{padding:1.5rem}}.wizard-progress{justify-content:center;align-items:center;max-width:800px;margin:2rem auto;padding:0 2rem;display:flex}.progress-step{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:relative}.progress-step.clickable{cursor:pointer}.progress-step.clickable:hover .progress-circle{transform:scale(1.05);box-shadow:0 2px 8px #00000026}.progress-step.clickable.active:hover .progress-circle{box-shadow:0 0 0 4px #4299e14d}.progress-step.clickable.completed:hover .progress-circle{box-shadow:0 2px 8px #48bb784d}.progress-circle{color:#718096;background:#e2e8f0;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.progress-step.active .progress-circle{color:#fff;background:#4299e1;border-color:#4299e1;box-shadow:0 0 0 4px #4299e133}.progress-step.completed .progress-circle{color:#fff;background:#48bb78;border-color:#48bb78}.progress-label{color:#718096;white-space:nowrap;font-size:.85rem;font-weight:500}.progress-step.active .progress-label{color:#2d3748;font-weight:600}.progress-step.completed .progress-label{color:#48bb78}.progress-line{background:#e2e8f0;flex:1;min-width:40px;height:2px;margin:0 .5rem;position:relative;top:-12px}.step-content{flex-direction:column;gap:1.5rem;display:flex}.step-content h2{color:#2d3748;margin:0;font-size:1.5rem}.step-description{color:#718096;margin:0;font-size:.95rem;line-height:1.5}.wizard-navigation{border-top:1px solid #e2e8f0;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:1.5rem;display:flex}.nav-button{cursor:pointer;color:#4a5568;background:#fff;border:1px solid #cbd5e0;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.nav-button:hover:not(:disabled){background:#f7fafc;border-color:#a0aec0}.nav-button:disabled{opacity:.5;cursor:not-allowed}.back-button{margin-right:auto}.next-button{color:#fff;background:#4299e1;border-color:#4299e1;margin-left:auto}.next-button:hover:not(:disabled){background:#3182ce;border-color:#3182ce}.review-section{flex-direction:column;gap:1.5rem;display:flex}.review-section h3{color:#2d3748;border-bottom:2px solid #e2e8f0;margin:0;padding-bottom:.5rem;font-size:1.2rem}.review-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.review-item{background:#f7fafc;border-radius:4px;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.review-label{color:#718096;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.review-value{color:#2d3748;font-size:1rem;font-weight:500}.review-list{color:#2d3748;flex-direction:column;gap:.5rem;display:flex}.review-list-item{background:#f7fafc;border-radius:4px;justify-content:space-between;padding:.75rem;font-size:.95rem;display:flex}.review-list-item span:first-child{color:#4a5568;font-weight:500}.review-list-item span:last-child{color:#2d3748;font-weight:600}.review-input{color:#2d3748;background:#fff;border:1px solid #cbd5e0;border-radius:4px;width:100%;padding:.5rem;font-size:1rem;font-weight:500;transition:all .2s}.review-input:focus{border-color:#3949ab;outline:none;box-shadow:0 0 0 3px #3949ab1a}.review-list-item.editable{justify-content:space-between;align-items:center;gap:1rem;display:flex}.review-list-item.editable label{color:#4a5568;flex-shrink:0;font-weight:500}.review-points-input{color:#2d3748;text-align:center;background:#fff;border:1px solid #cbd5e0;border-radius:4px;width:80px;padding:.5rem;font-size:1rem;font-weight:600;transition:all .2s}.review-points-input:focus{border-color:#3949ab;outline:none;box-shadow:0 0 0 3px #3949ab1a}.warning-message{color:#856404;background:#fef5e7;border:1px solid #f9e79f;border-radius:4px;padding:1rem;font-size:.9rem}@media (max-width:768px){.wizard-progress{padding:0 1rem}.progress-circle{width:36px;height:36px;font-size:.9rem}.progress-label{font-size:.75rem}.progress-line{min-width:20px}}@media (max-width:640px){.wizard-progress{padding:0 .5rem}.progress-label{display:none}.progress-circle{width:32px;height:32px;font-size:.85rem}.wizard-navigation{flex-direction:column}.back-button,.next-button{width:100%;margin:0!important}.review-grid{grid-template-columns:1fr}}
