/* Supplied Lagomly sunrise artwork and locally bundled, OFL-licensed type. */
@font-face{font-family:'Quicksand';src:url('quicksand-variable.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap;}
@font-face{font-family:'Nunito Sans';src:url('nunito-sans-variable.ttf') format('truetype');font-style:normal;font-weight:200 1000;font-display:swap;}
:root{--av-display:'Quicksand',Arial,sans-serif;--av-ui:'Nunito Sans',Arial,sans-serif;}
html body{font-family:'Nunito Sans',Arial,sans-serif!important;}
body :is(button,input,select,textarea,p,.prose,.sub,.lede,.hint,.intro-body,.building-p){font-family:'Nunito Sans',Arial,sans-serif!important;}
body :is(h1,h2,h3,h4,h5,h6,.display,.hero-greet,.building-h){font-family:'Quicksand',Arial,sans-serif!important;}
/* The original image is kept whole. This window crops only its generous outer canvas,
   preserving the supplied sun and lowercase lettering without masks or recoloring. */
html body .brand-logo,html body.top-photo .brand-logo,
html body #authGate .lp-wm{
  display:block!important;position:relative!important;width:300px!important;max-width:80vw!important;
  height:150px!important;aspect-ratio:2/1!important;overflow:hidden!important;
  margin:0 auto 12px!important;padding:0!important;background:#FAEDD4!important;
  border:0!important;border-radius:18px!important;filter:none!important;
}
html body .brand-logo::before,html body .brand-logo::after,
html body #authGate .lp-wm::before,html body #authGate .lp-wm::after{content:none!important;display:none!important;}
html body .brand-logo .lagomly-wordmark,html body #authGate .lp-wm .lagomly-wordmark{
  display:block!important;position:absolute!important;width:200%!important;max-width:none!important;
  height:auto!important;left:-50%!important;top:-50%!important;object-fit:contain!important;
  opacity:1!important;filter:none!important;transform:none!important;mix-blend-mode:normal!important;
  -webkit-mask:none!important;mask:none!important;background:none!important;border-radius:0!important;
}
html body .biometric-prompt-mark{background:none!important;border:0!important;}
.biometric-prompt-mark img{display:block;width:56px;height:56px;border-radius:14px;}
body .brand::before{width:64px!important;height:64px!important;background:center/contain no-repeat url('lagomly-icon-192.png')!important;border-radius:16px;}
@media(max-width:600px){
  html body .brand-logo,html body.top-photo .brand-logo,html body #authGate .lp-wm{width:240px!important;height:120px!important;margin-bottom:10px!important;}
}

html body #authGate .lp-h1{white-space:normal!important;text-wrap:balance;}

