:root{--bg:#f2f0eb;--surface:#fff;--ink:#111;--muted:#5c5952;--body:#3a3833;--line-soft:#d9d5cc;--maybe:#a8a49b;--disabled:#dedad2;--accent:#b3261e;--overlay:#6f6d68;--gutter:20px;--font:"Inter Tight", system-ui, -apple-system, sans-serif;--font-display:"Cormorant Garamond", Garamond, "Times New Roman", serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}a{color:var(--ink)}a:hover{color:var(--muted)}button,input,textarea{font:inherit;color:inherit;border-radius:0}button{cursor:pointer}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.screen{background:var(--bg);flex-direction:column;max-width:480px;min-height:100dvh;margin:0 auto;display:flex;position:relative}@media (width>=520px){body{background:#e8e5de}.screen{border-inline:1px solid var(--line-soft)}}.screen-body{flex-direction:column;flex:1;display:flex}.header{z-index:5;padding:16px 12px;padding-top:max(16px, env(safe-area-inset-top));border-bottom:1px solid var(--ink);background:var(--bg);grid-template-columns:44px 1fr 44px;align-items:center;display:grid;position:sticky;top:0}.header-title{text-align:center;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.header.with-logo{padding-top:max(28px, env(safe-area-inset-top));border-bottom:none;align-items:start;padding-bottom:20px;position:relative}.header-logo-link{justify-self:center;display:block}.header-logo{width:auto;height:150px;display:block}.header-step{text-align:center;letter-spacing:.1em;color:var(--muted);font-size:11px;font-weight:500}.icon-btn{width:44px;height:44px;color:var(--ink);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}a.icon-btn:hover{color:var(--muted)}.steps{padding:0 var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.steps span{background:var(--line-soft);height:2px}.steps span.done{background:var(--ink)}.content{padding:0 var(--gutter);flex-direction:column;flex:1;display:flex}.stack-32{gap:32px}.stack-28{gap:28px}.intro{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:28px 0 16px;display:flex}.intro.ruled{border-bottom:1px solid var(--ink)}.intro.loose{gap:14px;padding-top:40px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:500;display:flex}.h1{font-family:var(--font-display);margin:0;font-size:30px;font-weight:500;line-height:1.05}.h1.lg{font-size:35px}.h1.xl{font-size:39px;line-height:1}.display{font-family:var(--font-display);overflow-wrap:anywhere;margin:0;font-size:46px;font-weight:500;line-height:.95}.body-text{color:var(--body);margin:0;font-size:16px;line-height:1.5}.body-text.sm{font-size:15px}.note{color:var(--muted);margin:0;font-size:13px;line-height:1.4}.accent{color:var(--accent)}.muted{color:var(--muted)}.footer{z-index:4;padding:16px var(--gutter) max(32px, env(safe-area-inset-bottom));background:var(--bg);flex-direction:column;gap:4px;display:flex;position:sticky;bottom:0}.footer.ruled{border-top:1px solid var(--ink);padding-top:12px}.footer .hint{color:var(--muted);text-align:center;padding-top:6px;font-size:12px}.btn{border:1px solid var(--ink);background:var(--ink);width:100%;height:54px;color:var(--bg);letter-spacing:.16em;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-size:13px;font-weight:500;text-decoration:none;display:flex}a.btn:hover{color:var(--bg);background:#2a2a2a}.btn:hover:not(:disabled){background:#2a2a2a}.btn.secondary{color:var(--ink);background:0 0}.btn.secondary:hover{background:var(--surface);color:var(--ink)}.btn:disabled{background:var(--disabled);border-color:var(--disabled);color:var(--muted);cursor:not-allowed}.link-btn{height:44px;color:var(--ink);letter-spacing:.16em;text-transform:uppercase;text-underline-offset:4px;background:0 0;border:none;justify-content:center;align-items:center;font-size:11px;font-weight:500;text-decoration:underline;display:flex}.chip{border:1px solid var(--ink);height:32px;color:var(--ink);background:0 0;padding:0 10px;font-size:13px}.chip.soft{border-color:var(--line-soft);color:var(--muted)}.chip.soft:hover{border-color:var(--ink);color:var(--ink)}.field{letter-spacing:.16em;text-transform:uppercase;flex-direction:column;gap:8px;font-size:11px;font-weight:500;display:flex}.field-hint{color:var(--muted);letter-spacing:.1em}.input{border:none;border-bottom:1px solid var(--ink);letter-spacing:0;text-transform:none;background:0 0;height:48px;padding:0;font-size:18px}.input.lg{height:52px;font-size:22px}.input.sm{height:44px;font-size:16px}.input::placeholder,.textarea::placeholder{color:#8a867d}.textarea{border:1px solid var(--ink);background:var(--surface);letter-spacing:0;text-transform:none;resize:vertical;min-height:120px;padding:12px;font-size:16px}.check{width:20px;height:20px;accent-color:var(--ink);flex-shrink:0;margin:0}.date-input{color:var(--muted);text-align:right;background:0 0;border:none;min-height:44px;font-size:15px}.section-title{letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:8px;font-size:11px;font-weight:500}.row{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;min-height:52px;font-size:15px;display:flex}.row.tight{min-height:44px}.row .label{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500}.table{border-top:1px solid var(--ink);flex-direction:column;display:flex}.value-tag{letter-spacing:.14em;text-transform:uppercase;font-size:11px}.value-tag.strong{font-weight:600}.tabs{padding:0 var(--gutter);border-bottom:1px solid var(--line-soft);align-items:center;gap:24px;display:flex}.tab{letter-spacing:.14em;text-transform:uppercase;height:44px;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;padding:0;font-size:12px;font-weight:500}.tab[aria-selected=true]{border-bottom-color:var(--ink);color:var(--ink);font-weight:600}.legend{color:var(--muted);align-items:center;gap:12px;margin-left:auto;font-size:11px;display:flex}.legend span{align-items:center;gap:4px;display:flex}.legend i{width:10px;height:10px;display:block}.badge{border:1px solid var(--accent);color:var(--accent);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:600}.badge.solid{border-color:var(--ink);background:var(--ink);color:var(--bg);padding:4px 8px}.progress{background:var(--line-soft);height:2px}.progress>span{background:var(--ink);height:2px;display:block}.bar{background:var(--line-soft);height:6px;display:flex}.bar .yes{background:var(--ink)}.bar .maybe{background:var(--maybe)}.segmented{border:1px solid var(--ink);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid}.segmented button{border:none;border-left:1px solid var(--ink);letter-spacing:.14em;text-transform:uppercase;height:44px;color:var(--ink);background:0 0;font-size:11px;font-weight:500}.segmented button:first-child{border-left:none}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--bg);font-weight:600}.segmented.plain button{letter-spacing:0;text-transform:none;font-size:14px}.cal-head{border-top:1px solid var(--ink);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;display:flex}.cal-month{letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:600}.cal-wd{text-align:center;letter-spacing:.14em;color:var(--muted);grid-template-columns:repeat(7,minmax(0,1fr));padding:10px 0 6px;font-size:10px;font-weight:500;display:grid}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid}.cal-day{height:44px;color:var(--ink);background:0 0;border:none;padding:0;font-size:15px}.calendar.compact .cal-day{height:40px;font-size:14px}.cal-day:hover:not(:disabled){background:var(--surface)}.cal-day.today{box-shadow:inset 0 -2px 0 var(--line-soft)}.cal-day[aria-pressed=true],.cal-day[aria-pressed=true]:hover{background:var(--ink);color:var(--bg);font-weight:600}.cal-day:disabled{cursor:not-allowed;color:#a8a49b}.appt-row{padding:20px var(--gutter);border-bottom:1px solid var(--line-soft);color:var(--ink);flex-direction:column;gap:10px;text-decoration:none;display:flex}.appt-row:hover{color:var(--ink);background:#ffffff80}.appt-row .top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.appt-row .title{font-size:17px;font-weight:500}.appt-row .count{letter-spacing:.12em;text-transform:uppercase;flex-shrink:0;font-size:11px;font-weight:500}.appt-row .sub{color:var(--muted);font-size:14px}.empty{padding:32px var(--gutter);color:var(--muted);font-size:15px}.date-row{border-bottom:1px solid var(--line-soft);flex-direction:column;gap:10px;padding:16px 0;display:flex}.date-row .top{align-items:center;gap:8px;display:flex}.date-row .name{flex-grow:1;font-size:16px;font-weight:500}.date-row .meta{color:var(--muted);font-size:13px}.date-row .tally{color:var(--muted);font-size:12px}.chosen-row{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;min-height:48px;display:flex}.chosen-row .name{flex-grow:1;font-size:15px}.choice{border:none;border-bottom:1px solid var(--line-soft);text-align:left;width:100%;color:var(--ink);background:0 0;align-items:flex-start;gap:14px;padding:14px 0;display:flex}.choice .marker{border:1px solid var(--ink);flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;display:flex}.choice[aria-pressed=true] .marker:after{content:"";background:var(--ink);width:10px;height:10px}.choice .text{flex-direction:column;flex-grow:1;gap:8px;display:flex}.card{background:var(--surface);border:1px solid var(--ink);flex-direction:column;gap:6px;padding:16px;display:flex}.card .top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.text-link{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:500}.big-count{align-items:baseline;gap:10px;display:flex}.big-count strong{font-size:44px;font-weight:500;line-height:1}.big-count span{color:var(--muted);font-size:14px}.final-box{border:1px solid var(--ink);background:var(--surface);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.final-box strong{font-size:17px;font-weight:500}.sheet-layer{z-index:20;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:#6f6d68f0;border:none;padding:0;position:absolute;inset:0}.sheet{width:100%;max-width:480px;max-height:92dvh;padding:8px var(--gutter) max(32px, env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--ink);flex-direction:column;gap:16px;display:flex;position:relative;overflow-y:auto}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head .icon-btn{justify-content:flex-end}.toast{z-index:30;background:var(--ink);max-width:calc(100% - 40px);color:var(--bg);padding:12px 16px;font-size:13px;position:fixed;bottom:112px;left:50%;transform:translate(-50%)}
