:root{
  --bg:#f6f4fb;
  --ink:#213047;
  --muted:#5d6b82;
  --card:#ffffff;
  --line:#d8deeb;
  --shadow:0 8px 24px rgba(31,45,77,.08);
  --radius:18px;
  --blue:#dceeff;
  --blue-accent:#bfdfff;
  --green:#dcebd7;
  --green-accent:#bfd3b6;
  --peach:#ffe2d2;
  --peach-accent:#f8c5b2;
  --lav:#e8e0f8;
  --lav-accent:#c7d7f2;
  --cam:#dde2ff;
  --cam-accent:#c9d0e8;
  --mint:#ddf2e3;
  --mint-accent:#f8d6d6;
  --primary:#6172c3;
  --primary-dark:#5161ab;
  --danger:#c15656;
  --success:#2d8a55;
  --warn:#b56d00;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#faf8ff 0%,#f4f7fb 100%)}
button,input,textarea,select{font:inherit}
button{border:none;border-radius:14px;padding:.75rem 1rem;background:#edf1f8;color:var(--ink);cursor:pointer;transition:.15s ease}
button:hover{filter:brightness(.98)}
button.primary{background:var(--primary);color:#fff}
button.primary:hover{background:var(--primary-dark)}
button.danger{background:#f4dddd;color:#7b3030}
.topbar{position:sticky;top:0;z-index:10;display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem 1.1rem;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.brand-wrap{display:flex;align-items:center;gap:.85rem}.brand-icon{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#7788db,#9db6ff);display:grid;place-items:center;color:#fff;font-size:1.2rem;box-shadow:var(--shadow)}
.brand-wrap h1{margin:.1rem 0;font-size:1.35rem}.brand-wrap p{margin:0;color:var(--muted);font-size:.92rem}
.top-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
main{max-width:1200px;margin:0 auto;padding:1rem}
.intro-card,.card-section,.summary-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.intro-card{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;margin-bottom:1rem}
.intro-card h2{margin:.1rem 0 .3rem 0}.intro-card p{margin:0;color:var(--muted)}
.autosave-pill{background:#eef9f1;color:var(--success);padding:.55rem .9rem;border-radius:999px;font-weight:700}
.progress-nav{display:flex;gap:.65rem;flex-wrap:wrap;padding:.9rem 1rem;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:78px;z-index:9}
.progress-step{padding:.6rem .9rem;border-radius:999px;background:#edf1f8;color:#32425f;font-weight:600;font-size:.95rem}.progress-step.done{background:#e1f4e7;color:#1f6a3d}.progress-step.active{outline:3px solid rgba(97,114,195,.15);background:#e8ecfb;color:#334189}
.section{margin-bottom:1rem;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#fff}
.section[data-color="blue"] .section-head{background:linear-gradient(180deg,var(--blue),var(--blue-accent))}
.section[data-color="green"] .section-head{background:linear-gradient(180deg,var(--green),var(--green-accent))}
.section[data-color="peach"] .section-head{background:linear-gradient(180deg,var(--peach),var(--peach-accent))}
.section[data-color="lav"] .section-head{background:linear-gradient(180deg,var(--lav),var(--lav-accent))}
.section[data-color="cam"] .section-head{background:linear-gradient(180deg,var(--cam),var(--cam-accent))}
.section[data-color="mint"] .section-head{background:linear-gradient(180deg,var(--mint),var(--mint-accent))}
.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:1rem 1.1rem;cursor:pointer}
.section-head h2{margin:0 0 .15rem 0;font-size:1.18rem}.section-head p{margin:0;color:#465672}.section-meta{display:flex;align-items:center;gap:.75rem}.completion-badge{padding:.45rem .7rem;border-radius:999px;background:rgba(255,255,255,.72);font-weight:700}.toggle-ind{font-size:1.1rem;font-weight:700}
.section-body{padding:1rem;display:grid;gap:1rem}.section.collapsed .section-body{display:none}
.field{background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:18px;padding:1rem}.field-label{display:flex;align-items:center;gap:.45rem;justify-content:space-between;flex-wrap:wrap}.field-title{font-weight:800}.field-help{margin-top:.2rem;color:var(--muted);font-size:.94rem}
.help-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.55rem}.micro-help{font-size:.85rem;color:#5d6787;background:#f6f8fc;padding:.35rem .55rem;border-radius:999px}
.input-row{display:flex;gap:.65rem;flex-wrap:wrap;margin-top:.8rem}.text-input, .text-area, .select-input{width:100%;padding:.8rem .9rem;border:1px solid #cfd7e6;border-radius:14px;background:#fff;color:var(--ink)}.text-area{min-height:88px;resize:vertical}
.text-input.short{max-width:180px}.text-input.tiny{max-width:100px}.inline-pair{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.inline-pair .text-input{max-width:250px}
.chips{display:flex;gap:.55rem;flex-wrap:wrap;margin-top:.8rem}.chip{padding:.55rem .8rem;border-radius:999px;background:#edf1f8;color:#33425d;font-weight:600;cursor:pointer;user-select:none;border:1px solid transparent}.chip.active{background:#6476c8;color:#fff}.chip.multi.active{background:#4c8d73}.chip.warn{background:#fff1dc;color:#825000;border-color:#ffd48f}
.details-box{margin-top:.8rem;padding-top:.8rem;border-top:1px dashed #d6deed}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.9rem}.subtle{color:var(--muted);font-size:.92rem}
.summary-card{padding:1rem}.summary-card h3{margin:.1rem 0 .4rem 0}.summary-card p{margin:0;color:#364760}
.warning-list{display:grid;gap:.65rem}.warning{padding:.8rem .9rem;border-radius:14px;background:#fff6ea;border:1px solid #f2d4a2;color:#7a4e00}.success{padding:.8rem .9rem;border-radius:14px;background:#edf8f0;border:1px solid #cfead6;color:#276844}
.final-output{padding:1rem;margin:1rem 0 2rem}.final-output textarea{width:100%;padding:1rem;border:1px solid #cfd7e6;border-radius:16px;background:#fff;min-height:350px}.button-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
dialog{border:none;border-radius:18px;padding:0;box-shadow:0 18px 60px rgba(17,25,40,.2);width:min(92vw,700px)}.dialog-card{padding:1rem 1rem 1.1rem;display:grid;gap:.8rem}.draft-list{display:grid;gap:.6rem;max-height:60vh;overflow:auto}.draft-item{display:flex;gap:.5rem;justify-content:space-between;align-items:center;padding:.8rem .9rem;border:1px solid var(--line);border-radius:14px;background:#fff}
.inline-actions{display:flex;gap:.4rem;flex-wrap:wrap}.tiny-btn{padding:.45rem .65rem;border-radius:12px;font-size:.92rem}
.why-btn{padding:.35rem .6rem;border-radius:999px;background:#f5f7fc;color:#526482;font-size:.82rem}.why-note{margin-top:.55rem;padding:.7rem .8rem;background:#f8faff;border:1px solid #dce5f4;border-radius:12px;color:#526482;font-size:.92rem;display:none}.why-note.show{display:block}
.section-heading-row{display:flex;justify-content:space-between;gap:1rem;align-items:start}
small.counter{display:inline-block;margin-top:.4rem;color:var(--muted)}
@media (max-width:800px){.topbar{position:static;flex-direction:column;align-items:stretch}.progress-nav{top:0}.brand-wrap h1{font-size:1.18rem}.section-head{align-items:flex-start}.completion-badge{font-size:.85rem}}
.details-box:has([data-input$="Custom"]) {
  background:#fff7df;
  border:2px solid #e8b64f;
  border-radius:16px;
  padding:.9rem;
}
.details-box:has([data-input$="Custom"]) .field-title::before{
  content:'✍️ ';
}
.custom-active{background:#fff8d9;border:2px solid #e5b94d;padding:.85rem;border-radius:14px}