/* October 2026 Builder Brief: cream canvas, taupe text, sage structure, golden action. */
html:root,html body{
  --brand-cream:#FBF5E8;--brand-taupe:#514A45;--brand-muted:#6D625A;
  --brand-sage:#93A891;--brand-sun:#F1B83E;--brand-clay:#C98D76;
  --av-canvas:var(--brand-cream);--av-surface:#FFFCF5;--av-surface-soft:#F2EDDF;
  --av-ink:var(--brand-taupe);--av-muted:var(--brand-muted);--av-subtle:var(--brand-muted);
  --av-blue:#52664F;--av-blue-soft:#E5EBDD;--av-yellow:var(--brand-sun);--av-yellow-soft:#FFF0CC;
  --av-coral:var(--brand-clay);--av-green:#52664F;--av-sage:var(--brand-sage);
  --av-olive:#52664F;--av-lavender:var(--brand-muted);--av-flax:#E2D8BE;
  --av-border:#CEC6B8;--av-hairline:#E4DDCF;--av-border-accent:var(--brand-sage);
  --av-on-primary:var(--brand-cream);--av-danger:#8C4935;
  --bg:var(--av-canvas);--paper:var(--av-surface);--paper-alt:var(--av-surface-soft);
  --ink:var(--av-ink);--ink-soft:var(--av-muted);--border:var(--av-border);--hairline:var(--av-hairline);
  --sage:#E5EBDD;--sage-deep:#52664F;--gold:var(--brand-sun);--gold-deep:#77551B;
  --rose:var(--brand-clay);--rose-deep:#8C4935;--terracotta:#F4E4DB;--terracotta-deep:#8C4935;
  --focus-accent:#52664F;--cornflower:#52664F;--dusty-blue:#E5EBDD;--dusty-blue-deep:#52664F;
  --olive:#E5EBDD;--olive-deep:#52664F;--btn-ink:var(--brand-cream);--cta-ink:var(--brand-taupe);
  --fjord:var(--av-blue);--fjord-deep:var(--av-blue);--fjord-soft:var(--av-blue-soft);
  --sun:var(--brand-sun);--sun-soft:var(--av-yellow-soft);--nordic-coral:var(--brand-clay);
  --resource-bg:var(--av-canvas);--resource-paper:var(--av-surface);--resource-paper-soft:var(--av-surface-soft);
  --resource-ink:var(--av-ink);--resource-muted:var(--av-muted);--resource-subtle:var(--av-muted);
  --resource-fjord:var(--av-blue);--resource-fjord-deep:var(--av-blue);--resource-fjord-soft:var(--av-blue-soft);
  --resource-sun:var(--brand-sun);--resource-sun-soft:var(--av-yellow-soft);--resource-coral:var(--brand-clay);
  --resource-green:var(--av-blue);--resource-line:var(--av-border);--resource-hairline:var(--av-hairline);
  --av-display-title:600 32px/1.1875 var(--av-display);--av-page-title:600 28px/1.2143 var(--av-display);
  --av-card-title:600 18px/1.3333 var(--av-display);--av-section-title:600 22px/1.2727 var(--av-display);
  --av-body:400 15px/1.4667 var(--av-ui);--av-helper:400 13px/1.3846 var(--av-ui);
  --av-section-label:600 15px/1.3333 var(--av-ui);--av-control:600 15px/1.3333 var(--av-ui);--av-caption:400 13px/1.3846 var(--av-ui);--av-meta:400 13px/1.3846 var(--av-ui);
}
html body[data-theme="dark"]{
  --av-canvas:#282521;--av-surface:#332F2A;--av-surface-soft:#403A32;
  --av-ink:#FBF5E8;--av-muted:#D4CABD;--av-subtle:#D4CABD;
  --av-blue:#B8CAB1;--av-blue-soft:#3B4638;--av-on-primary:#282521;
  --av-yellow-soft:#4A3B20;--av-border:#756B5D;--av-hairline:#514A40;
  --sage-deep:#B8CAB1;--btn-ink:#282521;--gold-deep:#F1CD83;--focus-accent:#B8CAB1;
  --av-danger:#E8B3A0;--rose-deep:#E8B3A0;--terracotta-deep:#E8B3A0;
}
html:has(body.auth-gated),html body.auth-gated,html body.auth-gated #authGate{
  --landing-canvas:#FBF5E8!important;--landing-ink:#514A45!important;
  --landing-muted:#6D625A!important;background:#FBF5E8!important;color:#514A45!important;
}
html body #authGate :is(.lp-h1,.lp-h2,.lp-ess,.lp-body){color:#514A45!important;}
html body #authGate .lp-btn-primary{background:#F1B83E!important;color:#514A45!important;border-color:#F1B83E!important;}
html body :is(.tabs button,.tabs a,.mode-switch button,.section-title,.acct-btn,.lp-btn){text-transform:none!important;letter-spacing:normal!important;}
html body :is(h1,h2,h3,h4,h5,h6,.hero-greet,.building-h){font-weight:600!important;overflow-wrap:anywhere;}
html body :is(.lp-close-filigree,.empty-wren){display:none!important;}
html body .page-folk-signature::before,html body .page-folk-signature::after{background-image:none!important;}
html body :is(button,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){min-height:44px;}
/* Goals' older 20–22px check and 36–38px action tracks predate the 44px touch
   targets. Reserve the actual target widths instead of painting over the text.
   The extra html specificity also wins over the legacy phone !important rule. */
