:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#1a1a1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--theme-color: #4ecdc4;--theme-gradient-start: rgba(102, 126, 234, .15);--theme-gradient-end: rgba(118, 75, 162, .15)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}.number-input-wrapper{display:inline-flex;align-items:center;gap:.25rem}.number-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:3px;color:#ffffffb3;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1em;font-weight:700;-webkit-user-select:none;user-select:none;transition:all .2s ease;line-height:1;padding:0}.number-btn:hover{background:#fff3;border-color:var(--theme-color);color:var(--theme-color)}.number-btn:active{transform:scale(.95)}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;min-width:320px;min-height:100vh}#root{max-width:1400px;margin:0 auto;padding:1.5rem}.app{text-align:center}h1{font-size:3.2em;line-height:1.1;margin-bottom:1em;background:linear-gradient(45deg,#ff6b6b,var(--theme-color));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}h2{font-size:2em;margin:1.5em 0 .5em;color:var(--theme-color)}h3{font-size:1.2em;margin:1em 0 .75em;color:var(--theme-color);text-transform:uppercase;letter-spacing:1px;font-weight:700;text-align:center}.class-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:2rem 0}.class-button{border:2px solid transparent;border-radius:8px;padding:1.5rem 1rem;color:#fff;font-size:1.1em;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:1px}.class-button:hover{transform:translateY(-3px);box-shadow:0 10px 20px #0000004d;border-color:var(--theme-color)}.back-button{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:6px;padding:.75rem 1.5rem;color:#fff;font-size:1em;cursor:pointer;transition:all .3s ease;margin-bottom:1rem}.back-button:hover{background:#fff3;border-color:var(--theme-color)}.character-sheet{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;margin-top:2rem;text-align:left}.sheet-header{display:grid;grid-template-columns:200px 1fr 120px;gap:1.5rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid rgba(255,255,255,.1)}.class-badge-large{padding:1.5rem 1rem;border-radius:12px;font-size:1.5em;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.class-name{font-size:1em;margin-bottom:.25rem}.class-domains{font-size:.4em;font-weight:500;letter-spacing:1px;opacity:.85}.info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.info-grid>.floating-label-wrapper:nth-child(1){grid-column:1 / 3}.info-grid>.floating-label-wrapper:nth-child(2){grid-column:3 / 4}.info-grid>.floating-label-wrapper:nth-child(3),.info-grid>.floating-label-wrapper:nth-child(4),.info-grid>.floating-label-wrapper:nth-child(5){grid-column:span 1}.inline-label-input{background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:6px;padding:1.25rem 1rem .5rem;color:#fff;font-size:1em;width:100%}.inline-label-input::placeholder{color:#fff6;font-size:.85em;text-transform:uppercase;letter-spacing:.5px;transition:opacity .3s ease}.inline-label-input:not(:placeholder-shown)::placeholder,.inline-label-input:focus::placeholder{opacity:0}.inline-label-input:focus{outline:none;border-color:var(--theme-color);background:#ffffff1f}.floating-label-wrapper{position:relative;width:100%}.floating-label{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#fff6;font-size:.85em;text-transform:uppercase;letter-spacing:.5px;pointer-events:none;transition:all .3s ease;background:transparent;padding:0 .25rem}.floating-label-wrapper textarea~.floating-label{top:1rem;transform:translateY(0)}.floating-label-wrapper input:not(:placeholder-shown)~.floating-label,.floating-label-wrapper input:focus~.floating-label,.floating-label-wrapper textarea:not(:placeholder-shown)~.floating-label,.floating-label-wrapper textarea:focus~.floating-label,.floating-label-wrapper select:not([value=""])~.floating-label,.floating-label-wrapper select:focus~.floating-label,.floating-label-wrapper.has-value .floating-label{top:.35rem;transform:translateY(0);font-size:.65em;color:var(--theme-color)}.floating-label-wrapper select:valid:not([value=""])~.floating-label{top:.35rem;transform:translateY(0);font-size:.65em;color:var(--theme-color)}.floating-label-wrapper input,.floating-label-wrapper textarea,.floating-label-wrapper select{background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:6px;padding:1.25rem 1rem .5rem;color:#fff;font-size:1em;width:100%;transition:all .3s ease}.floating-label-wrapper select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.7)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:1.25em;padding-right:2.5rem}.floating-label-wrapper select option{background:#1a1a1a;color:#fff;padding:.5rem}.pronouns-field{position:relative}.reset-to-select-btn{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#ffffffb3;font-size:1.5em;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0}.reset-to-select-btn:hover{background:var(--theme-color);border-color:var(--theme-color);color:#fff;transform:translateY(-50%) scale(1.1)}.reset-to-select-btn:active{transform:translateY(-50%) scale(.95)}.pronouns-field input[type=text]{padding-right:3rem}.floating-label-wrapper input::placeholder,.floating-label-wrapper textarea::placeholder{opacity:0}.floating-label-wrapper input:focus,.floating-label-wrapper textarea:focus,.floating-label-wrapper select:focus{outline:none;border-color:var(--theme-color);background:#ffffff1f}.floating-label-wrapper textarea{resize:vertical;min-height:60px;font-family:inherit;line-height:1.5}.level-box{background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.level-label{font-size:.75em;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem}.level-input{background:transparent;border:none;color:var(--theme-color);font-size:2em;font-weight:700;text-align:center;width:50px}.level-input:focus{outline:none}.combat-section{display:grid;grid-template-columns:1fr 2fr;gap:1rem;margin-bottom:2rem;padding-bottom:2rem;border-bottom:2px solid rgba(255,255,255,.1)}.combat-left{display:flex;flex-direction:column;gap:1rem}.evasion-armor-row{display:flex;gap:1rem;align-items:flex-start}.armor-section{display:flex;gap:1rem;align-items:flex-start;flex:1;height:100%}.armor-checkbox-container{display:flex;flex-direction:column;gap:.5rem;align-items:center}.armor-checkbox-controls{display:flex;gap:.5rem;align-items:center}.stat-wrapper{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stat-circle{background:#ffffff14;border:2px solid rgba(255,255,255,.2);border-radius:12px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.5rem;min-width:fit-content;min-height:100px}.stat-circle label{font-size:.75em;color:#fff9;text-transform:uppercase;letter-spacing:1px;font-weight:600}.stat-circle input{background:transparent;border:none;color:var(--theme-color);font-size:2em;font-weight:700;text-align:center;width:50px}.stat-circle input:focus{outline:none}.stat-hint{font-size:.7em;color:#ffffff80;text-align:center}.armor-checkboxes,.checkboxes,.hope-checkboxes{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.armor-checkboxes{grid-template-columns:repeat(3,20px);grid-template-rows:repeat(4,20px)}.checkbox-item{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:3px;background:#ffffff0d;cursor:pointer;transition:all .2s ease}.checkbox-item:hover{border-color:var(--theme-color);background:#4ecdc433}.checkbox-item.checked{background:var(--theme-color);border-color:var(--theme-color)}.checkbox-item.inactive{opacity:.4;background:#ffffff05}.checkbox-item.inactive.checked{opacity:.6}.attributes-section{display:grid;grid-template-columns:repeat(6,1fr);gap:.75rem}.attribute-wrapper{display:flex;flex-direction:column;align-items:center;gap:.5rem}.attribute-box{background:linear-gradient(135deg,var(--theme-gradient-start) 0%,var(--theme-gradient-end) 100%);border:2px solid rgba(255,255,255,.2);border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:.5rem;min-height:100px;width:100%}.attribute-box label{font-size:.75em;color:#fff9;text-transform:uppercase;letter-spacing:1px;font-weight:600}.attribute-box input{background:transparent;border:none;color:var(--theme-color);font-size:1.8em;font-weight:700;text-align:center;width:45px}.attribute-box input:focus{outline:none}.attribute-desc{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.65em;color:#ffffff80;text-align:center;line-height:1.2}.two-column-section{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.left-column,.right-column{background:#ffffff08;border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem}.damage-thresholds{display:grid;grid-template-columns:auto 60px auto 60px auto;align-items:center;gap:.75rem;padding:.75rem;margin-bottom:1.5rem;background:#ffffff0d;border-radius:6px}.damage-thresholds label{font-size:.85em;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;font-weight:500;text-align:center}.threshold-input{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:4px;padding:.5rem;color:var(--theme-color);font-size:1.2em;font-weight:700;text-align:center;width:60px}.threshold-input:focus{outline:none;border-color:var(--theme-color)}.hp-stress-hope-section{margin-bottom:1.5rem}.checkbox-row{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem;background:#ffffff0d;border-radius:6px}.checkbox-row label{font-size:.9em;text-transform:uppercase;letter-spacing:.5px;color:#ffffffb3;font-weight:600;text-align:center}.hope-description{font-size:.8em;color:#fff9;text-align:center;max-width:400px;line-height:1.4}.hope-volatile{font-size:.75em;color:#fff9;text-align:center;max-width:500px;line-height:1.4;margin-top:.25rem}.hope-volatile strong{color:var(--theme-color);font-weight:700}.checkbox-control{display:flex;align-items:center;gap:.5rem}.checkbox-btn{width:24px;height:24px;border-radius:4px;border:2px solid rgba(255,255,255,.3);background:#ffffff1a;color:#ffffffb3;font-size:1.2em;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;flex-shrink:0}.checkbox-btn:hover{background:var(--theme-color);border-color:var(--theme-color);color:#fff}.checkbox-btn:active{transform:scale(.95)}.checkboxes-horizontal{display:flex;gap:.5rem;flex-wrap:wrap}.experience-section{margin-bottom:1.5rem;background:#ffffff0d;border-radius:6px;padding:1rem}.experience-section h4{font-size:.9em;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.experience-row{display:flex;gap:.5rem;margin-bottom:.5rem}.experience-row .floating-label-wrapper{flex:1}.exp-number{width:60px;background:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:4px;padding:.5rem;color:var(--theme-color);font-size:.9em;text-align:center;font-weight:700}.exp-number:focus{outline:none;border-color:var(--theme-color)}.gold-section{margin-bottom:1.5rem;background:#ffffff0d;border-radius:6px;padding:1rem}.gold-section h4{font-size:.9em;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.gold-row-unified{display:flex;align-items:center;gap:1rem}.gold-group{display:flex;flex-direction:column;gap:.5rem}.gold-title-row{display:flex;align-items:center;gap:.5rem;justify-content:center}.gold-group label{font-size:.75em;color:#fff9;text-transform:capitalize;text-align:center}.gold-checkboxes-inline{display:flex;gap:.4rem;justify-content:center}.gold-divider{width:2px;height:40px;background:#fff3;margin:0 .5rem}.class-feature-section{margin-bottom:1.5rem}.class-feature-section h4{font-size:.9em;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.proficiency-section{margin-bottom:1.5rem}.proficiency-section label{display:block;font-size:.75em;color:#fff9;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.proficiency-checkboxes{display:flex;gap:.5rem;justify-content:center}.weapon-section,.armor-active-section,.inventory-weapon-section{margin-bottom:1.5rem;background:#ffffff0d;border-radius:6px;padding:1rem}.weapon-section h4,.armor-active-section h4,.inventory-weapon-section h4{font-size:.9em;color:var(--theme-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.weapon-row,.armor-active-row{display:flex;gap:.5rem;margin-bottom:.5rem}.weapon-row .floating-label-wrapper,.armor-active-row .floating-label-wrapper{flex:1}.weapon-radio{display:flex;gap:1rem;margin-bottom:.5rem}.weapon-radio label{display:flex;align-items:center;gap:.5rem;font-size:.9em;color:#ffffffb3;cursor:pointer}.weapon-radio input[type=radio]{cursor:pointer}.inventory-section{margin-bottom:1.5rem}.inventory-section h4{font-size:.9em;color:#ffffffb3;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.equipment-section,.abilities-section,.development-section{margin-bottom:2rem}.equipment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.text-area-box{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:8px;padding:1rem;margin-bottom:1rem}.text-area-box label{display:block;font-size:.75em;color:#ffffff80;text-transform:uppercase;letter-spacing:1px;margin-bottom:.5rem;font-weight:600}.text-area-box textarea{background:#ffffff1a;border:2px solid rgba(255,255,255,.2);border-radius:4px;padding:.75rem;color:#fff;font-size:.95em;width:100%;resize:vertical;font-family:inherit;line-height:1.5}.text-area-box textarea:focus{outline:none;border-color:var(--theme-color)}.text-area-box textarea::placeholder{color:#ffffff4d}.domain-cards-selector{display:flex;flex-direction:column;gap:2rem;margin-bottom:1rem}.domain-group h5{font-size:1em;color:var(--theme-color);text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;font-weight:700;text-align:center;padding-bottom:.5rem;border-bottom:2px solid var(--theme-color)}.domain-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.domain-card{position:relative;background:linear-gradient(135deg,#ffffff14,#ffffff0a);border:2px solid rgba(255,255,255,.15);border-radius:8px;padding:1rem;cursor:pointer;transition:all .3s ease;min-height:140px;display:flex;flex-direction:column}.domain-card:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff14);border-color:var(--theme-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.domain-card.selected{background:linear-gradient(135deg,var(--theme-color) 0%,rgba(var(--theme-color-rgb, 78, 205, 196),.7) 100%);border-color:var(--theme-color);box-shadow:0 0 15px rgba(var(--theme-color-rgb, 78, 205, 196),.4)}.domain-card.selected:hover{transform:translateY(-3px);box-shadow:0 6px 16px #0006}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.5rem}.card-name{font-size:.95em;font-weight:700;color:var(--theme-color);text-transform:uppercase;letter-spacing:.5px;line-height:1.2;flex:1}.domain-card.selected .card-name{color:#fff}.card-type{font-size:.7em;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.5px;background:#0000004d;padding:.25rem .5rem;border-radius:4px;white-space:nowrap}.domain-card.selected .card-type{background:#0006;color:#ffffffe6}.card-description{font-size:.85em;line-height:1.5;color:#ffffffd9;flex:1;margin-bottom:.5rem}.domain-card.selected .card-description{color:#fffffff2}.card-selection-indicator{position:absolute;bottom:.5rem;right:.5rem;width:28px;height:28px;border-radius:50%;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:1.2em;font-weight:700;color:#ffffff80;transition:all .2s ease}.domain-card:hover .card-selection-indicator{background:#fff3;border-color:var(--theme-color)}.domain-card.selected .card-selection-indicator{background:#fff;border-color:#fff;color:var(--theme-color);transform:scale(1.1)}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}}
