:root{--brand: #f15a24;--brand-dark: #d94814;--canvas: #fbfaf7;--surface: #ffffff;--surface-soft: #f3f1ec;--text: #202020;--text-soft: #66635f;--border: #dedbd4;--radius-sm: 10px;--radius-md: 18px;--radius-lg: 28px;--shadow-soft: 0 12px 40px rgba(25, 22, 18, .07);--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem;--space-7: 4.5rem;--content-width: 760px;--motion-fast: .16s;--motion-standard: .26s;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--canvas);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas);color:var(--text)}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--brand);outline-offset:4px}#root{min-height:100vh}.app{min-height:100vh;min-height:100dvh}.landing{width:min(calc(100% - 40px),var(--content-width));min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(48px,env(safe-area-inset-top)) 0 max(40px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.brand{margin-bottom:var(--space-5);color:var(--brand);font-size:clamp(3.6rem,10vw,6.75rem);font-weight:900;line-height:.86;letter-spacing:-.075em}h1{max-width:720px;margin:0;font-size:clamp(2.65rem,7vw,5.25rem);font-weight:800;line-height:.96;letter-spacing:-.055em}.hero-copy{max-width:640px;margin:var(--space-5) 0 0;color:var(--text-soft);font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.55}.primary-button{min-height:56px;margin-top:var(--space-5);padding:0 1.55rem;display:inline-flex;align-items:center;justify-content:center;gap:.75rem;border:0;border-radius:var(--radius-sm);background:var(--brand);color:#fff;font-size:.94rem;font-weight:800;letter-spacing:.035em;cursor:pointer;transition:transform var(--motion-fast) ease,background var(--motion-fast) ease}.primary-button:hover{background:var(--brand-dark);transform:translateY(-2px)}.primary-button:active{transform:translateY(0)}.primary-button:disabled{background:#c9c5be;cursor:not-allowed;transform:none;opacity:.75}.trust-line{margin:1rem 0 0;color:var(--text-soft);font-size:.76rem;font-weight:700;letter-spacing:.12em}.interaction-screen{width:min(calc(100% - 40px),1120px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 0 max(32px,env(safe-area-inset-bottom))}.progress-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.progress-brand{display:flex;align-items:center;gap:.32rem}.progress-letter{color:#c9c5be;font-size:1.5rem;font-weight:900;line-height:1}.progress-letter.active,.progress-letter.complete{color:var(--brand)}.stage-label,.eyebrow{color:var(--text-soft);font-size:.74rem;font-weight:800;letter-spacing:.12em}.interaction-content{width:min(100%,720px);margin:clamp(4rem,11vh,7.5rem) auto 0}.eyebrow{margin:0 0 1.25rem;color:var(--brand)}.question{max-width:700px;font-size:clamp(2.6rem,6vw,4.75rem)}.question-support{margin:1.25rem 0 0;color:var(--text-soft);font-size:1.1rem;line-height:1.5}.answer-input{width:100%;min-height:142px;margin-top:2rem;padding:1.4rem 1.5rem;resize:vertical;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:clamp(1.2rem,2.5vw,1.55rem);line-height:1.45;box-shadow:var(--shadow-soft);transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.answer-input::placeholder{color:#aaa59d}.answer-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #f15a241f,var(--shadow-soft)}.date-input{min-height:72px;resize:none}.example,.optional-note{margin:.85rem 0 0;color:var(--text-soft);font-size:.9rem;line-height:1.5}.validation-message{margin:1rem 0 0;color:var(--text);font-weight:700;line-height:1.45}.save-error{margin-top:1.25rem;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;border-left:4px solid var(--brand);background:var(--surface-soft);line-height:1.45}.interaction-actions{margin-top:2.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.interaction-next{margin-top:0}.secondary-button{min-height:52px;padding:0 1rem;border:0;background:transparent;color:var(--text-soft);font-size:.86rem;font-weight:800;letter-spacing:.06em;cursor:pointer}.secondary-button:hover{color:var(--text)}.choice-grid{margin-top:2.25rem;display:grid;grid-template-columns:repeat(3,1fr);gap:.85rem}.choice-card{min-height:150px;padding:1.4rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);text-align:left;cursor:pointer;box-shadow:var(--shadow-soft);transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease,transform var(--motion-fast) ease}.choice-card:hover{border-color:var(--brand);transform:translateY(-2px)}.choice-card.selected{border-color:var(--brand);background:#f15a240f}.choice-card strong{color:var(--brand);font-size:.82rem;font-weight:900;letter-spacing:.08em}.choice-card span{color:var(--text);font-size:1rem;font-weight:650;line-height:1.4}.builder{margin-top:2.25rem}.builder-list{display:flex;flex-direction:column;gap:.7rem}.builder-item{min-height:62px;padding:.95rem 1rem .95rem 1.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:0 6px 22px #1916120b}.builder-item span{font-size:1.02rem;font-weight:650;line-height:1.4}.builder-remove{width:36px;height:36px;flex:0 0 36px;display:flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--text-soft);font-size:1.4rem;line-height:1;cursor:pointer;transition:background var(--motion-fast) ease,color var(--motion-fast) ease}.builder-remove:hover{background:var(--surface-soft);color:var(--text)}.builder-add{margin-top:.85rem;display:grid;grid-template-columns:1fr auto;gap:.7rem}.builder-input{width:100%;min-width:0;min-height:56px;padding:0 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:1rem;transition:border-color var(--motion-fast) ease,box-shadow var(--motion-fast) ease}.builder-input::placeholder{color:#aaa59d}.builder-input:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #f15a241f}.builder-add-button{min-height:56px;padding:0 1.25rem;border:1px solid var(--brand);border-radius:var(--radius-sm);background:var(--surface);color:var(--brand);font-size:.8rem;font-weight:900;letter-spacing:.08em;cursor:pointer;transition:background var(--motion-fast) ease,color var(--motion-fast) ease}.builder-add-button:hover{background:var(--brand);color:#fff}.direct-note{margin:1.25rem 0 0;padding:1rem 1.1rem;border-left:3px solid var(--brand);background:var(--surface-soft);color:var(--text-soft);font-size:.95rem;line-height:1.5}.course-content{width:min(100%,800px)}.course-builder{margin-top:2.5rem}.course-list{display:flex;flex-direction:column;gap:.8rem}.course-item{display:grid;grid-template-columns:48px 1fr;gap:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:0 8px 28px #1916120e}.course-number,.course-add-number{display:flex;align-items:flex-start;justify-content:center;padding-top:1.35rem;background:var(--surface-soft);color:var(--brand);font-size:.82rem;font-weight:900}.course-item-body{min-width:0;padding:1.25rem 1.35rem}.course-action-text{padding-right:.5rem;color:var(--text);font-size:1.08rem;font-weight:700;line-height:1.45}.course-controls{margin-top:1rem;display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.course-control{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-soft);font-size:1rem;font-weight:800;cursor:pointer;transition:border-color var(--motion-fast) ease,color var(--motion-fast) ease,background var(--motion-fast) ease}.course-control:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:#f15a240a}.course-control:disabled{opacity:.3;cursor:not-allowed}.text-action{min-height:34px;padding:0 .55rem;border:0;background:transparent;color:var(--brand);font-size:.7rem;font-weight:900;letter-spacing:.08em;cursor:pointer}.text-action:hover{text-decoration:underline}.text-action.muted{color:var(--text-soft)}.course-edit{display:flex;flex-direction:column;gap:.75rem}.course-edit .builder-input{min-height:50px}.course-edit-actions{display:flex;align-items:center;gap:.4rem}.course-add{margin-top:.9rem;display:grid;grid-template-columns:48px 1fr;overflow:hidden;border:1px dashed #c8c4bd;border-radius:var(--radius-md);background:var(--surface)}.course-add-number{color:#aaa59d}.course-add-body{min-width:0;padding:1rem;display:grid;grid-template-columns:1fr auto;gap:.7rem}.course-add-body .builder-input,.course-add-body .builder-add-button{min-height:54px}.summary-content{width:min(100%,900px);margin-top:clamp(3.5rem,8vh,6rem)}.summary-heading{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:1.5rem;margin-bottom:2.75rem}.completion-mark{width:54px;height:54px;margin-top:.1rem;display:flex;align-items:center;justify-content:center;border:2px solid var(--brand);border-radius:50%;color:var(--brand);font-size:1.55rem;font-weight:900;line-height:1}.summary-heading .eyebrow{margin-bottom:.75rem}.summary-title{max-width:800px;margin:0;font-size:clamp(2.65rem,6vw,4.8rem);font-weight:800;line-height:.98;letter-spacing:-.055em}.intention-summary{display:grid;grid-template-columns:1fr 1fr;gap:1px;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--border);box-shadow:var(--shadow-soft)}.summary-item{position:relative;min-height:190px;padding:2rem;display:flex;flex-direction:column;align-items:flex-start;border:0;background:var(--surface);color:var(--text);text-align:left;cursor:pointer;transition:background var(--motion-fast) ease}.summary-item:hover{background:var(--surface-soft)}.summary-item-wide{grid-column:1 / -1;min-height:170px}.summary-label{margin-bottom:1rem;color:var(--brand);font-size:.7rem;font-weight:800;letter-spacing:.13em}.summary-value{max-width:680px;font-size:clamp(1.08rem,2vw,1.3rem);font-weight:650;line-height:1.5}.summary-value-prominent{font-size:clamp(1.3rem,2.5vw,1.65rem);line-height:1.4}.summary-edit{margin-top:auto;padding-top:1.5rem;color:var(--text-soft);font-size:.68rem;font-weight:800;letter-spacing:.12em;opacity:0;transition:opacity var(--motion-fast) ease}.summary-item:hover .summary-edit,.summary-item:focus-visible .summary-edit{opacity:1}.summary-next{max-width:650px;margin:2.25rem 0 0;color:var(--text-soft);font-size:1.05rem;line-height:1.55}.summary-actions{margin-top:2rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.landing{width:min(calc(100% - 32px),var(--content-width));justify-content:center}.brand{margin-bottom:1.75rem}h1{font-size:clamp(2.65rem,13vw,4rem)}.hero-copy{margin-top:1.5rem}.landing .primary-button{width:100%;margin-top:2rem}.interaction-screen{width:min(calc(100% - 32px),1120px)}.progress-header{align-items:center}.progress-letter{font-size:1.3rem}.stage-label{font-size:.67rem}.interaction-content{margin-top:3.5rem}.question{font-size:clamp(2.45rem,12vw,3.6rem)}.answer-input{min-height:132px}.date-input{min-height:72px}.interaction-actions{margin-top:1.75rem}.interaction-next{min-width:128px}.choice-grid{grid-template-columns:1fr}.choice-card{min-height:108px}.builder-add{grid-template-columns:1fr}.builder-add-button{width:100%}.course-item,.course-add{grid-template-columns:42px 1fr}.course-number,.course-add-number{padding-top:1.2rem}.course-item-body{padding:1.1rem}.course-add-body{grid-template-columns:1fr;padding:.9rem}.course-add-body .builder-add-button{width:100%}.course-controls{gap:.25rem}.summary-content{margin-top:3rem}.summary-heading{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.completion-mark{width:46px;height:46px;font-size:1.3rem}.summary-title{font-size:clamp(2.35rem,11vw,3.5rem)}.intention-summary{grid-template-columns:1fr;border-radius:var(--radius-md)}.summary-item,.summary-item-wide{grid-column:auto;min-height:0;padding:1.5rem}.summary-edit{opacity:1;padding-top:1.25rem}.summary-next{margin-top:1.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