html body[data-view="goals"] .goal-row{grid-template-columns:44px minmax(0,1fr) 44px 44px!important;}
html body[data-view="goals"] .goal-text,
html body[data-view="goals"] .goal-next-move span{overflow-wrap:anywhere;}
html body[data-view="goals"] .goal-next-move{flex-wrap:wrap;}
html body[data-view="goals"] .goal-next-move span{min-width:0;}
@media(prefers-reduced-motion:reduce){html body *,html body *::before,html body *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important;}}
html body[data-view] :is(.tab,.suite-toggle,.menu-sub-toggle,.relationship-tabs button,.pant-tab,.simple-tabs .btn,.exec-subtab),
html body :is(.back,.resource-nav__label){text-transform:none!important;letter-spacing:normal!important;}
html body #authGate :is(.lp-ess,.lp-body,.lp-premium-note),
html body :is(.lead,.claim,.colophon){font-family:'Nunito Sans',Arial,sans-serif!important;font-style:normal!important;}
html body[data-view] :is(.section-title,.life-dashboard-card h2,.page-folk-heading>.section-title,.pantry-heading>.section-title),
html body .tier h3{font-family:'Quicksand',Arial,sans-serif!important;font-weight:600!important;text-transform:none!important;letter-spacing:normal!important;}
/* Member headers use the approved original RGB artwork with its paper made transparent.
   Keep the existing logo geometry and photographs; the landing retains its cream image. */
html body .brand-logo{background:transparent!important;border-radius:0!important;}
/* Keep the existing signed-in hero's logo slot height and background framing. */
html body.top-photo .brand-logo{width:min(90%,373px)!important;height:76px!important;max-width:90%!important;margin:0 auto!important;background:none!important;border-radius:0!important;}
html body.top-photo .brand-logo .lagomly-wordmark{height:200%!important;width:auto!important;left:50%!important;top:-50%!important;transform:translateX(-50%)!important;}
@media(max-width:600px){html body.top-photo .brand-logo{height:58px!important;}}
html body[data-theme="dark"]{--fjord:var(--av-blue);--fjord-deep:var(--av-blue);--fjord-soft:var(--av-blue-soft);--cornflower:var(--av-blue);--nordic-coral:var(--brand-clay);}
/* Dark Quick Capture uses the light primary fill. Its plus strokes must use the
   matching on-primary ink, not the same aliased blue as the button background. */
html body[data-theme="dark"] #qcFab{color:var(--av-on-primary)!important;}
html body[data-theme="dark"] #qcFab::before,
html body[data-theme="dark"] #qcFab::after{background:var(--av-on-primary)!important;}
html body[data-view] .section-title:not(.page-primary-section>.section-title:first-child){font-family:'Quicksand',Arial,sans-serif!important;font-weight:600!important;text-transform:none!important;letter-spacing:normal!important;}

/* Review feedback: softer sage landing actions. Mirror the legacy selectors so
   the dark-taupe !important rule cannot win through selector specificity. */
html body #authGate :is(.lp-btn-primary,.lp-hero .lp-btn-primary,.lp-close .lp-btn-primary){
  background:#AEBEAA!important;
  color:#2F3B2D!important;
  border-color:#6F8269!important;
  box-shadow:0 2px 8px rgba(47,59,45,.08)!important;
  letter-spacing:normal!important;
}
html body #authGate :is(.lp-btn-primary,.lp-hero .lp-btn-primary,.lp-close .lp-btn-primary):hover,
html body #authGate :is(.lp-btn-primary,.lp-hero .lp-btn-primary,.lp-close .lp-btn-primary):active{
  background:#A3B49E!important;color:#2F3B2D!important;border-color:#52664F!important;
}
html body #authGate :is(.lp-btn-primary,.lp-hero .lp-btn-primary,.lp-close .lp-btn-primary):focus-visible{
  outline:2px solid #52664F!important;outline-offset:3px!important;
}
html body #authGate :is(.lp-btn-ghost,.lp-hero .lp-btn-ghost,.lp-close .lp-btn-ghost){
  background:transparent!important;color:#52664F!important;border-color:#6F8269!important;
  letter-spacing:normal!important;
}
html body #authGate .lp-btn-ghost::after{content:none!important;display:none!important;}

/* iPhone account forms: 14px fields triggered focus zoom and cropped the dialog.
   Keep readable controls and manual zoom; the keyboard only resizes the scroll panel. */
