/* ═══════════════════════════════════════════════════════════
   FIRST SEEDS — STYLES
   Palette + type: Fraunces (display) · DM Sans (body)
   Fonts are self-hosted so PWA / offline / blocked CDNs don’t fall back to Times/Arial.
   ═══════════════════════════════════════════════════════════ */

@font-face{
  font-family:'DM Sans';
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url('../fonts/DMSans-normal.woff2') format('woff2');
}
@font-face{
  font-family:'DM Sans';
  font-style:italic;
  font-weight:400 700;
  font-display:swap;
  src:url('../fonts/DMSans-italic.woff2') format('woff2');
}
@font-face{
  font-family:'Fraunces';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url('../fonts/Fraunces-normal.woff2') format('woff2');
}
@font-face{
  font-family:'Fraunces';
  font-style:italic;
  font-weight:400 600;
  font-display:swap;
  src:url('../fonts/Fraunces-italic.woff2') format('woff2');
}

:root{
  --ink:#111311;
  --green:#3d453c; --green-mid:#5c665a; --green-soft:#6a7268;
  --moss:#abb09a; --moss-light:#c8cdb8; --moss-ink:#5c665a;
  --beige:#f3ecd8; --beige-deep:#e8dfc6;
  --sand:#dde2d6; --paper:#f5f6f2; --paper-warm:#eef0ea;
  --bark:#5c665a; --bark-soft:#6a7268;
  --gold:#d9a93f; --gold-soft:#f0d06a;
  --rail:#abb09a; --rail-deep:#9aa08a;
  --white:#fff;
  --shadow:0 2px 24px rgba(61,69,60,.1);
  --ease:cubic-bezier(.22,1,.36,1);
}
.boot-cover{
  position:fixed;inset:0;z-index:10000;
  display:flex;align-items:center;justify-content:center;
  background:var(--paper);color:var(--green);
  padding:env(safe-area-inset-top) 24px env(safe-area-inset-bottom);
  transition:opacity .4s var(--ease), visibility .4s var(--ease)
}
.boot-cover-inner{display:flex;flex-direction:column;align-items:center;gap:10px}
.boot-cover-mark{
  margin:0;font-family:'Fraunces',Georgia,serif;font-size:22px;font-weight:600;
  letter-spacing:.06em
}
.boot-plant{width:132px;height:128px;transform-origin:50% 100%}
.boot-plant svg{display:block;width:100%;height:100%;overflow:visible}
.boot-stem{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}
body:not(.is-booting) .boot-cover{
  opacity:0;visibility:hidden;pointer-events:none
}
@media (prefers-reduced-motion:no-preference){
  .boot-plant{animation:bootSway 2.8s ease-in-out infinite alternate}
}
@keyframes bootSway{
  from{transform:rotate(-2.4deg)}
  to{transform:rotate(2.4deg)}
}
@media (prefers-reduced-motion:reduce){
  .boot-cover{transition:none}
  .boot-plant{animation:none}
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased}
/* Overflow on html/body (hidden, clip, auto, even overflow-y alone) makes them
   the containing block for position:fixed, so the bottom nav, Settings, and
   sheets stick to the page and scroll away. Keep both axes visible here. */
html{
  max-width:100%;
  overflow:visible;
  touch-action:manipulation; /* kill double-tap zoom; keep scroll/pinch out of accidental taps */
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink);min-height:100vh;min-height:100dvh;max-width:100%;overflow:visible;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button{font-family:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
::selection{background:var(--gold-soft);color:var(--green)}

/* ── layout ── */
.layout{display:grid;grid-template-columns:280px 1fr;max-width:1440px;margin:0 auto;min-height:100vh;min-height:100dvh;width:100%}
.rail{position:sticky;top:0;height:100vh;height:100dvh;background:var(--rail);padding:32px 22px 88px;border-right:1px solid var(--rail-deep);display:flex;flex-direction:column;box-sizing:border-box;overflow-y:auto;gap:22px}
.main{background:var(--paper);min-height:100vh;min-height:100dvh;min-width:0;width:100%}
.content{padding:36px 56px 110px;max-width:760px;transition:max-width .25s var(--ease);width:100%;box-sizing:border-box}
.content.content-wide{max-width:1180px}
.site-foot{margin:48px 0 0;padding-top:22px;padding-bottom:12px;border-top:1px solid var(--sand)}
.site-foot-mark{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--green-mid);margin:0 0 10px}
.site-foot-copy{font-size:13.5px;line-height:1.55;color:var(--bark-soft);margin:0 0 8px;max-width:42em}
.site-foot-copy:last-child{margin-bottom:0}

/* ── header bar with countdowns ── */
.topbar{position:sticky;top:0;z-index:10;background:rgba(244,241,233,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--sand);display:flex;justify-content:flex-end;align-items:center;gap:14px;padding:14px 56px;width:100%;max-width:100%;box-sizing:border-box}
.topbar-cds{display:flex;align-items:center;gap:12px;margin-left:auto}
.cd-roadmap{position:relative}
.cd-roadmap-hit{position:relative;z-index:72;display:flex;align-items:center;gap:12px;border:none;background:transparent;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;border-radius:14px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.cd-roadmap-hit:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
.cd-roadmap-hit:hover .topbar-cd,.cd-roadmap.is-open .topbar-cd{border-color:var(--moss)}
.cd-roadmap-hit:hover .topbar-cd.featured,.cd-roadmap.is-open .topbar-cd.featured{border-color:var(--gold)}
.topbar-cd{display:flex;align-items:center;gap:12px;background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:10px 16px;transition:border-color .2s}
.topbar-cd .cd-num{font-family:'Fraunces',serif;font-size:24px;font-weight:600;color:var(--green);line-height:1}
.topbar-cd .cd-unit{font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--bark-soft)}
.topbar-cd .cd-label{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--green-mid);border-left:1.5px solid var(--sand);padding-left:12px;line-height:1.35}
.topbar-cd.featured{border-color:var(--gold);background:#fbf6e6}
.topbar-cd.featured .cd-num{color:#b88928}
.topbar-cd.featured .cd-unit{color:#b88928}
.cd-roadmap-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:70;width:min(440px,calc(100vw - 28px));background:var(--paper);border:1.5px solid var(--sand);border-radius:16px;padding:16px 16px 14px;box-shadow:0 16px 40px rgba(61,69,60,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .2s var(--ease),transform .2s var(--ease),visibility .2s}
.cd-roadmap-panel::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:14px;pointer-events:none}
.cd-roadmap.is-open .cd-roadmap-panel{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.cd-roadmap-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 10px}
.timeline.compact{margin:0;gap:8px}
.timeline.compact .tl-row{grid-template-columns:78px 1fr;gap:10px;padding:10px 12px;border-radius:10px}
.timeline.compact .tl-when{font-size:13px}
.timeline.compact .tl-what{font-size:12.5px;line-height:1.45;color:var(--bark)}
.timeline.compact .tl-what strong{color:var(--green)}
.rail-brand{display:flex;flex-direction:column;gap:0}
.rail-brand-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.rail-brand-copy{min-width:0;flex:1}
.rail-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.rail-settings{width:44px;height:44px;border-radius:12px;border:1.5px solid rgba(61,69,60,.22);background:rgba(245,246,242,.62);color:var(--green);display:grid;place-items:center;padding:0;font:inherit;cursor:pointer;transition:border-color .15s,background .15s;flex-shrink:0}
.rail-settings.on{border-color:rgba(61,69,60,.4);background:rgba(245,246,242,.92);color:#1f2a22}
@media (hover:hover) and (pointer:fine){
  .rail-settings:hover{border-color:rgba(61,69,60,.4);background:rgba(245,246,242,.92);color:#1f2a22}
  .rail-board-btn:hover{
    border-color:rgba(171,176,154,.9);
    background:rgba(245,246,242,.98);
    box-shadow:0 8px 18px rgba(61,69,60,.1);
    transform:translateY(-1px);
  }
  .rail-board-btn:hover .rail-board-ico{transform:translateY(0) scale(1.08)}
}
.rail-settings-ico{font-size:17px;line-height:1;display:block;transform:translateY(.5px)}
.rail-team-ico{font-size:18px;line-height:1;display:block;transform:translateY(.5px)}
#evTeamNavBtn[hidden]{display:none!important}
.rail-board-btn{
  position:relative;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:transform .22s var(--ease),border-color .22s var(--ease),background .22s var(--ease),box-shadow .22s var(--ease);
}
.rail-board-ico{
  font-size:17px;line-height:1;display:block;
  min-width:1.15em;min-height:1.15em;
  color:inherit;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;
  transform:translateY(.5px);
  transition:transform .22s var(--ease);
}
.rail-board-btn:focus,.rail-board-btn:focus-visible{
  outline:none;
  color:var(--green);
}
.rail-board-btn:focus .rail-board-ico,
.rail-board-btn.on .rail-board-ico{
  opacity:1;
  visibility:visible;
  color:inherit;
}
.rail-board-btn:active{
  transform:translateY(0) scale(.94);
  box-shadow:none;
}
.rail-board-btn.on{
  border-color:var(--moss);
  background:linear-gradient(180deg,#f8f9f4 0%,#eef2ec 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 4px 14px rgba(171,176,154,.3);
}
.rail-board-btn.on .rail-board-ico{transform:translateY(.5px)}
.rail-board-btn[data-board-new="1"]::after{
  content:"";
  position:absolute;top:6px;right:6px;
  width:8px;height:8px;border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 2px rgba(245,246,242,.95);
  animation:boardPip .9s var(--ease) both;
}
@keyframes boardPip{
  from{transform:scale(.4);opacity:0}
  to{transform:scale(1);opacity:1}
}
.grove-board-compose{
  position:relative;overflow:hidden;
  margin:4px 0 28px;padding:20px 20px 16px;
  border:1.5px solid rgba(171,176,154,.55);border-radius:20px;
  background:linear-gradient(165deg,#fff 0%,#f7f8f3 42%,#fbf6e6 100%);
  box-shadow:var(--shadow);
}
.grove-board-compose::before{
  content:"";position:absolute;right:-28px;top:-36px;
  width:120px;height:120px;border-radius:50%;
  background:rgba(232,200,106,.16);pointer-events:none;
}
.grove-board-compose .field-label{position:relative;margin-bottom:8px;letter-spacing:.12em}
.grove-board-compose .note-sheet-input{
  position:relative;min-height:132px;background:rgba(255,255,255,.78);
  border-color:rgba(171,176,154,.45);
}
.grove-board-compose-hint{position:relative;margin:8px 0 0;font-size:12.5px;line-height:1.45;color:var(--bark)}
.grove-board-compose-actions{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.grove-board-count{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--moss-ink)}
.grove-board-compose-actions .btn{margin:0;min-width:120px}
.grove-board-msg{position:relative;margin:8px 0 0;font-size:12.5px;color:var(--bark)}
.grove-board-list{display:flex;flex-direction:column;gap:12px;margin:0 0 28px}
.grove-board-card{
  position:relative;margin:0;padding:16px 18px 14px;
  border:1.5px solid var(--sand);border-radius:16px;background:var(--white);
  box-shadow:0 1px 0 rgba(61,69,60,.04);
}
.grove-board-card.is-post{
  border-color:rgba(171,176,154,.45);
  background:linear-gradient(180deg,#fff 0%,#f7f8f3 100%);
  padding:18px 20px 16px;
}
.grove-board-card.is-post.is-latest{
  border-color:rgba(217,169,63,.45);
  background:linear-gradient(165deg,#fff 0%,#fbf6e6 58%,#eef2ec 100%);
  box-shadow:var(--shadow);
  padding:22px 22px 18px;
}
.grove-board-card.is-post.is-latest::before{
  content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;
  border-radius:0 3px 3px 0;background:var(--gold);
}
.grove-board-card.is-cheer{background:linear-gradient(180deg,#fff,#fbf6e6)}
.grove-board-card.is-note{background:linear-gradient(180deg,#fff,#eef2ec)}
.grove-board-card.is-poll{border-color:rgba(171,176,154,.7)}
.grove-board-poll{
  padding:18px 20px 16px;
  background:linear-gradient(180deg,#fff 0%,#f7f8f3 100%);
}
.grove-board-poll .live-team-head{margin:0 0 2px}
.grove-board-poll .poll-card-title{margin-top:4px;font-size:20px}
.grove-board-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.grove-board-card-top-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.grove-board-kind{
  margin:0;padding:4px 8px;border-radius:999px;
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--moss-ink);background:rgba(171,176,154,.18);
}
.grove-board-card.is-latest .grove-board-kind,
.grove-board-card.is-cheer .grove-board-kind{background:rgba(232,200,106,.28);color:#8a6a3a}
.grove-board-when{margin:0;font-size:11px;color:var(--bark-soft);white-space:nowrap}
.grove-board-body{margin:0;font-size:15px;font-weight:400;line-height:1.55;color:var(--green);white-space:pre-wrap}
.grove-board-card.is-post .grove-board-body{
  font-family:'DM Sans',sans-serif;font-size:16px;font-weight:400;line-height:1.58;
  color:var(--ink);
}
.grove-board-card.is-latest .grove-board-body{font-size:16.5px;line-height:1.55}
.grove-board-from-row{
  display:flex;align-items:center;gap:8px;margin:12px 0 0;
}
.grove-board-from{margin:0;font-size:12.5px;color:var(--bark)}
.grove-board-card-go{
  margin:12px 0 0;border:none;background:transparent;padding:0;
  font:inherit;font-size:12.5px;font-weight:700;color:var(--green);cursor:pointer;
}
.grove-board-card-go:hover{text-decoration:underline;text-underline-offset:2px}
.grove-board-empty{
  margin:0;padding:18px 16px;border-radius:16px;border:1.5px dashed var(--sand);
  background:rgba(255,255,255,.45);font-size:14.5px;line-height:1.55;color:var(--bark);text-align:center;
}
.grove-board-section{
  display:flex;align-items:center;gap:10px;
  margin:6px 0 12px;font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--moss-ink);
}
.grove-board-section::after{content:"";flex:1;height:1px;background:var(--sand)}
.grove-board-gate{margin:12px 0 0;text-align:center;padding:28px 20px}
.grove-board-tabs{display:flex;width:fit-content;margin:0 auto 22px}
.grove-board-compose.is-send{
  background:linear-gradient(165deg,#fff 0%,#eef2ec 48%,#f7f8f3 100%);
}
.grove-board-compose.is-send::before{background:rgba(127,148,116,.16)}
.grove-board-compose.is-send .grove-board-compose-actions{justify-content:flex-end}
.grove-board-updates-wrap{margin:0 0 18px}
.grove-board-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px 12px;
  margin:0 0 8px;
}
.grove-board-head h1{margin:0;flex:1;min-width:0;line-height:1.08}
.grove-board-head-actions{display:flex;align-items:center;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.grove-board-head-actions[hidden]{display:none!important}
.grove-board-head-btn{
  appearance:none;-webkit-appearance:none;border:1.5px solid var(--sand);background:var(--white);
  color:var(--green);border-radius:999px;padding:7px 12px;min-height:34px;
  font:inherit;font-size:12px;font-weight:700;letter-spacing:.02em;cursor:pointer;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.grove-board-head-btn.on{background:var(--ink);border-color:var(--ink);color:var(--beige)}
#groveBoardComposeMount:empty{display:none}
#groveBoardComposeMount .grove-board-compose{margin-top:4px}
.how-grow-board{
  margin:0 0 18px;border:1.5px solid var(--sand);border-radius:16px;
  background:var(--white);overflow:hidden;
}
.how-grow-board-sum{
  display:flex;align-items:center;gap:10px;width:100%;
  border:none;background:transparent;padding:12px 14px;
  font:inherit;cursor:pointer;text-align:left;
}
.how-grow-board-sum:hover,.how-grow-board.is-open .how-grow-board-sum{background:#f7f8f3}
.how-grow-board-title{
  font-size:11px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--moss-ink);
}
.how-grow-board-count{
  margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:999px;
  background:rgba(171,176,154,.22);color:var(--green);
  font-size:11px;font-weight:700;display:grid;place-items:center;
}
.how-grow-board-sum::after{
  content:"+";flex-shrink:0;width:22px;height:22px;border-radius:7px;
  border:1.5px solid var(--sand);background:rgba(255,255,255,.9);
  color:var(--green);display:grid;place-items:center;
  font-size:15px;font-weight:600;line-height:1;
}
.how-grow-board.is-open .how-grow-board-sum::after{
  content:"−";background:#eef2ec;border-color:var(--moss);
}
.how-grow-board-body{border-top:1px solid var(--sand)}
.how-grow-board-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;border:none;border-bottom:1px solid var(--sand);
  background:transparent;padding:11px 14px;font:inherit;cursor:pointer;text-align:left;
}
.how-grow-board-row:last-of-type{border-bottom:0}
.how-grow-board-row:hover{background:#f7f8f3}
.how-grow-board-name{font-size:15px;font-weight:700;color:var(--green);line-height:1.3}
.how-grow-board-when{flex-shrink:0;font-size:11px;color:var(--bark-soft);white-space:nowrap}
.how-grow-board-empty,.how-grow-board-waiting{
  margin:0;padding:11px 14px;font-size:12.5px;line-height:1.45;color:var(--bark-soft);
}
.how-grow-board-waiting{border-top:1px solid var(--sand)}
.how-grow-board-empty + .how-grow-board-waiting{border-top:0;padding-top:0}
.grove-board-updates{
  margin:2px 0 0;padding:0;list-style:none;
  display:flex;flex-direction:column;gap:8px;
}
.grove-board-updates li{
  position:relative;padding:0 0 0 14px;
  font-size:14px;font-weight:500;line-height:1.5;color:var(--green);
}
.grove-board-updates li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:6px;height:6px;border-radius:50%;background:var(--moss);
}
.grove-board-updates-go{
  margin:0 0 0 4px;border:none;background:transparent;padding:0;
  font:inherit;font-size:12.5px;font-weight:700;color:var(--green);cursor:pointer;
}
.grove-board-updates-go:hover{text-decoration:underline;text-underline-offset:2px}
.grove-board-compose.is-bulletin{
  background:linear-gradient(165deg,#fff 0%,#f7f8f3 48%,#eef2ec 100%);
}
.grove-board-compose.is-bulletin::before{background:rgba(127,148,116,.14)}
.grove-board-compose.is-bulletin .note-sheet-input{min-height:96px}
.bulletin-compose-row{
  position:relative;display:flex;align-items:center;gap:10px;margin-top:10px;
}
.bulletin-compose-row .cal-select{flex:1;min-width:0;margin:0}
.grove-board-updates-remove{
  margin:0 0 0 6px;border:none;background:transparent;padding:0;
  font:inherit;font-size:12.5px;font-weight:700;color:var(--bark);cursor:pointer;
}
.grove-board-updates-remove:hover{text-decoration:underline;text-underline-offset:2px;color:var(--green)}
.leads-share-card.is-goto-focus,
#leadsBlurbInput.is-goto-focus{
  outline:2px solid var(--moss);outline-offset:4px;border-radius:16px;
}
#leadsBlurbInput.is-goto-focus{border-radius:10px}

.cheer-banner{margin:0 56px;margin-top:14px;background:linear-gradient(135deg,#eef2ec,#fbf6e6);border:1.5px solid var(--moss);border-radius:14px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;box-shadow:var(--shadow)}
.cheer-banner[hidden]{display:none!important}
.gathering-banner{position:relative;margin:0 56px;margin-top:12px;background:linear-gradient(145deg,#1f2a22 0%,#3d5a4a 55%,#2f4638 100%);border:1.5px solid rgba(200,162,74,.45);border-radius:16px;padding:14px 16px;display:block;box-shadow:var(--shadow);color:#f5f6f2}
.gathering-banner[hidden]{display:none!important}
.gathering-banner-copy{min-width:0;width:100%}
.gathering-banner-tag{margin:0 0 6px;padding-right:64px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(232,200,106,.95)}
.gathering-banner-main{display:flex;align-items:center;gap:12px;min-width:0;width:100%}
.gathering-banner-text{flex:1 1 auto;min-width:0;overflow:hidden}
.gathering-banner-title{margin:0;font-family:'Fraunces',serif;font-size:18px;font-weight:500;line-height:1.25;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gathering-banner-when{margin:4px 0 0;font-size:12.5px;color:rgba(245,246,242,.78)}
.gathering-banner-actions{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:6px;width:max-content}
.gathering-banner-join{display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;border-radius:999px;background:var(--gold-soft,#e8c86a);color:#1f2a22;font:inherit;font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap}
button.gathering-banner-join{border:none;cursor:pointer}
.gathering-banner-join.is-early{background:rgba(245,246,242,.16);color:#f5f6f2;border:1px solid rgba(245,246,242,.28);font-weight:600}
.gathering-banner-linkbox{margin:12px 0 0;padding-top:12px;border-top:1px solid rgba(245,246,242,.16);display:flex;flex-direction:column;align-items:stretch;gap:10px}
.gathering-banner-url{margin:0;font-size:12.5px;line-height:1.45;color:rgba(245,246,242,.9);word-break:break-all;user-select:text;-webkit-user-select:text}
.gathering-banner-linkbox .gathering-banner-join{align-self:flex-start}
.gathering-banner-cal{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;border:none;background:rgba(245,246,242,.14);color:#f5f6f2;font:inherit;font-size:11.5px;font-weight:700;cursor:pointer;white-space:nowrap}
.gathering-banner-cal:hover{background:rgba(245,246,242,.22)}
.gathering-banner-dismiss{position:absolute;top:12px;right:16px;border:none;background:transparent;padding:0;font:inherit;font-size:11px;font-weight:500;color:rgba(245,246,242,.72);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.gathering-banner-dismiss::after{content:"";position:absolute;inset:-10px}
@media (max-width:720px){
  .gathering-banner{margin-left:16px;margin-right:16px}
}
.cheer-copy{flex:1;min-width:0}
.cheer-tag{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 6px}
.cheer-more{letter-spacing:0;text-transform:none;font-weight:600;opacity:.85;margin-left:4px}
.cheer-body{flex:1;font-family:'Fraunces',serif;font-size:16px;font-style:italic;color:var(--green);line-height:1.45;margin:0}
.cheer-dismiss{border:none;background:var(--moss);color:var(--green);border-radius:20px;padding:8px 14px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;flex-shrink:0}
.grove-support-band{display:grid;gap:10px;margin:0 0 10px}
.grove-support-band:not(:has(> :not([hidden]))){display:none}
.support-note{margin:0;padding:9px 13px;border:1px solid var(--sand);border-left:3px solid var(--moss);border-radius:10px;background:var(--paper-warm)}
.support-note[hidden]{display:none!important}
.support-note-line{margin:0;font-size:13px;line-height:1.45;color:var(--bark)}
.support-note-line strong{font-weight:700;color:var(--green)}
.leader-overview{margin:0 0 16px;padding:15px 16px;border:1.5px solid var(--sand);border-radius:15px;background:var(--white);box-shadow:var(--shadow)}
.leader-overview[hidden]{display:none!important}
.leader-overview-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.leader-overview-head>div{display:grid;gap:2px;min-width:0;align-content:center}
.leader-overview-kicker{font-size:10px;font-weight:700;letter-spacing:.13em;color:var(--moss-ink)}
.leader-overview-head strong{font-size:15px;color:var(--green)}
.leader-overview-head>div>span{font-size:12px;color:var(--bark-soft)}
.leader-overview-update .leader-overview-place{display:block;margin-top:2px;font-size:12px;color:var(--bark-soft);font-weight:400}
.leader-overview-new{flex:0 0 auto;padding:5px 9px;border-radius:999px;background:#f5e8dc;color:#9b5e38!important;font-size:11px!important;font-weight:700}
.leader-overview-head-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.leader-overview-dismiss{
  appearance:none;border:none;background:none;padding:0;margin:0;cursor:pointer;
  font:inherit;font-size:12px;font-weight:700;color:var(--moss-ink);
  text-decoration:underline;text-underline-offset:2px
}
.leader-overview-dismiss:hover{color:var(--green)}
.leader-overview-updates{display:grid;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid var(--sand)}
.leader-overview-update{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;margin:0;padding:9px 10px;border:0;border-radius:10px;background:var(--paper-warm);font:inherit;font-size:13px;line-height:1.35;color:var(--bark);text-align:left}
button.leader-overview-update{cursor:pointer}
button.leader-overview-update:hover{background:#e8ede5}
/* A new partner joining is the one update worth spotting in a stacked list.
   Inset shadow rather than a border so the grid columns don't shift. */
.leader-overview-update.is-join{background:rgba(238,242,236,.7);box-shadow:inset 3px 0 0 var(--moss)}
.leader-overview-update strong{color:var(--green)}
.leader-overview-update b{font-size:14px;color:var(--moss-ink)}
.leader-overview-quiet{margin:10px 0 0;font-size:12.5px;color:var(--bark-soft)}
.team-admin-hint{font-size:12px;line-height:1.4;color:var(--bark);max-width:36em;margin:0 0 10px}
.team-rearrange-btn{border:1px solid var(--sand);background:transparent;font:inherit;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bark);padding:5px 10px;border-radius:8px;cursor:pointer;flex-shrink:0}
.team-rearrange-btn:hover,.team-rearrange-btn:focus-visible{border-color:var(--moss);color:var(--green);outline:none}
.team-rearrange-btn.on{background:var(--green);color:#fff;border-color:var(--green)}
.team-move-list{display:flex;flex-direction:column;gap:6px;max-height:min(52vh,480px);overflow:auto;margin:12px 0 8px;-webkit-overflow-scrolling:touch}
.live-team-find-wrap{display:block;flex:1 1 110px;min-width:0;max-width:220px}
.live-team-find{width:100%;border:1px solid var(--sand);border-radius:10px;background:var(--paper);color:var(--green);font:inherit;font-size:14px;padding:7px 10px}
.live-team-find:focus{outline:none;border-color:var(--moss)}
.live-team-name.is-find,.live-l1-name.is-find{box-shadow:inset 0 -2px 0 var(--moss)}
.team-move-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;border:1px solid var(--sand);border-radius:12px;background:var(--paper);padding:10px 12px;cursor:pointer;font:inherit;text-align:left}
.team-move-option:hover,.team-move-option:focus-visible{border-color:var(--moss);background:#eef2ec;outline:none}
.team-move-option-name{font-weight:600;color:var(--green)}
.team-move-option-meta{font-size:12px;color:var(--bark)}
.leader-note-banner{margin:0 56px;margin-top:12px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.leader-note-banner[hidden]{display:none!important}
.leader-ping{font-size:12px;font-weight:600;color:var(--moss-ink);margin:6px 0 4px}
#panel-leader.is-team-growing > :not(.eyebrow):not(.team-head):not(.sec-sub):not(#liveTeamGraph),
#panel-ev-team.is-team-growing > :not(.eyebrow):not(.ev-res-head):not(.sec-sub):not(#evergreenTeamGraph){
  display:none!important
}
#panel-leader.is-team-growing #liveTeamGraph,
#panel-ev-team.is-team-growing #evergreenTeamGraph{
  display:flex;align-items:center;justify-content:center;
  min-height:min(52vh,420px);margin-top:8px;
  border:none;background:transparent;box-shadow:none;padding:12px 8px 24px
}
.team-tree-growing{padding:28px 16px 30px;text-align:center}
.team-tree-growing-row{display:flex;justify-content:center;align-items:flex-end;gap:22px;min-height:96px}
.team-tree-sprout{width:56px;height:88px;overflow:visible}
.team-tree-sprout .soil{fill:#6b5844}
.team-tree-sprout .seed{fill:#c4a86a}
.team-tree-sprout .stem{fill:none;stroke:#5f7a62;stroke-width:2.4;stroke-linecap:round;transform-box:fill-box;transform-origin:center bottom;transform:scaleY(0);animation:teamSproutStem 1.15s cubic-bezier(.2,.8,.2,1) forwards}
.team-tree-sprout .leaf{fill:#8fa484;transform-box:fill-box;transform-origin:center bottom;transform:scale(0);animation:teamSproutLeaf .9s cubic-bezier(.2,.8,.2,1) forwards}
.team-tree-sprout.is-1 .stem{animation-delay:.08s}
.team-tree-sprout.is-1 .leaf-l{animation-delay:.42s}
.team-tree-sprout.is-1 .leaf-r{animation-delay:.55s}
.team-tree-sprout.is-2 .stem{animation-delay:.32s}
.team-tree-sprout.is-2 .leaf-l{animation-delay:.66s}
.team-tree-sprout.is-2 .leaf-r{animation-delay:.78s}
.team-tree-sprout.is-3 .stem{animation-delay:.56s}
.team-tree-sprout.is-3 .leaf-l{animation-delay:.9s}
.team-tree-sprout.is-3 .leaf-r{animation-delay:1.02s}
.team-tree-growing.is-loop .stem{animation-name:teamSproutStemLoop;animation-duration:2.6s;animation-iteration-count:infinite;animation-fill-mode:none}
.team-tree-growing.is-loop .leaf{animation-name:teamSproutLeafLoop;animation-duration:2.6s;animation-iteration-count:infinite;animation-fill-mode:none}
.team-tree-growing-copy{margin:14px 0 0;font-family:'Fraunces',serif;font-size:18px;color:var(--green)}
@keyframes teamSproutStem{0%,8%{transform:scaleY(0)}42%,100%{transform:scaleY(1)}}
@keyframes teamSproutLeaf{0%,18%{transform:scale(0) rotate(-8deg)}55%,100%{transform:scale(1) rotate(0)}}
@keyframes teamSproutStemLoop{0%,8%{transform:scaleY(0)}38%,68%{transform:scaleY(1)}88%,100%{transform:scaleY(0)}}
@keyframes teamSproutLeafLoop{0%,16%{transform:scale(0) rotate(-8deg)}40%,68%{transform:scale(1) rotate(0)}88%,100%{transform:scale(0) rotate(-8deg)}}
@media (prefers-reduced-motion:reduce){
  .team-tree-sprout .stem,.team-tree-sprout .leaf{animation:none;transform:none}
}
.live-team{margin-top:4px}
.live-team-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin:0 0 6px}
.live-team-head .live-tag{margin-bottom:0;line-height:1}
.live-team-tools{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 240px;min-width:min(100%,240px)}
.live-team-sort{display:inline-flex;flex-shrink:0;gap:2px;padding:3px;background:rgba(61,69,60,.06);border-radius:10px}
.live-team-sort-btn{border:none;background:transparent;font:inherit;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bark);padding:6px 10px;border-radius:8px;cursor:pointer}
.live-team-sort-btn.on{background:var(--paper);color:var(--green);box-shadow:0 1px 2px rgba(61,69,60,.1)}
@media (max-width: 380px){
  .live-team-sort-btn{padding:6px 7px;letter-spacing:.02em}
}
.live-team-lead{font-size:13.5px;line-height:1.5;color:var(--bark);margin:0 0 12px;max-width:40em}
.live-team-stats{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.live-team-stats.is-compact{gap:6px;margin:0 0 12px}
.live-team-stats.is-compact .live-stat{padding:6px 10px;min-width:0;border-radius:10px}
.live-team-stats.is-compact .live-stat strong{font-size:16px}
.live-team-stats.is-compact .live-stat span{font-size:9.5px;letter-spacing:.05em;margin-top:2px}
.live-stat{background:var(--paper-warm);border:1px solid var(--sand);border-radius:12px;padding:10px 14px;min-width:88px}
.live-stat strong{display:block;font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--green);line-height:1}
.live-stat span{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--moss-ink);margin-top:4px}
.live-team-you-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
.live-team-you-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
.team-broadcast-btn{border-color:var(--moss);color:var(--green)}
.team-poll-btn{border-color:var(--moss);color:var(--green)}
.live-team-you{font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--green);margin:0;display:flex;align-items:center;gap:8px}
.live-team-you-mark{font-size:15px}
.ev-team-admins{margin:0 0 14px;padding:12px 12px 10px;border:1.5px solid var(--sand);border-radius:14px;background:var(--paper-warm)}
.ev-team-admins-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 8px}
.ev-team-admins-chips{display:flex;flex-wrap:wrap;gap:8px}
.ev-team-admin-chip{
  display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 12px;
  border:1.5px solid var(--sand);border-radius:999px;background:var(--paper);
  font:inherit;font-size:13.5px;font-weight:600;font-family:'Fraunces',serif;
  color:var(--green);cursor:pointer;text-align:left
}
.ev-team-admin-chip:hover{background:#e8ede5;border-color:var(--moss)}
.ev-team-admin-chip.is-you{border-color:var(--moss);background:#eef2ec}
/* Page scroll only — nested overflow here fights the fixed bottom nav on mobile */
.live-l1-list{display:flex;flex-direction:column;gap:8px}
.live-l1{border:1.5px solid var(--sand);border-radius:14px;background:var(--paper);overflow:hidden}
.live-l1.has-kids{border-left:3.5px solid var(--moss)}
.live-l1.is-new{border-color:rgba(196,122,74,.45);box-shadow:inset 3px 0 0 #c47a4a}
.live-l1-sum{display:flex;align-items:center;gap:12px;padding:12px 14px;list-style:none;font-family:inherit}
.live-l1-sum:not(.is-static){cursor:pointer}
.live-l1-sum.is-static{cursor:default}
.live-l1-sum::-webkit-details-marker{display:none}
.live-l1-sum::marker{content:""}
.live-l1-rank{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#eef2ec;color:var(--green);display:grid;place-items:center;font-size:12px;font-weight:700}
.person-photo{
  flex-shrink:0;display:block;width:40px;height:40px;border-radius:50%;
  overflow:hidden;background:#eef2ec;border:1.5px solid rgba(171,176,154,.45);
  box-shadow:0 1px 0 rgba(61,69,60,.04)
}
.person-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none}
.person-photo.is-sm{width:32px;height:32px}
.person-photo.is-lg{width:88px;height:88px;border-width:2px}
.person-photo.is-letter{
  display:grid;place-items:center;
  font-family:'Fraunces',serif;font-weight:600;font-size:15px;color:var(--green);line-height:1
}
.person-photo.is-sm.is-letter{font-size:13px}
.person-photo.is-lg.is-letter{font-size:32px}
.live-team-you .person-photo{margin-right:2px}
.live-l1-sum .person-photo{margin-left:-2px}
.settings-photo-row{display:flex;align-items:center;gap:14px}
.settings-photo-btn{
  border:none;background:transparent;padding:0;border-radius:50%;cursor:pointer
}
.settings-photo-btn:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
.settings-photo-actions{display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.settings-photo-actions .btn,.settings-photo-actions .btn-ghost{width:100%;margin:0}
.onboard-photo{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px 0 16px}
.onboard-photo-btn{border:none;background:transparent;padding:0;border-radius:50%;cursor:pointer}
.onboard-photo-btn:focus-visible{outline:2px solid var(--moss);outline-offset:3px}
.onboard-photo-label{margin:0;font-size:13px;color:var(--green-soft);text-align:center}
.onboard-photo-label span{color:var(--bark)}
.photo-crop-overlay{position:fixed;inset:0;z-index:90;background:rgba(28,28,26,.46);display:flex;align-items:center;justify-content:center;padding:22px 16px}
.photo-crop-overlay[hidden]{display:none!important}
body.photo-crop-open{overflow:hidden}
.photo-crop-card{width:min(100%,360px);background:var(--paper);border-radius:20px;padding:22px 20px 18px;box-shadow:0 18px 48px rgba(28,28,26,.22)}
.photo-crop-kicker{margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bark)}
.photo-crop-card h3{margin:0 0 14px;font-family:'Fraunces',serif;font-size:22px;font-weight:500;color:var(--green);line-height:1.2}
.photo-crop-stage{position:relative;width:min(100%,280px);aspect-ratio:1;margin:0 auto 12px;border-radius:50%;overflow:hidden;background:#ece8de;touch-action:none;cursor:grab}
.photo-crop-stage.is-drag{cursor:grabbing}
.photo-crop-stage canvas{position:absolute;top:0;left:0;transform-origin:0 0;pointer-events:none}
.photo-crop-mask{position:absolute;inset:0;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.85);pointer-events:none}
.photo-crop-hint{margin:0 0 8px;text-align:center;font-size:13px;color:var(--bark)}
.photo-crop-msg{margin:0 0 10px;min-height:1.2em;text-align:center;font-size:13px;color:var(--green-soft)}
.photo-crop-card .overlay-btn{margin-top:0}
.team-person-identity{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 10px}
.team-person-photo-slot{margin:0}
.grove-leaders-roster-row.has-photo{grid-template-columns:18px 32px minmax(0,1fr)}
.how-grow-board-row .person-photo{flex-shrink:0}
.how-grow-board-row .how-grow-board-name{flex:1;min-width:0}
.live-l1-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.live-l1-name-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.live-l1-name-row .team-mode-chip.is-grove{flex:0 0 auto}
.live-l1-name{font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--green);line-height:1.2;border:none;background:transparent;padding:0;margin:0;cursor:pointer;text-align:left;overflow-wrap:anywhere;word-break:break-word;max-width:100%}
.live-l1-name:hover,.live-l1-name:focus-visible{text-decoration:underline;outline:none}
.live-l1-meta{font-size:12px;color:var(--bark);line-height:1.35}
.live-l1-expand{flex-shrink:0;width:28px;height:28px;padding:0;margin:0;border-radius:8px;border:1.5px solid var(--sand);background:rgba(255,255,255,.85);color:var(--green);display:grid;place-items:center;font:inherit;font-size:18px;font-weight:600;line-height:1;user-select:none;cursor:pointer;appearance:none;-webkit-appearance:none}
.live-l1-expand::before{content:"+"}
.live-l1.has-kids:not(.is-open)>.live-team-kids{display:none}
.live-l1.is-open>.live-l1-sum .live-l1-expand{background:#eef2ec;border-color:var(--moss)}
.live-l1.is-open>.live-l1-sum .live-l1-expand::before{content:"−"}
.live-l1-under{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green-soft);background:rgba(255,255,255,.7);border:1px solid var(--sand);border-radius:999px;padding:5px 10px}
.live-l1-under.on{background:#eef2ec;border-color:var(--moss);color:var(--green)}
.live-l1-empty{margin:0;padding:0 14px 14px 54px;font-size:12.5px;color:var(--bark-soft);font-style:italic}
.team-mode-chip,.team-new-chip{display:inline-flex;align-items:center;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:3px 8px;line-height:1.2;white-space:nowrap}
.team-mode-chip.is-starter{background:#f7f0e2;color:#8a6a3a;border:1px solid rgba(138,106,58,.25)}
.team-mode-chip.is-full{background:#eef2ec;color:var(--green);border:1px solid rgba(74,106,86,.3)}
.team-mode-chip.is-grove{background:#e7efe6;color:#2f4638;border:1px solid rgba(61,90,74,.38)}
.team-mode-chip.is-unknown{background:rgba(61,69,60,.06);color:var(--bark);border:1px solid var(--sand)}
.team-new-chip{background:#c47a4a;color:#fff;border:none}
.live-team-leader-star{
  display:inline-block;vertical-align:middle;flex-shrink:0;
  width:15px;height:15px;margin:0 0 0 .12em;color:#c49a3c;line-height:0;
  transform:translateY(-.14em)
}
.live-team-leader-star svg{display:block;width:15px;height:15px}
.live-l1-name .live-team-leader-star{width:16px;height:16px;margin-left:.1em;transform:translateY(-.16em)}
.live-l1-name .live-team-leader-star svg{width:16px;height:16px}
.grove-upline{margin:12px 0 0;padding:10px 12px}
.grove-upline[hidden]{display:none!important}
.grove-upline-sum{
  display:flex;align-items:center;gap:8px 10px;cursor:pointer;list-style:none;
}
.grove-upline-sum::-webkit-details-marker{display:none}
.grove-upline-sum::marker{content:""}
.grove-upline-sum .live-tag{margin:0;font-size:10px}
.grove-upline-tease{flex:1;min-width:0;font-size:12.5px;line-height:1.35;color:var(--bark-soft);text-align:right}
.grove-upline-body{margin-top:10px}
.grove-upline-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.grove-upline-row{display:grid;gap:1px;padding:7px 9px;border-radius:10px;background:#eef2ec}
.grove-upline-name{font-size:13.5px;font-weight:650;color:var(--green);line-height:1.3}
.grove-upline-cap{font-size:11.5px;color:var(--bark-soft);line-height:1.3}
.grove-upline-role{font-size:11.5px;color:var(--bark-soft)}
.grove-leaders-roster{margin-top:16px}
#evergreenTeamGraph{margin-top:16px}
#evergreenTeamGraph[hidden]{display:none!important}
.grove-leaders-roster[hidden]{display:none!important}
.grove-leaders-roster-sum{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.grove-leaders-roster-sum::-webkit-details-marker{display:none}
.grove-leaders-roster-sum::marker{content:""}
.grove-leaders-roster-sum .live-tag{margin:0}
.grove-leaders-roster-tease{flex:1;min-width:0;font-size:13.5px;line-height:1.4;color:var(--bark-soft);text-align:right}
.grove-leaders-roster-body{margin-top:14px}
.grove-leaders-roster-lead{font-size:13.5px;line-height:1.5;color:var(--bark);margin:0 0 12px;max-width:40em}
.grove-leaders-roster-list{display:grid;gap:7px;margin:0}
.grove-leaders-roster-row{
  display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;
  width:100%;margin:0;padding:10px 12px;border:0;border-radius:10px;
  background:var(--paper-warm);font:inherit;font-size:14px;line-height:1.35;
  color:var(--green);text-align:left;cursor:pointer
}
.grove-leaders-roster-row:hover{background:#e8ede5}
.grove-leaders-roster-row .live-team-leader-star{
  display:flex;align-items:center;justify-content:center;
  width:15px;height:15px;margin:0;vertical-align:middle;transform:none
}
.grove-leaders-roster-row .live-team-leader-star svg{width:15px;height:15px}
.grove-leaders-roster-star-slot{width:15px;height:15px}
.grove-leaders-roster-name{font-family:'Fraunces',serif;font-weight:600;min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;align-items:flex-start;gap:2px}
.grove-leaders-roster-prog{font-family:inherit;font-size:12px;font-weight:500;line-height:1.3;color:var(--bark-soft);letter-spacing:0}
.grove-leaders-roster-row.is-team{grid-template-columns:18px minmax(0,1fr) auto;align-items:start}
.grove-leaders-roster-role{font-size:12px;line-height:1.2;color:var(--bark-soft);white-space:nowrap}
.grove-leaders-roster-empty{margin:0;font-size:13.5px;color:var(--bark-soft)}
.grove-leader-welcome-points{
  margin:0 0 14px;padding:0 0 0 1.15em;color:var(--bark);
  font-size:.94rem;line-height:1.58
}
.grove-leader-welcome-points li{margin:0 0 8px}
.grove-leader-welcome-points li:last-child{margin-bottom:0}
.grove-leader-welcome-close{margin-top:4px}

.clients-arrive-fly{
  position:fixed;
  z-index:120;
  display:grid;
  place-items:center;
  font-size:28px;
  line-height:1;
  pointer-events:none;
  opacity:1
}
#clientsArrivalPetals{position:fixed;inset:0;z-index:86;pointer-events:none;overflow:hidden}
.clients-arrive-petal,
.clients-arrive-sparkle{
  position:absolute;
  top:var(--petal-top, -24px);
  left:0;
  opacity:.88;
  animation:clientsPetalFall var(--petal-ms, 4.6s) ease-in forwards
}
.clients-arrive-petal{
  width:9px;
  height:14px;
  border-radius:0 70% 70% 70%
}
.clients-arrive-sparkle{
  font-size:var(--sparkle-size, 18px);
  line-height:1;
  width:auto;
  height:auto
}
@keyframes clientsPetalFall{
  0%{transform:translate3d(0,0,0) rotate(var(--petal-rot, 12deg));opacity:.9}
  100%{transform:translate3d(var(--petal-dx, 6vw),112vh,0) rotate(calc(var(--petal-rot, 12deg) + 140deg));opacity:0}
}
.clients-arrive-pop{animation:clientsArrivePop .9s cubic-bezier(.22,1,.36,1) both}
@keyframes clientsArrivePop{
  0%{transform:scale(.86);opacity:0}
  100%{transform:scale(1);opacity:1}
}
.clients-arrive-land{animation:clientsArriveLand .55s cubic-bezier(.22,1,.36,1) both}
@keyframes clientsArriveLand{
  0%{transform:scale(1)}
  40%{transform:scale(1.16)}
  100%{transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .clients-arrive-fly,.clients-arrive-petal,.clients-arrive-sparkle,.clients-arrive-pop,.clients-arrive-land{animation:none!important;transition:none!important}
}
.live-team-name{font-family:inherit;font-weight:600;font-size:14px;color:var(--green);min-width:0;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;border:none;background:transparent;padding:0;margin:0;cursor:pointer;text-align:left;line-height:1.25;white-space:normal}
.live-team-name:hover,.live-team-name:focus-visible{text-decoration:underline;outline:none}
.live-team-count{font-weight:600;font-size:11px;color:var(--moss-ink);margin-left:auto;flex-shrink:0}
.live-team-kids{margin:0;padding:4px 10px 12px 18px;list-style:none}
.live-team-kids.depth-3{padding-left:14px}
.live-team-kids.depth-4,.live-team-kids.depth-5,.live-team-kids.depth-6{padding-left:12px}
.live-team-node{margin:0}
.live-team-branch{margin:0;border-radius:10px}
.live-team-branch.has-kids{background:rgba(238,242,236,.35)}
.live-team-branch.has-kids.is-open{background:rgba(238,242,236,.55)}
.live-team-branch.has-kids:not(.is-open)>.live-team-kids{display:none}
.live-team-sum{display:flex;align-items:center;gap:8px;padding:8px 8px;list-style:none;font-family:inherit;border-radius:10px}
.live-team-sum:not(.is-static){cursor:pointer}
.live-team-sum.is-static{cursor:default}
.live-team-sum::-webkit-details-marker{display:none}
.live-team-sum::marker{content:""}
.live-team-sum:hover{background:rgba(255,255,255,.55)}
.live-team-sprout{flex-shrink:0;font-size:13px;line-height:1;opacity:.9;width:1.25em;text-align:center}
.live-team-main{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}
.live-team-under-n{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--moss-ink);opacity:.85}
.live-team-expand{position:relative;flex-shrink:0;width:24px;height:24px;padding:0;margin:0;border-radius:7px;border:1.5px solid var(--sand);background:rgba(255,255,255,.9);color:var(--green);display:grid;place-items:center;line-height:1;user-select:none;font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
.live-team-expand::after{content:"";position:absolute;inset:-9px}
.live-team-expand::before{content:"+";font-size:15px;font-weight:600}
.live-team-branch.is-open>.live-team-sum .live-team-expand{background:#eef2ec;border-color:var(--moss)}
.live-team-branch.is-open>.live-team-sum .live-team-expand::before{content:"−"}
.live-team-kids .live-team-kids{margin-top:2px;padding-left:14px;border-left:2px solid rgba(74,106,86,.2);margin-left:10px}
.live-team-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;max-width:100%;box-sizing:border-box;padding:7px 4px;font-size:13.5px;line-height:1.35;border:none;border-top:1px solid rgba(61,69,60,.06);background:transparent;font-family:inherit;text-align:left;cursor:pointer;color:inherit;border-radius:8px}
.live-team-row:hover,.live-team-row:focus-visible{background:rgba(238,242,236,.7);outline:none}
.live-team-dot{width:7px;height:7px;border-radius:50%;background:var(--moss);flex-shrink:0;opacity:.7}
.team-person-card{width:min(420px,100%)}
.team-person-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 4px}
.team-person-head .live-tag{margin-bottom:0}
.team-person-x{position:relative;border:none;background:transparent;font-size:22px;line-height:1;color:var(--bark);cursor:pointer;padding:0 2px}
.team-person-x::after{content:"";position:absolute;inset:-10px}
.team-person-card h3{font-family:'Fraunces',serif;font-size:24px;font-weight:600;color:var(--green);margin:0;line-height:1.2}
.team-person-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.team-person-facts{margin:0 0 16px;display:grid;gap:10px}
.team-person-facts > div{display:grid;grid-template-columns:96px 1fr;gap:8px;align-items:baseline}
.team-person-facts dt{margin:0;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--moss-ink)}
.team-person-facts dd{margin:0;font-size:14px;color:var(--green);word-break:break-word}
.team-person-hint{font-size:13px;line-height:1.45;color:var(--bark);margin:0}
.leader-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.leader-under-chip{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green);background:#eef2ec;border-radius:999px;padding:4px 8px}
.cheer-sheet{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}
.cheer-sheet[hidden]{display:none!important}
.cheer-sheet-backdrop{position:absolute;inset:0;border:none;background:rgba(61,69,60,.35);cursor:pointer;padding:0}
.cheer-sheet-card{position:relative;z-index:1;width:min(400px,100%);background:var(--paper);border:1.5px solid var(--sand);border-radius:18px;padding:20px 18px 16px;box-shadow:0 18px 48px rgba(61,69,60,.25);animation:teamInviteIn .2s var(--ease)}
.cheer-sheet-meta{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 10px}
.cheer-sheet-preview{font-family:'Fraunces',serif;font-size:18px;font-style:italic;font-weight:500;line-height:1.4;color:var(--green);margin:0 0 12px}
.cheer-sheet-hint{font-size:12.5px;line-height:1.45;color:var(--bark);margin:0 0 16px}
.broadcast-audience{margin:0 0 14px}
.broadcast-audience[hidden]{display:none!important}
.broadcast-audience .live-team-sort{flex-wrap:wrap}
.cheer-sheet-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}
.cheer-sheet-actions .btn,.cheer-sheet-actions .btn-ghost{flex:1;min-width:140px;text-align:center}
.team-person-card .cheer-sheet-actions .danger-ghost{flex:1 1 100%}
.cheer-sheet-cancel{display:block;width:100%;border:none;background:transparent;color:var(--green-soft);font-size:13px;font-weight:600;padding:8px;cursor:pointer;font-family:inherit}
.poll-sheet-card{width:min(420px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.poll-slot-row{display:flex;gap:8px;align-items:center;margin:0 0 8px}
.poll-slot-row .cal-input{flex:1}
.poll-slot-remove{flex:none;width:36px;height:36px;border:1.5px solid var(--sand);border-radius:10px;background:var(--white);color:var(--bark);font-size:20px;line-height:1;cursor:pointer}
.poll-card-title{font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:var(--green);margin:8px 0 8px}
.poll-card-body{font-size:14px;line-height:1.5;color:var(--bark);margin:0 0 8px}
.poll-card-meta{font-size:12px;color:var(--moss-ink);margin:0 0 14px}
.poll-options{display:flex;flex-direction:column;gap:10px;margin:0 0 14px}
.poll-option{display:flex;gap:10px;align-items:flex-start;margin:0;padding:10px 12px;border:1.5px solid var(--sand);border-radius:12px;background:var(--paper);cursor:pointer}
.poll-option.on{border-color:var(--moss);background:rgba(171,176,154,.18)}
.poll-option.is-locked{cursor:default}
.poll-option input{margin-top:4px}
.poll-option-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.poll-option-label{font-size:15px;font-weight:600;color:var(--green)}
.poll-option-count{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--moss-ink)}
.poll-bar{display:block;height:8px;border-radius:99px;background:rgba(171,176,154,.28);overflow:hidden}
.poll-bar i{display:block;height:100%;width:0;background:var(--moss);border-radius:99px}
.poll-option-names{font-size:12px;line-height:1.4;color:var(--bark)}
.poll-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.poll-card-actions .btn,.poll-card-actions .btn-ghost{flex:1;min-width:140px;text-align:center}
.poll-card-msg{margin:0}
.note-sheet-field{display:block;margin:0 0 12px}
.note-sheet-input{
  display:block;width:100%;min-height:110px;resize:vertical;
  border:1.5px solid var(--sand);border-radius:12px;background:var(--white);
  padding:12px 14px;font:inherit;font-size:15px;line-height:1.45;color:var(--green);
  box-sizing:border-box;
}
.note-sheet-input:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 3px rgba(171,176,154,.35)}
.note-sheet-actions{align-items:flex-start}
.note-sheet-copy-wrap{flex:1;min-width:140px;display:flex;flex-direction:column;gap:6px}
.note-sheet-copy-wrap .btn-ghost{width:100%;text-align:center}
.note-sheet-copy-hint{margin:0;font-size:11.5px;line-height:1.4;color:var(--bark-soft);text-align:center}
.note-sheet-actions #noteConfirmSend{flex:1;min-width:140px;align-self:stretch}
body.overlay-open:has(#onboarding.open) #noteSheet .cheer-sheet-backdrop,
body.overlay-open:has(#onboarding.open) #cheerSheet .cheer-sheet-backdrop,
body.overlay-open:has(#onboarding.open) #broadcastSheet .cheer-sheet-backdrop{pointer-events:none}
.broadcast-poll-fields{margin:12px 0 0}
.broadcast-poll-fields[hidden]{display:none!important}
.broadcast-poll-fields .broadcast-audience{margin:0 0 12px}

.today-card{background:linear-gradient(165deg,#fff 0%,#eef2ec 55%,#fbf6e6 100%);border:1.5px solid var(--moss);border-radius:18px;padding:22px 22px 18px;margin:0 0 24px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.today-card::before{content:"";position:absolute;right:-20px;top:-30px;width:120px;height:120px;border-radius:50%;background:rgba(232,200,106,.18);pointer-events:none}
.today-tag{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--moss-ink);margin-bottom:10px;position:relative}
.today-title{font-family:'Fraunces',serif;font-size:clamp(22px,3.5vw,28px);font-weight:500;color:var(--green);line-height:1.2;margin:0 0 8px;position:relative}
.today-body{font-size:15.5px;line-height:1.55;color:var(--green-mid);margin:0 0 16px;position:relative;max-width:36em}
.today-card .btn-row{margin:0;position:relative}
.today-why{font-size:12.5px;color:var(--bark-soft);margin:12px 0 0;line-height:1.45;font-style:italic;position:relative}

.invite-block{margin:12px 0}
.invite-input{width:100%;border:1px solid var(--rail-deep);border-radius:8px;background:rgba(245,246,242,.7);color:var(--green);padding:8px 10px;font-size:11px;font-family:inherit}
.invite-input.light{background:var(--white);color:var(--green);border-color:var(--sand);font-size:13px;padding:10px 12px}
#settingsCabinetShopInput{
  margin-top:2px;
  min-height:46px;
  border-radius:12px;
  font-size:15px;
  padding:12px 14px;
}
.team-head{display:flex;align-items:center;justify-content:space-between;gap:8px 10px;margin:0 0 8px;position:relative;overflow:visible}
.team-head h1{margin:0;flex:1;min-width:0}
.team-invite-wrap{position:relative;flex:0 0 auto;overflow:visible;margin-top:8px}
.team-invite-wrap[hidden]{display:none!important}
.team-invite-cue{display:inline-flex;align-items:center;gap:0;border:1.5px solid var(--sand);background:var(--white);border-radius:16px;padding:9px 14px;cursor:pointer;font:inherit;text-align:left;color:var(--green);box-shadow:var(--shadow);transition:border-color .15s,background .15s,transform .15s}
.team-invite-cue:hover,.team-invite-cue[aria-expanded="true"]{border-color:var(--moss);background:#eef2ec;transform:translateY(-1px)}
.team-invite-cue-text{display:block;font-size:12.5px;font-weight:700;line-height:1.25;color:var(--green);white-space:nowrap}
@media (min-width:520px){
  .team-invite-cue{border-radius:999px;padding:10px 16px}
  .team-invite-cue-text br{display:none}
  .team-invite-cue-text{white-space:nowrap}
}
.team-invite-backdrop{position:fixed;inset:0;z-index:79;border:none;background:transparent;cursor:default;padding:0}
.team-invite-backdrop[hidden]{display:none!important}
.team-invite-pop{position:absolute;top:calc(100% + 10px);right:0;z-index:80;width:min(340px,calc(100vw - 32px))}
.team-invite-pop[hidden]{display:none!important}
.team-invite-card{position:relative;background:var(--paper);border:1.5px solid var(--sand);border-radius:16px;padding:14px 14px 12px;box-shadow:0 12px 32px rgba(61,69,60,.18);animation:teamInviteIn .18s var(--ease)}
.team-invite-card::before{content:"";position:absolute;top:-7px;right:22px;width:12px;height:12px;background:var(--paper);border-left:1.5px solid var(--sand);border-top:1.5px solid var(--sand);transform:rotate(45deg)}
@keyframes teamInviteIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.team-invite-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.team-invite-lead{margin:0 0 10px;font-size:13.5px;line-height:1.45;color:var(--green-mid)}
.team-invite-x{position:relative;flex-shrink:0;width:28px;height:28px;border:none;border-radius:50%;background:var(--sand);color:var(--green);font-size:18px;line-height:1;cursor:pointer;font-family:inherit}
.team-invite-x::after{content:"";position:absolute;inset:-8px;border-radius:50%}
.team-invite-card .invite-explain{margin-top:8px;font-size:12px}
.team-invite-card .invite-row{flex-wrap:nowrap}
.team-invite-card .invite-input{min-width:0;font-size:12px;padding:9px 10px}
.invite-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.invite-row .invite-input{flex:1;min-width:180px}

.leader-board{display:grid;grid-template-columns:1fr;gap:14px;margin:10px 0 20px}
.leader-board.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.leader-board.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.leader-board-kicker{grid-column:1/-1;font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--moss-ink);margin:4px 0 0}
.leader-col{background:var(--white);border:1.5px solid var(--sand);border-radius:16px;padding:0;min-height:0;border-top:3.5px solid var(--moss);overflow:hidden}
.leader-col.is-nudge{border-top-color:#a67c5d}
.leader-col.is-motion{border-top-color:#7a8468}
.leader-col.is-ready{border-top-color:#3d5a4a}
.leader-col-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-mid);margin:0;padding:14px;display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font-family:inherit}
.leader-col-title::-webkit-details-marker{display:none}
.leader-col-title::marker{content:""}
.leader-col-title-main{flex:1;min-width:0}
.leader-col-count{background:var(--paper-warm);border-radius:20px;padding:3px 9px;font-size:11px;color:var(--bark);font-weight:700}
.leader-col.is-nudge .leader-col-count{background:#f3ebe4;color:#6e4f3a}
.leader-col.is-motion .leader-col-count{background:#eef0e6;color:#4f5643}
.leader-col.is-ready .leader-col-count{background:#e4ebe6;color:#2f4539}
.leader-col-chev,
.leader-card-chev{
  flex-shrink:0;
  width:1em;
  height:1em;
  display:inline-grid;
  place-items:center;
  color:var(--green-soft);
  font-size:14px;
  line-height:1;
  transition:transform .15s ease;
  transform:rotate(0deg);
}
.leader-col-chev::before,
.leader-card-chev::before{
  content:"▾";
  font-style:normal;
  font-weight:700;
}
.leader-col[open] > .leader-col-title .leader-col-chev,
.leader-card[open] > .leader-card-sum .leader-card-chev{
  transform:rotate(180deg);
}
.leader-card-chev{margin-top:2px;font-size:13px}
.leader-col-body{padding:0 14px 14px}
.leader-empty{font-size:13.5px;color:var(--bark-soft);font-style:italic;margin:0;padding:8px 2px}
.leader-card{border:1px solid var(--sand);border-radius:14px;padding:0;margin-bottom:10px;background:linear-gradient(180deg,#fff 0%,var(--paper) 100%);box-shadow:0 1px 0 rgba(61,69,60,.04);overflow:hidden}
.leader-card:last-child{margin-bottom:0}
.leader-card-sum{display:block;padding:14px;cursor:pointer;list-style:none;font-family:inherit}
.leader-card-sum::-webkit-details-marker{display:none}
.leader-card-sum::marker{content:""}
.leader-card-name{font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:var(--green);line-height:1.2;flex:1;min-width:0}
.leader-card-meta{font-size:12px;color:var(--bark);margin:4px 0 8px;line-height:1.4}
.leader-card-body{padding:0 14px 14px;border-top:1px solid rgba(61,69,60,.06)}
.leader-card-body .leader-card-nudge{margin-top:12px}
.leader-progress-row{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.leader-progress{flex:1;height:5px;border-radius:999px;background:rgba(61,69,60,.1);overflow:hidden}
.leader-progress span{display:block;height:100%;background:var(--moss);border-radius:999px}
.leader-progress-label{flex-shrink:0;font-size:11px;font-weight:700;color:var(--green-mid);letter-spacing:.02em}
.leader-card-nudge{font-size:12.5px;line-height:1.5;color:var(--green);background:#fff;border-radius:12px;padding:10px 12px 12px;border:1px solid rgba(61,69,60,.08);margin-bottom:12px}
.leader-card-nudge em{display:block;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink);font-style:normal;margin-bottom:6px;font-weight:700}
.leader-card-nudge > div{margin:0 0 10px}
.leader-card-nudge.is-support-tone{background:rgba(238,242,236,.65);border-color:rgba(122,132,104,.28)}
.leader-card-nudge.is-nudge-tone{background:rgba(243,235,228,.7);border-color:rgba(166,124,93,.28)}
.leader-nudge-copy{display:block;width:100%;border:1.5px solid rgba(61,69,60,.14);background:var(--paper-warm);color:var(--green);border-radius:999px;padding:9px 12px;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s}
.leader-nudge-copy:hover{border-color:var(--moss);background:#eef2ec}
.leader-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.leader-action-btn{width:100%;text-align:center;padding:10px 12px;font-size:13px;border-radius:999px;font-weight:700}
.leader-log{margin:0 0 12px}
.leader-log-toggle{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;row-gap:2px;align-items:center;text-align:left;border:1.5px solid rgba(61,69,60,.12);background:rgba(255,255,255,.7);border-radius:12px;padding:10px 12px;font:inherit;cursor:pointer;color:var(--green);transition:border-color .15s,background .15s}
.leader-log-toggle:hover{border-color:var(--moss);background:#eef2ec}
.leader-log-toggle-main{font-size:12.5px;font-weight:700;grid-column:1}
.leader-log-count{display:inline-block;margin-left:6px;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--moss-ink);background:rgba(171,176,154,.28);border-radius:999px;padding:2px 7px;vertical-align:middle}
.leader-log-toggle-sub{grid-column:1;font-size:11.5px;color:var(--bark-soft);font-weight:500}
.leader-log-chev{grid-column:2;grid-row:1 / span 2;color:var(--bark-soft);font-size:14px}
.leader-log-panel{margin-top:8px;display:flex;flex-direction:column;gap:8px}
.leader-log-panel[hidden]{display:none!important}
.leader-log-item{background:var(--paper);border:1px solid rgba(61,69,60,.08);border-radius:10px;padding:10px 12px}
.leader-log-item.is-cheer{border-left:3px solid #7a8468}
.leader-log-item.is-note{border-left:3px solid #a67c5d}
.leader-log-item.is-nudge{border-left:3px solid #9a6b73}
.leader-log-meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:0 0 6px}
.leader-log-kind{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink)}
.leader-log-when{font-size:11px;color:var(--bark-soft);font-weight:600}
.leader-log-body{margin:0;font-size:13px;line-height:1.45;color:var(--green);font-family:'Fraunces',serif;font-style:italic;font-weight:500}
.team-tools{margin-top:8px;opacity:.85}
.team-tools .btn-ghost{font-size:13px}
.team-tools-hint{font-size:12.5px;line-height:1.45;color:var(--bark);margin:8px 0 0;max-width:40em;opacity:.95}
/* Padding and size live with the calendar buttons further down. */
.small-btn{border-radius:20px}

.calendar-stats{display:none}

.overlay.auth .overlay-card{position:relative;max-width:420px}
.overlay-close{position:absolute;top:12px;right:14px;border:none;background:transparent;font-size:22px;color:var(--bark-soft);cursor:pointer;line-height:1}
/* Glyph-only buttons draw at ~22px. Pad the hit area out to a thumb without
   moving the glyph, the same way .cal-nav-btn already does. */
.overlay-close::after{content:"";position:absolute;inset:-11px}
.auth-msg{font-size:13px;color:var(--moss-ink);margin-top:12px;min-height:18px}
.auth-hint{font-size:12px;color:var(--bark-soft);line-height:1.45;margin-top:10px}
.auth-code-input{letter-spacing:.35em;font-size:22px!important;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}
#onboardingResetPane,
#authResetPane{margin-top:4px}
#onboardingAuthForm[hidden],
#onboardingForgotBtn[hidden],
#onboardingResetPane[hidden],
#onboardingResetEmailWrap[hidden],
#onboardingResetCodeWrap[hidden],
#onboardingResetPassWrap[hidden],
#onboardingResetPass2Wrap[hidden],
#onboardingResetSendBtn[hidden],
#onboardingResetVerifyBtn[hidden],
#onboardingResetSaveBtn[hidden],
#onboardingResetResendBtn[hidden],
#obAuthHint[hidden],
#authSignFields[hidden],
#authSignHint[hidden],
#authForgotBtn[hidden],
#authResetPane[hidden],
#authResetEmailWrap[hidden],
#authResetCodeWrap[hidden],
#authResetPassWrap[hidden],
#authResetPass2Wrap[hidden],
#authResetSendBtn[hidden],
#authResetVerifyBtn[hidden],
#authResetSaveBtn[hidden],
#authResetResendBtn[hidden]{display:none!important}

.module-check{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:14px 16px;margin:0 0 22px;box-shadow:var(--shadow)}
.module-check-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.module-check-tag{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--green-mid)}
.module-check-count{font-size:12px;font-weight:700;color:var(--bark);background:var(--paper-warm);border-radius:20px;padding:4px 10px}
.module-check-count.on{background:rgba(171,176,154,.35);color:var(--green)}
.module-check-list{list-style:none;margin:0;padding:0}
.module-check-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4;color:var(--green);padding:6px 0;border-top:1px solid var(--sand)}
.module-check-list li:first-child{border-top:none;padding-top:0}
.module-check-list li.is-done{color:var(--green-mid)}
.module-check-list li.is-optional{opacity:.72;font-size:13px}
.module-check-mark{flex-shrink:0;width:18px;text-align:center;font-weight:700;color:var(--bark-soft)}
.module-check-list li.is-done .module-check-mark{color:var(--green)}
.module-check-lock{font-size:12.5px;color:var(--bark);margin:10px 0 0;line-height:1.45;font-style:italic}

.lock-toast{position:fixed;left:0;right:0;bottom:calc(88px + env(safe-area-inset-bottom));margin:0 auto;z-index:90;width:min(440px,calc(100vw - 24px))}
.lock-toast[hidden]{display:none!important}
.lock-toast-inner{background:var(--paper);border:1.5px solid var(--moss);border-radius:16px;padding:16px 18px;box-shadow:0 12px 40px rgba(61,69,60,.22);position:relative}
.lock-toast-inner p{margin:0 0 12px;font-size:14.5px;line-height:1.45;color:var(--green);padding-right:20px}
.lock-toast-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.lock-toast-actions .btn,.lock-toast-actions .btn-ghost{padding:10px 16px;font-size:13px}
.lock-toast-x{position:absolute;top:8px;right:10px;border:none;background:transparent;font-size:22px;color:var(--bark-soft);cursor:pointer;line-height:1}

.know-h2{font-family:'Fraunces',serif;font-size:clamp(22px,3vw,28px);font-weight:500;color:var(--green);margin:28px 0 12px;line-height:1.2}
.know-search-wrap{display:block;margin:0 0 16px}
.know-search{width:100%;border:1.5px solid var(--moss);border-radius:14px;background:var(--white);padding:15px 18px;font-family:inherit;font-size:16px;color:var(--green);box-shadow:var(--shadow)}
.know-search:focus{outline:none;border-color:var(--green-mid);box-shadow:0 0 0 3px rgba(171,176,154,.35),var(--shadow)}
.know-search-empty{font-size:14px;color:var(--bark);margin:0 0 14px;font-style:italic}
.know-search-products{margin:0 0 16px}
.know-search-products[hidden]{display:none!important}
.know-search-products .know-search-products-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 10px}
.know-search-products .prod-list{margin:0}
.know-acc{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;margin:0 0 10px;overflow:hidden;box-shadow:var(--shadow)}
.know-acc[hidden]{display:none!important}
.know-acc-sum{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;padding:14px 16px;font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:var(--green);line-height:1.25}
.know-acc-sum::-webkit-details-marker{display:none}
.know-acc-sum::marker{content:""}
.know-acc-chev{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--sand);position:relative}
.know-acc-chev::before,.know-acc-chev::after{content:"";position:absolute;background:var(--moss);left:50%;top:50%;transform:translate(-50%,-50%)}
.know-acc-chev::before{width:10px;height:1.5px}
.know-acc-chev::after{width:1.5px;height:10px}
.know-acc[open] .know-acc-chev::after{display:none}
.know-acc-body{padding:0 16px 16px;border-top:1px solid var(--sand)}
.know-acc-body .body-p:first-child{margin-top:12px}
.know-acc-static{margin-bottom:14px}
.know-list{margin:0 0 22px;padding-left:1.15em;color:var(--green)}
.know-list li{margin:0 0 10px;line-height:1.55;font-size:15.5px}
.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0 0 22px}
.fact-card{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:16px 16px 14px}
.fact-card-wide{grid-column:1/-1}
.fact-sublist{margin:10px 0 12px;padding:0 0 0 1.15em;font-size:14px;line-height:1.5;color:var(--green)}
.fact-sublist li{margin:0 0 6px}
.fact-sublist li:last-child{margin-bottom:0}
.fact-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0 0 8px}
.fact-card-head .fact-label{margin-bottom:0;flex:1;min-width:0;padding-top:8px}
.fact-card .prod-fav-btn{width:36px;height:36px;margin:-4px -6px 0 0}
.fact-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin-bottom:8px}
.fact-card p{margin:0;font-size:14px;line-height:1.55;color:var(--green);white-space:pre-line}
.know-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.know-jump a{font-size:12px;font-weight:700;letter-spacing:.04em;text-decoration:none;color:var(--green);background:var(--white);border:1.5px solid var(--sand);border-radius:999px;padding:7px 12px}
.know-jump a:hover{border-color:var(--moss);background:#eef2ec}
.pillar-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px}
.faq-list{margin:0 0 8px}
#panel-ev-resources .know-acc{margin:0 0 18px}
#ev-faqs .know-acc-sum-main,
#know-faqs .know-acc-sum-main{
  display:flex;align-items:center;gap:10px;min-width:0;
}
#ev-faqs .know-acc-ico,
#know-faqs .know-acc-ico{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  border:1.5px solid var(--sand);background:var(--paper-warm);
  display:grid;place-items:center;font-size:15px;line-height:1
}
#panel-know #know-faqs{margin:0 0 16px}
#know-facts.know-acc{
  border:1.5px solid rgba(140,150,122,.5);
  background:linear-gradient(180deg,#eef3ea 0%,#d8e0d0 100%);
  box-shadow:0 2px 10px rgba(61,69,60,.10)
}
#know-facts .know-acc-sum-main{
  display:flex;align-items:center;gap:10px;min-width:0
}
#know-facts .know-acc-ico{
  flex-shrink:0;width:32px;height:32px;border-radius:50%;
  border:1.5px solid rgba(140,150,122,.45);background:#f4f7f0;
  display:grid;place-items:center;font-size:15px;line-height:1
}
#know-facts .know-acc-chev{
  border-color:rgba(140,150,122,.45);background:#f4f7f0
}
#know-facts .know-acc-body{background:var(--white);border-top-color:rgba(140,150,122,.28)}
.faq-search{margin:0 0 12px;box-shadow:none}
.faq-search-empty{font-size:14px;color:var(--bark);margin:0 0 12px;font-style:italic}
.faq-search-empty[hidden]{display:none!important}
.faq-cat{margin:0 0 10px}
.faq-cat:last-child{margin-bottom:0}
.faq-cat-head{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  text-align:left;border:1.5px solid var(--sand);border-radius:14px;background:#f7f8f4;
  padding:12px 14px;font:inherit;color:inherit;cursor:pointer;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.faq-cat.is-open > .faq-cat-head{border-color:rgba(74,106,86,.35);background:#eef2ec;margin-bottom:8px}
.leaders-faq{margin:28px 0 8px}
.leaders-faq-title{font-family:'Fraunces',serif;font-size:22px;font-weight:500;color:var(--green);margin:0 0 6px;line-height:1.25}
.leaders-faq .body-p{margin:0 0 14px}
.leaders-faq .faq-list{margin:0}
.faq-cat-head:focus{outline:none}
.faq-cat-head:focus-visible{outline:3px solid rgba(200,162,74,.75);outline-offset:2px}
.faq-cat-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}
.faq-cat-title{font-family:'Fraunces',serif;font-size:16px;font-weight:500;color:var(--green);line-height:1.25}
.faq-cat-blurb{font-size:13px;line-height:1.4;color:var(--bark)}
.faq-cat-count{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--moss-ink)}
.faq-cat-chev{
  flex:0 0 auto;width:26px;height:26px;margin-top:2px;border-radius:50%;
  border:1.5px solid var(--sand);background:var(--white);color:var(--moss-ink);
  display:grid;place-items:center;font-size:16px;font-weight:600;line-height:1
}
.faq-cat.is-open > .faq-cat-chev,
.faq-cat.is-open > .faq-cat-head .faq-cat-chev{border-color:var(--moss);background:#e7ece4}
.faq-cat:not(.is-open) > .faq-cat-body{display:none}
.faq-cat-body{padding:0 0 4px}
.faq-item{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;margin-bottom:8px;overflow:hidden}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:none;background:transparent;padding:14px 16px;font-family:inherit;font-size:15px;font-weight:600;color:var(--green);cursor:pointer}
.faq-chev{color:var(--moss-ink);font-size:18px;line-height:1}
.faq-a{padding:0 16px 14px;border-top:1px solid var(--sand)}
.faq-item:not(.open) > .faq-a{display:none}
.faq-a p{margin:12px 0;font-size:14.5px;line-height:1.55;color:var(--green);white-space:pre-line}

/* Talking fresh · conversation guide (Learn) */
.talk-guide{max-width:820px}
.talk-guide-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px;padding:10px 0 12px;position:sticky;top:var(--fs-topbar-offset, 0px);z-index:6;background:var(--paper);border-bottom:1px solid rgba(61,69,60,.08)}
.talk-guide .prod-head-title{margin-bottom:6px}
.talk-guide .prod-head-sub{margin-bottom:6px;max-width:36em}
.talk-guide #talkGuideRoot>.body-p:first-child{margin-top:4px;margin-bottom:18px;max-width:38em}
#whyReports{margin:0 0 18px}
.talk-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:6px 0 16px}
.talk-stat{
  background:linear-gradient(165deg,#fff 0%,#f7f8f4 100%);
  border:1.5px solid rgba(61,69,60,.1);
  border-radius:14px;padding:14px 14px 13px;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 6px 18px rgba(61,69,60,.06)
}
.talk-stat-num{font-family:'Fraunces',serif;font-size:1.6rem;font-weight:600;color:var(--green);line-height:1;margin-bottom:7px}
.talk-stat-lbl{font-size:11.5px;line-height:1.4;color:var(--green-soft)}
.talk-pull{
  margin:10px 0 6px;padding:14px 16px 14px 18px;
  border-left:3px solid var(--moss);
  border-radius:0 14px 14px 0;
  background:linear-gradient(90deg,rgba(243,236,216,.55),rgba(255,255,255,.35));
  font-family:'Fraunces',serif;font-size:1.05rem;font-style:italic;line-height:1.45;color:var(--green)
}
.talk-sec-label{margin:26px 0 10px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-ink)}
.talk-sec-fold{margin:18px 0 20px}
.talk-sec-fold+.talk-sec-fold{margin-top:22px}
.talk-sec-fold-body{padding:10px 4px 6px}
.talk-cat-block:not(.is-open) > .talk-moments,
.talk-cat-block:not(.is-open) > .talk-moment-body,
.talk-cat-block:not(.is-open) > .talk-sec-fold-body{display:none}
.talk-principles-list{margin:4px 0 0;display:grid;gap:10px}
.talk-principles-list .faq-item{margin-bottom:0;box-shadow:0 4px 14px rgba(61,69,60,.05)}
.talk-principle-item .faq-a{padding-top:12px;padding-bottom:14px}
.talk-principle-item .faq-a p{margin:0;font-size:14.5px;line-height:1.55;color:var(--green)}
.talk-emoji-bubble{
  flex:0 0 auto;width:36px;height:36px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;font-size:17px;line-height:1;
  background:linear-gradient(160deg,#f7f2e4,#e4e9df);
  border:1px solid rgba(61,69,60,.1);
  box-shadow:0 1px 0 rgba(255,255,255,.85) inset,0 3px 8px rgba(61,69,60,.06)
}
.talk-emoji-bubble-sm{width:32px;height:32px;font-size:15px}
.talk-emoji-bubble-lg{width:44px;height:44px;font-size:20px}
.talk-cat-block{margin:14px 0 16px}
.talk-cat-block.talk-sec-fold{margin:18px 0 22px}
.talk-cat-head{
  display:flex;align-items:flex-start;gap:12px;width:100%;margin:0;padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(165deg,#ffffff 0%,#f3f5ef 58%,#eef1e8 100%);
  border:1.5px solid rgba(61,69,60,.1);
  box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 8px 22px rgba(61,69,60,.07);
  text-align:left;font:inherit;color:inherit;cursor:pointer;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  transition:border-color .18s,background .18s,box-shadow .18s,transform .18s
}
.talk-cat-block.is-open .talk-cat-head{
  margin-bottom:14px;
  border-color:rgba(74,106,86,.3);
  background:linear-gradient(165deg,#fff 0%,#eef2ec 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 10px 26px rgba(61,69,60,.1)
}
@media (hover:hover) and (pointer:fine){
  .talk-cat-head:hover{border-color:rgba(74,106,86,.32);box-shadow:0 1px 0 rgba(255,255,255,.95) inset,0 10px 26px rgba(61,69,60,.1)}
}
.talk-cat-head:focus{outline:none}
.talk-cat-head:focus-visible{outline:3px solid rgba(200,162,74,.75);outline-offset:2px}
.talk-cat-head-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.talk-cat-title{font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:#000;line-height:1.2;margin:2px 0 0}
.talk-cat-blurb{margin:0;font-size:14.5px;line-height:1.45;color:var(--green)}
.talk-cat-count{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--moss-ink)}
.talk-cat-chev{
  flex:0 0 auto;width:30px;height:30px;margin-top:4px;border-radius:10px;
  border:1.5px solid rgba(61,69,60,.14);background:rgba(255,255,255,.92);color:var(--green);
  display:grid;place-items:center;font-size:18px;font-weight:600;line-height:1;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset
}
.talk-cat-block.is-open .talk-cat-chev{background:#e7ece4;border-color:var(--moss)}
.talk-moments{margin:0;display:grid;gap:10px}
.talk-moments .faq-item{
  margin-bottom:0;
  border-color:rgba(61,69,60,.1);
  box-shadow:0 4px 14px rgba(61,69,60,.05);
  transition:border-color .15s,box-shadow .15s
}
.talk-moments .faq-item.open{
  border-color:rgba(74,106,86,.28);
  box-shadow:0 8px 22px rgba(61,69,60,.08)
}
.talk-moments .faq-q{align-items:center;gap:10px;padding:13px 14px}
.talk-q-wrap{min-width:0;flex:1;font-size:14.5px;font-weight:600;line-height:1.35;color:var(--green)}
.talk-moments .faq-chev{flex:0 0 auto;margin-left:auto}
.talk-moment-body{padding-top:12px;padding-bottom:16px}
.talk-cat-solo > .talk-moment-body{padding:12px 4px 10px}
.talk-why{
  background:linear-gradient(160deg,rgba(243,236,216,.7),rgba(171,176,154,.22));
  border:1px solid rgba(61,69,60,.08);
  border-radius:12px;padding:13px 14px;margin:4px 0 12px
}
.talk-why-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin-bottom:6px}
.talk-why p{margin:0!important;font-size:13.5px;line-height:1.5;color:var(--green)}
.talk-play{margin:10px 0 4px}
.talk-play-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-soft);margin-bottom:8px}
.talk-exchange{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.talk-opener-bank{display:flex;flex-direction:column;gap:12px;margin-bottom:4px}
.talk-opener-card{
  padding:13px 13px 11px;border-radius:14px;
  border:1.5px solid rgba(61,69,60,.1);
  background:linear-gradient(165deg,#fff,#f7f8f4);
  box-shadow:0 3px 12px rgba(61,69,60,.05)
}
.talk-opener-card .talk-exchange{margin-bottom:8px}
.talk-opener-card .copy-btn{margin-top:0}
.talk-line{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--green)}
.talk-line.them{color:var(--green-soft)}
.talk-who{flex-shrink:0;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:5px;margin-top:1px;min-width:42px;text-align:center;background:rgba(171,176,154,.35);color:var(--green-soft)}
.talk-line.you .talk-who{background:var(--green);color:#fff}
.talk-line.you span:last-child{font-weight:500}
.talk-trap{
  margin:14px 0 2px;padding:12px 13px;border-radius:12px;
  border-left:3px solid var(--moss);
  background:linear-gradient(90deg,rgba(243,236,216,.45),rgba(245,246,242,.95));
  font-size:13px;line-height:1.45;color:var(--green-soft)
}
.talk-trap strong{color:var(--green)}
.talk-arc{display:flex;flex-direction:column;gap:0;margin:2px 0 8px}
.talk-stage{display:flex;gap:14px;padding:16px 4px;border-bottom:1px solid rgba(61,69,60,.1)}
.talk-stage:last-child{border-bottom:none;padding-bottom:6px}
.talk-stage-n{
  flex-shrink:0;width:34px;height:34px;border-radius:50%;
  background:linear-gradient(160deg,#4a5348,var(--green));color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-family:'Fraunces',serif;font-size:15px;font-weight:600;
  box-shadow:0 4px 12px rgba(61,69,60,.18)
}
.talk-stage-body{min-width:0;flex:1}
.talk-stage-goal{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--moss-ink);margin:-2px 0 6px}
.talk-stage-body p{margin:0;font-size:13.5px;line-height:1.5;color:var(--green-soft)}
.talk-redlines{margin:22px 0 18px;box-shadow:0 6px 18px rgba(61,69,60,.06)}
.talk-rl-list{margin:0;padding-left:1.1em}
.talk-rl-list li{margin:0 0 12px;font-size:14px;line-height:1.5}
.talk-rl-list li:last-child{margin-bottom:0}
.talk-closing{
  margin:10px 0 8px;padding:18px 16px;
  border-radius:16px;
  background:linear-gradient(165deg,rgba(243,236,216,.55),rgba(238,242,236,.7));
  border:1px solid rgba(61,69,60,.08);
  font-family:'Fraunces',serif;font-size:1.15rem;font-style:italic;line-height:1.45;color:var(--green);text-align:center
}
@media (max-width:560px){
  .talk-stats{grid-template-columns:1fr}
  .talk-sec-fold+.talk-sec-fold{margin-top:20px}
}

.copy-shelf{background:var(--paper-warm);border:1.5px solid var(--sand);border-radius:14px;padding:18px 20px;margin:22px 0}
.copy-shelf.compact{margin-top:18px}
.copy-card{background:var(--white);border:1px solid var(--sand);border-radius:12px;margin-bottom:8px;overflow:hidden}
.copy-card-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;border:none;background:transparent;padding:12px 14px;font-family:inherit;cursor:pointer;text-align:left}
.copy-card-title{font-size:14px;font-weight:600;color:var(--green);line-height:1.35}
.copy-card-chev{color:var(--moss-ink);font-size:16px}
.copy-card-body{padding:0 14px 14px;border-top:1px solid var(--sand)}
.copy-card-text{margin:12px 0;font-size:13.5px;line-height:1.55;color:var(--green);white-space:pre-line}
.inline-link{position:relative;border:none;background:none;padding:0;font:inherit;color:var(--moss-ink);font-weight:700;text-decoration:underline;cursor:pointer}
/* Inline links sit in running text, so grow the hit area without disturbing line
   height. Capped at 34px: a full 44px would reach into the neighbouring line and
   swallow taps meant for the text above or below. */
.inline-link::after{content:"";position:absolute;left:0;right:0;top:50%;height:34px;transform:translateY(-50%)}

/* Persistent bottom nav — must stay a viewport child. No transform/filter:
   those on this bar or on html/body pin it to the document instead. */
.bottom-nav{
  position:fixed;
  left:0;right:0;bottom:0;
  width:100%;
  max-width:100%;
  z-index:55;
  display:flex;
  align-items:stretch;
  justify-content:space-around;
  gap:2px;
  background:var(--paper);
  border-top:1px solid var(--sand);
  transform:none;
  /* Extra bottom cushion — Android gesture nav often reports 0 safe-area and eats the center tab */
  padding:8px 4px calc(12px + max(env(safe-area-inset-bottom), 10px));
  box-shadow:0 -8px 28px rgba(61,69,60,.1);
}
.bottom-nav-btn{flex:1;max-width:140px;min-height:56px;display:grid;grid-template-rows:22px 1.15em;justify-items:center;align-content:center;gap:3px;border:none;background:transparent;color:var(--green-mid);border-radius:14px;padding:10px 4px;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:0;cursor:pointer;transition:color .1s var(--ease),background .1s var(--ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative}
/* Expand the real tap target above/below the visible label (helps Leads in the center) */
.bottom-nav-btn::before{content:"";position:absolute;left:0;right:0;top:-4px;bottom:-6px}
@media (hover:hover) and (pointer:fine){
  .bottom-nav-btn:hover{color:var(--green);background:rgba(171,176,154,.28)}
}
.bottom-nav-btn:focus{outline:none}
.bottom-nav-btn:focus-visible{outline:3px solid rgba(200,162,74,.75);outline-offset:2px}
.bottom-nav-btn:active{color:var(--green);background:rgba(171,176,154,.4)}
.bottom-nav-btn.on{color:var(--green);background:rgba(171,176,154,.45)}
.bottom-nav-btn[hidden]{display:none!important}
.bottom-nav-ico{font-size:20px;line-height:1;pointer-events:none;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:24px;height:22px;overflow:visible;grid-row:1}
/* Spiral calendar (🗓️) — the dated 📅 page is taller than 🌱💡📎 and crowds the label. */
.bottom-nav-ico-cal{overflow:hidden;font-size:20px;transform:none}
/* Envelope sits high in most fonts — nudge down so it optically centers over “Leads”. */
.bottom-nav-btn[data-tab="leads"] .bottom-nav-ico{font-size:19px;transform:translateY(2px)}
.bottom-nav-label{pointer-events:none;position:relative;z-index:1;line-height:1.15;white-space:nowrap;grid-row:2}
/* Badge via ::after — never a DOM child in the flex column (avoids Leads jumping when count loads) */
.bottom-nav-btn[data-nav-badge]::after{
  content:attr(data-nav-badge);
  position:absolute !important;
  top:6px;
  left:calc(50% + 6px);
  z-index:3;
  min-width:16px;
  height:16px;
  padding:0 4px;
  border-radius:999px;
  background:#c47a4a;
  color:#fff;
  font-size:10px;
  font-weight:700;
  line-height:16px;
  text-align:center;
  pointer-events:none;
  box-sizing:border-box;
}
/* Legacy badge nodes from older cached HTML — never let them affect layout */
.bottom-nav-badge{display:none!important}

/* Lead page inbox (in-app) */
.ground-lead-setup,.ground-custom-note{margin:16px 0 4px}
.ground-lead-steps{margin:0;padding-left:1.2em;font-size:14px;line-height:1.55;color:var(--bark)}
.ground-lead-steps li{margin:0 0 4px}
.ground-lead-steps li.is-done{color:var(--moss-ink);font-weight:600}
.ground-lead-steps li.is-done::marker{content:"✓ "}
.leads-gate{background:var(--beige);border-radius:16px;padding:18px 16px;margin:8px 0 20px}
.leads-mode-note{font-size:13px;line-height:1.45;color:var(--bark);background:#fff8e8;border:1px solid rgba(196,122,74,.35);border-radius:12px;padding:10px 12px;margin:0 0 14px}
.leads-page-lede{margin:0 0 16px}
.leads-pages-fold{
  margin:0 0 28px;border-radius:18px;overflow:hidden;
  background:linear-gradient(145deg,#f3ecd8 0%,#e8ebe3 55%,#dfe4d6 100%);
  box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s
}
@media (hover:hover) and (pointer:fine){
  .leads-pages-fold:not([open]):hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(61,69,60,.14)}
}
.leads-pages-sum{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  list-style:none;cursor:pointer;padding:14px 16px;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.leads-pages-sum::-webkit-details-marker{display:none}
.leads-pages-sum::marker{content:""}
.leads-pages-title{
  font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:500;letter-spacing:-.02em;
  color:#000;line-height:1.2;flex:1 1 auto
}
.leads-pages-go{
  display:inline-block;flex:0 0 auto;font-size:13px;font-weight:700;color:var(--ink);
  background:#fff;border-radius:999px;padding:7px 12px;white-space:nowrap
}
.leads-pages-fold[open] .leads-pages-go{background:rgba(255,255,255,.88)}
.leads-pages-body{margin:0;padding:0 14px 12px}
.leads-pages-body .leads-share-card{margin-bottom:8px}
.leads-pages-body .leads-share-card:last-child{margin-bottom:0}
.leads-pages-body .live-tag{margin-bottom:4px}
.prod-catalog-card{margin:0 0 18px}
button.prod-catalog-fold{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;margin:0;padding:14px 16px;border:none;font:inherit;text-align:left;
  cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.prod-catalog-share{
  display:inline-flex;align-items:center;margin:8px 2px 0;padding:0;
  border:none;background:transparent;color:var(--green);font:inherit;
  font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;
  text-underline-offset:2px;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
@media (hover:hover) and (pointer:fine){
  button.prod-catalog-fold:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(61,69,60,.14)}
}
.leads-grove-list-bar{
  margin-top:8px;padding:8px 12px;border-radius:14px;border:1.5px solid var(--sand);
  background:var(--white)
}
.leads-grove-list-bar:has(#leadsGroveListBtn[aria-expanded="true"]){
  border-color:var(--moss);background:#eef2ec
}
.leads-grove-list-btn{
  width:100%;margin:0;padding:2px 0;border:none;background:transparent;
  color:var(--green);font:inherit;font-size:12.5px;font-weight:600;
  display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;text-align:left
}
.leads-grove-list-label{display:inline-flex;align-items:center;gap:6px;min-width:0;line-height:1.25}
.leads-grove-ig{flex:0 0 auto;color:var(--green-mid)}
.leads-grove-list-btn .focus-shortlist-chev{width:24px;height:24px;font-size:15px;border-radius:7px}
.leads-grove-list-btn[aria-expanded="true"] .focus-shortlist-chev::before{content:"−"}
.leads-grove-team-ig{
  display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:6px 10px;
  border-radius:999px;border:1.5px solid var(--sand);background:var(--white);
  font-size:12.5px;font-weight:700;color:var(--moss-ink);text-decoration:none
}
.leads-grove-team-ig:hover{border-color:var(--moss);background:#eef2ec}
.leads-grove-list-panel{margin-top:10px;padding-top:10px;border-top:1px solid var(--sand)}
.leads-grove-toggle-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.leads-grove-toggle-row .hub-mode-btn[disabled]{opacity:.45;cursor:not-allowed}
.leads-grove-banner{
  margin:0 0 12px;padding:11px 14px;border-radius:14px;background:#eef2ec;border:1.5px solid rgba(61,90,64,.18);
  font-size:13.5px;line-height:1.45;color:var(--moss-ink);
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px
}
.leads-grove-banner p{margin:0;flex:1;min-width:0}
.leads-banner-x{
  flex:0 0 auto;width:28px;height:28px;margin:-4px -6px 0 0;border:0;background:transparent;
  color:var(--bark);font-size:22px;line-height:1;cursor:pointer;border-radius:8px
}
.leads-dup-banner{
  margin:0 0 12px;padding:12px 14px;border-radius:14px;background:#f7efe4;border:1.5px solid rgba(176,120,48,.28);
  font-size:13.5px;line-height:1.45;color:var(--moss-ink)
}
.leads-dup-banner p{margin:0}
.leads-dup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.leads-dup-combine{min-height:40px;padding:8px 14px;font-size:13.5px}
.leads-more-btn{display:block;width:100%;margin:2px 0 4px;font-size:13.5px}
.leads-card-ig{font-size:13px;color:var(--bark);margin:2px 0 0}
.leads-visitor-note{font-size:13px;line-height:1.45;color:var(--bark);margin:6px 0 0;white-space:pre-wrap}
.leads-pill.is-grove{background:#eef2ec;color:var(--moss-ink)}
.leads-pill.is-site{background:#f3eee4;color:var(--bark)}
.leads-pill.is-shelf{background:#e7efe8;color:var(--green)}
.leads-share-explain{font-size:13px;line-height:1.4;color:var(--bark);margin:0;min-width:0}
.invite-explain{font-size:13px;line-height:1.45;color:var(--bark);margin:12px 0 0;max-width:36em}
.leads-share-main{display:flex;flex-direction:column;align-items:stretch;gap:6px;overflow:visible}
.leads-share-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;width:100%;height:36px;overflow:visible;flex-wrap:nowrap}
.leads-share-main .invite-input{flex:1;min-width:160px}
#leadsShareInvite,#leadsGroveShareInvite{display:flex;align-items:center;flex:0 0 auto;height:36px;overflow:visible;margin:0;line-height:0}
#leadsShareInvite .ev-res-share,#leadsGroveShareInvite .ev-res-share{height:36px;overflow:visible}
#leadsShareInput[hidden],#leadsGroveShareInput[hidden]{display:none!important}
.leads-preview-btn{
  width:36px;height:36px;border-radius:999px;border:1.5px solid var(--sand);background:var(--white);color:var(--green-mid);
  display:grid;place-items:center;padding:0;flex-shrink:0;align-self:center;text-decoration:none;transition:all .2s
}
.leads-preview-btn[hidden]{display:none!important}
.leads-settings-btn{width:36px;height:36px;border-radius:999px;border:1.5px solid var(--sand);background:var(--white);color:var(--green-mid);display:grid;place-items:center;padding:0;cursor:pointer;flex-shrink:0;align-self:center;transition:all .2s}
.leads-settings-btn.on{border-color:var(--moss);background:#eef2ec;color:var(--green)}
@media (hover:hover) and (pointer:fine){
  .leads-preview-btn:hover,.leads-settings-btn:hover{border-color:var(--moss);background:#eef2ec;color:var(--green)}
}
.leads-page-settings{margin-top:16px;padding-top:16px;border-top:1px solid var(--sand)}
.leads-share-source{margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--sand)}
.leads-share-source[hidden]{display:none!important}
.leads-page-settings.is-custom-share .leads-share-source{margin-bottom:0;padding-bottom:0;border-bottom:none}
#leadsAppPageSettings[hidden]{display:none!important}
.leads-settings-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 8px}
.leads-slug-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.leads-slug-prefix{font-size:12px;color:var(--bark-soft);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.leads-slug-row .invite-input{flex:1;min-width:120px}
.leads-slug-msg{font-size:13px;color:var(--moss-ink);margin:6px 0 0}
.leads-slug-msg:empty{display:none}
.leads-blurb-field{display:flex;flex-direction:column;gap:8px;margin:0 0 22px}
.leads-blurb-field textarea{font:inherit;font-size:15px;border:1.5px solid var(--sand);border-radius:14px;padding:12px 14px;background:var(--white);color:var(--green);resize:vertical;min-height:72px}
.leads-inbox-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:4px 0 8px}
.leads-inbox-head .live-tag{margin:0}
.leads-filter-fold{
  margin:0 0 0 auto;border:none;border-radius:0;background:transparent;box-shadow:none;
  min-width:0
}
.leads-filter-fold[open]{flex:1 1 100%;margin-left:0}
.leads-filter-sum{
  display:flex;align-items:center;justify-content:flex-end;gap:8px;list-style:none;cursor:pointer;
  padding:6px 2px;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.leads-filter-sum::-webkit-details-marker{display:none}
.leads-filter-sum::marker{content:""}
.leads-filter-title{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.leads-filter-tease{max-width:42vw;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;line-height:1.3;color:var(--bark-soft);text-align:right}
.leads-filter-tease:empty{display:none}
.leads-filter-fold[open] .leads-filter-sum{border-bottom:none}
.leads-filter-fold .leads-filter{padding:4px 0 2px}
.leads-export-btn{display:block;width:100%;margin:4px 0 28px;font-size:13px}
.leads-search-row{display:flex;align-items:center;gap:8px;margin:0 0 12px}
.leads-search-wrap{flex:1;min-width:0;margin:0}
.leads-search{width:100%;box-sizing:border-box;border:1.5px solid var(--sand);border-radius:14px;background:var(--white);padding:10px 14px;font:inherit;font-size:15px;color:var(--green);box-shadow:var(--shadow)}
.leads-search:focus{outline:none;border-color:var(--moss)}
.leads-expand-mark{flex-shrink:0;width:28px;height:28px;border-radius:999px;border:1.5px solid rgba(61,69,60,.18);background:rgba(255,255,255,.7);color:var(--green);display:grid;place-items:center;font-size:18px;font-weight:600;line-height:1}
.leads-expand-mark::before{content:"+"}
.leads-fold[open]>.leads-fold-sum .leads-expand-mark::before{content:"−"}
.leads-filter{display:flex;flex-wrap:wrap;gap:6px}
.leads-filter-btn{border:1.5px solid var(--sand);background:var(--white);color:var(--bark);border-radius:999px;padding:10px 14px;min-height:44px;font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.leads-filter-btn.on{background:var(--green);border-color:var(--green);color:#f5f6f2}
.leads-filter-btn[data-leads-filter="hot"].on{background:#b88928;border-color:#b88928;color:#fff8e8}
.leads-filter-btn[data-leads-filter="info"].on{background:#3d5a73;border-color:#3d5a73;color:#f3f7fa}
.leads-filter-btn[data-leads-filter="joined"].on{background:#4d6a4a;border-color:#4d6a4a;color:#f5f6f2}
.leads-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.leads-empty{font-size:14px;color:var(--bark-soft);font-style:italic;margin:0;padding:8px 2px}
.leads-card{background:var(--white);border:1.5px solid var(--sand);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow);position:relative}
.leads-card:has(.leads-status-dd.is-open){z-index:4}
.leads-card.is-new{border-color:rgba(196,122,74,.45);box-shadow:inset 3px 0 0 #c47a4a,var(--shadow)}
.leads-card.is-joined{border-color:rgba(127,148,116,.5);box-shadow:inset 3px 0 0 var(--moss),var(--shadow)}
.leads-card-head{display:flex;align-items:center;gap:8px;min-width:0}
.leads-card-head-main{display:grid;gap:4px;min-width:0;flex:1}
.leads-card-more-btn{
  appearance:none;border:none;background:transparent;padding:8px;margin:-4px -6px -4px 0;
  flex-shrink:0;align-self:center;cursor:pointer;-webkit-tap-highlight-color:transparent
}
.leads-card-more-btn.is-open .leads-expand-mark::before{content:"−"}
.leads-card-rest{margin-top:8px;padding-top:8px;border-top:1px solid var(--sand)}
.leads-card-rest[hidden]{display:none!important}
.leads-card-name-row{display:flex;align-items:center;gap:8px;min-width:0}
.leads-card-name-wrap{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.leads-hot-btn{
  appearance:none;border:none;background:transparent;padding:0;margin:0 0 0 -6px;
  width:36px;height:36px;flex-shrink:0;display:grid;place-items:center;
  font-size:18px;line-height:1;cursor:pointer;border-radius:10px;
  opacity:.18;filter:grayscale(1);transform:scale(.92);
  transition:opacity .2s,filter .2s,transform .2s,background .15s;
  -webkit-tap-highlight-color:transparent
}
.leads-hot-btn:hover{background:rgba(61,69,60,.06)}
.leads-hot-btn.on{
  opacity:1;filter:none;transform:scale(1.08);
  text-shadow:0 0 10px rgba(232,120,60,.45)
}
.leads-card.is-hot{background:linear-gradient(180deg,#fff 55%,#fbf6e6)}
.leads-status-dd{position:relative;flex-shrink:0}
.leads-status-dd:not(.is-open) .leads-status-menu{display:none}
.leads-status-sum{
  appearance:none;border:none;font:inherit;
  list-style:none;cursor:pointer;display:inline-block;vertical-align:middle;
  font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  background:var(--beige);color:var(--bark);border-radius:999px;padding:5px 22px 5px 9px;
  position:relative;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.leads-status-sum::after{
  content:"";position:absolute;right:8px;top:50%;width:5px;height:5px;
  border-right:1.5px solid var(--bark);border-bottom:1.5px solid var(--bark);
  transform:translateY(-70%) rotate(45deg)
}
.leads-status-dd.is-open .leads-status-sum{
  background:var(--green);color:#f5f6f2
}
.leads-status-dd.is-open .leads-status-sum::after{
  border-color:#f5f6f2;transform:translateY(-30%) rotate(225deg)
}
.leads-status-sum.is-joined{background:#eef2ec;color:var(--green)}
.leads-status-sum.is-joined::after{border-color:var(--green)}
.leads-status-dd.is-open .leads-status-sum.is-joined{background:var(--green);color:#f5f6f2}
.leads-status-dd.is-open .leads-status-sum.is-joined::after{border-color:#f5f6f2}
.leads-status-sum.is-fb{background:#eef2ec;color:var(--green)}
.leads-status-sum.is-fb::after{border-color:var(--green)}
.leads-status-dd.is-open .leads-status-sum.is-fb{background:var(--green);color:#f5f6f2}
.leads-status-dd.is-open .leads-status-sum.is-fb::after{border-color:#f5f6f2}
.leads-filter-btn[data-leads-filter="fb"].on{background:#4d6a4a;border-color:#4d6a4a;color:#f5f6f2}
.leads-status-sum.is-quiz{background:#eef2ec;color:var(--green)}
.leads-status-dd.is-open .leads-status-sum.is-quiz{background:var(--green);color:#f5f6f2}
.leads-status-sum.is-interest{background:var(--paper-warm);color:var(--green)}
.leads-status-sum.is-interest::after{border-color:var(--green)}
.leads-status-sum.is-interest.is-empty{background:transparent;color:var(--bark-soft);box-shadow:inset 0 0 0 1.5px var(--sand);min-width:2.6em}
.leads-status-sum.is-interest.is-empty::after{border-color:var(--bark-soft)}
.leads-status-dd.is-open .leads-status-sum.is-interest{background:var(--green);color:#f5f6f2}
.leads-status-dd.is-open .leads-status-sum.is-interest::after{border-color:#f5f6f2}
.leads-interest-dd .leads-status-menu{left:0;right:auto}
.leads-manual{margin:0 0 12px}
.leads-manual-toggle{width:auto;flex:0 0 auto;align-self:center;text-align:center;padding:9px 14px;font-size:13px;white-space:nowrap}
.leads-manual-toggle.on{background:var(--paper-warm)}
.leads-manual-form{margin-top:0;padding:14px;border:1.5px solid var(--sand);border-radius:14px;background:var(--white);display:grid;gap:10px}
.leads-manual-form[hidden]{display:none!important}
.leads-manual-lead{margin:0;font-size:13.5px;line-height:1.45;color:var(--bark)}
.leads-manual-input{width:100%;box-sizing:border-box;font:inherit;font-size:15px;border:1.5px solid var(--sand);border-radius:12px;padding:11px 12px;background:var(--paper);color:var(--green)}
.leads-manual-input:focus{outline:none;border-color:var(--moss);background:var(--white)}
.leads-manual-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.leads-manual-lane{display:flex;flex-wrap:wrap;gap:6px}
.leads-manual-lane-btn{appearance:none;border:1.5px solid var(--sand);background:var(--white);color:var(--bark);border-radius:999px;padding:7px 12px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.leads-manual-lane-btn.on{background:var(--green);border-color:var(--green);color:#f5f6f2}
.leads-manual-save{width:100%}
.leads-manual-hint{margin:0;font-size:12.5px;line-height:1.4;color:var(--bark-soft)}
.lead-follow-tune{margin-top:10px}
.leads-card.is-focus{box-shadow:0 0 0 2px var(--gold),var(--shadow)}
.dream-tree-import{width:100%;margin-top:12px;text-align:center}
.leads-status-menu{
  position:absolute;right:0;top:calc(100% + 6px);z-index:8;
  min-width:188px;padding:6px;display:grid;gap:2px;
  background:var(--white);border:1.5px solid var(--sand);border-radius:12px;
  box-shadow:0 10px 28px rgba(61,69,60,.16)
}
.leads-status-opt{
  appearance:none;border:none;background:transparent;width:100%;text-align:left;
  font:inherit;font-size:13px;font-weight:600;color:var(--green);
  padding:9px 10px;border-radius:8px;cursor:pointer
}
.leads-status-opt:hover{background:#eef2ec}
.leads-status-opt.on{background:var(--paper-warm);color:var(--green)}
.leads-card-name{font-family:'Fraunces',serif;font-size:19px;font-weight:500;color:var(--green);line-height:1.2;min-width:0;overflow-wrap:anywhere}
.leads-name-edit-btn{
  appearance:none;border:none;background:none;padding:0;margin:0 0 2px;
  font:inherit;font-size:12px;font-weight:700;line-height:1.2;color:var(--moss-ink);cursor:pointer;
  text-decoration:underline;text-underline-offset:2px;flex-shrink:0
}
.leads-name-edit-btn:hover{color:var(--green)}
.leads-name-edit-btn.is-delete{color:var(--bark-soft)}
.leads-name-edit-btn.is-delete:hover{color:#a4462f}
.leads-action.is-delete:hover{color:#a4462f;border-color:rgba(164,70,47,.35);background:#f8efec}
.leads-name-edit{display:grid;gap:8px;flex:1;width:auto;min-width:0}
.leads-name-input{
  width:100%;box-sizing:border-box;font-family:'Fraunces',serif;font-size:18px;font-weight:500;
  line-height:1.25;border:1.5px solid var(--sand);border-radius:12px;padding:10px 12px;
  background:var(--white);color:var(--green)
}
.leads-name-input:focus{outline:none;border-color:var(--moss)}
.leads-name-edit-actions{display:flex;flex-wrap:wrap;gap:8px}
.leads-card-tags-below{display:flex;flex-wrap:wrap;gap:6px;margin-top:0;max-width:100%;justify-content:flex-start}
.leads-card-mid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(8.2em,max-content);
  gap:4px 10px;
  align-items:center
}
.leads-card-mid.is-invite-only{grid-template-columns:1fr}
.leads-card-contact{display:grid;gap:1px;min-width:0}
.leads-card-meta-line{font-size:12.5px;color:var(--bark);line-height:1.35;word-break:break-word}
.leads-card-invite{justify-self:end;width:auto;max-width:12.5em}
.leads-card-mid.is-invite-only .leads-card-invite{max-width:min(280px,100%)}
.leads-card-tags{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:5px;flex-shrink:0;max-width:100%}
.leads-pill{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--paper-warm);color:var(--green);border-radius:999px;padding:5px 9px;white-space:nowrap}
.leads-pill.soft{background:var(--beige);color:var(--bark)}
.leads-card-when{font-size:11.5px;color:var(--bark-soft);letter-spacing:.02em;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 2px;margin-top:2px}
.leads-info-chip{
  appearance:none;border:none;background:transparent;padding:0;margin:0;
  font:inherit;font-size:11.5px;font-weight:700;letter-spacing:.02em;
  color:#9a7a2e;cursor:pointer;text-decoration:none;
  -webkit-tap-highlight-color:transparent
}
.leads-info-chip.is-attended{color:#6e5420}
.leads-info-chip:hover,.leads-info-chip:focus-visible{text-decoration:underline;text-underline-offset:2px}
.leads-info-invite{
  appearance:none;width:100%;margin:10px 0 0;padding:9px 11px;
  display:flex;align-items:center;gap:10px;text-align:left;
  border:1.5px dashed rgba(61,90,115,.28);border-radius:12px;
  background:rgba(61,90,115,.06);color:var(--green);
  font:inherit;font-size:13px;font-weight:600;cursor:pointer;
  -webkit-tap-highlight-color:transparent
}
.leads-info-invite.is-side{
  width:auto;max-width:100%;margin:0;padding:7px 9px;
  font-size:12px;line-height:1.3;gap:8px;white-space:normal
}
.leads-info-invite.is-side .leads-info-invite-mark{width:16px;height:16px}
.leads-info-invite.is-side.is-on .leads-info-invite-mark::after{left:4px;top:1px;width:4px;height:8px}
.leads-info-invite-mark{
  flex-shrink:0;width:18px;height:18px;border-radius:999px;
  border:1.5px solid rgba(61,90,115,.4);background:transparent;
  position:relative
}
.leads-info-invite.is-on{
  border-style:solid;border-color:rgba(61,90,115,.45);background:rgba(61,90,115,.12)
}
.leads-info-invite.is-on .leads-info-invite-mark{
  background:#3d5a73;border-color:#3d5a73
}
.leads-info-invite.is-on .leads-info-invite-mark::after{
  content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(40deg)
}
.leads-fold{margin:10px 0 0;border:1px solid rgba(61,69,60,.12);border-radius:12px;background:var(--paper);overflow:hidden}
.leads-fold[open]{overflow:visible}
.leads-fold:not([open]) > .leads-fold-body{display:none!important}
/* summary must stay display:block. Flex on <summary> makes Safari stretch it
   over the fold body, so tapping the notes field toggles it shut. */
.leads-fold-sum{list-style:none;cursor:pointer;display:block;padding:0;position:relative;z-index:0}
.leads-fold-sum::-webkit-details-marker,.leads-fold-sum::marker{display:none;content:""}
.leads-fold-sum-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px}
.leads-fold-title{font-size:14px;font-weight:600;color:var(--green);line-height:1.3;min-width:0}
.leads-fold-body{padding:0 10px 10px;position:relative;z-index:1}
.leads-coach{margin:0;padding:12px;border-radius:10px;background:linear-gradient(160deg,#f3ecd8 0%,#eef2ec 70%);border:1px solid rgba(61,69,60,.08)}
.leads-opener{margin:0;font-size:14px;line-height:1.5;color:var(--green);font-family:'Fraunces',serif;font-weight:500}
.leads-reach{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.leads-reach-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 13px;border-radius:999px;border:1.5px solid var(--sand);background:var(--white);color:var(--green);font:inherit;font-size:12.5px;font-weight:700;text-decoration:none;cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.leads-reach-btn:hover{border-color:var(--moss);background:#eef2ec}
.leads-reach-btn.is-primary{background:var(--green);border-color:var(--green);color:#f5f6f2}
.leads-reach-btn.is-primary:hover{background:#243028;border-color:#243028;color:#fff}
.leads-reach-btn.is-quiet{background:transparent;border-color:transparent;color:var(--bark);font-weight:600}
.leads-reach-btn.is-quiet:hover{background:rgba(255,255,255,.55);border-color:var(--sand)}
.leads-deeper{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:10px}
.leads-deep-link{appearance:none;border:none;background:none;padding:0;font:inherit;font-size:12.5px;font-weight:700;color:var(--moss-ink);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.leads-deep-link:hover{color:var(--green)}
.leads-notes{margin:0;display:grid;gap:6px}
.leads-notes-input{width:100%;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.45;border:1.5px solid var(--sand);border-radius:12px;padding:10px 12px;background:var(--white);color:var(--green);resize:vertical;min-height:64px}
.leads-notes-input:focus{outline:none;border-color:var(--moss)}
.leads-notes-status{margin:0;font-size:12px;color:var(--moss-ink);min-height:16px}
.leads-follow-row{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin:6px 0 0;padding:6px 2px 2px;
  border:none;background:transparent
}
.leads-follow-row .s-txt{gap:1px}
.leads-follow-row .s-txt strong{font-size:12.5px;font-weight:600}
.leads-follow-row .s-txt span{font-size:11.5px;line-height:1.3;color:var(--bark-soft)}
.leads-follow-row .switch{width:38px;height:22px}
.leads-follow-row .switch::after{width:16px;height:16px;top:3px;left:3px}
.leads-follow-row .switch:checked::after{transform:translateX(16px)}
.lead-follow-bulk{gap:8px}
.lead-follow-bulk .btn-ghost{flex:1;justify-content:center;text-align:center}
.leads-card-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--sand)}
.leads-action{appearance:none;font:inherit;font-size:12.5px;font-weight:700;line-height:1.2;border:1.5px solid var(--sand);background:var(--paper);color:var(--green-soft);border-radius:12px;padding:9px 8px;cursor:pointer;text-align:center;transition:border-color .15s,background .15s,color .15s}
.leads-action:hover{border-color:var(--moss);color:var(--green);background:#eef2ec}
.leads-action.is-primary{background:var(--green);border-color:var(--green);color:#f5f6f2}
.leads-action.is-primary:hover{background:#243028;border-color:#243028;color:#fff}
.leads-action.is-quiet{background:transparent;border-color:transparent;color:var(--bark-soft);font-weight:600}
.leads-action.is-quiet:hover{background:var(--beige);border-color:var(--sand);color:var(--bark)}
.leads-card-actions:has(> :only-child){grid-template-columns:1fr}
.leads-card-actions:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}

.ideal-leads{margin:0 0 28px}
.ideal-leads-sum{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.ideal-leads-sum::-webkit-details-marker{display:none}
.ideal-leads-sum::marker{content:""}
.ideal-leads-sum .live-tag{margin:0}
.ideal-leads-tease{flex:1;min-width:0;font-size:13.5px;line-height:1.4;color:var(--bark-soft);text-align:right}
.ideal-leads-tease:empty{display:none}
.ideal-leads-body{margin-top:14px}
.ideal-leads-lead{margin:0 0 14px;font-size:14px;line-height:1.5;color:var(--bark)}
.ideal-leads-add{display:grid;gap:10px;margin:0 0 14px}
.ideal-leads-input{width:100%;box-sizing:border-box;font:inherit;font-size:15px;border:1.5px solid var(--sand);border-radius:12px;padding:11px 12px;background:var(--white);color:var(--green)}
.ideal-leads-input:focus{outline:none;border-color:var(--moss)}
.ideal-leads-lane{display:flex;flex-wrap:wrap;gap:8px}
.ideal-leads-lane-btn{appearance:none;font:inherit;font-size:12.5px;font-weight:700;border:1.5px solid var(--sand);background:var(--white);color:var(--bark);border-radius:999px;padding:7px 12px;cursor:pointer}
.ideal-leads-lane-btn.on{background:var(--green);border-color:var(--green);color:#f5f6f2}
.ideal-leads-add-btn{width:100%}
.ideal-leads-list{display:grid;gap:10px}
.ideal-lead-row{display:grid;gap:10px;padding:12px;border:1.5px solid rgba(61,69,60,.12);border-radius:12px;background:var(--white);position:relative}
.ideal-lead-row:has(.leads-status-dd.is-open){z-index:4}
.ideal-lead-row.is-inbox{border-color:rgba(61,69,60,.28);box-shadow:inset 0 0 0 1px rgba(171,176,154,.35)}
.ideal-lead-name{font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:var(--ink);line-height:1.25}
.ideal-lead-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.ideal-lead-lane,.ideal-lead-inbox{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px}
.ideal-lead-lane{background:#eef2ec;color:var(--green-soft)}
.ideal-lead-lane-dd{position:relative}
.ideal-lead-lane-sum{
  appearance:none;border:none;font:inherit;
  list-style:none;cursor:pointer;display:inline-block;vertical-align:middle;
  font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  background:#eef2ec;color:var(--green-soft);border-radius:999px;padding:3px 20px 3px 8px;
  position:relative;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.ideal-lead-lane-sum::after{
  content:"";position:absolute;right:8px;top:50%;width:5px;height:5px;
  border-right:1.5px solid var(--green-soft);border-bottom:1.5px solid var(--green-soft);
  transform:translateY(-70%) rotate(45deg)
}
.ideal-lead-lane-dd.is-open .ideal-lead-lane-sum{background:var(--green);color:#f5f6f2}
.ideal-lead-lane-dd.is-open .ideal-lead-lane-sum::after{
  border-color:#f5f6f2;transform:translateY(-30%) rotate(225deg)
}
.ideal-lead-lane-dd .leads-status-menu{left:0;right:auto}
.ideal-lead-inbox{background:#e7efd8;color:var(--green)}
.ideal-lead-statuses{display:flex;flex-wrap:wrap;gap:6px}
.ideal-lead-status{appearance:none;font:inherit;font-size:12px;font-weight:700;border:1.5px solid var(--sand);background:var(--paper);color:var(--bark);border-radius:999px;padding:6px 10px;cursor:pointer}
.ideal-lead-status.on{background:var(--green);border-color:var(--green);color:#f5f6f2}
.ideal-lead-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}

.home-find-blurb{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#eef2ec;border:1px solid rgba(61,69,60,.1);font-size:13.5px;line-height:1.5;color:var(--bark)}
.home-find-blurb strong{color:var(--green);font-weight:700}

.quiz-guide{max-width:720px}
.quiz-hero{
  margin:0 0 22px;padding:22px 20px 18px;border-radius:18px;
  background:linear-gradient(145deg,#f3ecd8 0%,#e8ebe3 55%,#dfe4d6 100%);
  box-shadow:var(--shadow)
}
.quiz-hero-eyebrow{
  display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink);background:rgba(255,255,255,.65);border-radius:999px;padding:4px 9px;margin-bottom:10px
}
.quiz-hero-title{font-family:'Fraunces',serif;font-size:28px;font-weight:500;color:#000;line-height:1.15;margin:0 0 8px}
.quiz-hero-sub{font-size:15px;line-height:1.45;color:rgba(0,0,0,.78);margin:0 0 12px;font-weight:600}
.quiz-hero-lede,.quiz-hero-note{font-size:14px;line-height:1.5;color:rgba(0,0,0,.72);margin:0 0 10px;max-width:38em}
.quiz-hero-note{margin-bottom:0}
.quiz-hero-actions{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;height:36px;overflow:visible;flex-wrap:nowrap;margin:16px 0 0
}
#quizShareInvite{display:flex;align-items:center;flex:0 0 auto;height:36px;overflow:visible;margin:0;line-height:0}
#quizShareInvite .ev-res-share{height:36px;overflow:visible}
#quizShareInput[hidden]{display:none!important}
.quiz-hero-hint{font-size:12.5px;line-height:1.45;color:rgba(0,0,0,.62);margin:12px 0 0;text-align:center;max-width:34em;margin-left:auto;margin-right:auto}
.quiz-share-guide{margin:0 0 22px}
.quiz-share-warn{margin:0 0 12px}
.quiz-share-label{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#8a6a3a}
.quiz-share-label + .quiz-guide-list{margin-bottom:0}
.quiz-guide-card{margin:18px 0}
.quiz-guide-list{margin:0;padding-left:1.15em;font-size:14.5px;line-height:1.5;color:var(--bark)}
.quiz-guide-list li{margin:0 0 6px}
.quiz-guide-steps{margin:0 0 14px;padding-left:1.2em;font-size:14.5px;line-height:1.55;color:var(--bark)}
.quiz-guide-steps li{margin:0 0 8px}
.quiz-section{
  margin:0 0 16px;padding:16px 16px 14px;border-radius:16px;
  background:var(--white);border:1.5px solid var(--sand);box-shadow:var(--shadow)
}
.quiz-section .live-tag{margin-bottom:10px}
.quiz-section-soon{background:linear-gradient(180deg,#fffef9,#fff);border-color:rgba(217,169,63,.35)}
.quiz-talk-cta{margin:4px 0 18px}
.quiz-guide-card .btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.talk-cross-link{margin:10px 0 0}

.brand-stack{display:inline-block;max-width:100%;vertical-align:top}
.brand-eyebrow{
  display:block;width:0;min-width:100%;box-sizing:border-box;
  font-size:13px;letter-spacing:0;color:var(--ink);font-weight:700;opacity:.85;line-height:1.3;
  margin:0 0 8px;padding:0;white-space:nowrap;overflow:hidden;text-align:center
}
.brand-title{font-family:'Fraunces',serif;font-size:30px;color:#000;font-weight:600;line-height:1.2;margin:0;display:inline-block;background:var(--beige);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding:.12em .32em;border-radius:6px;box-shadow:0 1px 0 rgba(61,69,60,.06)}
.brand-sub{font-size:13px;color:var(--ink);margin-top:12px;line-height:1.55;max-width:18em;opacity:.9}
.plantbox{height:240px;margin:0 auto;max-width:220px;width:100%;position:relative}
.plantbox.roots-pulse{animation:plantBoxRoots .9s var(--ease)}
.plantbox.sprout-pulse{animation:plantBoxSprout 1s var(--ease)}
.plantbox.roots-pulse .plant-roots,
.plantbox.roots-pulse .root-strand{animation:rootsGlow .9s var(--ease)}
.plantbox.sprout-pulse .plant-sprout{animation:sproutGlow 1s var(--ease)}
@keyframes plantBoxRoots{
  0%,100%{filter:none}
  40%{filter:drop-shadow(0 8px 14px rgba(232,200,106,.35))}
}
@keyframes plantBoxSprout{
  0%,100%{transform:scale(1);filter:none}
  40%{transform:scale(1.04);filter:drop-shadow(0 -6px 16px rgba(123,160,123,.4))}
}
@keyframes rootsGlow{
  0%{opacity:.7}
  40%{opacity:1;filter:brightness(1.45)}
  100%{opacity:1;filter:none}
}
@keyframes sproutGlow{
  0%{opacity:.85}
  40%{opacity:1;filter:brightness(1.3)}
  100%{opacity:1;filter:none}
}
.home-plant-zone{display:grid;grid-template-columns:minmax(160px,230px) 1fr;gap:18px 24px;align-items:center;background:
  radial-gradient(ellipse 90% 70% at 22% 78%,rgba(232,200,106,.18) 0%,transparent 55%),
  radial-gradient(ellipse 70% 50% at 70% 20%,rgba(245,246,242,.12) 0%,transparent 50%),
  linear-gradient(165deg,var(--rail-deep) 0%,var(--moss) 55%,var(--moss-light) 100%);border-radius:20px;padding:22px 24px;margin:0 0 22px;box-shadow:var(--shadow)}
.home-plantbox{height:230px;max-width:210px;margin:0 auto;filter:drop-shadow(0 10px 18px rgba(20,32,24,.22))}
.home-plant-meta{min-width:0}
.train-stats{display:flex;gap:8px;margin:0 0 10px;flex-wrap:wrap}
.train-stat{font-size:12px;font-weight:700;letter-spacing:.03em;color:var(--green);background:rgba(245,246,242,.55);border:1px solid rgba(61,69,60,.12);border-radius:20px;padding:5px 11px}
.train-stat em{font-style:normal;color:#8a6a18;margin-right:4px}
.plant-caption{font-size:14.5px;color:var(--green);margin-bottom:10px;min-height:36px;line-height:1.45;transition:color .3s}
.plant-caption.highlight{color:#8a6a18}
.progress-meta{display:flex;justify-content:space-between;align-items:center;margin:0 0 5px;gap:10px}
.progress-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-mid)}
.progress-track{height:6px;background:rgba(61,69,60,.18);border-radius:4px;overflow:hidden;margin:0}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--green-mid),var(--gold));border-radius:4px;width:0%;transition:width .7s var(--ease)}
.home-runway{margin:0 0 8px}
.home-runway-strip{display:flex;flex-direction:column;gap:0;padding:0;margin:0}
.home-step{display:flex;align-items:flex-start;gap:14px;width:100%;text-align:left;border:none;border-bottom:1px solid var(--sand);background:transparent;padding:14px 4px;font-family:inherit;cursor:pointer;transition:background .12s var(--ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.home-step:first-child{border-top:1px solid var(--sand)}
.home-step:hover{background:rgba(171,176,154,.12)}
.home-step.next{background:rgba(171,176,154,.22)}
.home-step.done .home-step-num{background:var(--ink);border-color:var(--ink);color:var(--beige)}
.home-step.locked{opacity:.55;cursor:default}
.home-step-num{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--sand);background:var(--white);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--green);margin-top:2px}
.home-step.next .home-step-num{border-color:var(--ink);background:var(--ink);color:var(--beige)}
.home-step-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.home-step-label{font-size:15px;font-weight:700;color:var(--green);line-height:1.25}
.home-step-sub{font-size:13.5px;color:var(--bark);line-height:1.4}
.home-step-status{font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--moss-ink);margin-top:4px}
.home-step.next .home-step-status{color:var(--ink)}
.home-step.done .home-step-status{color:var(--moss-ink)}
.home-chip{flex:0 0 auto;min-width:108px;max-width:140px;border:1.5px solid var(--sand);background:var(--white);border-radius:14px;padding:12px 12px 10px;text-align:left;font-family:inherit;cursor:pointer;transition:border-color .12s var(--ease),background .12s var(--ease),transform .12s var(--ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.home-chip:hover{border-color:var(--moss)}
.home-chip.on{border-color:var(--moss);background:#eef2ec;box-shadow:var(--shadow)}
.home-chip.done{border-color:rgba(107,143,107,.45)}
.home-chip.locked{opacity:.55;cursor:default}
.home-chip-num{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink);margin-bottom:4px}
.home-chip-label{display:block;font-size:13px;font-weight:700;color:var(--green);line-height:1.25}
.home-chip-sub{display:block;font-size:11.5px;color:var(--bark);margin-top:3px;line-height:1.3}
.know-faq-jump{display:flex;flex-direction:column;gap:2px;text-decoration:none;background:linear-gradient(135deg,#fbf6e6,#eef2ec);border:1.5px solid var(--gold);border-radius:14px;padding:14px 16px;margin:0 0 18px;transition:transform .12s var(--ease),box-shadow .12s var(--ease);-webkit-tap-highlight-color:transparent}
.know-faq-jump:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.know-faq-jump-title{font-size:15px;font-weight:700;color:var(--green)}
.know-faq-jump-sub{font-size:12.5px;color:var(--bark);line-height:1.4}
.nav{display:flex;flex-direction:column;gap:3px;flex:1}
.nav-item{display:flex;align-items:center;gap:12px;background:transparent;border:none;border-radius:11px;padding:10px 11px;text-align:left;transition:background .2s;width:100%}
.nav-item:hover{background:rgba(243,236,216,.45)}
.nav-item.active{background:var(--beige);box-shadow:0 1px 0 rgba(61,69,60,.06)}
.nav-dot{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(17,19,17,.28);color:var(--ink);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .3s;background:rgba(243,236,216,.35)}
.nav-item.active .nav-dot{border-color:var(--ink);background:var(--white)}
.nav-item.done .nav-dot{background:var(--ink);border-color:var(--ink);color:var(--beige)}
.nav-label{display:block;font-size:13.5px;font-weight:700;color:#000}
.nav-sub{display:block;font-size:11.5px;color:rgba(0,0,0,.62)}
.nav-item:not(.locked):not(.active) .nav-label{background:rgba(243,236,216,.7);padding:.12em .35em;border-radius:5px;display:inline-block;margin-top:1px;box-shadow:0 1px 0 rgba(61,69,60,.05)}
.nav-item.active .nav-label{color:#000;background:none;padding:0}
.nav-item.locked{opacity:.78}
.nav-item.locked .nav-dot{border-style:dashed;color:rgba(17,19,17,.45);background:transparent;font-size:11px}
.nav-item.locked .nav-label{color:rgba(0,0,0,.5);font-weight:600;background:none;padding:0}
.nav-item.locked .nav-sub{color:rgba(0,0,0,.4)}

.hub-menu{position:fixed;inset:0;z-index:80;display:flex;justify-content:flex-start}
.hub-menu[hidden]{display:none!important}
.hub-menu-backdrop{position:absolute;inset:0;border:none;background:rgba(61,69,60,.45);cursor:pointer}
.hub-menu-panel{position:relative;z-index:1;width:min(380px,92vw);height:100%;background:var(--paper);padding:0;overflow:hidden;display:flex;flex-direction:column;box-shadow:8px 0 40px rgba(61,69,60,.2);animation:menuSlide .2s var(--ease)}
@keyframes menuSlide{from{transform:translateX(-18px);opacity:.6}to{transform:none;opacity:1}}
.hub-menu-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-shrink:0;padding:22px 24px 0}
.hub-menu-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--moss-ink)}
.hub-menu-head h2{font-family:'Fraunces',serif;font-size:26px;font-weight:500;color:var(--green);margin:2px 0 0;line-height:1.1}
.hub-menu-close{position:relative;border:none;background:transparent;font-size:28px;line-height:1;color:var(--bark-soft);cursor:pointer;padding:0 4px}
.hub-menu-close::after{content:"";position:absolute;inset:-8px}
.hub-menu-sync{font-size:12.5px;color:var(--bark);margin:4px 0 8px;padding:0 24px;flex-shrink:0;line-height:1.4}
.hub-menu-scroll{flex:1;min-height:0;overflow-y:auto;padding:4px 24px 24px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.hub-menu-sync .is-error{color:#8a4b2a;font-weight:600}
.sync-banner{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:0 0 12px;padding:10px 12px;border-radius:12px;
  background:#fbf0d4;border:1.5px solid var(--gold);color:#7a5f1e;
  font-size:13px;font-weight:600;line-height:1.4;
}
.sync-banner[hidden]{display:none!important}
.sync-banner-retry{
  appearance:none;border:1.5px solid rgba(122,95,30,.35);background:var(--white);
  color:#7a5f1e;border-radius:999px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;
}
.sync-banner-x{
  position:relative;margin-left:auto;appearance:none;border:none;background:transparent;color:#7a5f1e;
  font-size:22px;line-height:1;cursor:pointer;padding:0 4px;
}
.sync-banner-x::after{content:"";position:absolute;inset:-10px}
.hub-menu-section{margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid var(--sand)}
.hub-menu-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.hub-menu-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bark-soft);margin-bottom:10px}
.hub-menu-note{font-size:13.5px;color:var(--bark);line-height:1.5;margin:0 0 10px}
.hub-set{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;margin:0 0 6px;overflow:hidden;box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 4px 14px rgba(61,69,60,.05);transition:border-color .2s,box-shadow .2s}
.hub-set[hidden]{display:none!important}
.hub-set[open]{border-color:rgba(171,176,154,.7);box-shadow:0 6px 20px rgba(61,69,60,.08)}
.hub-set-sum{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:10px 12px;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
@media (hover:hover) and (pointer:fine){
  .hub-set-sum:hover{background:rgba(245,246,242,.7)}
}
.hub-set-sum::-webkit-details-marker{display:none}
.hub-set-sum::marker{content:""}
.hub-set-ico{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;font-size:18px;line-height:1;background:#e8ece3}
.hub-set[data-set="share"] .hub-set-ico{background:#f3ecd8}
.hub-set[data-set="preview"] .hub-set-ico{background:#ece6d4}
.hub-set[data-set="notify"] .hub-set-ico{background:#efe6d2}
.hub-set[data-set="prefs"] .hub-set-ico{background:#e4ebe4}
.hub-set[data-set="answers"] .hub-set-ico{background:#f0e8d8}
.hub-set[data-set="help"] .hub-set-ico{background:#e7ebe2}

.hub-unlock{margin:12px 0 4px;padding:12px 14px 14px;background:var(--white);border:1.5px solid var(--sand);border-radius:14px;box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 4px 14px rgba(61,69,60,.05)}
.hub-unlock[hidden]{display:none!important}
.hub-unlock-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.hub-unlock .hub-set-ico{background:#efe4d4}
.hub-unlock .hub-menu-note{margin-bottom:8px;font-size:13px;line-height:1.4}
.hub-unlock .invite-input{margin:0 0 8px}
.hub-unlock .field-label{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 6px}
#createUnlockResult{margin-top:12px}
#createUnlockMsg.is-error,#unlockCodeMsg.is-error{color:#8a4a3a;font-weight:600}
.hub-set-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}
.hub-set-title{font-family:'Fraunces',serif;font-size:16px;font-weight:500;color:var(--green);line-height:1.2}
.hub-set-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px 8px}
.hub-leader-chip{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  border-radius:999px;padding:3px 8px 3px 6px;line-height:1.2;white-space:nowrap;
  background:#fbf6e6;color:#8a6a3a;border:1px solid rgba(196,154,60,.4)
}
.hub-leader-chip span{font-size:11px;line-height:1}
.hub-set-sub{font-size:12px;color:var(--bark);line-height:1.3}
.hub-set-you-blurb{display:block;min-width:0}
.hub-set-you-blurb #settingsYouBlurb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}
.hub-set-you-auth-block{margin-top:2px;padding-top:14px;border-top:1px solid var(--sand)}
.hub-set-you-auth{display:block;width:100%;text-align:center;box-sizing:border-box}
.hub-set-chev{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--sand);position:relative}
.hub-set-chev::before,.hub-set-chev::after{content:"";position:absolute;background:var(--moss);left:50%;top:50%;transform:translate(-50%,-50%)}
.hub-set-chev::before{width:10px;height:1.5px}
.hub-set-chev::after{width:1.5px;height:10px}
.hub-set[open] .hub-set-chev::after{display:none}
.hub-set-body{display:flex;flex-direction:column;gap:18px;padding:14px 16px 16px;border-top:1px solid var(--sand);background:linear-gradient(180deg,rgba(245,246,242,.7),rgba(245,246,242,.35))}
.hub-set-block{min-width:0}
.hub-set-block[hidden]{display:none!important}
.hub-set-block.invite-block{margin:0}
.hub-set-body .hub-menu-label{color:var(--moss-ink);margin-bottom:8px}
.hub-set-body .setting-row:first-of-type{padding-top:10px}
.hub-set-body .hub-menu-foot{margin:0;padding:0;border:none}
#settingsLeadShareWrap{margin-top:14px;padding-top:14px;border-top:1px solid var(--sand)}
.hub-mode-row{display:flex;gap:8px;margin-bottom:8px}
.hub-mode-btn{flex:1;border:1.5px solid var(--sand);border-radius:12px;padding:12px 10px;background:var(--white);font-family:inherit;font-size:13px;font-weight:600;color:var(--green-mid);cursor:pointer;transition:border-color .12s var(--ease),background .12s var(--ease),color .12s var(--ease),transform .12s var(--ease);line-height:1.25;-webkit-tap-highlight-color:transparent}
.hub-mode-btn:hover{border-color:var(--moss)}
.hub-mode-btn.on{background:var(--green);border-color:var(--green);color:#fff}
.hub-mode-hint{font-size:12.5px;color:var(--bark);line-height:1.45;margin:0}
.hub-menu-tools{display:flex;flex-direction:column;gap:8px}
.hub-menu-tool{display:block;width:100%;text-align:left;border:1.5px solid var(--sand);background:var(--white);border-radius:14px;padding:14px 16px;font-family:inherit;cursor:pointer;transition:all .2s}
.hub-menu-tool:hover{border-color:var(--moss);background:#eef2ec}
.hub-menu-tool-title{display:block;font-size:15px;font-weight:700;color:var(--green)}
.hub-menu-tool-sub{display:block;font-size:12.5px;color:var(--bark);margin-top:3px;line-height:1.4}
.hub-menu-actions{display:flex;flex-direction:column;gap:8px}
.hub-menu-actions .btn-ghost{width:100%;justify-content:center}
.hub-menu-foot{border-bottom:none;margin-bottom:0;padding-bottom:0}
.hub-menu-foot .hub-menu-note{font-size:12.5px;color:var(--bark-soft);line-height:1.55;margin:0}
.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--sand)}
.setting-row[hidden]{display:none!important}
.setting-row:last-child{border-bottom:none;padding-bottom:0}
.s-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.s-txt strong{font-size:14px;color:var(--green);font-weight:700}
.s-txt span{font-size:12.5px;color:var(--bark);line-height:1.4}
.switch{appearance:none;-webkit-appearance:none;width:44px;height:26px;flex-shrink:0;border-radius:999px;background:#d5cbb6;border:none;position:relative;cursor:pointer;transition:background .2s}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(61,69,60,.2);transition:transform .2s}
.switch:checked{background:var(--moss)}
.switch:checked::after{transform:translateX(18px)}
.switch:focus-visible{outline:2px solid var(--moss);outline-offset:2px}
.hub-mode-btn:disabled{opacity:.45;cursor:default}
.hub-mode-row.tight{flex-wrap:wrap}
.hub-mode-row.tight .hub-mode-btn{padding:10px 8px;font-size:12px}
.push-status{font-size:13px;font-weight:600;color:var(--moss-ink);line-height:1.4;margin:0 0 10px}
.push-status.off{color:var(--bark);font-weight:500}
#pushSettingsMsg.is-error{color:#8a4a3a}

.growth-moment{position:fixed;inset:0;z-index:95;display:none;align-items:center;justify-content:center;padding:24px;background:rgba(40,52,44,.58);backdrop-filter:blur(4px)}
.growth-moment.open{display:flex;animation:fadeOverlay .3s var(--ease)}
.growth-moment[hidden]{display:none!important}
.growth-moment-hit{position:absolute;inset:0;border:none;background:transparent;cursor:pointer}
.growth-moment-card{position:relative;z-index:1;background:var(--paper);border-radius:20px;padding:22px 22px 18px;max-width:320px;width:100%;text-align:center;box-shadow:0 18px 50px rgba(10,20,14,.35);border:1px solid rgba(107,143,107,.25);animation:fadeUp .4s var(--ease);overflow:hidden}
.growth-moment.is-join .growth-moment-card{max-width:360px}
.moment-plantbox{height:200px;max-width:170px;margin:0 auto 8px;background:linear-gradient(165deg,var(--rail-deep) 0%,var(--moss) 55%,var(--moss-light) 100%);border-radius:18px;padding:8px}
.growth-moment.is-join .moment-plantbox{max-width:220px;height:200px}
.growth-moment-msg{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:500;color:var(--green);margin:8px 0 6px;line-height:1.3}
.growth-moment-hint{font-size:11px;color:var(--bark-soft);margin:0;letter-spacing:.02em}
.growth-moment-tip{font-size:12px;line-height:1.4;color:var(--green-mid);margin:10px 0 0;padding-top:10px;border-top:1px solid var(--sand)}
.growth-moment-tip[hidden]{display:none!important}
.growth-toast{position:fixed;left:0;right:0;bottom:calc(88px + env(safe-area-inset-bottom));margin:0 auto;z-index:92;width:min(360px,calc(100vw - 24px));background:var(--green);color:var(--paper);border-radius:14px;padding:12px 16px;font-size:13.5px;font-weight:600;text-align:center;box-shadow:0 10px 28px rgba(61,69,60,.28);animation:fadeUp .3s var(--ease)}
.growth-toast[hidden]{display:none!important}
.term-list{display:flex;flex-direction:column;gap:8px}
.term-item{background:var(--white);border:1.5px solid var(--sand);border-radius:12px;padding:12px 14px}
.term-name{display:block;font-family:'Fraunces',serif;font-size:15px;font-weight:600;color:var(--green);margin:0 0 4px}
.term-def{display:block;font-size:12.5px;line-height:1.5;color:var(--bark);margin:0}
.danger-ghost{color:#8a4a3a!important;border-color:#e2c4bc!important}
.danger-ghost:hover{background:#faf0ed!important}

/* Mode-gated content */
body:not(.mode-full) .full-only{display:none!important}
/* Keep Calendar visible in Evergreen even when Soft start hides .full-only.
   Must stay grid — flex was laying the icon beside the label. */
body.pack-evergreen .bottom-nav-btn.pack-cal{display:grid!important}
/* Grove Soft start hid Calendar, so team zooms only lived on the banner.
   Team dates need the same door Evergreen already has. */
body.pack-grove.mode-starter .bottom-nav-btn.pack-cal{display:grid!important}
body.pack-grove .evergreen-only{display:none!important}
body.pack-evergreen .grove-only{display:none!important}
/* Safari: flex/grid on <summary> can toggle twice when the tap lands on a child. */
details > summary > *{pointer-events:none}
#evTeamLeadersJoinCard[hidden]{display:none!important}
body:not(.is-org-leader) .leader-only{display:none!important}
body.pack-evergreen .rail .nav{display:none!important}
body.pack-evergreen .panel.active.panel-enter{animation:none}
body.pack-evergreen #rootsHomeBlurb{display:none!important}
body.pack-evergreen .module-check{display:none!important}
body.pack-evergreen #panel-ev-learn .module-check,
body.pack-evergreen #panel-ev-leads .module-check,
body.pack-evergreen #panel-ev-dream .module-check{display:block!important}
body.pack-evergreen #panel-ev-learn .module-check[hidden],
body.pack-evergreen #panel-ev-leads .module-check[hidden],
body.pack-evergreen #panel-ev-dream .module-check[hidden]{display:none!important}
.ev-res-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  width:100%;
  box-sizing:border-box;
  text-align:left;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  margin:0 0 14px;
  padding:20px 20px 18px;
  border-radius:18px;
  border:1.5px solid var(--sand);
  background:linear-gradient(145deg,#f7f4ee 0%,#eef2ec 60%,#e6eadf 100%);
  box-shadow:0 2px 14px rgba(61,69,60,.08);
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:transform .2s,box-shadow .2s,border-color .2s
}
button.ev-res-card{
  font:inherit;
  appearance:none;
  -webkit-appearance:none;
  background:linear-gradient(145deg,#f7f4ee 0%,#eef2ec 60%,#e6eadf 100%)
}
.ev-res-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px 10px;
  margin:0 0 6px;
  overflow:visible
}
.ev-res-head h1{
  margin:0;
  flex:1 1 auto;
  min-width:0;
  white-space:nowrap;
  line-height:1
}
#evResInvite,
#evTeamLeadersJoinCard{
  flex:0 0 auto;
  overflow:visible;
}
.ev-res-share{
  display:flex;
  align-items:center;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
  font:inherit;
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation
}
.ev-res-share-bloom{
  position:relative;
  z-index:1;
  flex:0 0 auto;
  width:56px;
  height:56px;
  margin:-10px -20px -10px -6px;
  pointer-events:none;
  filter:drop-shadow(0 1px 3px rgba(61,69,60,.2))
}
.ev-res-share-bloom svg{
  display:block;
  width:100%;
  height:100%;
  overflow:visible
}
.ev-res-share-label{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 13px 0 12px;
  border:1.5px solid var(--gold);
  border-radius:999px;
  background:linear-gradient(180deg,#f5e08a 0%,#d9a93f 100%);
  color:#243028;
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
  box-shadow:0 2px 8px rgba(184,137,40,.28)
}
.ev-res-share:hover .ev-res-share-label,
.ev-res-share:focus-visible .ev-res-share-label{
  background:linear-gradient(180deg,#fff4c8 0%,#e8c45a 100%);
  border-color:#c9922e
}
.ev-res-share:focus-visible{
  outline:none
}
.ev-res-share:focus-visible .ev-res-share-label{
  box-shadow:0 0 0 2px #fff4c8,0 0 0 4px var(--gold)
}
#evResInviteUrl{
  font-size:13px;
  word-break:break-all
}
.ev-res-card:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(61,69,60,.12);
  border-color:rgba(61,69,60,.2);
  outline:none
}
@media (hover:hover) and (pointer:fine){
  .ev-res-card:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 20px rgba(61,69,60,.12);
    border-color:rgba(61,69,60,.2)
  }
}
.ev-res-card-eyebrow{
  display:inline-block;
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--green-mid);
  margin:0 0 8px
}
.ev-res-card-title{
  display:block;
  font-family:'Fraunces',serif;
  font-size:24px;
  font-weight:500;
  color:var(--ink);
  line-height:1.2;
  margin:0 0 8px
}
.ev-res-card-sub{
  display:block;
  font-size:14px;
  line-height:1.5;
  color:var(--bark);
  max-width:36em;
  margin:0 0 14px
}
.ev-res-card-go{
  display:inline-block;
  font-size:13px;
  font-weight:700;
  color:var(--ink);
  background:#fff;
  border-radius:999px;
  padding:8px 14px
}
.ev-res-card.ev-res-catalog{
  cursor:default
}
.ev-res-card.ev-res-catalog:hover,
.ev-res-card.ev-res-catalog:focus-visible{
  transform:none;
  box-shadow:0 2px 14px rgba(61,69,60,.08);
  border-color:var(--sand)
}
.ev-res-card-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px
}
button.ev-res-card-go{
  font:inherit;
  appearance:none;
  -webkit-appearance:none;
  border:none;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation
}
button.ev-res-card-go:focus-visible{
  outline:2px solid var(--moss);
  outline-offset:2px
}
@media (hover:hover) and (pointer:fine){
  button.ev-res-card-go:hover{
    box-shadow:0 2px 8px rgba(61,69,60,.12)
  }
}
.ev-res-card.is-soon{
  cursor:default;
  pointer-events:none;
  opacity:.92
}
.ev-res-card.is-soon:hover,
.ev-res-card.is-soon:focus-visible{
  transform:none;
  box-shadow:0 2px 14px rgba(61,69,60,.08);
  border-color:var(--sand)
}
.ev-res-card.is-soon .ev-res-card-eyebrow{
  background:rgba(61,69,60,.1);
  color:var(--bark);
  border-radius:999px;
  padding:4px 10px;
  letter-spacing:.08em
}
.ev-res-card-go.is-soon{
  background:rgba(61,69,60,.08);
  color:var(--bark)
}
.ev-res-fold{
  margin:0 0 14px
}
button.ev-res-fold-sum{
  margin:0
}
.ev-res-fold-close{display:none}
.ev-res-fold.is-open .ev-res-fold-open{display:none}
.ev-res-fold.is-open .ev-res-fold-close{display:inline-block}
.ev-res-fold-body{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:8px 0 0 10px
}
.ev-res-fold-body[hidden]{display:none!important}
.ev-res-bubble{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:8px 14px 8px 8px;
  border:1.5px solid var(--sand);
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  text-align:left;
  cursor:pointer;
  font:inherit;
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  box-shadow:0 1px 8px rgba(61,69,60,.06)
}
.ev-res-bubble-emo{
  flex:0 0 auto;
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eef2ec;
  font-size:18px;
  line-height:1
}
.ev-res-bubble-title{
  flex:1 1 auto;
  min-width:0;
  font-size:15px;
  font-weight:600;
  line-height:1.25;
  color:var(--ink)
}
.ev-res-bubble:focus-visible{
  outline:none;
  box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gold)
}
@media (hover:hover) and (pointer:fine){
  .ev-res-bubble:hover{
    border-color:rgba(61,69,60,.22);
    box-shadow:0 4px 14px rgba(61,69,60,.1)
  }
}

/* Main tour: keep Grove visible the whole time so Soft start nav doesn't jump between tips.
   Same grid as the other tabs — flex would put the icon beside the label. */
body.tour-reveal-grove .bottom-nav-btn[data-tab="team"]:not([hidden]){
  display:grid!important;
}
body.shelf-customers .bottom-nav-btn[data-tab="team"]{
  display:none!important;
}
/* Arrival preview: Clients-on CSS hides Grove. Force the before/after frames. */
body.clients-arrive-play:not(.clients-arrive-tree-up) .bottom-nav-btn[data-tab="team"],
body.shelf-customers.clients-arrive-play:not(.clients-arrive-tree-up) .bottom-nav-btn[data-tab="team"]{
  display:grid!important;
  opacity:1;
}
body.clients-arrive-play.clients-arrive-tree-up .bottom-nav-btn[data-tab="team"]{
  display:none!important;
}
body.clients-arrive-play:not(.clients-arrive-clients-in) .bottom-nav-btn[data-tab="customers"]{
  display:none!important;
}
body.clients-arrive-play.clients-arrive-clients-in .bottom-nav-btn[data-tab="customers"]{
  display:grid!important;
}
body:not(.shelf-customers) .shelf-customers-only{display:none!important}
.bottom-nav-btn[data-tab="customers"] .bottom-nav-ico{font-size:17px;transform:translateY(2px)}
.bottom-nav-btn[data-tab="customers"].has-cabinet-dot .bottom-nav-ico::after{
  content:"";
  position:absolute;
  top:-1px;
  right:-3px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 2px var(--paper);
  pointer-events:none;
}
#settingsCabinetShareWrap{margin-top:14px;padding-top:14px;border-top:1px solid var(--sand)}
#panel-customers.active{position:relative;z-index:2}
#customersCabinetInvite{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}
#customersCabinetInvite[hidden]{display:none!important}
.cabinet-unique-link{
  border:none;
  background:none;
  padding:0;
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:700;
  color:var(--green-mid);
  cursor:pointer;
  letter-spacing:.01em;
  white-space:nowrap;
}
.cabinet-unique-link:hover{color:var(--green)}
.cabinet-link-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 12px;
  margin:0 0 18px;
}
.cabinet-link-row .btn,
.cabinet-link-row .btn-ghost{width:auto}
body.cabinet-desk .site-foot{display:none!important}
#panel-customers .cabinet-todo-copy,
#panel-customers .cabinet-empty,
#panel-customers .cabinet-letter,
#panel-customers .cabinet-room-head,
#panel-customers .cabinet-letter-head,
#panel-customers .cabinet-compose{text-align:left}
.cabinet-toolbar{
  display:flex;
  gap:8px;
  align-items:stretch;
  margin:0 0 16px;
}
.cabinet-toolbar input[type="search"]{
  flex:1;
  min-width:0;
  border:1.5px solid var(--sand);
  border-radius:14px;
  background:var(--white);
  padding:10px 12px;
  font:inherit;
  font-size:14.5px;
  font-weight:500;
  color:var(--green);
}
.cabinet-toolbar input[type="search"]:focus{border-color:var(--moss);outline:none}
.cabinet-toolbar select{
  flex:0 0 auto;
  max-width:42%;
  border:1.5px solid var(--sand);
  border-radius:14px;
  background:var(--white);
  padding:10px 10px;
  font:inherit;
  font-size:13.5px;
  font-weight:600;
  color:var(--green);
}
.cabinet-desk-seg{
  display:flex;
  gap:3px;
  margin:4px 0 18px;
  padding:3px;
  background:rgba(171,176,154,.22);
  border-radius:16px;
  position:relative;
  z-index:3;
  scroll-margin-top:calc(var(--fs-topbar-offset, 5.25rem) + 12px);
  user-select:none;
  -webkit-user-select:none;
}
.cabinet-desk-seg button{
  flex:1;
  position:relative;
  min-height:42px;
  border:none;
  background:transparent;
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:.01em;
  color:var(--green-mid);
  padding:9px 4px;
  border-radius:13px;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
  transition:background .16s var(--ease), color .16s var(--ease), box-shadow .16s var(--ease);
}
#cabinetDeskRoot{position:relative;z-index:2;min-height:8rem;padding-bottom:48px}
body.cabinet-desk-loading #panel-customers > .cabinet-desk-lede,
body.cabinet-desk-loading #panel-customers > .cabinet-desk-seg{
  visibility:hidden;
  height:0;
  margin:0;
  overflow:hidden;
  pointer-events:none
}
.cabinet-load{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52vh;
  padding:28px 20px 48px;
  text-align:center
}
.cabinet-load-bloom{width:88px;height:88px}
.cabinet-load-bloom svg{
  display:block;
  overflow:visible;
  transform-origin:50% 50%;
  animation:cabinetBloomOpen .85s cubic-bezier(.16,.8,.2,1) both
}
.cabinet-load-petal{
  animation:cabinetPetalForm .55s ease both;
  animation-delay:calc(var(--i, 0) * 90ms)
}
.cabinet-load-heart{
  animation:cabinetHeartIn .4s ease both;
  animation-delay:.38s
}
.cabinet-load-kicker{
  margin:8px 0 0;
  font-family:'Fraunces',Georgia,serif;
  font-size:20px;
  font-weight:600;
  color:var(--green);
  letter-spacing:.04em
}
.cabinet-load-copy{
  margin:0;
  font-family:'DM Sans',sans-serif;
  font-size:14.5px;
  font-weight:500;
  font-style:italic;
  color:var(--bark)
}
@keyframes cabinetBloomOpen{
  from{transform:scale(.28)}
  to{transform:scale(1)}
}
@keyframes cabinetPetalForm{
  from{opacity:0}
  to{opacity:.96}
}
@keyframes cabinetHeartIn{
  from{opacity:0}
  to{opacity:1}
}
@media (prefers-reduced-motion:no-preference){
  .cabinet-load-bloom{animation:cabinetBloomSway 2.6s ease-in-out .9s infinite alternate}
}
@keyframes cabinetBloomSway{
  from{transform:rotate(-4deg) scale(1)}
  to{transform:rotate(4deg) scale(1.04)}
}
@media (prefers-reduced-motion:reduce){
  .cabinet-load-petal,.cabinet-load-heart,.cabinet-load-bloom,.cabinet-load-bloom svg{animation:none}
}
.cabinet-desk-seg button.on{
  background:var(--white);
  color:var(--green);
  box-shadow:0 1px 3px rgba(61,69,60,.1);
}
.cabinet-seg-dot{
  position:absolute;
  top:8px;
  right:10px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(217,169,63,.22);
  pointer-events:none;
}
.cabinet-seg-dot[hidden]{display:none!important}
.cabinet-room-head{margin:0 0 16px}
.cabinet-room-head h2{
  font-family:'Fraunces',serif;
  font-size:clamp(28px,6vw,36px);
  font-weight:550;
  color:var(--green);
  margin:0 0 8px;
  line-height:1.08;
}
.cabinet-room-head .sec-sub{margin:0;max-width:28rem}
.cabinet-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--moss-ink);
  margin:0 0 10px;
}
.cabinet-section{margin:0 0 22px}
.cabinet-section:last-child{margin-bottom:28px}
.cabinet-clear{
  margin:0;
  font-size:15px;
  font-weight:500;
  color:var(--green-mid);
  line-height:1.5;
  max-width:28rem;
}
.cabinet-list{display:grid;gap:2px}
.cabinet-list .cabinet-kicker{margin:14px 0 2px}
.cabinet-list .cabinet-kicker:first-child{margin-top:2px}
.cabinet-pulse{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:0 0 26px;
}
.cabinet-pulse button,
.cabinet-pulse > div{
  display:flex;
  flex-direction:column;
  gap:4px;
  align-items:flex-start;
  text-align:left;
  border:none;
  background:var(--white);
  border-radius:16px;
  padding:14px 14px 12px;
  font:inherit;
  color:var(--green);
  box-shadow:var(--shadow);
}
.cabinet-pulse button{
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.cabinet-pulse button strong,
.cabinet-pulse > div strong{font-family:'Fraunces',serif;font-size:26px;font-weight:550;line-height:1}
.cabinet-pulse button span,
.cabinet-pulse > div span{font-size:12px;font-weight:600;color:var(--green-mid);letter-spacing:.02em}
.cabinet-pulse button.has-work,
.cabinet-pulse > div.has-work{box-shadow:0 0 0 1.5px var(--gold), var(--shadow);background:#fbf6e6}
.cabinet-cards{display:grid;gap:6px}
.cabinet-empty{
  background:linear-gradient(165deg,#fbf7ef 0%,var(--white) 58%);
  border-radius:18px;
  padding:22px 22px 20px;
  box-shadow:var(--shadow);
}
.cabinet-empty p{margin:0;font-family:'Fraunces',serif;font-size:20px;font-weight:550;color:var(--green);line-height:1.25}
.cabinet-empty .cabinet-empty-sub{margin-top:8px;font-family:'DM Sans',sans-serif;font-size:14.5px;font-weight:500;font-style:italic;color:var(--bark);line-height:1.5}
.cabinet-empty .cabinet-empty-go{margin-top:14px}
.cabinet-empty .btn{width:auto;display:inline-flex}
.cabinet-todo,.cabinet-person{
  display:flex;
  align-items:flex-start;
  gap:12px;
  width:100%;
  text-align:left;
  border:none;
  background:var(--white);
  border-radius:18px;
  padding:16px 16px 15px;
  box-shadow:var(--shadow);
  position:relative;
}
.cabinet-todo.is-unread{box-shadow:0 0 0 1.5px var(--gold), var(--shadow);background:#fbf8ee}
.cabinet-person.is-unread{background:#fbf8ee}
.cabinet-todo-main,.cabinet-person{
  flex:1;
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-width:0;
  border:none;
  background:transparent;
  font:inherit;
  color:inherit;
  cursor:pointer;
  padding:0;
  text-align:left;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
button.cabinet-person{
  padding:12px 10px;
  border-radius:16px;
  align-items:center;
  box-shadow:none;
  background:transparent;
}
button.cabinet-person:hover{background:rgba(171,176,154,.16)}
.cabinet-chat-copy,
.cabinet-todo-main .cabinet-chat-copy{display:grid;gap:3px;min-width:0;flex:1;text-align:left}
.cabinet-chat-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}
.cabinet-chat-top strong{
  font-family:'DM Sans',sans-serif;
  font-size:16px;
  font-weight:650;
  color:var(--green);
  line-height:1.2;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cabinet-person.is-unread .cabinet-chat-top strong{font-weight:750}
.cabinet-chat-time{
  flex:0 0 auto;
  font-size:12px;
  font-weight:600;
  color:var(--green-mid);
  letter-spacing:.01em;
}
.cabinet-person.is-unread .cabinet-chat-time{color:#b88928}
.cabinet-chat-copy .cabinet-preview{
  font-size:14px;
  font-weight:500;
  color:var(--bark);
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cabinet-person.is-unread .cabinet-preview{color:var(--green);font-weight:600}
.cabinet-mark{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(160deg,#e7eee4,#dfe6da);
  color:var(--green);
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:550;
}
.cabinet-todo-copy{display:grid;gap:3px;min-width:0;text-align:left;justify-items:start}
.cabinet-todo-copy .live-tag{margin:0 0 1px;letter-spacing:.12em}
.cabinet-todo-copy strong{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:550;
  color:var(--green);
  line-height:1.15;
}
.cabinet-todo-copy span{font-size:14px;color:var(--bark);line-height:1.45;font-weight:500}
.cabinet-todo-copy .cabinet-quiet{font-size:12.5px;color:var(--bark-soft)}
.cabinet-todo-copy .cabinet-meta{
  font-size:12.5px;
  font-weight:650;
  color:#b88928;
  letter-spacing:.01em;
}
.cabinet-person:not(.is-unread) .cabinet-meta,
.cabinet-todo:not(.is-unread) .cabinet-meta{color:var(--green-mid);font-weight:600}
.cabinet-todo-copy .cabinet-preview{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cabinet-todo-actions{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}
.cabinet-todo > .btn,
.cabinet-todo-actions .btn,
.cabinet-todo-actions .btn-ghost,
.cabinet-person-actions .btn,
.cabinet-person-actions .btn-ghost{
  width:auto;
  padding:8px 14px;
  font-size:13px;
  border-radius:999px;
}
.cabinet-pill{
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:var(--green);
  color:var(--paper);
  font-size:11px;
  font-weight:700;
  display:flex;
  align-items:center;
  justify-content:center;
}
.cabinet-back{
  border:none;
  background:none;
  padding:0;
  margin:0 0 14px;
  font-family:'DM Sans',sans-serif;
  font-size:13.5px;
  font-weight:700;
  color:var(--green-mid);
  cursor:pointer;
  letter-spacing:.02em;
}
.cabinet-letter-head{margin:0 0 18px}
.cabinet-letter-head h2{
  font-family:'Fraunces',serif;
  font-size:clamp(28px,6vw,36px);
  font-weight:550;
  color:var(--green);
  margin:0 0 6px;
  line-height:1.08;
}
.cabinet-letter-head .sec-sub{margin:0;font-size:14.5px}
.cabinet-name-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.cabinet-name-row h2{margin:0}
.cabinet-name-edit{
  flex:0 0 auto;
  border:1.5px solid var(--sand);
  background:#fff;
  color:var(--green-mid);
  border-radius:999px;
  padding:4px 10px;
  font-family:'DM Sans',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.02em;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.cabinet-name-edit:hover{color:var(--green);border-color:var(--moss)}
.cabinet-person-wrap{
  display:flex;
  align-items:center;
  gap:6px;
  border-radius:16px;
}
.cabinet-person-wrap .cabinet-person{flex:1;min-width:0}
.cabinet-person-wrap.is-unread{background:#fbf8ee}
.cabinet-person-name{
  width:100%;
  margin:0 0 10px;
  padding:12px 14px;
  border:1.5px solid var(--sand);
  border-radius:14px;
  background:var(--white);
  font-family:'DM Sans',sans-serif;
  font-size:16px;
  color:var(--green);
}
.cabinet-thread{display:grid;gap:14px;margin:0 0 22px}
.cabinet-chat{
  display:flex;
  flex-direction:column;
  min-height:0;
  margin:0 -2px;
}
body.cabinet-thread-open #panel-customers > .eyebrow,
body.cabinet-thread-open #panel-customers > .team-head,
body.cabinet-thread-open #panel-customers > .cabinet-desk-lede,
body.cabinet-thread-open #panel-customers > .cabinet-desk-seg,
body.cabinet-thread-open .site-foot{display:none!important}
body.cabinet-thread-open .bottom-nav,
html.fs-kb-open .bottom-nav{display:none!important}
body.cabinet-thread-open .content{
  padding-bottom:8px;
}
body.cabinet-thread-open .cabinet-chat{
  display:flex;
  flex-direction:column;
  min-height:0;
  margin:0;
  padding:0;
  overflow:visible;
  background:var(--paper);
}
body.cabinet-thread-open .cabinet-chat-bar{
  position:sticky;
  top:var(--fs-topbar-offset, 5.25rem);
  z-index:6;
  flex:none;
  background:var(--paper);
}
body.cabinet-thread-open .cabinet-bubbles{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:visible;
  padding-bottom:10px;
}
body.cabinet-thread-open .cabinet-bubbles-end{
  height:0;
  min-height:0;
  flex:none;
  pointer-events:none;
}
.cabinet-chat-bar{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  padding:2px 0 10px;
  flex:0 0 auto;
  position:relative;
  z-index:3;
  background:var(--paper);
}
.cabinet-chat-bar .cabinet-back{margin:0;justify-self:start}
.cabinet-chat-bar .cabinet-name-edit{justify-self:end}
.cabinet-chat-name{
  border:none;
  background:none;
  padding:4px 8px;
  margin:0;
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:550;
  color:var(--green);
  cursor:pointer;
  justify-self:center;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cabinet-chat-name:hover{color:var(--green-mid)}
.cabinet-bubbles{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:3px;
  flex:1 1 auto;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  padding:6px 2px 12px;
}
.cabinet-chat-empty{
  margin:18px 0 8px;
  text-align:center;
  font-size:14.5px;
  color:var(--green-mid);
}
.cabinet-chat-stamp{
  align-self:center;
  margin:12px 0 6px;
  font-size:11px;
  font-weight:650;
  letter-spacing:.02em;
  color:var(--green-mid);
}
.cabinet-letter{
  max-width:min(78%, 22rem);
  align-self:flex-start;
  background:#e4e8df;
  border-radius:18px 18px 18px 6px;
  padding:9px 13px 10px;
  box-shadow:none;
}
.cabinet-letter.is-you{
  align-self:flex-end;
  margin-left:0;
  background:var(--green);
  border-radius:18px 18px 6px 18px;
  box-shadow:none;
}
.cabinet-letter.is-stack{margin-top:1px}
.cabinet-letter.is-match{
  max-width:min(92%, 24rem);
  background:#eef3ea;
  padding:12px 14px 14px;
}
.cabinet-letter.is-match .cabinet-match{margin:0}
.cabinet-letter.is-match .cabinet-kicker{margin:0 0 8px}
.cabinet-letter-who{
  margin:0 0 6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#b88928;
}
.cabinet-letter.is-you .cabinet-letter-who{color:var(--green-mid)}
.cabinet-letter p:last-child{
  margin:0;
  font-size:16px;
  line-height:1.4;
  color:var(--green);
  font-weight:500;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.cabinet-letter.is-you p:last-child{color:var(--paper)}
.cabinet-composer{
  position:static;
  z-index:4;
  flex:0 0 auto;
  margin:0;
  padding:0;
  background:transparent;
}
#cabinetComposerDock{
  display:none;
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:80;
  padding:8px 16px calc(12px + max(env(safe-area-inset-bottom, 0px), 10px));
  background:var(--paper);
  border-top:1px solid var(--sand);
  box-shadow:0 -8px 28px rgba(61,69,60,.08);
  box-sizing:border-box;
  pointer-events:auto;
  touch-action:manipulation;
}
#cabinetComposerDock textarea,
#cabinetComposerDock button{
  pointer-events:auto;
  touch-action:manipulation;
}
#cabinetComposerDock:not([hidden]){display:block}
#cabinetComposerDock .cabinet-faq-pick{
  max-height:min(46vh, 360px);
  overflow-y:auto;
  margin:0 0 10px;
}
#cabinetComposerDock.is-kb-pin{
  padding-bottom:10px;
}
.cabinet-chat .cabinet-compose-label{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
}
.cabinet-composer-row{
  display:flex;
  align-items:flex-end;
  flex-wrap:nowrap;
  gap:8px;
}
.cabinet-composer-faq,
.cabinet-composer-send{
  flex:0 0 auto;
  border:none;
  background:none;
  min-height:44px;
  padding:10px 8px;
  font-family:'DM Sans',sans-serif;
  font-size:15px;
  font-weight:700;
  color:var(--green-mid);
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.cabinet-composer-send{
  color:var(--paper);
  background:var(--green);
  border-radius:999px;
  padding:10px 16px;
  min-width:64px;
}
.cabinet-composer-faq:hover{color:var(--green)}
.cabinet-composer-send:hover{filter:brightness(1.05)}
.cabinet-compose{
  background:linear-gradient(180deg,#fbf7ef 0%,var(--white) 70%);
  border-radius:18px;
  padding:16px 16px 14px;
  box-shadow:var(--shadow);
}
.cabinet-compose-label{
  display:block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--moss-ink);
  margin:0 0 8px;
}
.cabinet-compose textarea{
  width:100%;
  margin:0 0 12px;
  min-height:96px;
  border:1.5px solid var(--sand);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  padding:12px 14px;
  font-family:'Fraunces',serif;
  font-size:16.5px;
  font-weight:500;
  line-height:1.55;
  color:var(--green);
}
.cabinet-compose textarea:focus{border-color:var(--moss);background:#fff;outline:none}
.cabinet-composer textarea{
  flex:1 1 auto;
  width:auto;
  min-width:0;
  margin:0;
  min-height:40px;
  max-height:120px;
  resize:none;
  border:1.5px solid var(--sand);
  border-radius:20px;
  background:#fff;
  padding:9px 14px;
  font-family:'DM Sans',sans-serif;
  font-size:16px;
  font-weight:500;
  line-height:1.35;
  color:var(--green);
}
.cabinet-composer textarea:focus{border-color:var(--moss);outline:none}
.cabinet-compose .btn{width:100%}
.cabinet-door-go{margin:0 0 18px}
.cabinet-door-go .btn,.cabinet-door-go .btn-ghost{width:auto}
.cabinet-door-form{display:grid;gap:10px;max-width:28rem}
.cabinet-door-form input{
  width:100%;
  border:1.5px solid var(--sand);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  padding:12px 14px;
  font:inherit;
  color:var(--green);
}
.cabinet-door-form input:focus{border-color:var(--moss);outline:none}
.cabinet-door-cats{display:flex;flex-wrap:wrap;gap:8px}
.cabinet-door-cat,.cabinet-door-chip{
  border:1.5px solid var(--sand);
  background:#fff;
  border-radius:999px;
  padding:7px 12px;
  font:inherit;
  font-size:13px;
  font-weight:600;
  color:var(--green);
  cursor:pointer;
}
.cabinet-door-cat.on,.cabinet-door-chip.on{
  border-color:var(--gold);
  background:#fbf6e6;
}
.cabinet-door-chips{display:flex;flex-wrap:wrap;gap:8px}
.cabinet-snapshot{
  background:var(--white);
  border-radius:18px;
  padding:14px 16px 12px;
  box-shadow:var(--shadow);
  margin:0 0 14px;
}
.cabinet-snapshot-row{margin:6px 0 0;font-size:14px}
.cabinet-match{margin:12px 0 0}
.cabinet-match.is-compact{margin:6px 0 0}
.cabinet-match-fact{
  margin:0 0 4px;
  font-size:14.5px;
  line-height:1.4;
  color:var(--green);
}
.cabinet-match-fact.is-kind{
  font-family:'Fraunces',serif;
  font-size:17px;
  font-weight:550;
}
.cabinet-match-start{
  margin:10px 0 6px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--moss-ink);
}
.cabinet-match-thumbs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:8px 0 0;
}
.cabinet-match-thumb{
  display:grid;
  justify-items:center;
  gap:4px;
  width:52px;
}
.cabinet-match-thumb img{
  width:40px;
  height:40px;
  object-fit:contain;
  background:#f4f1ea;
  border-radius:10px;
  padding:3px;
}
.cabinet-match-thumb em{
  font-style:normal;
  font-size:10px;
  line-height:1.2;
  text-align:center;
  color:var(--green-mid);
  max-width:52px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.cabinet-person .cabinet-match-thumbs{margin-top:6px}
.cabinet-person .cabinet-match-thumb{width:36px}
.cabinet-person .cabinet-match-thumb img{width:32px;height:32px;padding:2px}
.cabinet-week{
  background:var(--white);
  border:1.5px solid var(--sand);
  border-radius:20px;
  padding:18px 18px 16px;
  margin:0 0 12px;
}
.cabinet-home-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 16px;
}
.cabinet-home-pair .cabinet-week{margin:0;min-width:0}
.cabinet-home-pair:has(.cabinet-fold.is-open){grid-template-columns:1fr}
.cabinet-home-pair .cabinet-fold-toggle{padding:14px 14px 13px;gap:10px}
.cabinet-home-pair .cabinet-fold-hint{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.cabinet-hello-lede{
  margin:-4px 0 12px;
  font-size:14.5px;
  line-height:1.45;
  color:var(--green-mid);
}
.cabinet-hello{
  display:grid;
  gap:12px;
  background:var(--white);
  border:1.5px solid var(--sand);
  border-radius:18px;
  padding:16px;
  box-shadow:var(--shadow);
}
.cabinet-hello-main{
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  margin:0;
  padding:0;
  border:none;
  background:transparent;
  font:inherit;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
.cabinet-hello-copy{display:grid;gap:3px;min-width:0}
.cabinet-hello-copy strong{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:550;
  color:var(--green);
  line-height:1.2;
}
.cabinet-hello-copy span{
  font-size:14px;
  font-weight:500;
  color:var(--green-mid);
}
.cabinet-hello-why{color:var(--moss-ink)}
.cabinet-hello-preview{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:var(--green-mid);
}
.cabinet-auto-cards{margin-top:14px}
.cabinet-auto-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px
}
.cabinet-auto-head .cabinet-kicker{margin:0}
.cabinet-auto-go{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  flex:0 0 auto;
  border:1.5px solid rgba(200,162,74,.42);
  background:#fbf6e6;
  color:var(--green);
  border-radius:999px;
  padding:6px 12px 6px 13px;
  font-family:'DM Sans',sans-serif;
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  box-shadow:0 1px 0 rgba(200,162,74,.18);
  -webkit-tap-highlight-color:transparent;
}
.cabinet-auto-go span{font-weight:600;color:var(--moss-ink)}
.cabinet-auto-go:hover,
.cabinet-auto-go:focus-visible{
  border-color:var(--gold);
  background:#f8eecf;
  outline:none;
}
.cabinet-auto-card{
  background:var(--white);
  border:1.5px solid var(--sand);
  border-radius:18px;
  padding:16px;
  margin:0 0 12px;
  box-shadow:var(--shadow);
}
.cabinet-auto-switch{
  display:flex;
  align-items:flex-start;
  gap:14px;
  width:100%;
}
.cabinet-auto-switch strong{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:550;
  color:var(--green);
}
.cabinet-auto-switch .cabinet-fold-hint{margin:4px 0 0}
.cabinet-auto-switch .switch{margin-left:auto;flex:0 0 auto}
.cabinet-auto-field{
  display:grid;
  gap:6px;
  margin:14px 0 0;
  font-size:13px;
  font-weight:600;
  color:var(--green-mid);
}
.cabinet-auto-field input,
.cabinet-auto-field textarea{
  width:100%;
  border:1.5px solid var(--sand);
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
  font-weight:500;
  color:var(--green);
  background:#fff;
  box-sizing:border-box;
}
.cabinet-auto-field textarea{resize:vertical;min-height:4.5em}
.cabinet-hello-actions{display:flex;gap:8px}
.cabinet-hello-actions .btn,
.cabinet-hello-actions .btn-ghost{
  flex:1;
  width:auto;
  padding:10px 14px;
}
#panel-customers .cabinet-fold{
  padding:0;
  overflow:hidden;
}
#panel-customers .cabinet-fold-toggle{
  display:flex;
  align-items:center;
  gap:14px;
  width:100%;
  margin:0;
  padding:16px 18px;
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer;
  font:inherit;
  color:inherit;
}
#panel-customers .cabinet-fold-toggle .cabinet-kicker{margin:0 0 2px}
#panel-customers .cabinet-fold-hint{
  margin:0;
  font-size:14px;
  line-height:1.35;
  color:var(--green-mid);
}
#panel-customers .cabinet-fold-chevron{
  margin-left:auto;
  flex:0 0 auto;
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(171,176,154,.2);
  color:var(--moss-ink);
  font-size:18px;
  font-weight:500;
  line-height:1;
}
#panel-customers .cabinet-fold-body{padding:0 18px 12px}
#panel-customers .cabinet-fold-body .sec-sub:first-child{margin-top:0}
#panel-customers .cabinet-week-auto{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 14px;
  padding:12px 14px;
  border:1.5px solid var(--sand);
  border-radius:14px;
  background:rgba(255,255,255,.55);
  cursor:pointer;
}
#panel-customers .cabinet-week-auto strong{
  display:block;
  font-size:14px;
  font-weight:650;
  color:var(--green);
}
#panel-customers .cabinet-week-auto .cabinet-fold-hint{margin-top:3px}
#panel-customers .cabinet-week-actions{margin:0}
#panel-customers .cabinet-week-actions .btn{
  width:auto;
  max-width:100%;
  white-space:normal;
  line-height:1.35;
  text-align:center;
  padding:13px 18px;
}
#panel-customers .cabinet-fold-foot{
  margin:20px 0 0;
  font-size:14px;
}
.cabinet-week textarea{
  width:100%;
  margin:0 0 12px;
  min-height:56px;
  resize:vertical;
  border:1.5px solid var(--sand);
  border-radius:14px;
  background:#fff;
  padding:12px 14px;
  font:inherit;
  color:var(--green);
}
.cabinet-week textarea:focus{border-color:var(--moss);outline:none;background:#fff}
.cabinet-week #cabinetWeekSearch,.cabinet-week #cabinetSaleSearch{
  width:100%;
  margin:8px 0 10px;
  border:1.5px solid var(--sand);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  padding:12px 14px;
  font:inherit;
  color:var(--green);
}
.cabinet-week #cabinetWeekSearch:focus,.cabinet-week #cabinetSaleSearch:focus{border-color:var(--moss);outline:none;background:#fff}
.cabinet-week .cabinet-door-chips{margin:0 0 10px}
.cabinet-week-actions{display:flex;flex-wrap:wrap;gap:8px}
.cabinet-week-actions .btn{width:auto}
.cabinet-blast textarea{min-height:88px}
#panel-customers .cabinet-desk-lede{margin:-6px 0 16px;max-width:28rem}
#panel-customers .cabinet-card-head{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0 0 14px;
}
#panel-customers .cabinet-card-head .cabinet-kicker{margin:0 0 4px}
#panel-customers .cabinet-card-head .sec-sub{margin:0;max-width:26rem}
#panel-customers .cabinet-card-emoji{
  flex:0 0 auto;
  width:44px;
  height:44px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(160deg,#f7f1e2,#efe6cf);
  box-shadow:inset 0 0 0 1px rgba(179,137,60,.18);
  font-size:20px;
  line-height:1;
}
#panel-customers .cabinet-week-sale{
  margin:0;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--moss-ink);
}
#panel-customers .cabinet-sale-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}
#panel-customers .cabinet-sale-pct{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
}
#panel-customers .cabinet-sale-pct input{
  width:4.2rem;
  border:1.5px solid var(--sand);
  border-radius:12px;
  background:#fff;
  padding:10px 12px;
  font:inherit;
  font-weight:700;
  color:var(--green);
}
#panel-customers .cabinet-sale-pct span{
  font-size:15px;
  font-weight:650;
  color:var(--green-mid);
}
#panel-customers .cabinet-week-note{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:8px;
  margin:4px 0 6px;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--moss-ink);
}
#panel-customers .cabinet-week-note span{
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--green-mid);
}
#panel-customers .cabinet-fold.is-locked{
  opacity:.78;
}
#panel-customers .cabinet-fold.is-locked .cabinet-fold-toggle{
  cursor:default;
}
#panel-customers .cabinet-fold.is-locked .cabinet-fold-chevron{
  background:rgba(171,176,154,.12);
  font-size:13px;
}
#panel-customers .cabinet-desk-seg{
  gap:6px;
  margin:4px 0 20px;
  padding:4px;
  background:rgba(171,176,154,.18);
  border-radius:18px;
}
#panel-customers .cabinet-desk-seg button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:46px;
  font-size:13.5px;
  border-radius:14px;
}
#panel-customers .cabinet-seg-ico{font-size:15px;line-height:1}
#panel-customers .cabinet-pulse{margin:0 0 20px}
#panel-customers .cabinet-list{gap:10px}
#panel-customers .cabinet-person-wrap{
  background:var(--white);
  border:1.5px solid var(--sand);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding-right:8px;
}
#panel-customers .cabinet-person-wrap.is-unread{
  background:#fbf8ee;
  border-color:rgba(217,169,63,.45);
  box-shadow:0 0 0 1.5px rgba(217,169,63,.22), var(--shadow);
}
#panel-customers button.cabinet-person{
  padding:16px 10px 15px 16px;
  background:transparent;
  border:none;
  border-radius:18px;
  box-shadow:none;
  align-items:center;
}
#panel-customers button.cabinet-person:hover,
#panel-customers .cabinet-person-wrap:hover{background:#fbf8ee}
#panel-customers .cabinet-person.is-unread{
  background:transparent;
  box-shadow:none;
}
#panel-customers .cabinet-chat-top strong{
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:550;
}
#panel-customers .cabinet-mark{
  width:48px;
  height:48px;
  font-size:20px;
  background:linear-gradient(160deg,#eef3ea,#e3eadc);
}
#panel-customers .cabinet-todo{
  border:1.5px solid var(--sand);
  border-radius:20px;
  padding:16px 16px 15px;
}
#panel-customers .cabinet-compose,
#panel-customers .cabinet-empty{
  border:1.5px solid var(--sand);
}
#panel-customers .cabinet-composer{border:none;box-shadow:none;background:var(--paper)}
#panel-customers .cabinet-faq-pick{margin:0 0 10px}
#panel-customers .cabinet-room-head .sec-sub{font-size:15.5px;line-height:1.5}
.cabinet-person.is-birthday .cabinet-chat-time{color:var(--pine, #2c4a3a)}
.cabinet-compose .cabinet-mute{
  display:block;
  width:100%;
  margin-top:12px;
  text-align:center;
  font-size:13px;
  font-weight:600;
}
.cabinet-compose .text-link{
  display:block;
  width:100%;
  margin-top:10px;
  text-align:center;
  font-size:13px;
  font-weight:600;
}
.cabinet-faq-pick{
  margin-top:14px;
  background:var(--white);
  border-radius:18px;
  padding:14px 14px 12px;
  box-shadow:var(--shadow);
}
.cabinet-faq-pick-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 10px}
.cabinet-faq-pick-head .cabinet-kicker{margin:0}
.cabinet-faq-pick input[type="search"]{
  width:100%;
  margin:0 0 12px;
  border:1.5px solid var(--sand);
  border-radius:14px;
  background:var(--white);
  padding:10px 12px;
  font:inherit;
  font-size:14.5px;
}
.cabinet-faq-group{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  text-align:left;
  border:none;
  background:#f7f4ee;
  border-radius:14px;
  padding:12px 14px;
  margin:0 0 8px;
  font:inherit;
  color:var(--green);
  cursor:pointer;
}
.cabinet-faq-group strong{
  display:block;
  font-family:'Fraunces',serif;
  font-size:17px;
  font-weight:550;
  letter-spacing:-.02em;
}
.cabinet-faq-group span{
  flex-shrink:0;
  font-size:12.5px;
  font-weight:600;
  color:var(--green-mid);
}
.cabinet-faq-group.is-open{margin-bottom:6px}
.cabinet-faq-group.is-open + .cabinet-faq-choice{margin-left:6px}
.cabinet-faq-choice{
  display:grid;
  gap:4px;
  width:100%;
  text-align:left;
  border:none;
  background:#f7f4ee;
  border-radius:14px;
  padding:12px 12px 11px;
  margin:0 0 8px;
  font:inherit;
  color:var(--green);
  cursor:pointer;
}
.cabinet-faq-choice strong{
  font-family:'Fraunces',serif;
  font-size:16px;
  font-weight:550;
  line-height:1.25;
}
.cabinet-faq-choice span{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  font-size:13.5px;
  color:var(--bark);
  line-height:1.4;
}
.cabinet-card-dot{
  flex:0 0 auto;
  width:9px;
  height:9px;
  margin-top:0;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 3px rgba(217,169,63,.28);
}
.cabinet-person-sheet{display:grid;gap:14px}
.cabinet-person-sheet .cabinet-letter-head{margin:0}
.cabinet-person-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.cabinet-person.is-card .cabinet-preview{color:var(--ink-mute, var(--bark));font-weight:500}
.cabinet-person.is-card.is-unread .cabinet-preview{color:var(--green);font-weight:600}
.cabinet-remove{
  justify-self:start;
  margin-top:8px;
  color:var(--bark);
  font-weight:650;
  opacity:.72;
}
.cabinet-remove:hover{opacity:1;color:#8a3a2a}
@media (max-width:420px){
  .cabinet-todo{flex-wrap:wrap;align-items:flex-start}
  .cabinet-todo > .btn{margin-left:54px}
}
.text-link{
  border:none;
  background:none;
  padding:0;
  font:inherit;
  font-size:14px;
  font-weight:700;
  color:var(--green-mid);
  cursor:pointer;
}
body.mode-full .starter-only{display:none!important}
/* Soft start: hide Calendar-only knobs. Evergreen always has Calendar. */
body.mode-starter:not(.pack-evergreen) .allin-only{display:none!important}

/* ── panels ── */
.panel{display:none}
.panel.active{display:block}
.panel[hidden]{display:none!important}
/* Tab switches stay instant. fadeUp is for toasts/sheets, not whole pages. */
.panel.active.panel-enter{animation:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.eyebrow{font-size:12.5px;letter-spacing:.17em;color:var(--green-mid);font-weight:700;margin-bottom:14px}
.sec-num{font-family:'Fraunces',serif;font-size:15px;color:var(--green-mid);font-weight:600;margin-bottom:7px;letter-spacing:.04em}
h1{font-family:'Fraunces',serif;font-weight:550;font-size:clamp(30px,4.5vw,42px);color:var(--green);line-height:1.08;margin-bottom:12px}
.sec-sub{font-size:16px;color:var(--bark);line-height:1.55;margin-bottom:26px;font-style:italic;font-weight:500}
.cal-leader-zooms{margin:-12px 0 26px}
.cal-leader-zooms[hidden]{display:none!important}
.cal-leader-zooms .text-link{font-size:13.5px;font-style:normal}
.body-p{font-size:16.5px;line-height:1.72;margin-bottom:22px;color:var(--green);font-weight:500}
.roots-privacy{margin:-8px 0 24px;font-size:14.5px;color:var(--bark);line-height:1.55;font-weight:500}

/* ── fields ── */
.field{display:block;margin-bottom:22px}
.field-label{display:block;font-weight:600;font-size:15px;color:var(--green);margin-bottom:5px}
.field-hint{display:block;font-size:14px;color:var(--bark);margin-bottom:9px;line-height:1.55}
textarea{width:100%;border:1.5px solid var(--sand);border-radius:11px;background:var(--white);padding:13px 15px;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--green);resize:vertical;line-height:1.6;transition:border-color .2s}
textarea:focus{border-color:var(--moss);outline:none}
textarea::placeholder{color:var(--bark-soft)}
.field.filled .field-label{color:var(--green-mid)}
/* Body uses touch-action:manipulation (kills double-tap zoom). Re-enable
   select/copy on typing surfaces and script banks partners actually copy from. */
textarea,
input[type="text"],
input[type="search"],
input[type="email"],
input[type="password"],
input[type="tel"],
input.cal-input,
input.tnode-name,
input.prod-search,
input.know-search,
input.invite-input{
  touch-action:auto;
  -webkit-user-select:text;
  user-select:text;
}
.hook-text,
.seed-example,
.starter-text,
.copy-card-text,
.faq-a p,
.talk-line,
.talk-why p,
.cheer-sheet-preview{
  -webkit-user-select:text;
  user-select:text;
  touch-action:auto;
}

/* ── claim checker ── */
.claim-check{margin-top:8px;font-size:12.5px;line-height:1.6;min-height:18px;display:block}
.claim-ok{color:var(--moss-ink);font-weight:600}
.claim-flag{display:inline-block;background:#fbf0d4;border:1px solid var(--gold);color:#7a5f1e;border-radius:8px;padding:3px 9px;margin:3px 6px 3px 0;font-weight:600}
.claim-note{color:#7a5f1e;display:block;margin-top:4px}

/* ── live cards ── */
.live-card{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:20px 22px;margin:20px 0;box-shadow:var(--shadow)}
.live-tag{font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--moss-ink);margin-bottom:10px}
.story-preview{font-family:'Fraunces',serif;font-size:17px;line-height:1.65;color:var(--green);font-style:italic;min-height:26px}
.dim{color:var(--bark-soft)}

/* ── grove visual ── */
.grove-lane{margin:0 0 28px;padding:18px 18px 8px;background:var(--white);border:1.5px solid var(--sand);border-radius:16px;box-shadow:var(--shadow)}
.grove-lane.customer{background:linear-gradient(180deg,#fffef9 0%,#fff 100%);border-color:rgba(217,169,63,.35)}
.grove-lane-head{margin:0 0 14px}
.grove-lane-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--beige);border-radius:999px;padding:5px 10px;margin:0 0 10px}
.grove-lane.customer .grove-lane-tag{background:#fbf6e6;color:#8a6a18}
.grove-lane-title{font-family:'Fraunces',serif;font-size:22px;font-weight:500;color:var(--ink);margin:0 0 6px;line-height:1.2}
.grove-lane-sub{font-size:14px;line-height:1.5;color:var(--bark);margin:0}
.grove-visual{background:linear-gradient(180deg,#eef2ec 0%,#e8ebe3 100%);border:1.5px solid var(--sand);border-radius:14px;padding:18px 20px 8px;margin:14px 0;transition:box-shadow .25s,border-color .25s}
.grove-visual.customer{background:linear-gradient(180deg,#fbf6e6 0%,#f3ecd8 100%);border-color:rgba(217,169,63,.3)}
.grove-visual.flashing{border-color:var(--moss);box-shadow:0 0 0 3px rgba(171,176,154,.28)}
.grove-count{font-family:'Fraunces',serif;font-size:17px;color:var(--green-mid);margin-bottom:8px}
.grove-count strong{font-size:26px;color:var(--ink)}
.grove-trees{display:flex;flex-wrap:wrap;gap:2px;min-height:44px;align-items:flex-end;padding-bottom:8px}
.gtree{width:26px;height:34px;animation:sproutIn .5s var(--ease);transform-origin:center bottom}
.gtree.flash{animation:treeFlash .55s var(--ease)}
@keyframes sproutIn{from{transform:scale(0) translateY(10px);opacity:0}to{transform:none;opacity:1}}
@keyframes treeFlash{
  0%{transform:scale(1);filter:brightness(1)}
  35%{transform:scale(1.18) translateY(-3px);filter:brightness(1.35) drop-shadow(0 0 6px rgba(107,143,107,.55))}
  100%{transform:scale(1);filter:brightness(1)}
}
.grove-hintline{font-size:12px;color:var(--bark);padding-bottom:10px}
.grove-picks{margin:4px 0 14px;padding:12px 14px 14px;background:rgba(243,236,216,.45);border-radius:12px;border:1px solid rgba(217,169,63,.22)}
.grove-lane:not(.customer) .grove-picks{background:rgba(238,242,236,.8);border-color:var(--sand)}
.grove-picks-label{font-size:12.5px;font-weight:600;color:var(--ink);margin:0 0 10px;line-height:1.4}
.grove-pick-list{display:flex;flex-wrap:wrap;gap:8px}
.grove-chip{appearance:none;border:1.5px solid var(--sand);background:var(--white);color:var(--ink);font-family:inherit;font-size:13.5px;font-weight:600;padding:8px 12px;border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s}
.grove-chip:hover{border-color:var(--moss);transform:translateY(-1px)}
.grove-chip.on{background:var(--ink);border-color:var(--ink);color:var(--beige)}
.grove-lane.customer .grove-chip.on{background:#8a6a18;border-color:#8a6a18;color:#fffef9}
.grove-chip:disabled{opacity:.4;cursor:default;transform:none}
.grove-pick-meta{font-size:12px;color:var(--bark);margin-top:10px;min-height:1.2em}

/* ── family tree builder ── */
.tree-wrap{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:20px 22px;margin:20px 0;box-shadow:var(--shadow)}
.grove-lane .tree-wrap{background:transparent;border:none;box-shadow:none;margin:0 0 12px;padding:4px 0 8px}
.tree-stats{font-size:13px;color:var(--bark);margin-bottom:12px;min-height:1.2em}
.tree-stats strong{color:var(--green);font-family:'Fraunces',serif;font-size:16px}
.tree-key{display:flex;flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12px;color:var(--bark-soft);font-weight:600}
.tree-you{font-family:'Fraunces',serif;font-size:18px;font-weight:600;color:var(--green);margin-bottom:8px}
.tree-empty-state{padding:28px 12px;text-align:center}
.tree-primary-add{border:1.5px dashed var(--moss);background:var(--paper);color:var(--green);border-radius:999px;padding:14px 22px;font-family:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s}
.tree-primary-add:hover{background:#eef2ec;border-style:solid}
.tree-primary-add.ghost{margin-top:14px;width:100%;background:transparent;border-style:dashed;padding:10px}
.tnode{position:relative}
.tnode-kids{margin-left:18px;padding-left:14px;border-left:2px solid var(--sand)}
.root-kids{margin-left:4px}
.tnode-row{display:flex;align-items:center;gap:8px;padding:8px 0;position:relative;flex-wrap:nowrap}
.tnode-status{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--sand);background:var(--paper);font-size:16px;cursor:pointer;flex-shrink:0;display:grid;place-items:center;padding:0}
.tnode-row.hopeful .tnode-status{background:#fbf0d4;border-color:var(--gold)}
.tnode-row.committed .tnode-status{background:#eef2ec;border-color:var(--moss)}
.tnode-name{flex:1;min-width:0;min-height:44px;border:none;border-bottom:1.5px solid var(--sand);border-radius:0;background:transparent;padding:8px 4px;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--green);-webkit-appearance:none;appearance:none}
.tnode-name:focus{outline:none;border-bottom-color:var(--moss)}
.tnode-name::placeholder{color:var(--bark-soft);font-style:italic}
.tnode-add{position:relative;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--sand);background:var(--white);color:var(--green-mid);font-size:16px;font-weight:700;cursor:pointer;flex-shrink:0;line-height:1}
.tnode-add:hover{border-color:var(--moss);background:#eef2ec}
.tnode-del{position:relative;border:none;background:transparent;color:#c4baa5;font-size:18px;min-width:44px;min-height:44px;padding:10px;cursor:pointer;flex-shrink:0}
.tnode-del:hover{color:#b0563e}

/* ── start planting drafts ── */
.plant-cadence{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0 22px;font-size:22px}
.plant-cadence .ask{opacity:.95}
.plant-cadence-note{font-size:13px;font-weight:700;color:var(--moss-ink);margin-left:6px}
.seed-types-stack{margin:18px 0 8px}
.seed-block.today{background:#eef2ec;border-radius:10px;padding:12px 14px}
.seed-block.today .seed-label{color:var(--moss-ink)}
.draft-stack{display:flex;flex-direction:column;gap:14px;margin:0 0 18px}
.draft-card{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num title" "num hint" "area area" "check check";gap:2px 14px;background:linear-gradient(180deg,#fff 0%,#f7f3ea 100%);border:1.5px solid var(--sand);border-radius:18px;padding:18px 18px 14px;margin:0}
.draft-num{grid-area:num;font-family:'Fraunces',serif;font-size:28px;font-weight:600;color:var(--gold);line-height:1;padding-top:2px}
.draft-title{grid-area:title;font-family:'Fraunces',serif;font-size:20px;font-weight:500;color:var(--green)}
.draft-hint{grid-area:hint;font-size:13px;color:var(--bark);margin-bottom:8px}
.draft-card textarea{grid-area:area;width:100%;border:1.5px solid var(--sand);border-radius:12px;background:rgba(255,255,255,.8);padding:12px 14px;font-family:inherit;font-size:15px;color:var(--green);resize:vertical;min-height:84px}
.draft-card textarea:focus{outline:none;border-color:var(--moss);background:#fff}
.draft-card .claim-check{grid-area:check;min-height:18px;margin-top:6px}
.plant-footnote{font-size:13.5px;color:var(--bark);line-height:1.55;margin:8px 0 18px}
.hook-list-inline{margin-top:12px}

/* ── content calendar board ── */
.cal-board{background:var(--beige);border:1.5px solid rgba(61,69,60,.1);border-radius:22px;padding:16px 14px 18px;margin:18px 0 22px;box-shadow:var(--shadow)}
.cal-board.is-collapsed{padding-bottom:14px}
.cal-board.is-collapsed .cal-board-body{display:none}
.cal-board-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px;padding:0 2px}
.cal-board.is-collapsed .cal-board-head{margin-bottom:0}
.cal-board-toggle{
  appearance:none;border:none;background:transparent;padding:0;margin:0;
  display:flex;align-items:center;gap:10px;min-width:0;flex:1;
  font:inherit;color:inherit;cursor:pointer;text-align:left;
  -webkit-tap-highlight-color:transparent
}
.cal-board-title{font-family:'Fraunces',serif;font-size:28px;font-weight:500;color:var(--ink);margin:0;line-height:1.1}
.cal-board-chev{
  flex:0 0 auto;width:28px;height:28px;border-radius:8px;border:1.5px solid var(--sand);
  background:rgba(255,255,255,.85);color:var(--green);display:grid;place-items:center;
  font-size:18px;font-weight:600;line-height:1
}
.cal-board-chev::before{content:"+"}
.cal-board:not(.is-collapsed) .cal-board-chev{background:#eef2ec;border-color:var(--moss)}
.cal-board:not(.is-collapsed) .cal-board-chev::before{content:"−"}
body.pack-evergreen .cal-board-chev{display:none}
body.pack-evergreen .cal-dated{display:none!important}
body.pack-evergreen .cal-board-toggle{cursor:default;pointer-events:none}
/* Even if a saved “closed” flag races the pack class, the week must stay visible. */
body.pack-evergreen .cal-board.is-collapsed .cal-board-body{display:block!important}
body.pack-evergreen .cal-board.is-collapsed{padding-bottom:18px}
.cal-empty-hint{margin:10px 4px 0;font-size:13.5px;line-height:1.45;color:var(--bark);font-style:italic}
body.pack-grove .cal-eye-ev,
body.pack-evergreen .cal-eye-grove{display:none}
.cal-board-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.cal-dated{font-size:13px;font-weight:700;color:var(--bark)}
.calendar-week-nav{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;justify-items:center;gap:8px 10px;margin:0 0 12px}
.cal-nav-btn{position:relative;width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(61,69,60,.14);background:rgba(255,255,255,.75);color:var(--ink);font-size:18px;line-height:1;cursor:pointer}
/* Invisible 44px hit area so the small circle stays visually light but is easy to tap. */
.cal-nav-btn::after{content:"";position:absolute;inset:-6px;border-radius:50%}
.cal-nav-btn:hover{border-color:var(--moss);background:#fff}
.cal-nav-label{font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:var(--ink);min-width:0;max-width:100%;text-align:center}
.cal-nav-today{grid-column:1/-1;justify-self:center;border:none;background:transparent;color:var(--moss-ink);font-size:12px;font-weight:700;cursor:pointer;text-decoration:underline}
.cal-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.cal-view-toggle{display:inline-flex;background:rgba(255,255,255,.55);border-radius:999px;padding:3px;border:1px solid rgba(61,69,60,.1)}
.cal-view-btn{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:999px;padding:8px 14px;min-height:34px;font-family:inherit;font-size:11px;font-weight:700;color:var(--bark);cursor:pointer}
.cal-view-btn.on{background:var(--ink);color:var(--beige)}

.cal-phase{margin:0 0 12px;font-size:13px;color:var(--bark);min-height:0}
.cal-phase-card{background:rgba(255,255,255,.72);border:1.5px solid rgba(61,69,60,.1);border-left:3.5px solid var(--moss);border-radius:14px;padding:12px 14px}
.cal-phase-card-title{font-family:'Fraunces',serif;font-size:16px;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:8px;line-height:1.25}
.cal-phase-dot{width:8px;height:8px;border-radius:50%;background:var(--moss);flex-shrink:0}
.cal-phase-card-tip{font-size:12.5px;color:var(--bark);margin:8px 0 0;line-height:1.45;font-style:italic}
.cal-phase-pill{display:inline-block;background:#eef2ec;color:var(--green);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 10px;margin-right:8px}
.cal-phase-tip{font-size:12.5px;color:var(--bark-soft)}

.cal-setup{margin:0 0 14px;padding:0;border:none;background:transparent}
.cal-setup-bubble{border:1.5px solid rgba(61,69,60,.14);border-radius:14px;background:rgba(255,255,255,.55);overflow:hidden}
.cal-setup-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border:none;background:transparent;cursor:pointer;font-family:inherit;text-align:left}
.cal-setup-toggle:hover{background:rgba(255,255,255,.35)}
.cal-setup-toggle-label{font-family:'Fraunces',serif;font-size:16px;font-weight:500;color:#000;line-height:1.2}
.cal-setup-toggle-meta{font-size:12px;font-weight:600;color:rgba(0,0,0,.55);margin-top:2px}
.cal-setup-chevron{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.7);color:var(--ink);display:grid;place-items:center;font-size:11px;font-weight:700;transition:transform .2s}
.cal-setup-bubble.is-open .cal-setup-chevron{transform:rotate(180deg)}
.cal-setup-body{padding:0 14px 14px;border-top:1px solid rgba(61,69,60,.08)}
.cal-setup-title{display:none}
.cal-setup-actions{display:flex;flex-direction:column;gap:8px;margin:12px 0 8px}
.cal-setup-actions .btn,
.cal-setup-actions .btn-ghost{width:100%;text-align:center;padding:12px 18px;font-size:14px}
.cal-setup-hint{font-size:12.5px;color:var(--bark);line-height:1.45;margin:0}
.cal-setup-hint p{margin:0 0 8px}
.cal-setup-hint p:last-child{margin-bottom:0}
.cal-setup-weeks{margin:8px 0 10px;padding-left:1.2em;font-size:12.5px;color:var(--bark);line-height:1.5}
.cal-setup-weeks li{margin:0 0 4px}
.cal-setup-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:12px}
.cal-setup-mode{font-size:13px;font-weight:700;color:var(--green)}
.cal-setup-switch{border:none;background:transparent;color:var(--moss-ink);font-size:12.5px;font-weight:700;cursor:pointer;text-decoration:underline;font-family:inherit}

.cal-grid-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.cal-grid-month{display:block;background:rgba(255,255,255,.55);border-radius:16px;padding:12px 10px 14px;border:1px solid rgba(61,69,60,.08)}
.cal-month-dows{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:8px}
.cal-month-dows span{text-align:center;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bark-soft);padding:2px 0}
.cal-month-cells{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}

.cal-cell{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-height:72px;border:1.5px solid transparent;background:rgba(255,255,255,.9);border-radius:12px;padding:7px 6px 8px;transition:border-color .15s,box-shadow .15s;font-family:inherit;color:inherit;width:100%;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.cal-cell.week{min-height:200px;cursor:default;border-color:rgba(61,69,60,.1)}
.cal-cell.week:focus-visible{outline:3px solid rgba(200,162,74,.75);outline-offset:2px}
.cal-cell.on{border-color:var(--moss);box-shadow:0 0 0 1px rgba(107,143,107,.25);background:#fff}
.cal-cell.today .cal-cell-num{color:var(--moss-ink)}
.cal-cell.out{opacity:.38}
.cal-cell-top{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}
.cal-dow{display:block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bark-soft)}
.cal-cell-num{font-family:'Fraunces',serif;font-size:11px;font-weight:600;color:var(--ink);line-height:1.1}
.cal-cell.week .cal-cell-num{font-size:16px}
.cal-cell-add{position:relative;border:none;background:transparent;color:var(--bark-soft);font-size:16px;line-height:1;cursor:pointer;padding:8px 10px;min-width:32px;min-height:32px;border-radius:8px}
.cal-cell-add::after{content:"";position:absolute;inset:-6px}
.cal-cell-add:hover{background:rgba(61,69,60,.06);color:var(--green)}
.cal-cell-bars{display:flex;flex-direction:column;gap:3px;margin-top:auto;min-height:0;width:100%}
.cal-cell-markers{display:flex;flex-direction:column;gap:3px;margin-top:auto;min-height:0;width:100%}
.cal-cell-dots-top{margin-top:1px;margin-bottom:0;flex-shrink:0}
.cal-cell-team-chips{display:flex;flex-direction:column;gap:4px;margin-top:auto;width:100%}
.cal-bar{position:relative;display:block;height:5px;border-radius:999px;width:100%;background:var(--green-soft)}
.cal-bar.cat-content{background:#7a9a78}
.cal-bar.fmt-reel{background:#3d5a4a}
.cal-bar.fmt-carousel{background:#a67c5d}
.cal-bar.fmt-story{background:#9a6b73}
.cal-bar.fmt-single{background:#7a8468}
.cal-bar.fmt-facebook{background:#5c6b73}
.cal-bar.cat-outreach{background:#6a8fad}
.cal-bar.cat-followup{background:#c4a35a}
.cal-bar.cat-personal{background:#9a8b72}
.cal-bar.cat-rest{background:#a8b8aa}
.cal-bar.cat-team{background:#5c665a}
.cal-bar.cat-team.is-gathering{background:#5c665a}
.cal-bar.cat-team.is-infozoom{background:#d9a93f}
.cal-bar.cat-team.is-milestone{background:#c4a35a}
.cal-bar.cat-team.is-inperson{background:#abb09a}
.cal-bar.cat-team.is-personal{background:#3d453c}
.cal-bar.has-replay{box-shadow:inset -10px 0 0 rgba(232,200,106,.95)}
.cal-bar-row{display:flex;align-items:center;gap:3px;width:100%;min-width:0}
.cal-bar-row .cal-bar{flex:1;width:auto;min-width:0}
.cal-bar-star{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:10px;font-size:10px;line-height:1;color:#c8a24a
}
.cal-bar.is-posted{outline:1.5px solid rgba(200,162,74,.85);outline-offset:0}
.cal-bar.is-skipped{opacity:.35}
.cal-bar.ghost{background:transparent;border:1.5px dashed rgba(61,69,60,.28);height:3px}
.cal-cell-dots{display:flex;flex-wrap:wrap;gap:3px;align-items:center;width:100%;min-height:6px}
.cal-cell-dots.is-interactive{gap:5px;margin-top:2px}
.cal-cell-dots.cal-cell-dots-top.is-interactive{margin-top:4px;margin-bottom:6px}
.cal-dot,.cal-dot-btn{
  width:7px;height:7px;border-radius:50%;flex-shrink:0;border:none;padding:0;
  background:var(--green-soft);box-sizing:border-box
}
.cal-dot-btn{cursor:pointer;position:relative}
.cal-dot-btn::after{content:"";position:absolute;inset:-12px}
.cal-mark,.cal-mark-btn{
  width:7px;height:7px;flex-shrink:0;border:none;padding:0;box-sizing:border-box;
  background:var(--green-soft)
}
.cal-mark-btn{cursor:pointer;position:relative}
.cal-mark-btn::after{content:"";position:absolute;inset:-12px}
/* Reach outs / follow-ups — small square */
.cal-mark.is-reach,.cal-mark-btn.is-reach{
  border-radius:2px;width:7px;height:7px;background:#4a7ab5
}
.cal-mark.is-reach.cat-followup,.cal-mark-btn.is-reach.cat-followup{background:#b88928}
/* Reminders — hollow ring */
.cal-mark.is-remind,.cal-mark-btn.is-remind{
  border-radius:50%;width:8px;height:8px;background:transparent;
  border:2px solid #8a7a63;box-shadow:none
}
.cal-mark.is-other,.cal-mark-btn.is-other{border-radius:2px;transform:rotate(45deg);width:6px;height:6px}
.cal-dot.cat-content,.cal-dot-btn.cat-content{background:#7a9a78}
.cal-dot.fmt-reel,.cal-dot-btn.fmt-reel{background:#3d5a4a}
.cal-dot.fmt-carousel,.cal-dot-btn.fmt-carousel{background:#a67c5d}
.cal-dot.fmt-story,.cal-dot-btn.fmt-story{background:#9a6b73}
.cal-dot.fmt-single,.cal-dot-btn.fmt-single{background:#7a8468}
.cal-dot.fmt-facebook,.cal-dot-btn.fmt-facebook{background:#5c6b73}
.cal-dot.cat-outreach,.cal-dot-btn.cat-outreach{background:#4a7ab5}
.cal-mark.is-lead-follow{
  border-radius:2px;width:7px;height:7px;background:transparent;
  border:1.5px dashed #b88928;box-sizing:border-box
}
.cal-mark.is-birthday{
  border-radius:50%;width:7px;height:7px;background:#c47a7a;
  box-sizing:border-box
}
.cal-dot.cat-followup,.cal-dot-btn.cat-followup{background:#c4a35a}
.cal-dot.cat-personal,.cal-dot-btn.cat-personal{background:#9a8b72}
.cal-dot.is-posted,.cal-dot-btn.is-posted,
.cal-mark.is-posted,.cal-mark-btn.is-posted{outline:1.5px solid rgba(200,162,74,.9);outline-offset:1px}
.cal-dot.is-skipped,.cal-dot-btn.is-skipped,
.cal-mark.is-skipped,.cal-mark-btn.is-skipped{opacity:.35}
.cal-dot.is-drafted,.cal-dot-btn.is-drafted,
.cal-mark.is-drafted,.cal-mark-btn.is-drafted{opacity:.85}
.cal-dot.is-ready,.cal-dot-btn.is-ready,
.cal-mark.is-ready,.cal-mark-btn.is-ready{outline:1.5px dashed var(--moss);outline-offset:1px}
.cal-dot-more{font-size:9px;font-weight:700;line-height:1;color:var(--bark-soft);letter-spacing:-.02em}
.cal-cell-chips{display:flex;flex-direction:column;gap:4px;flex:1}

.cal-week-sum{margin:14px 2px 0;padding:14px 4px 2px;border-top:1px solid rgba(61,69,60,.1)}
.cal-week-sum-head{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bark-soft);margin:0 0 12px}
.cal-week-sum-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
.cal-week-sum-stats strong{display:block;font-family:'Fraunces',serif;font-size:28px;font-weight:500;color:var(--ink);line-height:1}
.cal-week-sum-stats span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bark-soft);margin-top:5px}
.cal-week-sum-cats{display:flex;flex-wrap:wrap;gap:8px}
.cal-week-cat{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:12.5px;font-weight:700;line-height:1}
.cal-week-cat.cat-content{background:#e4ebe3;color:#2f3d2e}
.cal-week-cat.cat-outreach{background:#e4eaf0;color:#2d4050}
.cal-week-cat.cat-followup{background:#f3ead6;color:#5a4520}
.cal-week-cat.cat-personal{background:#ebe6de;color:#4a4034}
.cal-week-cat.cat-rest{background:#e8eee9;color:#3a4a3c}

.cal-day-detail{margin:14px 0 0;padding:14px;background:rgba(255,255,255,.78);border:1.5px solid rgba(61,69,60,.1);border-radius:16px}
.cal-day-detail[hidden]{display:none!important}
.cal-day-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.cal-day-detail-when{min-width:0;flex:1}
.cal-day-detail-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin-bottom:3px}
.cal-day-detail-title{font-family:'Fraunces',serif;font-size:20px;font-weight:500;color:var(--ink);min-width:0;overflow-wrap:anywhere}
.cal-day-detail-add{display:inline-flex;align-items:center;justify-content:center;border:none;background:var(--ink);color:var(--beige);border-radius:999px;padding:10px 14px;min-height:40px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.cal-day-detail-chips{display:flex;flex-direction:column;gap:6px}
.cal-day-detail-empty{font-size:13px;color:var(--bark);margin:0;line-height:1.45}

.cal-chip{display:flex;align-items:center;gap:5px;width:100%;border:none;border-radius:8px;padding:5px 7px;text-align:left;font-family:inherit;font-size:11px;font-weight:700;color:#fff;cursor:pointer;background:var(--green-soft)}
.cal-chip.cat-content{background:var(--green-mid)}
.cal-chip.cat-outreach{background:#4a7ab5}
.cal-chip.cat-followup{background:#b88928}
.cal-chip.cat-rest{background:#8fa896}
.cal-chip.cat-personal{background:#8a7a63}
.cal-chip.cat-team{background:#2f4638;color:#f5f6f2;outline:none}
.cal-chip.cat-team.is-gathering{background:#2f4638}
.cal-chip.cat-team.is-infozoom{background:#b88928;color:#fff8e8}
.cal-chip.cat-team.is-milestone{background:#6e5340;color:#f5f6f2}
.cal-chip.cat-team.is-inperson{background:#5d6e4e;color:#f5f6f2}
.cal-chip.cat-team.is-personal{background:#3d453c;color:#f5f6f2}
.cal-chip.cat-team.is-leader{box-shadow:none;padding-left:5px}
.cal-chip-star{
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  width:14px;height:14px;margin:0;padding:0;
  font-size:15px;line-height:1;color:#f0d078;
  text-shadow:none;box-shadow:none;filter:none
}
.cal-chip.cat-team.is-infozoom .cal-chip-star{color:#fff8e8}
.cal-chip.has-replay{outline:2px solid rgba(232,200,106,.75);outline-offset:1px}
.cal-chip.is-lead-follow{border-style:dashed}
.cal-chip.is-birthday{border-style:solid;border-color:#c47a7a}
.cal-chip.fmt-reel{background:#3d5a4a}
.cal-chip.fmt-carousel{background:#a67c5d}
.cal-chip.fmt-story{background:#9a6b73}
.cal-chip.fmt-single{background:#7a8468}
.cal-chip.fmt-facebook{background:#5c6b73}
.cal-chip.is-posted{outline:2px solid var(--gold-soft);outline-offset:1px}
.cal-chip.is-drafted{opacity:.92}
.cal-chip.is-ready{outline:1.5px dashed var(--moss);outline-offset:1px}
.cal-chip.is-skipped{opacity:.45}
.cal-chip.ghost{background:transparent;color:var(--green);border:1.5px dashed var(--sand);font-weight:600}
.cal-chip-ico{flex-shrink:0;font-size:12px;line-height:1}
.cal-chip-fmt{flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.9}
.cal-chip-txt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.cal-day-detail .cal-chip{padding:9px 11px;font-size:13px;border-radius:10px}
.cal-day-detail-adds{display:flex;gap:6px;flex-shrink:0;align-items:center}
.cal-day-detail-add.is-team{background:var(--green);color:#fff;border-color:var(--green)}
.cal-day-detail-add.is-mine{background:var(--ink);color:var(--beige)}
.cal-cell-adds{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.cal-cell-add.is-team{font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 6px;opacity:.95}
.cal-cell-add.is-mine{font-size:10px;font-weight:700;letter-spacing:.02em;padding:2px 6px;opacity:.95}
.org-event-when{margin:0 0 8px;font-family:'Fraunces',serif;font-size:20px;color:var(--green);line-height:1.3}
.org-event-place{margin:0 0 10px;font-size:14px;color:var(--bark)}
.org-event-blurb{margin:0 0 16px;font-size:15px;line-height:1.5;color:var(--green-mid)}
/* Beat .btn{display:inline-block} so flex centering actually sticks on <a> CTAs. */
.org-event-actions .btn.org-event-join,
a.btn.org-event-join{
  display:flex;width:100%;justify-content:center;align-items:center;
  margin:0;text-decoration:none;text-align:center;box-sizing:border-box
}
.org-event-admin-row{display:flex;gap:8px;margin:16px 0 8px;padding-top:14px;border-top:1px solid var(--sand)}
.org-event-hint{margin:0 0 12px;font-size:12px;color:var(--bark-soft);line-height:1.4}
.cal-sheet-panel.is-org-event{background:linear-gradient(180deg,#f7f5ef 0%,var(--paper) 42%)}
.cal-sheet-panel.is-org-event .cal-sheet-kicker{color:#9a7a2e;letter-spacing:.18em}
.cal-sheet-panel.is-org-event .cal-sheet-head{align-items:center;margin-bottom:12px}
.cal-sheet-panel.is-org-event .cal-sheet-head h2{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0
}
.org-event-hero{margin:0 0 18px;padding:20px 18px 18px;border-radius:18px;background:linear-gradient(145deg,#1f2a22 0%,#3d5a4a 58%,#2f4638 100%);color:#f5f6f2;box-shadow:0 14px 34px rgba(31,42,34,.22);border:1.5px solid rgba(200,162,74,.35)}
.org-event-hero.kind-infozoom{background:linear-gradient(145deg,#243442 0%,#3d5a73 55%,#2f4a5c 100%);border-color:rgba(154,184,210,.45)}
.org-event-hero.kind-milestone{background:linear-gradient(145deg,#3a3228 0%,#5a4a38 55%,#4a4034 100%);border-color:rgba(200,162,74,.3)}
.org-event-hero.kind-in_person{background:linear-gradient(145deg,#2a342c 0%,#3d4a3f 55%,#334038 100%)}
.org-event-hero-kicker{margin:0 0 8px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(232,200,106,.95);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.org-event-hero.kind-infozoom .org-event-hero-kicker{color:rgba(186,214,232,.95)}
.org-event-replay-pill{
  display:inline-flex;align-items:center;letter-spacing:.1em;font-size:9px;
  padding:3px 8px;border-radius:999px;background:rgba(232,200,106,.22);
  color:rgba(255,236,180,.98);border:1px solid rgba(232,200,106,.45)
}
.org-event-leader-pill{
  display:inline-flex;align-items:center;gap:4px;letter-spacing:.08em;font-size:9px;
  padding:3px 8px;border-radius:999px;background:rgba(232,200,106,.28);
  color:#fff3c4;border:1px solid rgba(232,200,106,.55)
}
.org-event-hero.is-leader{border-color:rgba(232,200,106,.6)}
.org-event-repeat{margin:0 0 8px;font-size:13px;color:rgba(245,246,242,.78)}
.org-event-star-row{
  display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;padding:12px 14px;
  border-radius:14px;background:rgba(232,200,106,.1);border:1.5px solid rgba(200,162,74,.28)
}
.org-event-star-btn{
  flex-shrink:0;width:44px;height:44px;border-radius:12px;border:1.5px solid rgba(200,162,74,.4);
  background:var(--white);font-size:22px;line-height:1;color:rgba(154,122,46,.4);cursor:pointer
}
.org-event-star-btn.is-on,.org-event-star-btn[aria-pressed="true"]{
  background:#3d5a4a;border-color:#c8a24a;color:#f0d078
}
#orgEventKind:disabled{
  opacity:.72;color:var(--green);background:rgba(232,200,106,.12);border-color:rgba(200,162,74,.45)
}
.org-event-star-label{margin:0 0 2px;font-size:14px;font-weight:700;color:var(--green)}
.org-event-twin-note{
  margin:0 0 12px;padding:10px 12px;border-radius:12px;background:rgba(61,90,74,.1);
  border:1px solid rgba(61,90,74,.18);font-size:13px;line-height:1.45;color:var(--bark)
}
.org-event-copy-grove{
  display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:14px;font-weight:700;color:var(--green);cursor:pointer
}
.org-event-copy-grove input{width:18px;height:18px;accent-color:var(--moss)}
.org-event-hero.has-replay{border-color:rgba(232,200,106,.55)}
.org-event-join.is-replay{background:linear-gradient(135deg,#3d5a4a,#2f4638)}
.org-event-actions .btn.org-event-join.is-early,
a.btn.org-event-join.is-early{
  background:transparent;color:var(--green);border:1.5px solid rgba(61,90,74,.38);font-weight:700
}
.yt-embed{
  position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;
  background:#1f2a22;margin:0 0 16px;box-shadow:0 10px 24px rgba(31,42,34,.18);
  border:1.5px solid rgba(200,162,74,.35)
}
.yt-embed-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.yt-embed-poster{
  position:absolute;inset:0;width:100%;height:100%;border:none;padding:0;cursor:pointer;
  background:#1f2a22;color:#fff;text-decoration:none;display:block;box-sizing:border-box
}
.yt-embed-poster img{width:100%;height:100%;object-fit:cover;display:block}
.yt-embed-play{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:58px;height:58px;border-radius:50%;
  background:rgba(31,42,34,.78);border:2px solid rgba(232,200,106,.85);
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.28)
}
.yt-embed-play svg{margin-left:2px}
.yt-embed-poster:hover .yt-embed-play,
.yt-embed-poster:focus-visible .yt-embed-play{background:rgba(61,90,74,.95)}
.yt-embed.is-playing{border-color:rgba(232,200,106,.55)}
.field-optional{font-weight:500;letter-spacing:0;text-transform:none;opacity:.65;font-size:12px}
.field .field-hint{margin:6px 0 0;font-size:13.5px;color:var(--bark-soft);line-height:1.4}
.org-event-hero-title{margin:0 0 16px;font-family:'Fraunces',serif;font-size:clamp(26px,5.5vw,34px);font-weight:500;line-height:1.15;color:#fff}
.org-event-hero-when,.org-event-hero-place{margin:0 0 10px;font-size:15px;line-height:1.45;color:rgba(245,246,242,.92)}
.org-event-hero-place{margin-bottom:0}
.org-event-hero-when-label{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,246,242,.55);margin-bottom:3px}
.org-event-hero-tz{display:block;margin-top:3px;font-size:12px;color:rgba(245,246,242,.62)}
.org-event-note{margin:0 0 18px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.72);border:1px solid var(--sand)}
.org-event-note p{margin:0;font-size:15px;line-height:1.55;color:var(--green-mid)}
.org-event-actions{display:grid;gap:10px;margin:0 0 8px}
.org-event-cal-btn{width:100%;justify-content:center}
.org-event-invite-btn{width:100%}
.org-event-invite-hint{margin:-2px 0 0;font-size:12px;line-height:1.4;color:var(--bark-soft);text-align:center}
.org-event-join-wait{margin:0;padding:12px 14px;border-radius:12px;background:rgba(171,176,154,.22);border:1px dashed rgba(61,69,60,.22);font-size:13px;line-height:1.45;color:var(--bark)}
.org-event-done{width:100%;margin-top:8px}
.org-event-kit{margin:16px 0 8px;padding:14px 16px;border-radius:14px;background:rgba(61,90,115,.08);border:1px solid rgba(61,90,115,.18)}
.org-event-kit-label{margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bark-soft)}
.org-event-kit-blurb{margin:0 0 12px;font-size:13px;line-height:1.45;color:var(--bark)}
.org-event-kit-btn{width:100%;justify-content:flex-start;text-align:left;margin:0 0 8px}
.org-event-kit-btn:last-child{margin-bottom:0}
.org-event-guests{
  margin:16px 0 8px;padding:14px 16px;border-radius:14px;
  background:rgba(61,90,115,.08);border:1px solid rgba(61,90,115,.18)
}
.org-event-guests-label{
  margin:0 0 4px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bark-soft)
}
.org-event-guests-count{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--green)}
.org-event-guests-empty{margin:0 0 10px;font-size:13px;line-height:1.45;color:var(--bark);font-style:italic}
.org-event-guest-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.org-event-guest{
  display:grid;gap:8px;padding:10px 11px;border-radius:12px;
  background:var(--white);border:1.5px solid var(--sand)
}
.org-event-guest-name{font-size:15px;font-weight:600;color:var(--green);line-height:1.3}
.org-event-guest-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.org-event-guest-chip{
  appearance:none;border:1.5px solid var(--sand);background:var(--white);color:var(--bark);
  border-radius:999px;padding:6px 11px;font:inherit;font-size:12px;font-weight:700;cursor:pointer
}
.org-event-guest-chip.on{background:#3d5a73;border-color:#3d5a73;color:#f3f7fa}
.org-event-guest-chip.on.is-call{background:#3d5a4a;border-color:#3d5a4a;color:#f5f6f2}
.org-event-guest-clear{
  appearance:none;border:none;background:transparent;margin-left:auto;
  font:inherit;font-size:12px;font-weight:600;color:var(--bark-soft);cursor:pointer;padding:6px 4px
}
.org-event-guest-clear:hover{color:var(--green)}
.org-event-guest-add{margin:0;border:1.5px dashed rgba(61,90,115,.28);border-radius:12px;background:rgba(255,255,255,.55);overflow:hidden}
.org-event-guest-add-sum{
  list-style:none;cursor:pointer;padding:10px 12px;font-size:13.5px;font-weight:700;color:var(--green)
}
.org-event-guest-add-sum::-webkit-details-marker{display:none}
.org-event-guest-add-sum::marker{content:""}
.org-event-guest-add-body{padding:0 12px 12px;display:grid;gap:8px}
.org-event-guest-search{
  width:100%;box-sizing:border-box;border:1.5px solid var(--sand);border-radius:12px;
  background:var(--white);padding:10px 12px;font:inherit;font-size:14px;color:var(--green)
}
.org-event-guest-search:focus{outline:none;border-color:var(--moss)}
.org-event-guest-results{display:grid;gap:6px}
.org-event-guest-pick{
  appearance:none;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  text-align:left;border:1.5px solid var(--sand);border-radius:12px;background:var(--white);
  padding:9px 12px;font:inherit;cursor:pointer;color:var(--green)
}
.org-event-guest-pick:hover{border-color:var(--moss);background:#eef2ec}
.org-event-guest-pick span:first-child{font-size:14px;font-weight:600}
.org-event-guest-pick-meta{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bark-soft)}

.cal-select,.cal-input{
  width:100%;
  border:1.5px solid var(--sand);
  border-radius:12px;
  background:var(--white);
  padding:11px 12px;
  font-family:inherit;
  font-size:14px;
  color:var(--green);
  appearance:none;
  -webkit-appearance:none;
}
.cal-select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a9284' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
  padding-right:32px;
}
.cal-select:focus,.cal-input:focus{outline:none;border-color:var(--moss)}
.cal-todo-hint{font-size:12.5px;color:var(--bark);line-height:1.4;margin:2px 0 10px}
.cal-todo-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.cal-todo-row{display:flex;align-items:center;gap:8px}
.cal-todo-row input[type="checkbox"]{width:24px;height:24px;flex:0 0 24px;margin:0;accent-color:var(--green)}
.cal-todo-row .cal-input{padding:9px 10px}
.cal-todo-row.is-done .cal-input{text-decoration:line-through;color:var(--bark-soft)}
.cal-todo-x{border:none;background:transparent;font-size:22px;line-height:1;color:var(--bark-soft);cursor:pointer;padding:10px 8px;min-width:44px;min-height:44px;flex:0 0 auto}
.cal-todo-x:hover{color:var(--green)}
.cal-sheet-body .cal-todo .cal-input{touch-action:auto;-webkit-user-select:text;user-select:text}
.cal-status-field{margin:0 0 16px}
.cal-status-row{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0}
.cal-status-btn{border:1.5px solid var(--sand);background:var(--white);border-radius:999px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:700;color:var(--bark);cursor:pointer}
.cal-status-btn.on{background:var(--green);border-color:var(--green);color:#fff}
.cal-type-picks{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.cal-type-pick{border:1.5px solid var(--sand);background:var(--white);border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12.5px;font-weight:650;color:var(--bark);cursor:pointer;line-height:1.2}
.cal-type-pick.on{background:var(--green);border-color:var(--green);color:#fff}
.cal-sheet-actions{display:flex;flex-wrap:wrap;gap:8px}
.cal-sheet-footer{
  margin-top:12px;
  padding-top:14px;
  border-top:1px solid rgba(61,69,60,.1);
}

.cal-sheet{position:fixed;inset:0;z-index:85;display:flex;justify-content:flex-end}
.cal-sheet[hidden]{display:none!important}
.cal-sheet-backdrop{position:absolute;inset:0;border:none;background:rgba(61,69,60,.4);cursor:pointer}
.cal-sheet-panel{position:relative;z-index:1;width:min(440px,100vw);height:100%;background:var(--paper);padding:22px 20px 40px;overflow-y:auto;box-shadow:-8px 0 40px rgba(61,69,60,.2);animation:calSheetIn .3s var(--ease)}
@keyframes calSheetIn{from{transform:translateX(24px);opacity:.7}to{transform:none;opacity:1}}
.cal-sheet-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}
.cal-sheet-kicker{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--moss-ink)}
.cal-sheet-head h2{font-family:'Fraunces',serif;font-size:26px;font-weight:500;color:var(--green);margin:4px 0 0;line-height:1.15}
.cal-sheet-x{position:relative;border:none;background:transparent;font-size:28px;line-height:1;color:var(--bark-soft);cursor:pointer}
.cal-sheet-x::after{content:"";position:absolute;inset:-8px}
.cal-sheet-body .field{margin-bottom:12px}
.cal-sheet-body textarea{width:100%;border:1.5px solid var(--sand);border-radius:12px;background:var(--white);padding:12px 14px;font-family:inherit;font-size:14.5px;color:var(--green);resize:vertical;min-height:140px}
.cal-sheet-body textarea:focus{outline:none;border-color:var(--moss)}
/* Let long-press select/copy work inside the card sheet (body uses touch-action:manipulation). */
.cal-sheet-body textarea,
.cal-sheet-body input.cal-input{
  touch-action:auto;
  -webkit-user-select:text;
  user-select:text;
}

.cal-library{margin:18px 0 22px;padding:16px 16px 14px;background:var(--white);border:1.5px solid var(--sand);border-radius:16px;box-shadow:var(--shadow)}
.cal-library-head{margin:0 0 4px}
.cal-library-title{font-family:'Fraunces',serif;font-size:22px;font-weight:500;color:var(--ink);margin:0 0 6px;line-height:1.2}
.cal-library-intro{font-size:13.5px;color:var(--bark);line-height:1.5;margin:0 0 10px}
.cal-library-target{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--ink);background:var(--beige);border-radius:999px;padding:5px 10px;margin:0 0 12px}
.cal-library-tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;margin-bottom:8px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.cal-lib-tab{flex:0 0 auto;border:1.5px solid var(--sand);background:var(--paper);border-radius:999px;padding:7px 12px;font-family:inherit;font-size:12px;font-weight:700;color:var(--bark);cursor:pointer}
.cal-lib-tab.on{background:var(--ink);border-color:var(--ink);color:var(--beige)}
.cal-lib-hint{font-size:12.5px;color:var(--bark);margin:0 0 10px;line-height:1.45}
.cal-library-list{display:flex;flex-direction:column;gap:8px}
  /* ── Curiosity photos CTA (Tend) ── */
.curio-photos-cta{display:block;width:100%;text-align:left;border:none;cursor:pointer;margin:0 0 18px;padding:22px 22px 20px;border-radius:18px;background:linear-gradient(145deg,#f3ecd8 0%,#e8ebe3 55%,#dfe4d6 100%);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.curio-photos-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(61,69,60,.14)}
.curio-photos-cta-eyebrow{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:rgba(255,255,255,.65);border-radius:999px;padding:4px 9px;margin-bottom:10px}
.curio-photos-cta-title{display:block;font-family:'Fraunces',serif;font-size:28px;font-weight:500;color:#000;line-height:1.15;margin:0 0 8px}
.curio-photos-cta-sub{display:block;font-size:14px;line-height:1.5;color:rgba(0,0,0,.72);max-width:34em;margin:0 0 14px}
.curio-photos-cta-go{display:inline-block;font-size:13.5px;font-weight:700;color:var(--ink);background:#fff;border-radius:999px;padding:8px 14px}

.curio-photos{max-width:820px}
.curio-photos-tools{
  position:static;
  z-index:auto;
  background:transparent;
  margin:0 0 12px;
  padding:0 0 10px;
  border-bottom:none;
}
.curio-photos-nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 10px;padding:0}
.curio-photos-tools .prod-search{margin:0 0 8px}
.curio-photo-chip-scroller{
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  margin:0 -2px;
  padding:2px 2px 4px;
}
.curio-photo-chip-scroller::-webkit-scrollbar{display:none}
.curio-photo-chips{display:flex;flex-wrap:nowrap;gap:8px;width:max-content}
.curio-photo-chips .vault-filter-chip{flex:0 0 auto;white-space:nowrap}
.curio-photos-title{font-family:'Fraunces',serif;font-size:34px;font-weight:500;color:var(--ink);line-height:1.1;margin:0 0 10px}
.curio-photos-intro{font-size:15px;line-height:1.55;color:var(--bark);margin:0 0 22px;max-width:38em}
.curio-photo-section{margin:0 0 28px}
.curio-photo-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 4px}
.curio-photo-section-title{font-family:'Fraunces',serif;font-size:22px;font-weight:500;color:var(--green);margin:0;line-height:1.2}
.curio-photo-section-count{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--moss-ink)}
.curio-photo-section-hint{font-size:13px;line-height:1.45;color:var(--bark);margin:0 0 12px}
.curio-photo-circles{display:flex;flex-wrap:wrap;gap:18px 16px;justify-content:flex-start;padding:4px 0 8px}
.curio-photo-circle{appearance:none;-webkit-appearance:none;border:none;background:transparent;padding:0;width:104px;cursor:pointer;font-family:inherit;text-align:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.curio-photo-circle-img-wrap{display:block;width:88px;height:88px;margin:0 auto 8px;border-radius:50%;overflow:hidden;border:2.5px solid var(--sand);box-shadow:var(--shadow);background:var(--beige);transition:border-color .2s,transform .15s}
.curio-photo-circle:hover .curio-photo-circle-img-wrap,
.curio-photo-circle:focus-visible .curio-photo-circle-img-wrap{border-color:var(--moss);transform:scale(1.04);outline:none}
.curio-photo-circle:active .curio-photo-circle-img-wrap{transform:scale(.97)}
.curio-photo-circle img{display:block;width:100%;height:100%;object-fit:cover}
.curio-photo-circle-label{display:block;font-size:12px;font-weight:700;color:var(--green);line-height:1.3}

.curio-lightbox{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:18px}
.curio-lightbox[hidden]{display:none!important}
.curio-lightbox-backdrop{position:absolute;inset:0;border:none;background:rgba(61,69,60,.5);cursor:pointer}
.curio-lightbox-panel{position:relative;z-index:1;width:min(440px,100%);max-height:min(92vh,720px);overflow:auto;background:var(--paper);border-radius:18px;padding:18px 18px 22px;box-shadow:0 16px 48px rgba(61,69,60,.28)}
.curio-lightbox-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.curio-lightbox-head h2{font-family:'Fraunces',serif;font-size:24px;font-weight:500;color:var(--green);margin:0;line-height:1.2}
.curio-lightbox-x{position:relative;border:none;background:transparent;font-size:28px;line-height:1;color:var(--bark-soft);cursor:pointer}
.curio-lightbox-x::after{content:"";position:absolute;inset:-8px}
.curio-lightbox-cat{display:inline-block;margin:0 0 10px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);background:var(--beige);border-radius:999px;padding:4px 9px}
.curio-lightbox-hint{font-size:13.5px;line-height:1.45;color:var(--bark);margin:0 0 14px;padding:10px 12px;background:var(--beige);border-radius:12px}
.curio-lightbox-img{display:block;width:100%;max-height:min(62vh,520px);object-fit:contain;border-radius:14px;background:var(--beige);border:1.5px solid var(--sand);-webkit-touch-callout:default;user-select:none}
.curio-lightbox-pairs{font-size:12.5px;color:var(--bark);margin:12px 0 0;line-height:1.4}

.cal-lib-card{display:flex;align-items:stretch;gap:12px;width:100%;text-align:left;font-family:inherit;background:var(--paper);border:1.5px solid var(--sand);border-radius:14px;padding:12px 14px;cursor:pointer;transition:border-color .2s,transform .15s,box-shadow .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.cal-lib-card:hover,.cal-lib-card:focus-visible{border-color:var(--moss);box-shadow:var(--shadow);outline:none}
.cal-lib-card:active{transform:scale(.99)}
.cal-lib-card-main{flex:1;min-width:0}
.cal-lib-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}
.cal-lib-card-title{font-size:14px;font-weight:700;color:var(--green);line-height:1.3}
.cal-lib-card-type{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--moss-ink);margin-bottom:3px}
.cal-lib-body{font-size:13px;color:var(--bark);line-height:1.45;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.cal-lib-open-hint{flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--moss-ink);background:var(--beige);border-radius:999px;padding:6px 10px;white-space:nowrap}
.cal-lib-sheet-figure{margin:0 0 16px}
.cal-lib-sheet-img{display:block;width:100%;max-height:min(52vh,420px);object-fit:contain;border-radius:14px;background:var(--beige);border:1.5px solid var(--sand)}
.cal-lib-sheet-cap{font-size:12px;color:var(--bark);margin-top:8px;line-height:1.4}
.cal-lib-sheet-target{font-size:12.5px;color:var(--bark);margin:0 0 14px;line-height:1.4}
.cal-lib-sheet-hint{display:block;font-size:12px;color:var(--bark);margin-top:6px;line-height:1.4}
.cal-lib-add{flex-shrink:0;border:none;background:var(--ink);color:var(--beige);border-radius:999px;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.cal-lib-add:hover{background:var(--green-mid)}
.small-btn{padding:8px 14px;font-size:12.5px}

/* ── product learning library ── */
.prod-know-cta{display:block;width:100%;text-align:left;border:none;cursor:pointer;margin:0 0 14px;padding:22px 22px 20px;border-radius:18px;background:linear-gradient(145deg,#f3ecd8 0%,#e8ebe3 55%,#dfe4d6 100%);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;box-sizing:border-box}
a.prod-know-cta{font:inherit}
.prod-know-cta[aria-disabled]{cursor:default;opacity:.78;pointer-events:none}
.prod-know-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(61,69,60,.14)}
.prod-know-cta-eyebrow{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:rgba(255,255,255,.65);border-radius:999px;padding:4px 9px;margin-bottom:10px}
.prod-know-cta-title{display:block;font-family:'Fraunces',serif;font-size:28px;font-weight:500;color:#000;line-height:1.15;margin:0 0 8px}
.prod-know-cta-sub{display:block;font-size:14px;line-height:1.5;color:rgba(0,0,0,.72);max-width:34em;margin:0 0 14px}
.prod-know-cta-go{display:inline-block;font-size:13.5px;font-weight:700;color:var(--ink);background:#fff;border-radius:999px;padding:8px 14px}
.know-leader-btn{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  box-sizing:border-box;
  margin:0 0 16px;
  padding:14px 16px;
  border-radius:14px;
  border:1.5px solid rgba(217,169,63,.42);
  background:linear-gradient(180deg,#fbf6e6 0%,#f3e8c4 100%);
  box-shadow:0 2px 10px rgba(184,137,40,.12);
  font:inherit;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  text-align:left;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:transform .2s,box-shadow .2s,border-color .2s
}
.know-leader-btn:hover,.know-leader-btn:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 6px 18px rgba(184,137,40,.18);
  border-color:rgba(201,146,46,.65);
  outline:none
}
.know-leader-btn-ico{
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#fff8e6;
  border:1.5px solid rgba(217,169,63,.4);
  font-size:15px;
  line-height:1
}
.know-leader-btn-text{
  flex:1;
  min-width:0;
  font-family:'Fraunces',serif;
  font-size:18px;
  font-weight:500;
  color:var(--green);
  line-height:1.25
}
.know-leader-btn-go{
  flex-shrink:0;
  font-size:13px;
  font-weight:700;
  color:var(--ink);
  background:#fff8e6;
  border-radius:999px;
  padding:6px 12px
}
.leader-pdf-overlay{
  position:fixed;
  inset:0;
  z-index:110;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  isolation:isolate;
  background:var(--paper)
}
.leader-pdf-overlay[hidden]{display:none!important}
.leader-pdf-bar{
  position:relative;
  z-index:3;
  flex-shrink:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  padding:max(10px, env(safe-area-inset-top)) 14px 12px;
  border-bottom:1.5px solid var(--sand);
  background:var(--paper)
}
#leaderPdfBack{
  position:relative;
  z-index:4;
  min-height:44px;
  min-width:72px;
  pointer-events:auto;
}
.leader-pdf-bar-title{
  flex:1;
  font-size:15px;
  font-weight:700;
  color:var(--ink);
  line-height:1.3;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap
}
#leaderPdfSave,#leaderPdfShare{flex-shrink:0}
#leaderPdfSave[hidden],#leaderPdfShare[hidden]{display:none!important}
/* Keep a scroll inside the thing you're scrolling. Without this, hitting the end
   of a sheet hands the momentum to the page behind it, which reads as the app
   lurching or sticking mid-swipe. */
.rail,
.team-move-list,
.hub-menu-panel,
.hub-menu-scroll,
.cal-sheet-panel,
.curio-lightbox-panel,
.leader-pdf-pages,
.overlay,
.overlay.how-grow-overlay .how-grow-card,
.cheer-sheet .how-they-grow-card{
  overscroll-behavior:contain;
}

.leader-pdf-pages{
  position:relative;
  z-index:1;
  flex:1;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:10px 10px max(18px, env(safe-area-inset-bottom));
  background:var(--beige)
}
.leader-pdf-pages canvas{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  margin:0 auto 10px;
  background:#fff;
  box-shadow:var(--shadow);
  border-radius:8px
}
.leader-pdf-status{
  margin:24px 12px;
  font-size:14.5px;
  line-height:1.5;
  color:var(--bark);
  text-align:center
}
body.leader-pdf-open .bottom-nav{display:none!important}
.prod-lib-cta{display:block;width:100%;text-align:left;border:1.5px solid rgba(61,69,60,.12);cursor:pointer;margin:4px 0 16px;padding:16px 18px 15px;border-radius:16px;background:linear-gradient(145deg,#f7f4ee 0%,#eef2ec 60%,#e6eadf 100%);box-shadow:0 2px 14px rgba(61,69,60,.08);transition:transform .2s,box-shadow .2s,border-color .2s}
.prod-lib-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(61,69,60,.12);border-color:rgba(61,69,60,.2)}
.prod-lib-cta-eyebrow{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-mid);margin-bottom:6px}
.prod-lib-cta-title{display:block;font-family:'Fraunces',serif;font-size:22px;font-weight:500;color:var(--ink);line-height:1.2;margin:0 0 6px}
.prod-lib-cta-sub{display:block;font-size:13.5px;line-height:1.45;color:var(--bark);max-width:36em;margin:0 0 12px}
.prod-lib-cta-go{display:inline-block;font-size:12.5px;font-weight:700;color:var(--ink);background:rgba(255,255,255,.9);border-radius:999px;padding:7px 12px}
.prod-lib{max-width:820px}
.prod-lib-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin:0 0 18px;padding:10px 0 14px;border-bottom:1px solid rgba(61,69,60,.08);position:sticky;top:var(--fs-topbar-offset, 0px);z-index:6;background:var(--paper)}
.prod-lib-top.is-centered{justify-content:center}
.prod-lib-top.is-centered .prod-lib-switch{flex:0 1 auto}
.prod-lib-back{flex:0 0 auto}
.prod-lib-switch{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:3px;border-radius:999px;background:rgba(61,69,60,.08);border:1px solid rgba(61,69,60,.06);min-width:min(100%,260px);max-width:280px;margin:0 auto 16px}
.prod-lib-switch-btn{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--bark);border-radius:999px;padding:9px 12px;min-height:36px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;line-height:1.2;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,color .15s,box-shadow .15s}
.prod-lib-switch-btn.on{background:var(--white);color:var(--ink);box-shadow:0 1px 3px rgba(61,69,60,.12)}
.prod-scope-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px;width:fit-content;max-width:100%;margin:0 auto 12px;padding:3px;border-radius:999px;background:rgba(61,69,60,.08);border:1px solid rgba(61,69,60,.06)}
.prod-scope-link{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:var(--bark);font-family:inherit;font-size:13px;font-weight:700;padding:8px 16px;min-height:34px;border-radius:999px;cursor:pointer;line-height:1.2;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,color .15s,box-shadow .15s}
.prod-scope-link.on{background:var(--white);color:var(--ink);box-shadow:0 1px 3px rgba(61,69,60,.12)}
.prod-mode-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid rgba(61,69,60,.08)}
.prod-scope-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid rgba(61,69,60,.08)}
.ing-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 14px}
.ing-watch-chip{display:flex;align-items:center;gap:12px;width:100%;border:1.5px solid var(--sand);background:var(--white);border-radius:999px;padding:7px 16px 7px 7px;margin:0 0 14px;text-align:left;cursor:pointer;font-family:inherit;min-height:48px;transition:border-color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.ing-watch-chip:hover{border-color:var(--moss);box-shadow:var(--shadow)}
.ing-watch-chip-ico{flex:none;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--beige);font-size:15px;line-height:1}
.ing-watch-chip-title{font-size:15px;font-weight:700;color:var(--ink);line-height:1.2}
.ing-watch-search-wrap{position:relative;margin:0 0 10px}
.ing-watch-search-ico{position:absolute;left:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--beige);font-size:14px;line-height:1;pointer-events:none}
.ing-watch-search{width:100%;border:1.5px solid var(--sand);background:var(--white);border-radius:999px;padding:10px 16px 10px 46px;font-family:inherit;font-size:15px;color:var(--ink)}
.ing-watch-search:focus{outline:none;border-color:var(--moss)}
.ing-watch-meta{font-size:12.5px;color:var(--bark);margin:0 0 12px}
.prod-block .ing-watch-meta{font-size:12.5px;color:var(--bark);margin:0 0 12px}
.ing-avoid-group-head .ing-section-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin:0}
.ing-avoid-group{margin:0 0 16px}
.ing-avoid-group:last-child{margin-bottom:0}
.ing-avoid-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 8px}
.ing-avoid-group-go{appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;font:inherit;font-size:12.5px;font-weight:700;color:var(--green);cursor:pointer;text-decoration:underline;text-underline-offset:2px;white-space:nowrap}
.ing-topic-card{position:relative;border:1.5px solid var(--sand);background:var(--white);border-radius:16px;padding:18px 16px;text-align:left;cursor:pointer;font-family:inherit;transition:border-color .2s,transform .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.ing-topic-card:hover{border-color:var(--moss);transform:translateY(-1px);box-shadow:var(--shadow)}
.ing-hub-hint{font-size:13.5px;line-height:1.5;color:var(--bark);margin:4px 0 8px;max-width:36em}
.ing-section-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 8px}
.ing-topic-hits{margin:0 0 16px}
.ing-topic-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 4px}
.ing-list{display:flex;flex-direction:column;gap:10px}
.ing-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;border:1.5px solid var(--sand);background:var(--white);border-radius:16px;padding:14px 16px;text-align:left;cursor:pointer;font-family:inherit;transition:border-color .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.ing-row:hover{border-color:var(--moss);box-shadow:var(--shadow)}
.ing-row-featured{border-color:rgba(200,162,74,.4);background:linear-gradient(180deg,#fffef9,#fff)}
.ing-row-inci{display:block;font-family:'Fraunces',serif;font-size:17px;font-weight:500;color:#000;line-height:1.25;margin:0}
.ing-row-common{display:block;font-size:13.5px;line-height:1.4;color:var(--bark);margin:0}
.ing-row-alts{display:block;font-size:12px;line-height:1.4;color:var(--moss-ink);margin:2px 0 0}
.ing-row-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:4px}
.ing-row-roles{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--moss-ink)}
.ing-row-count{font-size:12px;font-weight:600;color:var(--bark);background:var(--beige);border-radius:999px;padding:3px 9px}
.ing-detail-hero{margin:0 0 18px;padding:22px 20px 20px;border-radius:20px;background:linear-gradient(160deg,#fffef9 0%,#f4f1e6 42%,#e8ebe3 100%);border:1.5px solid rgba(200,162,74,.28);box-shadow:0 10px 28px rgba(61,69,60,.06)}
.ing-detail-common{font-family:'Fraunces',serif;font-size:20px;font-style:italic;color:var(--green-mid);line-height:1.35;margin:0 0 12px}
.ing-detail-alts{font-size:13.5px;line-height:1.45;color:var(--bark);margin:-4px 0 14px}
.ing-detail-alts span{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink);margin-right:6px}
.ing-detail-count{font-size:13px;font-weight:700;color:var(--moss-ink);margin:8px 0 0}
.ing-block-lead{font-size:13.5px;line-height:1.5;color:var(--bark);margin:0 0 12px}
.ing-avoid-block{margin-top:8px}
.ing-avoid-list{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.ing-avoid-card{background:rgba(255,255,255,.72);border:1px solid rgba(232,216,206,.9);border-radius:14px;padding:14px 14px 12px}
.ing-avoid-name{font-family:'Fraunces',serif;font-size:17px;font-weight:500;color:#000;margin:0 0 6px;line-height:1.25}
.ing-avoid-examples{font-size:12.5px;line-height:1.45;color:var(--bark);margin:0 0 8px}
.ing-avoid-examples span{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink);margin-right:6px}
.ing-avoid-why{font-size:14px;line-height:1.55;color:var(--bark);margin:0}
.prod-nav-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 16px;padding:10px 0 12px;position:sticky;top:var(--fs-topbar-offset, 0px);z-index:6;background:var(--paper);border-bottom:1px solid rgba(61,69,60,.08)}
/* When the library mode bar is already sticky, don't stack a second sticky row on top of it */
.prod-lib-top + .prod-nav-bar{position:static;top:auto;padding-top:0}
.prod-pill{display:inline-flex;align-items:center;justify-content:center;appearance:none;-webkit-appearance:none;border:1.5px solid var(--sand);background:var(--white);color:var(--bark);border-radius:999px;padding:10px 14px;min-height:40px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;line-height:1.2;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.prod-pill.on{background:var(--ink);border-color:var(--ink);color:var(--beige)}
.prod-fav-btn{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:#c45c58;border-radius:10px;width:40px;height:40px;padding:0;margin:0;font-size:0;line-height:0;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .2s,background .2s,transform .15s}
.prod-fav-btn:hover{background:rgba(212,72,62,.1);transform:scale(1.06)}
.prod-fav-btn.on{color:#e24b4b;background:rgba(226,75,75,.12)}
.prod-fav-ico{display:block;width:18px;height:16.5px;flex:none;overflow:visible}
.prod-fav-detail{margin-left:auto;border:1.5px solid var(--sand);background:var(--white);border-radius:999px;width:40px;height:40px}
.prod-fav-detail:hover{border-color:#e24b4b}
.prod-fav-detail.on{background:#fdf4f2;border-color:#e8b4ae}
.home-step{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.prod-head-title{font-family:'Fraunces',serif;font-size:34px;font-weight:500;color:var(--ink);line-height:1.1;margin:0 0 8px}
.prod-head-sub{font-size:16px;line-height:1.55;color:var(--green);margin:0 0 16px;max-width:38em}
.leaders-sub-warn{font-weight:700;color:#8a4a3a;background:rgba(164,70,47,.18);padding:.12em .4em;border-radius:6px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.leaders-feedback{
  margin:18px 0 8px;
  padding:26px 0 0;
  border-top:1px solid rgba(61,69,60,.16)
}
.leaders-feedback[hidden]{display:none}
.leaders-feedback .prod-know-cta{margin-bottom:0}
.prod-search{width:100%;border:1.5px solid var(--sand);background:var(--white);border-radius:14px;padding:14px 16px;font-family:inherit;font-size:15px;color:var(--ink);margin:0 0 10px}
#prodScopeMount:empty{display:none}
.prod-search:focus{outline:none;border-color:var(--moss)}
.prod-search-meta{font-size:12.5px;color:var(--bark);margin:0 0 12px}
.prod-disclaimer{font-size:12.5px;line-height:1.5;color:var(--bark);background:var(--beige);border-radius:12px;padding:12px 14px;margin:22px 0 8px}
.prod-cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}
.prod-cat-card{position:relative;border:1.5px solid var(--sand);background:var(--white);border-radius:16px;padding:18px 16px;text-align:left;cursor:pointer;font-family:inherit;transition:border-color .2s,transform .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.prod-cat-card:hover{border-color:var(--moss);transform:translateY(-1px);box-shadow:var(--shadow)}
.prod-cat-card-label{display:block;font-family:'Fraunces',serif;font-size:22px;font-weight:600;color:#000;margin:0 0 6px;padding-right:40px}
.prod-cat-card-blurb{display:block;font-size:14.5px;line-height:1.45;color:var(--green)}
.prod-cat-card-count{position:absolute;top:12px;right:12px;font-size:12px;font-weight:700;color:var(--ink);background:var(--beige);border-radius:999px;min-width:28px;height:28px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center}
.prod-list{display:flex;flex-direction:column;gap:10px}
.prod-row{display:flex;align-items:center;gap:10px;width:100%;border:1.5px solid var(--sand);background:var(--white);border-radius:16px;padding:8px 8px 8px 10px;transition:border-color .2s,box-shadow .2s}
.prod-row:hover{border-color:var(--moss);box-shadow:var(--shadow)}
.prod-thumb{flex:0 0 auto;width:56px;height:56px;border-radius:50%;object-fit:contain;background:linear-gradient(160deg,#f7f5ef,#ebe8df);border:1px solid rgba(61,69,60,.08);padding:5px;box-sizing:border-box}
.prod-thumb-empty{display:inline-block;background:linear-gradient(160deg,#f3f0e8,#e5e2d8)}
.prod-thumb-detail{width:112px;height:112px;padding:8px;border-width:1.5px}
.prod-row-open{appearance:none;-webkit-appearance:none;flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;border:0;background:transparent;padding:6px 8px 6px 0;cursor:pointer;font-family:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.prod-fav-row{align-self:center}
.prod-row-name{display:block;font-family:'Fraunces',serif;font-size:18px;font-weight:600;color:#000;margin:0;line-height:1.25}
.prod-row-pocket,.prod-detail-pocket{display:inline-block;margin-top:2px;margin-right:6px;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--moss-ink);background:rgba(107,143,107,.12);border:1px solid rgba(107,143,107,.28);border-radius:999px;padding:4px 9px;line-height:1.2}
.prod-detail-pocket{margin:0 6px 10px 0}
button.prod-detail-pocket{appearance:none;-webkit-appearance:none;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.prod-detail-seal{color:var(--green);background:rgba(200,162,74,.14);border-color:rgba(200,162,74,.42)}
button.prod-detail-seal:hover,.prod-origin-note:hover{filter:brightness(.97)}
.prod-origin-note{display:block;width:100%;margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1px solid rgba(107,143,107,.28);background:rgba(255,255,255,.72);text-align:left;font-family:inherit;font-size:13.5px;line-height:1.5;color:var(--bark);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.prod-origin-note-kicker{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 4px}
.prod-detail-variant-note{font-size:13.5px;line-height:1.5;color:var(--bark);margin:0 0 14px;padding:12px 14px;border-radius:14px;background:rgba(200,162,74,.1);border:1px solid rgba(200,162,74,.28)}
.prod-detail-variant-note strong{font-weight:700;color:var(--ink)}
.prod-row-hero{display:block;font-size:12px;line-height:1.4;color:var(--bark);margin:0}
.prod-row-hero em{font-style:normal;font-weight:700;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin-right:5px}
.prod-detail-top{display:flex;align-items:flex-start;gap:16px;margin:0 0 14px}
.prod-detail-top-copy{flex:1;min-width:0}
.prod-detail-title{font-family:'Fraunces',serif;font-size:32px;font-weight:500;color:#000;line-height:1.1;margin:0 0 8px}
.prod-empty{font-size:14px;color:var(--bark);padding:18px 4px}
.prod-sub-row{display:flex;flex-wrap:wrap;gap:8px;background:var(--paper);padding:8px 0 10px;margin:0 0 14px;border-bottom:1px solid rgba(61,69,60,.06)}
.share-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.share-actions .btn,.share-actions .btn-ghost{text-align:center}
@media (max-width:640px){
  .share-actions .btn,.share-actions .btn-ghost{width:100%}
}
.share-fav-list ul{margin:0;padding:0 0 0 1.1em;color:var(--ink);line-height:1.55}
.share-fav-list li{margin:0 0 4px}
.share-fav-hint{font-size:13px;color:var(--bark);margin:10px 0 0;line-height:1.45}
.prod-detail-hero{margin:0 0 18px;padding:22px 20px 20px;border-radius:20px;background:linear-gradient(160deg,#fffef9 0%,#f4f1e6 42%,#e8ebe3 100%);border:1.5px solid rgba(200,162,74,.28);box-shadow:0 10px 28px rgba(61,69,60,.06)}
.prod-detail-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 10px}
.prod-detail-tagline{font-family:'Fraunces',serif;font-size:20px;font-style:italic;color:var(--green-mid);line-height:1.35;margin:0 0 12px}
.prod-detail-summary{font-size:15.5px;line-height:1.65;color:var(--ink);margin:0 0 14px;white-space:pre-wrap}
.prod-detail-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.prod-detail-chip{display:inline-block;font-size:12px;font-weight:600;line-height:1.3;color:var(--green);background:rgba(255,255,255,.72);border:1px solid rgba(107,143,107,.28);border-radius:999px;padding:6px 11px}
.prod-detail-claim{margin:0 0 14px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.78);border-left:3px solid var(--gold)}
.prod-detail-claim-label{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 6px}
.prod-detail-claim p{margin:0;font-family:'Fraunces',serif;font-size:17px;font-weight:500;line-height:1.4;color:#000}
.prod-acc-stack{display:flex;flex-direction:column;gap:10px;margin:4px 0 8px}
.prod-acc{background:var(--white);border:1.5px solid var(--sand);border-radius:16px;overflow:hidden;scroll-margin-top:72px}
.prod-acc summary{list-style:none;cursor:pointer;font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:var(--ink);padding:14px 44px 14px 16px;position:relative;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.prod-acc summary::-webkit-details-marker{display:none}
.prod-acc summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:'DM Sans',sans-serif;font-size:20px;font-weight:500;color:var(--moss-ink);line-height:1}
.prod-acc[open] summary::after{content:"–"}
.prod-acc-body{padding:0 16px 14px;border-top:1px solid var(--sand)}
.prod-acc-body p,.prod-acc-body li{font-size:14px;line-height:1.55;color:var(--bark);white-space:pre-wrap}
.prod-acc-body ul{margin:10px 0 0;padding-left:1.1em}
.prod-acc-body li{margin:0 0 6px;white-space:normal}
.prod-acc-body p{margin:10px 0 0}
.prod-photo-circles{padding:12px 0 6px;gap:14px 12px}
.prod-photo-circles .curio-photo-circle{width:92px}
.prod-photo-circles .curio-photo-circle-img-wrap{width:76px;height:76px}
.prod-nutrition-wrap{overflow:visible;margin:8px 0 2px}
.prod-nutrition-wrap table{width:100%;min-width:0;border-collapse:collapse;font-size:14px;line-height:1.35;color:var(--bark)}
.prod-nutrition-wrap th,
.prod-nutrition-wrap td{padding:8px 6px;border-bottom:1px solid rgba(61,69,60,.1);vertical-align:top;text-align:left}
.prod-nutrition-wrap th{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--green-mid);background:rgba(238,242,236,.85)}
.prod-nutrition-wrap td:nth-child(2),
.prod-nutrition-wrap th:nth-child(2),
.prod-nutrition-wrap td:nth-child(3),
.prod-nutrition-wrap th:nth-child(3){text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.prod-nutrition-wrap td:nth-child(2){white-space:normal;max-width:7.5em}
.prod-nutrition-wrap td:first-child{min-width:0;padding-right:10px;color:var(--ink);font-weight:500}
.prod-nutrition-sec td{font-weight:700;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--green-mid);background:rgba(238,242,236,.5);padding-top:14px}
.prod-nutrition-sub td:first-child{padding-left:14px;font-weight:400;color:var(--bark)}
.prod-nutrition-caption{margin:0 0 8px!important;font-size:12px!important;line-height:1.4!important;color:var(--bark-soft)!important;white-space:normal!important}
.prod-nutrition-notes{margin-top:12px!important;font-size:13px!important;line-height:1.5!important;color:var(--bark)!important;white-space:pre-wrap!important}
.prod-hero-list{list-style:disc;margin:12px 0 0;padding-left:1.15em}
.prod-hero-list li{margin:0 0 10px;padding-left:2px;line-height:1.45;color:var(--bark);white-space:normal}
.prod-hero-list strong{display:inline;font-weight:700;color:var(--ink)}
.prod-hero-list span{display:inline}
.prod-acc-note{margin-top:8px!important;font-size:12px!important;color:var(--bark-soft)!important;white-space:normal!important}
.prod-block{background:var(--white);border:1.5px solid var(--sand);border-radius:16px;padding:16px 16px 14px;margin:0 0 12px}
.prod-block h3{font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:var(--ink);margin:0 0 8px}
.prod-block p,.prod-block li{font-size:14px;line-height:1.55;color:var(--bark)}
.prod-block ul{margin:0;padding-left:1.1em}
.prod-block li{margin:0 0 6px}
.prod-block.claims{background:linear-gradient(180deg,#fffef9,#fff);border-color:rgba(217,169,63,.35)}
.prod-block.notfor{background:#fbf6f2;border-color:#e8d8ce}
.prod-source{margin:18px 0 8px;font-size:13px;color:var(--bark)}
.prod-source a{color:var(--green);font-weight:700}
@media (max-width:900px){
  .prod-cat-grid{grid-template-columns:1fr}
  .ing-topic-grid{grid-template-columns:1fr}
  .prod-know-cta-title{font-size:24px}
  .quiz-hero-title{font-size:24px}
  .prod-lib-cta{padding:14px 16px 13px;margin-bottom:14px}
  .prod-lib-cta-title{font-size:20px}
  .prod-head-title{font-size:28px}
  .curio-photos-title{font-size:28px}
  .curio-photos-cta-title{font-size:24px}
  .prod-detail-title{font-size:26px}
  .prod-thumb-detail{width:88px;height:88px}
  .prod-detail-top{gap:12px}
  .curio-photos-tools{top:var(--fs-topbar-offset, env(safe-area-inset-top, 0px))}
  .talk-guide-nav,
  .prod-nav-bar,
  .prod-lib-top{position:static;top:auto;z-index:auto}
  .prod-acc{scroll-margin-top:calc(var(--fs-topbar-offset, 0px) + 72px)}
}

/* Content vault */
.vault-panel{max-width:820px}
.vault-target-line{font-size:13px;color:var(--bark);margin:0 0 14px}
.vault-filters{display:flex;flex-direction:column;gap:14px;margin:0 0 14px}
.vault-filter span{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink);margin-bottom:5px}
.vault-filter-group{display:flex;flex-direction:column;gap:8px}
.vault-filter-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink)}
.vault-chip-row{display:flex;flex-wrap:wrap;gap:8px}
.vault-filter-chip{border:1.5px solid var(--sand);background:var(--white);border-radius:999px;padding:8px 13px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--green-soft);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.vault-filter-chip.on{border-color:var(--moss);color:var(--green);background:#eef2ec}
@media (hover:hover) and (pointer:fine){
  .vault-filter-chip:hover{border-color:var(--moss);color:var(--green);background:#eef2ec}
}
.vault-filter-chip.fmt-reel.on{background:#e4ebe6;border-color:#3d5a4a;color:#2f4539}
.vault-filter-chip.fmt-carousel.on{background:#f3ebe4;border-color:#a67c5d;color:#6e4f3a}
.vault-filter-chip.fmt-story.on{background:#f3e8ea;border-color:#9a6b73;color:#6a454c}
.vault-filter-chip.fmt-single.on{background:#eef0e6;border-color:#7a8468;color:#4f5643}
.vault-filter-chip.fmt-facebook.on{background:#e8eef1;border-color:#5c6b73;color:#3d4a51}
.vault-filter-chip.promo-product.on{background:#eef2ec;border-color:#3d5a4a;color:#3d5a4a}
.vault-filter-chip.promo-freshness.on{background:#f3f0e4;border-color:#6e6540;color:#6e6540}
.vault-filter-chip.promo-mission.on{background:#ebe8f0;border-color:#5a4f6e;color:#5a4f6e}
.vault-filter-chip.promo-business.on{background:#e8eef1;border-color:#3d4a51;color:#3d4a51}
.vault-filter-chip.promo-lifestyle.on{background:#f3ebe4;border-color:#6e4f3a;color:#6e4f3a}
.vault-filter-chip.promo-seasonal.on{background:#f0ece4;border-color:#7a6a4a;color:#7a6a4a}
.vault-filter-chip.promo-community.on{background:#e8f0ec;border-color:#4a6b5c;color:#4a6b5c}
.vault-format-row{display:flex;flex-wrap:wrap;gap:8px}
.vault-format-tab{border:1.5px solid var(--sand);background:var(--white);border-radius:999px;padding:8px 13px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--green-soft);cursor:pointer;transition:border-color .15s,background .15s,color .15s}
.vault-format-tab.on{border-color:var(--moss);color:var(--green);background:#eef2ec}
@media (hover:hover) and (pointer:fine){
  .vault-format-tab:hover{border-color:var(--moss);color:var(--green);background:#eef2ec}
}
.vault-format-tab.fmt-reel.on{background:#e4ebe6;border-color:#3d5a4a;color:#2f4539}
.vault-format-tab.fmt-carousel.on{background:#f3ebe4;border-color:#a67c5d;color:#6e4f3a}
.vault-format-tab.fmt-story.on{background:#f3e8ea;border-color:#9a6b73;color:#6a454c}
.vault-format-tab.fmt-single.on{background:#eef0e6;border-color:#7a8468;color:#4f5643}
.vault-format-tab.fmt-facebook.on{background:#e8eef1;border-color:#5c6b73;color:#3d4a51}
.vault-lane-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.vault-lane{border:1.5px solid var(--sand);background:var(--white);border-radius:999px;padding:7px 12px;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--green-soft);cursor:pointer}
.vault-lane.on{border-color:var(--moss);color:var(--green);background:#eef2ec}
@media (hover:hover) and (pointer:fine){
  .vault-lane:hover{border-color:var(--moss);color:var(--green);background:#eef2ec}
}
.vault-week-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.vault-week-theme{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:14px 16px;margin:0 0 16px}
.vault-week-theme p{margin:0;font-size:14.5px;line-height:1.5;color:var(--green)}
.vault-week-days{display:flex;flex-direction:column;gap:10px;margin:0 0 22px}
.vault-week-day{display:flex;gap:12px;align-items:flex-start;background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:14px 14px;text-align:left;width:100%;font:inherit;color:inherit;box-sizing:border-box}
button.vault-week-day{cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s}
button.vault-week-day:hover{border-color:var(--moss);box-shadow:0 6px 18px rgba(61,69,60,.08);transform:translateY(-1px)}
.vault-week-day.is-rest{opacity:.78;background:rgba(255,255,255,.55)}
.vault-week-day.fmt-reel{border-left:3.5px solid #3d5a4a}
.vault-week-day.fmt-carousel{border-left:3.5px solid #a67c5d}
.vault-week-day.fmt-story{border-left:3.5px solid #9a6b73}
.vault-week-day.fmt-single{border-left:3.5px solid #7a8468}
.vault-week-day.fmt-facebook{border-left:3.5px solid #5c6b73}
.vault-week-dow{flex-shrink:0;width:48px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--moss-ink);padding-top:4px}
.vault-week-body{flex:1;min-width:0}
.vault-week-title{margin:6px 0 4px;font-family:'Fraunces',serif;font-size:17px;font-weight:500;color:var(--green);line-height:1.25}
.vault-week-hook{margin:0 0 8px;font-size:13px;line-height:1.45;color:var(--green-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vault-week-goal{margin:4px 0 0;font-size:12.5px;line-height:1.4;color:var(--bark);font-style:italic}
.vault-week-goal-chip{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-mid);background:rgba(171,176,154,.28);border-radius:999px;padding:3px 8px}
.vault-count{font-size:12.5px;color:var(--bark);margin:0 0 12px}
.vault-card-list{display:flex;flex-direction:column;gap:12px;padding-bottom:28px}
.vault-card{background:var(--white);border:1.5px solid var(--sand);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);border-left:3.5px solid var(--moss)}
.vault-card.fmt-reel{border-left-color:#3d5a4a}
.vault-card.fmt-carousel{border-left-color:#a67c5d}
.vault-card.fmt-story{border-left-color:#9a6b73}
.vault-card.fmt-single{border-left-color:#7a8468}
.vault-card.fmt-facebook{border-left-color:#5c6b73}
.vault-card-main{display:block;width:100%;text-align:left;border:none;background:transparent;padding:16px 16px 10px;cursor:pointer;font-family:inherit;color:inherit}
.vault-card-main:hover .vault-card-open{color:var(--green)}
.vault-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.vault-card-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.fmt-chip{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 9px;color:#fff}
.fmt-chip.fmt-reel{background:#3d5a4a}
.fmt-chip.fmt-carousel{background:#a67c5d}
.fmt-chip.fmt-story{background:#9a6b73}
.fmt-chip.fmt-single{background:#7a8468}
.fmt-chip.fmt-facebook{background:#5c6b73}
.fmt-chip.fmt-rest{background:var(--moss);color:var(--green)}
.promo-chip{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:4px 9px;background:rgba(61,69,60,.08);color:var(--green-mid)}
.promo-chip.promo-product{background:#eef2ec;color:#3d5a4a}
.promo-chip.promo-freshness{background:#f3f0e4;color:#6e6540}
.promo-chip.promo-mission{background:#ebe8f0;color:#5a4f6e}
.promo-chip.promo-business{background:#e8eef1;color:#3d4a51}
.promo-chip.promo-lifestyle{background:#f3ebe4;color:#6e4f3a}
.promo-chip.promo-seasonal{background:#f0ece4;color:#7a6a4a}
.promo-chip.promo-community{background:#e8efe9;color:#3d5a4a}
.vault-card-id{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink)}
.vault-verify-chip{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a5a2b;background:#f6eee4;border-radius:999px;padding:3px 8px;flex-shrink:0}
.vault-card-title{margin:0 0 6px;font-family:'Fraunces',serif;font-size:20px;font-weight:500;color:var(--green);line-height:1.2}
.vault-card-hook{margin:0 0 10px;font-size:13.5px;line-height:1.45;color:var(--green-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vault-card-open{font-size:12.5px;font-weight:700;color:var(--moss-ink)}
.vault-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px;border-top:1px solid var(--sand);padding-top:12px}
.vault-mini-field span{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink);margin-bottom:4px}
.vault-inline-select,.vault-sheet-select{width:100%}
.vault-bubble{
  border-radius:999px!important;
  border:1.5px solid var(--sand)!important;
  background:var(--white)!important;
  color:var(--green-soft)!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.04em;
  padding:9px 12px!important;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a9284' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;
  background-position:right 12px center!important;
  padding-right:28px!important;
  transition:background .15s,border-color .15s,color .15s;
}
.vault-bubble.is-set.fmt-reel{background:#3d5a4a!important;border-color:#3d5a4a!important;color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important}
.vault-bubble.is-set.fmt-carousel{background:#a67c5d!important;border-color:#a67c5d!important;color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important}
.vault-bubble.is-set.fmt-story{background:#9a6b73!important;border-color:#9a6b73!important;color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important}
.vault-bubble.is-set.fmt-single{background:#7a8468!important;border-color:#7a8468!important;color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important}
.vault-bubble.is-set.fmt-facebook{background:#5c6b73!important;border-color:#5c6b73!important;color:#fff!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important}
.vault-bubble.is-set.promo-product{background:#eef2ec!important;border-color:#3d5a4a!important;color:#3d5a4a!important}
.vault-bubble.is-set.promo-freshness{background:#f3f0e4!important;border-color:#6e6540!important;color:#6e6540!important}
.vault-bubble.is-set.promo-mission{background:#ebe8f0!important;border-color:#5a4f6e!important;color:#5a4f6e!important}
.vault-bubble.is-set.promo-business{background:#e8eef1!important;border-color:#3d4a51!important;color:#3d4a51!important}
.vault-bubble.is-set.promo-lifestyle{background:#f3ebe4!important;border-color:#6e4f3a!important;color:#6e4f3a!important}
.vault-bubble.is-set.promo-seasonal{background:#f0ece4!important;border-color:#7a6a4a!important;color:#7a6a4a!important}
.vault-bubble.is-set.promo-community{background:#e8efe9!important;border-color:#3d5a4a!important;color:#3d5a4a!important}
.vault-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.vault-verify-box{background:#f7f1e8;border:1.5px solid #e5d3bf;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.vault-verify-row{font-size:13px;line-height:1.45;color:var(--green);margin:0 0 8px}
.vault-verify-row:last-child{margin-bottom:0}
.vault-verify-row.is-ok{color:var(--moss-ink)}
.vault-verify-row em{font-style:italic;color:var(--bark)}
@media (max-width:560px){
  .vault-card-meta,.vault-field-row{grid-template-columns:1fr}
  .vault-filter-inline{grid-template-columns:1fr 1fr}
}

.vault-tools{
  position:static;
  z-index:auto;
  background:transparent;
  margin:0 0 12px;
  padding:0 0 10px;
  border-bottom:none;
}
.vault-tools .talk-guide-nav{
  position:static;
  top:auto;
  z-index:auto;
  background:transparent;
  border-bottom:none;
  padding:0;
  margin-bottom:10px;
}
#panel-content-vault .talk-guide-nav,
#panel-grove-shelf .talk-guide-nav,
#panel-content-week .talk-guide-nav,
#panel-curiosity-photos .talk-guide-nav{
  position:static;
  top:auto;
  z-index:auto;
  background:transparent;
}
.vault-filter-inline{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-items:end;
}
.vault-filter-inline .vault-filter-group{min-width:0}
.vault-about-select{max-width:none;width:100%;margin-top:4px}
.vault-filter-inline .vault-inline-select{margin-top:4px}
.vault-count.is-focus{color:var(--green-mid)}
.vault-focus-chip{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#3d5a4a;background:#eef2ec;border-radius:999px;padding:3px 8px}
.vault-card-oncal{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--moss-ink);background:#e8efe9;border-radius:999px;padding:3px 8px}
.vault-card-posted{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6e6540;background:#f3f0e4;border-radius:999px;padding:3px 8px}

.vault-week-hero{margin:0 0 16px}
.vault-week-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 6px}
.vault-intensity{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.vault-week-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 8px}
.vault-week-applied{font-size:13.5px;color:var(--green-mid);font-weight:600;margin:0}
.vault-week-more{margin:8px 0 16px}
.vault-week-more > summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--green-soft);list-style:none}
.vault-week-more > summary::-webkit-details-marker{display:none}
.vault-week-more .vault-week-nav{margin:10px 0 0}
.vault-week-date{display:block;font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--green);margin:3px 0 0}
.vault-week-live{box-shadow:inset 0 0 0 1.5px var(--moss)}

.vault-date-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:0 0 16px}
.vault-date-btn{border:1.5px solid var(--sand);background:var(--white);border-radius:12px;padding:8px 2px 7px;font-family:inherit;color:var(--green);cursor:pointer;text-align:center}
.vault-date-btn span{display:block;font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bark-soft)}
.vault-date-btn strong{display:block;font-size:15px;font-weight:700;margin-top:2px}
.vault-date-btn.on{border-color:var(--moss);background:#eef2ec}
.vault-date-btn.is-today span{color:var(--green-mid)}
.vault-on-day{font-size:13.5px;color:var(--bark);margin:0 0 14px}

.vault-post-block{margin:0 0 16px}
.vault-post-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 8px}
.vault-post-label span{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink)}
.vault-hook{margin:0;font-family:'Fraunces',serif;font-size:20px;font-weight:500;line-height:1.3;color:var(--green);-webkit-user-select:text;user-select:text}
.vault-alt-hooks{margin:0;padding-left:18px;font-size:13.5px;line-height:1.5;color:var(--green-soft)}
.vault-slides,.vault-shots{margin:0;padding-left:22px;font-size:14px;line-height:1.5;color:var(--green);-webkit-user-select:text;user-select:text}
.vault-slides li,.vault-shots li{margin:0 0 8px}
.vault-caption,.vault-copy-src{margin:0;font-size:14.5px;line-height:1.6;color:var(--green);white-space:pre-wrap;-webkit-user-select:text;user-select:text}
.vault-keywords{margin:0;font-size:12.5px;line-height:1.45;color:var(--bark)}
.vault-copy-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}

.vault-photos{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.vault-photos::-webkit-scrollbar{display:none}
.vault-photo{flex:0 0 auto;width:76px;text-align:center}
.vault-photo-img{display:block;width:76px;height:76px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:50%}
.vault-photo-img img{display:block;width:76px;height:76px;object-fit:cover;border-radius:50%;border:2.5px solid var(--sand);background:var(--white)}
.vault-photo.on .vault-photo-img img{border-color:var(--moss);box-shadow:0 0 0 3px #eef2ec}
.vault-photo-use{margin-top:5px;border:none;background:transparent;font-family:inherit;font-size:11px;font-weight:700;color:var(--green-soft);cursor:pointer;padding:2px}
.vault-photo.on .vault-photo-use{color:var(--green)}
.vault-photo-more{margin:8px 0 0}

.vault-live-chip{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--moss-ink);background:#e8efe9;border-radius:999px;padding:3px 8px}
.vault-rewrite{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:12px 14px;margin:0 0 16px}
.vault-rewrite > summary{cursor:pointer;font-size:13.5px;font-weight:700;color:var(--green);list-style:none}
.vault-rewrite > summary::-webkit-details-marker{display:none}
.vault-rewrite .field{margin:12px 0 0}
.vault-admin-edit{background:var(--white);border:1.5px solid var(--moss);border-radius:14px;padding:12px 14px;margin:0 0 16px}
.vault-admin-edit > summary{cursor:pointer;font-size:13.5px;font-weight:700;color:var(--green);list-style:none}
.vault-admin-edit > summary::-webkit-details-marker{display:none}
.vault-admin-edit .field{margin:12px 0 0}
.vault-admin-edit .field label{display:block;font-size:12px;font-weight:700;color:var(--green);margin:0 0 6px}
.vault-admin-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}

/* ── lead page preview (mirrors lead.html) ── */
.ground-line-live[hidden],#groundLineEditor[hidden]{display:none!important}
.ground-line-live{margin:24px 0 0}
.ground-line-live .field-label{margin-bottom:8px}
.ground-line-live-text{margin:0 0 12px;font-size:15px;line-height:1.55;color:var(--green);font-style:italic}
.ground-line-live .btn{width:100%}
.lead-preview-wrap{margin:20px 0}
.lead-preview-label{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--bark);margin:0 0 8px}
.lead-preview{position:relative;border:1.5px solid #1a2f26;border-radius:16px;overflow:auto;max-height:min(72vh,640px);background:#1a2f26;color:#f4f1ea;box-shadow:var(--shadow);-webkit-overflow-scrolling:touch}
.lead-preview-arcs{position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle at 88% 18%, transparent 0, transparent 22%, rgba(196,163,90,.06) 22.5%, transparent 23%),
  radial-gradient(circle at 88% 18%, transparent 0, transparent 34%, rgba(244,241,234,.05) 34.5%, transparent 35%),
  radial-gradient(ellipse 80% 50% at 0% 100%, rgba(36,61,50,.9), transparent 55%),
  linear-gradient(165deg,#243d32 0%,#1a2f26 42%,#122019 100%)}
.lead-preview-page{position:relative;z-index:1;display:grid;gap:22px;padding:28px 18px 24px}
.lead-preview-brand{font-family:"Fraunces",Georgia,serif;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#f4f1ea;margin:0 0 18px;text-align:center}
.lead-preview-kicker{display:flex;align-items:center;gap:10px;margin:0 0 14px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#c4a35a}
.lead-preview-kicker-rule{display:block;width:22px;height:1px;background:#c4a35a;flex-shrink:0}
.lead-preview-headline{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:clamp(1.45rem,6vw,1.85rem);line-height:1.12;letter-spacing:-.02em;margin:0 0 14px;color:#f4f1ea}
.lead-preview-headline em{font-style:italic;color:#c4a35a}
.lead-preview-lede{font-size:14.5px;line-height:1.55;color:rgba(244,241,234,.78);margin:0 0 14px}
.lead-preview-blurb{font-size:15px;line-height:1.5;color:rgba(244,241,234,.78);margin:0;font-style:italic;padding:12px 14px;border-left:2px solid rgba(196,163,90,.55);background:rgba(18,32,25,.28);border-radius:0 12px 12px 0}
.lead-preview-proof{display:grid;gap:10px;margin:0}
.lead-preview-proof-item{border:1px solid rgba(244,241,234,.16);border-radius:14px;padding:13px 14px;background:rgba(18,32,25,.35);display:flex;flex-direction:column;gap:4px}
.lead-preview-proof-item strong{font-family:"Fraunces",Georgia,serif;font-size:1rem;font-weight:500;color:#c4a35a}
.lead-preview-proof-item span{font-size:13px;line-height:1.5;color:rgba(244,241,234,.78)}
.lead-preview-card{background:#f7f4ee;color:#1f2e28;border-radius:18px;padding:18px 16px 16px;margin:0;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.lead-preview-card-title{font-family:"Fraunces",Georgia,serif;font-size:1.35rem;font-weight:600;margin:0 0 6px;color:#1f2e28}
.lead-preview-card-sub{margin:0 0 16px;font-size:13.5px;line-height:1.5;color:#5c665f}
.lead-preview-form{display:flex;flex-direction:column;gap:12px}
.lead-preview-field{display:flex;flex-direction:column;gap:6px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5c665f}
.lead-preview-field em{font-weight:500;letter-spacing:0;text-transform:none;opacity:.65}
.lead-preview-fake-input{display:block;font-weight:500;font-size:15px;letter-spacing:0;text-transform:none;color:#9aa39c;background:#fff;border:1.5px solid rgba(31,46,40,.14);border-radius:12px;padding:12px 14px}
.lead-preview-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lead-preview-hint{margin:-2px 0 0;font-size:12px;color:#5c665f;text-transform:none;letter-spacing:0;font-weight:400}
.lead-preview-legend{margin:4px 0 0;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5c665f}
.lead-preview-legend em{font-weight:600;letter-spacing:0;text-transform:none;opacity:.8}
.lead-preview-chips{display:flex;flex-wrap:wrap;gap:8px}
.lead-preview-chips span{font-size:13.5px;font-weight:600;color:#1f2e28;background:#fff;border:1.5px solid rgba(31,46,40,.14);border-radius:999px;padding:8px 12px}
.lead-preview-submit{margin-top:4px;width:100%;border-radius:10px;padding:13px 16px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#f4f1ea;background:#1a2f26;text-align:center;box-shadow:0 10px 28px rgba(18,32,25,.35)}
.lead-preview-stories{display:grid;gap:10px;margin:0}
.lead-preview-story{border:1px solid rgba(244,241,234,.16);border-radius:14px;background:rgba(18,32,25,.35);overflow:hidden}
.lead-preview-story > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;user-select:none}
.lead-preview-story > summary::-webkit-details-marker{display:none}
.lead-preview-story > summary > span:first-child{display:grid;gap:3px;min-width:0}
.lead-preview-story-kicker{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c4a35a}
.lead-preview-story-title{font-family:"Fraunces",Georgia,serif;font-size:1.02rem;font-weight:500;color:#f4f1ea;line-height:1.25}
.lead-preview-chev{width:9px;height:9px;border-right:1.5px solid rgba(244,241,234,.78);border-bottom:1.5px solid rgba(244,241,234,.78);transform:rotate(45deg);flex-shrink:0;margin-top:-3px}
.lead-preview-story[open] .lead-preview-chev{transform:rotate(225deg);margin-top:3px}
.lead-preview-story-body{display:grid;gap:10px;padding:12px 14px 14px;border-top:1px solid rgba(244,241,234,.16)}
.lead-preview-bubble{border-radius:12px;padding:12px 13px;background:rgba(244,241,234,.06);border:1px solid rgba(244,241,234,.1)}
.lead-preview-bubble strong{display:block;font-family:"Fraunces",Georgia,serif;font-size:.98rem;font-weight:500;color:#f4f1ea;margin:0 0 6px;line-height:1.3}
.lead-preview-bubble p{margin:0;font-size:13px;line-height:1.5;color:rgba(244,241,234,.78)}
.lead-preview-foot{margin:0;font-size:11px;line-height:1.45;color:rgba(244,241,234,.55);text-align:center}
.lead-preview-live{display:inline-block;margin:10px 0 0;font-size:13.5px;font-weight:700;color:var(--green);text-decoration:none}
.lead-preview-live[hidden]{display:none!important}
.lead-preview-live:hover{text-decoration:underline;text-underline-offset:2px}
@media (max-width:520px){
  .lead-preview-contact{grid-template-columns:1fr}
}
.mini-page{border:1.5px solid var(--sand);border-radius:14px;overflow:hidden;margin:20px 0;box-shadow:var(--shadow)}
.mini-chrome{background:var(--paper-warm);padding:8px 14px;display:flex;gap:6px;align-items:center;border-bottom:1px solid var(--sand)}
.mini-dot{width:9px;height:9px;border-radius:50%;background:#d5cbb6}
.mini-url{font-size:11px;color:var(--bark-soft);margin-left:8px}
.mini-body{background:var(--green);padding:30px 26px;text-align:center}
.mini-eyebrow{font-size:9px;letter-spacing:.2em;color:var(--moss-light);font-weight:700;margin-bottom:10px}
.mini-headline{font-family:'Fraunces',serif;font-size:18px;line-height:1.4;color:var(--paper);font-style:italic;min-height:24px}
.mini-btnrow{margin-top:16px}
.mini-btn{display:inline-block;background:var(--gold-soft);color:var(--green);border-radius:20px;padding:7px 18px;font-size:11px;font-weight:700}

/* ── callouts ── */
.callout{border-radius:0 12px 12px 0;padding:15px 18px;margin:20px 0;border-left:4px solid var(--sand);background:var(--paper-warm)}
.callout.compliance{background:#fbf5e4;border-color:var(--gold)}
.callout.voice{background:#eef2ec;border-color:var(--moss)}
.callout-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}
.callout-head .callout-tag{margin-bottom:0}
.callout-tag{font-size:10.5px;font-weight:700;letter-spacing:.13em;margin-bottom:7px;color:var(--bark)}
.callout.compliance .callout-tag{color:#b88928}
.callout.voice .callout-tag{color:var(--green-mid)}
.callout-body{font-size:14px;line-height:1.65;color:var(--green)}
.callout-dismiss{position:relative;border:none;background:transparent;color:var(--bark);font:inherit;font-size:12px;font-weight:600;padding:4px 2px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;flex-shrink:0}
.callout-dismiss::after{content:"";position:absolute;inset:-9px -6px}
.callout-dismiss:hover{color:var(--green)}
#knowRememberCallout[hidden]{display:none!important}

/* ── copyable starter ── */
.starter{background:var(--white);border:1.5px dashed var(--moss);border-radius:12px;padding:16px 18px;margin:18px 0}
.dm-pack-intro{font-size:13.5px;line-height:1.55;color:var(--bark);margin:0 0 14px;opacity:.9}
.dm-pack .copy-card{background:transparent;border:none;border-radius:0;border-top:1px solid rgba(45,74,45,.12);margin:0}
.dm-pack .copy-card:first-child{border-top:none}
.dm-option-head{padding:12px 0!important}
.dm-option-label{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--moss-ink)}
.dm-option-body{padding:0 0 14px!important;border-top:none!important}
.starter-text{font-size:14.5px;line-height:1.65;color:var(--green);margin:0 0 12px;font-style:italic}
.copy-btn{background:var(--moss);color:var(--green);border:none;border-radius:20px;padding:8px 18px;font-size:13px;font-weight:600;transition:background .2s}
.copy-btn:hover{background:var(--rail-deep)}
.copy-btn.copied{background:var(--green);color:#fff}

/* ── choices & checks ── */
.choice{display:block;width:100%;text-align:left;background:transparent;border:1.5px solid var(--sand);border-radius:13px;padding:17px 19px;margin-bottom:12px;transition:all .2s}
.choice:hover{border-color:var(--moss-light)}
.choice.selected{background:var(--white);border-color:var(--moss);box-shadow:var(--shadow)}
.choice-head{display:flex;align-items:center;gap:11px;margin-bottom:6px}
.choice-radio{width:19px;height:19px;border-radius:50%;flex-shrink:0;border:2px solid #cbc4b4;display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;transition:all .2s}
.choice.selected .choice-radio{background:var(--moss);border-color:var(--moss)}
.choice-title{font-size:16px;font-weight:700;color:var(--green)}
.choice-desc{font-size:14px;color:var(--bark);line-height:1.6;padding-left:30px;display:block}
.check{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;background:transparent;border:1.5px solid var(--sand);border-radius:11px;padding:13px 15px;margin-bottom:10px;font-size:14.5px;color:var(--green);line-height:1.55;transition:all .2s}
.check:hover{border-color:var(--moss-light)}
.check.on{background:var(--white);border-color:var(--moss)}
.check-box{flex-shrink:0;width:21px;height:21px;border-radius:6px;border:2px solid #cbc4b4;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;margin-top:1px;transition:all .2s}
.check.on .check-box{background:var(--moss);border-color:var(--moss)}

/* ── week strip ── */
.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:18px 0}
.day{background:var(--white);border:1.5px solid var(--sand);border-radius:10px;padding:10px 4px;text-align:center;min-height:74px;transition:all .3s}
.day.lit{border-color:var(--moss);background:#eef2ec}
.day-name{font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--bark-soft);margin-bottom:6px}
.day.lit .day-name{color:var(--green-mid)}
.day-icon{font-size:16px;min-height:20px}
.day-what{font-size:9.5px;line-height:1.3;color:var(--bark);margin-top:4px}

/* ── buttons ── */
.btn{background:var(--green);color:var(--paper);border:none;border-radius:32px;padding:16px 32px;font-size:15.5px;font-weight:600;transition:background .14s var(--ease),transform .12s var(--ease);display:inline-block;-webkit-tap-highlight-color:transparent}
@media (hover:hover) and (pointer:fine){
  .btn:hover{background:var(--green-mid);transform:translateY(-1px)}
}
.btn.waiting{background:transparent;color:var(--bark);border:1.5px solid var(--sand);cursor:default;transform:none}
.btn.waiting:hover,.btn.waiting:disabled:hover{background:transparent;transform:none}
.btn.waiting:disabled,.btn.waiting[aria-disabled="true"]{opacity:.85;pointer-events:none;cursor:default}
.btn-ghost{background:transparent;color:var(--green);border:1.5px solid var(--rail-deep);border-radius:32px;padding:13px 26px;font-size:15px;font-weight:600;transition:background .14s var(--ease),color .14s var(--ease),transform .12s var(--ease);-webkit-tap-highlight-color:transparent}
.btn-ghost:hover{background:var(--moss);color:var(--green)}
.btn:active:not(.waiting):not(:disabled){transform:scale(.98)}
.btn-ghost:active{background:var(--beige);transform:scale(.98)}
.home-step:active{background:rgba(171,176,154,.22)}
.home-chip:active{transform:scale(.97);border-color:var(--moss)}
.nav-item:active{background:rgba(243,236,216,.7)}
.know-acc-sum:active,.faq-cat-head:active{background:#e8ece6}
.faq-q:active,.copy-card-head:active,.talk-cat-head:active{background:rgba(238,242,236,.85)}
.prod-cat-card:active{transform:scale(.985)}
.prod-pill:active,.leads-filter-btn:active,.leads-action:active,.leads-reach-btn:active,
.hub-mode-btn:active,.ideal-leads-lane-btn:active,.cal-focus-tab:active{transform:scale(.97)}
.know-faq-jump:active{transform:scale(.99)}
.rail-settings:active{transform:scale(.94)}
@media (prefers-reduced-motion:reduce){
  .btn:active:not(.waiting),.btn-ghost:active,.home-chip:active,.prod-cat-card:active,
  .prod-pill:active,.leads-filter-btn:active,.leads-action:active,.leads-reach-btn:active,
  .hub-mode-btn:active,.ideal-leads-lane-btn:active,.cal-focus-tab:active,.know-faq-jump:active,.rail-settings:active{transform:none}
}
.btn-row{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.save-flash{font-size:12.5px;color:var(--moss-ink);font-weight:600;opacity:0;transition:opacity .3s}
.save-flash.show{opacity:1}

/* ── leaf burst ── */
.leaf-p{position:fixed;width:14px;height:14px;pointer-events:none;z-index:99;animation:leafFly 1.1s var(--ease) forwards}
@keyframes leafFly{
  0%{transform:translate(0,0) rotate(0) scale(1);opacity:1}
  100%{transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.4);opacity:0}
}

/* ── finish & timeline ── */
.finish{text-align:center;padding-top:22px}
.finish .plantbox{height:230px;max-width:210px;margin:0 auto 8px}
.finish .body-p{margin:0 auto 20px}
.finish-sign{font-family:'Fraunces',serif;font-style:italic;font-size:21px;color:var(--green-mid);margin:8px 0 24px}
.finish-shortlist,.finish-next{text-align:left;max-width:480px;margin:0 auto 16px}
.finish-next-body{margin:0;font-size:14.5px;line-height:1.55;color:var(--bark)}
.finish-actions{flex-wrap:wrap;gap:10px;margin-top:4px}
.focus-shortlist-card{margin:22px 0}
.focus-shortlist-sum{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.focus-shortlist-sum::-webkit-details-marker{display:none}
.focus-shortlist-sum::marker{content:""}
.focus-shortlist-sum .live-tag{margin:0}
.focus-shortlist-chev{
  flex:0 0 auto;width:28px;height:28px;border-radius:8px;border:1.5px solid var(--sand);
  background:rgba(255,255,255,.85);color:var(--green);display:grid;place-items:center;
  font-size:18px;font-weight:600;line-height:1
}
.focus-shortlist-chev::before{content:"+"}
.focus-shortlist-card[open] .focus-shortlist-chev,
.your-story-card[open] .focus-shortlist-chev,
.dream-tree-card[open] .focus-shortlist-chev,
.grove-leaders-roster[open] .focus-shortlist-chev,
.ideal-leads[open] .focus-shortlist-chev,
.leads-filter-fold[open] .focus-shortlist-chev,
.cal-focus-tab.on .focus-shortlist-chev{background:#eef2ec;border-color:var(--moss)}
.focus-shortlist-card[open] .focus-shortlist-chev::before,
.your-story-card[open] .focus-shortlist-chev::before,
.dream-tree-card[open] .focus-shortlist-chev::before,
.grove-leaders-roster[open] .focus-shortlist-chev::before,
.ideal-leads[open] .focus-shortlist-chev::before,
.leads-filter-fold[open] .focus-shortlist-chev::before,
.cal-focus-tab.on .focus-shortlist-chev::before{content:"−"}
.focus-shortlist-card .share-fav-list{margin-top:12px}
.focus-shortlist-ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.focus-shortlist-ul li{margin:0}
.focus-shortlist-item{appearance:none;-webkit-appearance:none;width:100%;text-align:left;border:0;background:transparent;padding:8px 0;font-family:'Fraunces',serif;font-size:18px;font-weight:500;color:var(--ink);cursor:pointer;line-height:1.3;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.focus-shortlist-item:hover{color:var(--green)}
.focus-shortlist-cta{position:relative;appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0;font:inherit;font-weight:700;color:var(--green);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.focus-shortlist-cta::after{content:"";position:absolute;left:0;right:0;top:50%;height:34px;transform:translateY(-50%)}
.your-story-card,.dream-tree-card{margin:22px 0}
.your-story-sum,.dream-tree-sum{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  list-style:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.your-story-sum::-webkit-details-marker,.dream-tree-sum::-webkit-details-marker{display:none}
.your-story-sum::marker,.dream-tree-sum::marker{content:""}
.your-story-sum .live-tag,.dream-tree-sum .live-tag{margin:0}
.your-story-tease,.dream-tree-tease{flex:1;min-width:0;font-size:13.5px;line-height:1.4;color:var(--bark-soft);text-align:right}
.your-story-body,.dream-tree-body{margin-top:14px}
.your-story-hint,.dream-tree-hint{margin:0 0 12px;font-size:13.5px;line-height:1.45;color:var(--bark-soft)}
.your-story-preview{margin:0 0 12px}
.your-story-body .btn{width:100%}
.dream-tree-wrap{margin-top:4px}
#shareFavPreview,#finishShortlist{margin-bottom:18px}
.cal-focus{margin:0 0 18px}
.cal-focus-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cal-focus-tab{
  appearance:none;-webkit-appearance:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  margin:0;padding:12px 8px 10px;min-height:86px;min-width:0;
  border:1.5px solid var(--sand);border-radius:14px;background:var(--white);
  box-shadow:var(--shadow);cursor:pointer;font:inherit;color:inherit;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  transition:border-color .15s,background .15s,transform .12s
}
.cal-focus-tab .focus-shortlist-chev{width:22px;height:22px;font-size:16px}
.cal-focus-tab.on{border-color:var(--moss);background:#eef2ec}
.cal-focus-tab-label{
  display:block;text-align:center;font-size:10.5px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink);line-height:1.3
}
.cal-focus-tab.on .cal-focus-tab-label{color:var(--green)}
.cal-focus-panel{margin:10px 0 0}
.cal-focus-panel.live-card{padding:18px 18px 16px}
.cal-focus .your-story-card,.cal-focus .focus-shortlist-card{margin:10px 0 0}
.cal-focus .your-story-body{margin-top:0}
.cal-focus .share-fav-list{margin-top:0}
.timeline{display:grid;gap:10px;margin:22px 0}
.tl-row{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start;background:var(--white);border:1.5px solid var(--sand);border-radius:12px;padding:14px 16px}
.tl-when{font-family:'Fraunces',serif;font-weight:600;font-size:15px;color:var(--green-mid)}
.tl-what{font-size:14px;color:var(--green);line-height:1.6}

/* ── post studio ── */
.cadence-card{text-align:center}
.cadence-dots{display:flex;justify-content:center;gap:10px;margin:12px 0 14px}
.cdot{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;border:2px solid var(--moss);background:#eef2ec}
.cdot.ask{border-color:var(--gold);background:#fdf6e3}
.cadence-note{font-size:14px;line-height:1.65;color:var(--green);max-width:480px;margin:0 auto}

.seed-card{background:var(--white);border:1.5px solid var(--sand);border-radius:13px;margin-bottom:10px;overflow:hidden;transition:all .25s}
.seed-card.open{border-color:var(--moss);box-shadow:var(--shadow)}
.seed-head{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:transparent;border:none;padding:16px 18px}
.seed-icon{font-size:22px;flex-shrink:0}
.seed-titles{flex:1;min-width:0}
.seed-name{display:block;font-family:'Fraunces',serif;font-weight:600;font-size:17px;color:var(--green)}
.seed-tag{display:block;font-size:13px;color:var(--bark);font-style:italic;margin-top:2px}
.seed-chev{font-size:20px;color:var(--moss-ink);font-weight:600;flex-shrink:0}
.seed-body{padding:2px 18px 18px;animation:fadeUp .35s var(--ease)}
.seed-block{margin-bottom:14px}
.seed-block p{font-size:14px;line-height:1.65;color:var(--green)}
.seed-label{font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--moss-ink);margin-bottom:5px}
.seed-block.example{background:var(--paper);border-radius:10px;padding:13px 15px}
.seed-block.example .seed-label{color:var(--green-mid)}
.seed-example{font-style:italic;margin-bottom:10px}
.seed-block.draft{background:linear-gradient(180deg,#fff 0%,#f7f3ea 100%);border:1.5px solid var(--sand);border-radius:12px;padding:14px 15px;margin-top:4px}
.seed-block.draft .seed-label{color:var(--gold)}
.seed-draft-hint{font-size:13px;color:var(--bark);margin:0 0 10px;line-height:1.45}
.seed-block.draft textarea{width:100%;border:1.5px solid var(--sand);border-radius:12px;background:rgba(255,255,255,.85);padding:12px 14px;font-family:inherit;font-size:15px;color:var(--green);resize:vertical;min-height:84px}
.seed-block.draft textarea:focus{outline:none;border-color:var(--moss);background:#fff}
.seed-block.draft .claim-check{display:block;min-height:18px;margin-top:8px}
.seed-card.drafted:not(.open) .seed-name::after{content:" · drafted";font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--moss-ink)}
.plant-trio-note{margin-top:22px;font-size:14.5px}
.copy-btn.small{padding:5px 13px;font-size:11.5px}

.plant-help{margin:16px 0;background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:4px 16px 12px}
.plant-help summary{cursor:pointer;font-weight:700;font-size:14px;color:var(--green);padding:12px 0;list-style:none}
.plant-help summary::-webkit-details-marker{display:none}
.plant-help summary::after{content:"+";float:right;color:var(--moss-ink);font-weight:700}
.plant-help[open] summary::after{content:"−"}
.plant-help .hook-intro{margin-top:0}
.hook-intro{font-size:13.5px;color:var(--bark);line-height:1.6;margin-bottom:12px}
.hook-row{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--sand);border-radius:10px;padding:10px 13px;margin-bottom:8px}
.hook-text{flex:1;font-size:13.5px;line-height:1.55;color:var(--green);font-style:italic}

/* ── overlays: onboarding + tour ── */
.overlay{position:fixed;inset:0;z-index:60;display:none;background:rgba(40,52,44,.58);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch}
.overlay.open{display:flex;animation:fadeOverlay .35s var(--ease)}
.overlay[hidden]{display:none!important}
@keyframes fadeOverlay{from{opacity:0}to{opacity:1}}
.overlay-card{background:var(--paper);border-radius:20px;padding:28px 26px 24px;max-width:420px;width:100%;box-shadow:0 18px 50px rgba(10,20,14,.35);margin:auto;animation:fadeUp .22s var(--ease);border:1px solid rgba(107,143,107,.2);flex-shrink:0}

/* In-app messages (js/ui-dialog.js) — replaces window.alert / window.confirm.
   Sits above .overlay (60) so it can ask a question from inside onboarding,
   but below the tour (100), which owns the screen while it runs. */
.overlay.fs-dialog{z-index:96}
.fs-dialog-card{max-width:400px;padding:24px 22px 20px}
.fs-dialog-title{font-family:'Fraunces',serif;font-weight:500;font-size:21px;color:var(--green);line-height:1.2;margin:0 0 8px}
.fs-dialog-msg{font-size:14.5px;line-height:1.6;color:var(--bark);margin:0 0 18px;white-space:pre-line}
.fs-dialog-row{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.fs-dialog-row .btn,.fs-dialog-row .btn-ghost{flex:1 1 auto;min-width:120px;text-align:center;padding:13px 20px;font-size:14.5px;cursor:pointer;font-family:inherit}
.fs-dialog-row .btn.is-danger{background:#a4462f}

.fs-toasts{position:fixed;left:0;right:0;bottom:calc(env(safe-area-inset-bottom, 0px) + 84px);z-index:97;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 14px;pointer-events:none}
html.fs-kb-open .fs-toasts,
body.cabinet-thread-open .fs-toasts{bottom:calc(var(--cabinet-composer-h, 72px) + 16px)}
html.fs-kb-open .lock-toast,
html.fs-kb-open .growth-toast,
body.cabinet-thread-open .lock-toast,
body.cabinet-thread-open .growth-toast{bottom:calc(16px + env(safe-area-inset-bottom, 0px))}
.fs-toast{display:flex;align-items:flex-start;gap:10px;width:100%;max-width:420px;background:var(--ink,#2f382f);color:var(--beige,#f3f1e9);border-radius:13px;padding:12px 12px 12px 15px;box-shadow:0 10px 30px rgba(10,20,14,.3);font-size:13.5px;line-height:1.45;pointer-events:auto;animation:fsToastIn .22s var(--ease)}
.fs-toast.is-bad{background:#8f3a26;color:#fdf3ef}
.fs-toast.is-good{background:var(--green);color:var(--paper)}
.fs-toast.is-going{opacity:0;transform:translateY(6px);transition:opacity .2s,transform .2s}
.fs-toast-msg{flex:1;min-width:0}
.fs-toast-x{flex-shrink:0;border:none;background:transparent;color:inherit;opacity:.75;font-size:19px;line-height:1;cursor:pointer;padding:0 2px;font-family:inherit}
.fs-toast-x:hover{opacity:1}
@keyframes fsToastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* Tour coachmarks — dim everything except the spotlight hole */
.overlay.tour{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;align-items:stretch;justify-content:stretch;padding:0;overflow:hidden;pointer-events:none}
.overlay.tour.open{display:block;animation:none;z-index:100}
.tour-spotlight{
  position:fixed;z-index:1;pointer-events:none;
  box-shadow:0 0 0 9999px rgba(40,52,44,.62);
  border:2.5px solid rgba(200,162,74,.85);
  background:transparent;
  transition:top .32s var(--ease),left .32s var(--ease),width .32s var(--ease),height .32s var(--ease),border-radius .32s;
  will-change:top,left,width,height;
}
.tour-spotlight[hidden]{display:none!important}
.overlay.tour .tour-card{
  position:fixed;z-index:2;margin:0;
  width:min(360px,calc(100vw - 24px));max-width:min(360px,calc(100vw - 24px));
  padding:20px 18px 18px;
  box-shadow:0 14px 40px rgba(10,20,14,.4);pointer-events:auto;
  transition:top .32s var(--ease),left .32s var(--ease),transform .32s var(--ease);
  will-change:top,left,transform;
}
@keyframes tourCardIn{from{opacity:0}to{opacity:1}}
.overlay.tour.open .tour-card{animation:tourCardIn .25s var(--ease) both}
#tourBody{white-space:pre-line}
/* Outline only — never raise page targets above the tip card */
.tour-target-on{position:relative;border-radius:16px;box-shadow:0 0 0 3px rgba(200,162,74,.55)}
.cabinet-section.tour-target-on{box-shadow:0 0 0 3px rgba(200,162,74,.55)}
.cabinet-desk-seg button.tour-target-on{box-shadow:0 0 0 3px rgba(200,162,74,.55);z-index:4}
.bottom-nav-btn.tour-target-on{
  outline:3px solid rgba(200,162,74,.85);
  outline-offset:3px;
  background:var(--paper);
  box-shadow:none;
  color:var(--green);
  z-index:1;
}
.home-plant-zone.tour-target-on{outline:3px solid rgba(200,162,74,.75);outline-offset:4px;box-shadow:none}
.home-runway.tour-target-on{outline:3px solid rgba(200,162,74,.65);outline-offset:6px;border-radius:14px;box-shadow:none}

.onboarding-card{
  position:relative;
  max-width:440px;
  width:100%;
  max-height:calc(100dvh - 32px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:background .35s var(--ease),border-color .35s var(--ease)
}
body.pack-evergreen .onboard-hype-num,
body.pack-evergreen .onboard-hype-label{display:none}
body.pack-evergreen .onboard-hype{display:block;padding:12px 16px}
.onboarding-card.onboarding-welcome{background:radial-gradient(520px 200px at 12% -10%,rgba(157,181,162,.28) 0%,transparent 68%),radial-gradient(380px 160px at 100% 0%,rgba(200,162,74,.12) 0%,transparent 60%),var(--paper);border-color:rgba(107,143,107,.35)}
.onboarding-card.onboarding-circle{background:radial-gradient(480px 200px at 88% -8%,rgba(200,162,74,.16) 0%,transparent 65%),var(--paper);border-color:rgba(160,127,46,.28)}
.onboarding-card.onboarding-name{background:radial-gradient(420px 160px at 50% -20%,rgba(157,181,162,.2) 0%,transparent 70%),var(--paper)}
.onboarding-card.onboarding-auth{background:radial-gradient(460px 180px at 20% -10%,rgba(157,181,162,.22) 0%,transparent 65%),radial-gradient(320px 140px at 100% 10%,rgba(200,162,74,.12) 0%,transparent 55%),var(--paper)}
.onboarding-card.onboarding-install{background:radial-gradient(440px 170px at 70% -12%,rgba(157,181,162,.2) 0%,transparent 65%),var(--paper)}
.onboarding-card.onboarding-mode{background:var(--paper)}
.onboarding-card.onboarding-notify{background:var(--paper)}
.onboard-notify-note{font-size:14px;line-height:1.5;color:var(--bark);margin:0 0 16px}
.onboard-notify-msg{font-size:13.5px;line-height:1.45;color:var(--green-mid);margin:0 0 12px;min-height:0}

.onboard-install-choices{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}
.onboard-install-choices[hidden],
.onboard-install-guide[hidden],
#onboardingInstallNext[hidden],
#onboardingInstallSkip[hidden]{display:none!important}
.onboard-install-choice{appearance:none;-webkit-appearance:none;width:100%;text-align:left;border:1.5px solid var(--sand);background:var(--white);border-radius:14px;padding:14px 16px;font-family:inherit;font-size:15px;font-weight:700;color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.onboard-install-choice:hover{border-color:var(--moss)}
.onboard-install-choice.on{border-color:var(--ink);background:#eef2ec}
.onboard-install-guide{
  margin:0 0 12px;
  padding:14px 14px 12px;
  background:var(--beige);
  border-radius:14px;
  border:1.5px solid rgba(171,176,154,.45);
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain
}
.onboard-install-cta{flex:0 0 auto;padding-top:2px}
.onboard-install-do{margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6e6540}
.onboard-install-steps{margin:0;padding-left:1.2em;font-size:14px;color:var(--bark);line-height:1.55}
.onboard-install-steps li{margin:0 0 8px}
.onboard-install-steps li:last-child{margin-bottom:0}
.onboard-install-steps li.onboard-install-key{background:rgba(255,255,255,.7);border:1.5px solid rgba(200,162,74,.45);border-radius:10px;padding:8px 10px;margin-left:-4px;list-style-position:inside;color:var(--green);font-weight:600}
.onboard-install-glyph{display:inline-block;font-size:12px;font-weight:700;padding:1px 6px;border-radius:6px;background:rgba(61,69,60,.08);color:var(--green);letter-spacing:0;margin:0 2px}
.onboard-install-note{font-size:12.5px;color:var(--bark-soft);line-height:1.45;margin:12px 0 0}
.onboard-install-switch{margin:0;padding:12px 14px;border-radius:12px;background:rgba(200,162,74,.18);border:1.5px solid rgba(200,162,74,.4);font-size:13.5px;line-height:1.45;color:var(--green);font-weight:500}
.onboard-install-switch strong{display:block;font-weight:700}
.onboard-install-switch-actions{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.onboard-install-switch-actions .btn,
.onboard-install-switch-actions .btn-ghost{width:100%;text-align:center}
.onboard-join-saved{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:rgba(171,176,154,.28);border:1.5px solid rgba(171,176,154,.55);font-size:13.5px;line-height:1.45;color:var(--green);font-weight:600}
.onboard-install-confirm{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:12px 14px;background:#eef2ec;border:1.5px solid var(--moss);border-radius:14px;cursor:pointer;font-size:14px;font-weight:600;color:var(--green);line-height:1.35}
.onboard-install-confirm[hidden]{display:none!important}
.onboard-install-confirm input{width:18px;height:18px;margin-top:1px;flex-shrink:0;accent-color:var(--green)}
.onboard-install-confirm span{flex:1;min-width:0}
.onboard-install-leave{
  margin:0 0 4px;padding:14px 16px;border-radius:14px;
  background:rgba(200,162,74,.18);border:1.5px solid rgba(200,162,74,.45)
}
.onboard-install-leave[hidden]{display:none!important}
.onboard-install-leave p{margin:0;font-size:15px;line-height:1.45;font-weight:600;color:var(--green)}
.onboarding-card.onboarding-install .onboard-install-cta .btn-ghost{margin-top:8px}
.overlay-card h3{font-family:'Fraunces',serif;color:var(--green);font-size:1.55rem;font-weight:600;margin-bottom:10px;line-height:1.15}
.overlay-card .lead{font-size:1.02rem;color:var(--green);margin:0 0 18px;line-height:1.58;white-space:pre-line;font-weight:500}
.onboarding-pane{display:none;animation:obPaneIn .35s var(--ease)}
.onboarding-pane.on{
  display:block;
  min-height:0;
  flex:1 1 auto;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch
}
.onboarding-card.onboarding-install .onboarding-pane.on{
  display:flex;
  flex-direction:column;
  overflow:hidden
}
.onboarding-card.onboarding-install .onboard-install-guide{
  flex:1 1 auto;
  min-height:72px
}
@keyframes obPaneIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.onboarding-dots{display:flex;gap:7px;justify-content:center;margin-bottom:20px}
.onboarding-dots i{width:7px;height:7px;border-radius:50%;background:var(--sand);display:block;transition:background .2s,transform .2s}
.onboarding-dots i.on{background:var(--moss);transform:scale(1.25)}
.onboarding-dots i.done{background:var(--green-soft)}
.onboarding-eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.16em;color:var(--moss-ink);margin-bottom:10px}
.onboard-mark{position:relative;width:52px;height:52px;margin:0 0 16px;border-radius:50%;background:linear-gradient(160deg,#eef2ec 0%,#fbf6e6 100%);border:1.5px solid rgba(171,176,154,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.onboard-mark-seed{position:absolute;left:50%;top:58%;width:10px;height:12px;margin-left:-5px;border-radius:50% 50% 45% 45%;background:#6b5740;transform:rotate(-8deg)}
.onboard-mark-leaf{position:absolute;left:50%;top:28%;width:18px;height:14px;margin-left:-4px;border-radius:0 80% 0 80%;background:var(--moss);transform:rotate(-28deg);opacity:.9}
.onboard-circle-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b88928;background:#fbf6e6;border:1.5px solid var(--gold);border-radius:999px;padding:6px 12px;margin:0 0 14px}
.onboard-circle-note{font-size:13.5px;line-height:1.5;color:var(--bark-soft);background:rgba(61,69,60,.04);border:1px solid var(--sand);border-radius:12px;padding:12px 14px;margin:0 0 18px}
.onboard-hype{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#fbf6e6 0%,#eef2ec 100%);border:1.5px solid var(--gold);border-radius:14px;padding:14px 16px;margin:0 0 18px}
.onboard-hype-num{font-family:'Fraunces',serif;font-size:36px;font-weight:600;color:var(--green);line-height:1;min-width:52px;text-align:center}
.onboard-hype-label{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#b88928;margin-bottom:4px}
.onboard-hype-line{font-size:13px;color:var(--green);line-height:1.45}
.onboard-name-field{display:block;margin:0 0 12px}
.onboard-name-field[hidden]{display:none!important}
.onboard-name-field input{width:100%;border:1.5px solid var(--sand);border-radius:12px;background:var(--white);padding:14px 16px;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--green);transition:border-color .2s}
.onboard-name-field input:focus{border-color:var(--moss);outline:none}
.onboard-name-field input::placeholder{color:var(--bark-soft)}
/* Chrome/Safari: fire animationstart so JS can enable Save after autofill */
@keyframes onAutoFillStart{from{opacity:.99}to{opacity:1}}
.onboard-name-field input:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:.001s}
.mode-pick{display:block;width:100%;text-align:left;border:1.5px solid var(--sand);border-radius:14px;padding:16px 18px;margin:0 0 12px;background:var(--white);cursor:pointer;font-family:inherit;transition:all .2s}
.mode-pick:last-of-type{margin-bottom:0}
.mode-pick-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink);background:#eef2ec;border-radius:999px;padding:4px 9px;margin-bottom:8px}
.mode-pick.featured .mode-pick-tag{color:#b88928;background:#fbf6e6}
.mode-pick.featured{border-color:rgba(217,169,63,.5);background:linear-gradient(180deg,#fffef9 0%,#fff 100%)}
.mode-pick strong{display:block;font-size:1.05rem;color:var(--green);margin-bottom:6px;font-family:'Fraunces',serif;font-weight:600}
.mode-pick span:not(.mode-pick-tag){font-size:.86rem;color:var(--bark);line-height:1.5;display:block}
.mode-pick:hover{border-color:var(--moss);background:#eef2ec;transform:translateY(-1px)}
.mode-pick.featured:hover{border-color:#b88928;background:#fbf6e6}
.onboard-auth-actions{
  position:sticky;
  bottom:0;
  z-index:2;
  background:var(--paper);
  padding:10px 0 2px;
  margin-top:4px
}
.overlay-btn{width:100%;text-align:center;margin-top:4px}
.overlay-btn:disabled{opacity:.45;cursor:default;transform:none;background:var(--green-soft)}
.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}

/* Scroll lock lives on <html> so it applies to the viewport. Lock BOTH axes
   (`overflow: hidden`). `overflow-y: hidden` alone computes overflow-x to auto,
   and that mixed pair makes html a containing block — the bottom nav, Settings,
   calendar sheets, and toasts then scroll with the page.
   Never lock overflow on body. Cheer-sheets toggle [hidden], so they are
   matched directly. */
html:has(body.is-booting),
html:has(body.overlay-open),
html:has(body.hub-menu-open),
html:has(body.cal-sheet-open),
html:has(body.curio-lightbox-open),
html:has(body.leader-pdf-open),
html:has(.cheer-sheet:not([hidden])),
html:has(#growthMoment.open){overflow:hidden;overscroll-behavior:none}
/* On phones the page scroller is .layout, not the window — lock that too. */
html:has(body.is-booting) .layout,
html:has(body.overlay-open) .layout,
html:has(body.hub-menu-open) .layout,
html:has(body.cal-sheet-open) .layout,
html:has(body.curio-lightbox-open) .layout,
html:has(body.leader-pdf-open) .layout,
html:has(.cheer-sheet:not([hidden])) .layout,
html:has(#growthMoment.open) .layout{overflow:hidden;overscroll-behavior:none}

@media (min-width:901px){
  .content{max-width:880px;padding:40px 48px 120px}
  .content.content-wide{max-width:1240px}
  .onboarding-card{max-width:480px;padding:32px 30px 28px}
  .overlay{padding:32px 24px}
  .prod-detail-title{font-size:36px}
  .home-plant-zone{padding:26px 28px}
  .bottom-nav{
    left:0;
    right:0;
    width:100%;
    max-width:1440px;
    margin:0 auto;
    padding:6px 12px 10px 280px;
    box-shadow:0 -6px 20px rgba(61,69,60,.08)
  }
  #cabinetComposerDock{
    left:0;
    right:0;
    width:100%;
    max-width:1440px;
    margin:0 auto;
    padding:8px 48px calc(12px + env(safe-area-inset-bottom, 0px)) 328px;
  }
  .bottom-nav-btn{min-height:52px;max-width:160px}
  .hub-menu-panel{width:min(400px,92vw)}
  .cal-sheet-panel{width:min(520px,100vw)}
}
@media (min-width:1280px){
  .prod-cat-grid{grid-template-columns:1fr 1fr 1fr}
}

/* ── mobile ── */
@media (max-width:900px){
  /* html as a non-scrolling box is what keeps position:fixed on the screen.
     If html itself scrolls, the bottom nav sticks to the page and rides up.
     Use lvh (not 100% / dvh): iOS 26 can shrink the ICB with the keyboard and
     then leave it short, which paints a blank hole over Leads/notes. lvh stays
     the large viewport and ignores the keyboard. */
  html, body{
    height:100%;
    min-height:100%;
    max-height:none;
    height:100lvh;
    min-height:100lvh;
    max-height:100lvh;
    overflow:hidden;
    overscroll-behavior:none;
  }
  .fact-grid{grid-template-columns:1fr}
  .layout{
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:100%;
    height:100%;
    min-height:0;
    max-height:100%;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  /* Extra scroll room while the keyboard overlays — do not mutate padding
     (that reflows the scroller mid-type). scroll-padding only. */
  html.fs-kb-open .layout{
    scroll-padding-bottom:calc(var(--fs-kb-inset, 0px) + 24px);
  }
  .rail{
    position:sticky;
    top:0;
    z-index:12;
    flex:0 0 auto;
    height:auto;
    overflow:visible;
    padding:max(10px, env(safe-area-inset-top, 0px)) 16px 10px;
    border-right:none;
    border-bottom:1px solid var(--green-mid);
    gap:8px;
    max-width:100%;
    background:var(--rail);
  }
  .main{flex:1 0 auto;min-height:min-content}
  .rail .nav{display:none}
  .brand-eyebrow{font-size:12px;margin:0 0 10px}
  .brand-title{font-size:22px;padding:.14em .34em}
  .home-plant-zone{grid-template-columns:1fr;padding:16px;text-align:center;max-width:100%}
  .home-plantbox{height:190px;max-width:170px}
  .train-stats{justify-content:center}
  .plant-caption{text-align:center;min-height:0}
  .hub-menu-panel{width:min(100vw,420px);padding:0}
  .hub-menu-head{padding:max(14px, env(safe-area-inset-top)) 16px 0}
  .hub-menu-sync{padding:0 16px}
  .hub-menu-scroll{padding:2px 16px max(16px, env(safe-area-inset-bottom))}
  .topbar{
    position:sticky;
    /* Tuck 2px under the rail so a subpixel sticky seam can’t flash
       scrolled text between the header and the countdown. */
    top:calc(var(--fs-rail-offset, 0px) - 2px);
    margin-top:-2px;
    z-index:11;
    padding:10px 12px;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
    max-width:100%;
    /* Same reason as the bottom nav below — a sticky bar with a live blur has to
       re-blur whatever is passing under it on every frame of a scroll. */
    background:#f4f1e9;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .topbar-cds{
    margin-left:0;
    gap:8px;
    flex-wrap:wrap;
    justify-content:center;
    width:100%;
    max-width:100%;
  }
  .cd-roadmap{width:100%;order:-1;max-width:100%}
  .cd-roadmap-hit{
    width:100%;
    max-width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    justify-content:stretch;
  }
  .cd-roadmap-panel{left:50%;right:auto;transform:translate(-50%,8px);width:min(440px,calc(100vw - 24px))}
  .cd-roadmap.is-open .cd-roadmap-panel{transform:translate(-50%,0)}
  .topbar-cd{
    padding:8px 10px;
    gap:6px;
    border-radius:12px;
    min-width:0;
    width:100%;
    justify-content:flex-start;
  }
  .topbar-cd .cd-num{font-size:18px;flex-shrink:0}
  .topbar-cd .cd-unit{font-size:11px;flex-shrink:0}
  .topbar-cd .cd-label{
    font-size:12px;
    padding-left:8px;
    min-width:0;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
  }
  .timeline.compact .tl-row{grid-template-columns:1fr}
  .rail-brand-top{align-items:center;gap:10px}
  .ev-res-head{flex-wrap:wrap;align-items:center;padding:6px 4px 2px}
  .ev-res-head h1{white-space:normal}
  .rail-settings{width:44px;height:44px;border-radius:10px}
  .rail-settings-ico{font-size:15px}
  .rail-team-ico{font-size:16px}
  .rail-board-ico{font-size:15px}
  .rail-board-btn[data-board-new="1"]::after{top:5px;right:5px;width:7px;height:7px}
  .brand-sub{display:none}
  .today-card{padding:18px 16px 14px;margin-bottom:18px;border-radius:16px;max-width:100%}
  .today-title{font-size:22px}
  .today-body{font-size:14.5px}
  .today-card .btn-row{flex-direction:column;align-items:stretch}
  .today-card .btn,.today-card .btn-ghost{width:100%;text-align:center}
  .content{padding:22px 16px calc(168px + max(env(safe-area-inset-bottom), 10px));max-width:100%}
  body.cabinet-thread-open .content{
    padding-top:8px;
    padding-bottom:8px;
  }
  .panel h1{font-size:clamp(1.55rem, 6vw, 2rem)}
  .panel h1,.body-p,.sec-sub{overflow-wrap:anywhere;word-break:break-word}
  .overlay-card{padding:22px 18px 20px;border-radius:18px}
  .overlay-card h3{font-size:1.35rem}
  .onboard-hype{padding:12px 14px;gap:10px}
  .onboard-hype-num{font-size:30px;min-width:44px}
  .onboard-install-choices{flex-direction:row;gap:6px}
  .onboard-install-choice{padding:10px 6px;font-size:12px;text-align:center;line-height:1.25}
  .module-check{padding:12px 14px}
  .lock-toast{bottom:calc(88px + env(safe-area-inset-bottom))}
  .tl-row{grid-template-columns:1fr}
  .week-strip{gap:4px}
  .day-what{display:none}
  .day{min-height:52px}
  .tnode-kids{margin-left:6px;padding-left:12px}
  .tnode-name{max-width:none}
  .cdot{width:38px;height:38px;font-size:16px}
  .hook-row{flex-direction:column;align-items:flex-start;gap:8px}
  .cheer-banner{margin:10px 16px 0}
  .leader-note-banner{margin:10px 16px 0}
  .leader-board,.leader-board.cols-2,.leader-board.cols-3{grid-template-columns:1fr}
  .cal-grid-week{
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .cal-cell.week{
    min-height:0;
    padding:10px 12px;
  }
  .cal-grid-week .cal-chip-txt{white-space:normal}
  .cal-board-head{flex-wrap:wrap;align-items:flex-start;gap:10px}
  .cal-board-toggle{flex:1 1 100%}
  .cal-board-meta{justify-content:flex-start;width:100%}
  .cal-mday{min-height:52px;padding:4px}
  .cal-sheet-panel{width:100vw;padding:18px 16px 36px}
  .btn-row{flex-direction:column;align-items:stretch}
  .btn-row .btn,.btn-row .btn-ghost{width:100%;text-align:center}
  .bottom-nav{
    padding-left:max(4px, env(safe-area-inset-left));
    padding-right:max(4px, env(safe-area-inset-right));
    padding-bottom:calc(12px + max(env(safe-area-inset-bottom), 10px));
    /* Solid paint — backdrop-filter on fixed bars glitches during momentum scroll */
    background:var(--paper);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .bottom-nav-btn{max-width:none;min-width:0;min-height:58px;padding:12px 4px;font-size:11px}
  /* iOS zooms the viewport when focusing inputs under 16px — keep controls readable without zoom.
     This is a floor, not a size: the target picker is already well over 16px, so it's exempt. */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
  textarea,
  select:not(.cpp-jump-sel){
    font-size:16px!important;
  }
}
@media (pointer:coarse){
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),
  textarea,
  select:not(.cpp-jump-sel){
    font-size:16px!important;
  }
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  html{scroll-behavior:auto}
}

/* ── How I Grow: partner support profile ── */
.how-grow-reminder{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0;padding:16px 18px;background:linear-gradient(135deg,#eef2ec,#fbf6e6);border:1.5px solid var(--moss);border-radius:14px;box-shadow:var(--shadow)}
.how-grow-reminder[hidden]{display:none!important}
#panel-ev-home .how-grow-reminder{margin:16px 0 0}
.how-grow-reminder>div{display:grid;gap:3px;min-width:0}
.how-grow-reminder strong{font-size:15px;font-weight:700;color:var(--green)}
.how-grow-reminder span{font-size:13px;line-height:1.45;color:var(--bark)}
.how-grow-reminder .btn-ghost{flex:0 0 auto;white-space:nowrap}

.overlay.how-grow-overlay{align-items:center;justify-content:center}
.overlay.how-grow-overlay .how-grow-card{position:relative;width:min(680px,100%);max-width:680px;max-height:calc(100dvh - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:30px 28px 26px}
.how-grow-pane{display:none}
.how-grow-pane.on{display:block;animation:obPaneIn .35s var(--ease)}
.how-grow-pane h3{margin:10px 0 16px;font-size:clamp(22px,4.5vw,28px);line-height:1.25}

.how-grow-chip{
  display:inline-flex;align-items:center;gap:6px;margin:0 0 2px;padding:6px 11px;
  border-radius:999px;background:var(--paper-warm);border:1px solid var(--sand);
  color:var(--green-mid);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase
}

.how-grow-progress{display:grid;gap:8px;margin:0 40px 20px}
.how-grow-progress[hidden]{display:none!important}
.how-grow-progress-meta{display:flex;justify-content:center}
.how-grow-progress-meta span{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--bark-soft)}
.how-grow-progress-track{height:6px;border-radius:99px;background:var(--sand);overflow:hidden}
.how-grow-progress-track i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--moss),var(--moss-light));transition:width .28s var(--ease)}

.how-grow-privacy{margin:0 0 22px;padding:12px 14px;border-radius:12px;background:var(--paper-warm);color:var(--bark);font-size:13px;line-height:1.5}
.how-grow-later-hint{margin:10px 0 0;text-align:center;font-size:12.5px;line-height:1.45;color:var(--bark-soft)}

.how-grow-fieldset{min-width:0;margin:0 0 24px;padding:0;border:0}
.how-grow-fieldset legend{display:block;width:100%;padding:0;margin:0 0 10px;font-size:15px;font-weight:700;line-height:1.45;color:var(--green)}
.how-grow-fieldset .field-hint{margin:10px 0 0}
.how-grow-pane > .field-hint{margin:0 0 4px;color:var(--bark-soft)}

.how-grow-choices{display:grid;grid-template-columns:1fr;gap:10px}
.how-grow-choices button{
  display:grid;grid-template-columns:19px minmax(0,1fr);align-items:center;gap:11px;
  width:100%;min-height:52px;padding:13px 15px;margin:0;
  border:1.5px solid var(--sand);border-radius:13px;background:transparent;
  font:inherit;font-size:14px;line-height:1.4;color:var(--bark);text-align:left;cursor:pointer;
  transition:border-color .2s,background .2s,box-shadow .2s
}
.how-grow-choices button:hover{border-color:var(--moss-light)}
.how-grow-choices button::before{
  content:"";grid-column:1;grid-row:1;box-sizing:border-box;
  width:19px;height:19px;border-radius:50%;border:2px solid #cbc4b4;
  display:grid;place-items:center;color:#fff;font-size:11px;font-weight:700;line-height:1;
  transition:background .2s,border-color .2s
}
.how-grow-choices button.on{background:var(--white);border-color:var(--moss);color:var(--green);box-shadow:var(--shadow)}
.how-grow-choices button.on::before{content:"✓";background:var(--moss);border-color:var(--moss)}
.how-grow-choices.multi button::before{border-radius:6px}
.how-grow-choices.multi button.on::before{content:attr(data-rank);font-size:11px;letter-spacing:0}
.how-grow-choices[data-how-grow-multi="encouragement"] button{align-items:start;row-gap:0}
.how-grow-choices[data-how-grow-multi="encouragement"] button::before{grid-row:1 / span 2;align-self:start;margin-top:1px}
.how-grow-choices[data-how-grow-multi="encouragement"] button strong{grid-column:2;grid-row:1;font-size:14px;font-weight:700;color:var(--green)}
.how-grow-choices[data-how-grow-multi="encouragement"] button span{grid-column:2;grid-row:2;margin-top:3px;font-size:12.5px;line-height:1.4;color:var(--bark-soft)}
.how-grow-choices.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.how-grow-choices.compact button{min-height:46px;padding:11px 13px;font-size:13.5px}
.how-grow-choices.multi.no-rank button.on::before{content:"✓";font-size:11px;letter-spacing:0}
.how-grow-contact-fields{display:grid;gap:12px;margin:16px 0 0}
.how-grow-contact-fields[hidden],
.how-grow-contact-fields .field[hidden]{display:none!important}
.how-grow-contact-fields .field{margin:0}

.how-grow-card .field{display:grid;gap:6px;margin:0 0 12px}
.how-grow-card .field-label{margin:0;font-size:15px}
.how-grow-card input,
.how-grow-card textarea{
  width:100%;box-sizing:border-box;border:1.5px solid var(--sand);border-radius:12px;background:var(--white);
  padding:12px 14px;font-family:'DM Sans',sans-serif;font-size:15px;color:var(--green);transition:border-color .2s
}
.how-grow-card textarea{resize:vertical;line-height:1.6}
.how-grow-card input:focus,
.how-grow-card textarea:focus{border-color:var(--moss);outline:none}
.how-grow-card input::placeholder,
.how-grow-card textarea::placeholder{color:var(--bark-soft)}
.how-grow-other-input{width:100%;margin-top:12px;box-sizing:border-box}

.how-grow-joys{margin:0 0 4px;border:1.5px solid var(--sand);border-radius:15px;background:var(--white);overflow:hidden}
.how-grow-joys summary{display:flex;align-items:baseline;gap:8px;padding:15px 16px;font-size:15px;font-weight:700;color:var(--green);cursor:pointer;list-style:none}
.how-grow-joys summary::-webkit-details-marker{display:none}
.how-grow-joys summary span{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--bark-soft)}
.how-grow-joys summary::after{content:"▾";margin-left:auto;font-size:12px;color:var(--bark-soft)}
.how-grow-joys[open] summary::after{content:"▴"}
.how-grow-joys-lead{margin:0 0 16px;font-size:14px}
.how-grow-joy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 16px 18px}
.how-grow-joy-grid-open{padding:0;margin:0 0 8px}
.how-grow-joy-grid .field{margin:0}
.how-grow-joy-grid .full{grid-column:1 / -1}

.how-grow-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px}
.how-grow-actions .btn,
.how-grow-actions .btn-ghost{flex:0 0 auto;min-width:112px;text-align:center}
#howGrowMsg{margin:14px 0 0}

/* Leader-side snapshot on each mentoring card */
.how-grow-snapshot{margin:0 0 12px;padding:13px 14px;border:1.5px solid var(--sand);border-radius:14px;background:var(--white)}
.how-grow-snapshot.is-empty>div{display:grid;gap:2px;min-width:0}
.how-grow-snapshot strong{font-size:13px;font-weight:700;color:var(--green)}
.how-grow-snapshot.is-empty span{font-size:11.5px;line-height:1.4;color:var(--bark-soft)}
.how-grow-snapshot-btn{display:block;width:100%;border:none;background:transparent;padding:0;margin:0;text-align:left;font-family:inherit;font-size:13px;font-weight:700;color:var(--green);cursor:pointer;line-height:1.35}
.how-grow-snapshot-btn:hover,.how-grow-snapshot-btn:focus-visible{color:var(--moss-ink);outline:none}
.how-grow-snapshot-label{margin:10px 0 0;font-size:12px;font-weight:600;color:var(--bark-soft)}
.how-grow-snapshot-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.how-grow-snapshot-chips span{padding:6px 11px;border-radius:999px;background:var(--moss-light);color:var(--green);font-size:11px;font-weight:600;line-height:1.35}
.how-grow-snapshot.is-empty{background:transparent;border-style:dashed}

/* Leader-side full response sheet */
.cheer-sheet .how-they-grow-card{width:min(620px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.how-they-grow-card h3{font-family:'Fraunces',serif;font-size:24px;font-weight:600;color:var(--green);margin:0 0 6px;line-height:1.2}
.how-they-grow-summary dl,
.how-they-grow-joys dl{display:grid;gap:0;margin:10px 0 0}
.how-they-grow-row{display:grid;gap:4px;padding:13px 0;border-bottom:1px solid var(--sand)}
.how-they-grow-row:last-child{border-bottom:0}
.how-they-grow-row dt{font-size:12.5px;font-weight:600;line-height:1.45;color:var(--bark-soft)}
.how-they-grow-row dd{margin:0;font-size:15px;line-height:1.5;color:var(--green);font-weight:600}
.how-they-grow-notes{display:grid;gap:10px;margin-top:18px}
.how-they-grow-notes section{padding:13px 15px;border-radius:13px;background:var(--paper-warm)}
.how-they-grow-notes span{display:block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--moss-ink)}
.how-they-grow-notes p{margin:6px 0 0;font-size:14px;line-height:1.55;color:var(--green)}
.how-they-grow-joys{margin-top:18px;border-top:1px solid var(--sand)}
.how-they-grow-joys summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;padding:15px 0 12px;font-size:15px;font-weight:700;color:var(--green);cursor:pointer;list-style:none}
.how-they-grow-joys summary::after{content:"▾";margin-left:auto;font-size:12px;color:var(--bark-soft)}
.how-they-grow-joys[open] summary::after{content:"▴"}
.how-they-grow-joys summary::-webkit-details-marker{display:none}
.how-they-grow-joys summary span{display:block;margin-top:2px;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--bark-soft)}

@media (max-width:640px){
  .how-grow-reminder{flex-direction:column;align-items:stretch}
  .how-grow-reminder .btn-ghost{width:100%;text-align:center}
  .overlay.how-grow-overlay{padding:0}
  .overlay.how-grow-overlay .how-grow-card{
    max-height:100dvh;border-radius:0;border:0;
    padding:max(24px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom))
  }
  .how-grow-progress{margin:0 8px 18px}
  .how-grow-choices.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .how-grow-joy-grid{grid-template-columns:1fr}
  .how-grow-joy-grid .full{grid-column:auto}
  .how-grow-actions .btn,
  .how-grow-actions .btn-ghost{min-width:0;flex:1 1 auto}
  .your-story-sum,.dream-tree-sum,.ideal-leads-sum,.grove-leaders-roster-sum{flex-wrap:wrap}
  .your-story-tease,.dream-tree-tease,.ideal-leads-tease,.grove-leaders-roster-tease{flex:1 1 100%;text-align:left;order:3}
  .ideal-lead-actions{grid-template-columns:1fr}
  .leads-manual-row{grid-template-columns:1fr}
  .leads-card-tags{max-width:100%;justify-content:flex-start}
}

@media (max-width:900px){
  /* Sit the sheet in the space above the keyboard so Next stays tappable
     without adding a tall empty pad. */
  html.fs-kb-open .overlay.how-grow-overlay,
  html.fs-kb-open #onboarding.overlay,
  html.fs-kb-open #authOverlay.overlay{
    align-items:flex-start;
    justify-content:flex-start;
    padding-top:var(--fs-vv-offset, 0px);
    padding-bottom:0
  }
  html.fs-kb-open .overlay.how-grow-overlay .how-grow-card,
  html.fs-kb-open #onboarding.overlay .onboarding-card,
  html.fs-kb-open #authOverlay.overlay .overlay-card{
    max-height:var(--fs-vv-height, 100dvh);
    margin:0 auto
  }
}

/* ── compensation plan walkthrough ── */
.cp-root{margin-top:4px}
.cp-h2{font-family:'Fraunces',serif;font-size:28px;font-weight:500;color:var(--ink);line-height:1.15;margin:0 0 12px}
.cp-h3{font-family:'Fraunces',serif;font-size:22px;font-weight:500;color:var(--ink);line-height:1.2;margin:0}
.cp-quiet{margin:0 0 16px;padding:0;border:1.5px solid #ead9a8;background:#fbf5e4;border-radius:14px;overflow:hidden}
.cp-quiet > summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;list-style:none;cursor:pointer;padding:12px 14px;font:inherit}
.cp-quiet > summary::-webkit-details-marker{display:none}
.cp-quiet > summary::marker{content:""}
.cp-quiet-tag{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#b88928;flex-shrink:0}
.cp-quiet-line{font-size:13.5px;line-height:1.5;color:var(--green)}
.cp-quiet > p{margin:0;padding:0 14px 12px;font-size:13.5px;line-height:1.6;color:var(--green);border-top:1px solid rgba(184,137,40,.18);padding-top:10px}
.cp-fold{margin-bottom:10px}
.cp-fold .know-acc-sum{align-items:flex-start;gap:14px}
.cp-fold .know-acc-chev{margin-top:18px}
.cp-fold-copy{min-width:0;flex:1}
.cp-fold-kicker{display:block;font-family:'DM Sans',sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 4px}
.cp-fold-title{display:block;font-family:'Fraunces',serif;font-size:20px;font-weight:500;color:var(--ink);line-height:1.2}
.cp-fold-tease{display:block;font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:400;color:var(--bark);line-height:1.45;margin-top:6px}
.cp-fold[open] .cp-fold-tease{display:none}
.cp-fold-body{padding-top:4px}
.cp-fold-body .body-p:first-child{margin-top:8px}
.cp-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bark-soft);margin:0 0 8px}
.cp-tag{display:inline-block;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 8px;border-radius:999px;border:1px dashed var(--sand);color:var(--bark);flex-shrink:0;white-space:nowrap}
.cp-tag.on{background:rgba(17,19,17,.1);border-style:solid;border-color:transparent;color:var(--ink)}
.cp-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.cp-note{font-size:14px;line-height:1.65;color:var(--green);background:var(--paper-warm);border-radius:10px;padding:12px 14px;margin:12px 0 0}
.cp-formula{font-size:14px;font-variant-numeric:tabular-nums;background:rgba(245,246,242,.12);border-radius:10px;padding:12px 14px;margin:12px 0 0}
.cp-ink{background:var(--ink);color:var(--beige);border-radius:14px;padding:20px 22px;margin:16px 0}
.cp-ink p{font-size:14px;line-height:1.7;margin:0 0 12px;color:rgba(243,236,216,.9)}
.cp-ink p:last-child{margin-bottom:0}
.cp-ink .live-tag{color:rgba(243,236,216,.7)}
.cp-ink .cp-h3{color:#fff}
.cp-ink .cp-tag.on{background:rgba(243,236,216,.2);color:var(--beige);border-color:transparent}
.cp-acc{display:block;width:100%;text-align:left;appearance:none;-webkit-appearance:none;border:1.5px solid var(--sand);background:var(--white);border-radius:14px;padding:16px 18px;margin:0 0 8px;cursor:pointer;box-shadow:var(--shadow);color:inherit;font:inherit}
.cp-acc.open{background:var(--paper-warm)}
.cp-acc-row{display:flex;align-items:flex-start;gap:14px}
.cp-letter{flex-shrink:0;width:44px;font-family:'Fraunces',serif;font-size:26px;font-weight:500;color:var(--ink);line-height:1}
.cp-acc-main{min-width:0}
.cp-acc-title{display:block;font-size:14px;font-weight:700;color:var(--ink);margin:0 0 4px}
.cp-acc-plain{display:block;font-size:14px;line-height:1.55;color:var(--green)}
.cp-acc-q{display:flex;align-items:flex-start;gap:10px;font-size:14px;font-weight:700;color:var(--ink);line-height:1.45}
.cp-plus{font-family:'Fraunces',serif;font-size:22px;line-height:1;opacity:.4;flex-shrink:0}
.cp-acc-a{margin:10px 0 0 32px;font-size:14px;line-height:1.65;color:var(--green);text-align:left}
.cp-tl-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0 0 16px}
.cp-tl{appearance:none;-webkit-appearance:none;border:1.5px solid var(--sand);background:var(--white);color:var(--ink);border-radius:12px;padding:12px 0;font-family:'Fraunces',serif;font-size:22px;font-weight:500;cursor:pointer}
.cp-tl.on{background:var(--ink);border-color:var(--ink);color:var(--beige)}
.cp-tl.is-turn{outline:1.5px solid var(--ink);outline-offset:0}
.cp-ladder-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px}
.cp-ladder-head .live-tag{background:var(--ink);color:var(--beige);border-radius:999px;padding:4px 8px;margin:0}
.cp-dl-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bark-soft);margin:0 0 4px}
.cp-alt{display:block;margin-top:4px;opacity:.72}
.cp-chips{display:flex;flex-wrap:wrap;gap:6px}
.cp-chip{display:inline-block;font-size:12px;font-variant-numeric:tabular-nums;padding:6px 10px;border-radius:999px;background:var(--paper-warm);color:var(--ink)}
.cp-chip.on{background:var(--ink);color:var(--beige)}
.cp-strip-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}
.cp-strip-tab{appearance:none;-webkit-appearance:none;border:1.5px solid var(--sand);background:var(--white);color:var(--ink);border-radius:12px;padding:10px 0;min-height:44px;font-size:13px;font-weight:700;cursor:pointer}
.cp-strip-tab.on{background:var(--ink);border-color:var(--ink);color:var(--beige)}
.cp-leg{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;margin:0 0 6px;border:1px dashed transparent;background:var(--paper-warm)}
.cp-leg.on{background:var(--white);border:1.5px solid var(--sand)}
.cp-leg:not(.on){opacity:.4}
.cp-leg span{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.cp-leg strong{font-family:'Fraunces',serif;font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}
.cp-leg strong.is-out{text-decoration:line-through}
.cp-leg em{font-size:12px;font-style:italic;opacity:.75}
.cp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 10px;border:1.5px solid var(--sand);border-radius:14px;background:var(--white);box-shadow:var(--shadow)}
.cp-chart{border-collapse:collapse;width:100%;min-width:680px;font-variant-numeric:tabular-nums;font-size:12px}
.cp-chart-sm{min-width:0}
.cp-chart th,.cp-chart td{padding:8px 6px;text-align:center;border-bottom:1px solid var(--sand);white-space:nowrap}
.cp-chart thead th{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--bark-soft);font-weight:700}
.cp-chart-stub,.cp-chart-row{text-align:left;padding-left:12px;position:sticky;left:0;background:var(--white);z-index:1;font-size:11px;font-weight:700;letter-spacing:.02em;color:var(--ink);text-transform:none;box-shadow:4px 0 8px rgba(17,19,17,.04)}
.cp-chart td.on,.cp-chart th.on{background:var(--ink);color:var(--beige)}
.cp-chart td[data-cp],.cp-chart th[data-cp]{cursor:pointer}
.cp-chart .cp-blank{opacity:.38}
.cp-chart td.on.cp-blank{opacity:.75}
.cp-chart-tl{appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font-family:'Fraunces',serif;font-size:15px;font-weight:500;cursor:pointer;padding:2px 0;width:100%}
.cp-chart th.on .cp-chart-tl{color:var(--beige)}
.cp-chart tbody tr:last-child td,.cp-chart tbody tr:last-child th{border-bottom:0}
.cp-chart-foot{font-size:13px;line-height:1.55;color:var(--bark);margin:0 0 16px}
.cp-big{font-family:'Fraunces',serif;font-size:40px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1.1;margin:4px 0 8px;color:#fff}
.cp-from{font-size:12px;opacity:.65;margin:0 0 10px;min-height:1em}
.cp-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:4px 0;font-size:14px;color:var(--green)}
.cp-ink .cp-row{color:rgba(243,236,216,.9)}
.cp-row.bold{font-weight:700}
.cp-pts{font-variant-numeric:tabular-nums;opacity:.75;white-space:nowrap}
.cp-month{background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:16px 18px;margin:0 0 8px;box-shadow:var(--shadow)}
.cp-month.is-proj{background:transparent;border-style:dashed;box-shadow:none}
.cp-month-top{display:flex;align-items:baseline;gap:12px;margin:0 0 6px}
.cp-month-n{font-family:'Fraunces',serif;font-size:24px;font-weight:500;opacity:.45;width:36px;flex-shrink:0}
.cp-month-title{flex:1;font-size:14px;font-weight:700;color:var(--ink);line-height:1.35}
.cp-month-amt{font-size:14px;font-variant-numeric:tabular-nums;color:var(--green);flex-shrink:0}
.cp-month.is-proj .cp-month-amt{opacity:.65}
.cp-month-note{font-size:14px;line-height:1.6;color:var(--green);margin:0 0 0 48px}
.cp-ext{border:1.5px solid var(--ink);border-radius:16px;overflow:hidden;margin:18px 0}
.cp-ext-body{padding:12px;background:var(--paper-warm)}
.cp-list{margin:0;padding:0;list-style:none}
.cp-list li{font-size:14px;line-height:1.65;color:var(--green);margin:0 0 16px}
.cp-list li:last-child{margin-bottom:0}
.cp-list strong{display:block;margin:0 0 4px;color:var(--ink)}
.cp-foot{font-size:12px;line-height:1.6;color:var(--bark-soft);margin:14px 0 0}

/* ── compensation playground: qualify vs pay ── */
/* The marquee card in the walkthrough — borrows the Learn tab's big CTA so it
   reads as the thing to tap, but folds in place instead of going somewhere. */
.cpp-fold{margin:0 0 14px}
.cpp-fold>.cpp-cta{list-style:none;display:block;width:100%;text-align:left;cursor:pointer;padding:22px 22px 20px;border-radius:18px;background:linear-gradient(145deg,#f3ecd8 0%,#e8ebe3 55%,#dfe4d6 100%);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;box-sizing:border-box}
.cpp-fold>.cpp-cta::-webkit-details-marker{display:none}
@media (hover:hover) and (pointer:fine){
  .cpp-fold>.cpp-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(61,69,60,.14)}
}
.cpp-fold[open]>.cpp-cta{border-radius:18px 18px 0 0;transform:none;box-shadow:none}
.cpp-cta-eyebrow{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:rgba(255,255,255,.65);border-radius:999px;padding:4px 9px;margin-bottom:10px}
.cpp-cta-title{display:block;font-family:'Fraunces',serif;font-size:28px;font-weight:500;color:#000;line-height:1.15;margin:0 0 8px}
.cpp-cta-sub{display:block;font-size:14px;line-height:1.5;color:rgba(0,0,0,.72);max-width:34em;margin:0 0 14px}
.cpp-cta-go{display:inline-block;font-size:13.5px;font-weight:700;color:var(--ink);background:#fff;border-radius:999px;padding:8px 14px}
.cpp-cta-go::after{content:"Play with it →"}
.cpp-fold[open] .cpp-cta-go::after{content:"Close"}
.cpp{margin:0 0 22px}
.cpp-fold[open]>.cpp{background:linear-gradient(180deg,#dfe4d6 0%,rgba(223,228,214,0) 120px);border-radius:0 0 18px 18px;padding:18px 16px 18px;margin:0 0 14px}
/* One control split in three rather than three loose buttons. They're a set you
   toggle between — a shared track says that on sight, and equal columns let the
   longer labels wrap instead of pushing anyone onto their own row. */
.cpp-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;background:rgba(255,255,255,.55);border:1.5px solid var(--sand);border-radius:16px;margin:0 0 14px}
.cpp-preset{appearance:none;-webkit-appearance:none;display:flex;align-items:center;justify-content:center;text-align:center;border:0;background:transparent;color:var(--bark);border-radius:12px;padding:9px 6px;min-height:46px;font:inherit;font-size:12.5px;font-weight:700;line-height:1.28;cursor:pointer;transition:background .15s,color .15s}
.cpp-preset:hover{background:rgba(255,255,255,.8);color:var(--ink)}
.cpp-preset.on,.cpp-preset.on:hover{background:var(--ink);color:var(--beige)}
/* The playground runs on two spacing values: 8px holds a pair together (the
   meters and their total, the dials and their footnote), 14px separates the
   groups. Anything in between just reads as drift. */
.cpp-meters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 8px}
.cpp-meter{display:flex;flex-direction:column;background:var(--white);border:1.5px solid var(--sand);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow)}
.cpp-meter.is-ink{background:var(--ink);border-color:var(--ink);box-shadow:none}
.cpp-meter-k{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--moss-ink);margin:0 0 8px}
.cpp-meter.is-ink .cpp-meter-k{color:rgba(243,236,216,.7)}
.cpp-meter-n{font-family:'Fraunces',serif;font-size:32px;font-weight:500;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums;margin:0 0 8px}
/* The target reads as the headline number but is also the way in — pick one and
   the dials fill with the volume it takes, so the board runs both directions. */
.cpp-jump{position:relative;display:inline-flex;align-items:center;align-self:flex-start;margin:0 0 8px;border-bottom:1.5px dashed var(--moss-light)}
.cpp-jump-sel{appearance:none;-webkit-appearance:none;border:0;background:transparent;font-family:'Fraunces',serif;font-size:32px;font-weight:500;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums;padding:0 22px 2px 0;margin:0;cursor:pointer}
.cpp-jump-sel:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.cpp-jump-arrow{position:absolute;right:2px;bottom:12px;width:9px;height:9px;border-right:2px solid var(--moss);border-bottom:2px solid var(--moss);transform:rotate(45deg);pointer-events:none}
.cpp-jump-note{font-size:13px;line-height:1.6;color:var(--green);background:var(--paper-warm);border-radius:12px;padding:11px 14px;margin:0 0 8px}
.cpp-ways{background:var(--paper-warm);border-radius:12px;padding:12px 14px;margin:0 0 8px}
.cpp-ways-k{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bark-soft);margin:0 0 8px}
.cpp-way{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;appearance:none;-webkit-appearance:none;border:0;border-bottom:1px solid rgba(61,69,60,.12);background:transparent;padding:8px 0;font:inherit;font-size:13px;color:var(--green);text-align:left;cursor:pointer}
.cpp-way:last-of-type{border-bottom:0}
.cpp-way-l{min-width:0}
.cpp-way-tag{display:block;font-style:normal;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bark-soft);margin-top:2px}
.cpp-way-v{font-family:'Fraunces',serif;font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}
.cpp-way.on{font-weight:700;color:var(--ink)}
.cpp-way.on .cpp-way-l::before{content:"● ";color:var(--moss-ink)}
.cpp-way.is-dead{cursor:default;color:var(--bark-soft)}
.cpp-way.is-dead .cpp-way-v{color:var(--bark-soft)}
.cpp-way-note{font-size:13px;line-height:1.6;color:var(--green);margin:8px 0 0}
.cpp-meter.is-ink .cpp-meter-n{color:#fff}
/* A whole-month total with cents runs to ten characters and overruns the card
   at the display size the target level wants. */
.cpp-meter-n.is-long{font-size:25px;letter-spacing:-.01em}
.cpp-meter-s{font-size:13px;line-height:1.55;color:var(--green);margin-top:auto}
.cpp-meter.is-ink .cpp-meter-s{color:rgba(243,236,216,.85)}
.cpp-total{font-size:13.5px;line-height:1.5;color:var(--bark);margin:0 0 14px;text-align:center}
.cpp-total-note{display:block;font-size:12px;color:var(--bark-soft);margin-top:3px}
.cpp-total-line{display:block;margin-top:2px}
.cpp-total strong{font-family:'Fraunces',serif;font-size:17px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.cpp-wall{background:var(--paper-warm);border-radius:14px;padding:14px 16px;margin:0 0 14px}
.cpp-wall-k{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bark-soft);margin:0 0 6px}
.cpp-wall p{font-size:14px;line-height:1.62;color:var(--green);margin:0 0 8px}
.cpp-wall p:last-child{margin:0}
.cpp-nudge{font-size:13.5px;line-height:1.55;color:var(--bark-soft);margin:0 0 14px}
.cpp-dials{display:grid;gap:6px;margin:0 0 8px}
.cpp-dial{display:block;background:var(--white);border:1.5px solid var(--sand);border-radius:12px;padding:11px 14px 10px;cursor:default}
.cpp-dial.is-own{background:var(--paper-warm);border-style:dashed}
.cpp-dial.is-out{background:var(--paper);border-color:var(--moss-light)}
.cpp-dial-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.cpp-dial-l{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;font-weight:700;color:var(--ink);min-width:0}
.cpp-dial-v{font-family:'Fraunces',serif;font-size:19px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums;flex-shrink:0}
.cpp-dial-chip{display:none;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border-radius:999px}
.cpp-dial.is-out .cpp-chip-out{display:inline-block;background:var(--sand);color:var(--bark)}
.cpp-dial.is-capped .cpp-chip-cap{display:inline-block;background:var(--ink);color:var(--beige)}
.cpp-dial.is-ct .cpp-chip-ct{display:inline-block;background:var(--paper);color:var(--green);border:1px solid var(--sand)}
.cpp-dial-foot{font-size:13px;line-height:1.55;color:var(--bark);margin:0 0 6px}
.cpp-dial-hint{font-size:12.5px;line-height:1.5;color:var(--bark-soft);margin:0 0 14px}
.cpp-gens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:8px 0 2px;padding-top:8px;border-top:1px solid rgba(61,69,60,.1)}
.cpp-gen{display:flex;flex-direction:column;gap:3px;min-width:0;cursor:default}
.cpp-gen-k{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bark-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpp-gen.is-unpaid .cpp-gen-k,.cpp-gen.is-unpaid .cpp-gen-in{opacity:.55}
.cpp-gen-in{width:100%;box-sizing:border-box;border:1.5px solid var(--sand);border-radius:8px;background:var(--paper);padding:6px 8px;font:inherit;font-size:13px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}
.cpp-gen-in:focus{outline:none;border-color:var(--moss);background:var(--white)}
.cpp-gen-in::-webkit-outer-spin-button,
.cpp-gen-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cpp-gen-in[type=number]{-moz-appearance:textfield;appearance:textfield}
.cpp-range{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:4px 0 0;cursor:pointer}
.cpp-range:focus{outline:none}
.cpp-range::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:var(--sand)}
.cpp-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--ink);border:3px solid var(--white);box-shadow:0 1px 4px rgba(17,19,17,.25);margin-top:-11px}
.cpp-range::-moz-range-track{height:4px;border-radius:999px;background:var(--sand)}
.cpp-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--ink);border:3px solid var(--white)}
.cpp-work-btn{display:flex;align-items:center;gap:8px;width:100%;appearance:none;-webkit-appearance:none;border:1.5px solid var(--sand);background:var(--white);border-radius:12px;padding:12px 16px;font:inherit;font-size:13px;font-weight:700;color:var(--ink);text-align:left;cursor:pointer}
.cpp-work-btn.on{border-bottom-color:transparent;border-bottom-left-radius:0;border-bottom-right-radius:0}
.cpp-plus{font-family:'Fraunces',serif;font-size:18px;line-height:1;opacity:.45}
.cpp-work{border:1.5px solid var(--sand);border-top:0;border-radius:0 0 12px 12px;padding:2px 16px 16px;background:var(--white)}
.cpp-depth-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;margin:10px 0 0}
.cpp-depth{width:100%;border-collapse:collapse}
.cpp-depth th,.cpp-depth td{padding:4px 3px;text-align:center}
.cpp-depth thead th{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bark-soft);padding-bottom:6px}
.cpp-depth tbody th{font-size:12.5px;font-weight:700;color:var(--ink);text-align:left;white-space:nowrap;padding-right:8px}
.cpp-depth tbody td:last-child{font-size:12px;color:var(--bark);white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:8px}
/* Generations this target doesn't reach: the volume still counts in TT, so the
   row stays editable — it just isn't earning. */
.cpp-depth tr.is-unpaid tbody th,.cpp-depth tr.is-unpaid th,.cpp-depth tr.is-unpaid td:last-child{color:var(--bark-soft)}
.cpp-depth tr.is-unpaid .cpp-depth-in{background:var(--paper);color:var(--bark-soft)}
.cpp-depth-in{width:100%;min-width:62px;box-sizing:border-box;border:1.5px solid var(--sand);border-radius:8px;background:var(--white);padding:7px 6px;font:inherit;font-size:13px;color:var(--green);text-align:right;font-variant-numeric:tabular-nums}
.cpp-depth-in:focus{outline:none;border-color:var(--moss)}
/* Spinners reserve width these cells can't spare, and five digits clip behind them. */
.cpp-depth-in::-webkit-outer-spin-button,
.cpp-depth-in::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cpp-depth-in[type=number]{-moz-appearance:textfield;appearance:textfield}
/* Sits in a 10.5px uppercase heading, so it reads as a mark rather than a
   button — but it still has to be big enough to hit with a thumb. */
.cpp-q{position:relative;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:7px;padding:0;border:1.5px solid var(--sand);border-radius:50%;background:var(--white);font-family:inherit;font-size:11px;font-weight:700;line-height:1;letter-spacing:0;color:var(--bark);cursor:pointer;vertical-align:middle;transition:background .15s,color .15s,border-color .15s}
.cpp-q::after{content:"";position:absolute;inset:-10px}
.cpp-q:hover{border-color:var(--moss);color:var(--ink)}
.cpp-q.on,.cpp-q.on:hover{background:var(--ink);border-color:var(--ink);color:var(--beige)}
.cpp-help{background:var(--paper);border:1.5px solid var(--sand);border-radius:12px;padding:12px 14px;margin:0 0 10px}
.cpp-help p{font-size:12.5px;line-height:1.55;color:var(--bark);margin:0 0 8px}
.cpp-help p:last-child{margin:0}
.cpp-help strong{color:var(--ink)}
.cpp-bfields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}
.cpp-bf{display:flex;flex-direction:column;gap:4px;min-width:0}
.cpp-bf>span{font-size:11.5px;line-height:1.3;color:var(--bark)}
.cpp-brow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin:0 0 6px}
.cpp-bin{width:100%;box-sizing:border-box;border:1.5px solid var(--sand);border-radius:9px;background:var(--white);padding:9px 10px;font:inherit;font-size:13.5px;color:var(--green);font-variant-numeric:tabular-nums}
input.cpp-bin{text-align:right}
.cpp-bin:focus{outline:none;border-color:var(--moss)}
.cpp-bin::-webkit-outer-spin-button,
.cpp-bin::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cpp-bin[type=number]{-moz-appearance:textfield;appearance:textfield}
select.cpp-bin{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:26px;background-image:linear-gradient(45deg,transparent 50%,var(--bark) 50%),linear-gradient(135deg,var(--bark) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.cpp-work-sub{font-size:12px;color:var(--bark);margin:10px 0 6px}
.cpp-work-k{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bark-soft);margin:16px 0 6px}
.cpp-work-p{font-size:13.5px;line-height:1.6;color:var(--green);margin:0 0 6px}
.cpp-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:5px 0;font-size:13px;color:var(--green);border-bottom:1px solid var(--paper-warm);font-variant-numeric:tabular-nums}
.cpp-line:last-child{border-bottom:0}
.cpp-line.is-strong{font-weight:700;color:var(--ink)}
.cpp-line.is-dim{opacity:.72;font-style:italic}
.cpp-line span:last-child{white-space:nowrap}
.cpp-work-list{margin:0;padding:0;list-style:none}
.cpp-work-list li{font-size:13px;line-height:1.62;color:var(--green);margin:0 0 10px}
.cpp-work-list li:last-child{margin:0}
@media (max-width:640px){
  .cpp-fold>.cpp-cta{padding:18px 16px 16px}
  .cpp-cta-title{font-size:24px}
  .cpp-cta-sub{font-size:13.5px;margin:0 0 12px}
  .cpp-fold[open]>.cpp{padding:14px 12px 14px}
  .cpp-preset{font-size:12px;padding:8px 4px}
  .cpp-meters{grid-template-columns:1fr;gap:8px}
  .cpp-meter{padding:13px 15px}
  .cpp-meter-n{font-size:27px;margin:0 0 6px}
  .cpp-meter-n.is-long{font-size:21px}
  .cpp-jump{margin:0 0 6px}
  .cpp-jump-sel{font-size:27px}
  .cpp-jump-arrow{bottom:10px}
  /* The zoom floor above forces these fields to 16px, so buy the width back
     from the padding and let the wrapper scroll if it still doesn't fit. */
  .cpp-depth th,.cpp-depth td{padding:3px 2px}
  .cpp-depth tbody th{font-size:12px;padding-right:4px}
  .cpp-depth tbody td:last-child{font-size:11px;padding-left:4px}
  .cpp-depth-in{min-width:54px;padding:7px 4px}
  .cpp-q{width:24px;height:24px;font-size:12px}
  .cp-big{font-size:32px}
  .cp-month-note{margin-left:0}
  .cp-h2{font-size:24px}
  .cp-fold-title{font-size:18px}
  .cp-chart{font-size:11px;min-width:620px}
  .cp-chart-stub,.cp-chart-row{padding-left:8px;font-size:10px}
  .cp-strip-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .cp-strip-tab{font-size:13px;padding:12px 0;min-height:44px}
}

.skip-link{
  position:absolute;left:12px;top:-80px;z-index:10002;
  background:var(--green);color:#f5f6f2;padding:10px 14px;border-radius:8px;
  font-weight:700;text-decoration:none
}
.skip-link:focus{top:12px}

/* Keyboard focus stays visible even when inputs set outline:none on :focus */
textarea:focus-visible,
input:focus-visible,
select:focus-visible,
button:focus-visible,
a:focus-visible{
  outline:3px solid var(--gold);
  outline-offset:2px
}

.shelf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-bottom:28px}
@media (max-width:420px){.shelf-grid{gap:10px}}
.shelf-card{display:flex;flex-direction:column;align-items:stretch;width:100%;text-align:left;background:var(--white);border:1.5px solid var(--sand);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);padding:0;font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.shelf-card.fmt-reel{border-left:3.5px solid #3d5a4a}
.shelf-card.fmt-carousel{border-left:3.5px solid #a67c5d}
.shelf-card.fmt-story{border-left:3.5px solid #9a6b73}
.shelf-card.fmt-single{border-left:3.5px solid #7a8468}
.shelf-card.fmt-facebook{border-left:3.5px solid #5c6b73}
.shelf-card.is-hidden{opacity:.62}
.shelf-card-media{position:relative;aspect-ratio:4/5;background:#ece8de;overflow:hidden}
.shelf-card-empty{display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bark)}
.shelf-stack{position:absolute;inset:10px;display:block}
.shelf-stack-frame{position:absolute;inset:0;border-radius:12px;overflow:hidden;box-shadow:0 6px 16px rgba(61,69,60,.18);background:#ddd;transform:translate(calc(var(--i) * 5px), calc(var(--i) * 5px)) scale(calc(1 - var(--i) * 0.04))}
.shelf-stack-frame img{display:block;width:100%;height:100%;object-fit:cover}
.shelf-card-body{padding:10px 12px 12px}
.shelf-card-title{margin:0 0 6px;font-family:'Fraunces',serif;font-size:16px;font-weight:500;color:var(--green);line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.shelf-card-meta{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--bark)}
.shelf-card-meta .person-photo{flex-shrink:0}
.shelf-card-chips{display:flex;flex-wrap:wrap;gap:4px}
.shelf-detail-frames{position:relative;margin:0 0 16px;background:#ece8de;border-radius:16px;overflow:hidden;aspect-ratio:4/5}
.shelf-detail-frames img{display:block;width:100%;height:100%;object-fit:contain;background:#1c1c1a}
.shelf-frame-nav{position:absolute;inset:auto 10px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.shelf-frame-nav button{border:none;background:rgba(255,255,255,.92);border-radius:999px;padding:8px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.shelf-frame-count{background:rgba(255,255,255,.92);border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}
.shelf-who{display:flex;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;color:var(--green-soft)}
.shelf-caption{white-space:pre-wrap;font-size:15px;line-height:1.5;color:var(--green);margin:0 0 16px}
.shelf-form{
  background:var(--white);
  border:1.5px solid var(--sand);
  border-radius:16px;
  box-shadow:var(--shadow);
  padding:16px 16px 18px;
  margin:8px 0 28px;
}
.shelf-form .field{margin:0 0 12px}
.shelf-form textarea{
  width:100%;
  border:1.5px solid var(--sand);
  border-radius:12px;
  background:var(--white);
  padding:12px 14px;
  font-family:inherit;
  font-size:14.5px;
  color:var(--green);
  resize:vertical;
  min-height:140px;
}
.shelf-form textarea:focus{outline:none;border-color:var(--moss)}
.shelf-file-row{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 0}
.shelf-file-thumb{position:relative;width:72px;height:72px;border-radius:10px;overflow:hidden;background:#ece8de}
.shelf-file-thumb img{width:100%;height:100%;object-fit:cover}
.shelf-file-thumb button{position:absolute;top:4px;right:4px;width:22px;height:22px;border:none;border-radius:999px;background:rgba(255,255,255,.92);font-size:14px;line-height:22px;cursor:pointer}
.shelf-hidden-chip{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6a454c;background:#f3e8ea;border-radius:999px;padding:3px 8px}
.shelf-pending-chip{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#6e4f3a;background:#f3ebe4;border-radius:999px;padding:3px 8px}
.shelf-offer{margin-top:14px;padding-top:12px;border-top:1px solid rgba(61,69,60,.1)}
.shelf-offer p{margin:0 0 10px;font-size:14px;line-height:1.45;color:var(--green-soft)}
.shelf-pick-banner{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#f3ebe4;border:1px solid rgba(110,79,58,.18)}
.shelf-pick-banner p{margin:0 0 10px;font-size:14px;line-height:1.45;color:var(--green-soft)}
.cal-frames{margin:0 0 16px}
.curio-photos-cta-eyebrow.is-new{background:var(--gold);color:#1c1c1a}
