@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Figtree:wght@400;500;600;700&display=swap";:root{--canvas:#faf9f5;--surface:#fff;--surface-warm:#f3f0e8;--ink:#15243f;--ink-soft:#45526a;--ink-faint:#8b93a4;--line:#e7e3d9;--line-strong:#d3ccbd;--primary:#172e54;--primary-deep:#0f1f3d;--primary-tint:#e9edf4;--accent:#c1922e;--accent-bright:#d4a24a;--accent-strong:#9a7320;--accent-soft:#f5edda;--danger:#a6432f;--danger-soft:#f6e7e2;--success:#2e6b4e;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--fs-eyebrow:.72rem;--fs-body:1rem;--fs-lead:1.18rem;--fs-h3:1.35rem;--fs-h2:2rem;--fs-h1:clamp(2.4rem, 5vw, 3.6rem);--radius-sm:8px;--radius:14px;--radius-lg:22px;--shadow-sm:0 1px 2px #0f1f3d0d;--shadow:0 10px 34px -18px #0f1f3d42;--shadow-lg:0 26px 60px -28px #0f1f3d57;--maxw:780px;--ease:cubic-bezier(.22, .61, .36, 1)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}body{font-family:var(--font-body);color:var(--ink);background:var(--canvas);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);margin:0;font-weight:500;line-height:1.12}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}p{margin:0 0 1rem}a{color:var(--primary)}.eyebrow{font-family:var(--font-body);font-weight:600;font-size:var(--fs-eyebrow);letter-spacing:.18em;text-transform:uppercase;color:var(--accent-strong);margin:0 0 .9rem}.tm{vertical-align:.35em;opacity:.75;font-size:.62em}.lead{font-size:var(--fs-lead);color:var(--ink-soft)}.muted{color:var(--ink-faint)}.serif{font-family:var(--font-display)}.app{flex-direction:column;min-height:100vh;display:flex}.masthead{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--canvas) 82%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;position:sticky;top:0}.masthead-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1120px;margin:0 auto;padding:.85rem 1.5rem;display:flex}.wordmark{align-items:center;gap:.7rem;display:flex}.wordmark .logo-mark{flex:none;width:auto;height:40px;display:block}.wordmark .name{font-family:var(--font-display);letter-spacing:-.01em;font-size:1.02rem;font-weight:600}.wordmark .name small{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);font-size:.62rem;font-weight:600;display:block}.save-pill{color:var(--ink-soft);border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.78rem;display:flex}.save-pill .dot{background:var(--success);border-radius:50%;width:7px;height:7px}.save-pill.saving .dot{background:var(--accent);animation:1s infinite pulse}@keyframes pulse{50%{opacity:.3}}.layout{flex:1;grid-template-columns:268px 1fr;width:100%;max-width:1120px;margin:0 auto;display:grid}.main{max-width:var(--maxw);width:100%;margin:0 auto;padding:2.4rem 1.5rem 5rem}.chapters{align-self:start;height:fit-content;padding:2.4rem 0 2rem 1.5rem;position:sticky;top:62px}.chapters ol{margin:0;padding:0;list-style:none}.chapters li{cursor:pointer;color:var(--ink-faint);text-align:left;width:100%;font:inherit;background:0 0;border:none;grid-template-columns:26px 1fr;align-items:baseline;gap:.65rem;padding:.34rem 0;display:grid;position:relative}.chapters li .num{font-family:var(--font-display);font-variant-numeric:tabular-nums;opacity:.7;font-size:.82rem}.chapters li .label{transition:color .2s var(--ease);font-size:.86rem;line-height:1.3}.chapters li.done{color:var(--ink-soft)}.chapters li.done .num:after{content:"·"}.chapters li.current .label{color:var(--primary);font-weight:600}.chapters li.current:before{content:"";background:var(--accent);border-radius:2px;width:2px;position:absolute;top:.5rem;bottom:.5rem;left:-1.5rem}.chapters li:disabled{cursor:default;opacity:.55}.progress-wrap{margin-bottom:1.8rem;display:none}.progress-meta{color:var(--ink-faint);justify-content:space-between;margin-bottom:.5rem;font-size:.78rem;display:flex}.progress-track{background:var(--line);border-radius:4px;height:4px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary), var(--accent));height:100%;transition:width .5s var(--ease)}.step-head{margin-bottom:2rem}.step-head .eyebrow{margin-bottom:.7rem}.step-head p{max-width:60ch}.field-block{margin-bottom:1.7rem}.field-block>label,.field-legend{color:var(--ink);margin-bottom:.35rem;font-size:.96rem;font-weight:600;display:block}.field-help{color:var(--ink-faint);margin:-.1rem 0 .6rem;font-size:.85rem}.req{color:var(--accent);margin-left:.15rem}.optional-tag{color:var(--ink-faint);letter-spacing:.04em;font-size:.76rem;font-weight:500}input[type=text],input[type=email],input[type=tel],input[type=url],input[type=number],input[type=date],select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-sm);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:.68rem .8rem}textarea{resize:vertical;min-height:108px;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);outline:none}.char-count{color:var(--ink-faint);text-align:right;margin-top:.3rem;font-size:.76rem}.char-count.warn{color:var(--danger)}.grid-2{grid-template-columns:1fr 1fr;gap:1rem 1.1rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}@media (width<=560px){.grid-2,.grid-3{grid-template-columns:1fr}}.choices{flex-wrap:wrap;gap:.55rem;display:flex}.choice{cursor:pointer;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);transition:all .14s var(--ease);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem .85rem;font-size:.9rem;display:inline-flex}.choice:hover{border-color:var(--primary);color:var(--ink)}.choice input{opacity:0;pointer-events:none;position:absolute}.choice.selected{background:var(--primary-tint);border-color:var(--primary);color:var(--primary-deep);font-weight:600}.choice.selected .tick{opacity:1}.choice .tick{opacity:0;width:14px;height:14px;color:var(--primary)}.choices.stack{flex-direction:column;align-items:stretch}.choices.stack .choice{border-radius:var(--radius-sm);justify-content:flex-start}.scale{flex-wrap:wrap;gap:.35rem;display:flex}.scale button{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius-sm);width:42px;height:42px;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--ink-soft);transition:all .12s var(--ease)}.scale button:hover{border-color:var(--primary)}.scale button.on{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.rank-list{flex-direction:column;gap:.5rem;display:flex}.rank-item{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}.rank-badge{border:1px solid var(--line-strong);width:26px;height:26px;color:var(--ink-faint);border-radius:50%;flex:none;place-items:center;font-size:.82rem;font-weight:600;display:grid}.rank-item.ranked .rank-badge{background:var(--primary);color:#fff;border-color:var(--primary)}.rank-item .rank-label{flex:1;font-size:.92rem}.rank-item .rank-ctrl{border:1px solid var(--line);cursor:pointer;width:28px;height:28px;color:var(--ink-soft);background:0 0;border-radius:6px}.rank-item .rank-ctrl:hover{border-color:var(--primary);color:var(--primary)}.matrix{flex-direction:column;gap:.4rem;display:flex}.matrix-row{border-bottom:1px solid var(--line);grid-template-columns:1.4fr 2fr;align-items:center;gap:.8rem;padding:.4rem 0;display:grid}.matrix-row .m-label{font-size:.9rem}.matrix-levels{flex-wrap:wrap;gap:.3rem;display:flex}.matrix-levels button{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;color:var(--ink-faint);border-radius:999px;padding:.3rem .55rem;font-size:.76rem}.matrix-levels button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.record{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);margin-bottom:.9rem;padding:1.1rem;position:relative}.record-head{justify-content:space-between;align-items:center;margin-bottom:.9rem;display:flex}.record-head .r-title{font-family:var(--font-display);font-size:1.02rem}.record-remove{color:var(--danger);cursor:pointer;background:0 0;border:none;font-size:.82rem}.add-record{background:var(--surface);border:1px dashed var(--line-strong);color:var(--primary);border-radius:var(--radius-sm);cursor:pointer;font:inherit;width:100%;transition:all .14s var(--ease);padding:.7rem 1rem;font-weight:600}.add-record:hover{border-color:var(--primary);background:var(--primary-tint)}.file-drop{border:1px dashed var(--line-strong);border-radius:var(--radius);text-align:center;background:var(--surface-warm);cursor:pointer;transition:all .15s var(--ease);padding:1.3rem}.file-drop:hover{border-color:var(--primary)}.file-drop .fd-title{margin-bottom:.2rem;font-weight:600}.file-drop .fd-note{color:var(--ink-faint);font-size:.8rem}.file-chip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:.6rem;margin-top:.6rem;padding:.5rem .75rem;font-size:.86rem;display:flex}.pledge{border-bottom:1px solid var(--line);align-items:flex-start;gap:.75rem;padding:.85rem 0;display:flex}.pledge:last-child{border-bottom:none}.pledge input{width:18px;height:18px;accent-color:var(--primary);flex:none;margin-top:.25rem}.pledge .p-text{font-size:.94rem}.vis-row{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:.5rem;font-size:.82rem;display:flex}.vis-row select{width:auto;padding:.35rem .5rem;font-size:.82rem}.callout{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--ink-soft);margin:1.2rem 0;padding:.9rem 1.1rem;font-size:.9rem}.callout.privacy{border-color:var(--primary);background:var(--primary-tint)}.error-text{color:var(--danger);margin-top:.35rem;font-size:.82rem}.field-block.has-error input,.field-block.has-error textarea,.field-block.has-error select{border-color:var(--danger)}.step-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;margin-top:2.6rem;padding-top:1.6rem;display:flex}.btn{font:inherit;cursor:pointer;transition:all .15s var(--ease);border:1px solid #0000;border-radius:999px;align-items:center;gap:.5rem;padding:.72rem 1.6rem;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-deep)}.btn-ghost{color:var(--ink-soft);border-color:var(--line-strong);background:0 0}.btn-ghost:hover{border-color:var(--primary);color:var(--primary)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-lg{padding:.9rem 2.1rem;font-size:1.05rem}.link-btn{color:var(--primary);cursor:pointer;font:inherit;text-underline-offset:3px;background:0 0;border:none;text-decoration:underline}.seal-img{object-fit:contain;filter:drop-shadow(0 8px 20px #0f1f3d24);flex:none;width:96px;height:96px}.hero{text-align:left;padding:1rem 0 0}.hero .promise{font-family:var(--font-display);max-width:14ch;margin:.5rem 0 1.4rem;font-size:clamp(2.6rem,6vw,4.4rem);line-height:1.02}.hero .promise .tm{font-size:.28em}.facts{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;margin:2rem 0;display:grid;overflow:hidden}.fact{background:var(--surface);padding:1.1rem 1.2rem}.fact .k{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.3rem;font-size:.72rem}.fact .v{font-family:var(--font-display);color:var(--primary);font-size:1.15rem}.review-section{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;overflow:hidden}.review-head{background:var(--surface-warm);justify-content:space-between;align-items:center;padding:.9rem 1.1rem;display:flex}.review-head h3{font-size:1.05rem}.review-body{padding:.4rem 1.1rem 1rem}.review-line{border-bottom:1px solid var(--line);grid-template-columns:1fr 1.4fr;gap:1rem;padding:.5rem 0;font-size:.9rem;display:grid}.review-line:last-child{border-bottom:none}.review-line .rk{color:var(--ink-faint)}.review-line .rv{color:var(--ink)}.review-line .rv.empty{color:var(--danger);font-style:italic}.status-badge{border-radius:999px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.status-badge.ok{background:var(--primary-tint);color:var(--primary-deep)}.status-badge.missing{background:var(--danger-soft);color:var(--danger)}.profile-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--surface), var(--surface-warm));box-shadow:var(--shadow);margin:1.4rem 0;padding:1.6rem}.dim-bars{flex-direction:column;gap:.55rem;margin-top:1rem;display:flex}.dim-bar{grid-template-columns:140px 1fr 34px;align-items:center;gap:.7rem;font-size:.82rem;display:grid}.dim-track{background:var(--line);border-radius:5px;height:7px;overflow:hidden}.dim-fill{background:linear-gradient(90deg, var(--primary), var(--accent));border-radius:5px;height:100%}.timeline{margin:1.6rem 0;padding:0;list-style:none}.timeline li{grid-template-columns:30px 1fr;gap:.9rem;padding-bottom:1.1rem;display:grid;position:relative}.timeline li:not(:last-child):before{content:"";background:var(--line);width:2px;position:absolute;top:26px;bottom:-4px;left:14px}.timeline .tl-node{border:2px solid var(--line-strong);background:var(--surface);width:28px;height:28px;color:var(--ink-faint);z-index:1;border-radius:50%;place-items:center;font-size:.78rem;font-weight:600;display:grid}.timeline li.active .tl-node{border-color:var(--accent);background:var(--accent);color:#fff}.timeline .tl-title{font-size:.94rem;font-weight:600}.timeline .tl-desc{color:var(--ink-faint);font-size:.84rem}@media (width<=900px){.layout{grid-template-columns:1fr}.chapters{display:none}.progress-wrap{display:block}.main{padding-top:1.6rem}}.hero-logo{width:auto;max-width:100%;height:88px;margin-bottom:1.8rem;display:block}@media (width<=640px){.hero-logo{height:64px}}