html body .overlay{
  box-sizing:border-box;top:var(--auth-viewport-top,0px);bottom:auto;
  height:var(--auth-viewport-height,100vh);
  padding-left:max(12px,env(safe-area-inset-left));
  padding-right:max(12px,env(safe-area-inset-right));
}
@supports(height:100dvh){html body .overlay{height:var(--auth-viewport-height,100dvh);}}
html body .overlay .modal{box-sizing:border-box;min-width:0;width:100%!important;max-width:420px;max-height:100%!important;overflow-x:hidden;overflow-y:auto;}
html body #authOverlay .field :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  font-size:max(16px,1rem)!important;line-height:1.4!important;min-width:0;max-width:100%;
  scroll-margin-block:18px;
}
/* WebKit's native select paint stays compact inside the Account field height.
   Keep the real select and its picker, with a full-size themed control surface. */
html body #accountPanel select{
  -webkit-appearance:none!important;appearance:none!important;box-sizing:border-box;min-height:46px!important;
  padding:10px 34px 10px 12px!important;
  background-image:linear-gradient(45deg,transparent 50%,var(--av-blue) 50%),linear-gradient(135deg,var(--av-blue) 50%,transparent 50%)!important;
  background-position:calc(100% - 17px) center,calc(100% - 12px) center!important;
  background-size:5px 5px!important;background-repeat:no-repeat!important;
}
@media(max-width:600px){
  html body #authOverlay{align-items:flex-start;}
  html body #authOverlay .modal{padding:24px 18px 20px!important;}
  html body #authOverlay .modal h2{font-size:26px!important;line-height:1.2!important;}
  /* Match the legacy auth ID selector so its sticky footer cannot cover fields. */
  html body .overlay .modal-actions,
  html body #authOverlay .modal-actions{position:static;bottom:auto;z-index:auto;padding:0;background:none;}
  html body #buildOverlay .build-nav{position:static;bottom:auto;}
  html body #authOverlay .auth-device-note{font-size:13px;}
}

/* The final component font shorthand had also defeated the old phone guard in
   routine and other editors. Cover all editable controls, including touch landscape. */
@media(max-width:600px),(pointer:coarse){
  html body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="color"]):not([type="file"]):not([type="hidden"]),select,textarea),
  html body #buildOverlay .field :is(input,select,textarea),
  html body[data-view="career"] #execOverlay :is(input,select,textarea):not([type="checkbox"]):not([type="radio"]){
    font-size:max(16px,1rem)!important;
  }
}
html body #localModeBanner{bottom:calc(var(--lagomly-nav-height,0px) + max(12px,env(safe-area-inset-bottom)));}
html body.lagomly-local-mode .app{padding-bottom:calc(var(--lagomly-nav-height,0px) + var(--lagomly-local-banner-height,80px) + max(12px,env(safe-area-inset-bottom)) + 24px)!important;}
/* Above the phone breakpoint Add is a bottom-right floating button. Leave its
   corner clear rather than centering a wide status banner over the touch target. */
@media(min-width:601px){html body #localModeBanner{max-width:min(680px,calc(100% - 160px));}}
@media(max-width:600px){
  :root{--lagomly-nav-height:calc(78px + env(safe-area-inset-bottom));}
  html body #localModeBanner{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));padding:10px 12px;font-size:13px;}
  html body #localModeBanner button{padding:8px 10px;}
}
/* A landscape phone is wider than the phone breakpoint but still too short for
   the in-flow desktop tabs and the fixed local-status banner to share the bottom
   of the viewport. Keep all five touch targets in one measured footer here. */
@media(min-width:601px) and (max-height:500px) and (pointer:coarse){
  :root{--lagomly-nav-height:calc(65px + env(safe-area-inset-bottom));}
  html body .tabs{
    position:fixed!important;inset:auto 0 0!important;z-index:50;
    display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;
    max-width:none!important;min-height:65px;margin:0!important;gap:0!important;
    padding:6px max(10px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;
    background:var(--av-surface)!important;border-top:1px solid var(--av-hairline)!important;border-bottom:0!important;
    box-shadow:0 -6px 20px rgba(35,48,68,.035);isolation:isolate;
  }
  html body .tabs > .tab{
    display:flex;align-items:center;justify-content:center;min-width:0;width:100%;min-height:48px;
    padding:8px 4px;margin:0;border-bottom:0!important;font:var(--av-caption)!important;touch-action:manipulation;
  }
  html body .tabs > #qcFab{
    position:static!important;inset:auto!important;align-self:center;justify-self:center;
    width:52px;height:52px;min-height:52px;
  }
  html body #localModeBanner{
    left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));
    max-width:min(680px,calc(100% - 24px));padding:4px 12px;
  }
}

