/* Type B — approved brand skin (Print & Film / Day Shift kit).
   Fraunces 650–800 italic display + DM Sans body. Warm paper #fffaf1,
   navy #172654, royal #294dd7. Mobile-first. */
@font-face{font-family:'Fraunces';src:url('/assets/fraunces.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('/assets/dm-sans.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}
:root{color-scheme:light;font-size:125%;font-weight:500;--paper:#fffaf1;--paper-deep:#f5f0e6;--ink:#161616;--navy:#172654;--royal:#294dd7;--tangerine:#ff663e;--butter:#ffe176;--muted:#5f5c54;--line:#e4ddcf;--line-strong:#c9c2b2;--danger:#c2401f;--ok:#1e6b3a;--radius:12px;--serif:'Fraunces',Georgia,serif;--sans:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;line-height:1.55;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;min-width:320px;background:var(--paper)}button,input,select,textarea{font:inherit}a{color:inherit}[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:8px;z-index:3;padding:10px 14px;border-radius:8px;background:var(--navy);color:#fff;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
::selection{background:var(--butter);color:var(--navy)}

/* ---------- top bar ---------- */
.topbar-wrap{border-bottom:1px solid var(--line);background:var(--paper)}
.app-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px}
.brand{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--navy)}
.brand-mark{font-family:var(--serif);font-weight:800;font-style:italic;font-size:26px;letter-spacing:-.02em}
.brand-sub{font-size:13px;color:var(--muted)}

/* ---------- layout ---------- */
main{max-width:680px;margin:0 auto;padding:0 20px 40px}
.shell-wide{max-width:1180px}

