:root{--violet:#6b4ef0;--violet-deep:#4b32c3;--violet-2:#8b73ff;--violet-soft:#efeafe;--violet-softer:#f6f3ff;--ink:#241c46;--muted:#746f92;--border:#ece8f8;--green:#22c07f;--green-soft:#e6f8f0;--peach:#ffb38a;--bg1:#f7f5ff;--bg2:#ece6ff;--card:#fff;--shadow:0 16px 44px #6040d61f;--shadow-sm:0 8px 22px #6040d614;--r-card:24px;--r-input:15px;--sans:"Poppins", -apple-system, "Segoe UI", Roboto, sans-serif;--display:"Fredoka", "Poppins", sans-serif;font-family:var(--sans);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:radial-gradient(1100px 520px at 82% -8%, #e4dcff 0%, #e4dcff00 60%), radial-gradient(900px 520px at 8% 4%, #efe9ff 0%, #efe9ff00 55%), linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 100%);background-attachment:fixed;min-height:100svh;margin:0}#root{min-height:100svh}h1,h2,h3{font-family:var(--display);color:var(--ink);font-weight:600}.app{max-width:1140px;margin:0 auto;padding:0 22px 60px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 4px;display:flex}.brand{font-family:var(--display);color:var(--violet-deep);letter-spacing:-.01em;align-items:center;gap:9px;font-size:26px;font-weight:700;display:flex}.brand .mark{background:linear-gradient(150deg, var(--violet) 0%, var(--violet-2) 100%);border-radius:12px;place-items:center;width:34px;height:34px;font-size:18px;display:grid;box-shadow:0 8px 18px #6b4ef059}.stepper{box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;gap:8px;padding:6px;display:flex}.pill{color:var(--muted);background:0 0;border-radius:999px;padding:7px 15px;font-size:13px;font-weight:600;transition:all .2s}.pill.active{color:#fff;background:linear-gradient(150deg, var(--violet) 0%, var(--violet-2) 100%);box-shadow:0 6px 14px #6b4ef059}.disclaimer{color:#9a5b2c;box-shadow:var(--shadow-sm);background:#fff6ef;border:1px solid #ffe2cc;border-radius:16px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:13px 18px;font-size:13.5px;display:flex}.disclaimer:before{content:"🤍";font-size:15px;line-height:1.4}.error{color:#9c2540;background:#fdecef;border:1px solid #f5c2cd;border-radius:16px;margin-bottom:18px;padding:13px 18px;font-size:14px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow);padding:34px}.card h1{letter-spacing:-.02em;margin:0 0 8px;font-size:30px}.lede{color:var(--muted);max-width:56ch;margin:0 0 24px;font-size:15px;line-height:1.6}.grid{grid-template-columns:1fr 1fr;gap:16px 20px;display:grid}@media (width<=640px){.grid{grid-template-columns:1fr}}.field{margin:16px 0;display:block}.field-label{color:var(--ink);margin-bottom:7px;font-size:13px;font-weight:600;display:block}.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--ink);border:1.5px solid var(--border);border-radius:var(--r-input);background:var(--violet-softer);padding:12px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s,background .15s}.field textarea{resize:vertical;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:#a8a3c0}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--violet);background:#fff;outline:none;box-shadow:0 0 0 4px #6b4ef021}.chips{border:1.5px solid var(--border);border-radius:var(--r-input);background:var(--violet-softer);flex-wrap:wrap;align-items:center;gap:7px;padding:8px;display:flex}.chips input{background:0 0;border:none;flex:1;min-width:180px;padding:6px}.chips input:focus{box-shadow:none;background:0 0;outline:none}.chip{background:linear-gradient(150deg, var(--violet) 0%, var(--violet-2) 100%);color:#fff;border-radius:999px;align-items:center;gap:7px;padding:6px 8px 6px 14px;font-size:13px;font-weight:600;display:inline-flex;box-shadow:0 4px 10px #6b4ef047}.chip button{color:#fff;cursor:pointer;background:#ffffff47;border:none;border-radius:999px;width:19px;height:19px;font-size:12px;line-height:1}button.primary,a.primary{font:inherit;cursor:pointer;color:#fff;background:linear-gradient(150deg, var(--violet) 0%, var(--violet-2) 100%);border:none;border-radius:999px;margin-top:10px;padding:13px 26px;font-size:15px;font-weight:600;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-block;box-shadow:0 10px 22px #6b4ef052}button.primary:hover,a.primary:hover{transform:translateY(-1px);box-shadow:0 14px 26px #6b4ef066}button.primary:disabled{opacity:.55;cursor:default;box-shadow:none;transform:none}button.ghost{color:var(--violet-deep);border:1.5px solid var(--border);font:inherit;cursor:pointer;background:#fff;border-radius:999px;margin-top:10px;padding:12px 20px;font-size:15px;font-weight:600;transition:border-color .15s}button.ghost:hover{border-color:var(--violet-2)}.row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.note{background:var(--violet-soft);color:var(--violet-deep);border:1px solid #e2d9fb;border-radius:16px;margin:10px 0 18px;padding:12px 16px;font-size:14px;line-height:1.55}.note.warn{color:#9a4a22;background:#fff2ec;border-color:#ffd6bf}.note.warn ul{margin:8px 0 0;padding-left:18px}.questions{counter-reset:q;margin:12px 0 20px;padding:0;list-style:none}.questions li{counter-increment:q;background:var(--violet-softer);border-radius:14px;margin:8px 0;padding:12px 14px 12px 46px;position:relative}.questions li:before{content:counter(q);color:#fff;background:linear-gradient(150deg, var(--violet) 0%, var(--violet-2) 100%);border-radius:8px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:grid;position:absolute;top:12px;left:12px}.q-text{font-size:14.5px;font-weight:500}.q-why{color:var(--muted);margin-top:3px;font-size:12.5px}.considerations{margin:8px 0 4px;padding-left:4px;list-style:none}.considerations li{padding:6px 0 6px 26px;font-size:14px;line-height:1.5;position:relative}.considerations li:before{content:"✓";color:var(--green);font-weight:800;position:absolute;top:6px;left:0}.review{grid-template-columns:1fr 1fr;align-items:start;gap:22px;display:grid}@media (width<=900px){.review{grid-template-columns:1fr}}.preview{position:sticky;top:18px}.preview-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:12px;font-weight:700}.prefs-actions .spacer{flex:1}.prefs-hint{color:var(--muted);margin:10px 2px 0;font-size:13px;line-height:1.55}.prefs-hint b{color:var(--violet-deep)}.editor{margin:6px 0 4px}.editor-hint{color:var(--muted);margin:0 0 14px;font-size:13.5px;line-height:1.55}.editor-section{margin-bottom:18px}.editor-section h4{font-family:var(--display);color:var(--violet-deep);margin:0 0 8px;font-size:14px;font-weight:600}.editor-empty{color:var(--muted);margin:0 0 6px;font-size:13px;font-style:italic}.editor-row{align-items:center;gap:8px;margin-bottom:7px;display:flex}.editor-row input{border:1.5px solid var(--border);font:inherit;color:var(--ink);background:#fff;border-radius:12px;flex:1;padding:9px 12px;font-size:14px;transition:border-color .15s}.editor-row input:focus{border-color:var(--violet-2);outline:none}.editor-remove{border:1.5px solid var(--border);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:9px;flex:none;font-size:13px;line-height:1;transition:border-color .15s,color .15s}.editor-remove:hover{color:#c0392b;border-color:#ffb4a2}.editor-add{margin-top:2px;font-size:13px}.preview iframe{border:1px solid var(--border);width:100%;height:800px;box-shadow:var(--shadow);background:#fff;border-radius:20px}.askbox{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.askbox h3{margin:0 0 10px;font-size:17px}.askbox textarea{width:100%;font:inherit;border:1.5px solid var(--border);resize:vertical;background:var(--violet-softer);border-radius:14px;padding:12px;font-size:14px}.askbox textarea:focus{border-color:var(--violet);background:#fff;outline:none;box-shadow:0 0 0 4px #6b4ef021}.answer{background:var(--violet-softer);border:1px solid var(--border);white-space:pre-wrap;border-radius:14px;margin-top:12px;padding:14px 16px;font-size:14px;line-height:1.6}.feedback-card{border-top:1px solid var(--border);margin-top:24px;padding-top:18px}.feedback-card h3{margin:0 0 4px;font-size:17px}.feedback-sub{color:var(--muted);margin:0 0 12px;font-size:13.5px}.feedback-faces{flex-wrap:wrap;gap:10px;display:flex}.face{border:1.5px solid var(--border);cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;flex:1;align-items:center;gap:6px;min-width:96px;padding:12px 8px;transition:border-color .15s,background .15s,transform .1s;display:flex}.face:hover{border-color:var(--violet-2);transform:translateY(-1px)}.face.active{border-color:var(--violet);background:var(--violet-softer);box-shadow:0 0 0 3px #6b4ef024}.face-emoji{font-size:26px;line-height:1}.face-label{color:var(--violet-deep);font-size:12px;font-weight:600}.feedback-details{flex-direction:column;gap:10px;margin-top:12px;display:flex}.feedback-details textarea,.feedback-details input{width:100%;font:inherit;border:1.5px solid var(--border);resize:vertical;background:var(--violet-softer);border-radius:14px;padding:12px;font-size:14px}.feedback-details textarea:focus,.feedback-details input:focus{border-color:var(--violet);background:#fff;outline:none;box-shadow:0 0 0 4px #6b4ef021}.feedback-thanks{background:var(--violet-softer);border:1px solid var(--border);color:var(--violet-deep);border-radius:14px;padding:14px 16px;font-size:14px}.pref-group{margin:18px 0}.pref-group h3{text-transform:uppercase;letter-spacing:.04em;color:var(--violet-deep);margin:0 0 10px;font-size:14px}.pref-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width<=640px){.pref-options{grid-template-columns:1fr}}.pref-opt{cursor:pointer;-webkit-user-select:none;user-select:none;border:1.5px solid var(--border);background:var(--violet-softer);border-radius:13px;align-items:center;gap:10px;padding:11px 14px;font-size:14px;transition:all .15s;display:flex}.pref-opt:hover{border-color:var(--violet-2)}.pref-opt.on{border-color:var(--violet);background:var(--violet-soft);font-weight:500}.pref-opt input{width:18px;height:18px;accent-color:var(--violet);cursor:pointer;flex:none}.wizard-top{margin-bottom:18px}.progress-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.progress-label{font-family:var(--display);color:var(--ink);font-size:16px;font-weight:600}.progress{background:var(--violet-soft);border-radius:999px;height:10px;overflow:hidden}.progress .bar{background:linear-gradient(90deg, var(--violet) 0%, var(--violet-2) 100%);border-radius:999px;height:100%;transition:width .35s}.progress-sub{color:var(--muted);margin-top:6px;font-size:12.5px}.qa{margin:18px 0 16px}.q-current{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.q-badge{width:38px;height:38px;font-family:var(--display);color:#fff;background:linear-gradient(150deg, var(--violet) 0%, var(--violet-2) 100%);border-radius:12px;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid;box-shadow:0 8px 16px #6b4ef04d}.q-current .q-text{font-family:var(--display);color:var(--ink);font-size:19px;font-weight:600;line-height:1.35}.q-current .q-why{color:var(--violet-deep);background:var(--violet-soft);border-radius:999px;margin-top:6px;padding:5px 12px;font-size:13.5px;display:inline-block}.bubble{border-radius:16px;max-width:88%;margin:8px 0;padding:11px 15px;font-size:14px;line-height:1.55}.bubble.assistant{background:var(--violet-softer);border:1px solid var(--border);border-bottom-left-radius:6px}.bubble.you{background:linear-gradient(150deg, var(--violet) 0%, var(--violet-2) 100%);color:#fff;border-bottom-right-radius:6px;margin-left:auto}.bubble.you.saved{opacity:.92}.bubble.typing{color:var(--muted);font-style:italic}.wizard-input{width:100%;font:inherit;color:var(--ink);border:1.5px solid var(--border);background:var(--violet-softer);resize:vertical;border-radius:15px;padding:13px 15px;font-size:15px;line-height:1.5}.wizard-input:focus{border-color:var(--violet);background:#fff;outline:none;box-shadow:0 0 0 4px #6b4ef021}.wizard-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.wizard-actions .spacer{flex:1}button.link{color:var(--violet-deep);font:inherit;cursor:pointer;background:0 0;border:none;padding:2px;font-size:13.5px;font-weight:600}button.link:hover{text-decoration:underline}button.link.back{color:var(--muted);margin-top:16px}.support-card{border-top:1px solid var(--border);align-items:flex-start;gap:14px;margin-top:22px;padding-top:18px;display:flex}.support-emoji{font-size:26px;line-height:1}.support-title{font-family:var(--display);color:var(--ink);font-size:16px;font-weight:600}.support-text{color:var(--muted);margin:4px 0 10px;font-size:13.5px;line-height:1.55}.support-btn{padding:10px 18px;font-size:14px}.app-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:34px;padding-top:18px;font-size:12.5px;display:flex}.app-footer a{color:var(--violet-deep);font-weight:600;text-decoration:none}.app-footer a:hover{text-decoration:underline}.loading-overlay{z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#281e4e4d;place-items:center;animation:.2s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.loading-card{text-align:center;box-shadow:var(--shadow);background:#fff;border-radius:24px;max-width:380px;margin:20px;padding:34px 40px}.spinner{justify-content:center;gap:9px;margin-bottom:18px;display:flex}.spinner span{background:linear-gradient(150deg, var(--violet) 0%, var(--violet-2) 100%);border-radius:50%;width:13px;height:13px;animation:1s ease-in-out infinite both bounce}.spinner span:first-child{animation-delay:-.32s}.spinner span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{opacity:.45;transform:scale(.5)}40%{opacity:1;transform:scale(1)}}.loading-msg{font-family:var(--display);color:var(--ink);font-size:17px;font-weight:600;line-height:1.4}.loading-sub{color:var(--muted);margin-top:8px;font-size:13px}