/* Phone typography: standard text sizing with a compact, readable hierarchy.
   Keep the browser default as fallback; WebKit's body text style connects rem
   sizes to the person's iOS Dynamic Type choice. Do not shrink the root, cap
   text scaling, change the viewport, or scale the page. Existing 100% text-size-
   adjust prevents orientation inflation while manual zoom remains available.
   This also covers a short, touch-operated phone in landscape, not a tablet. */
@media(max-width:600px),(max-height:500px) and (pointer:coarse){
  html{font-size:100%;}
  /* macOS supports the system-body shorthand but resolves it to 13px. Only
     iOS-family WebKit supports touch-callout; use that capability to opt into
     Dynamic Type without changing touch-callout behavior or clamping text. */
  @supports (-webkit-touch-callout:none) and (font:-apple-system-body){
    html{font:-apple-system-body;}
  }
  html body[data-view]:not([data-view="today"]),
  html body :is(.overlay,#tourCard){
    --av-display-title:600 1.5rem/1.25 var(--av-display);
    --av-page-title:600 1.375rem/1.3 var(--av-display);
    --av-card-title:600 1rem/1.375 var(--av-display);
    --av-section-title:600 1.125rem/1.35 var(--av-display);
    --av-body:400 .875rem/1.5 var(--av-ui);
    --av-helper:400 .8125rem/1.5 var(--av-ui);
    --av-section-label:600 .8125rem/1.4 var(--av-ui);
    --av-control:600 .875rem/1.4 var(--av-ui);
    --av-caption:400 .8125rem/1.4 var(--av-ui);
    --av-meta:400 .8125rem/1.4 var(--av-ui);
  }
  html body[data-view]:not([data-view="today"]) .view{font:var(--av-body);}
  html body[data-view]:not([data-view="today"]) .view :is(p,.exec-body,.intro-body,.hb-step-name,.le-name,.recipe-name,.community-name,.jt){
    font:var(--av-body)!important;overflow-wrap:anywhere;
  }
  html body[data-view]:not([data-view="today"]) .view :is(.hint,.sub,.work-brief,.exec-intro,.card-sub,.section-sub){font:var(--av-helper)!important;}
  html body[data-view]:not([data-view="today"]) .view :is(.life-dashboard-card--secondary p,.life-dashboard-card--row p){font:400 .71875rem/1.5 var(--av-ui)!important;}
  /* Older destination rules and dashboard variants have fixed-size !important
     declarations. Resolve those by role rather than reducing an entire screen. */
  html body[data-view]:not([data-view="today"]) .view :is(h2,h3,h4,.card-title,.av-card-title,.hc-cad,.jgroup-title,.habit-name,.goal-text,.book-title,.gift-name,.conn-name,.journal-entry-title,.rn-title,.scc-name,.cb-title,.ct-name,.ms-name,.sp-item-title,.sp-item-quote,.people-next-name,.vision-priority-name,.tg-panel-title,.tg-hero-title,.lk-name,.meal-custom,.recipe-title){
    font:var(--av-card-title)!important;letter-spacing:normal!important;overflow-wrap:anywhere;
  }
  html body[data-view]:not([data-view="today"]) .view :is(.section-title,.empty-state h3,.av-state h3,.life-dashboard-card--primary h2,.library-lead h3,.soc-circle-head h3){
    font:var(--av-section-title)!important;letter-spacing:normal!important;overflow-wrap:anywhere;
  }
  html body[data-view]:not([data-view="today"]) .view .section-title:not(.page-primary-section>.section-title:first-child){font:var(--av-section-title)!important;}
  html body[data-view]:not([data-view="today"]) :is(
    .life-dashboard-head h1,.page-folk-heading>.section-title,.pantry-heading>.section-title,
    .page-primary-section>.section-title:first-child,.view.active>.section:first-of-type>.section-title:first-child,
    .career-workspace>.section-title,#view-spotlight>.section>.section-title:first-child,
    #view-circle>.section>.section-title:first-child,#view-bookshelf>.section>.section-title:first-child,
    #view-together>.section>.section-title:first-child,#view-closet>.section>.section-title:first-child,
    #view-cabinet>.section>.section-title:first-child,.hero-statement,.ceo-start-card h2){
    font:var(--av-page-title)!important;letter-spacing:normal!important;overflow-wrap:anywhere;
  }
  html body[data-view]:not([data-view="today"]) .view :is(.stat-num,.progress-ring-num,.tracker-result-value,.progress-ring-best strong,.pf-rev-big){font:var(--av-display-title)!important;overflow-wrap:anywhere;}
  html body[data-view]:not([data-view="today"]) .view .comp-total{font:var(--av-section-title)!important;overflow-wrap:anywhere;}
  html body[data-view]:not([data-view="today"]) .view :is(.btn,.quiet-link,.simple-tabs button,.exec-subtab,.relationship-tabs button,.refl-tabs button,.closet-tabs button,.pant-tab){
    font:var(--av-control)!important;letter-spacing:normal!important;text-transform:none!important;
    white-space:normal;overflow-wrap:anywhere;min-height:44px!important;
  }
  html body[data-view]:not([data-view="today"]) .view button{min-width:44px;min-height:44px!important;}
  html body[data-view]:not([data-view="today"]) .life-dashboard-card--row p{white-space:normal!important;overflow:visible;text-overflow:clip;}
  html body[data-view]:not([data-view="today"]) .view :is(.exec-row-actions,.simple-tabs,.relationship-tabs,.pant-tabs){flex-wrap:wrap;}
  html body[data-view]:not([data-view="today"]) .view :is(.life-dashboard-card h2,.life-dashboard-card p,.section-title,.page-title-with-icon){min-width:0;max-width:100%;}
  html body[data-view]:not([data-view="today"]) .view .intro-collapse.open .intro-body{max-height:none;}
  html body[data-view="circle"] #view-circle>.section>.work-brief{font:var(--av-helper)!important;}
  /* Intrinsic input widths grow with text preferences. Let add rows and native
     date controls reflow instead of pushing their action off the phone. */
  html body[data-view]:not([data-view="today"]) .view :is(.ingr-add,.hc-add,.le-add,.db-vac-add,.db-vac-dates){min-width:0;max-width:100%;flex-wrap:wrap;}
  html body[data-view]:not([data-view="today"]) .view :is(.ingr-add,.hc-add,.le-add,.db-vac-add,.db-vac-dates) :is(input,select){min-width:0;max-width:100%;box-sizing:border-box;}
  html body[data-view]:not([data-view="today"]) .view :is(.ingr-add,.hc-add)>input{flex:1 1 10rem;}
  html body[data-view]:not([data-view="today"]) .view .le-add :is(.le-pri-sel,.le-due-in){flex:1 1 10rem;max-width:100%;}
  html body[data-view]:not([data-view="today"]) .view .db-vac-dates{flex:1 1 100%;}
  html body[data-view]:not([data-view="today"]) .view .db-vac-dates input{flex:1 1 10rem;}
  /* Keep enlarged navigation labels inside their own measured tap cell. The
     existing ResizeObserver reserves the resulting footer height for content. */
  html body .tabs>.tab{white-space:normal;overflow-wrap:anywhere;letter-spacing:0!important;}
  html body .tabs>.tab>span{min-width:0;max-width:100%;text-align:center;white-space:normal;overflow-wrap:anywhere;}

  /* Auth entry, Quick Start and the full builder share a phone-sized heading.
     Keep inputs at the existing max(16px,1rem) floor to avoid Safari focus zoom. */
  html body .overlay .modal :is(h2,.modal>.section-title,#execModalBody>.section-title,#goalModalBody>.section-title,#goalCheckinBody>.section-title),
  html body #authOverlay #acctGreeting,
  html body #buildOverlay h2{font:600 1.375rem/1.3 var(--av-display)!important;letter-spacing:normal!important;}
  html body .overlay .modal :is(p,.exec-intro,.exec-body){font:var(--av-body)!important;overflow-wrap:anywhere;}
  html body .overlay .modal :is(.sub,.hint){font:var(--av-helper)!important;}
  html body .overlay .modal :is(.btn,.quiet-link){font:var(--av-control)!important;white-space:normal;overflow-wrap:anywhere;}
  html body .overlay .modal button{min-width:44px;min-height:44px!important;}
  /* A native date input must not enlarge a grid track beyond a phone modal. */
  html body .overlay .modal .exec-2col{grid-template-columns:repeat(auto-fit,minmax(min(100%,max(12rem,calc(50% - 6px))),1fr));}
  html body .overlay .modal :is(.exec-2col,.exec-field){min-width:0;max-width:100%;}
  html body .overlay .modal .exec-field :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box;}
  html body[data-view="career"] #execOverlay .exec-field>label{font:var(--av-section-label)!important;letter-spacing:normal!important;text-transform:none!important;overflow-wrap:anywhere;}
  html body[data-view="career"] #execOverlay :is(.exec-intro,.review-upload-note,.check-row){font:var(--av-helper)!important;overflow-wrap:anywhere;}

  html body #welcomeOverlay .wc-opt h4{font:var(--av-card-title)!important;}
  html body #welcomeOverlay .wc-opt p{font:var(--av-helper)!important;}
  html body #buildOverlay :is(.build-why,.build-example small),
  html body #authOverlay :is(.sub,.auth-device-note,.confirm-note){font:400 .8125rem/1.5 var(--av-ui)!important;}
  html body #buildOverlay :is(.build-thinking p,.relief-opt small,.starter-opt small){font:400 .75rem/1.5 var(--av-ui)!important;}
  html body #buildOverlay :is(.build-step-count,.build-example-label,.build-thinking strong,.field label){
    font:600 .75rem/1.4 var(--av-ui)!important;letter-spacing:normal!important;text-transform:none!important;
  }
  html body #buildOverlay :is(.relief-opt strong,.starter-opt strong,.build-example-tags span){font:600 .8125rem/1.4 var(--av-ui)!important;}
  html body #buildOverlay :is(.build-example>strong,.build-finish-line,.onboard-preview-vision){font:600 1.125rem/1.4 var(--av-display)!important;}
  html body #buildOverlay :is(.onboard-promise,.onboard-preview-head){font:600 .75rem/1.4 var(--av-ui)!important;letter-spacing:normal!important;text-transform:none;}
  html body #buildOverlay .onboard-preview-row{font:400 .8125rem/1.5 var(--av-ui)!important;overflow-wrap:anywhere;}
  html body #buildOverlay :is(.build-nav .btn,.build-skip),
  html body #authOverlay :is(.btn,.auth-tab){font:600 .875rem/1.4 var(--av-ui)!important;letter-spacing:normal!important;text-transform:none!important;}
  html body #buildOverlay .build-nav{flex-wrap:wrap;gap:8px;}
  html body #buildOverlay .build-nav>div{min-width:0;flex-wrap:wrap;}
  html body #buildOverlay :is(.build-nav button,.build-skip){white-space:normal;overflow-wrap:anywhere;min-height:44px!important;min-width:44px;}
  html body #buildOverlay :is(.relief-grid,.starter-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,max(10rem,calc(50% - 4.5px))),1fr));}
  html body #buildOverlay :is(.relief-opt,.starter-opt){min-height:44px;min-width:0;overflow-wrap:anywhere;}
  html body #buildOverlay :is(.relief-opt>span,.starter-opt>span){min-width:0;}
  html body #buildOverlay .build-x{min-width:44px;min-height:44px;}
  html body #tourCard{box-sizing:border-box;max-height:calc(100dvh - 32px);overflow-y:auto;}
  html body #tourCard h4{font:600 1.125rem/1.35 var(--av-display)!important;}
  html body #tourCard .tbody{font:400 .8125rem/1.5 var(--av-ui)!important;}
  html body #tourCard :is(.tour-step,.tour-premium){font:600 .75rem/1.4 var(--av-ui)!important;letter-spacing:normal;text-transform:none;}
  html body #tourCard :is(.tour-cta,.tour-skip,.btn){font:600 .875rem/1.4 var(--av-ui)!important;white-space:normal;overflow-wrap:anywhere;min-width:44px;min-height:44px;max-width:100%;}
  html body #tourCard .tour-nav{flex-wrap:wrap;}
  html body #tourCard .tour-nav>div{min-width:0;max-width:100%;flex-wrap:wrap;}
}