/* ---------- hero (mobile-first) ---------- */
.kicker{margin:0 0 14px;color:var(--royal);font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.signin h2{font-family:var(--serif);font-weight:800;letter-spacing:-.025em;line-height:1.06;margin:0}

/* ---------- buttons ---------- */
.button,.row-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:11px 20px;border:1.5px solid var(--navy);border-radius:10px;background:var(--paper);color:var(--navy);font-size:14.5px;font-weight:700;text-decoration:none;cursor:pointer;transition:transform .16s ease,background .16s ease,color .16s ease}
.button.primary{background:var(--royal);border-color:var(--royal);color:#fff}
.button:hover:not(:disabled),.row-action:hover:not(:disabled){background:var(--navy);color:#fff}
.button.primary:hover:not(:disabled){background:var(--navy);border-color:var(--navy)}
.button:active:not(:disabled),.row-action:active:not(:disabled){transform:scale(.98)}
.button:disabled,.row-action:disabled{opacity:.5;cursor:not-allowed}
.button .arrow{font-size:13px;transform:translateY(.5px)}

/* ---------- section rhythm ---------- */
.section{padding:34px 0;border-bottom:1px solid var(--line)}
.section:last-of-type{border-bottom:0}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.section-heading h2{font-family:var(--serif);font-weight:750;font-style:italic;font-size:clamp(26px,6vw,32px);letter-spacing:-.01em;line-height:1.1;margin:0;color:var(--navy)}
.section-heading p{margin:0;max-width:30em;color:var(--muted);font-size:13.5px;text-align:right}
.notice{margin:14px 0 0;padding:12px 14px;border-radius:10px;background:var(--paper-deep);color:var(--muted);font-size:13.5px}
.notice.error{background:#fbe9e4;color:var(--danger)}
.helper,.field-help{color:var(--muted);font-size:13px}

/* ---------- status badge ---------- */
.state-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.03em;background:#ece7da;color:var(--muted);white-space:nowrap}
.state-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}
.state-badge.pending{background:#f4ecd2;color:#7a5d13}
.state-badge.connected,.state-badge.approved{background:#e0efdd;color:var(--ok)}
.state-badge.neutral{background:#ece7da;color:var(--muted)}

/* ---------- upcoming ---------- */
.upcoming{padding:34px 0;border-bottom:1px solid var(--line)}
.upcoming-list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--navy)}
.upcoming-item{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 2px;border-bottom:1px solid var(--line);font-size:14.5px}
.upcoming-item .due{flex:0 0 auto;min-width:120px;font-variant-numeric:tabular-nums;font-weight:700;color:var(--navy)}
.upcoming-item .due.at{color:var(--danger)}
.upcoming-item .what{flex:1 1 100%;min-width:0;overflow-wrap:anywhere;font-weight:500}
.due-chip{flex:0 0 auto;padding:3px 10px;border-radius:999px;background:#ece7da;color:var(--muted);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.due-chip.pending_approval{background:#f4ecd2;color:#7a5d13}
.due-chip.approved,.due-chip.planned{background:#e0efdd;color:var(--ok)}
.due-chip.uncertain{background:#fbe9e4;color:var(--danger)}
.upcoming-empty{margin:16px 0 0;font-family:var(--serif);font-style:italic;font-size:17px;color:var(--muted)}
.twodo-review{width:min(640px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;border:1.5px solid var(--navy);border-radius:14px;padding:24px;background:var(--paper);color:var(--navy)}
.twodo-review::backdrop{background:rgb(15 27 57 / .55)}
.twodo-review dd{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:560px){.twodo-review .review-list div{grid-template-columns:1fr;gap:6px}}

/* ---------- calendar ---------- */
.calendar-section{padding:34px 0;border-bottom:1px solid var(--line)}
.cal-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0 12px}
.cal-title{margin:0;font-family:var(--serif);font-weight:750;font-style:italic;font-size:22px;color:var(--navy)}
.cal-nav{display:flex;gap:8px}
.cal-nav .button{min-height:40px;padding:7px 14px;font-size:13px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border:1.5px solid var(--navy);border-radius:14px;overflow:hidden;background:var(--paper)}
.cal-dow,.cal-day{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px 9px;min-height:64px}
.cal-dow{min-height:0;padding:8px 9px;background:var(--paper-deep);color:var(--navy);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cal-day{position:relative;text-align:left;font-variant-numeric:tabular-nums}
.cal-day .num{font-size:12.5px;font-weight:700;color:var(--muted)}
.cal-day.is-today .num{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--tangerine);color:#fff}
.cal-day.is-outside{background:var(--paper-deep)}
.cal-day.is-outside .num{opacity:.4}
.cal-day:nth-child(7n){border-right:0}.cal-dow:nth-child(7n){border-right:0}
.cal-row-last{border-bottom:0}
.cal-marks{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}
.cal-mark{max-width:100%;min-height:24px;border:0;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 8px;border-radius:6px;background:#e0efdd;color:var(--ok);font-size:11px;font-weight:600}
.cal-mark.pending{background:#f4ecd2;color:#7a5d13}
.cal-mark.uncertain{background:#fbe9e4;color:var(--danger)}
.cal-legend{display:flex;flex-wrap:wrap;gap:14px;margin:12px 2px 0;color:var(--muted);font-size:12px}
.cal-legend span{display:inline-flex;align-items:center;gap:6px}
.cal-legend i{width:10px;height:10px;border-radius:3px;background:#e0efdd}
.cal-legend .l-pending i{background:#f4ecd2}.cal-legend .l-uncertain i{background:#fbe9e4}

.setup-section{padding:0;border-bottom:0}
#prefs{max-width:640px;margin:0 auto;min-height:calc(100dvh - 210px);display:flex;flex-direction:column;justify-content:center}
.wiz-progress{display:flex;align-items:center;justify-content:space-between;padding:14px 0 4px;border-bottom:1px solid var(--line)}
.wiz-dots{display:inline-flex;gap:6px}
.wiz-dots i{width:8px;height:8px;border-radius:50%;background:var(--line-strong)}
.wiz-dots i.on{background:var(--royal)}
fieldset{min-width:0;margin:0;padding:0;border:0}
legend{padding:0;font-family:var(--serif);font-style:italic;font-weight:800;font-size:clamp(34px,9vw,44px);color:var(--navy);letter-spacing:-.015em;line-height:1.05}
.wiz-help{margin:14px 0 26px;color:var(--muted);font-size:15.5px;max-width:26em}
.wiz-field .field-hint{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--royal);margin-bottom:2px}
.wiz-field input,.wiz-field select{margin-top:0;min-height:54px;font-size:17px}
.wiz-example{margin:22px 0 8px;padding:14px 16px;border-left:3px solid var(--butter);border-radius:0 10px 10px 0;background:var(--paper-deep);font-size:13.5px;color:var(--ink)}
.wiz-example p{margin:0}
.wiz-example strong{color:var(--royal)}
form{max-width:640px}
.review-list div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:12px 2px;border-bottom:1px solid var(--line);font-size:14px}
.review-list dt{color:var(--muted)}
.review-list dd{margin:0;overflow-wrap:anywhere;font-weight:600}
.truth-note{margin-top:16px;padding:13px 15px;border-radius:10px;background:var(--butter);color:var(--navy);font-size:13px;border-radius:4px}
.truth-note p{margin:3px 0 0;color:#5c4a12}
.setup-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding:18px 0 4px;border-top:1px solid var(--line)}
.save-state{min-height:20px;margin:0;color:var(--muted);font-size:13px}
.save-state.error{color:var(--danger)}
.save-state.success{color:var(--ok)}
.setup-navigation{display:flex;gap:10px;margin-left:auto}
.field-error{color:var(--danger);font-weight:600}

.switch-row input[type=checkbox]{width:28px;min-height:28px;margin:0;accent-color:var(--royal)}
.connector-list{border-top:1.5px solid var(--navy)}
.connector-row{display:grid;grid-template-columns:38px 1fr;gap:6px 14px;align-items:center;padding:16px 2px;border-bottom:1px solid var(--line)}
.connector-monogram{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border:1.5px solid var(--navy);border-radius:10px;font-family:var(--serif);font-style:italic;font-weight:750;font-size:16px;color:var(--navy);background:var(--paper-deep)}
.connector-row strong{font-size:14.5px}
.connector-row small{display:block;color:var(--muted);font-size:12.5px;font-weight:500}
.connector-row .state-badge{justify-self:start}
.connector-row .row-action{grid-column:1/-1;width:100%;min-height:42px}
.empty-note{margin-top:14px;font-family:var(--serif);font-style:italic;color:var(--muted)}
/* Conversation-first welcome. The thread is an illustration, never a receipt. */
.ob-screen{display:grid;align-items:center;justify-items:center;gap:48px;padding:48px 0 56px}
.welcome-copy{text-align:center;max-width:600px}
.ob-title{font-family:var(--serif);font-weight:750;font-size:clamp(46px,7vw,76px);line-height:1.04;letter-spacing:-.01em;word-spacing:normal;color:var(--navy);margin:0;text-wrap:balance}
.ob-title .royal{color:var(--royal)}
.ob-help{max-width:36ch;margin:24px auto;font-size:18px;line-height:1.6;color:var(--ink);text-wrap:pretty}
.ob-actions{display:flex;justify-content:center;margin:28px 0 12px}
.ob-cta{min-width:190px;min-height:56px;font-size:16px}
.ob-fineprint{margin:0;color:var(--muted);font-size:13px}
.conversation-preview{margin:0;width:min(100%,350px)}
.conversation-preview figcaption{margin-top:16px;text-align:center;font-size:12px;color:var(--muted)}
.message-phone{border:6px solid var(--navy);border-radius:40px;background:#fff;padding:14px 14px 10px;box-shadow:0 20px 44px rgb(23 38 84 / .12)}
.phone-status{display:flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:12px;font-weight:700;color:var(--navy)}
.phone-signal{display:flex;gap:2px;align-items:flex-end;height:12px}
.phone-signal i{display:block;width:3px;height:5px;background:var(--navy);border-radius:1px}
.phone-signal i:nth-child(2){height:8px}.phone-signal i:nth-child(3){height:11px}
.phone-signal b{width:18px;height:9px;border:1.5px solid var(--navy);border-radius:2px;margin:0 0 1px 4px}
.phone-contact{position:relative;display:grid;justify-items:center;gap:3px;padding:16px 0 12px;border-bottom:1px solid var(--line);font-size:13px;color:var(--navy)}
.phone-back{position:absolute;left:5px;top:24px;font-size:32px;color:var(--royal);line-height:1}
.contact-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--paper-deep);font-family:var(--serif);font-size:25px;font-weight:750}
.contact-channel{font-size:11px;color:var(--muted)}
.message-thread{display:flex;flex-direction:column;gap:9px;padding:12px 0 14px}
.thread-time{margin:0 0 3px;text-align:center;color:var(--muted);font-size:10px;font-weight:600}
.thread-time.later{margin-top:7px}
.thread-bubble{margin:0;max-width:88%;padding:10px 12px;border-radius:16px;font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.thread-bubble.outgoing{align-self:flex-end;background:var(--royal);color:#fff;border-bottom-right-radius:5px}
.thread-bubble.incoming{align-self:flex-start;background:#edf0f6;color:var(--navy);border-bottom-left-radius:5px}
.phone-compose{display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding-top:10px;color:var(--muted);font-size:12px}
.phone-compose>span:first-child{font-size:24px;color:var(--navy)}
.phone-compose>span:nth-child(2){flex:1;padding:6px 10px;border:1px solid var(--line-strong);border-radius:16px}
.phone-compose i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--royal);color:#fff;font-size:17px;font-style:normal}
.phone-home{height:4px;width:90px;border-radius:3px;background:var(--navy);margin:16px auto 0}
.screen-reader-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--royal);outline-offset:4px}
/* tone chips */
.tone-row{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:12px 20px;border:1.5px solid var(--line-strong);border-radius:999px;background:#fff;color:var(--ink);font-size:15px;font-weight:600;cursor:pointer;transition:all .15s ease}
.chip:hover{border-color:var(--royal)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}


/* ---------- account ---------- */
.switch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;margin:14px 0 0;border-top:1px solid var(--line)}
.switch-row>span{flex:1}
.switch-row strong{display:block;color:var(--ink)}
.switch-row small{color:var(--muted);font-weight:500;display:block;margin-top:2px}
.account-actions{display:grid;gap:14px;padding:16px 0;border-top:1.5px solid var(--navy);border-bottom:1px solid var(--line)}
.account-actions>div strong{font-size:14.5px}
.account-actions small{display:block;color:var(--muted);font-weight:500}
.account-actions .button{justify-self:start}
.account-deletion{margin-top:14px}
.account-deletion summary{cursor:pointer;font-weight:700;color:var(--navy)}
.account-deletion p{color:var(--muted);font-size:13px}

/* ---------- request demo / saved request ---------- */
.request-result{margin-top:14px;padding:13px;border:1.5px solid var(--navy);border-radius:10px;background:var(--paper);font-size:13.5px}
.request-result p{margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}
.request-actions{margin-top:12px;flex-wrap:wrap}
.reminder-controls{margin-top:14px;padding:14px 0;border-top:1px solid var(--line)}
.reminder-controls .button{margin:4px 8px 4px 0}
.reminder-controls form{max-width:380px}
#saved-request-text{white-space:pre-wrap;overflow-wrap:anywhere}
#clarification-question{overflow-wrap:anywhere}
#reminder-snooze input{font-variant-numeric:tabular-nums}

/* ---------- sign-in ---------- */
.signin{padding:34px 0;border-bottom:1px solid var(--line)}
.signin h2{font-size:clamp(34px,9vw,44px);max-width:12em;color:var(--navy)}
.signin>div>p{max-width:32em;color:var(--muted);margin:14px 0 0;font-size:15.5px}
.signin-options{display:grid;gap:10px;margin-top:24px}

/* ---------- message status ---------- */
.message-status{display:flex;flex-direction:column;gap:12px;padding:26px 0;border-bottom:1px solid var(--line)}
.message-status p{margin:4px 0 0;color:var(--muted);font-size:14px}
.status-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

footer{display:flex;flex-direction:column;gap:8px;padding:26px 0 0;color:var(--muted);font-size:13px;border-top:1.5px solid var(--navy);margin-top:8px}
footer a{color:var(--royal)}

/* ---------- step status ---------- */
.step-status{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--royal)}

/* ---------- preview note ---------- */
.preview-note,.empty-note{margin:14px 0 0;padding:10px 12px;border-left:3px solid var(--butter);background:var(--paper-deep);color:var(--muted);font-size:12.5px}

/* ---------- desktop ---------- */
@media(min-width:760px){
  .app-topbar{padding:18px 40px;max-width:1080px;margin:0 auto;width:100%}
  main{max-width:1080px;padding:0 40px 48px}
  .section-heading h2{font-size:30px}
  .field-grid{grid-template-columns:1fr 1fr;gap:18px}
  .connector-row{grid-template-columns:38px minmax(200px,1fr) auto 110px;gap:14px}
  .connector-row .row-action{grid-column:auto;width:auto}
  .review-list div{grid-template-columns:150px 1fr}
  .upcoming-item .what{flex:1 1 auto}
  .account-actions{display:flex;align-items:center;gap:12px}
  .account-actions>div{margin-right:auto}
  .message-status{flex-direction:row;align-items:center;justify-content:space-between}
  .status-action{margin-left:auto}
  footer{flex-direction:row;justify-content:space-between}
}

@media(max-width:759px){
  .section-heading{align-items:flex-start;flex-direction:column;gap:6px}
  .section-heading p{text-align:left}
  .cal-dow,.cal-day{min-height:0;padding:6px}
  .cal-day{min-height:52px}
  .cal-mark{display:none}
  .cal-marks{justify-content:flex-end;margin:4px 0 0}
  .cal-marks:not(:empty)::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--tangerine)}
  .upcoming-item .due{flex-basis:100%;order:3}
  .hero-aside{max-width:none;text-align:left;margin-left:0}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.row-action{transition:none}}

/* One calm decision per account screen; settings stay secondary. */
.shell-wide:has(#account:not([hidden])){max-width:800px}
#messages-setup{display:block;text-align:center;padding:64px 0 40px;min-height:440px}
#messages-setup h1{font-family:var(--serif);font-weight:750;font-size:clamp(36px,6vw,56px);line-height:1.08;letter-spacing:-.01em;word-spacing:normal;color:var(--navy);max-width:14ch;margin:22px auto;text-wrap:balance}
#messages-setup p{max-width:48ch;margin:14px auto;font-size:16px;line-height:1.6}
#messages-setup .account-identity{font-size:13px;overflow-wrap:anywhere;color:var(--muted)}
#messages-setup .agent-purpose{color:var(--ink);font-size:18px}
#messages-setup .setup-state{font-weight:700;color:var(--navy);margin-top:28px;font-size:14px}
#messages-setup .helper{font-size:13px;max-width:52ch}
#messages-setup .button{margin-top:18px;min-width:200px;min-height:54px}
#message-link{max-width:520px;margin:0 auto;padding:0 0 40px;text-align:center}
#message-link p{margin:14px 0;font-size:15px;color:var(--muted)}
#message-link label{display:block;font-size:13px;font-weight:600;color:var(--navy)}
#message-link input{display:block;width:100%;font-size:16px;padding:16px;border:1.5px solid var(--line-strong);border-radius:10px;margin-top:10px;background:#fff;color:var(--navy)}
#message-link .setup-navigation{justify-content:center;flex-wrap:wrap;margin:22px 0 0}
#message-link .button{min-height:52px}
#account:has(#message-link:not([hidden])) #messages-setup{min-height:0;padding-bottom:8px;border-bottom:0}
#account:has(#message-link:not([hidden])) .agent-purpose,#account:has(#message-link:not([hidden])) #assistant-state{display:none}
.support-options{border-bottom:1px solid var(--line);padding:16px 0}
.support-options>summary{cursor:pointer;min-height:44px;display:list-item;padding:10px 0;color:var(--navy);font-weight:600;font-size:14px}
.support-options>p{margin-top:8px}
#account-options #prefs{min-height:0;justify-content:start;margin:24px 0}
#account-options .setup-footer{flex-wrap:wrap;margin-top:24px}
#account-options input:not([type=checkbox]),#account-options select{max-width:100%;width:100%;font-size:16px}
#account-options .account-actions{flex-wrap:wrap}
#signin{max-width:540px;margin:0 auto;text-align:center;min-height:calc(100dvh - 230px);padding:72px 0 56px;border:0}
#signin h2{font-size:clamp(40px,6vw,56px)}
#signin p{margin:18px auto;max-width:36ch}
#signin .signin-options{max-width:360px;margin:32px auto 0}
@media(min-width:900px){.ob-screen{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:64px;min-height:calc(100dvh - 210px);padding:48px 0}.app-topbar{max-width:1180px}main.shell-wide{max-width:1180px}}
@media(max-width:899px){.ob-screen{padding-top:40px}.ob-help{font-size:16px;max-width:31ch;margin:20px auto}.ob-actions{margin-top:24px}.conversation-preview{width:min(100%,330px)}}
@media(max-width:560px){.brand-sub{display:none}.app-topbar{padding:16px 20px}#messages-setup{padding-top:36px;min-height:0}#messages-setup h1{margin:20px auto;font-size:38px}#messages-setup .agent-purpose{font-size:16px}.support-options .review-list div{grid-template-columns:1fr;gap:4px}.cal-bar{flex-wrap:wrap}#message-link .setup-navigation{flex-direction:column}#message-link .button{width:100%}#signin{padding-top:56px}.conversation-preview figcaption{font-size:11px}}
@media(max-width:359px){.ob-title{font-size:42px}.message-phone{padding:12px 10px 10px}.thread-bubble{font-size:12px}#messages-setup h1{font-size:34px}}
.context-notes{padding:20px 0;border-bottom:1px solid var(--line)}
.context-notes>summary{cursor:pointer;min-height:44px;padding:10px 0;color:var(--navy);font-weight:600}
.context-notes label{display:block;font-size:14px;font-weight:600;color:var(--navy);margin:20px 0 8px}
.context-notes textarea{display:block;width:100%;min-height:108px;max-width:100%;resize:vertical;padding:12px;border:1.5px solid var(--line-strong);border-radius:10px;font-size:16px;background:#fff;color:var(--ink)}
.saved-notes{list-style:none;margin:16px 0;padding:0}
.saved-notes li{padding:16px 0;border-top:1px solid var(--line)}
.saved-notes li>p:first-child{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 12px}
.notes-actions{display:flex;gap:10px;flex-wrap:wrap}
.saved-notes .button{min-height:44px;margin-right:8px}

/* ---------- one-tap link cards ---------- */
.link-card{width:min(100%,30rem);max-width:100%;margin:0 auto;padding:max(32px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:20px}
.link-card h1{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:700;letter-spacing:-.035em;line-height:1.04;font-size:clamp(34px,9vw,42px);color:var(--ink);margin:0;overflow-wrap:anywhere}
.link-card p{margin:0;color:var(--muted);font-size:17px;line-height:1.45}
.link-card .button{width:100%;min-height:56px;font-size:16px;overflow-wrap:anywhere;border-radius:14px}
.link-card-note{display:block;color:var(--muted);font-size:13px}
@media(prefers-color-scheme:dark){
  body:has(.link-card){color-scheme:dark;background:#1c1c1e;color:#f5f5f7}
  .link-card h1{color:#f5f5f7}
  .link-card p,.link-card-note{color:#b7b7bc}
  .link-card .button.primary{background:#0a84ff;border-color:#0a84ff}
}
@media(prefers-contrast:more){.link-card .button{border-width:2px}}
.ob-screen{position:relative;isolation:isolate}
.ob-screen::before{content:"";position:absolute;inset:4% 0 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 18% 26%,rgb(255 225 118 / .34),transparent 44%),radial-gradient(ellipse at 82% 60%,rgb(41 77 215 / .09),transparent 48%);background-size:120% 120%;opacity:.9;animation:typeb-hero-glow 28s ease-in-out infinite alternate}
@keyframes typeb-hero-glow{to{opacity:.72}}
@media(prefers-reduced-motion:reduce){.ob-screen::before{animation:none}}
