.wizard-container{gap:var(--space-6);width:100%}.wizard-container,.wizard-header{display:flex;flex-direction:column}.wizard-header{gap:var(--space-2)}.wizard-title{font-family:var(--font-interface);font-size:var(--font-size-xl);font-weight:600;line-height:1.2;color:var(--color-text-primary);margin:0;margin-top:var(--space-4)}.component-wizard-container .wizard-title{font-size:2rem;line-height:1.2}.wizard-step-title{font-family:var(--font-interface);font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-1)}.wizard-step-description{font-family:var(--font-interface);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin:0}.wizard-step-content{gap:var(--space-4)}.form-group,.wizard-step-content{display:flex;flex-direction:column}.form-group{gap:var(--space-1_5)}.form-label{font-weight:500}.form-input,.form-label{font-family:var(--font-interface);font-size:var(--font-size-sm);color:var(--color-text-primary)}.form-input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);line-height:1.5;transition:border-color .12s ease,box-shadow .12s ease;box-sizing:border-box}.form-input::-moz-placeholder{color:var(--color-text-muted)}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.form-input-error,.form-input-error:focus{border-color:var(--color-danger)}.form-input-error:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-danger) 15%,transparent)}.form-textarea{width:100%;min-height:5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-interface);font-size:var(--font-size-sm);line-height:1.5;resize:vertical;transition:border-color .12s ease,box-shadow .12s ease;box-sizing:border-box}.form-textarea::-moz-placeholder{color:var(--color-text-muted)}.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.form-select{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-interface);font-size:var(--font-size-sm);line-height:1.5;cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease;box-sizing:border-box}.form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-soft)}.form-error{color:var(--color-danger)}.form-error,.form-help-text{font-family:var(--font-interface);font-size:var(--font-size-xs);margin:0}.form-help-text{color:var(--color-text-muted)}.component-portrait-step{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.component-portrait-step>div{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.component-portrait-step .portrait-step-generate label{display:block;margin-bottom:var(--space-1);font-family:var(--font-interface);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-primary)}.component-portrait-step .portrait-step-generate input,.component-portrait-step .portrait-step-generate textarea{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-family:var(--font-interface);font-size:var(--font-size-sm);line-height:1.5;box-sizing:border-box}.component-portrait-step .portrait-step-generate textarea{min-height:calc(var(--space-8) * 3);resize:vertical}.component-portrait-step .portrait-step-generate p,.component-portrait-step .portrait-step-header p,.component-portrait-step .portrait-step-hint{margin:0;color:var(--color-text-secondary);line-height:1.5}.component-portrait-step .component-character-portrait{position:relative;display:grid;place-items:center;width:calc(var(--space-8) * 8);max-width:100%;height:100%;font-size:var(--font-size-xl)}.component-character-portrait-placeholder,.component-portrait-step .component-character-portrait{aspect-ratio:1;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-hover);color:var(--color-text-muted);font-family:var(--font-interface);font-weight:600}.component-character-portrait-placeholder{display:flex;align-items:center;justify-content:center;width:calc(var(--space-8) * 2);font-size:var(--font-size-md)}.component-character-portrait-placeholder .portrait-placeholder-icon{width:55%;height:55%}.component-basic-info-layout{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.component-basic-info-fields{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.component-portrait-step .component-character-portrait img{-o-object-fit:cover;object-fit:cover}.component-portrait-step .portrait-step-sources{width:100%}.component-portrait-step .portrait-step-generate{display:flex;flex-direction:column;gap:var(--space-3)}.component-portrait-step .portrait-step-preview{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.component-portrait-step .portrait-step-preview-label{margin:0;font-family:var(--font-interface);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.component-portrait-step .portrait-step-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.component-portrait-step .portrait-step-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-interface);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background-color .12s ease}.component-portrait-step .portrait-step-button:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-text-inverse)}.component-portrait-step .portrait-step-button:disabled{opacity:.5;cursor:not-allowed}.component-portrait-step .portrait-step-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wizard-nav-container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.wizard-nav-primary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-md);background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-interface);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background-color .12s ease}.wizard-nav-primary:hover:not(:disabled){background:var(--color-accent-hover);color:var(--color-text-inverse)}.wizard-nav-primary:disabled{opacity:.5;cursor:not-allowed}.wizard-nav-primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wizard-nav-secondary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-interface);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .12s ease}.wizard-nav-secondary:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-strong);color:var(--color-text-primary)}.wizard-nav-secondary:disabled{opacity:.5;cursor:not-allowed}.wizard-nav-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wizard-nav-cancel{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-3);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-interface);font-size:var(--font-size-sm);cursor:pointer;transition:color .12s ease}.wizard-nav-cancel:hover:not(:disabled){color:var(--color-text-secondary)}.wizard-nav-cancel:disabled{opacity:.5;cursor:not-allowed}.wizard-nav-cancel:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wizard-nav-group{display:flex;align-items:center;gap:var(--space-2)}.wizard-progress-container{display:flex;flex-direction:column;gap:var(--space-2)}.wizard-progress-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.wizard-progress-step-active{font-weight:600}.wizard-progress-step-completed{opacity:.8}.wizard-progress-circle{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:var(--radius-full);font-family:var(--font-system);font-size:var(--font-size-xs);font-weight:600;transition:all .12s ease}.wizard-progress-circle-active{background:var(--color-accent);color:var(--color-on-accent);border:2px solid var(--color-accent)}.wizard-progress-circle-completed{background:var(--color-surface-hover);color:var(--color-text-primary);border:2px solid var(--color-accent)}.wizard-progress-circle-inactive{background:var(--color-surface);color:var(--color-text-muted);border:2px solid var(--color-border)}.wizard-progress-label{font-family:var(--font-interface);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center}.wizard-progress-connector{width:100%;min-width:var(--space-3);height:2px;background:var(--color-border)}.wizard-progress-connector-active{background:var(--color-accent)}.wizard-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:all .12s ease}.wizard-card:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.wizard-card:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wizard-card-selected{background:var(--color-accent-soft)}.wizard-card-selected,.wizard-card-selected:hover{border-color:var(--color-accent)}.wizard-card-unselected{border-color:var(--color-border)}.wizard-badge{display:inline-flex;align-items:center;padding:var(--space-0_5) var(--space-2);border-radius:var(--radius-full);font-family:var(--font-system);font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.wizard-badge-primary{background:var(--color-accent-soft);color:var(--color-accent)}.wizard-badge-secondary{background:var(--color-surface-hover);color:var(--color-text-secondary);border:1px solid var(--color-border)}.wizard-badge-success{background:hsl(var(--success-muted));color:hsl(var(--success-text))}.wizard-badge-warning{background:hsl(var(--warning-muted));color:hsl(var(--warning-text))}.wizard-badge-danger{background:color-mix(in srgb,var(--color-danger) 10%,transparent);color:var(--color-danger)}.wizard-toggle{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-1_5) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-interface);font-size:var(--font-size-xs);font-weight:500;cursor:pointer;transition:all .12s ease}.wizard-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.wizard-toggle-active{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.wizard-toggle-active:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-text-inverse)}.wizard-toggle-inactive{background:var(--color-surface);color:var(--color-text-muted)}.wizard-toggle-inactive:hover{background:var(--color-surface-hover);color:var(--color-text-secondary);border-color:var(--color-border-strong)}.wizard-toggle:disabled{opacity:.5;cursor:not-allowed}.wizard-toggle:disabled:hover{background:var(--color-surface);color:var(--color-text-muted);border-color:var(--color-border)}.wizard-divider{width:100%;min-width:0;padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4)}.wizard-subheading{font-family:var(--font-system);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0}.wizard-error-container{padding:var(--space-3) var(--space-4);border:1px solid var(--color-danger);border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-danger) 8%,transparent);color:var(--color-danger);font-family:var(--font-interface);font-size:var(--font-size-sm)}.wizard-error-container p{margin:0}.wizard-page{gap:var(--space-6);width:100%;padding:var(--space-6);box-sizing:border-box;min-width:0}.wizard-page,.wizard-page-header{display:flex;flex-direction:column}.wizard-page-header{gap:var(--space-2)}.wizard-page-title{font-size:var(--font-size-2xl);font-weight:700;line-height:1.2;color:var(--color-text-primary)}.wizard-page-subtitle,.wizard-page-title{font-family:var(--font-interface);margin:0}.wizard-page-subtitle{font-size:var(--font-size-base);color:var(--color-text-secondary)}.wizard-form-section{display:flex;flex-direction:column;gap:var(--space-4);margin:var(--space-4) 0}.wizard-form-section-header{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-2)}.wizard-progress-row{display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-2);width:100%}.wizard-progress-step-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex:0 0 auto}.wizard-progress-connector-wrapper{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:var(--space-3);padding-top:var(--space-4)}.wizard-button-row{display:flex;flex-flow:row wrap;align-items:center;justify-content:space-between;gap:var(--space-2);margin-top:var(--space-6)}.wizard-badge-row{display:flex;flex-wrap:wrap;gap:var(--space-1)}.wizard-empty-state{align-items:center;justify-content:center;padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-family:var(--font-interface);font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.component-range-slider,.wizard-empty-state{display:flex;flex-direction:column;gap:var(--space-2)}.component-range-slider{min-width:0}.point-pool-allocation-header,.point-pool-summary-row,.range-slider-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.point-pool-allocation-name,.range-slider-label-text{font-family:var(--font-interface);font-weight:600;color:var(--color-text-primary)}.point-pool-allocation-value,.range-slider-level-label{font-family:var(--font-interface);font-weight:700;color:var(--color-accent)}.range-slider-field{display:flex;flex-direction:column;gap:var(--space-2)}.range-slider-scale{position:relative;display:grid;gap:var(--space-1);min-width:0;padding-top:var(--space-2)}.range-slider-labels,.range-slider-notches{position:relative;min-width:0;pointer-events:none}.range-slider-notches{height:var(--space-2)}.range-slider-labels{height:var(--space-4)}.range-slider-notch,.range-slider-scale-label{position:absolute}.range-slider-notch{top:0;width:0;height:var(--space-2);border-left:1px solid var(--color-border)}.range-slider-scale-label{top:0;font-family:var(--font-system);font-size:var(--font-size-xs);line-height:1;color:var(--color-text-muted)}.range-slider-input-wrapper{min-width:0}.range-slider{display:block;width:100%;margin:0;accent-color:var(--color-accent)}.range-slider-description{font-family:var(--font-system);color:var(--color-text-secondary)}.range-slider-description span{font-weight:600;color:var(--color-text-primary)}.component-point-pool-manager,.point-pool-allocation,.point-pool-allocation-control,.point-pool-allocation-list{display:flex;flex-direction:column;gap:var(--space-3)}.point-pool-allocation,.point-pool-summary{min-width:0}.point-pool-limit,.point-pool-limit-note,.point-pool-status,.point-pool-totals{display:flex;flex-flow:row wrap;align-items:center;gap:var(--space-2)}.point-pool-totals{color:var(--color-text-secondary)}.point-pool-limit-note,.point-pool-status{color:var(--color-success)}.point-pool-status svg{width:var(--space-4);height:var(--space-4)}.point-pool-limit{color:var(--color-warning)}.point-pool-limit-note span[aria-hidden=true]{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--color-warning)}.point-pool-allocation-description{margin:0;color:var(--color-text-secondary)}:root .wizard-page .wizard-page-title,:root .wizard-page .wizard-title{font-family:var(--font-interface);font-style:italic;letter-spacing:-.005em}:root .wizard-page .wizard-progress-circle{border-radius:3px;font-family:var(--font-system);font-size:var(--font-size-xs_5)}:root .wizard-page .wizard-progress-connector{height:4px;background:transparent;background-image:radial-gradient(circle,var(--color-text-muted) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}:root .wizard-page .wizard-progress-connector-active{background:transparent;background-image:radial-gradient(circle,var(--color-accent) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:1}:root .wizard-page .wizard-progress-label{font-family:var(--font-system);font-size:var(--font-size-2xs_5);letter-spacing:.05em}:root .wizard-page .wizard-progress-label:before{content:"• ";color:var(--color-text-muted)}:root .wizard-page .wizard-step-title{position:relative;padding-top:var(--space-3);font-family:var(--font-interface);font-style:italic;font-weight:500}:root .wizard-page .wizard-step-title:before{content:"• Step";display:block;margin-bottom:var(--space-1);font-family:var(--font-system);font-size:var(--font-size-2xs_5);font-weight:500;letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:var(--color-text-muted)}:root .wizard-page .wizard-form-section{position:relative;padding-top:var(--space-4)}:root .wizard-page .wizard-form-section+.wizard-form-section:before{content:"";display:block;position:absolute;top:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-text-muted) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}:root .wizard-page .wizard-subheading{font-family:var(--font-system);letter-spacing:.1em}:root .wizard-page .wizard-subheading:before{content:"• ";color:var(--color-text-muted)}:root .wizard-page .form-input,:root .wizard-page .form-select,:root .wizard-page .form-textarea{border-radius:var(--radius-sm);font-family:var(--font-interface)}:root .wizard-page .wizard-card{border-radius:var(--radius-sm)}:root .wizard-page .wizard-nav-container{position:relative;border-top:none;padding-top:var(--space-5)}:root .wizard-page .wizard-nav-container:before{content:"";display:block;position:absolute;top:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-text-muted) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;opacity:.6}:root .wizard-page .wizard-nav-primary,:root .wizard-page .wizard-nav-secondary{border-radius:var(--radius-sm)}:root .wizard-page .wizard-badge{border-radius:3px;font-family:var(--font-system);letter-spacing:.05em}:root .wizard-page .wizard-toggle{font-size:var(--font-size-xs)}:root .wizard-page .wizard-empty-state,:root .wizard-page .wizard-toggle{border-radius:var(--radius-sm);font-family:var(--font-system)}:root .component-character-creation-wizard>:not(.wizard-header)>:first-child:not(.component-wizard-progress){justify-self:end}:root .component-create-character-page .component-character-creation-wizard,:root .component-create-world-page>.wizard-container{max-width:calc(var(--space-8) * 44);margin:0 auto}:root .component-character-creation-wizard>:not(.wizard-header),:root .component-world-creation-wizard{width:100%;box-sizing:border-box;min-width:0;display:grid;grid-template-columns:1fr;grid-template-areas:"progress" "actions" "content";gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-image:radial-gradient(circle,color-mix(in srgb,var(--color-text-primary) 14%,transparent) 1px,transparent 1px);background-size:calc(var(--space-6) + var(--space-2)) calc(var(--space-6) + var(--space-2));background-repeat:repeat}:root .component-character-creation-wizard>:not(.wizard-header)>.component-wizard-progress,:root .component-character-creation-wizard>:not(.wizard-header)>.wizard-nav-container,:root .component-character-creation-wizard>:not(.wizard-header)>.wizard-step-content,:root .component-world-creation-wizard>.component-wizard-progress,:root .component-world-creation-wizard>.wizard-nav-container,:root .component-world-creation-wizard>.wizard-step-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}:root .component-character-creation-wizard>:not(.wizard-header)>.component-wizard-progress,:root .component-world-creation-wizard>.component-wizard-progress{grid-area:progress;min-width:0;padding:var(--space-2);overflow-x:auto}:root .component-character-creation-wizard>:not(.wizard-header)>.wizard-nav-container,:root .component-world-creation-wizard>.wizard-nav-container{grid-area:actions;margin-top:0;padding:var(--space-2) var(--space-3);align-items:center}:root .component-character-creation-wizard>:not(.wizard-header)>.wizard-step-content,:root .component-world-creation-wizard>.wizard-step-content{grid-area:content;gap:var(--space-3);min-width:0;padding:var(--space-4)}:root .component-character-creation-wizard .wizard-progress-row,:root .component-world-creation-wizard .wizard-progress-row{flex-flow:row nowrap;align-items:stretch;justify-content:flex-start;gap:var(--space-1);min-width:-moz-max-content;min-width:max-content}:root .component-character-creation-wizard .wizard-progress-connector-wrapper,:root .component-world-creation-wizard .wizard-progress-connector-wrapper{display:none}:root .component-character-creation-wizard .wizard-progress-step-wrapper,:root .component-world-creation-wizard .wizard-progress-step-wrapper{flex-direction:row;align-items:center;gap:var(--space-2);padding:var(--space-1_5) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-canvas)}:root .component-character-creation-wizard .wizard-progress-step-active,:root .component-world-creation-wizard .wizard-progress-step-active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-on-accent)}:root .component-character-creation-wizard .wizard-progress-step-active .wizard-progress-label,:root .component-world-creation-wizard .wizard-progress-step-active .wizard-progress-label{color:var(--color-on-accent)}:root .component-character-creation-wizard .wizard-progress-step-active .wizard-progress-circle-active,:root .component-world-creation-wizard .wizard-progress-step-active .wizard-progress-circle-active{background:var(--color-on-accent);color:var(--color-accent);border-color:var(--color-on-accent)}:root .component-character-creation-wizard .wizard-progress-circle,:root .component-world-creation-wizard .wizard-progress-circle{width:var(--space-5);height:var(--space-5)}:root .component-character-creation-wizard .wizard-progress-label,:root .component-world-creation-wizard .wizard-progress-label{white-space:nowrap}:root .component-character-creation-wizard .wizard-form-section,:root .component-world-creation-wizard .wizard-form-section{margin:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}:root .component-character-creation-wizard .wizard-form-section+.wizard-form-section,:root .component-world-creation-wizard .wizard-form-section+.wizard-form-section{margin-top:var(--space-3)}:root .component-character-creation-wizard .form-group,:root .component-world-creation-wizard .form-group{gap:var(--space-1)}:root .component-character-creation-wizard .form-input,:root .component-character-creation-wizard .form-select,:root .component-character-creation-wizard .form-textarea,:root .component-world-creation-wizard .form-input,:root .component-world-creation-wizard .form-select,:root .component-world-creation-wizard .form-textarea{padding:var(--space-1_5) var(--space-2_5)}@media (width < 768px){:root .component-character-creation-wizard>:not(.wizard-header),:root .component-world-creation-wizard{padding:var(--space-2);grid-template-areas:"progress" "content" "actions"}:root .component-character-creation-wizard>:not(.wizard-header)>.wizard-nav-container,:root .component-world-creation-wizard>.wizard-nav-container{flex-direction:column;align-items:stretch}:root .component-character-creation-wizard .wizard-nav-group,:root .component-world-creation-wizard .wizard-nav-group{justify-content:stretch}:root .component-character-creation-wizard .wizard-nav-group>*,:root .component-world-creation-wizard .wizard-nav-group>*{flex:1 1 auto}}.wizard-review-list{display:flex;flex-direction:column;gap:var(--space-6);min-width:0}.wizard-review-custom-list,.wizard-review-suggestions{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.wizard-review-card-head{display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.wizard-review-card-meta{display:flex;flex-flow:row wrap;align-items:center;gap:var(--space-2);min-width:0;font-family:var(--font-interface);font-weight:600;color:var(--color-text-primary)}.wizard-review-card-meta>span:nth-child(n+2):not(.wizard-badge){font-weight:400;font-size:var(--font-size-xs_5);color:var(--color-text-secondary)}.wizard-review-card-tools{display:flex;flex:0 0 auto;align-items:center;gap:var(--space-2)}.wizard-review-card-detail{display:flex;flex-direction:column;gap:var(--space-3);min-width:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.wizard-review-card-range{font-family:var(--font-system);font-size:var(--font-size-xs);color:var(--color-text-muted)}.wizard-review-detail-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-4);align-items:start}@media (width <= 768px){.wizard-review-detail-row{grid-template-columns:1fr}}.wizard-skill-attr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(calc(var(--space-8) * 5),1fr));gap:var(--space-2);min-width:0}.wizard-skill-attr-option{display:flex;flex-direction:column;gap:var(--space-0_5);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}.wizard-review-custom{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.wizard-review-custom-head{display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.wizard-review-custom-heading{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.wizard-review-custom-heading p{margin:0;font-size:var(--font-size-xs_5);color:var(--color-text-secondary)}.wizard-custom-editor{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.wizard-custom-editor h2{margin:0 0 var(--space-3);font-family:var(--font-interface);font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary)}.wizard-custom-editor input:not([type=checkbox],[type=radio]),.wizard-custom-editor select,.wizard-custom-editor textarea{margin-bottom:var(--space-4)}.wizard-custom-editor button{margin-top:var(--space-3)}.wizard-custom-editor button+button{margin-left:var(--space-2)}.wizard-slot-summary{display:flex;flex-flow:row wrap;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.wizard-slot-summary-text{display:flex;flex-direction:column;gap:var(--space-1)}.wizard-slot-summary-count{display:flex;flex-flow:row wrap;align-items:center;gap:var(--space-2);font-family:var(--font-interface);font-weight:600;color:var(--color-text-primary)}.wizard-slot-summary-note{font-size:var(--font-size-xs);color:var(--color-text-muted)}.wizard-slot-meter{display:flex;flex-flow:row wrap;gap:var(--space-1)}.wizard-slot-cell{width:var(--space-3);height:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface)}.wizard-slot-cell-filled{border-color:var(--color-accent);background:var(--color-accent)}.wizard-dialog-overlay{display:flex;flex-direction:column;margin-top:var(--space-4)}.wizard-dialog-panel{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.wizard-dialog-panel h3{margin:0;font-family:var(--font-interface);font-weight:600;color:var(--color-text-primary)}.wizard-dialog-panel p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.wizard-dialog-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2)}.wizard-review-summary{display:flex;flex-direction:column;gap:var(--space-4)}.wizard-review-fields{display:flex;flex-direction:column;gap:var(--space-2)}.portrait-step-header{display:flex;flex-direction:column;gap:var(--space-1)}.portrait-step-body{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.portrait-step-success{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.portrait-step-success-label{display:flex;align-items:center;gap:var(--space-2);margin:0;font-weight:600;color:var(--color-success)}.portrait-step-success-label svg{width:var(--space-4);height:var(--space-4)}.portrait-step-actions{display:flex;flex-flow:row wrap;gap:var(--space-2)}.portrait-step-hint{font-size:var(--font-size-xs_5);color:var(--color-text-muted)}.wizard-skill-summary-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}@media (width <= 768px){.wizard-skill-summary-row{grid-template-columns:1fr}}.wizard-skill-allocation-list{display:flex;flex-direction:column;gap:var(--space-3)}.wizard-skill-card-head{display:flex;flex-flow:row wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.wizard-skill-card-info{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.wizard-skill-card-info>span:first-child{font-family:var(--font-interface);font-weight:600;color:var(--color-text-primary)}.wizard-skill-card-info p{margin:0;font-size:var(--font-size-xs_5);color:var(--color-text-secondary)}.wizard-skill-card-linked{font-family:var(--font-system);font-size:var(--font-size-xs);color:var(--color-text-muted)}.wizard-skill-card-locked{opacity:.7}.wizard-skill-card-requirement{font-family:var(--font-system);font-size:var(--font-size-xs);color:var(--color-danger);margin-top:var(--space-1)}.wizard-skill-level{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3)}.wizard-skill-level-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-family:var(--font-system);font-size:var(--font-size-xs);color:var(--color-text-secondary)}:root .wizard-page .wizard-review-list{gap:var(--space-4)}:root .wizard-page .wizard-review-custom-list,:root .wizard-page .wizard-review-suggestions,:root .wizard-page .wizard-skill-allocation-list{gap:var(--space-2)}:root .wizard-page .wizard-review-card-detail,:root .wizard-page .wizard-skill-level{position:relative;padding-top:var(--space-3);gap:var(--space-2)}:root .wizard-page .wizard-review-card-detail:before,:root .wizard-page .wizard-skill-level:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background-image:radial-gradient(circle,var(--color-text-muted) 1.5px,transparent 1.5px);background-size:8px 4px;background-repeat:repeat-x;opacity:.6}:root .wizard-page .wizard-skill-attr-option{border-radius:var(--radius-sm);padding:var(--space-1_5)}:root .wizard-page .wizard-custom-editor{border-radius:var(--radius-sm);padding:var(--space-3)}:root .wizard-page .wizard-custom-editor h2{font-family:var(--font-system);font-size:var(--font-size-sm);letter-spacing:.05em}:root .wizard-page .wizard-custom-editor input,:root .wizard-page .wizard-custom-editor select,:root .wizard-page .wizard-custom-editor textarea{border-radius:var(--radius-sm)}:root .wizard-page .wizard-slot-cell{width:var(--space-2);height:var(--space-2);border-radius:1px}:root .wizard-page .wizard-skill-level-row,:root .wizard-page .wizard-slot-summary-count{font-family:var(--font-system)}:root .wizard-page .wizard-dialog-panel{border-radius:var(--radius-sm);border-style:dashed}:root .wizard-page .component-portrait-step{gap:var(--space-3)}:root .wizard-page .component-portrait-step .component-character-portrait{border-radius:var(--radius-sm)}:root .wizard-page .component-portrait-step button{border-radius:var(--radius-sm);padding:var(--space-1_5) var(--space-3)}:root .wizard-page .portrait-step-success{border-radius:var(--radius-sm);border-style:dashed}:root .wizard-page .component-point-pool-manager{gap:var(--space-2)}:root .wizard-page .component-point-pool-manager .point-pool-allocation{border-radius:var(--radius-sm);padding:var(--space-2_5)}:root .wizard-page .point-pool-allocation-name,:root .wizard-page .point-pool-allocation-value{font-family:var(--font-system)}:root .wizard-page .wizard-error-container{border-radius:var(--radius-sm);border-style:dashed}.component-guided-first-time{box-sizing:border-box;padding:var(--space-6) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.component-guided-first-time .wizard-title{font-size:1.625rem}.component-guided-first-time-wrapper{display:flex;flex-direction:column;gap:var(--space-5)}.component-guided-first-time-step{display:flex;flex-direction:column;gap:var(--space-4)}.component-guided-first-time-welcome{display:flex;flex-direction:column;gap:var(--space-5)}.component-guided-first-time-welcome-lede{font-family:var(--font-interface);color:var(--color-text-secondary)}.component-guided-first-time-welcome-lede p{margin:0}.component-guided-first-time-steps-list{display:grid;gap:var(--space-3);grid-template-columns:1fr}@media (width >= 720px){.component-guided-first-time-steps-list{grid-template-columns:repeat(3,1fr)}}.component-guided-first-time-step-item{position:relative;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}.component-guided-first-time-step-num{font-family:var(--font-system);font-size:var(--font-size-xl);font-weight:700;line-height:1;color:var(--color-accent)}.component-guided-first-time-step-heading{margin:0;font-family:var(--font-interface);font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary)}.component-guided-first-time-step-copy{margin:0;font-family:var(--font-interface);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary)}.component-guided-first-time-step-header{display:flex;flex-direction:column;gap:var(--space-1)}.component-guided-first-time-step-title{margin:0;font-family:var(--font-interface);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.component-guided-first-time-step-description{margin:0;font-family:var(--font-interface);font-size:var(--font-size-sm_5);color:var(--color-text-secondary)}.component-guided-first-time-concept,.component-guided-first-time-details{display:flex;flex-direction:column;gap:var(--space-4)}.component-guided-first-time-nav{display:flex;justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--color-border)}.component-guided-first-time-nav-row{display:flex;align-items:center;gap:var(--space-3)}.component-guided-first-time-skip{display:flex;justify-content:center;font-family:var(--font-interface);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.component-guided-first-time-error{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);font-family:var(--font-interface);color:var(--color-text-primary)}:root .component-guided-first-time{border-radius:var(--radius-md);border-color:var(--color-border-strong)}:root .component-guided-first-time .wizard-title{font-family:var(--font-narrative);font-style:italic;font-weight:500}:root .component-guided-first-time-step-item{border-radius:var(--radius-md);border-color:var(--color-border-strong)}:root .component-guided-first-time-step-num{font-family:var(--font-system);font-size:var(--font-size-xs_5);letter-spacing:.05em;text-transform:uppercase}:root .component-guided-first-time-step-num:before{content:"• ";color:var(--color-text-muted)}:root .component-guided-first-time-step-heading,:root .component-guided-first-time-step-title{font-family:var(--font-narrative);font-style:italic;font-weight:500}:root .component-guided-first-time-nav{border-top:none;background-image:radial-gradient(circle,var(--color-text-muted) 1.5px,transparent 1.5px);background-size:12px 4px;background-repeat:repeat-x;background-position:0 0;padding-top:var(--space-5)}:root .component-guided-first-time-skip{font-family:var(--font-system);font-size:var(--font-size-2xs_5);letter-spacing:.05em;text-transform:uppercase}:root .component-guided-first-time-skip:before{content:"• ";color:var(--color-text-muted)}:root .component-guided-first-time-error{border-radius:var(--radius-md);border-color:var(--color-border-strong)}:root .component-world-creation-wizard{grid-template-areas:"progress" "content" "actions"}:root .component-world-creation-wizard>.component-wizard-progress{overflow-x:visible}:root .component-world-creation-wizard .wizard-progress-row{flex-flow:column nowrap;align-items:stretch;gap:var(--space-1_5);min-width:0}:root .component-world-creation-wizard>.wizard-nav-container{padding:var(--space-3)}.component-world-creation-wizard .wizard-radio-group{display:flex;flex-direction:column;gap:var(--space-2)}.component-world-creation-wizard .wizard-radio-option{display:flex;align-items:flex-start;gap:var(--space-2_5);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);transition:border-color .12s ease,background .12s ease}.component-world-creation-wizard .wizard-radio-option input[type=radio].form-input{width:auto;flex:0 0 auto;margin-top:var(--space-0_5)}.component-world-creation-wizard .wizard-radio-option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft)}.component-world-creation-wizard .wizard-radio-option-text{display:flex;flex-direction:column;gap:var(--space-0_5);min-width:0}.component-world-creation-wizard .wizard-radio-option-desc{margin:0;font-size:var(--font-size-xs_5);color:var(--color-text-secondary)}.component-world-creation-wizard .wizard-suggestion-section{display:flex;flex-direction:column;gap:var(--space-4)}.component-world-creation-wizard .wizard-suggestion-actions{display:flex;flex-flow:row wrap;align-items:center;gap:var(--space-3)}.component-world-creation-wizard .wizard-suggestion-hint{font-size:var(--font-size-xs_5);color:var(--color-text-muted)}.component-world-creation-wizard .wizard-suggestion-preview{display:flex;flex-flow:row wrap;gap:var(--space-5)}.component-world-creation-wizard .wizard-suggestion-preview-group{flex:1 1 calc(var(--space-8) * 8);min-width:0}.component-world-creation-wizard .wizard-suggestion-preview-heading{margin:0 0 var(--space-2);font-family:var(--font-interface);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.component-world-creation-wizard .wizard-suggestion-preview-list{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.component-world-creation-wizard .wizard-suggestion-item{display:flex;flex-direction:column;gap:var(--space-0_5)}.component-world-creation-wizard .wizard-suggestion-item-name{font-weight:600;color:var(--color-text-primary)}.component-world-creation-wizard .wizard-suggestion-item-desc{font-size:var(--font-size-xs_5);color:var(--color-text-secondary)}.component-world-creation-wizard .wizard-attribute-value-input{max-width:calc(var(--space-8) * 5)}.component-world-creation-wizard .wizard-difficulty-legend{display:flex;flex-flow:row wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-1)}.component-world-creation-wizard .wizard-difficulty-legend-label{font-family:var(--font-interface);font-size:var(--font-size-xs_5);font-weight:600;color:var(--color-text-secondary)}.component-world-creation-wizard .wizard-review-card{padding:var(--space-3);gap:var(--space-1_5)}.component-world-creation-wizard .wizard-review-card-head{gap:var(--space-2)}.component-dashboard-home{display:flex;flex-direction:column;gap:var(--space-6)}.component-dashboard-continue-card,.component-dashboard-getting-started,.component-dashboard-progress-card,.component-dashboard-recent-characters,.component-dashboard-recent-worlds{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.component-dashboard-continue-card h2,.component-dashboard-getting-started h2,.component-dashboard-progress-card h2,.component-dashboard-recent-characters h2,.component-dashboard-recent-worlds h2{margin:0;font-family:var(--font-interface);font-size:var(--font-size-md);font-weight:600;letter-spacing:.01em;color:var(--color-text-primary)}.dashboard-progress-stats{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:var(--space-3)}@media (width <= 640px){.dashboard-progress-stats{grid-template-columns:1fr 1fr}}.dashboard-progress-stat{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}.dashboard-progress-stat-value{display:inline-flex;align-items:baseline;gap:var(--space-2);color:var(--color-text-primary)}.dashboard-progress-stat-value svg{width:1rem;height:1rem;color:var(--color-accent);align-self:center}.dashboard-progress-stat-value span{font-family:var(--font-narrative);font-size:1.75rem;line-height:1;font-weight:500;color:var(--color-text-primary)}.dashboard-progress-stat-label{margin:0;font-family:var(--font-system);font-size:var(--font-size-2xs_5);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.dashboard-continue-card-row{display:flex;align-items:center;gap:var(--space-5)}.dashboard-continue-card-portrait{flex-shrink:0}.dashboard-continue-card-portrait>.component-character-portrait{width:5rem;height:5rem;border-radius:var(--radius-full)}.dashboard-continue-card-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-3)}.dashboard-continue-card-fields{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-8);margin:0}.dashboard-continue-card-field{display:flex;flex-direction:column;gap:var(--space-0_5);min-width:0}.dashboard-continue-card-field dt{font-family:var(--font-system);font-size:var(--font-size-2xs_5);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.dashboard-continue-card-field dd{margin:0;font-family:var(--font-interface);font-size:1.0625rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-continue-card-meta{margin:0;font-family:var(--font-system);font-size:var(--font-size-xs);color:var(--color-text-muted)}@media (width <= 640px){.dashboard-continue-card-row{flex-direction:column;text-align:center}.dashboard-continue-card-fields{flex-direction:column;gap:var(--space-2);align-items:center}.dashboard-continue-card-meta{text-align:center}}.component-dashboard-continue-card{position:relative;overflow:hidden}.dashboard-continue-card-bg{display:none;position:absolute;inset:0;z-index:0}.dashboard-continue-card-bg img{-o-object-fit:cover;object-fit:cover}.component-dashboard-continue-card>:not(.dashboard-continue-card-bg){position:relative;z-index:1}.dashboard-recent-list{display:flex;flex-direction:column;gap:var(--space-2)}.dashboard-recent-item{cursor:pointer;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);transition:background-color .12s ease,border-color .12s ease}.dashboard-recent-item:hover{background:var(--color-surface-hover);border-color:var(--color-accent)}.dashboard-recent-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dashboard-recent-item h3{font-family:var(--font-interface);font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin:0}.dashboard-recent-item p,.dashboard-recent-item span{font-family:var(--font-system);font-size:var(--font-size-xs_5);color:var(--color-text-muted);margin:0}.dashboard-recent-character-content{display:flex;align-items:center;gap:var(--space-3)}.dashboard-recent-character-content>.component-character-portrait{flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:var(--radius-full)}.dashboard-recent-character-content>div:not(.component-character-portrait){min-width:0;flex:1 1 auto}.dashboard-recent-world-content{display:flex;align-items:center;gap:var(--space-3)}.dashboard-recent-world-content>div{min-width:0;flex:1 1 auto}.dashboard-recent-world-thumb{position:relative;flex:0 0 auto;width:3rem;height:3rem;border-radius:var(--radius-md);overflow:hidden;background:var(--color-canvas)}.dashboard-recent-world-thumb img{-o-object-fit:cover;object-fit:cover}.dashboard-recent-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-canvas)}.dashboard-recent-empty-state p{margin:0;font-family:var(--font-system);font-size:var(--font-size-xs_5);color:var(--color-text-muted)}.dashboard-recent-empty-slot{justify-content:flex-start;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);font-family:var(--font-interface);font-size:var(--font-size-sm);font-weight:500;text-align:left;transition:border-color .12s ease,background-color .12s ease,color .12s ease}.dashboard-recent-empty-slot:hover{border-style:solid;border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-text-primary)}.dashboard-recent-empty-slot:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dashboard-recent-empty-slot svg{width:1rem;height:1rem}.dashboard-getting-started-steps{display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:0;list-style:none}.dashboard-getting-started-step{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm)}.dashboard-getting-started-step-icon{flex-shrink:0;width:1.125rem;height:1.125rem;color:var(--color-text-muted)}.dashboard-getting-started-step-complete .dashboard-getting-started-step-icon{color:hsl(var(--success))}.dashboard-getting-started-step-label{font-family:var(--font-interface);font-size:var(--font-size-sm_5);color:var(--color-text-primary)}.dashboard-getting-started-step-complete .dashboard-getting-started-step-label{color:var(--color-text-muted);text-decoration:line-through;text-decoration-color:var(--color-border-strong)}.dashboard-getting-started-cta{align-self:flex-start}.component-dashboard-getting-started-complete{background:var(--color-accent-soft);border-color:var(--color-accent)}.dashboard-getting-started-complete-row{display:flex;align-items:flex-start;gap:var(--space-3)}.dashboard-getting-started-complete-icon{flex-shrink:0;width:1.5rem;height:1.5rem;margin-top:var(--space-0_5);color:hsl(var(--success))}.dashboard-getting-started-complete-body{display:flex;flex-direction:column;gap:var(--space-2)}.dashboard-getting-started-complete-body h3{margin:0;font-family:var(--font-interface);font-size:1.0625rem;font-weight:600;color:var(--color-text-primary)}.dashboard-getting-started-complete-body p{margin:0;font-family:var(--font-interface);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}:root .component-dashboard-home{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}@media (width < 768px){:root .component-dashboard-home{display:flex;flex-direction:column;gap:var(--space-4)}}:root .component-dashboard-continue-card,:root .component-dashboard-progress-card{grid-column:1/-1}:root .component-dashboard-continue-card,:root .component-dashboard-getting-started,:root .component-dashboard-progress-card,:root .component-dashboard-recent-characters,:root .component-dashboard-recent-worlds{position:relative;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);gap:var(--space-3);background:var(--color-surface);border:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}:root .component-dashboard-continue-card:before,:root .component-dashboard-getting-started:before,:root .component-dashboard-progress-card:before,:root .component-dashboard-recent-characters:before,:root .component-dashboard-recent-worlds:before{content:"";position:absolute;top:0;left:0;width:var(--mark-arm-length);height:var(--mark-arm-length);border-top:1px solid var(--color-text-muted);border-left:1px solid var(--color-text-muted);pointer-events:none}:root .component-dashboard-continue-card:after,:root .component-dashboard-getting-started:after,:root .component-dashboard-progress-card:after,:root .component-dashboard-recent-characters:after,:root .component-dashboard-recent-worlds:after{content:"";position:absolute;bottom:0;right:0;width:var(--mark-arm-length);height:var(--mark-arm-length);border-bottom:1px solid var(--color-text-muted);border-right:1px solid var(--color-text-muted);pointer-events:none}:root .component-dashboard-continue-card:after,:root .component-dashboard-continue-card:before{width:calc(var(--mark-arm-length) * 2);height:calc(var(--mark-arm-length) * 2);border:0;background-image:linear-gradient(var(--color-accent),var(--color-accent)),linear-gradient(var(--color-accent),var(--color-accent));background-position:50%,50%;background-size:100% 1px,1px 100%;background-repeat:no-repeat}:root .component-dashboard-continue-card:before{top:0;left:0}:root .component-dashboard-continue-card:after{right:0;bottom:0}:root .component-dashboard-continue-card{background:var(--color-accent-soft)}:root .dashboard-progress-stats{display:flex;flex-wrap:wrap;grid-template-columns:none;gap:var(--space-3) var(--space-6)}:root .dashboard-progress-stat{flex:0 1 auto;flex-direction:row;align-items:baseline;gap:var(--space-2);padding:0;border:none;background:transparent}:root .component-dashboard-continue-card h2,:root .component-dashboard-getting-started h2,:root .component-dashboard-progress-card h2,:root .component-dashboard-recent-characters h2,:root .component-dashboard-recent-worlds h2{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-system);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--color-text-secondary)}:root .component-dashboard-continue-card h2:before,:root .component-dashboard-getting-started h2:before,:root .component-dashboard-progress-card h2:before,:root .component-dashboard-recent-characters h2:before,:root .component-dashboard-recent-worlds h2:before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-muted);flex-shrink:0}:root .dashboard-recent-list{gap:0}:root .dashboard-recent-item{border-radius:0;border:none;border-bottom:1px dotted var(--color-border);background:transparent;padding:var(--space-2) var(--space-3)}:root .dashboard-recent-item:last-child{border-bottom:none}:root .dashboard-recent-item:hover{background:var(--color-surface);border-bottom-color:var(--color-accent)}:root .dashboard-recent-item h3{font-family:var(--font-system);font-size:var(--font-size-sm);font-weight:600;letter-spacing:0}:root .dashboard-recent-empty-slot,:root .dashboard-recent-empty-state{border-radius:0}:root .dashboard-progress-stat-label,:root .dashboard-recent-item p,:root .dashboard-recent-item span{font-family:var(--font-system)}:root .dashboard-progress-stat-value span{font-family:var(--font-narrative);font-size:2rem;line-height:1;letter-spacing:-.01em}:root .dashboard-continue-card-row{gap:var(--space-3)}:root .dashboard-continue-card-fields,:root .dashboard-continue-card-meta{gap:var(--space-2) var(--space-4)}:root .dashboard-continue-card-meta time{font-family:var(--font-system);letter-spacing:.12em;text-transform:uppercase;font-size:var(--font-size-2xs_5)}:root .dashboard-getting-started-steps{gap:0}:root .dashboard-getting-started-step{padding:var(--space-2) var(--space-3);border-bottom:1px dotted var(--color-border)}:root .dashboard-getting-started-step:last-child{border-bottom:none}:root .dashboard-getting-started-step-label{font-family:var(--font-system);font-size:var(--font-size-sm);line-height:1.4}:root .dashboard-recent-character-content{gap:var(--space-2)}:root .world-list-grid{gap:var(--space-4)}:root .component-world-card{border-radius:var(--radius-md);background:var(--color-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}:root .world-card-content{padding:var(--space-5);gap:var(--space-3)}:root .component-world-card footer{padding:var(--space-3) var(--space-5);border-top:1px dotted var(--color-border)}:root .world-card-description-block p{font-family:var(--font-system);font-size:var(--font-size-sm_5)}:root .world-card-footer-meta time{font-family:var(--font-system);letter-spacing:.04em;text-transform:uppercase;font-size:var(--font-size-2xs_5)}:root .world-list-empty{border-radius:var(--radius-md);padding:var(--space-6) var(--space-5);gap:var(--space-3);background:var(--color-surface);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}:root .world-list-empty-icon{border-radius:var(--radius-md);width:4rem;height:4rem;background:var(--color-canvas);border:1px dotted var(--color-border)}:root .world-list-empty-title{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-system);font-size:var(--font-size-xs_5);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary)}:root .world-list-empty-title:before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-muted);flex-shrink:0}:root .world-list-empty-lede{font-family:var(--font-narrative);font-size:var(--font-size-lg);color:var(--color-text-primary)}:root .world-list-empty-guide{border-radius:var(--radius-sm);border:1px dotted var(--color-border);padding:var(--space-4) var(--space-5)}:root .world-list-empty-guide-heading{font-family:var(--font-system);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-secondary)}:root .world-list-empty-guide-steps{font-family:var(--font-system);font-size:var(--font-size-sm)}:root .world-list-empty-tip{border-radius:var(--radius-sm);border-left:none;border:1px dotted var(--color-border);background:var(--color-canvas)}.component-about{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-8);width:100%;max-width:var(--page-width-prose);margin:0 auto;padding:var(--space-6) var(--page-gutter)}@media (width >= 1024px){.component-about{padding:var(--space-8) var(--page-gutter)}}.component-about-hero{display:flex;flex-direction:column;gap:var(--space-4);max-width:var(--page-width-prose)}.component-about-title{margin:0;font-family:var(--font-narrative);font-size:clamp(2rem,5vw,3rem);font-weight:600;line-height:1.1;color:var(--color-text-primary)}.component-about-lead{margin:0;padding:var(--space-3) var(--space-4);font-family:var(--font-interface);font-size:var(--font-size-md);line-height:1.6;color:var(--color-text-secondary);background:var(--brand-page-wash)}.component-about-hero-visual{margin-top:var(--space-2);overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-md);line-height:0}.component-about-hero-image{display:block;width:100%;height:auto}.component-about-section{display:flex;flex-direction:column;gap:var(--space-4)}.component-about-section-title{margin:0;font-family:var(--font-interface);font-size:var(--font-size-lg);font-weight:600;letter-spacing:.01em;color:var(--color-text-primary)}.component-about-prose{display:flex;flex-direction:column;gap:var(--space-3);max-width:var(--page-width-prose);padding:var(--space-4);background:var(--brand-page-wash)}.component-about-prose p{margin:0;font-family:var(--font-interface);font-size:var(--font-size-base);line-height:1.65;color:var(--color-text-secondary)}.component-about-prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.component-about-prose a:hover{color:var(--color-accent-hover)}.component-about-prose a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.component-about-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin:0;padding:0;list-style:none;counter-reset:about-step}@media (width < 768px){.component-about-steps{grid-template-columns:1fr}}.component-about-step{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.component-about-step-number{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;font-family:var(--font-system);font-size:var(--font-size-sm);font-weight:600;color:var(--color-accent-strong);background:var(--color-accent-soft);border-radius:var(--radius-full)}.component-about-step-title{margin:0;font-family:var(--font-interface);font-size:1.0625rem;font-weight:600;color:var(--color-text-primary)}.component-about-step-description{margin:0;font-family:var(--font-interface);font-size:var(--font-size-sm_5);line-height:1.55;color:var(--color-text-secondary)}.component-about-cta{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-start;padding:var(--space-6);background:var(--color-accent-soft);border:1px solid var(--color-border);border-radius:var(--radius-md)}.component-about-cta-link{display:inline-flex;align-items:center;padding:var(--space-3) var(--space-5);font-family:var(--font-interface);font-size:var(--font-size-base);font-weight:600;color:var(--color-on-accent);background:var(--color-accent);border-radius:var(--radius-md);text-decoration:none;transition:background-color .12s ease}.component-about-cta-link:hover{color:var(--color-text-inverse);background:var(--color-accent-hover)}.component-about-cta-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.component-about-footer{display:flex;flex-wrap:wrap;gap:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.component-about-footer-link{font-family:var(--font-interface);font-size:var(--font-size-sm_5);color:var(--color-text-secondary);text-decoration:none}.component-about-footer-link:hover{color:var(--color-accent)}.component-about-footer-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}:root .component-about{gap:var(--space-6)}:root .component-about-section-title{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-system);font-size:var(--font-size-xs_5);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary)}:root .component-about-cta .component-about-section-title{color:var(--color-accent-strong)}:root .component-about-section-title:before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-muted);flex-shrink:0}:root .component-about-lead{font-family:var(--font-narrative);font-size:1.1875rem;line-height:1.55}:root .component-about-steps{gap:var(--space-3)}:root .component-about-step{position:relative;padding:var(--space-4);gap:var(--space-2);border:none;border-radius:var(--radius-md);background:var(--color-surface)}:root .component-about-step:before{top:0;left:0;border-top:1px solid var(--color-text-muted);border-left:1px solid var(--color-text-muted)}:root .component-about-step:after,:root .component-about-step:before{content:"";position:absolute;width:var(--mark-arm-length);height:var(--mark-arm-length);pointer-events:none}:root .component-about-step:after{bottom:0;right:0;border-bottom:1px solid var(--color-text-muted);border-right:1px solid var(--color-text-muted)}:root .component-about-step-number{border-radius:var(--radius-sm);font-family:var(--font-system)}:root .component-about-step-description{font-family:var(--font-system);font-size:var(--font-size-sm)}:root .component-about-cta,:root .component-about-cta-link{border-radius:var(--radius-md)}.component-legal{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-6);width:100%;max-width:var(--page-width-prose);margin:0 auto;padding:var(--space-6) var(--page-gutter)}@media (width >= 1024px){.component-legal{padding:var(--space-8) var(--page-gutter)}}.component-legal-hero{display:flex;flex-direction:column;gap:var(--space-3)}.component-legal-eyebrow{margin:0;font-family:var(--font-system);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted)}.component-legal-title{margin:0;font-family:var(--font-narrative);font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1.15;color:var(--color-text-primary)}.component-legal-lead{margin:0;font-family:var(--font-narrative);font-size:var(--font-size-md);line-height:1.55;color:var(--color-text-secondary)}.component-legal-updated{margin:0;font-family:var(--font-system);font-size:var(--font-size-xs_5);color:var(--color-text-muted)}.component-legal-section{display:flex;flex-direction:column;gap:var(--space-3)}.component-legal .component-legal-section-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-family:var(--font-system);font-size:var(--font-size-xs_5);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary)}.component-legal .component-legal-section-title:before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-muted);flex-shrink:0}.component-legal-prose{display:flex;flex-direction:column;gap:var(--space-3)}.component-legal-prose p{margin:0;font-family:var(--font-system);font-size:var(--font-size-sm_5);line-height:1.6;color:var(--color-text-secondary)}.component-legal-prose a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.component-legal-prose a:hover{color:var(--color-accent-hover)}.component-legal-prose a:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.component-legal-footer{display:flex;flex-wrap:wrap;gap:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.component-legal-footer-link{font-family:var(--font-interface);font-size:var(--font-size-sm_5);color:var(--color-text-secondary);text-decoration:none}.component-legal-footer-link:hover{color:var(--color-accent)}.component-legal-footer-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}.component-faq{box-sizing:border-box;display:flex;flex-direction:column;gap:var(--space-8);width:100%;max-width:var(--page-width-prose);margin:0 auto;padding:var(--space-6) var(--page-gutter)}@media (width >= 1024px){.component-faq{padding:var(--space-8) var(--page-gutter)}}.component-faq-hero{display:flex;flex-direction:column;gap:var(--space-3)}.component-faq-eyebrow{margin:0;font-family:var(--font-system);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted)}.component-faq-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:600;line-height:1.15;color:var(--color-text-primary)}.component-faq-lead,.component-faq-title{margin:0;font-family:var(--font-narrative)}.component-faq-lead{font-size:var(--font-size-md);line-height:1.55;color:var(--color-text-secondary)}.component-faq-jumplist{display:grid;gap:var(--space-6);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}@media (width >= 768px){.component-faq-jumplist{grid-template-columns:repeat(2,minmax(0,1fr))}}.component-faq-jumplist-group{display:flex;flex-direction:column;gap:var(--space-2)}.component-faq-jumplist-title{margin:0;font-family:var(--font-system);font-size:var(--font-size-xs);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted)}.component-faq-jumplist-items{display:flex;flex-direction:column;gap:var(--space-1);margin:0;padding:0;list-style:none}.component-faq-jumplist-link{font-family:var(--font-interface);font-size:var(--font-size-sm);line-height:1.5;color:var(--color-text-secondary);text-decoration:none}.component-faq-jumplist-link:hover{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.component-faq-group{display:flex;flex-direction:column;gap:var(--space-5)}.component-faq .component-faq-group-title{display:flex;align-items:center;gap:var(--space-2);margin:0;font-family:var(--font-system);font-size:var(--font-size-xs_5);font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-secondary)}.component-faq .component-faq-group-title:before{content:"";display:inline-block;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-text-muted);flex-shrink:0}.component-faq-item{display:flex;flex-direction:column;gap:var(--space-2)}.component-faq .component-faq-question{margin:0;scroll-margin-top:calc(var(--control-height-touch) + var(--space-6) + var(--space-4));font-family:var(--font-narrative);font-size:var(--font-size-lg);font-weight:600;line-height:1.3;color:var(--color-text-primary)}.component-faq-answer{display:flex;flex-direction:column;gap:var(--space-3)}.component-faq-answer p{margin:0;font-family:var(--font-system);font-size:var(--font-size-sm_5);line-height:1.6;color:var(--color-text-secondary)}.component-faq-answer code{padding:var(--space-0_5) var(--space-1);border-radius:var(--radius-sm);background:var(--color-accent-soft);font-family:var(--font-system);font-size:.875em;color:var(--color-text-primary)}.component-faq-answer a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}.component-faq-answer a:hover{color:var(--color-accent-hover)}.component-faq-footer{display:flex;flex-wrap:wrap;gap:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.component-faq-footer-link{font-family:var(--font-interface);font-size:var(--font-size-sm_5);color:var(--color-text-secondary);text-decoration:none}.component-faq-footer-link:hover{color:var(--color-accent)}