.persona-section{padding:var(--space-16) 0 var(--space-20);text-align:center}.form-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-normal);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-3)}.form-subtitle{color:var(--color-text-secondary);margin-bottom:var(--space-10);line-height:var(--leading-relaxed)}.persona-cards{display:grid;grid-template-columns:1fr;gap:var(--space-4);max-width:480px;margin-inline:auto}.persona-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-6);background:var(--color-bg-raised);border:1.5px solid var(--color-border-subtle);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--easing);min-height:44px;font-family:inherit;font-size:inherit;color:inherit;box-shadow:var(--shadow-card)}.persona-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.persona-card[aria-pressed=true]{border-color:var(--color-accent);box-shadow:var(--shadow-card-hover);background:var(--color-accent-subtle)}.persona-icon{font-size:var(--text-3xl)}.persona-label{font-weight:var(--weight-semibold);font-size:var(--text-base);letter-spacing:var(--tracking-tight)}.persona-detail{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.question-section{padding:var(--space-8) 0 var(--space-16)}.progress-bar{height:4px;background:var(--color-bg-sunken);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--space-3)}.progress-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-full);transition:width var(--duration-normal) var(--easing);width:0%;box-shadow:0 0 8px var(--color-accent-glow, rgba(61, 50, 176, .3))}.question-counter{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-8)}.question-container{min-height:280px;outline:none}.question-container:focus{outline:none}.question-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-normal);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}.question-subtitle{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-6);line-height:var(--leading-relaxed)}.question-note{font-size:var(--text-sm);color:var(--color-text-muted);font-style:italic;margin-bottom:var(--space-4)}.options-platter{display:flex;flex-direction:column;gap:var(--space-2)}.option-card{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--color-bg-raised);border:1.5px solid var(--color-border-subtle);border-left:3px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--easing);min-height:44px;text-align:left;width:100%;font-family:inherit;font-size:inherit;color:inherit;box-shadow:var(--shadow-sm)}.option-card:hover{border-color:var(--color-border);border-left-color:var(--color-accent);box-shadow:var(--shadow-md)}.option-card.selected{border-color:var(--color-accent);border-left-color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:var(--shadow-sm)}.option-label{font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight)}.option-detail{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.option-card.selected .option-detail{color:var(--color-text)}.free-input-wrapper{margin-top:var(--space-4)}.free-input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);background:var(--color-bg);color:var(--color-text);resize:vertical;transition:border-color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing)}.free-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.fields-group{display:flex;flex-direction:column;gap:var(--space-5)}.field-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);letter-spacing:var(--tracking-wide)}.field-input{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-base);background:var(--color-bg-raised);color:var(--color-text);transition:border-color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing)}.field-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.field-input::placeholder{color:var(--color-text-muted)}textarea.field-input{resize:vertical}.nav-actions{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-10)}.stack-section{padding:var(--space-12) 0 var(--space-16);text-align:center}.stack-details{max-width:480px;margin-inline:auto;background:var(--color-bg-raised);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:var(--space-8);box-shadow:var(--shadow-lg);text-align:left}.stack-tier-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-4)}.tier-minimal{background:var(--color-status-success-bg);color:var(--color-status-success)}.tier-standard{background:var(--color-accent-subtle);color:var(--color-accent)}.tier-full{background:var(--color-status-warning-bg);color:var(--color-status-warning)}.stack-framework{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-normal);margin-bottom:var(--space-2);letter-spacing:var(--tracking-tight)}.stack-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-5);line-height:var(--leading-relaxed)}.stack-components{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.stack-components li{font-size:var(--text-sm);padding-left:var(--space-6);position:relative}.stack-components li:before{content:"✓";position:absolute;left:0;color:var(--color-status-success);font-weight:var(--weight-bold)}.stack-note{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-3);padding-left:var(--space-6);position:relative}.stack-note:before{content:"+";position:absolute;left:0;color:var(--color-accent);font-weight:var(--weight-bold)}.stack-customize{max-width:480px;margin-inline:auto;margin-bottom:var(--space-6);text-align:left}.stack-notes-label{display:block;font-size:var(--text-sm);font-weight:var(--weight-medium);margin-bottom:var(--space-2);letter-spacing:var(--tracking-wide)}.stack-notes{width:100%;padding:var(--space-3) var(--space-4);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--text-sm);background:var(--color-bg-raised);color:var(--color-text);resize:vertical;transition:border-color var(--duration-fast) var(--easing),box-shadow var(--duration-fast) var(--easing)}.stack-notes:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle)}.generating-section{padding:var(--space-20) 0;text-align:center}.generating-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--space-5)}.spinner{width:32px;height:32px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.generating-text{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-normal);letter-spacing:var(--tracking-tight)}.generating-detail{font-size:var(--text-sm);color:var(--color-text-secondary)}@media(min-width:640px){.question-title{font-size:var(--text-2xl)}.persona-cards{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:var(--color-accent);opacity:.6}.progress-fill,.persona-card,.option-card,.btn{transition:none}}
