.ceremony-section{position:relative;border-radius:16px;overflow:hidden;margin:.75rem 0}.ceremony-section:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--ceremony-bg,#0f0f0f) 0,rgba(0,0,0,.95) 50%,var(--ceremony-bg,#0f0f0f) 100%);opacity:.9;z-index:0}.ceremony-section:after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:2px;background:var(--ceremony-accent,#a78bfa);border-radius:0 0 4px 4px;box-shadow:0 0 20px var(--ceremony-accent,#a78bfa);z-index:1}.ceremony-inner{position:relative;z-index:1;padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.ceremony-header{text-align:center}.ceremony-header h3{font-size:1.25rem;margin:0 0 .25rem;color:var(--ceremony-text,#eee)}.ceremony-header p{color:var(--text-secondary,#888);font-size:.8125rem;margin:0}.ceremony-step-indicator{display:flex;justify-content:center;gap:.5rem}.ceremony-step-indicator .step-dot{width:6px;height:6px;border-radius:50%;background:var(--border-primary,#333);transition:background .2s,box-shadow .2s}.ceremony-step-indicator .step-dot.active{background:var(--ceremony-accent,#a78bfa);box-shadow:0 0 6px var(--ceremony-accent,#a78bfa)}.ceremony-step-indicator .step-dot.completed{background:var(--accent-secondary,#4ade80)}.archetype-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.archetype-card{border:1px solid var(--border-primary,#333);border-radius:10px;padding:.875rem;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;background:color-mix(in srgb,var(--text-primary) 3%,transparent)}.archetype-card:hover{border-color:var(--ceremony-accent,#a78bfa);background:color-mix(in srgb,var(--text-primary) 5%,transparent)}.archetype-card.selected{border-color:var(--ceremony-accent,#a78bfa);background:color-mix(in srgb,var(--text-primary) 6%,transparent);box-shadow:0 0 12px rgba(168,85,247,.15)}.archetype-card h4{font-size:.9375rem;margin:0 0 .375rem;color:var(--ceremony-text,#eee)}.archetype-card p{font-size:.75rem;color:var(--text-secondary,#888);margin:0 0 .5rem;line-height:1.4}.archetype-stats{display:flex;flex-wrap:wrap;gap:.25rem;font-size:.75rem;color:var(--text-tertiary,#666)}.archetype-stats span{background:color-mix(in srgb,var(--text-primary) 4%,transparent);padding:1px 5px;border-radius:3px}.name-field{display:flex;gap:.5rem;align-items:center}.name-field input{flex:1 1;padding:.5rem .75rem;border:1px solid var(--border-primary,#333);border-radius:8px;background:color-mix(in srgb,var(--text-primary) 4%,transparent);color:var(--text-primary,#eee);font-size:.9375rem}.name-field input::placeholder{color:var(--text-tertiary,#666)}.name-field input:focus{border-color:var(--ceremony-accent,#a78bfa);outline:none}.name-field .dice-btn{padding:.5rem .625rem;border:1px solid var(--border-primary,#333);border-radius:8px;background:color-mix(in srgb,var(--text-primary) 4%,transparent);color:var(--text-primary,#eee);cursor:pointer;font-size:1rem;transition:border-color .15s}.name-field .dice-btn:hover{border-color:var(--ceremony-accent,#a78bfa)}.stat-sliders{display:flex;flex-direction:column;gap:.5rem}.stat-slider-row{display:flex;align-items:center;gap:.625rem}.stat-slider-row .stat-label{width:100px;font-size:.75rem;color:var(--text-secondary,#888)}.stat-slider-row input[type=range]{flex:1 1;accent-color:var(--ceremony-accent,#a78bfa);height:4px}.stat-slider-row .stat-value{width:32px;text-align:right;font-size:.8125rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ceremony-text,#eee)}.personality-question{text-align:center}.personality-question .question-counter{font-size:.75rem;color:var(--text-tertiary,#666);margin-bottom:.375rem;text-transform:uppercase;letter-spacing:.5px}.personality-question .question-text{font-size:1rem;font-style:italic;margin-bottom:.875rem;color:var(--ceremony-text,#eee);line-height:1.5}.personality-options{display:flex;flex-direction:column;gap:.375rem}.personality-option{border:1px solid var(--border-primary,#333);border-radius:8px;padding:.625rem .875rem;cursor:pointer;text-align:left;background:color-mix(in srgb,var(--text-primary) 3%,transparent);color:var(--text-primary,#eee);font-size:.8125rem;transition:border-color .15s,background .15s}.personality-option:hover{border-color:var(--ceremony-accent,#a78bfa);background:color-mix(in srgb,var(--text-primary) 5%,transparent)}.ceremony-reveal{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:ceremonyFadeIn .5s ease-out}.ceremony-reveal h3{font-size:1.25rem;color:var(--ceremony-text,#eee);margin:0}@keyframes ceremonyFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reveal-card{border:1px solid var(--ceremony-accent,#a78bfa);border-radius:12px;padding:1.25rem;background:color-mix(in srgb,var(--text-primary) 3%,transparent);max-width:360px;width:100%}.reveal-card .reveal-avatar{width:80px;height:80px;border-radius:50%;margin:0 auto .75rem;background:linear-gradient(135deg,var(--ceremony-bg,#1a1a2e),var(--ceremony-accent,#a78bfa));display:flex;align-items:center;justify-content:center;font-size:2rem;border:2px solid var(--ceremony-accent,#a78bfa);box-shadow:0 0 16px rgba(168,85,247,.2);overflow:hidden}.reveal-card .reveal-avatar img{width:100%;height:100%;object-fit:cover}.reveal-card .reveal-name{font-size:1.125rem;margin:0 0 .125rem;color:var(--ceremony-text,#eee)}.reveal-card .reveal-archetype{font-size:.8125rem;color:var(--ceremony-accent,#a78bfa);margin:0 0 .75rem}.reveal-stats{display:grid;grid-template-columns:1fr 1fr;gap:.375rem;font-size:.75rem}.stat-row{display:flex;justify-content:space-between;padding:.1875rem .5rem;background:color-mix(in srgb,var(--text-primary) 4%,transparent);border-radius:4px;color:var(--text-secondary,#aaa)}.stat-row span:last-child{color:var(--ceremony-text,#eee);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ceremony-actions{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap}.ceremony-actions button{padding:.5rem 1.25rem;border-radius:8px;font-size:.8125rem;cursor:pointer;border:1px solid var(--border-primary,#333);background:color-mix(in srgb,var(--text-primary) 4%,transparent);color:var(--text-primary,#eee);transition:background .15s,border-color .15s}.ceremony-actions button:hover{background:hsla(0,0%,100%,.07);border-color:var(--ceremony-accent,#a78bfa)}.ceremony-actions button:disabled{opacity:.4;cursor:default}.ceremony-actions button.primary{background:var(--ceremony-accent,#a78bfa);border-color:var(--ceremony-accent,#a78bfa);color:#fff}.ceremony-actions button.primary:hover{opacity:.9}.surprise-btn{font-size:.75rem;color:var(--text-tertiary,#666);cursor:pointer;text-decoration:underline;background:none;border:none;padding:0}.surprise-btn:hover{color:var(--ceremony-accent,#a78bfa)}.ceremony-toggle{text-align:center;margin:.5rem 0}.ceremony-toggle button{padding:.375rem 1rem;border:1px dashed var(--border-primary,#333);border-radius:8px;background:rgba(0,0,0,0);color:var(--text-secondary,#888);cursor:pointer;font-size:.75rem}.ceremony-toggle button:hover{border-color:var(--ceremony-accent,#a78bfa);color:var(--ceremony-text,#eee)}