.builder-shell{background:radial-gradient(circle at 50% 0,#c98a2c1a,#0000 40%),linear-gradient(#fbf7ef 0%,#f6f0e2 50%,#efe6d3 100%);flex-direction:column;min-height:100dvh;display:flex}.builder-header{z-index:50;justify-content:center;align-items:center;padding:1rem 1.5rem;display:flex;position:fixed;top:0;left:0;right:0}.builder-logo{letter-spacing:.12em;text-transform:uppercase;color:var(--primary);opacity:.5;font-size:.875rem;font-weight:600;transition:opacity .2s}.builder-logo:hover{opacity:.8}.builder-body{flex-direction:column;flex:1;display:flex}.flow-progress{z-index:60;background:var(--border);height:3px;position:fixed;top:0;left:0;right:0}.flow-progress-fill{background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:0 2px 2px 0;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.flow-screen{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:100dvh;padding:4rem 1.5rem 2rem;animation:.45s cubic-bezier(.16,1,.3,1) both flowScreenIn;display:flex}@keyframes flowScreenIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.flow-screen-inner{flex-direction:column;gap:2rem;width:100%;max-width:32rem;display:flex}.flow-question{text-align:center;flex-direction:column;gap:.5rem;display:flex}.flow-question h2{letter-spacing:-.02em;color:var(--foreground);font-size:1.75rem;font-weight:600;line-height:1.25}@media (min-width:640px){.flow-question h2{font-size:2.125rem}}.flow-question p{color:var(--muted);font-size:1rem;line-height:1.6}.flow-options{flex-direction:column;gap:.75rem;display:flex}.option-card{border:1.5px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, white);width:100%;color:var(--foreground);text-align:left;cursor:pointer;min-height:3.5rem;box-shadow:0 2px 8px -4px var(--shadow);border-radius:1rem;align-items:center;gap:.875rem;padding:1rem 1.25rem;font-size:1.0625rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.option-card:hover{border-color:var(--primary);background:color-mix(in srgb, var(--surface) 96%, white);transform:translateY(-1px);box-shadow:0 4px 16px -6px #174c3c1f}.option-card:active{transform:translateY(0)}.option-card[data-selected=true]{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface));box-shadow:0 0 0 2px var(--primary), 0 4px 16px -6px #174c3c26}.option-card-key{border:1.5px solid var(--border);background:var(--surface);width:1.75rem;height:1.75rem;color:var(--muted);border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.option-card[data-selected=true] .option-card-key{border-color:var(--primary);background:var(--primary);color:#fff}.option-card-label{flex:1}.flow-btn{cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;width:100%;min-height:3.25rem;padding:.875rem 2rem;font-size:1.0625rem;font-weight:600;transition:all .2s;display:inline-flex}.flow-btn-primary{background:var(--primary);color:#fff;border:none;box-shadow:0 4px 12px -4px #174c3c4d}.flow-btn-primary:hover{background:var(--primary-strong);transform:translateY(-1px);box-shadow:0 6px 20px -6px #174c3c66}.flow-btn-primary:active{transform:translateY(0)}.flow-btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.flow-btn-ghost{color:var(--muted);background:0 0;border:none;width:auto;min-height:2.5rem;padding:.5rem 1rem;font-size:.9375rem;font-weight:500}.flow-btn-ghost:hover{color:var(--foreground)}.flow-input{border:1.5px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, white);width:100%;color:var(--foreground);box-shadow:0 2px 8px -4px var(--shadow);border-radius:1rem;padding:.875rem 1.25rem;font-size:1.0625rem;transition:all .2s}.flow-input::placeholder{color:var(--muted);opacity:.6}.flow-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #174c3c1f, 0 4px 16px -6px var(--shadow);outline:none}.flow-chips{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.flow-chip{border:1.5px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:9999px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.flow-chip:hover{border-color:var(--primary);color:var(--primary);background:color-mix(in srgb, var(--primary) 5%, var(--surface))}.loading-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;min-height:100dvh;padding:2rem 1.5rem;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:3.5rem;height:3.5rem;animation:.8s linear infinite loadingSpin}@keyframes loadingSpin{to{transform:rotate(360deg)}}.loading-messages{flex-direction:column;gap:1rem;min-height:6rem;display:flex}.loading-msg{color:var(--muted);align-items:center;gap:.625rem;font-size:1rem;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex}.loading-msg[data-state=active]{color:var(--foreground);font-weight:500}.loading-msg[data-state=done]{color:var(--primary)}.loading-msg-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;display:flex}.loading-msg-check{animation:.3s cubic-bezier(.16,1,.3,1) both checkPop}@keyframes checkPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.flow-nav{justify-content:center;align-items:center;padding-top:.5rem;display:flex}.flow-back{z-index:55;border:1.5px solid var(--border);background:var(--surface);width:2.5rem;height:2.5rem;color:var(--muted);cursor:pointer;box-shadow:0 2px 8px -4px var(--shadow);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:fixed;top:1rem;left:1rem}.flow-back:hover{border-color:var(--primary);color:var(--foreground)}.flow-back svg{width:1.125rem;height:1.125rem}.flow-error{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:2rem;display:flex}.flow-error-icon{font-size:2rem}.flow-error p{color:var(--muted);max-width:24rem}
