  /* ===== THE LOOK (2026-10-03, docs/55-the-look.md). One token set; every colour on the page is one of these.
     Light is the brand (navy, gold, cream, Georgia). Dark keeps gold on navy and lifts the ink. A door colour is the
     only colour on a nav row, always beside the word. --body and --border are the old names, kept as aliases. */
  :root{--bg:#FBF7EF;--card:#FFFFFF;--ink:#0F1E32;--sub:#5B6675;--line:#E6E1D6;--gold:#C99A2E;--navy:#0F1E32;--cream:#FBF7EF;
    --door-today:#C99A2E;--door-do:#0F1E32;--door-sales:#2563EB;--door-marketing:#7C3AED;--door-operations:#0E7490;--door-money:#1D7A46;--door-me:#33405A;
    --ok:#1D7A46;--warn:#8A6514;--bad:#B91C1C;--info:#2563EB;--now:#1D4ED8;--muted:#656D7A;--ok-ink:#1D5C38;--bad-ink:#8A2A17;--warn-ink:#7A4F00;--info-ink:#1D3C6E;
    --ok-tint:rgba(29,122,70,.11);--warn-tint:rgba(201,154,46,.14);--bad-tint:rgba(185,28,28,.10);--info-tint:rgba(37,99,235,.10);--gold-tint:rgba(201,154,46,.13);--gold-glow:rgba(201,154,46,.42);
    --note-ok:var(--ok);--note-warn:var(--warn);--note-bad:var(--bad);--note-info:var(--info);--note-on:#FFFFFF;   /* the four notification levels (section 81) */
    --body:var(--ink);--border:var(--line);--hdr:67px;--ease:cubic-bezier(.2,.8,.2,1);--panel-ms:160ms;--press-ms:120ms}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--bg:#0E1521;--card:#172032;--ink:#E9EEF5;--sub:#A9B3C2;--line:#2A3547;--gold:#D8AD4C;--navy:#1B2A42;--cream:#FBF7EF;
    --door-today:#D8AD4C;--door-do:#AEBFDC;--door-sales:#6EA2FF;--door-marketing:#B48CFF;--door-operations:#4FB8CF;--door-money:#4CC38A;--door-me:#9AA8C0;
    --ok:#34B072;--warn:#D8AD4C;--bad:#E5534B;--info:#4F8DFF;--now:#6EA2FF;--muted:#7F8A99;--ok-ink:#8FDDB2;--bad-ink:#FFB4A8;--warn-ink:#F2CF7E;--info-ink:#AFCBFF;
    --ok-tint:rgba(76,195,138,.14);--warn-tint:rgba(216,173,76,.16);--bad-tint:rgba(255,138,128,.14);--info-tint:rgba(110,162,255,.14);--gold-tint:rgba(216,173,76,.16);--gold-glow:rgba(216,173,76,.5);color-scheme:dark} }
  :root[data-theme="dark"]{--bg:#0E1521;--card:#172032;--ink:#E9EEF5;--sub:#A9B3C2;--line:#2A3547;--gold:#D8AD4C;--navy:#1B2A42;--cream:#FBF7EF;
    --door-today:#D8AD4C;--door-do:#AEBFDC;--door-sales:#6EA2FF;--door-marketing:#B48CFF;--door-operations:#4FB8CF;--door-money:#4CC38A;--door-me:#9AA8C0;
    --ok:#34B072;--warn:#D8AD4C;--bad:#E5534B;--info:#4F8DFF;--now:#6EA2FF;--muted:#7F8A99;--ok-ink:#8FDDB2;--bad-ink:#FFB4A8;--warn-ink:#F2CF7E;--info-ink:#AFCBFF;
    --ok-tint:rgba(76,195,138,.14);--warn-tint:rgba(216,173,76,.16);--bad-tint:rgba(255,138,128,.14);--info-tint:rgba(110,162,255,.14);--gold-tint:rgba(216,173,76,.16);--gold-glow:rgba(216,173,76,.5);color-scheme:dark}
  *{box-sizing:border-box}
  html{overflow-x:hidden;overflow-x:clip}
  body{margin:0;font-family:Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden;overflow-x:clip;max-width:100%;font-variant-numeric:tabular-nums}
  /* The four-step type scale. Georgia only on a title; everything else the system sans; every figure tabular. */
  .t-title{font-family:Georgia,serif;font-size:22px;line-height:1.25;font-weight:700;color:var(--ink);margin:0}
  .t-body{font-size:16px;line-height:1.5;color:var(--ink)}
  .t-meta{font-size:13.5px;line-height:1.45;color:var(--sub)}
  .t-eyebrow{font-size:11.5px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--sub)}
  /* The one icon set: icon(name) -> <svg class="ic"><use href="#i-name"/></svg>. 20px, inherits the text colour. */
  .ic{width:20px;height:20px;flex:none;display:inline-block;vertical-align:-5px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
  .ic.ic-s{width:16px;height:16px;vertical-align:-3px} .ic.ic-l{width:24px;height:24px;vertical-align:-6px}
  .ic-tint{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:var(--gold-tint);color:var(--door,var(--gold))}
  /* Motion: one easing, one duration. A panel comes in over 160ms; a row press tints over 120ms; nothing scales. */
  #memPanel:not(.hidden){animation:lookPanelIn var(--panel-ms) var(--ease)}
  @keyframes lookPanelIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:none}}
  button,.sug,.td-row,.lb-row,.looprow,.fuchip,.st-chip,.pm-item,.st-card{transition:background-color var(--press-ms) var(--ease),border-color var(--press-ms) var(--ease),color var(--press-ms) var(--ease)}
  .sug:active,.td-row:active,.lb-row:active,.looprow:active,.fuchip:active,.st-chip:active,.pm-item:active,.st-card:active{background-color:var(--gold-tint)}
  @media (prefers-reduced-motion: reduce){ *,*::before,*::after{transition:none!important;animation:none!important} }
  .tblwrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
  .topbar{background:var(--navy);color:var(--cream);padding:14px 22px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:60;border-bottom:3px solid var(--gold)}
  .appver{font-size:10px;color:#9fb0c4;background:rgba(255,255,255,.08);border-radius:6px;padding:1px 6px;margin-left:2px;letter-spacing:.3px;font-weight:600}
  .brand{font-family:Georgia,serif;letter-spacing:4px;color:var(--gold);font-weight:bold;font-size:14px}
  .who{font-size:12px;color:var(--cream);opacity:.85}
  .topright{display:flex;align-items:center;gap:16px}
  .tourpill{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(201,154,46,.20),rgba(201,154,46,.20));border:1px solid var(--gold);color:var(--cream);border-radius:20px;padding:6px 14px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
  .tourpill:hover{background:var(--gold);color:var(--ink)}
  @media(max-width:640px){.tourpill .tp-full{display:none}.tourpill{padding:6px 10px;font-size:15px}}
  .legal-note{display:block;font-size:11.5px;line-height:1.5;color:var(--muted);font-style:normal;font-weight:400;margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}
  /* Laws & compliance deliverable - turn the dense wall into clean scannable sections + cards */
  .legal-deliv h2{font-size:13px;letter-spacing:.6px;text-transform:uppercase;color:var(--gold);font-weight:800;margin:20px 0 10px;padding-left:11px;border-left:3px solid var(--gold);line-height:1.3}
  .legal-deliv h2:first-child{margin-top:2px}
  .legal-deliv h3{font-size:14.5px;color:var(--ink);margin:14px 0 5px}
  .legal-deliv ul{list-style:none;padding:0;margin:0}
  .legal-deliv ul li{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 13px 10px 13px;margin:0 0 8px;font-size:13.5px;line-height:1.55}
  .legal-deliv ul li strong,.legal-deliv ul li b{color:var(--ink)}
  .legal-deliv p{margin:8px 0}
  .legal-deliv p strong:first-child,.legal-deliv p b:first-child{color:var(--ink)}
  .confirm{background:var(--warn-tint);color:var(--warn);border-radius:4px;padding:0 4px;font-size:.93em;font-weight:600}
  .assume{background:var(--info-tint);color:var(--info);border-radius:4px;padding:0 4px;font-size:.93em}
  /* Premium deliverable styling (matches the Laws panel) - every output gets clean sections + cards */
  .deliverable h2{font-size:13px;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);font-weight:800;margin:20px 0 9px;padding-left:11px;border-left:3px solid var(--gold);line-height:1.3}
  .deliverable h2:first-child{margin-top:2px}
  .deliverable h3{font-size:14.5px;color:var(--ink);font-weight:700;margin:14px 0 5px}
  .deliverable p{margin:8px 0}
  .deliverable strong,.deliverable b{color:var(--ink)}
  .deliverable table{border-collapse:collapse;width:100%;margin:12px 0;font-size:13px}
  .deliverable th,.deliverable td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
  .deliverable th{background:var(--navy);font-weight:700;color:#fff}
  .deliverable tr:nth-child(even) td{background:var(--bg)}
  .deliverable ul{padding-left:0;list-style:none;margin:9px 0}
  .deliverable ul li{position:relative;padding:8px 12px 8px 24px;margin:6px 0;background:var(--bg);border:1px solid var(--line);border-radius:9px;line-height:1.55}
  .deliverable ul li:before{content:"";position:absolute;left:10px;top:14px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
  .deliverable ol{padding-left:22px;margin:9px 0}.deliverable ol li{margin:5px 0}
  .bwait{display:flex;flex-direction:column;align-items:center;gap:11px;padding:26px 14px;text-align:center}
  .bwait-orb{width:34px;height:34px;border-radius:50%;border:3px solid var(--line);border-top-color:var(--gold);animation:bwspin .9s linear infinite}
  @keyframes bwspin{to{transform:rotate(360deg)}}
  .bwait-lbl{font-size:13.5px;color:var(--ink);font-weight:600}
  .bwait-sub{font-size:12px;color:var(--sub);max-width:360px;line-height:1.5}
  .logout{background:transparent;border:1px solid rgba(244,241,234,.4);color:var(--cream);font-size:11px;letter-spacing:.5px;padding:5px 12px;border-radius:6px;cursor:pointer;opacity:.85}
  .logout:hover{opacity:1;border-color:var(--gold);color:var(--gold)}
  .rule{display:none}
  .wrap{max-width:1100px;margin:0 auto;padding:18px 22px 120px;min-width:0}
  .menubtn{display:inline-block;background:none;border:none;color:var(--cream);font-size:20px;cursor:pointer;padding:0;margin-right:12px;line-height:1}
  .topleft{display:flex;align-items:center}
  .newchatbtn{display:none;background:transparent;border:1px solid rgba(255,255,255,.35);color:var(--cream);width:30px;height:30px;border-radius:8px;font-size:21px;line-height:1;cursor:pointer;align-items:center;justify-content:center;margin-left:10px;padding:0}
  .newchatbtn:hover{background:rgba(201,154,46,.16)}
  .newchatbtn:active{background:rgba(255,255,255,.12)}
  body.in-chat .newchatbtn{display:inline-flex}
  .drawer-bk{display:none;position:fixed;inset:0;background:rgba(15,30,50,.5);z-index:69}
  .drawer-bk.open{display:block}
  .msg{margin:14px 0;display:flex}
  .msg.user{justify-content:flex-end}
  .bubble{max-width:88%;min-width:0;padding:13px 16px;border-radius:12px;line-height:1.6;font-size:15px;white-space:pre-wrap;word-wrap:break-word}
  .user .bubble{background:var(--navy);color:#fff;border-bottom-right-radius:3px}
  .ai .bubble{background:var(--card);border:0;box-shadow:0 1px 3px rgba(0,0,0,.08);color:var(--ink);border-bottom-left-radius:3px;position:relative}   /* no routing line round her answer (YESREEL 23 Oct 2026, v852): the card lifts off the ground by its shadow alone */
  .ai .bubble h2{font-size:15px;margin:10px 0 6px;color:var(--ink)}
  .ai .bubble strong{color:var(--ink)}
  .ai .bubble.copyable{padding-right:44px}
  .copyicon{position:absolute;top:8px;right:8px;width:28px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--gold);cursor:pointer;opacity:.6}
  .copyicon:hover{opacity:1;border-color:var(--gold)}
  .working{color:var(--muted);font-size:13px;font-style:italic}
  .jumpend{position:fixed;right:18px;bottom:calc(var(--cmp,170px) + 12px);z-index:45;background:var(--navy);color:var(--cream);border:1px solid var(--gold);border-radius:20px;padding:8px 15px;font:inherit;font-size:12px;font-weight:bold;cursor:pointer;display:none;box-shadow:0 4px 16px rgba(0,0,0,.28)}
  .jumpend.show{display:block}
  .jumpend:hover{background:var(--navy)}
  /* contextual follow-up chips under an answer */
  .fu{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
  .fuchip{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:6px 13px;font:inherit;font-size:12px;color:var(--ink);cursor:pointer;text-align:left}
  .fuchip:hover{border-color:var(--gold);background:var(--bg)}
  .fuchip.sharp{border-color:var(--gold);background:var(--card);color:var(--ink);font-weight:600}
  /* drop-anywhere overlay */
  .drop{position:fixed;inset:0;z-index:60;background:rgba(15,30,50,.85);display:none;align-items:center;justify-content:center;text-align:center}
  .drop.show{display:flex}
  .drop .box{border:2px dashed var(--gold);border-radius:16px;padding:46px 64px;color:var(--cream)}
  .drop .box b{font-family:Georgia,serif;font-size:21px;display:block;margin-bottom:6px}
  .drop .box span{font-size:13px;opacity:.8}
#memPanel{--set-press:rgba(15,30,50,.07);--set-edge:#8A8478}
@media (prefers-color-scheme: dark){ html:not([data-theme="light"]) #memPanel{--set-press:rgba(233,238,245,.09);--set-edge:#6B7A91} }
html[data-theme="dark"] #memPanel{--set-press:rgba(233,238,245,.09);--set-edge:#6B7A91}
#jw .ja-page .ja-item{cursor:pointer}
  /* left rail — proactive, per-tenant suggestions */
  .cols{display:flex;align-items:flex-start}
  .cols .wrap{flex:1;min-width:0;margin:0;max-width:none;padding-left:28px;padding-right:28px}
  #thread{max-width:880px;margin:0}
  /* Rail is now a slide-in drawer on ALL viewports (CEO 2026-06-24): the flow map is the focus; the menu (top-left) reveals the full "everything" rail. */
  .suggest{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:86%;background:var(--card);border-right:1px solid var(--line);padding:18px 14px 40px;overflow-y:auto;z-index:70;transform:translateX(-100%);transition:transform .22s ease;box-shadow:6px 0 40px rgba(0,0,0,.28)}
  .suggest.open{transform:translateX(0)}
  .suggest h3{font-family:Georgia,serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin:0 0 4px}
  .suggest .sub{font-size:11px;color:var(--sub);margin:0 0 14px;line-height:1.4}
  .sug{display:block;width:100%;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:9px;font:inherit;font-size:13px;line-height:1.4;color:var(--sub);cursor:pointer}
  .sug:hover{border-color:var(--gold);color:var(--ink)}
  /* accordion boxes (the workspace rail) */
  .box{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:var(--card);overflow:hidden}
  .box-h{width:100%;text-align:left;background:var(--card);border:none;padding:11px 13px;font:inherit;font-size:13px;font-weight:bold;color:var(--ink);cursor:pointer;display:flex;justify-content:space-between;align-items:center}
  .box-h:hover{background:var(--bg)}
  .box-h .chev{color:var(--gold);font-size:16px;transition:transform .15s ease}
  .box.open .box-h .chev{transform:rotate(90deg)}
  .box-b{display:none;padding:4px 13px 12px}
  .box.open .box-b{display:block}
  .newchat{display:block;width:100%;text-align:center;background:var(--navy);color:var(--cream);border:none;border-radius:9px;padding:11px;font:inherit;font-size:13px;font-weight:bold;cursor:pointer;margin-bottom:12px}
  .newchat:hover{background:var(--navy)}
  .threadrow{display:flex;align-items:stretch;margin-bottom:8px;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--bg)}
  .threadrow:hover{border-color:var(--gold)}
  .threadrow.cur{border-color:var(--gold);background:var(--card)}
  .thread{flex:1;min-width:0;display:block;text-align:left;background:none;border:none;padding:8px 11px;font:inherit;cursor:pointer}
  .thread-x{border:none;background:none;color:var(--bad);cursor:pointer;font-size:15px;padding:0 10px;opacity:.5}
  .thread-x:hover{opacity:1}
  .th-t{font-size:13px;font-weight:bold;color:var(--ink)}
  .th-s{font-size:11px;color:var(--sub);margin-top:2px;line-height:1.35}
  .docrow{padding:7px 0;border-bottom:1px solid var(--line)}
  .docrow:last-child{border-bottom:none}
  .docrow-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
  .doc-open{font-size:13px;font-weight:bold;color:var(--ink);background:none;border:none;cursor:pointer;text-align:left;padding:0;text-decoration:underline;text-decoration-color:var(--gold)}
  .doc-open:hover{color:var(--gold)}
  .cbadge{display:inline-block;background:var(--gold);color:#1a1206;border-radius:10px;font-size:11px;font-weight:bold;padding:1px 7px;margin-left:5px}
  .lens-line{font-size:11px;color:var(--sub);margin-bottom:10px}
  .lens-line b{color:var(--gold)}
  .fcard{display:flex;align-items:stretch;border:1px solid var(--line);border-left:3px solid var(--c,var(--gold));border-radius:9px;margin-bottom:6px;background:var(--card);overflow:hidden}
  .fcard.seen{opacity:1}
  .fcard-main{flex:1;text-align:left;background:none;border:none;cursor:pointer;padding:7px 10px;font:inherit}
  .fcard-main:hover{background:var(--bg)}
  .ftag{display:inline-block;font-size:9px;font-weight:bold;letter-spacing:.7px;text-transform:uppercase;color:#fff;background:var(--c,var(--gold));border-radius:4px;padding:2px 6px}
  .ftitle{font-size:12.5px;font-weight:bold;color:var(--ink);line-height:1.3;margin-top:4px}
  .fsect{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--sub);font-weight:700;margin:8px 0 4px}
  .ffresh{font-size:9.5px;color:var(--muted);background:var(--bg);border-radius:10px;padding:1px 7px;margin-left:6px;white-space:nowrap;vertical-align:middle}
  .ffresh.new{color:var(--ok);background:var(--ok-tint)}
  .fpulse{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--gold);margin-bottom:8px}
  .fpulse-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:fpulseA 1.2s ease-in-out infinite}
  @keyframes fpulseA{0%,100%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}
  .fsince{font-size:11.5px;color:var(--ok);font-weight:600;margin-bottom:7px}
  .frec{display:inline-block;font-size:9px;font-weight:bold;letter-spacing:.5px;text-transform:uppercase;color:#1a1206;background:var(--gold);border-radius:4px;padding:2px 6px;margin-left:6px}
  .fver{display:inline-block;font-size:9px;font-weight:bold;letter-spacing:.4px;text-transform:uppercase;color:var(--ok);background:var(--ok-tint);border-radius:4px;padding:2px 6px;margin-left:6px}
  .cbadge.warn{background:var(--bad-tint);color:var(--bad)}
  .loopcard{border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:9px;padding:8px 10px;margin-bottom:6px;background:var(--card)}
  .loopcard.overdue{border-left-color:var(--bad)}
  .loop-w{font-size:13px;font-weight:bold;color:var(--ink);line-height:1.3}
  .loop-cp{font-size:11.5px;color:var(--sub);margin-top:2px}
  .loop-due{font-size:11px;color:var(--sub);margin-top:3px}
  .loop-due.od{color:var(--bad);font-weight:bold}
  .loop-act{display:flex;gap:6px;margin-top:7px;flex-wrap:wrap}
  .loop-b{font-size:11px;border:1px solid var(--line);background:var(--card);border-radius:6px;padding:3px 8px;cursor:pointer;color:var(--ink)}
  .loop-b:hover{background:var(--bg)}
  .loop-b.prim{background:var(--navy);color:var(--cream);border-color:var(--navy);font-weight:bold}
  .loop-b.loop-dots{min-width:30px}
  .loop-menu{display:inline-flex;gap:6px;flex-wrap:wrap}
  .loop-menu[hidden],.loopgrp-b[hidden]{display:none}
  .loopgrp-h{display:block;width:100%;text-align:left;background:none;border:none;padding:0;font:inherit;cursor:pointer}
  .loopgrp-b{margin-top:8px}
  .ch-grp{font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;color:var(--sub);font-weight:700;margin:12px 0 6px}
  @media (max-width:640px){ .th-s{display:none} }
  .loopform{margin-bottom:8px}
  .loopform .ctx-in{margin-bottom:6px}
  .loop-auto{font-size:10.5px;color:var(--gold);margin-top:4px}
  .loopform2{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px}
  .loopform2 .ctx-in{margin-bottom:8px}
  .fcard.rec{border-left-color:var(--gold);box-shadow:0 0 0 1px rgba(201,154,46,.28)}
  .fdo{display:inline-block;margin-top:6px;background:rgba(201,154,46,.12);border:1px solid rgba(201,154,46,.4);color:var(--warn);border-radius:7px;padding:4px 8px;font:inherit;font-size:11px;font-weight:600;cursor:pointer;text-align:left;line-height:1.25}
  .fdo:hover{background:rgba(201,154,46,.22)}
  .fprev{font-size:11px;color:var(--sub);line-height:1.4;margin-top:4px}
  .fx{border:none;background:none;color:var(--bad);cursor:pointer;font-size:16px;padding:6px 9px 0;align-self:flex-start}
  .looprow{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--muted);border-radius:8px;padding:7px 9px;margin-bottom:6px;cursor:pointer;font:inherit}
  .looprow.od{border-left-color:var(--bad)}
  .looprow:hover{border-color:var(--gold)}
  .looprow .lw{display:block;font-size:12.5px;color:var(--ink);font-weight:600;line-height:1.3}
  .looprow .lcp{display:block;font-size:11px;color:var(--sub);margin-top:1px}
  .looprow .lauto{font-size:10px;opacity:.7}
  .openall{display:block;width:100%;text-align:left;background:none;border:none;color:var(--gold);font:inherit;font-size:12px;font-weight:bold;cursor:pointer;padding:0 0 8px;text-decoration:underline}
  .fbig{border:1px solid var(--line);border-left:4px solid var(--c,var(--gold));border-radius:10px;padding:14px 16px;margin-bottom:14px;background:var(--card)}
  .fgrid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:8px}
  .fgrid .fbig{margin-bottom:0}
  @media(min-width:620px){ .fgrid{grid-template-columns:repeat(2,1fr)} }
  .fbig-h{display:flex;justify-content:space-between;align-items:center}
  .fbig-t{font-family:Georgia,serif;font-size:18px;color:var(--ink);font-weight:bold;margin:8px 0 12px;line-height:1.3}
  .fsec-h{font-size:12px;font-weight:bold;letter-spacing:.4px;color:var(--ink);margin:18px 0 9px;display:flex;align-items:center;gap:8px}
  .fsec-h:first-child{margin-top:2px}
  .fsec-n{font-size:10px;background:var(--bg);color:var(--sub);border:1px solid var(--line);border-radius:20px;padding:1px 8px;font-weight:bold}
  .fage{font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.4px}
  .fbtns{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
  .fbtn{border-radius:8px;padding:7px 13px;font:inherit;font-size:12.5px;font-weight:bold;cursor:pointer;border:1px solid var(--line)}
  .fbtn.prim{background:var(--navy);color:var(--cream);border-color:transparent}
  .fbtn.prim:hover{filter:brightness(.93)}
  .fbtn.ghost{background:var(--card);color:var(--ink)} .fbtn.ghost:hover{border-color:var(--gold);color:var(--gold)}
  .ldwrap{max-width:640px;margin:8px auto}
  .ldhead{margin:4px 0 16px}
  .ldhead .ldnews{font-family:Georgia,serif;font-size:19px;font-weight:bold;color:var(--gold);margin-bottom:4px}
  .ldhead .ldsub{display:block;font-size:12px;color:var(--sub);margin-top:5px;letter-spacing:.3px}
  .ldcard{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);box-shadow:0 2px 14px rgba(20,30,60,.06);animation:ldfade .5s ease}
  @keyframes ldfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
  .ldimg{height:184px;background:var(--bg) center/cover no-repeat;transition:opacity .4s}
  .ldimg:not(.has){background:linear-gradient(120deg,var(--bg),var(--bg))}
  .ldbody{padding:15px 18px}
  .ldtitle{font-size:16px;font-weight:bold;color:var(--ink);line-height:1.32;margin-bottom:7px}
  .ldwhy{font-size:13.5px;color:var(--ink);line-height:1.55}
  .ldbody .modsrc{display:inline-block;margin-top:9px;font-size:12.5px;font-weight:bold;color:var(--gold);text-decoration:none}
  .lddots{display:flex;justify-content:center;gap:7px;margin-top:14px}
  .lddot{width:7px;height:7px;border-radius:50%;background:var(--line);transition:background .3s,transform .3s}
  .lddot.on{background:var(--gold);transform:scale(1.25)}
  .fbrief{font-size:14.5px;color:var(--ink);line-height:1.62;margin:6px 0 4px}
  .fbrief p{margin:9px 0}
  .frel{font-size:13px;color:var(--sub);line-height:1.5;margin:6px 0 2px}
  .focusrow{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin:2px 0 16px}
  .focusrow .fl{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--sub);font-weight:bold;width:100%;margin-bottom:1px}
  .fchip{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:5px 12px;font-size:12px;cursor:pointer;color:var(--ink)}
  .fchip:hover{border-color:var(--gold);color:var(--ink)}
  .aida{font-size:14px;color:var(--ink);line-height:1.55;margin:8px 0;padding-left:78px;position:relative}
  .aida-k{position:absolute;left:0;top:1px;width:68px;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--c,var(--gold));font-weight:bold}
  .fact{margin-top:14px;background:var(--c,var(--gold));color:#fff;border:none;border-radius:8px;padding:9px 18px;font:inherit;font-size:13px;font-weight:bold;cursor:pointer}
  .fact:hover{filter:brightness(.93)}
  @media(max-width:880px){ .aida{padding-left:0} .aida-k{position:static;display:block;width:auto;margin-bottom:2px} }
  .cat-Competitor{--c:var(--bad)}
  .cat-Idea{--c:var(--ok)}
  .cat-Grant{--c:var(--warn)}
  .cat-Regulation{--c:var(--info)}
  .cat-Market{--c:var(--ok)}
  .cat-Marketing{--c:var(--info)}
  .cat-Event{--c:var(--bad)}
  .cat-Money{--c:var(--ok)}
  .cat-Risk{--c:var(--bad)}
  .cat-Grant{--c:var(--info)} .cat-Competitor{--c:var(--warn)} .cat-Regulation{--c:var(--bad)} .cat-Market{--c:var(--info)} .cat-Marketing{--c:var(--warn)} .cat-Event{--c:var(--ok)} .cat-Idea{--c:var(--gold)}
  /* ===== THE FRAME (style release 1, D2; docs/104) */
  #doorBar.fm .db-talk{flex:0 0 76px;border-top:none!important;padding:0 2px 5px;justify-content:flex-end;overflow:visible;gap:3px}
  #doorBar.fm .db-talk::before{display:none}
  #doorBar.fm .db-face{flex:none;display:block;width:52px;height:52px;margin-top:-22px;border-radius:50%;overflow:hidden;background:var(--cream,#FBF7EF);box-shadow:0 0 0 2px var(--gold,#C99A2E),0 0 0 4px var(--navy,#0F1E32),0 8px 20px rgba(0,0,0,.35)}
  #doorBar.fm .db-face img{display:block;width:100%;height:100%;object-fit:cover}
  #doorBar.fm .db-talk .db-w{font-weight:700}
  #doorBar.fm .db-talk:focus-visible{outline:none}
  #doorBar.fm .db-talk:focus-visible .db-face{box-shadow:0 0 0 2px var(--gold,#C99A2E),0 0 0 5px var(--cream,#FBF7EF)}
  #doorBar.fm [data-door=sales] .db-i{position:relative}
  #doorBar .db-live{display:none}
  html[data-live-call=on] #doorBar .db-live,html[data-live-call=your-phone] #doorBar .db-live{display:block;position:absolute;top:-1px;right:2px;width:9px;height:9px;border-radius:50%;background:var(--gold,#C99A2E);box-shadow:0 0 0 2px var(--navy,#0F1E32)}
  #doorBar .db-live .db-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  #doorBar.fm .db-desk{display:none}
  @media(min-width:881px){#doorBar.fm .db-desk{display:flex}#doorBar.fm .db-talk,#doorBar.fm [data-door=me]{display:none}html[data-live-call=on] #doorBar .db-live,html[data-live-call=your-phone] #doorBar .db-live{box-shadow:0 0 0 2px var(--card,#fff)}}
  /* the answering switch (docs/74) */
  .rc3-sw{position:relative;flex:none;width:52px;height:32px;margin-top:2px}.rc3-sw input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:1}.rc3-sw i{position:absolute;inset:0;border-radius:99px;background:var(--line);transition:background var(--dur-ui,160ms)}.rc3-sw i::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:var(--card);box-shadow:0 1px 3px rgba(14,31,58,.25);transition:transform var(--dur-ui,160ms)}.rc3-sw input:checked+i{background:var(--ok)}.rc3-sw input:checked+i::after{transform:translateX(20px)}.rc3-sw input:focus-visible+i{outline:2px solid var(--navy);outline-offset:2px}.rc3-sw input:disabled{cursor:default}
  /* the Calls screen (47) */
  .cd{margin:4px 0 16px}.cd>div:empty,[data-live-slot]:empty{display:none}
  .cd-line,.cd-list{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:0 0 14px}
  .cd-line{display:flex;align-items:center;gap:12px;padding:12px 14px}.cd-line .rc3-sw{margin-top:0}
  .cd-lic,.cd-dir{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--bg);color:var(--sub)}.cd-lic svg,.cd-dir svg{width:18px;height:18px}
  .cd-lic{border-radius:11px;background:var(--gold-tint);color:var(--gold)}.cd-dir{color:var(--ink)}.cd-dir.cd-next{background:var(--gold-tint);color:var(--gold)}
  .cd-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border-top:1px solid var(--line)}.cd-row:first-child{border-top:none}
  .cd-m{flex:1;min-width:0}.cd-t{font-weight:600;color:var(--ink);font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cd-s{color:var(--sub);font-size:13px;line-height:1.35;margin-top:2px}
  .cd-r{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-variant-numeric:tabular-nums}.cd-tm{font-size:13px;color:var(--sub);white-space:nowrap}.cd-tm.cd-gold{color:var(--gold);font-weight:700}.cd-d{font-size:12px;color:var(--sub)}
  .cd-play{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 10px;border-radius:99px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:12px;font-weight:600;cursor:pointer;font-variant-numeric:tabular-nums}.cd-play svg{width:14px;height:14px}.cd-play.on{border-color:var(--gold);color:var(--gold)}
  .cd-h{display:flex;align-items:center;gap:8px;margin:0 2px 8px;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sub)}.cd-n{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:10px;background:var(--ink);color:var(--card);font-size:11.5px;font-weight:700;letter-spacing:0}
  .cd-none{margin:0 2px 14px;color:var(--sub);font-size:14px}
  /* live call card: 79 lcCard */
  .lc{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;margin:0 0 14px;padding:10px 16px 10px 10px;border:none;border-radius:30px;background:var(--navy,#0F1E32);color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(15,30,50,.22)}
  .lc-f{flex:none;display:block;width:40px;height:40px;border-radius:50%;box-shadow:0 0 0 2px var(--gold,#C99A2E)}.lc-f img{display:block;width:40px;height:40px;border-radius:50%;object-fit:cover}
  .lc-f.wk-on img{animation:lcBr 3.2s ease-in-out infinite}@keyframes lcBr{50%{transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.lc-f.wk-on img{animation:none}}
  .lc-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.lc-m b{font-size:15px;font-weight:600;line-height:1.3}.lc-m span{font-size:13px;opacity:.78;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lc-k{flex:none;font-size:20px;font-weight:600;color:var(--gold,#C99A2E);font-variant-numeric:tabular-nums}.lc-o{flex:none;font-size:13px;opacity:.7;white-space:nowrap}
  .lc-row{min-height:48px;border-radius:24px;padding:6px 14px 6px 6px;box-shadow:none}.lc-row .lc-f,.lc-row .lc-f img{width:32px;height:32px}.lc-row .lc-k{font-size:15px}
  /* Today: rich, actionable finding cards (visuals + inline actions + delete) */
  .td-fbig{position:relative}
  .td-fbig .fbig-h{justify-content:flex-start;gap:8px;padding-right:26px}
  .td-fbig .ftag{display:inline-flex;align-items:center;gap:4px}
  .td-fbig .fbig-t{margin:7px 0 9px;font-size:16.5px}
  .fdis-x{position:absolute;top:7px;right:9px;border:none;background:none;color:var(--sub);font-size:17px;line-height:1;cursor:pointer;padding:1px 6px;border-radius:6px}
  .fdis-x:hover{background:var(--bad-tint);color:var(--bad)}
  .np{font-size:9px;font-weight:bold;letter-spacing:.4px;text-transform:uppercase;border-radius:10px;padding:2px 8px}
  .np-a{background:var(--ok-tint);color:var(--ok)} .np-d{background:var(--warn-tint);color:var(--warn)} .np-i{background:var(--bg);color:var(--sub)}
  /* Laws full view (grouped by area) */
  .lw-area{margin-bottom:16px}
  .lw-ah{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--bad);font-weight:bold;border-bottom:1px solid var(--line);padding-bottom:5px;margin-bottom:8px}
  .lw-item{border-left:3px solid var(--line);padding:4px 0 7px 11px;margin-bottom:7px}
  .lw-t{background:none;border:none;padding:0;text-align:left;font:inherit;font-weight:600;font-size:14px;color:var(--ink);cursor:pointer;line-height:1.35} .lw-t:hover{color:var(--gold);text-decoration:underline}
  .lw-why{font-size:12.5px;color:var(--sub);line-height:1.45;margin-top:2px}
  .lw-src{font-size:11px;color:var(--gold);text-decoration:underline;display:inline-block;margin-top:3px}
  /* News board: visual cards with thumbnail + timeline feel */
  .lb-news{display:flex;gap:11px;align-items:flex-start;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:11px 12px;margin-bottom:9px;cursor:pointer;font:inherit}
  .lb-news:hover{border-color:var(--gold);box-shadow:0 4px 14px rgba(0,0,0,.06)}
  .lb-news.imp{border-left:4px solid var(--bad)}
  .lb-nthumb{flex:none;width:62px;height:62px;border-radius:8px;object-fit:cover;background:var(--bg)}
  .lb-nbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
  .lb-nmeta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
  .lb-ndate{font-size:11px;color:var(--sub)}
  .lb-ntitle{font-weight:600;font-size:13.5px;color:var(--ink);line-height:1.3}
  .lb-nwhy{font-size:12px;color:var(--sub);line-height:1.4}
  /* Financials: lead-with-your-own-numbers CTA */
  .fin-cta{display:flex;gap:11px;align-items:flex-start;width:100%;text-align:left;background:linear-gradient(135deg,var(--card),var(--bg));border:1px solid var(--gold);border-radius:11px;padding:13px 14px;cursor:pointer;font:inherit}
  .fin-cta:hover{box-shadow:0 4px 14px rgba(201,154,46,.2)}
  .fc-ic{font-size:22px;flex:none;line-height:1.2}
  .fc-tx{display:flex;flex-direction:column;gap:2px} .fc-tx b{font-size:14px;color:var(--ink)} .fc-tx span{font-size:12px;color:var(--sub);line-height:1.4}
  /* Today snapshot stat chips (visual dashboard, breaks the density) */
  .td-stats{display:flex;gap:8px;overflow-x:auto;margin:4px 0 18px;padding-bottom:3px;-webkit-overflow-scrolling:touch}
  .td-stat{flex:none;min-width:72px;background:linear-gradient(135deg,var(--card),var(--bg));border:1px solid var(--line);border-radius:12px;padding:9px 13px;display:flex;flex-direction:column;gap:1px}
  .ts-n{font-size:17px;font-weight:bold;color:var(--ink);line-height:1.1} .ts-l{font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.4px}
  .td-sec{padding-top:2px}
  /* Today as a NOTE (the brief you actually want to read) */
  .td-brief{background:linear-gradient(135deg,var(--card),var(--bg));border:1px solid var(--gold);border-radius:14px;padding:18px 18px 16px;margin-bottom:18px}
  .tb-greet{font-size:11.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:9px}
  .tb-head{font-family:Georgia,serif;font-size:21px;color:var(--ink);line-height:1.25;font-weight:bold;margin-bottom:9px}
  .tb-note{font-family:Georgia,serif;font-size:15.5px;line-height:1.68;color:#26344d}
  .tb-note p{margin:0 0 11px} .tb-note p:last-child{margin-bottom:0}
  .tb-note.tb-wait{font-family:inherit;font-size:14px;font-style:italic;color:var(--sub)}
  .tb-acts{display:flex;gap:9px;flex-wrap:wrap;margin-top:15px}
  .tb-hero{background:var(--gold);color:#fff;border:none;border-radius:9px;padding:10px 17px;font:inherit;font-weight:700;font-size:13.5px;cursor:pointer} .tb-hero:hover{filter:brightness(.93)}
  .tb-play{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:9px;padding:10px 14px;font:inherit;font-weight:600;font-size:13px;cursor:pointer} .tb-play:hover{border-color:var(--gold);color:var(--gold)}
  .td-more{margin-top:10px;border-top:1px solid var(--line);padding-top:6px}
  .td-more>summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--gold);list-style:none;padding:8px 0;user-select:none} .td-more>summary::-webkit-details-marker{display:none}
  .td-more>summary:before{content:'\25B8\00A0\00A0'} .td-more[open]>summary:before{content:'\25BE\00A0\00A0'}
  .td-more-b{margin-top:8px}
  /* Linear feed (news / events) - readable magazine cards, full width */
  .fe-card{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0;margin-bottom:12px;cursor:pointer;font:inherit;overflow:hidden}
  .fe-card:hover{border-color:var(--gold);box-shadow:0 5px 18px rgba(0,0,0,.08)}
  .fe-news.imp{border-left:4px solid var(--bad)}
  .fe-img{width:100%;height:190px;object-fit:cover;display:block;background:var(--bg)}
  .fe-body{display:block;padding:15px 17px}
  .fe-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:7px}
  .fe-date{font-size:11px;color:var(--sub);font-weight:600}
  .fe-when{display:inline-block;font-size:11.5px;background:var(--bg);color:#8a6d1f;border-radius:6px;padding:3px 10px;margin-bottom:8px;font-weight:700;letter-spacing:.2px}
  .fe-title{display:block;font-family:Georgia,serif;font-size:18.5px;font-weight:bold;color:var(--ink);line-height:1.3;margin-bottom:8px}
  .fe-why{display:block;font-size:14px;color:var(--sub);line-height:1.6;background:var(--bg);border-radius:8px;padding:9px 11px}
  .fe-whylbl{display:block;font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:3px}
  .fe-whytxt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden} /* board: 2-line teaser; full text on tap (CEO 2026-06-24) */
  .fe-grid{display:grid;grid-template-columns:1fr;gap:13px}
  @media(min-width:820px){ .fe-grid{grid-template-columns:1fr 1fr} .fe-img{height:160px} }
  /* Sales-leads type input */
  .sl-find{display:flex;gap:8px;margin-bottom:14px}
  .sl-find input{flex:1;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit;font-size:14px}
  .sl-find input:focus{outline:none;border-color:var(--gold)}
  .sl-find button{background:var(--gold);color:#fff;border:none;border-radius:9px;padding:10px 16px;font:inherit;font-weight:700;font-size:13.5px;cursor:pointer;flex:none}
  .sl-find button:hover{filter:brightness(.93)}
  .sl-bar{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
  .lc-btn{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;color:var(--ink)} .lc-btn.prim{background:var(--gold);color:#fff;border-color:transparent} .lc-btn:hover{border-color:var(--gold)}
  .lead-grid{display:grid;grid-template-columns:1fr;gap:11px}
  @media(min-width:760px){ .lead-grid{grid-template-columns:1fr 1fr} }
  .lead-card{border:1px solid var(--line);border-radius:12px;padding:13px 15px;background:var(--card);display:flex;flex-direction:column}
  .lead-card:hover{border-color:var(--gold)}
  .lc-doc{font-size:13px;line-height:1.5;color:var(--ink);flex:1} .lc-doc p{margin:0 0 6px} .lc-doc strong{color:var(--ink)}
  .lc-name{font-weight:700;font-size:14.5px;color:var(--ink)}
  .lc-role{font-size:12.5px;color:var(--sub);margin-top:1px} .lc-role b{color:var(--ink)}
  .lc-email{font-size:12.5px;color:var(--ok);font-weight:600;margin-top:7px;word-break:break-all} .lc-email.noemail{color:var(--sub);font-weight:400;font-style:italic}
  .lc-fit{font-size:12px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 9px;margin-top:8px;line-height:1.45}
  .lc-li{font-size:11.5px;color:var(--gold);text-decoration:none;font-weight:600;align-self:center}
  .lc-acts{display:flex;gap:7px;margin-top:11px;padding-top:10px;border-top:1px solid var(--line)}
  .lc-mini{background:var(--card);border:1px solid var(--line);border-radius:7px;padding:6px 10px;font:inherit;font-size:11.5px;font-weight:600;cursor:pointer;color:var(--ink)} .lc-mini.prim{background:var(--navy);color:#fff;border-color:transparent} .lc-mini:hover{filter:brightness(.95)}
  .sl-wait{font-size:14px;font-weight:600;color:var(--ink);padding:4px 2px 10px} .sl-waitsub{display:block;font-size:12.5px;font-weight:400;color:var(--sub);margin-top:3px}
  .sl-wait-h{display:flex;align-items:center;gap:9px} .sl-spin{flex:none;width:17px;height:17px;border-radius:50%;border:2.5px solid var(--line);border-top-color:var(--gold);animation:bwspin .9s linear infinite}
  .sl-key{border:1px solid var(--gold);border-radius:12px;padding:15px 16px;background:linear-gradient(135deg,var(--card),var(--bg))} .sl-keyh{font-weight:700;font-size:15px;color:var(--ink)}
  .ffacts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
  .fact.ghost{background:var(--card);color:var(--c,var(--gold));border:1px solid var(--c,var(--gold))}
  .ffnav{margin-top:16px;padding-top:12px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px}
  .linkish{background:none;border:none;color:var(--gold);font-size:12px;cursor:pointer;padding:0;text-decoration:underline}
  .linkish.danger{color:var(--bad)}
  /* colour-coded memory sections */
  .msec{border:1px solid var(--line);border-left:4px solid var(--c,var(--gold));border-radius:10px;padding:14px 16px;margin-bottom:14px;background:var(--card)}
  .msec-h{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--c,var(--gold));font-weight:bold;margin-bottom:10px}
  .msec-h .ic{font-size:15px;line-height:1}
  .msec .fl{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--sub);font-weight:bold;margin:10px 0 3px}
  .msec .fl:first-of-type{margin-top:0}
  .m-sec-Profile{--c:var(--info)} .m-sec-Learned{--c:var(--ok)} .m-sec-Docs{--c:var(--ok)}
  .kdecay{font-size:9px;text-transform:uppercase;letter-spacing:.4px;padding:1px 6px;border-radius:10px;background:var(--bg);color:var(--muted)}
  .kdecay.k-evergreen{background:var(--ok-tint);color:var(--ok)} .kdecay.k-days{background:var(--bad-tint);color:var(--bad)} .kdecay.k-weeks{background:var(--warn-tint);color:var(--warn)}
  .factrow{display:flex;gap:8px;align-items:center;margin:5px 0}
  .factrow .ctx-in{flex:1}
  /* Studio (deliverables + marketing department) */
  .st-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:6px 0 16px}
  .st-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--card);cursor:pointer;text-align:left;transition:.12s}
  .st-card:hover{border-color:var(--gold);box-shadow:0 2px 10px rgba(201,154,46,.16);transform:translateY(-1px)}
  .st-card .ic{font-size:20px;display:block;margin-bottom:6px}
  .st-card .nm{display:block;font-weight:bold;color:var(--ink);font-size:13px}
  .st-card .ds{display:block;font-size:11px;color:var(--sub);margin-top:3px;line-height:1.35}
  .st-brief{width:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font:inherit;font-size:15px;line-height:1.5;resize:vertical;min-height:96px}
  .st-tones{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
  .st-tone{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:5px 12px;font-size:12px;cursor:pointer;color:var(--ink)}
  .st-tone.on{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:bold}
  .st-go{background:var(--gold);color:#1a1206;border:none;border-radius:8px;padding:11px 22px;font:inherit;font-weight:bold;font-size:14px;cursor:pointer;margin-top:6px}
  .st-go:disabled{opacity:.55;cursor:default}
  .st-out{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:20px 22px;margin-top:4px;box-shadow:0 1px 8px rgba(15,30,50,.05)}
  .st-bar{position:sticky;bottom:0;background:var(--card);border-top:2px solid var(--gold);box-shadow:0 -14px 20px 10px var(--card);padding:16px 0 10px;margin-top:18px}
  .st-refl{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--sub);font-weight:bold;margin-bottom:7px}
  .st-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
  .st-chip{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:6px 13px;font-size:12px;cursor:pointer;color:var(--ink)}
  .st-chip:hover{border-color:var(--gold);color:var(--ink)}
  .st-chip.busy{opacity:.5;cursor:default}
  .st-chip.on{background:var(--gold);color:#1a1206;border-color:var(--gold);font-weight:bold}
  /* Make -> Marketing (2026-10-03): the prep round before writing, the checks after, the exact edits */
  .st-prep{margin:10px 0 2px} .st-pq{margin-bottom:9px} .st-pq-q{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px} .st-pq-q .muted{font-weight:normal;font-size:12px}
  .st-pq .st-chips{margin-bottom:4px} .st-pq .st-chip,.st-prep .st-chip{min-height:36px}
  .st-cks{margin:10px 0 2px;padding:11px 13px;background:var(--card);border:1px solid var(--line);border-radius:12px}
  .st-cks-h{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:7px} .st-cks-h.bad{color:var(--bad)} .st-cks-h.ok{color:var(--ok)}
  .st-ck{display:inline-block;border-radius:14px;padding:4px 10px;font-size:11.5px;margin:0 5px 5px 0;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
  .st-ck.bad{background:var(--bad-tint);border-color:var(--line);color:var(--bad)} .st-ck.warn{background:var(--warn-tint);border-color:var(--line);color:var(--warn)} .st-ck.ok{color:var(--ok)}
  .st-ck-note{font-size:12px;color:var(--sub);margin-top:5px;line-height:1.45}
  .st-edit{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:8px;background:var(--card)}
  .st-edit .wh{font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--sub);font-weight:bold} .st-edit .fr{font-size:12.5px;color:var(--bad);text-decoration:line-through;margin:3px 0} .st-edit .to{font-size:13px;color:var(--ink);font-weight:600;margin:3px 0} .st-edit .wy{font-size:12px;color:var(--sub)}
  .st-edit .st-act{min-height:40px;margin-top:6px}
  .st-done{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding-top:11px;border-top:1px solid var(--line)}
  .st-done .lbl{font-size:12px;color:var(--sub);margin-right:2px}
  .st-act{border:none;border-radius:8px;padding:8px 16px;font:inherit;font-size:13px;font-weight:bold;cursor:pointer}
  .st-act.prim{background:var(--navy);color:var(--cream)} .st-act.sec{background:var(--bg);color:var(--ink);border:1px solid var(--line)}
  .st-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .st-ico{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:7px 12px;font:inherit;font-size:12px;cursor:pointer;color:var(--ink);line-height:1}
  .st-ico span{font-weight:600}
  .st-ico:hover{border-color:var(--gold);color:var(--ink)}
  .st-ico.prim{background:var(--navy);color:var(--cream);border-color:var(--navy);font-weight:bold}
  .st-refine-toggle{align-self:flex-start;background:none;border:none;color:var(--sub);font:inherit;font-size:12.5px;cursor:pointer;padding:3px 0;margin-top:2px}
  .st-refine-toggle:hover{color:var(--gold)}
  .st-refine{border-top:1px solid var(--line);padding-top:11px;margin-top:2px}
  .extsteps{margin-top:10px;font-size:11.5px;color:var(--ink);line-height:1.45}
  .extsteps div{margin-bottom:5px} .extsteps b{color:var(--ink)}
  .extsteps .mono{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--bg);padding:1px 5px;border-radius:4px;font-size:11px}
  .st-vers{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 12px}
  .st-ver{font-size:11px;border:1px solid var(--line);background:var(--card);border-radius:6px;padding:3px 9px;cursor:pointer;color:var(--sub)}
  .st-ver.on{background:var(--navy);color:#fff;border-color:var(--navy)}
  .st-note{font-size:12px;color:var(--sub);margin:-2px 0 14px}
  .st-feed{font-size:13px;color:var(--gold);margin:8px 0;display:flex;align-items:center;gap:8px}
  .sug.studio-pri{background:var(--bg);border:1px solid var(--gold);color:var(--ink);font-weight:bold}
  .sug.studio-pri:hover{background:var(--gold);color:#1a1206}
  /* prepopulated module intelligence */
  .modlive{margin-bottom:8px}
  .moditem{padding:8px 10px;border:1px solid var(--line);border-left:3px solid var(--info);border-radius:8px;background:var(--card);margin-bottom:7px}
  .modtitle{background:none;border:none;padding:0;text-align:left;font:inherit;font-size:12.5px;font-weight:bold;color:var(--ink);cursor:pointer;line-height:1.3;width:100%}
  .modtitle:hover{color:var(--gold)}
  .modwhy{font-size:11px;color:var(--sub);line-height:1.4;margin-top:3px}
  .modwhen{display:inline-block;font-size:9.5px;font-weight:bold;letter-spacing:.4px;text-transform:uppercase;color:var(--gold);background:rgba(205,162,58,.12);border-radius:5px;padding:1px 6px;margin-top:4px}
  /* trust ledger footer */
  .ledger{margin:12px 0 2px;border:1px solid var(--line);border-radius:9px;background:var(--bg);overflow:hidden}
  .ledger>summary{cursor:pointer;list-style:none;padding:8px 12px;font-size:12px;font-weight:bold;color:var(--ink);display:flex;align-items:center;gap:6px}
  .ledger>summary::-webkit-details-marker{display:none}
  .ledger>summary:hover{color:var(--gold)}
  .md-q{margin:8px 0;padding:8px 14px;border-left:3px solid var(--gold);background:var(--bg);border-radius:0 9px 9px 0;white-space:pre-wrap}
  .md-hr{border:0;border-top:1px solid var(--line);margin:12px 0}
  .ledger-b{padding:4px 12px 12px;border-top:1px solid var(--line)}
  .ledger-h{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:bold;color:var(--sub);margin:10px 0 5px}
  .ledger-h.warn{color:var(--bad)}
  .ledger-src{display:block;font-size:12.5px;color:var(--ink);text-decoration:none;padding:3px 0;line-height:1.4}
  .ledger-src:hover{color:var(--gold)}
  .ledger-src .lhost{font-weight:bold;color:var(--gold)}
  .ledger-flag{font-size:12.5px;color:var(--ink);padding:3px 0;line-height:1.4}
  .ledger-flag .sub{color:var(--sub);font-size:11.5px}
  .ledger-note{font-size:11px;color:var(--sub);margin-top:10px;line-height:1.45;font-style:italic}
  .modsrc{font-size:10px;color:var(--gold);text-decoration:none;display:inline-block;margin-top:4px}
  .modcomp{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--bad);border-radius:8px;padding:8px 10px;margin-bottom:7px;cursor:pointer}
  .modcomp:hover{border-color:var(--gold);box-shadow:0 2px 7px rgba(201,154,46,.14)}
  .modcomp .cn{display:block;font-weight:bold;color:var(--ink);font-size:12.5px}
  .modcomp .cnote{display:block;font-size:11px;color:var(--sub);margin-top:2px;line-height:1.35}
  .moditem.fin{border-left-color:var(--ok)} .moditem.grant{border-left-color:var(--gold)} .moditem.law{border-left-color:var(--info)}
  .modchecked{display:flex;justify-content:space-between;align-items:center;margin-top:6px;font-size:10px;color:var(--sub)}
  .modrefresh{background:none;border:none;color:var(--gold);font-size:10px;cursor:pointer;padding:0;text-decoration:underline}
  .approve-card{padding:10px;border:1px solid var(--line,var(--line));border-radius:10px;background:rgba(201,154,46,.04)}
  .approve-btn:disabled{opacity:.6;cursor:default}
  .modcomp.lead{border-left-color:var(--ok)}
  .leadkind{display:inline-block;font-size:9.5px;font-weight:bold;text-transform:uppercase;letter-spacing:.3px;padding:1.5px 6px;border-radius:5px;margin-right:6px;vertical-align:middle}
  .k-buyer{background:var(--info-tint);color:var(--info)} .k-reseller{background:var(--ok-tint);color:var(--ok)} .k-referrer{background:var(--warn-tint);color:var(--warn)} .k-bundle{background:var(--info-tint);color:var(--info)}
  .leadpill{display:block;margin-top:5px;font-size:10.5px;line-height:1.4;color:var(--ok);background:var(--ok-tint);border:1px solid var(--line);border-radius:7px;padding:4px 8px}
  .leadpill::before{content:'\2728  Why this lead: ';font-weight:bold;color:var(--ok)}
  /* see the calendar and confirm (docs/74): Jasmine's bookings on the Calendar screen - held outlined, booked solid, free times light */
  .cal-jas{margin:0 0 14px}.cal-jas:empty{display:none}.cj-h{font-weight:700;font-size:15px;margin:2px 0 8px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.cj-mode{font-weight:600;font-size:12px;color:var(--sub);border:1px solid var(--line);border-radius:999px;padding:2px 9px}
  .cj-row{border-radius:12px;padding:10px 12px;margin:0 0 8px}.cj-held{border:2px dashed var(--gold);background:transparent}.cj-booked{border:1px solid var(--line);background:var(--gold-tint)}
  .cj-mark{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--sub)}.cj-held .cj-mark{color:var(--gold)}.cj-line{font-size:14.5px;font-weight:600;margin-top:2px}.cj-sub{font-size:13px;color:var(--sub);margin-top:2px}
  .cj-acts,.cj-pick{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.cj-pick .ctx-in{flex:1 1 180px;min-width:0}.cj-err{color:var(--bad);font-size:13px;margin-top:6px}
  .cj-free{margin:6px 0 0;opacity:.75}.cj-fh{font-size:12px;color:var(--sub);margin:0 0 4px;flex-basis:100%}.cj-slot{display:inline-block;font-size:12.5px;border:1px dotted var(--line);border-radius:8px;padding:3px 8px;margin:0 6px 6px 0;color:var(--sub)}
  /* master-detail board (news / sales leads) */
  .leadboard{display:flex;gap:16px;align-items:flex-start}
  .lb-list{flex:0 0 290px;max-width:290px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);overflow:auto;padding-right:2px}
  .lb-detail{flex:1 1 auto;min-width:0}
  .lb-row{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:11px 12px;cursor:pointer;display:flex;flex-direction:column;gap:3px;font:inherit;transition:border-color .12s,box-shadow .12s}
  .lb-row:hover{border-color:var(--info)}
  .lb-row.on{border-color:var(--info);box-shadow:0 0 0 2px rgba(52,87,168,.16)}
  .lb-kind{align-self:flex-start;font-size:9.5px;font-weight:bold;text-transform:uppercase;letter-spacing:.3px;padding:1.5px 7px;border-radius:5px}
  .lb-nm{font-weight:600;font-size:13.5px;color:var(--ink);line-height:1.3}
  .lb-co{font-size:12px;color:var(--sub)}
  .lb-why{font-size:11.5px;color:var(--sub);line-height:1.4;margin-top:1px}
  .lb-empty{color:var(--sub);font-size:13.5px;line-height:1.5;padding:34px 18px;text-align:center;border:1px dashed var(--line);border-radius:12px}
  .lb-meta{display:flex;align-items:center;gap:7px;margin-bottom:1px}
  .lb-tag{font-size:9.5px;font-weight:bold;text-transform:uppercase;letter-spacing:.3px;padding:1.5px 7px;border-radius:5px;background:var(--bg);color:var(--sub)}
  .tg-industry{background:var(--info-tint);color:var(--info)} .tg-competitors{background:var(--warn-tint);color:var(--warn)} .tg-market{background:var(--ok-tint);color:var(--ok)} .tg-regulation{background:var(--bad-tint);color:var(--bad)} .tg-customers{background:var(--ok-tint);color:var(--ok)} .tg-technology{background:var(--info-tint);color:var(--info)} .tg-adjacent{background:var(--warn-tint);color:var(--warn)}
  .lb-row[data-tag=industry]{border-left:3px solid var(--info)} .lb-row[data-tag=competitors]{border-left:3px solid var(--warn)} .lb-row[data-tag=market]{border-left:3px solid var(--ok)} .lb-row[data-tag=regulation]{border-left:3px solid var(--bad)} .lb-row[data-tag=customers]{border-left:3px solid var(--ok)} .lb-row[data-tag=technology]{border-left:3px solid var(--info)} .lb-row[data-tag=adjacent]{border-left:3px solid var(--warn)}
  .lb-imp{font-size:9.5px;font-weight:bold;text-transform:uppercase;letter-spacing:.3px;color:var(--bad)}
  .lb-row.lb-row-imp{border-left:3px solid var(--bad);background:var(--bad-tint)} .lb-row-imp .lb-nm{font-weight:700}
  .lb-asks{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}
  .lb-ask{font:inherit;font-size:11.5px;background:var(--bg);border:1px solid var(--line);color:var(--ink);border-radius:16px;padding:5px 11px;cursor:pointer}
  .lb-ask:hover{background:var(--card);border-color:var(--gold)}
  .lb-ask.prim{background:var(--bg);border-color:var(--gold);font-weight:bold;border-radius:9px;width:100%;text-align:left;padding:9px 12px}
  .boxlaunch{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;background:var(--card)}
  .boxlaunch:hover{border-color:var(--gold)} .boxlaunch .chev{transition:transform .12s} .boxlaunch:hover .chev{transform:translateX(2px)}
  .tdlaunch{background:linear-gradient(135deg,var(--card),var(--bg));border-color:var(--gold)}
  /* Today briefing */
  .td-greet{font-family:Georgia,serif;font-size:22px;color:var(--ink);margin:2px 0}
  .td-sub{color:var(--sub);font-size:13px;margin-bottom:16px}
  .td-sec{margin-bottom:16px}
  .td-h{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--gold);font-weight:bold;margin-bottom:6px}
  .td-row{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:6px;cursor:pointer;font:inherit}
  .td-row:hover{border-color:var(--gold)} .td-row.static{cursor:default}
  .td-rt{font-weight:600;font-size:13.5px;color:var(--ink);line-height:1.3}
  .td-rp{font-size:12px;color:var(--sub);line-height:1.4}
  .td-state{background:linear-gradient(135deg,var(--card),var(--bg));border:1px solid var(--gold);border-radius:13px;padding:15px 16px;margin-bottom:18px}
  .td-sit{font-size:15px;color:var(--ink);line-height:1.55;font-weight:500;margin-bottom:4px}
  .td-move{display:flex;flex-direction:column;gap:1px;padding:7px 0;border-top:1px solid var(--line)} .td-mv{font-weight:600;font-size:13.5px;color:var(--ink)} .td-mr{font-size:12px;color:var(--sub);line-height:1.4}
  .td-delta{font-size:12.5px;color:var(--ink);line-height:1.5;padding:3px 0}
  /* Guardian (in Today) */
  .td-guard{background:var(--bad-tint);border:1px solid var(--line);border-left:4px solid var(--bad);border-radius:13px;padding:13px 15px;margin-bottom:16px}
  .tg-h{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--bad);font-weight:bold;margin-bottom:7px}
  .tg-item{padding:7px 0;border-top:1px solid var(--line)} .tg-item:first-of-type{border-top:none}
  .tg-what{font-weight:600;font-size:13.5px;color:var(--ink);line-height:1.4} .tg-hi .tg-what::before{content:'\26A0\FE0F  '}
  .tg-when{font-weight:normal;font-size:11px;color:var(--bad);background:var(--bad-tint);padding:1px 7px;border-radius:10px;margin-left:4px}
  .tg-fix{font-size:12px;color:var(--sub);line-height:1.4;margin-top:2px}
  /* compounding teaser + play view */
  .td-comp{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:linear-gradient(135deg,var(--warn-tint),var(--card));border:1px solid var(--gold);border-radius:13px;padding:13px 15px;margin-bottom:16px;cursor:pointer;font:inherit}
  .td-comp:hover{box-shadow:0 6px 18px rgba(201,154,46,.22)} .tc-em{font-size:22px} .tc-cb{flex:1;display:flex;flex-direction:column;gap:1px} .tc-ct{font-weight:bold;font-size:14px;color:var(--ink)} .tc-cd{font-size:12px;color:var(--sub);line-height:1.4} .tc-go{color:var(--gold);font-size:20px}
  .co-play{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:16px 17px;margin-bottom:14px}
  .co-title{font-family:Georgia,serif;font-size:21px;color:var(--ink);line-height:1.25} .co-play-d{font-size:14px;color:var(--ink);line-height:1.55;margin:6px 0}
  .co-now{font-size:13px;color:var(--ink);background:var(--warn-tint);border-radius:8px;padding:8px 11px;margin:8px 0;line-height:1.5}
  .co-h{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);font-weight:bold;margin:13px 0 6px}
  .co-sigs{display:flex;flex-wrap:wrap;gap:6px} .co-sig{font-size:11.5px;background:var(--bg);color:var(--sub);border-radius:14px;padding:4px 10px;line-height:1.3}
  .co-sigwrap{margin:10px 0 2px} .co-sigsum{cursor:pointer;outline:none;margin-bottom:6px;user-select:none} .co-sigsum:hover{opacity:.8}
  .co-step{display:flex;gap:10px;padding:6px 0;border-top:1px solid var(--line)} .co-when{flex:none;width:92px;font-size:11px;font-weight:bold;color:var(--gold)} .co-what{font-size:13px;color:var(--ink);line-height:1.45}
  /* decision-pathway visual for a compounding play */
  .cp-path{display:flex;align-items:flex-start;margin:10px 0 4px;overflow-x:auto;padding:4px 2px}
  .cp-step{flex:1 0 0;min-width:104px;position:relative;text-align:center;padding:0 4px}
  .cp-step:not(:last-child)::after{content:'';position:absolute;top:42px;left:62%;right:-38%;height:2px;background:var(--line);z-index:0}
  .cp-step.done:not(:last-child)::after{background:var(--ok)}
  .cp-when{font-size:10px;font-weight:bold;letter-spacing:.4px;text-transform:uppercase;color:var(--gold);min-height:28px;line-height:1.25;margin-bottom:4px}
  .cp-dot{position:relative;z-index:1;width:30px;height:30px;border-radius:50%;margin:0 auto;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:bold;background:var(--line);color:var(--muted);border:2px solid var(--line)}
  .cp-step.done .cp-dot{background:var(--ok);color:#fff;border-color:var(--ok)}
  .cp-step.active .cp-dot{background:var(--info);color:#fff;border-color:var(--line);box-shadow:0 0 0 4px rgba(37,99,235,.18)}
  .cp-what{font-size:11px;color:var(--ink);line-height:1.3;margin-top:6px}
  .cp-step.active .cp-what{color:var(--ink);font-weight:600}
  .cp-deliv{background:var(--bg);border:1px dashed var(--gold);border-radius:8px;padding:11px 13px;margin:10px 0;font-size:13px;line-height:1.55;white-space:pre-wrap;color:var(--ink)}
  .cp-deliv-h{font-size:10px;letter-spacing:.5px;color:var(--gold);font-weight:bold;margin-bottom:5px;text-transform:uppercase}
  .cp-stepbtn{font-size:11px;background:none;border:1px solid var(--line);border-radius:14px;padding:3px 11px;margin-top:8px;cursor:pointer;color:var(--sub);font:inherit}
  .cp-stepbtn:hover{border-color:var(--ok);color:var(--ok)}
  .cp-badges{margin:2px 0 8px} .cp-conf{display:inline-block;font-size:11px;font-weight:bold;border-radius:12px;padding:2px 9px;background:var(--info-tint);color:var(--info);margin-right:6px} .cp-goal{display:inline-block;font-size:11px;border-radius:12px;padding:2px 9px;background:var(--warn-tint);color:var(--warn)}
  .cp-more{width:100%;margin-top:6px;background:linear-gradient(135deg,var(--navy),var(--navy));color:#fff;border:none;border-radius:11px;padding:12px;font:inherit;font-weight:bold;cursor:pointer}
  .cp-more:hover{box-shadow:0 6px 18px rgba(15,30,50,.3)} .cp-more:disabled{opacity:.55;cursor:default}
  /* simplified vertical plan checklist (replaces the horizontal stepper) */
  .cpl{list-style:none;margin:6px 0 2px;padding:0}
  .cpl-step{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--line)} .cpl-step:first-child{border-top:none}
  .cpl-num{flex:none;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:bold;background:var(--bg);color:var(--muted)}
  .cpl-step.done .cpl-num{background:var(--ok);color:#fff} .cpl-step.active .cpl-num{background:var(--info);color:#fff;box-shadow:0 0 0 4px rgba(37,99,235,.15)}
  .cpl-body{flex:1;min-width:0}
  .cpl-now{display:inline-block;font-size:10px;font-weight:bold;letter-spacing:.6px;text-transform:uppercase;color:var(--info);background:var(--info-tint);border-radius:10px;padding:1px 8px;margin-bottom:5px}
  .cpl-what{font-size:13.5px;line-height:1.5;color:var(--ink)} .cpl-step.future .cpl-what{color:var(--muted)} .cpl-step.done .cpl-what{color:var(--muted);text-decoration:line-through}
  .cpl-done{font-size:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:5px 15px;margin-top:9px;cursor:pointer;color:var(--ok);font:inherit;font-weight:600}
  .cpl-done:hover{border-color:var(--ok);background:var(--ok-tint)}
  /* secondary play, collapsed */
  .co-alt{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:2px 16px;margin-bottom:14px}
  .co-alt>summary{cursor:pointer;font-size:14px;color:var(--ink);padding:12px 0;user-select:none;outline:none;line-height:1.45;list-style:none} .co-alt>summary::-webkit-details-marker{display:none}
  .co-alt>summary:hover{opacity:.82} .co-alt[open]>summary{border-bottom:1px solid var(--line)} .co-altk{color:var(--gold);font-weight:bold;font-size:11px;letter-spacing:.5px;text-transform:uppercase;margin-right:6px}
  .co-alt-body{padding:10px 0 12px}
  /* why-now, collapsed */
  .co-whywrap{margin:9px 0} .co-whywrap>summary{cursor:pointer;font-size:11px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;color:var(--gold);user-select:none;outline:none;list-style:none} .co-whywrap>summary::-webkit-details-marker{display:none} .co-whywrap>summary::before{content:'\25B8 '} .co-whywrap[open]>summary::before{content:'\25BE '} .co-whywrap>summary:hover{opacity:.8}
  /* Agent Hub (Autopilot) */
  .ah-frame{font-size:13px;color:var(--sub);margin-bottom:14px;line-height:1.5}
  .ah-meter-wrap{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px 15px;margin-bottom:16px}
  .ah-meter-cap{font-size:11px;letter-spacing:.5px;color:var(--gold);font-weight:bold;text-transform:uppercase;margin-bottom:7px}
  .ah-meter-track{height:12px;border-radius:8px;background:var(--bg);overflow:hidden}
  .ah-meter-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--ok),var(--gold));transition:width .5s ease}
  .ah-meter-sub{font-size:12px;color:var(--ink);margin-top:8px;line-height:1.45}
  .ah-card{display:flex;align-items:flex-start;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
  .ah-card:hover{border-color:var(--gold)}
  .ah-cb{flex:1;min-width:0}
  .ah-name{font-weight:bold;font-size:14px;color:var(--ink)}
  .ah-desc{font-size:12.5px;color:var(--ink);line-height:1.45;margin-top:3px}
  .ah-last{font-size:11px;color:var(--sub);margin-top:4px}
  .ah-chip{flex:none;font-size:10.5px;font-weight:bold;letter-spacing:.4px;text-transform:uppercase;border-radius:12px;padding:3px 10px;white-space:nowrap}
  .ah-on{background:var(--ok-tint);color:var(--ok)} .ah-ready{background:var(--warn-tint);color:var(--warn)} .ah-paused{background:var(--bg);color:var(--muted)}
  /* live agent-working stepper (case file) */
  .ah-step{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink);font-weight:600;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:12px}
  .ah-step .ah-spin{width:13px;height:13px;border:2px solid var(--line);border-top-color:var(--gold);border-radius:50%;animation:ahspin .7s linear infinite;flex:none}
  @keyframes ahspin{to{transform:rotate(360deg)}}
  .guard-card{background:linear-gradient(135deg,var(--bad),var(--bad))} .comp-card{background:linear-gradient(135deg,var(--navy),var(--navy))}
  .pc-card{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:linear-gradient(135deg,var(--navy),var(--navy));color:#fff;border:none;border-radius:12px;padding:11px 13px;margin-bottom:9px;cursor:pointer;font:inherit}
  .pc-card{position:relative}
  .pc-card:hover{box-shadow:0 6px 18px rgba(15,30,50,.3)}
  .pc-new{position:absolute;top:7px;right:9px;width:10px;height:10px;border-radius:50%;background:var(--warn);box-shadow:0 0 0 0 rgba(201,154,46,.7);animation:pcpulse 1.4s infinite}
  @keyframes pcpulse{0%{box-shadow:0 0 0 0 rgba(201,154,46,.7)}70%{box-shadow:0 0 0 8px rgba(201,154,46,0)}100%{box-shadow:0 0 0 0 rgba(201,154,46,0)}}
  .pc-ic{font-size:22px} .pc-cb{flex:1;display:flex;flex-direction:column;gap:1px} .pc-ct{font-weight:bold;font-size:13px;color:#fff} .pc-cd{font-size:11px;color:#cdd8e6;line-height:1.35} .pc-play{color:var(--gold);font-size:18px}
  .pc-hd{margin-bottom:12px} .pc-title{font-family:Georgia,serif;font-size:22px;color:var(--ink)} .pc-sum{color:var(--ink);font-size:14px;margin-top:3px;line-height:1.5} .pc-meta{font-size:11px;color:var(--sub);margin-top:5px}
  .pc-ctrls{display:flex;align-items:center;gap:12px;margin-bottom:14px}
  .pc-audio{width:100%;height:40px}
  /* persistent podcast mini-player */
  .pcmini{position:fixed;left:0;right:0;bottom:0;z-index:95;display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--navy),var(--navy));color:#fff;padding:8px 14px;box-shadow:0 -4px 18px rgba(0,0,0,.25)}
  @media(min-width:881px){ .pcmini{left:248px} }
  .pcm-ic{font-size:20px;flex:none} .pcm-info{flex:none;display:flex;flex-direction:column;min-width:0;max-width:30%} .pcm-title{font-weight:bold;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis} .pcm-sub{font-size:10.5px;color:#9fb0c4}
  .pcm-audio{flex:1;height:34px;min-width:0} .pcm-x{flex:none;background:none;border:none;color:#9fb0c4;font-size:20px;cursor:pointer;line-height:1;padding:0 4px} .pcm-x:hover{color:#fff}
  body.pc-playing .composer{bottom:52px}
  /* meeting recorder bar */
  .recbar{position:fixed;left:0;right:0;bottom:0;z-index:96;display:flex;align-items:center;gap:10px;background:var(--bad);color:#fff;padding:9px 14px;box-shadow:0 -4px 18px rgba(0,0,0,.28)}
  @media(min-width:881px){ .recbar{left:248px} }
  .rec-dot{width:11px;height:11px;border-radius:50%;background:var(--card);flex:none;animation:recpulse 1.2s infinite}
  @keyframes recpulse{0%,100%{opacity:1}50%{opacity:.25}}
  .rec-lbl{font-weight:bold;font-size:13px;flex:none} .rec-time{font-size:13px;flex:none;font-variant-numeric:tabular-nums} .rec-note{flex:1;font-size:11px;color:#f3d7d0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .rec-stop{flex:none;background:var(--card);color:var(--bad);border:none;border-radius:8px;padding:7px 14px;font:inherit;font-size:13px;font-weight:bold;cursor:pointer} .rec-stop:disabled{opacity:.6;cursor:default}
  body.rec-on .composer{bottom:54px}
  #recBtn.recording{color:var(--bad)}
  .pc-transcript{display:flex;flex-direction:column;gap:9px}
  .pc-line{display:flex;gap:10px;padding:7px 9px;border-radius:9px;cursor:pointer;transition:background .12s}
  .pc-line:hover{background:var(--bg)} .pc-line.on{background:var(--warn-tint)}
  .pc-spk{flex:none;font-size:10px;font-weight:bold;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:6px;height:fit-content}
  .pc-m{background:var(--info-tint);color:var(--info)} .pc-a{background:var(--info-tint);color:var(--info)}
  .pc-tx{font-size:13.5px;color:var(--ink);line-height:1.5}
  .pc-toggle{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--ink);cursor:pointer} .pc-toggle input{width:16px;height:16px;cursor:pointer}
  /* My card */
  .bizcard{max-width:380px;margin:6px auto;background:linear-gradient(150deg,var(--card),var(--bg));border:1px solid var(--gold);border-radius:18px;padding:22px;box-shadow:0 16px 40px rgba(15,30,50,.14)}
  .bc-top{display:flex;align-items:center;gap:14px} .bc-photo{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--gold)}
  .bc-init{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold),var(--navy));color:#fff;font-weight:bold;font-size:26px;font-family:Georgia,serif}
  .bc-name{font-family:Georgia,serif;font-size:21px;color:var(--ink);line-height:1.2} .bc-role{font-size:13px;color:var(--sub);margin-top:2px}
  .bc-slogan{font-size:13.5px;color:var(--ink);font-style:italic;margin:14px 0 4px;line-height:1.5;text-align:center}
  .bc-rows{margin:12px 0;display:flex;flex-direction:column;gap:6px} .bc-row{font-size:13.5px;color:var(--ink)} .bc-row a{color:var(--ink);text-decoration:none;font-weight:500} .bc-row a:hover{color:var(--gold)}
  .bc-qr{text-align:center;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)} .bc-qr img{border-radius:10px;background:var(--card)} .bc-qr-cap{font-size:11.5px;color:var(--sub);margin-top:6px}
  /* trust score badge */
  .trustbadge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:bold;padding:2px 9px;border-radius:20px;border:1px solid}
  .trustbadge.t-high{background:var(--ok-tint);color:var(--ok);border-color:#bfe3cd} .trustbadge.t-med{background:var(--warn-tint);color:var(--warn);border-color:#ecd9a8} .trustbadge.t-low{background:var(--bg);color:#6b4d8a;border-color:#ddd0e8}
  /* first-run benefits tour */
  .tour-ov{position:fixed;inset:0;background:rgba(15,30,50,.55);display:flex;align-items:center;justify-content:center;z-index:1100;padding:18px}
  .tour-box{background:var(--bg);border-radius:18px;padding:26px 26px 18px;max-width:680px;width:100%;box-shadow:0 30px 80px rgba(0,0,0,.35);position:relative;max-height:92vh;overflow:auto}
  .tour-x{position:absolute;top:12px;right:14px;background:none;border:none;font-size:24px;color:var(--sub);cursor:pointer;line-height:1}
  .tour-h{font-family:Georgia,serif;font-size:26px;color:var(--ink);margin:2px 0 4px}
  .tour-sub{color:var(--sub);font-size:14px;margin-bottom:18px}
  .tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
  @media(max-width:620px){ .tour-grid{grid-template-columns:1fr} }
  .tour-card{display:flex;flex-direction:column;gap:5px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:15px 14px;cursor:pointer;font:inherit;transition:border-color .12s,transform .12s,box-shadow .12s}
  .tour-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 22px rgba(201,154,46,.18)}
  .tc-ic{font-size:24px} .tc-t{font-weight:bold;font-size:15px;color:var(--ink)} .tc-d{font-size:12.5px;color:var(--sub);line-height:1.35}
  .tour-foot{text-align:center;margin-top:16px}
  @media(max-width:820px){.leadboard{flex-direction:column}.lb-list{flex-basis:auto;max-width:none;width:100%;max-height:340px}}
  .mem-narr{font-size:13px;color:var(--ink);line-height:1.55;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:2px 0 6px}
  /* profile menu */
  .profbtn{display:flex;align-items:center;gap:8px;background:none;border:none;cursor:pointer;color:#fff;font:inherit;padding:4px 6px;border-radius:8px}
  .profbtn:hover{background:rgba(255,255,255,.12)}
  .profav{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--ink));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:13px;flex:none;position:relative}
  .profav.conn::after{content:'';position:absolute;right:-1px;bottom:-1px;width:8px;height:8px;border-radius:50%;background:#34C759;border:1.5px solid var(--navy)}
  .profbtn .who{color:#fff;font-size:13px} .profbtn .caret{font-size:10px;opacity:.8}
  .profmenu.from-bar{top:auto;bottom:calc(75px + env(safe-area-inset-bottom,0px));left:12px;right:12px;max-height:70vh;overflow:auto;border-radius:16px}
  .profmenu{position:fixed;top:52px;right:14px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(15,30,50,.18);padding:6px;z-index:60;min-width:230px}
  .profmenu.hidden{display:none}
  .pm-head{padding:8px 12px 6px} .pm-who{font-size:12px;color:var(--sub)}
  .pm-conn{font-size:12px;color:var(--ok);margin-top:3px;line-height:1.5}
  .pm-item{display:block;width:100%;text-align:left;background:none;border:none;font:inherit;font-size:13.5px;color:var(--ink);padding:9px 12px;border-radius:8px;cursor:pointer}
  .pm-item:hover{background:var(--bg)} .pm-item.danger{color:var(--bad)}
  .pm-connl{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:4px 0;font:inherit;font-size:13px;color:var(--ok);cursor:pointer;min-height:36px;text-align:left}.pm-connl .ic{width:16px;height:16px}.pm-connl u{color:var(--gold,#C99A2E);text-underline-offset:2px}
  .pm-meta{display:block;margin:1px 0 0 24px;font-size:12px;line-height:1.35;font-weight:400;color:var(--sub)} .pm-meta:empty{display:none} .pm-meta.warn{color:var(--bad)}
  .pm-div{height:1px;background:var(--line);margin:5px 8px}
  .pm-div.pm-gap{margin:12px 8px}
  @media (pointer:coarse),(max-width:640px){ .pm-item{min-height:44px;padding:11px 12px;font-size:15px;line-height:22px;box-sizing:border-box} }
  /* 44px targets on the sheets (release review F-13): Help, the privacy overlay, the Answer my phone coach */
  #ybHelp #hpX,#pvOv #pvX,#rcCoach .co-x{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
  #ybHelp a[href="/status"]{display:flex;align-items:center;justify-content:center;min-height:44px}
  #pvOv #pvChips button,#pvOv #pvAdd,#pvOv #pvIn{min-height:44px;min-width:44px}
  #pvOv #pvIn{font-size:16px}
  /* a disabled primary looks disabled (F-14) */
  .st-act.prim:disabled:not([aria-busy="true"]),.fbtn.prim:disabled:not([aria-busy="true"]),.mt-b.prim:disabled:not([aria-busy="true"]),button.prim:disabled:not([aria-busy="true"]){background:var(--line)!important;border-color:var(--line)!important;color:var(--sub)!important;cursor:not-allowed;box-shadow:none!important;filter:none}
  .yb-hint{font-size:13.5px;color:var(--bad);margin:6px 0 0}
  .setlinks{display:flex;flex-direction:column;gap:6px} .setlinks .sug{text-align:left}
  /* Settings rows (section 55): one glyph in the Me colour, the label, an optional second line; the version at the foot */
  .set-row{display:flex;align-items:center;gap:11px;color:var(--ink);font-size:15px;line-height:1.3;min-height:44px;text-decoration:none;margin-bottom:0}
  .set-row .ic{color:var(--door-me)} .set-row .set-l{flex:1;min-width:0} .set-row .set-l small{display:block;font-size:12.5px;color:var(--sub);font-weight:400;margin-top:2px;line-height:1.35}
  .set-row#setDelete,.set-row#setDelete .ic{color:var(--bad)}
  .set-foot{margin:22px 0 6px;font-size:13px;color:var(--sub);text-align:center;letter-spacing:.3px}
  /* Settings, seven sections (docs/80) */
  #memPanel .sf-group>summary{display:grid;grid-template-columns:40px minmax(0,1fr) auto auto;column-gap:0;align-items:center;min-height:56px;padding:6px;border-radius:12px;transition:background-color var(--press-ms) var(--ease)}
  #memPanel .sf-group>summary:active{background:var(--set-press)}
  #memPanel .sf-group>summary .set-tile{grid-column:1;grid-row:1 / 3;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:var(--line);color:var(--ink)} #memPanel .sf-group>summary .set-tile .ic{width:22px;height:22px;vertical-align:0;color:var(--ink)}
  #memPanel .sf-group>summary .sf-gt{grid-column:2;grid-row:1;align-self:end;margin-left:12px;font-size:16px;font-weight:600;line-height:1.25;color:var(--ink)}
  #memPanel .sf-group>summary .sf-gs{grid-column:2;grid-row:2;align-self:start;margin:1px 0 0 12px;font-size:13px;line-height:1.35;text-align:left;text-wrap:pretty;color:var(--sub)}
  #memPanel .sf-group>summary .set-pill{grid-column:3;grid-row:1 / 3;margin-left:12px;font-size:13px;font-weight:600;line-height:1.4;padding:2px 10px;border-radius:999px;white-space:nowrap;background:var(--warn-tint);color:var(--warn-ink)}
  #memPanel .sf-group>summary .set-hits{display:inline-block;margin-top:3px;font-size:13px;line-height:1.4;font-weight:600;padding:1px 10px;border-radius:999px;background:var(--info-tint);color:var(--info-ink)}
  #memPanel .sf-group>summary::after{grid-column:4;grid-row:1 / 3;margin-left:12px;width:16px;text-align:center;font-size:22px;line-height:1;color:var(--sub)}
  #memPanel .sf-group[open]>summary{border-bottom:1px solid var(--line);border-radius:12px 12px 0 0}
  #memPanel .sf-group>.sf-gb{display:flex;flex-direction:column;gap:0;padding:6px}
  #memPanel .sf-gb>*{margin:0}
  #memPanel .sf-gb>.sug,#memPanel .sf-gb>.set-row{display:flex;align-items:center;gap:12px;min-height:56px;padding:9px 8px;border:0;border-radius:0;background:none;color:var(--ink);font:inherit;font-size:15px;font-weight:600;line-height:1.3;text-align:left}
  #memPanel .sf-gb>.msec{padding:12px 8px;border:0;border-radius:0;background:none;box-shadow:none}
  /* bare units, same inset */ #memPanel .sf-gb>:is(#setCallIn,#setDnc,#setEmails,#setReach,#huEmsMsgWrap,#setOp,#setPalette){padding:12px 8px}
  #memPanel .sf-gb>:empty{display:none}
  /* no card in a section */ body #memPanel .sf-gb #setEmails>.msec{padding:0;border:0;border-radius:0;background:none;box-shadow:none}
  /* step cards: no card */ body #memPanel .sf-gb .sf-step{margin:0 0 6px;padding:6px 0;border:0;border-radius:0;background:none;box-shadow:none}
  /* field wrapper guard */ body #memPanel .sf-gb .sf-box{border-color:var(--set-edge);background:none;box-shadow:none} body #memPanel .sf-gb .sf-box:focus-within{border-color:var(--ink)}
  /* one edge colour (D1) */ body #memPanel .sf-gb :is(input:is(:not([type]),[type=text],[type=email],[type=tel],[type=url],[type=number],[type=time],[type=date],[type=search],[type=password]),textarea:not(.st-brief),select){border:1px solid var(--set-edge);box-shadow:none}
  body #memPanel .sf-gb .st-act:not(.prim){border:1px solid var(--set-edge)} body #memPanel .sf-gb .st-chip:not(.on),body #memPanel .sf-gb .sf-pick:not(.sf-asm),body #memPanel #setClose{border-color:var(--set-edge)}
  /* 13px floor (D9; v906 the small labels and Settings' own screen path, PARTNER 826b) */ body #memPanel .sf-gb small,body #memPanel .sf-gb .set-row .set-l small,body #memPanel .sf-gb :is(.sf-help,.sf-skip,.sf-left,.sf-assume,.sf-n,.sf-sharp,.sf-tool,.sf-why,.sf-prog,.sf-asw,.sf-pick,.st-chip),body #memPanel .sf-gb :is(.ctx-l,.ctx-save),body #memPanel .mem-crumb[data-for="settings"]{font-size:13px}
  #memPanel .sf-gb>*+*:not(.set-subh){border-top:1px solid var(--line)}
  #memPanel .sf-gb>.set-subh+*{border-top:0}
  #memPanel .sf-gb>.set-item{padding:12px 8px} #memPanel .sf-gb .set-item>:first-child{margin-top:0!important}
  #memPanel .sf-gb .msec-h{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:15px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)} #memPanel .sf-gb .msec-h .ic{color:var(--sub)}
  #memPanel .sf-gb .msec .fl{margin:12px 0 0;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--sub)}
  #memPanel .sf-gb>.set-subh{padding:14px 8px 4px;font-size:13px;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;font-weight:600;color:var(--sub)}
  #memPanel .sf-gb>.set-elsewhere{padding:6px 8px;text-align:left}
  #memPanel .sug:active,#memPanel .set-row:active{background:var(--set-press)}
  #memPanel :is(summary,button,a,input,select,textarea,[role=button]):focus-visible{outline:2px solid var(--ink);outline-offset:3px;box-shadow:none}
  #memPanel .sf-gb [hidden],#memPanel .sf-gb .hidden,#memPanel .set-hit-off{display:none!important}
  /* switch */
  body #memPanel .sf-gb .pc-toggle input[type=checkbox],body #memPanel #setPreviews input[data-pv]{appearance:none;-webkit-appearance:none;flex:none;position:relative;width:48px;height:28px;margin:0;border:1px solid var(--sub);border-radius:14px;background:var(--line);box-shadow:none;cursor:pointer;transition:background-color var(--press-ms) var(--ease)}
  body #memPanel .sf-gb .pc-toggle input[type=checkbox]::after,body #memPanel #setPreviews input[data-pv]::after{content:"";position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:999px;background:var(--sub);transition:transform var(--press-ms) var(--ease)}
  body #memPanel .sf-gb .pc-toggle input[type=checkbox]:checked,body #memPanel #setPreviews input[data-pv]:checked{background:var(--ink);border-color:var(--ink)} body #memPanel .sf-gb .pc-toggle input[type=checkbox]:checked::after,body #memPanel #setPreviews input[data-pv]:checked::after{background:var(--bg);transform:translateX(20px)}
  /* fields */
  body #memPanel .sf-gb .set-field{display:block;box-sizing:border-box;width:-webkit-fill-available;width:-moz-available;width:stretch;min-height:44px;margin-top:6px;padding:8px 10px;border:1px solid var(--set-edge);border-radius:10px;background:var(--card);color:var(--ink);font-size:16px;box-shadow:none}
  body #memPanel .sf-gb .set-field.set-field-num{width:96px}
  #memPanel .set-field::placeholder,#memPanel .set-find input::placeholder{color:var(--sub);opacity:1}
  #memPanel .sf-gb .set-inl{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;font-size:14px} #memPanel .sf-gb .set-inl .set-field{width:auto;margin:0}
  #memPanel .sf-gb .set-inl-tell .set-field{flex:1;min-width:0}
  #memPanel .sf-gb .set-note{margin:3px 0 0;font-size:13px;line-height:1.4;color:var(--sub)}
  /* links */
  body #memPanel .sf-gb .linkish{min-height:44px;padding:6px 4px;border:0;background:none;color:var(--ink);font-size:14px;text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer} body #memPanel .sf-gb .linkish.danger{color:var(--bad-ink)}
  /* top of the panel */
  #memPanel .set-try{display:flex;flex-direction:column;margin:4px 0 14px;padding-bottom:6px;overflow:hidden;border:2px solid var(--gold);border-radius:16px;background:var(--card);box-shadow:0 0 18px var(--gold-glow);animation:set-try-pulse .8s ease-in-out 6 alternate}
  @keyframes set-try-pulse{from{box-shadow:0 0 18px var(--gold-glow)}to{box-shadow:0 0 30px var(--gold-glow)}}
  #memPanel .set-try-h{display:flex;align-items:center;gap:10px;padding:12px 14px 2px} #memPanel .set-try-h b{font-family:Georgia,serif;font-size:19px;line-height:1.2;font-weight:600} #memPanel .set-only{margin-left:auto;padding:3px 10px;border-radius:999px;white-space:nowrap;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:var(--gold-tint);color:var(--gold-ink,var(--warn-ink))}
  #memPanel .set-try-s{margin:0;padding:0 14px 8px;font-size:13px;line-height:1.4;color:var(--sub)}
  #memPanel .set-try .see{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin:8px 14px 4px;padding:10px 16px;border:0;border-radius:12px;background:var(--ink);color:var(--bg);font-weight:600;text-decoration:none} #memPanel .set-try .see[hidden]{display:none} #memPanel .set-try .see[aria-disabled="true"]{border:2px dashed var(--sub);background:none;color:var(--sub);cursor:not-allowed}
  #memPanel .set-try .see-s{padding:2px 14px 8px;font-size:13px;line-height:1.4;color:var(--sub)} #memPanel .set-try .pv-msg{margin:0;padding:0 14px 8px;font-size:13px}
  #memPanel .set-try>.set-item,#memPanel .set-try>.set-row,#memPanel .set-next>button[data-goto]{margin:0 6px;padding:9px 8px;border-top:1px solid var(--line)}
  #memPanel .set-find{margin:2px 0 12px} #memPanel .set-find label{display:block;margin-bottom:6px;font-size:14px;font-weight:600} #memPanel .set-find-box{position:relative;display:flex} #memPanel .set-find-box .ic{position:absolute;left:14px;top:14px;color:var(--sub);pointer-events:none}
  body #memPanel .set-find input[type=search]{flex:1;min-width:0;min-height:48px;margin:0;padding:10px 46px 10px 42px;border:1px solid var(--set-edge);border-radius:12px;background:var(--card);color:var(--ink);font-size:16px;box-shadow:none}
  #memPanel .set-find input::-webkit-search-cancel-button,#memPanel .set-find input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;display:none}
  #memPanel .set-find .set-clear{position:absolute;right:2px;top:2px;width:44px;height:44px;border:0;border-radius:10px;background:none;color:var(--sub);font-size:22px;line-height:1}
  #memPanel .set-find-help{margin-top:6px;font-size:13px;color:var(--sub)} #memPanel .set-find-out{margin:8px 2px 0;font-size:14px;color:var(--ink)} #memPanel .set-find-out:empty{margin:0}
  #memPanel .set-empty{margin:10px 0;padding:16px;border:1px dashed var(--line);border-radius:14px;font-size:14px;color:var(--sub)}
  #memPanel .set-next{display:flex;flex-direction:column;margin:14px 0;padding-bottom:6px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--card)}
  #memPanel .set-next h3{display:flex;align-items:center;gap:8px;margin:0;padding:10px 14px;font-size:15px;line-height:1.3;font-weight:600;background:var(--warn-tint);color:var(--warn-ink)} #memPanel .set-next h3 .ic{color:var(--warn-ink)}
  #memPanel .set-next>button[data-goto]{display:flex;align-items:center;gap:12px;min-height:56px;border-right:0;border-bottom:0;border-left:0;background:none;color:var(--ink);font:inherit;font-size:15px;font-weight:600;text-align:left} #memPanel .set-next h3+button[data-goto]{border-top:0}
  #memPanel.set-searching .set-pill,#memPanel.set-searching .sf-gb>.set-subh,#memPanel.set-searching .set-next{display:none}
  #memPanel .set-foot a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px;color:inherit}
  @media (max-width:360px){ body #memPanel .sf-gb .set-field{padding-left:6px!important;padding-right:4px!important} body #memPanel .sf-gb select.set-field{padding-left:4px!important;padding-right:0!important} #memPanel .sf-gb>.msec,#memPanel .sf-gb>.set-item,#memPanel .sf-gb>.set-subh,#memPanel .sf-gb>:is(#setCallIn,#setDnc,#setEmails,#setReach,#huEmsMsgWrap,#setOp,#setPalette){padding-left:6px;padding-right:6px} #memPanel .sf-gb .set-inl-tell{flex-direction:column;align-items:stretch} #memPanel .sf-gb .set-inl-tell .set-field{width:-webkit-fill-available;width:-moz-available;width:stretch} }
  @media (max-width:340px){ #memPanel .sf-group>summary{grid-template-columns:34px minmax(0,1fr) auto auto;padding:6px 4px} #memPanel .sf-group>summary .set-tile{width:34px;height:34px} #memPanel .sf-group>summary .sf-gt{margin-left:8px;font-size:15px} #memPanel .sf-group>summary .sf-gs{margin-left:8px} #memPanel .sf-group>summary .set-pill{padding:2px 8px;margin-left:8px} }
  body #memPanel .sf-gb :is(.set-l small,.sub){text-wrap:pretty}
  /* welcome popup */
  .welcome{position:fixed;inset:0;background:rgba(14,31,58,.34);display:flex;align-items:center;justify-content:center;z-index:80;padding:18px}
  .welcome.hidden{display:none}
  .welcome-card{background:var(--card);border-radius:16px;max-width:420px;width:100%;padding:26px 26px 22px;box-shadow:0 20px 60px rgba(15,30,50,.3)}
  .welcome-h{font-family:Georgia,serif;font-size:23px;color:var(--ink);font-weight:bold}
  .welcome-s{color:var(--sub);font-size:14px;margin:6px 0 16px}
  .welcome-tip{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin-bottom:9px}
  .welcome-tip b{color:var(--ink);font-size:14px} .welcome-tip span{color:var(--sub);font-size:12.5px;margin-top:2px}
  .welcome-btns{display:flex;gap:10px;margin-top:14px}
  .brandbtn{background:none;border:none;cursor:pointer;font:inherit;padding:2px 6px;border-radius:6px}
  .brandbtn:hover{background:rgba(201,154,46,.16)}
  .gd-intro{font-size:15px;line-height:1.55;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:13px 15px;margin-bottom:14px}
  .gd-steps{display:flex;flex-direction:column;gap:9px}
  .gd-step{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:12px 14px;cursor:pointer;transition:.12s}
  .gd-step:hover{border-color:var(--gold);box-shadow:0 3px 12px rgba(201,154,46,.16);transform:translateY(-1px)}
  .gd-num{width:24px;height:24px;flex:none;border-radius:50%;background:var(--gold);color:#1a1206;font-weight:bold;font-size:12px;display:flex;align-items:center;justify-content:center}
  .gd-txt{flex:1;display:flex;flex-direction:column} .gd-lbl{font-weight:bold;color:var(--ink);font-size:14px} .gd-why{font-size:12px;color:var(--sub);margin-top:2px;line-height:1.4}
  .gd-arrow{color:var(--gold);font-size:18px}
  .connrow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
  .connok{font-size:12px;color:var(--ink)} .connok .conne{display:block;font-size:11px;color:var(--sub)}
  .connbox{border:1px solid var(--line);border-radius:9px;padding:10px 11px;margin-bottom:8px;background:var(--card)}
  .connttl{font-size:13px;color:var(--ink);margin-bottom:6px} .connperms{font-size:11px;color:var(--ok);margin:3px 0 6px}
  .permpick{display:flex;flex-direction:column;gap:5px;margin-bottom:9px}
  .permpick label{font-size:12.5px;color:var(--ink);display:flex;align-items:center;gap:7px;cursor:pointer}
  .cx-card{display:flex;align-items:center;gap:11px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px}
  .cx-ic{font-size:22px;line-height:1;flex:0 0 auto;width:26px;text-align:center}
  .cx-mid{flex:1;min-width:0}
  .cx-name{font-size:14px;font-weight:bold;color:var(--ink)}
  .cx-note{font-size:11.5px;color:var(--sub);margin-top:2px}
  .cx-right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
  .cx-chip{font-size:11px;font-weight:bold;color:var(--ok);background:var(--ok-tint);border:1px solid #bfe6cf;border-radius:999px;padding:3px 9px;white-space:nowrap}
  .cx-chip.cx-chip-warn{color:var(--warn);background:var(--warn-tint);border-color:transparent}   /* a connection whose token the provider refused: Needs reconnecting (16 Oct 2026) */
  .cx-detail{font-size:11px;color:var(--sub);text-align:right;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cx-btn{font-size:12.5px;font-weight:bold;color:#fff;background:var(--gold,var(--bad));border:none;border-radius:8px;padding:7px 13px;cursor:pointer;white-space:nowrap}
  .cx-btn:hover{filter:brightness(1.05)} .cx-btn:disabled{opacity:.6;cursor:default}
  .cx-hint{font-size:11.5px;color:var(--sub);margin:4px 0 0 37px}
  /* THE EMAIL SCREEN (CEO 17 Oct 2026, docs/83): one card per mailbox with its state as one word and colour, the add row's three tiles */
  .mb-card{align-items:flex-start;flex-wrap:wrap} .mb-card .cx-right{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
  .mb-main{display:inline-block;font-size:10.5px;font-weight:bold;color:var(--gold);border:1px solid var(--gold);border-radius:999px;padding:1px 7px;margin-left:6px;vertical-align:1px}
  .mb-addr{font-size:12.5px;color:var(--ink);word-break:break-all;margin-top:1px}
  .mb-state{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:bold;margin-top:4px} .mb-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
  .mb-state.mb-green{color:var(--ok)} .mb-state.mb-amber{color:var(--warn)} .mb-state.mb-grey{color:var(--sub)} .mb-state .mb-why{font-weight:normal;color:var(--sub)}
  .mb-reconnect{border-color:var(--warn)} .mb-gone{background:transparent;border-style:dashed}
  .mb-perms{flex-basis:100%;font-size:12px;color:var(--sub);margin:2px 0 0 37px}
  .mb-add{margin:14px 0 6px} .mb-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
  .mb-tile{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;min-height:88px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--ink)}
  .mb-tile:hover,.mb-tile[aria-pressed="true"]{border-color:var(--gold)} .mb-tile .mb-tl{font-weight:bold;font-size:14px} .mb-tile .mb-ts{font-size:11.5px;color:var(--sub);line-height:1.35}
  .mb-tile[aria-disabled="true"]{cursor:default;background:transparent} .mb-tile[aria-disabled="true"]:hover{border-color:var(--line)}
  .mb-panel{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:10px;background:var(--card)}
  /* THE CONTACT LIST LIKE A PHONE'S (CEO 17 Oct 2026): A to Z, one line each, letter headers, a right-edge rail, the search on top */
  .pl-wrap{position:relative;margin-top:4px} .pl-q{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:9px 12px;font:inherit;font-size:15px;background:var(--card);color:var(--ink);margin-bottom:6px}
  .pl-list{max-height:62vh;overflow-y:auto;padding-right:26px;-webkit-overflow-scrolling:touch}
  .pl-h{position:sticky;top:0;background:var(--bg);color:var(--sub);font-size:12px;font-weight:bold;padding:3px 8px;z-index:1}
  .pl-row{display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--bg);padding:9px 8px;min-height:44px;font:inherit;color:var(--ink);cursor:pointer}
  .pl-row:hover{background:var(--bg)} .pl-n{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%} .pl-s{font-size:12.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
  .pl-ph{color:var(--sub);flex:none} .pl-dup{flex:none;font-size:10px;font-weight:bold;color:var(--warn);border:1px solid var(--warn);border-radius:999px;padding:0 5px;line-height:15px}
  .pl-rail{position:absolute;right:0;top:46px;bottom:0;display:flex;flex-direction:column;justify-content:flex-start;gap:0;width:22px}
  .pl-rail button{background:none;border:0;padding:0;font:inherit;font-size:10.5px;font-weight:bold;color:var(--gold);line-height:1.5;cursor:pointer;min-height:16px}
  .pl-none{padding:10px 8px;color:var(--sub);font-size:13px} .pl-tools{margin-top:12px;padding-top:8px;border-top:1px solid var(--line)}
  .ibrow{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin-bottom:8px;cursor:pointer}
  .ibrow:hover{border-color:var(--gold);box-shadow:0 2px 7px rgba(201,154,46,.13)}
  .ibfrom{font-size:11px;color:var(--sub)} .ibsub{font-size:13.5px;font-weight:bold;color:var(--ink);margin:1px 0;line-height:1.3} .ibsnip{font-size:11.5px;color:var(--sub);line-height:1.45;margin-top:3px}
  .ibtagrow{display:flex;align-items:center;gap:7px;margin-bottom:4px}
  .ibtag{font-size:9.5px;font-weight:bold;text-transform:uppercase;letter-spacing:.4px;padding:2px 8px;border-radius:5px;background:var(--bg);color:var(--sub)}
  .it-opportunity{background:var(--ok-tint);color:var(--ok)} .it-risk{background:var(--bad-tint);color:var(--bad)} .it-action{background:var(--info-tint);color:var(--info)} .it-fyi{background:var(--bg);color:#6b675f} .it-legal{background:var(--bg);color:#6b4d8a}
  .ibwhy{font-size:11px;color:var(--sub)}
  /* deliverables library */
  .lib-insight{background:var(--ok-tint);border:1px solid var(--line);border-left:3px solid var(--ok);border-radius:8px;padding:9px 12px;margin-bottom:6px;font-size:13px;color:var(--ink);line-height:1.45}
  .lib-item{border:1px solid var(--line);border-radius:11px;background:var(--card);padding:13px 15px;margin-bottom:11px;box-shadow:0 1px 6px rgba(15,30,50,.04)}
  .lib-top{display:flex;align-items:center;gap:8px}
  .lib-title{font-weight:bold;color:var(--ink);font-size:14px;flex:1;line-height:1.3}
  .lib-badge{font-size:9px;text-transform:uppercase;letter-spacing:.5px;padding:3px 9px;border-radius:20px;font-weight:bold;flex:none}
  .lib-badge.draft{background:var(--bg);color:#6b675f} .lib-badge.posted{background:var(--ok-tint);color:var(--ok)}
  .lib-tag{font-size:10px;color:var(--sub);text-transform:uppercase;letter-spacing:.4px;margin-top:3px}
  .lib-prev{font-size:12px;color:var(--sub);line-height:1.45;margin-top:6px}
  .lib-res{font-size:12px;color:var(--ok);margin-top:6px;font-weight:600}
  .lib-acts{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
  .lib-acts .st-act{padding:6px 12px;font-size:12px}
  /* Studio: channel-aware preview cards */
  .st-wrap{max-width:960px;margin:0 auto}
  .st-go{background:linear-gradient(135deg,#E0B954,var(--gold));box-shadow:0 3px 10px rgba(201,154,46,.3)}
  .st-go:hover{filter:brightness(1.04)}
  .st-chip{transition:.12s} .st-chip:hover{border-color:var(--gold);color:var(--ink);transform:translateY(-1px);box-shadow:0 2px 7px rgba(201,154,46,.16)}
  .st-tone{transition:.12s} .st-tone:hover:not(.on){border-color:var(--gold)}
  .st-pv{border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 8px 28px rgba(15,30,50,.09);overflow:hidden;margin-bottom:6px}
  .st-pv-bar{display:flex;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--card),var(--bg))}
  .st-pv-ic{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;font-size:12px;letter-spacing:.3px;background:var(--cc,#8a8a8a)}
  .st-pv-nm{font-weight:bold;color:var(--ink);font-size:13px}
  .st-pv-meta{margin-left:auto;font-size:11px;color:var(--sub);white-space:nowrap}
  .st-au{display:flex;align-items:center;gap:11px;padding:15px 18px 2px}
  .st-av{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:bold;font-size:17px;background:linear-gradient(135deg,var(--cc,#8a8a8a),var(--ink))}
  .st-au-n{font-weight:bold;color:var(--ink);font-size:14px;line-height:1.25}
  .st-au-s{font-size:11px;color:var(--sub)}
  .st-pv-body{padding:10px 18px 18px;font-size:14.5px;line-height:1.62;color:#14233b}
  .st-pv-body .tag{color:var(--cc,#0A66C2);font-weight:600}
  .st-pv-body h2{font-size:16px;margin:14px 0 6px}
  .st-pv-foot{display:flex;gap:24px;padding:10px 18px;border-top:1px solid var(--line);color:var(--sub);font-size:12px}
  .st-doc{padding:24px 28px;font-size:14.5px;line-height:1.66;color:#1a2942}
  .st-doc h2{font-size:17px;color:var(--ink);margin:18px 0 7px} .st-doc h2:first-child{margin-top:0}
  .st-pv-body a,.st-doc a{color:var(--cc,var(--gold));text-decoration:underline;word-break:break-word}
  .st-emhead{background:var(--card);border-bottom:1px solid var(--line);padding:11px 18px;font-size:13px;color:var(--ink)}
  .st-emhead b{color:var(--sub);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;margin-right:7px}
  /* channel-authentic previews */
  .pvx-post{display:flex;gap:10px;padding:11px 16px;position:relative}
  .pvx-post:not(:last-child)::after{content:"";position:absolute;left:35px;top:50px;bottom:-3px;width:2px;background:var(--line)}
  .pvx-b{flex:1;min-width:0}
  .pvx-h{font-size:13px;color:var(--ink);font-weight:bold}
  .pvx-handle{color:var(--sub);font-weight:normal;font-size:12px}
  .pvx-t{font-size:14px;line-height:1.5;color:#14233b;margin:3px 0 7px;word-wrap:break-word}
  .pvx-t .tag{color:#1d9bf0;font-weight:600}
  .pvx-acts{display:flex;gap:36px;color:var(--sub);font-size:13px}
  .pvig-top{display:flex;align-items:center;gap:9px;padding:11px 14px}
  .pvig-top b{font-size:13px;color:var(--ink)}
  .pvig-img{height:340px;display:flex;align-items:center;justify-content:center;font-size:92px;font-weight:bold;color:rgba(255,255,255,.92);background:linear-gradient(135deg,var(--cc,#C13584),#5b1f44)}
  .pvig-acts{display:flex;gap:18px;padding:11px 14px 4px;font-size:19px}
  .pvig-cap{padding:2px 14px 16px;font-size:13.5px;line-height:1.5;color:#14233b}
  .pvig-cap b{color:var(--ink)} .pvig-cap .tag{color:#385898;font-weight:500}
  .pvem-head{padding:12px 18px;background:var(--card);border-bottom:1px solid var(--line)}
  .pvem-row{font-size:13px;color:var(--ink);padding:2px 0;display:flex;gap:10px}
  .pvem-row span{color:var(--sub);font-size:10px;text-transform:uppercase;letter-spacing:.4px;width:52px;flex:none;padding-top:3px}
  .pvbl-hero{padding:22px 26px 12px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,var(--card),var(--card))}
  .pvbl-hero h1{font-family:Georgia,serif;font-size:23px;color:var(--ink);margin:0 0 8px;line-height:1.25}
  .pvbl-by{font-size:12px;color:var(--sub)}
  .pvld-hero{padding:36px 28px;text-align:center;color:#fff;background:linear-gradient(135deg,var(--cc,var(--ok)),var(--ink))}
  .pvld-h{font-family:Georgia,serif;font-size:26px;font-weight:bold;line-height:1.22;margin-bottom:10px}
  .pvld-s{font-size:15px;opacity:.93;max-width:440px;margin:0 auto 18px;line-height:1.45}
  .pvld-cta{display:inline-block;background:var(--card);color:var(--ink);font-weight:bold;font-size:14px;padding:11px 26px;border-radius:30px}
  .pvad-top{display:flex;align-items:center;gap:9px;padding:12px 16px;border-bottom:1px solid var(--line)}
  .pvad-spon{font-size:10px;color:var(--sub)}
  .ctx-l{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-ink,var(--gold));font-weight:bold;margin:10px 0 4px}   /* gold ink where the palette sets it (gold, caribbean, daylight): 10px of the metal read 2.4:1 on white (STYLE 22 Oct 2026, board 9c16); classic keeps the metal */
  .ctx-ul{margin:0;padding-left:16px;font-size:12px;color:var(--sub);line-height:1.5}
  .ctx-in{width:100%;border:1px solid var(--line);border-radius:9px;padding:9px 11px;font:inherit;font-size:14px;line-height:1.4;resize:vertical}
  .ctx-mrow{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--sub);padding:3px 0;gap:8px}
  .ctx-x{border:none;background:none;color:var(--bad);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}
  .ctx-edit,.ctx-cancel{background:none;border:none;color:var(--gold);font-size:11px;cursor:pointer;padding:0;margin-top:10px;text-decoration:underline}
  .ctx-save{background:var(--gold);color:#1a1206;border:none;border-radius:6px;padding:5px 14px;font-weight:bold;cursor:pointer;font-size:12px;margin-right:10px}
  /* export row under copy-worthy answers */
  .exportrow{margin-top:12px;display:flex;gap:16px;font-size:11px}
  .exportrow a{color:var(--gold);cursor:pointer;border-bottom:1px dotted var(--gold)}
  .vsvg{margin:12px 0;max-width:100%;overflow:auto}
  .vsvg svg{max-width:100%;height:auto}
  .vmer{margin:12px 0;max-width:100%;overflow:auto;text-align:center}
  .vmer svg{max-width:100%;height:auto}
  .vmer pre{text-align:left;white-space:pre-wrap;font-size:12px;color:#5b5346;background:var(--bg);border-radius:8px;padding:10px;overflow:auto}
  .vimg{max-width:100%;height:auto;border-radius:8px;margin:10px 0;display:block;border:1px solid var(--line)}
  .emcard{border:1px solid var(--gold);border-radius:12px;background:var(--card);padding:14px 16px;margin:12px 0}
  /* the number card and the live call (docs/168) */
  .vy-card{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:12px 14px;margin:8px 0;max-width:420px}
  .vy-num{font-size:18px;margin:2px 0 4px}.vy-num a{color:var(--ink);text-decoration:none}
  .vy-line,.vy-src{font-size:12.5px;margin-top:2px}.vy-src a{color:inherit}
  .vy-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.vy-acts .st-act{min-height:44px}
  .vy-live{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0;padding:8px 12px;border-radius:10px}
  .em-h{font-weight:bold;color:var(--ink);font-size:14px;margin-bottom:8px}
  .em-h .em-sub{font-weight:normal;color:var(--sub);font-size:12px;margin-left:6px}
  .em-l{display:block;font-size:11px;letter-spacing:.4px;text-transform:uppercase;color:var(--sub);font-weight:bold;margin:8px 0 3px}
  .em-in{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 12px;font:inherit;font-size:14px;margin:0}
  textarea.em-in{resize:vertical;line-height:1.5}
  .em-act{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}
  .em-sent{color:var(--ok);font-weight:bold;font-size:14px}
  .calcard{border:1px solid var(--gold);border-radius:12px;background:var(--card);padding:14px 16px;margin:12px 0}
  .cal-ttl{font-weight:bold;color:var(--ink);font-size:15px;margin:2px 0 6px} .cal-line{font-size:13px;color:var(--ink);line-height:1.5;margin:2px 0} .cal-notes{color:var(--sub)}
  .ai .bubble a,.st-out a,.fbig a{color:var(--gold);text-decoration:underline;word-break:break-word}
  .ai .bubble .grid{border-collapse:collapse;width:100%;margin:10px 0;font-size:13px}
  .ai .bubble .grid th,.ai .bubble .grid td{border:1px solid var(--line);padding:6px 9px;text-align:left;vertical-align:top}
  .ai .bubble .grid th{background:var(--bg);color:var(--ink)}
  .ai .bubble ul.ml{margin:8px 0;padding-left:20px}
  .ai .bubble ul.ml li{margin:3px 0}
  .ai .bubble ol.steps{list-style:none;counter-reset:s;margin:12px 0;padding:0}
  .ai .bubble ol.steps li{counter-increment:s;position:relative;padding:0 0 14px 36px;line-height:1.5}
  .ai .bubble ol.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:23px;height:23px;border-radius:50%;background:var(--gold);color:#1a1206;font-size:12px;font-weight:bold;display:flex;align-items:center;justify-content:center}
  .ai .bubble ol.steps li:not(:last-child):after{content:"";position:absolute;left:11px;top:25px;bottom:0;width:2px;background:var(--line)}
  /* deliverable (studio) docs need the SAME rich list/step/table styling as chat bubbles */
  .st-doc ul.ml{margin:8px 0;padding-left:22px;list-style:disc}
  .st-doc ul.ml li{margin:4px 0;padding-left:3px}
  .st-doc ol.steps{list-style:none;counter-reset:s;margin:14px 0;padding:0}
  .st-doc ol.steps li{counter-increment:s;position:relative;padding:0 0 16px 38px;line-height:1.55}
  .st-doc ol.steps li:before{content:counter(s);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--cc,var(--gold));color:#1a1206;font-size:12px;font-weight:bold;display:flex;align-items:center;justify-content:center}
  .st-doc ol.steps li:not(:last-child):after{content:"";position:absolute;left:11px;top:26px;bottom:0;width:2px;background:var(--line)}
  .st-doc table.grid{border-collapse:collapse;width:100%;margin:12px 0;font-size:13.5px}
  .st-doc table.grid th{background:var(--navy);color:#fff;text-align:left;padding:8px 11px;font-size:12px}
  .st-doc table.grid td{border-bottom:1px solid var(--line);padding:8px 11px;vertical-align:top}
  .st-doc table.grid tr:nth-child(even) td{background:var(--card)}
  .st-doc h2,.st-doc h3{color:var(--ink);margin:16px 0 6px;font-size:16px}
  .st-doc p{margin:8px 0;line-height:1.6}
  /* dated career/event timeline */
  .tl{list-style:none;margin:14px 0;padding:0}
  .tl li{position:relative;padding:0 0 16px 96px;min-height:20px}
  .tl li:before{content:'';position:absolute;left:78px;top:4px;width:11px;height:11px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px rgba(205,162,58,.2);z-index:1}
  .tl li:after{content:'';position:absolute;left:83px;top:13px;bottom:0;width:2px;background:var(--line)}
  .tl li:last-child:after{display:none}
  .tl li.cur:before{background:var(--ok);box-shadow:0 0 0 3px rgba(46,158,91,.25)}
  .tl-yr{position:absolute;left:0;top:1px;width:70px;text-align:right;font-size:11.5px;font-weight:bold;color:#b07d12}
  .tl-txt{font-size:14px;color:#26313f;line-height:1.5}
  .ai .bubble .tl-txt{font-size:13.5px}
  details.more{margin:9px 0;border:1px solid var(--line);border-radius:8px;padding:7px 11px;background:var(--card)}
  details.more summary{cursor:pointer;color:var(--gold);font-size:13px;font-weight:bold}
  details.more .more-b{margin-top:8px}
  /* main-screen Memory panel */
  .mempanel{max-width:1180px;margin:0}
  @media(max-width:760px){ .mempanel,.st-wrap{max-width:100%} .st-out{padding:14px 14px} .st-doc{padding:16px 15px} .st-doc table.grid,.ai .bubble .grid{display:block;overflow-x:auto;white-space:nowrap;max-width:100%} .st-doc pre,.ai .bubble pre,.st-doc code,.ai .bubble code{white-space:pre-wrap;word-break:break-word;max-width:100%} .vmer,.vsvg,.tblwrap{max-width:100%;overflow-x:auto} .st-doc img,.ai .bubble img,.vimg{max-width:100%;height:auto} }
  .mem-h{display:flex;justify-content:space-between;align-items:center;margin:4px 0 2px}
  .mem-h h2{font-family:Georgia,serif;color:var(--ink);font-size:21px;margin:0}
  /* Close wears one colour everywhere (John 27 Oct 2026, FEEDBACK board b479: "Always have a close button colour so that it's easier to
     be able to see something, maybe light blue"): docs/205's sapphire on a light sapphire fill (a 12% mix), 44 px high, 4.5:1 and up
     in every look, light and dark (Switchboard is always dark). Every panel header's exit pill and the job row's Close (class
     close-pill, main/42). The row's selector carries two always-true :not()s (0,4,2) to sit over the looks' plain-button rules
     (09 body .st-act:not(.prim) 0,2,1; 11 html[data-profile] body .st-act:not(.prim) 0,3,2). test/close-pill.test.cjs measures it from the
     served stylesheet. */
  :root{--close-ink:#1B4380;--close-fill:#E4E8F0}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--close-ink:#93B3EC;--close-fill:#212D42} }
  :root[data-theme="dark"],html[data-profile="operations"]:not([data-theme="-"]){--close-ink:#93B3EC;--close-fill:#212D42}
  .mem-h .ctx-cancel,html:not([data-theme="-"]):not([data-profile="-"]) body .st-act.close-pill{box-shadow:none;background:var(--close-fill);border:1px solid var(--close-ink);border-radius:999px;color:var(--close-ink);font-size:13.5px;font-weight:700;text-decoration:none;padding:0 16px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;margin-top:0;line-height:1;flex:none}
  .mem-h .ctx-cancel:hover,html:not([data-theme="-"]):not([data-profile="-"]) body .st-act.close-pill:hover{background:var(--close-ink);color:var(--close-fill)}
  .flow-back{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:999px!important;color:var(--ink)!important;font-weight:600!important;padding:8px 16px!important;margin-top:10px!important}
  .flow-back:hover{border-color:var(--gold)!important;color:var(--gold)!important}
  .mempanel .ctx-in{margin-bottom:12px}
  .mem-mrow{display:flex;gap:8px;align-items:center;margin-bottom:6px}
  .mem-mrow .ctx-in{margin-bottom:0;flex:1}
  .mem-doc{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:9px 11px;margin-bottom:8px}
  body.mem-open .composer{display:none}
  #panelDock{display:none;position:fixed;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:46;flex-direction:column;gap:8px;align-items:flex-end}
  body.mem-open #panelDock{display:flex}
  body.flow-on #panelDock{display:none}
  /* on a phone the dock is two small round icons, so it does not sit over what the owner is reading */
  @media (max-width:600px){ #panelDock button{width:46px;height:46px;padding:0;border-radius:50%;font-size:18px;opacity:.9} #panelDock button span{display:none} }
  body:has(.st-bar) #panelDock{display:none}
  #panelDock button{background:var(--navy);color:#fff;border:1px solid var(--gold);border-radius:999px;padding:8px 13px;font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;box-shadow:0 6px 18px rgba(15,30,50,.28);opacity:.96}
  #panelDock button:active{transform:scale(.97)}
  body.mem-open .mempanel{padding-bottom:128px}
  .st-addrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:8px}
  .st-addrow .st-act{font-weight:700}
  .st-chip.pend{opacity:.75;font-style:italic}
  /* The chat composer (2026-10-02). The message box has its own full-width row; the three actions and Send sit in a
     row under it, where a thumb reaches them. Before this the box shared one row with three icon buttons and Send, and
     on a 390px phone it was 119px wide: 13 characters to a line, in 15px type (under 16px, so iOS zoomed the page).
     The box grows from two lines to six, then scrolls: its limits are the min-height / max-height on #box below and
     autoGrowBox() reads them from here, so change them here only. composerRoom() publishes the composer's real height
     as --cmp, and the thread's bottom padding and "Jump to latest" follow it, so a taller box never covers the thread. */
  .composer{position:fixed;bottom:0;left:0;right:0;background:color-mix(in srgb,var(--bg) 96%,transparent);border-top:1px solid var(--line);padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
  .composer .inner{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid #cdd5e1;border-radius:18px;padding:6px 8px 8px;box-shadow:0 1px 4px rgba(15,30,50,.06);transition:border-color .15s,box-shadow .15s}
  .composer .inner:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,154,46,.22)}
  #box{display:block;flex:none;width:100%;min-height:59px;max-height:152px;margin:0;padding:8px 8px 4px;border:none;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:16px;line-height:1.45;resize:none;overflow-y:hidden;outline:none}
  .cmp-row{display:flex;align-items:center;gap:6px;min-width:0}
  #thread{padding-bottom:max(0px,calc(var(--cmp,170px) - 100px))}
  body.rec-on #thread,body.pc-playing #thread{padding-bottom:calc(var(--cmp,170px) - 46px)}
  body.rec-on .jumpend,body.pc-playing .jumpend{bottom:calc(var(--cmp,170px) + 66px)}
  /* desktop: chat uses the width, composer aligns past the sticky rail */
  @media(min-width:881px){ .composer{left:248px} }
  /* mobile: rail becomes a slide-in drawer so the chat is primary */
  @media(max-width:880px){
    .menubtn{display:inline-block}
    .cols{flex-direction:column}
    .cols .wrap{width:100%;align-self:stretch}
    .suggest{position:fixed;top:0;left:0;bottom:0;width:86%;max-width:320px;z-index:70;transform:translateX(-100%);transition:transform .22s ease;border-right:1px solid var(--line);box-shadow:6px 0 40px rgba(0,0,0,.35);padding:18px 14px 40px;max-height:none;overflow-y:auto}
    .suggest.open{transform:translateX(0)}
  }
  /* Every box an owner types into (2026-10-02). The rule that stood here had no class: `textarea` with a height of
     48px, a max-height of 160px and resize off. It was written for the chat box and pinned EVERY textarea in the app to
     one line whatever its rows said (bills paste box, trip notes, Ask Jasmine; the task goal box was patched round it in
     03e7f71). So: no rule here gives a textarea a pixel height. Size comes from rows, min-height and the owner dragging it.
     Most screens style their inputs inline, which beats a stylesheet, so the two things that must hold everywhere are
     the only !important below: 16px type on touch screens (under 16px iOS zooms the page on focus) and a 44px tap height. */
  textarea{flex:1;min-height:72px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px;line-height:1.45;resize:vertical}
  ::placeholder{color:#6b7486;opacity:1}
  textarea:focus,select:focus,input:not([type]):focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=url]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=date]:focus,input[type=time]:focus{outline:2px solid rgba(201,154,46,.65);outline-offset:1px;border-color:var(--gold)}
  #box:focus{outline:none}
  @media (pointer:coarse),(max-width:880px){
    textarea,select,input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=time]{font-size:16px!important}
    select,input:not([type]),input[type=text],input[type=email],input[type=password],input[type=search],input[type=url],input[type=tel],input[type=number],input[type=date],input[type=time]{min-height:44px!important}
  }
  .send{flex:0 0 auto;margin-left:auto;height:44px;min-width:84px;padding:0 20px;background:var(--navy);color:var(--cream);border:none;border-radius:22px;font:inherit;font-size:15px;font-weight:bold;cursor:pointer}
  .send:hover{background:#d6a738}
  .attach{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;height:44px;min-width:44px;padding:0 11px;background:var(--bg);border:1px solid transparent;border-radius:22px;font:inherit;font-size:13px;font-weight:600;line-height:1;white-space:nowrap;color:var(--ink);cursor:pointer}
  .attach .cmp-ic{font-size:18px;line-height:1}
  .attach:hover{border-color:var(--gold)}
  .attach:active{background:var(--bg)}
  .attach:focus-visible,.send:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
  .send:disabled{opacity:.5;cursor:default}
  @media(max-width:440px){ .cmp-row{gap:4px} .attach{padding:0 9px;gap:4px} .send{min-width:72px;padding:0 16px} }
  @media(max-width:379px){ .attach{width:44px;padding:0} .attach .cmp-lb{display:none} }
  /* the + menu (Photo / File / Record a meeting) sits above the row; the mic is round-ish with its word; Send stays gold */
  .composer .inner{position:relative}
  .cmp-round{width:44px;padding:0;border-radius:22px;border-color:var(--line)}
  .cmp-pop{display:none;position:absolute;left:0;bottom:calc(100% + 8px);z-index:6;flex-direction:column;gap:2px;min-width:220px;padding:6px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(15,30,50,.18)}
  .cmp-pop.open{display:flex}
  .cmp-pop .attach{width:100%;justify-content:flex-start;height:44px;padding:0 12px;border-radius:10px;background:transparent}
  .cmp-pop .attach:hover,.cmp-pop .attach:focus-visible{background:var(--bg)}
  .cmp-pop .attach .cmp-lb{display:inline;font-size:15px}
  .cmp-pop .cmp-hint{font-size:12px;line-height:1.3;color:var(--sub);padding:4px 12px 6px;border-top:1px solid var(--line);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* the chat bar's Talk: the simple-mode button in small - gold, round-ended, the same soft glow (owner, 2026-10-04) */
  #talkBtn{gap:6px;background:var(--card,#fff);color:var(--ink,#0F1E32);border:1px solid var(--line,#E6E1D6);border-radius:22px;padding:0 14px;font-weight:700}#talkBtn .ic{color:var(--ink,#0F1E32)}   /* no idle glow (release review CL-05): the one gold glow is the 'do this next' cue */
  #talkBtn.holding{background:var(--bad-tint);border-color:var(--bad);color:var(--bad)}
  @media(max-width:379px){ #talkBtn{width:auto;padding:0 11px} #talkBtn .cmp-lb{display:inline} }
  /* recording: the button says so in words and shape, not colour alone. body.rec-on is set once the microphone is live;
     the Stop button in the bar is disabled while the notes are being written, and then this is "Record" again. */
  #recBtn .cmp-on{display:none}
  #recBtn .cmp-sq{width:12px;height:12px;border-radius:2px;background:var(--bad)}
  body.rec-on:has(#recStop:not(:disabled)) #recBtn{width:auto;padding:0 11px;background:var(--bad-tint);border-color:var(--bad);color:var(--bad)}
  body.rec-on:has(#recStop:not(:disabled)) #recBtn .cmp-off{display:none}
  body.rec-on:has(#recStop:not(:disabled)) #recBtn .cmp-on{display:inline-block}
  .hint{color:var(--sub);font-size:12px;line-height:1.35;text-align:center;margin:6px 0 0}
  /* the hint is for an empty box at rest: it goes once they type, and on a phone once they tap in */
  .composer.typing .hint{display:none}
  @media(max-width:700px){ .composer:focus-within .hint{display:none} }
  /* a short screen is a phone with its keyboard up (or on its side): one line to start, four at most, no hint */
  @media(max-height:560px){ .composer{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px))} #box{min-height:36px;max-height:106px} .composer .hint{display:none} }
  /* login */
  .gate{position:fixed;inset:0;background:var(--navy);display:flex;align-items:center;justify-content:center;z-index:50}
  /* While the landing page (the gate) is showing, the signed-in app's top bar must not exist. It sat ABOVE the gate
     (z-index 60 over 50), so every signed-out visitor saw a menu button and a profile button that open nothing
     before login, and the real "Sign in" and "Start free" in the marketing nav were covered by it. */
  #gate:not(.hidden) ~ .topbar{display:none}
  /* During set-up ("Add your website") the side menu has not been built yet, so its button opened an empty drawer over
     a dimmed screen. It appears once they are in the app. The profile menu (sign out, settings) stays. */
  #onb:not(.hidden) ~ .topbar #menuBtn{display:none}
  #gate{flex-direction:column;justify-content:flex-start;align-items:center;gap:24px;overflow-y:auto;padding:46px 16px}
  .lead-hero{width:100%;max-width:940px;text-align:center;margin-bottom:4px}
  .lh-eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);font-weight:bold;margin-bottom:14px}
  .lh-h1{font-family:Georgia,serif;font-weight:700;font-size:clamp(30px,4.6vw,50px);line-height:1.08;color:#fff;margin:0 auto 16px;max-width:17ch}
  .lh-h1 .g{color:var(--gold)}
  .lh-sub{font-family:Arial,Helvetica,sans-serif;color:#c7d2e0;font-size:clamp(15px,1.6vw,18px);line-height:1.55;max-width:700px;margin:0 auto 20px}
  .lh-sub b{color:#fff}
  .lh-pills{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
  .lh-pill{font-family:Arial,Helvetica,sans-serif;background:rgba(201,154,46,.12);border:1px solid rgba(201,154,46,.4);color:#e9d9b0;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600}
  .hero{display:flex;gap:22px;align-items:stretch;justify-content:center;width:100%;max-width:940px;flex-wrap:wrap}
  .hero .card{flex:1 1 320px;max-width:420px;width:auto}
  .hero .distrib{flex:1 1 360px;margin-top:0;display:flex;flex-direction:column;text-align:left}
  .hero .distrib .price-h{text-align:left}
  .hero .distrib .distrib-card{max-width:none;margin:0;flex:1}
  .lvwrap{width:760px;max-width:92%;text-align:center}
  .lvideo{width:100%;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.45);display:block;background:#000}
  .lvcap{color:#c7d2e0;font-family:Arial,sans-serif;font-size:13px;margin-top:10px;letter-spacing:.3px}
  .feat{width:980px;max-width:92%;margin:8px auto 10px;text-align:center;font-family:Arial,Helvetica,sans-serif}
  .feat-h{color:#fff;font-family:Georgia,serif;font-size:27px;font-weight:700;line-height:1.2;margin-bottom:8px}
  .feat-sub{color:#c7d2e0;font-size:14px;line-height:1.5;max-width:620px;margin:0 auto 22px}
  .feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:left}
  .feat-card{background:rgba(255,255,255,.04);border:1px solid rgba(205,162,58,.22);border-radius:12px;padding:15px 15px 16px}
  .feat-card .fc-i{font-size:22px;margin-bottom:8px}
  .feat-card b{display:block;color:#fff;font-size:14px;margin-bottom:5px}
  .feat-card span{display:block;color:#9fb0c4;font-size:12.5px;line-height:1.5}
  .price{margin-top:30px}
  .price-h{color:#fff;font-family:Georgia,serif;font-size:21px;font-weight:700;margin-bottom:12px}
  .price-card{display:inline-block;background:rgba(205,162,58,.08);border:1px solid rgba(205,162,58,.35);border-radius:14px;padding:22px 30px;text-align:center}
  .price-amt{color:#fff;font-size:40px;font-weight:800;font-family:Arial,sans-serif} .price-amt span{font-size:17px;color:#9fb0c4;font-weight:600}
  .price-for{color:#cda23a;font-weight:700;font-size:14px;margin-top:4px}
  .price-extra{color:#c7d2e0;font-size:13.5px;margin-top:8px}
  .price-guar{color:#7fd0a0;font-size:13px;margin-top:14px;max-width:380px}
  .feat-foot{color:#8a98aa;font-size:12.5px;margin-top:24px}
  .distrib{margin-top:30px}
  .distrib-card{background:rgba(205,162,58,.08);border:1px solid rgba(205,162,58,.35);border-radius:14px;padding:22px 24px;max-width:520px;margin:0 auto;text-align:left}
  .distrib-pitch{color:#dfe6ef;font-size:14px;line-height:1.5;margin-bottom:14px}
  .distrib-pitch b{color:var(--gold)}
  .dz-spots{background:rgba(205,162,58,.18);border:1px solid var(--gold);border-radius:8px;padding:9px 12px;color:#fff;font-size:13.5px;font-weight:600;margin-bottom:12px}
  .dz-in{width:100%;padding:11px 12px;border:1px solid rgba(255,255,255,.2);border-radius:8px;font:inherit;margin-bottom:9px;background:rgba(255,255,255,.06);color:#fff}
  .dz-in::placeholder{color:#9fb0c4}
  textarea.dz-in{min-height:66px;resize:vertical}
  .dz-btn{background:var(--gold);color:#1a1206;border:none;border-radius:8px;padding:11px 22px;font-weight:bold;cursor:pointer}
  .dz-ok{color:#7fd0a0;font-size:14px;line-height:1.5}
  .lgl{margin-top:12px;font-size:12px;color:#6b7a8c} .lgl a{color:#9fb0c4;text-decoration:none} .lgl a:hover{color:#cda23a}
  @media(max-width:880px){ .feat-grid{grid-template-columns:repeat(2,1fr)} .feat-h{font-size:23px} }
  @media(max-width:480px){ .feat-grid{grid-template-columns:1fr} }
  .card{background:var(--card);border-radius:10px;padding:30px 28px;width:340px;max-width:90%;box-shadow:0 20px 60px rgba(0,0,0,.4)}
  .card .brand{display:block;margin-bottom:6px}
  .card h1{font-family:Georgia,serif;font-size:20px;color:var(--ink);margin:0 0 4px}
  .card p{color:var(--sub);font-size:13px;margin:0 0 18px}
  .card input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:8px;font:inherit;margin-bottom:10px}
  .remember{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--sub);margin:0 0 14px;cursor:pointer}
  .remember input{width:auto;margin:0;padding:0}
  .card button{width:100%;background:var(--gold);color:#1a1206;border:none;border-radius:8px;padding:12px;font-weight:bold;cursor:pointer;font-size:15px}
  @keyframes ctaGlow{0%,100%{box-shadow:0 0 0 0 rgba(201,154,46,.35)}50%{box-shadow:0 0 22px 4px rgba(201,154,46,.62)}}
  #login.glow{animation:ctaGlow 2s ease-in-out infinite}
  /* glimmer the email box so the eye lands on where to type first */
  @keyframes inGlow{0%,100%{box-shadow:0 0 0 0 rgba(201,154,46,.22)}50%{box-shadow:0 0 17px 3px rgba(201,154,46,.55)}}
  #u.glow-in{border-color:var(--gold);animation:inGlow 1.9s ease-in-out infinite}
  #u.glow-in:focus{outline:none;border-color:var(--gold)}
  @media (prefers-reduced-motion:reduce){#login.glow,#u.glow-in{animation:none}}
  .err{color:var(--bad);font-size:13px;min-height:18px;margin-top:4px}
  .auth-alt{font-size:13px;color:var(--sub);margin-top:12px;text-align:center}
  .auth-legal{font-size:12.5px;line-height:1.45;color:var(--sub);margin:10px 0 0;text-align:center}
  .auth-legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}
  .ck-bar{position:fixed;left:0;right:0;bottom:0;z-index:300;display:flex;flex-direction:column;gap:8px;background:var(--card);color:var(--ink);border-top:1px solid var(--line);box-shadow:0 -14px 30px -24px rgba(15,30,50,.55);padding:10px 16px max(10px,env(safe-area-inset-bottom,0px));font-size:13px;line-height:1.4;transition:transform .3s ease,visibility 0s}
  .ck-bar p{margin:0}
  .ck-bar a{color:inherit}
  .ck-bar .ck-row{display:flex;gap:10px}
  .ck-bar .ck-btn{flex:1 1 0;min-height:44px;padding:0 18px;border-radius:3px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;border:1px solid var(--navy);background:var(--card);color:var(--ink)}
  .ck-bar.ck-away{transform:translateY(calc(100% + 24px));visibility:hidden;transition:transform .3s ease,visibility 0s .3s}   /* away while it would cover the door's panel (boot/02-icon.js); hidden, so a Tab never lands on it off screen */
  @media (min-width:761px){ .ck-bar{left:16px;right:auto;bottom:16px;max-width:min(680px,calc(100vw - 312px));flex-direction:row;align-items:center;gap:14px;border:1px solid var(--line);border-radius:4px;padding:10px 12px 10px 16px;box-shadow:0 18px 40px -20px rgba(15,30,50,.5)} .ck-bar p{flex:1 1 auto} .ck-bar .ck-btn{flex:none;min-width:100px} }   /* bottom-left: her docked card keeps the bottom-right */
  @media (prefers-reduced-motion:reduce){ .ck-bar,.ck-bar.ck-away{transition:none} }
  @media print{.ck-bar{display:none}}
  .auth-alt a{color:var(--accent,var(--bad));font-weight:600;text-decoration:none}
  .auth-alt a:hover{text-decoration:underline}
  .hidden{display:none}

  /* ============ The landing page (2026-10-03, docs/62-landing-page.md) ============
     A look that is ours: Fraunces for display (a soft, slightly wonky serif that reads as print, not as a template),
     Public Sans for everything else (a quiet grotesk made for plain language). Navy, gold and cream stay the brand;
     terracotta is the one accent, used sparingly (the kicker, the "Example" tag, a rule, a hover). Paper, not glass:
     a faint ruled texture and a grain, both CSS. Left-aligned, generous, nothing rounded for its own sake, no emoji,
     icons only from the sprite. Every colour below is a page token or one of the three fixed landing tokens, so dark
     mode follows the token pattern of section 55 - the navy bands stay navy in both. */
  .ghgate{padding:0!important;gap:0!important;align-items:stretch!important;background:var(--bg)!important;display:block!important}
  .ghgate.hidden{display:none!important}   /* signed in: the landing must go (v383 kept it over the app) */
  .ghgate *{box-sizing:border-box}
  /* THE LIGHT PAGE (CEO 17 Oct 2026: "background goes light background and so modern elegant"): the bands that were navy are now a
     deeper cream on the same tokens, so every section reads light; the kicker in a band is the accent, not gold-on-cream. */
  .ghgate,#signin{--paper:var(--bg);--soft:var(--sub);--rule:var(--line);--acc:#1B4380;--acc-tint:rgba(27,67,128,.10);--band:var(--card);--band-ink:var(--ink);--band-soft:var(--sub);--band-rule:var(--line);--grain:rgba(15,30,50,.07);--ruled:rgba(15,30,50,.075);
    --ff-d:'Fraunces',Georgia,'Times New Roman',serif;--ff-b:'Public Sans',ui-sans-serif,system-ui,Helvetica,Arial,sans-serif}
  .ghgate .ghex .gh-kicker,.ghgate .ghprice .gh-kicker{color:var(--acc)}
  .ghgate .ghex{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .ghgate .ghprice .gh-cta{background:var(--navy);border-color:var(--navy);color:#fff}
  .ghgate .ghprice .gh-cta:hover{background:var(--acc);border-color:var(--acc)}
  .ghgate .ghprice-card{background:var(--paper)}
  .ghgate .ghfoot{background:var(--paper)}
  .ghgate .ghfoot .lgl a:hover{color:var(--acc)}
  .ghgate .ghdoor-langs-list li{background:var(--paper)}
  .ghgate .ghdoor-plans-sec .ghdoor-plans{margin:0 auto;max-width:720px}
  .ghgate .ghdoor-plans-sec .ghdoor-plans ul{display:grid;grid-template-columns:1fr;gap:0 24px}
  @media (min-width:700px){ .ghgate .ghdoor-plans-sec .ghdoor-plans ul{grid-template-columns:1fr 1fr 1fr} .ghgate .ghdoor-plans-sec .ghdoor-plans li{border-bottom:0;border-right:1px solid var(--rule);padding-right:18px} .ghgate .ghdoor-plans-sec .ghdoor-plans li:last-child{border-right:0} }
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ghgate,:root:not([data-theme="light"]) #signin{--acc:#6EA2FF;--acc-tint:rgba(110,162,255,.16);--grain:rgba(233,238,245,.05);--ruled:rgba(233,238,245,.07)} }
  :root[data-theme="dark"] .ghgate,:root[data-theme="dark"] #signin{--acc:#6EA2FF;--acc-tint:rgba(110,162,255,.16);--grain:rgba(233,238,245,.05);--ruled:rgba(233,238,245,.07)}
  .ghgate{font-family:var(--ff-b);color:var(--ink);font-optical-sizing:auto;-webkit-font-smoothing:antialiased}
  .ghgate section[id]{scroll-margin-top:72px}
  /* in dark, a navy button sits on a near-navy page: gold on navy is the brand there (section 55). Not on the door: it stays light in dark
     mode (13-jasmine.css), so its presses keep their light colours; :where keeps the rule's weight as it was */
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ghgate .ghnav-cta,:root:not([data-theme="light"]) .ghgate .gh-cta:not(:where(.jd *)),:root:not([data-theme="light"]) .ghgate .ghcard button,:root:not([data-theme="light"]) .ghgate .dz-btn{background:var(--gold);border-color:var(--gold);color:#1a1206!important} }
  :root[data-theme="dark"] .ghgate .ghnav-cta,:root[data-theme="dark"] .ghgate .gh-cta:not(:where(.jd *)),:root[data-theme="dark"] .ghgate .ghcard button,:root[data-theme="dark"] .ghgate .dz-btn{background:var(--gold);border-color:var(--gold);color:#1a1206!important}
  /* paper: a grain on every cream section, ruled lines on the hero and the start section */
  .gh-paper{background-color:var(--paper);background-image:radial-gradient(var(--grain) .55px,transparent .75px);background-size:4px 4px}
  .gh-ruled{background-image:repeating-linear-gradient(180deg,transparent 0 31px,var(--ruled) 31px 32px),radial-gradient(var(--grain) .55px,transparent .75px);background-size:auto,4px 4px}
  .ghwrap{width:100%;max-width:1180px;margin:0 auto;padding:0 20px}
  /* nav: sticky, on paper, a rule beneath; plain words, no uppercase tracking */
  .ghnav{position:sticky;top:0;z-index:6;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:var(--paper);border-bottom:1px solid var(--rule)}
  .ghbrand{font-family:var(--ff-d);font-weight:600;letter-spacing:.14em;font-size:19px;color:var(--ink);line-height:1;text-decoration:none}
  .ghbrand-y{display:flex;align-items:center;gap:10px}.ybrand{width:30px;height:30px;border-radius:7px;flex:none;display:block}.brandbtn .ybrand{width:22px;height:22px;border-radius:5px;display:inline-block;vertical-align:middle;margin:-3px 8px 0 0}
  .ghbrand span{display:block;font-family:var(--ff-b);font-weight:500;letter-spacing:.04em;font-size:11px;color:var(--soft);margin-top:4px;text-transform:none}
  /* YesBusiness: the mark + the wordmark (docs/86). .ybw outranks the old '.ghbrand span' rules. */
  .ghbrand{display:inline-flex;align-items:center;gap:10px;letter-spacing:.01em}
  .ghbrand .ybmark{width:30px;height:30px;flex:none;border-radius:8px}
  .ghbrand .ybw{display:block;font-family:var(--ff-d);font-weight:600;letter-spacing:.01em;font-size:20px;color:inherit;margin:0;text-transform:none;line-height:1}
  .ghbrand .ybw i{display:block;font-style:normal;font-family:var(--ff-b);font-weight:500;letter-spacing:.02em;font-size:11px;color:var(--soft);margin-top:4px}
  .brandbtn{display:inline-flex;align-items:center;gap:8px;letter-spacing:.02em;text-transform:none;font-size:16px}
  .brandbtn .ybmark{width:26px;height:26px;flex:none;border-radius:7px}
  .brandbtn .ybw{font-family:var(--ff-d,Georgia,serif);font-weight:600}
  @media(max-width:640px){.brandbtn .ybw{display:none}.brandbtn{padding:4px}}
  @media(max-width:400px){.ghbrand .ybw{font-size:14.5px}.ghbrand .ybmark{width:22px;height:22px}.ghbrand{gap:6px}}
  .ghnavlinks{display:flex;align-items:center;gap:22px}
  .ghnav-tabs{display:contents}
  .ghnavlinks a{font-family:var(--ff-b);font-size:14px;color:var(--ink);text-decoration:none;font-weight:500;line-height:1}
  .ghnavlinks a:hover{color:var(--acc)}
  .ghnav-burger{display:none;background:none;border:1px solid var(--rule);color:var(--ink);border-radius:2px;width:44px;height:44px;font-size:18px;line-height:1;cursor:pointer;align-items:center;justify-content:center}
  /* the Android app in the top bar (John 25 Oct 2026 "should it be top ribbon bar"): a plain link beside Sign in on a wide screen, the last row of the burger menu on a phone; hidden in the store app (data-store-hide) */
  .ghnav-app{display:inline-flex;align-items:center;min-height:44px}
  .ghnav-app-menu{display:none}
  /* the Google Play mark people know (John 25 Oct 2026 "use the appropriate icon people know to download it"): the four-colour triangle before the words, in the bar and in the phone menu's row */
  .ghnav-app .gp,.ghnav-app-menu .gp{width:18px;height:18px;margin-right:8px;flex:none;vertical-align:-3px}
  .ghnavlinks a.ghnav-app-menu{align-items:center}
  .ghnav-signin{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:2px;color:var(--ink)}
  .ghnav-signin:hover{border-color:var(--acc);color:var(--acc)}
  .ghnav-cta{display:inline-flex;align-items:center;min-height:44px;background:var(--navy);color:#fff!important;padding:0 18px;border-radius:2px;font-weight:600}
  .ghnav-cta:hover{background:var(--ink);color:var(--card)!important}
  /* hero: left-aligned, on ruled paper; the film beside it on a wide screen, under it on a phone */
  .ghhero{position:relative;padding:40px 20px 36px}
  .ghhero-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:30px}
  .ghhero-txt{max-width:640px}
  .gh-eyebrow{font-family:var(--ff-b);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:600;margin-bottom:22px}
  .gh-pt{font-family:var(--ff-d);font-style:italic;font-weight:400;font-size:clamp(17px,2vw,21px);color:var(--soft);margin-bottom:6px}
  .gh-h1{font-family:var(--ff-d);font-weight:500;font-size:clamp(42px,9vw,86px);line-height:.98;letter-spacing:-.02em;color:var(--ink);margin:0 0 18px}
  .gh-h1 em{font-style:italic;font-weight:400;color:var(--ink);text-decoration:underline;text-decoration-color:var(--acc);text-decoration-thickness:3px;text-underline-offset:.08em}
  .gh-pb{font-family:var(--ff-d);font-style:italic;font-weight:400;font-size:clamp(20px,2.6vw,27px);line-height:1.3;color:var(--ink);margin-bottom:18px}
  .gh-lead{font-family:var(--ff-b);font-size:16.5px;line-height:1.55;color:var(--soft);max-width:560px;margin:0 0 26px}
  .gh-lead b{color:var(--ink);font-weight:600}
  .gh-ctas{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
  .gh-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;background:var(--navy);color:#fff;font-family:var(--ff-b);font-weight:600;font-size:15.5px;padding:0 26px;border-radius:2px;text-decoration:none;border:1px solid var(--navy);transition:background var(--press-ms) var(--ease),color var(--press-ms) var(--ease)}
  .gh-cta:hover{background:var(--acc);border-color:var(--acc);color:#fff}
  .gh-link{display:inline-flex;align-items:center;min-height:44px;font-family:var(--ff-b);font-size:15px;font-weight:500;color:var(--ink);text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px;cursor:pointer}
  .gh-link:hover{text-decoration-color:var(--acc);color:var(--acc)}
  .gh-micro{margin-top:22px;font-family:var(--ff-b);font-size:13px;line-height:1.5;color:var(--soft)}
  /* The film plays on the page (silent, looping); a tap opens the full player with sound. */
  .ghhero-vid{margin-top:4px}
  .gh-vid{position:relative;width:100%;max-width:620px;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:var(--navy);border:1px solid var(--rule);box-shadow:0 1px 0 var(--rule),0 24px 50px -30px rgba(15,30,50,.55);cursor:pointer}
  .gh-vid video{display:block;width:100%;height:100%;object-fit:cover}
  .gh-vid-btn{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:9px;min-height:44px;font-family:var(--ff-b);font-size:13px;font-weight:600;color:#fff;background:rgba(15,30,50,.78);border:1px solid rgba(255,255,255,.55);border-radius:2px;padding:0 14px 0 10px;cursor:pointer}
  .gh-vid-btn:hover{background:rgba(15,30,50,.95);border-color:#fff}
  .gh-vid-btn .pl{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--gold);color:#1a1206}
  .gh-vid-btn .pl .ic{width:12px;height:12px;stroke-width:2.4;fill:currentColor;vertical-align:0;margin-left:1px}
  .gh-vid-exp{position:absolute;right:10px;top:10px;width:44px;height:44px;border-radius:2px;background:rgba(15,30,50,.78);border:1px solid rgba(255,255,255,.55);color:#fff;font-size:18px;line-height:1;cursor:pointer}
  .gh-vid-exp:hover{background:rgba(15,30,50,.95);border-color:#fff}
  .gh-vid-cap{margin-top:10px;font-family:var(--ff-b);font-size:12.5px;color:var(--soft)}
  @media (min-width:1040px){
    .ghhero{padding:64px 24px 56px}
    .ghhero-in{grid-template-columns:1.05fr .95fr;gap:56px;align-items:end}
    .ghhero-vid{margin-top:0;justify-self:end;width:100%}
    .gh-vid{max-width:none}
  }
  #film{position:fixed;inset:0;z-index:130;display:none;background:rgba(10,14,22,.92);align-items:center;justify-content:center;padding:28px}
  #film.on{display:flex}
  #film video{width:min(980px,94vw);max-height:86vh;border-radius:4px;box-shadow:0 30px 90px rgba(0,0,0,.6);background:#000}
  #filmClose{position:absolute;top:14px;right:20px;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:32px;line-height:1;text-decoration:none;opacity:.85;cursor:pointer}
  #filmClose:hover{opacity:1}
  /* shared section bits */
  .gh-kicker{font-family:var(--ff-b);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);font-weight:600;margin-bottom:14px}
  .ghgate h2{font-family:var(--ff-d);font-weight:500;font-size:clamp(30px,4.4vw,50px);line-height:1.04;letter-spacing:-.015em;color:var(--ink);margin:0}
  .gh-sec{padding:64px 20px}
  .gh-sec-h{max-width:1180px;margin:0 auto 28px}
  .gh-sec-p{font-family:var(--ff-b);font-size:16px;line-height:1.55;color:var(--soft);max-width:600px;margin:14px 0 0}
  /* ===== Jobs like these, every day: the examples strip. On a phone it scrolls sideways under the thumb (snap);
     on a wide screen it drifts by itself, pauses under the pointer or a focused card, and stands still for anyone who
     asked for less motion. The cards are EXAMPLES and say so - never a customer, never a figure we claim. */
  .ghex{background:var(--band);color:var(--band-ink);padding:56px 0 60px;overflow:hidden}
  .ghex .gh-kicker{color:var(--gold)}
  .ghex h2{color:var(--band-ink)}
  .ghex .gh-sec-p{color:var(--band-soft)}
  .ghex-h{max-width:1180px;margin:0 auto 30px;padding:0 20px}
  .ghex-note{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-family:var(--ff-b);font-size:12.5px;color:var(--band-soft);border:1px solid var(--band-rule);border-radius:2px;padding:7px 11px}
  .ghex-note .ic{width:16px;height:16px;color:var(--gold)}
  .ghex-track{width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding:0 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 0 10px}
  .ghex-track::-webkit-scrollbar{display:none}
  .ghex-list{list-style:none;margin:0;padding:0 20px;display:flex;width:max-content}
  .ghex-list li{scroll-snap-align:start;margin-right:14px;flex:none}
  .ex-dup{display:none}
  .ex-card{display:flex;flex-direction:column;gap:10px;width:min(80vw,312px);min-height:100%;background:var(--card);color:var(--ink);text-decoration:none;border-radius:3px;border:1px solid var(--rule);border-top:3px solid var(--gold);padding:14px 16px 14px;position:relative;transition:transform var(--press-ms) var(--ease),border-color var(--press-ms) var(--ease)}
  .ex-card:hover,.ex-card:focus-visible{border-top-color:var(--acc);outline:none;transform:translateY(-2px)}
  .ex-card:focus-visible{box-shadow:0 0 0 3px var(--acc-tint)}
  .ex-tag{font-family:var(--ff-b);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--acc)}
  .ex-ask{font-family:var(--ff-d);font-style:italic;font-weight:400;font-size:19px;line-height:1.28;color:var(--ink);letter-spacing:-.005em}
  .ex-ask:before{content:'\201C'}.ex-ask:after{content:'\201D'}
  .ex-did,.ex-out{font-family:var(--ff-b);font-size:13.5px;line-height:1.45;color:var(--soft)}
  .ex-did b,.ex-out b{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:var(--ink);margin-bottom:2px}
  .ex-key{margin-top:auto;padding-top:10px;border-top:1px solid var(--rule);display:flex;align-items:center;gap:8px;font-family:var(--ff-b);font-size:13px;font-weight:600;color:var(--navy);min-height:44px}
  .ex-key .ic{width:18px;height:18px;color:var(--acc)}
  .ex-key .ar{margin-left:auto;color:var(--soft)}
  .ex-card:hover .ex-key .ar{color:var(--acc)}
  @media (min-width:900px){
    .ghex-track{overflow:hidden;scroll-snap-type:none;padding-bottom:12px}
    .ghex-list{padding:0;animation:exMarquee 110s linear infinite;will-change:transform}
    .ghex-list li{margin-right:18px}
    .ghex-list li.ex-dup{display:list-item}
    .ghex-track:hover .ghex-list,.ghex-track:focus-within .ghex-list{animation-play-state:paused}
    .ex-card{width:330px}
  }
  @keyframes exMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @media (prefers-reduced-motion:reduce){
    .ghex-track{overflow-x:auto;scroll-snap-type:x mandatory}
    .ghex-list{animation:none}
    .ghex-list li.ex-dup{display:none}
    .ex-card{transition:none}.ex-card:hover,.ex-card:focus-visible{transform:none}
  }
  .ex-note{font-family:var(--ff-b);font-size:13.5px;line-height:1.45;color:var(--ink);background:var(--acc-tint);border-left:3px solid var(--acc);padding:8px 10px;margin:0 0 14px}
  /* start / sign-in */
  .ghstart{display:flex;gap:40px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:64px 20px;max-width:1220px;margin:0 auto}
  .ghstart-l{flex:1 1 320px;max-width:520px}
  .ghstart-l h2{margin-bottom:14px}
  .ghstart-l p{font-family:var(--ff-b);color:var(--soft);font-size:16px;line-height:1.6;margin:0 0 22px}
  .ghstart-l p b{color:var(--ink)}
  .gh-ticks{list-style:none;padding:0;margin:0}
  .gh-ticks li{font-family:var(--ff-b);font-size:15px;color:var(--ink);padding:10px 0 10px 26px;position:relative;border-top:1px solid var(--rule)}
  .gh-ticks li:before{content:'';position:absolute;left:0;top:19px;width:10px;height:2px;background:var(--acc)}
  /* ===== Jasmine answers your phone (docs/62-landing-page.md and docs/74-answer-my-phone.md). The demo number is served in from the environment
     only (RECEPTION_DEMO_NUMBER); without it the section shows without a number. Nothing here is a result we claim. */
  .ghans-in{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:28px 48px;align-items:flex-start}
  .ghans-l{flex:1 1 420px;min-width:0}
  .ghans-r{flex:1 1 340px;min-width:0}
  .ans-demo{font-family:var(--ff-b);font-size:16px;line-height:1.5;color:var(--ink);background:var(--acc-tint);border-left:3px solid var(--acc);padding:12px 14px;margin:20px 0 0;max-width:600px}
  .ans-demo a{color:var(--ink);font-weight:700;white-space:nowrap;text-decoration:underline;text-decoration-color:var(--acc);text-underline-offset:3px}
  .ans-ways-h{font-family:var(--ff-b);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--soft);margin:0 0 6px}
  .ans-price{font-family:var(--ff-b);font-size:15px;line-height:1.55;color:var(--soft);margin:18px 0 22px;max-width:600px}
  .ans-price b{color:var(--ink);font-weight:600}
  .ghcard{flex:0 1 380px;width:100%;max-width:100%;border-radius:3px;border:1px solid var(--rule);box-shadow:0 1px 0 var(--rule),0 24px 50px -30px rgba(15,30,50,.45);padding:26px 24px}
  .ghcard .brand{font-family:var(--ff-d);font-weight:600;letter-spacing:.14em;font-size:14px;color:var(--soft)}
  .ghcard h1{font-family:var(--ff-d);font-weight:500;font-size:24px;letter-spacing:-.01em}
  .ghcard p{font-family:var(--ff-b);font-size:14px;color:var(--soft)}
  .ghcard input{border-radius:2px;background:var(--card);color:var(--ink);font-family:var(--ff-b);font-size:16px;min-height:46px}
  .ghcard input.bad{border-color:var(--bad);box-shadow:0 0 0 2px var(--bad-tint)}
  .su-for{gap:6px;flex-wrap:wrap;margin:8px 0}
  .ghcard .su-for button{flex:1 1 45%;min-height:44px;border:1px solid var(--line);border-radius:2px;background:var(--card);color:var(--ink);font:500 14px var(--ff-b);cursor:pointer}
  .ghcard .su-for button[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
  .su-life-line,.hp-life{margin:4px 0 10px;font-size:13px;line-height:1.45;color:var(--sub)}.su-life-line[hidden]{display:none}
  .ghcard #loginErr:empty{display:none}.ghcard #loginErr{margin:2px 0 10px;font-size:14.5px;line-height:1.45}
  .ghcard button{border-radius:2px;background:var(--navy);color:#fff;font-family:var(--ff-b);font-size:15.5px;min-height:48px}
  .ghcard button:hover{background:var(--acc)}
  .ghcard .remember{font-family:var(--ff-b);font-size:13px}
  .ghcard .auth-alt{font-family:var(--ff-b)}
  .ghcard .auth-alt a{color:var(--acc)}
  /* what it does: numbered rows on a ruled list, nothing in a card */
  .gh-rows{max-width:1180px;margin:0 auto;border-top:1px solid var(--rule)}
  .gh-row{display:flex;gap:18px 28px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--rule)}
  .gh-no{font-family:var(--ff-d);font-size:15px;color:var(--acc);font-weight:500;flex:0 0 34px;letter-spacing:.04em}
  .gh-row h3{font-family:var(--ff-d);font-weight:500;font-size:24px;letter-spacing:-.01em;color:var(--ink);margin:0 0 6px;flex:0 0 auto}
  .gh-rtext{flex:1}
  .gh-row p{font-family:var(--ff-b);font-size:15.5px;line-height:1.6;color:var(--soft);margin:0;max-width:640px}
  @media (min-width:900px){ .gh-row{gap:28px} .gh-row h3{flex:0 0 300px} }
  /* one pull-quote, set like a magazine, not a testimonial wall */
  .ghquote{padding:56px 20px;max-width:1180px;margin:0 auto}
  .ghquote-in{border-left:3px solid var(--acc);padding-left:22px;max-width:760px}
  .ghquote blockquote{font-family:var(--ff-d);font-style:italic;font-weight:400;font-size:clamp(22px,3vw,34px);line-height:1.24;letter-spacing:-.01em;color:var(--ink);margin:0 0 14px}
  .ghquote .ghq-amt{color:var(--acc);font-style:normal;font-weight:500}
  .ghquote cite{font-family:var(--ff-b);font-style:normal;font-size:13px;color:var(--soft)}
  .ghquote cite b{color:var(--ink);font-weight:600}
  /* pricing: a navy band; the words inside it are the two price stories (cr-old / cr-new), the mode picks one */
  .ghprice{background:var(--band);color:var(--band-ink);padding:64px 20px}
  .ghprice-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:28px}
  .ghprice .gh-kicker{color:var(--gold)}
  .ghprice h2{color:var(--band-ink);margin-bottom:18px}
  .ghprice-anchor{font-family:var(--ff-d);font-style:italic;font-size:clamp(17px,2vw,21px);line-height:1.4;color:var(--band-soft);max-width:520px;margin:0 0 26px}
  .ghprice-card{display:block;background:rgba(255,255,255,.035);border:1px solid var(--band-rule);border-radius:3px;padding:28px 24px;max-width:520px}
  .ghprice-list{list-style:none;padding:0;margin:18px 0 4px}
  .ghprice-list li{font-family:var(--ff-b);font-size:14.5px;color:var(--band-ink);line-height:1.45;padding:9px 0 9px 22px;position:relative;border-top:1px solid var(--band-rule)}
  .ghprice-list li:before{content:'';position:absolute;left:0;top:17px;width:9px;height:2px;background:var(--gold)}
  .ghprice-roi{font-family:var(--ff-d);font-style:italic;font-size:clamp(16px,1.9vw,20px);line-height:1.4;color:var(--band-soft);max-width:520px;margin:26px 0 0}
  .ghprice-amt{font-family:var(--ff-d);font-weight:500;font-size:56px;color:var(--band-ink);line-height:1;letter-spacing:-.02em}
  .ghprice-amt span{font-size:18px;color:var(--band-soft);font-weight:400;font-family:var(--ff-b)}
  .ghprice-for{font-family:var(--ff-b);color:var(--ink);font-weight:600;font-size:14.5px;margin-top:10px}   /* ink, not gold: gold on the paper read at 2.3:1 (the sweep of 18 Oct 2026) */
  .ghprice-extra{font-family:var(--ff-b);color:var(--band-soft);font-size:14px;margin-top:6px}
  .ghprice-guar{font-family:var(--ff-b);color:var(--band-soft);font-size:13.5px;line-height:1.6;margin:18px 0 22px;max-width:420px}
  .ghprice .gh-cta{background:var(--gold);border-color:var(--gold);color:#1a1206}
  .ghprice .gh-cta:hover{background:#fff;border-color:#fff;color:var(--navy)}
  @media (min-width:1040px){ .ghprice-in{grid-template-columns:1fr 1.1fr;gap:56px;align-items:start} }
  /* partner */
  .ghpartner{padding:64px 20px;max-width:1220px;margin:0 auto}
  .ghpartner h2{margin-bottom:10px}
  .ghpartner .gh-psub{font-family:var(--ff-b);color:var(--soft);font-size:16px;line-height:1.6;max-width:560px;margin:0 0 24px}
  .ghpartner .distrib-card{background:var(--card);border:1px solid var(--rule);border-radius:3px;max-width:560px;margin:0;text-align:left}
  .ghpartner .distrib-pitch{color:var(--ink);font-family:var(--ff-b)}
  .ghpartner .distrib-pitch b{color:var(--acc)}
  .ghpartner .dz-in{background:var(--card);border:1px solid var(--rule);color:var(--ink);border-radius:2px;font-family:var(--ff-b);min-height:46px}
  .ghpartner .dz-in::placeholder{color:var(--soft)}
  .ghpartner .dz-btn{background:var(--navy);color:#fff;border-radius:2px;min-height:46px;font-family:var(--ff-b)}
  .ghpartner .dz-btn:hover{background:var(--acc)}
  .ghpartner .dz-l{display:block;font-family:var(--ff-b);font-size:14px;color:var(--ink);margin:4px 0 5px}
  .ghpartner .dz-opt{color:var(--soft);font-weight:normal}
  .ghpartner .dz-in{min-height:46px;margin-bottom:12px}
  .ghpartner textarea.dz-in{min-height:110px}
  .ghpartner .dz-btn{min-height:46px;width:100%}
  .ghpartner .dz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
  .ghpartner .dz-ok{color:var(--ok)}
  /* footer */
  .ghfoot{background:var(--band);color:var(--band-soft);padding:36px 20px;border-top:1px solid var(--band-rule)}
  .ghfoot-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
  .ghfoot .ghbrand{color:var(--band-ink)}
  .ghfoot .lgl{font-family:var(--ff-b);font-size:13px;color:var(--band-soft);margin:0}
  .ghfoot .lgl a{color:var(--band-soft);text-decoration:none;display:inline-block;padding:8px 2px}.ghfoot .lgl a:hover{color:var(--gold)}
  /* dedicated sign-in screen - the returning owner's "you made it" login, no selling */
  #signin{position:fixed;inset:0;z-index:120;display:none;background:#14110e url('/signin.jpg') center/cover no-repeat}
  #signin.on{display:flex;align-items:center;justify-content:center}
  .si-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,12,9,.58),rgba(15,12,9,.42) 48%,rgba(15,12,9,.72))}
  .si-in{position:relative;z-index:2;display:flex;gap:56px;align-items:center;flex-wrap:wrap;justify-content:center;padding:40px 30px;max-width:1060px}
  .si-l{flex:1 1 340px;max-width:460px}
  .si-eyebrow{font-family:var(--ff-b);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;font-weight:600}
  .si-l h2{font-family:var(--ff-d);font-weight:500;font-size:clamp(34px,4.8vw,54px);line-height:1.02;color:#fff;margin:0 0 16px;text-shadow:0 2px 30px rgba(0,0,0,.4)}
  .si-l p{font-family:var(--ff-d);font-style:italic;font-size:clamp(18px,2.2vw,23px);line-height:1.45;color:rgba(255,255,255,.92);margin:0}
  .si-close{position:absolute;top:14px;right:20px;z-index:3;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:30px;line-height:1;text-decoration:none;opacity:.8}
  .si-close:hover{opacity:1}
  .si-card{background:var(--card);border-radius:4px;padding:30px 28px;width:380px;max-width:calc(100vw - 32px);box-shadow:0 30px 90px rgba(0,0,0,.55);font-family:var(--ff-b)}
  .si-card .brand{display:block;margin-bottom:6px;font-family:var(--ff-d);font-weight:600;letter-spacing:.14em;font-size:14px;color:var(--sub)}
  .si-card h3{font-family:var(--ff-d);font-weight:500;font-size:24px;color:var(--ink);margin:0 0 4px}
  .si-card .si-sub{font-size:14px;color:var(--sub);margin:0 0 16px}
  .si-card input:not([type=checkbox]){width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:2px;font:inherit;font-size:16px;margin-bottom:10px;background:var(--card);color:var(--ink);min-height:46px}
  .si-card input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--navy)}
  .si-card .remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sub);margin-bottom:12px}
  .si-card button{width:100%;background:var(--navy);color:#fff;border:none;border-radius:2px;padding:13px;font-weight:600;cursor:pointer;font-size:15.5px;font-family:var(--ff-b);min-height:48px}
  .si-card button:hover{background:var(--acc)}
  .si-alt{font-size:13.5px;color:var(--sub);margin-top:14px;text-align:center}
  .si-alt a{color:var(--acc);font-weight:600;text-decoration:none;cursor:pointer}
  @media(max-width:640px){.si-l{display:none}.si-in{padding:20px}}
  @media (max-width:760px){
    .ghnav{padding:10px 16px}
    .ghnav-burger{display:inline-flex}
    .ghbrand span{display:none}
    .ghbrand .ybw{display:block;font-size:16px}.ghbrand .ybw i{display:none}.ghbrand{gap:7px}.ghbrand .ybmark{width:24px;height:24px}
    .ghnavlinks{gap:8px}
    .ghnavlinks a{white-space:nowrap}
    .ghnav-signin,.ghnav-cta{padding:0 12px;font-size:13.5px}
    .ghnav-app{display:none}
    .ghnav-tabs a.ghnav-app-menu{display:flex}
    .ghnav-tabs{display:none;position:absolute;top:62px;right:12px;flex-direction:column;align-items:stretch;background:var(--card);border:1px solid var(--rule);border-radius:3px;padding:6px;min-width:220px;box-shadow:0 18px 44px rgba(15,30,50,.25)}
    .ghnav-tabs.open{display:flex}
    .ghnav-tabs a{padding:13px 14px;min-height:44px;display:flex;align-items:center}
    .ghhero{padding:34px 16px 30px}
    .ghwrap,.ghex-h{padding:0 16px}
    .ghex-list{padding:0 16px}
    .ghex-track{scroll-padding:0 16px}
    .gh-sec,.ghstart,.ghprice,.ghpartner,.ghquote{padding-left:16px;padding-right:16px}
    .ghstart{padding-top:48px;padding-bottom:48px;gap:28px}
    .gh-row{flex-wrap:wrap;gap:6px 14px}
    .gh-no{flex-basis:100%}
  }
.tv-lab{display:block;font-size:13px;font-weight:600;color:var(--sub);margin:6px 0 3px}
.from-chat{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:9px 12px;margin:0 0 10px;border-radius:10px;background:rgba(59,130,246,.08);border:1px solid var(--line);font-size:14px}
/* THE FRONT DOOR (docs/148): the Jasmine-led first screen, its plans in dollars and its six cards; the wide page follows. */
.ghdoor .ghdoor-h1{font-size:clamp(38px,7vw,72px)}
.ghdoor .gh-lead{max-width:560px}
.ghdoor-trust{font-family:var(--ff-b);font-size:15px;color:var(--soft);margin:0 0 18px}
.ghdoor-hear{margin:0 0 18px;max-width:560px}
.ghdoor-hear label{display:block;font-family:var(--ff-b);font-weight:700;font-size:14.5px;color:var(--ink);margin:0 0 6px}
.ghdoor-hear-row{display:flex;flex-wrap:wrap;gap:8px}
.ghdoor-hear-row .ghdoor-in{flex:1 1 220px;min-width:0;position:relative;display:block}
.ghdoor-hear-row .ghdoor-in input{width:100%;box-sizing:border-box;padding-right:52px}
.ghdoor-arrow{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:0;background:var(--gold,#c99a2e);color:#0f1e32;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(201,154,46,.45);padding:0}
.ghdoor-arrow:hover,.ghdoor-arrow:focus-visible{filter:brightness(1.08);outline:none;box-shadow:0 0 0 3px rgba(201,154,46,.35)}
.ghdoor-hear-row input{flex:1 1 220px;min-width:0;font:inherit;font-size:16px;padding:11px 12px;border:1.5px solid var(--rule);border-radius:3px;background:var(--card);color:var(--ink)}
.ghdoor-hear-row .gh-cta{flex:0 0 auto}
.ghdoor-hear-go{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.05;padding-top:7px;padding-bottom:7px}
.ghdoor-hear-go .ghdoor-go-1{font-weight:500;font-size:.72em;letter-spacing:.01em;opacity:.9;white-space:nowrap}
.ghdoor-hear-go .ghdoor-go-2{font-weight:700;white-space:normal;font-size:.92em;line-height:1.25;text-wrap:balance}   /* the press asks the question (CEO 18 Oct 2026): two lines on a phone */
.ghdoor-hear .dz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ghdoor-hear-fine{font-size:12.5px;color:var(--soft);margin:6px 0 0;line-height:1.4}
.ghdoor-hear-out{margin:12px 0 0;padding:14px;background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--gold);border-radius:3px}
.ghdoor-hear-out[hidden]{display:none}
/* the progress bar while she learns a website: real stages, the gold fill moves only on a stage word (docs/150, CEO 17 Oct 2026) */
.ghdoor-prog{padding:2px 0}
.ghdoor-prog-track{height:6px;border-radius:999px;background:var(--rule);overflow:hidden}
.ghdoor-prog-track i{display:block;height:100%;width:6%;border-radius:999px;background:linear-gradient(90deg,var(--gold),#F0C96A);transition:width .7s cubic-bezier(.2,.7,.2,1)}
.ghdoor-prog-say{margin:8px 0 0;font-size:13.5px;color:var(--soft);line-height:1.4}
.ghdoor-hear-audio{width:100%;margin:0 0 8px}
/* the result row: a round play press and "Representing my business" (CEO 17 Oct 2026) */
.ghdoor-hear-play{display:flex;align-items:center;gap:12px;margin:0 0 12px}
.ghdoor-play{flex:0 0 auto;width:48px;height:48px;border-radius:50%;border:0;background:var(--navy);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px -8px rgba(15,30,50,.5)}
.ghdoor-play .ic{width:20px;height:20px;margin-left:2px}
.ghdoor-play:hover{background:var(--acc)}
.ghdoor-play.live{background:var(--acc);animation:ghPlayPulse 1.6s ease-in-out infinite}
@keyframes ghPlayPulse{0%,100%{box-shadow:0 8px 20px -8px rgba(15,30,50,.5)}50%{box-shadow:0 8px 20px -8px rgba(15,30,50,.5),0 0 0 6px rgba(201,162,74,.25)}}
.ghdoor-play-t{display:flex;flex-direction:column;font-family:var(--ff-b);font-weight:700;font-size:15px;color:var(--ink);line-height:1.2}
.ghdoor-play-t small{font-weight:500;font-size:13px;color:var(--soft)}
.ghdoor-hear-line{margin:0 0 6px;font-size:15px;line-height:1.45;color:var(--ink)}
/* the way to a real back-and-forth after the read (CEO 18 Oct 2026): the live voice here (no call to their phone on the page: John, 21 Oct 2026) */
.ghdoor-hear-ways{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}
.ghdoor-way{flex:1 1 150px;min-height:48px;border-radius:12px;font:inherit;font-weight:700;font-size:15px;cursor:pointer}
.ghdoor-way-2{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}
.ghdoor-way-2:hover{background:var(--ink);color:var(--card)}
.ghdoor-way-3{background:transparent;color:var(--ink);border:1.5px solid var(--rule);font-weight:600}   /* Make this yours - the quiet press in the row */
.ghdoor-way-3:hover{border-color:var(--ink)}
@media (min-width:761px){ .ghdoor-hear-ways{flex-wrap:nowrap} .ghdoor-hear-ways .ghdoor-way{flex:1 1 0;min-width:0;padding:0 10px;font-size:14px} }
@media (max-width:760px){ .ghdoor-hear-ways{flex-direction:column} .ghdoor-hear-ways .ghdoor-way{flex:0 0 auto;width:100%} }
.ghdoor-hear-say{margin:0;font-size:14.5px;color:var(--soft)}
.ghdoor-hear-script{margin:0 0 10px}
.ghdoor-plans{background:var(--card);border:1px solid var(--rule);border-top:3px solid var(--gold);border-radius:3px;padding:18px 18px 14px;max-width:440px}
.ghdoor-plans ul{list-style:none;margin:10px 0 8px;padding:0}
.ghdoor-plans li{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--rule)}
.ghdoor-plans li:last-child{border-bottom:0}
.ghdoor-plans .amt{font-family:var(--ff-d);font-weight:500;font-size:28px;color:var(--ink);line-height:1.1}
.ghdoor-plans .amt small{font-family:var(--ff-b);font-size:14px;color:var(--soft)}
.ghdoor-plans .cr{font-family:var(--ff-b);font-size:14px;color:var(--soft)}
.ghdoor-pm{font-family:var(--ff-b);font-size:13.5px;color:var(--soft);margin:6px 0 0}
.ghdoor-pm a{color:var(--ink);min-height:44px;display:inline-flex;align-items:center}
.ghdoor-start{font-family:var(--ff-b);font-size:15px;line-height:1.5;color:var(--soft);margin:10px 0 0}   /* the free start (docs/184 row 1, lib/credits/free-start.cjs): the line in ink, the path and the link after it */
.ghdoor-start b{color:var(--ink);font-weight:700}
.ghdoor-start a{color:var(--ink);padding:12px 0;white-space:nowrap}   /* inline in the sentence: the padding makes the press about 44 px high without opening a gap above its line (an inline-flex link 44 px high did, on a phone) */
.ghdoor-list{list-style:none;margin:0;padding:0 20px;display:grid;grid-template-columns:1fr;gap:14px;max-width:1180px}
.ghdoor-list .ex-card{width:auto}
.ghdoor-all{max-width:1180px;margin:14px auto 0;padding:0 20px;font-family:var(--ff-b)}
.ghdoor-all a{color:var(--band-ink);min-height:44px;display:inline-flex;align-items:center}
@media (min-width:700px){ .ghdoor-list{grid-template-columns:1fr 1fr} }
@media (min-width:1040px){ .ghdoor-list{grid-template-columns:1fr 1fr 1fr;margin:0 auto;padding:0 24px} .ghdoor-plans{justify-self:end;width:100%} }
@media (max-width:480px){ .ghdoor-list{padding:0 16px} .ghdoor-all{padding:0 16px} }
/* The languages section (lib/doors.cjs langsHtml, CEO 17 Oct 2026): the 33 the agent switches among, English name + the language's own */
.ghdoor-langs-list{list-style:none;margin:0 auto;padding:0 20px;max-width:1180px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;font-family:var(--ff-b)}
.ghdoor-langs-list li{display:flex;flex-direction:column;min-height:44px;justify-content:center;padding:6px 10px;border-radius:8px;background:var(--card,transparent);border:1px solid var(--line,rgba(0,0,0,.08))}
.ghdoor-langs-list b{font-weight:600;color:var(--band-ink)}
.ghdoor-langs-list span{font-size:.92em;opacity:.78}
@media (min-width:700px){ .ghdoor-langs-list{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1040px){ .ghdoor-langs-list{grid-template-columns:repeat(4,minmax(0,1fr));padding:0 24px} }
@media (max-width:480px){ .ghdoor-langs-list{padding:0 16px} }
/* HOW SHE PROVES IT (the redesign, CEO 17 Oct 2026): three outcomes as light cards, then the three steps beside the film */
.gh-out3{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:14px}
.gh-out{position:relative;background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:22px 22px 20px}
.gh-out .gh-no{display:block;margin:0 0 10px}
.gh-out h3{font-family:var(--ff-d);font-weight:500;font-size:24px;letter-spacing:-.01em;color:var(--ink);margin:0 0 8px}
.gh-out p{font-family:var(--ff-b);font-size:15.5px;line-height:1.55;color:var(--soft);margin:0 0 12px}
.gh-out-get{display:block;font-family:var(--ff-b);font-size:13.5px;line-height:1.45;color:var(--ink);border-top:1px solid var(--rule);padding-top:10px}
.gh-steps-in{max-width:1180px;margin:40px auto 0;display:grid;grid-template-columns:1fr;gap:28px;align-items:center}
.gh-steps{list-style:none;counter-reset:st;margin:0 0 22px;padding:0}
.gh-steps li{counter-increment:st;position:relative;font-family:var(--ff-b);font-size:15.5px;line-height:1.55;color:var(--soft);padding:12px 0 12px 44px;border-top:1px solid var(--rule)}
.gh-steps li b{color:var(--ink);font-weight:600}
.gh-steps li:before{content:counter(st);position:absolute;left:0;top:12px;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center}
@media (min-width:900px){ .gh-out3{grid-template-columns:1fr 1fr 1fr} .gh-steps-in{grid-template-columns:1fr 1fr;gap:48px} }
/* D1, release A (board 1): only under #door.door-a (DOOR_A=1 or ?door=a); main/85, test/door-a.test.cjs. 13-jasmine.css loads later. */
#door.door-a .ghdoor-a-h{font-family:var(--ff-d);font-weight:500;font-size:clamp(21px,2.4vw,27px);line-height:1.15;letter-spacing:-.01em;text-align:center;color:var(--ink);margin:2px 0 12px;text-wrap:balance}
@media (max-width:420px){ #door.door-a .ghdoor-a-h{font-size:clamp(16px,(100vw - 60px)/17.2,19px);letter-spacing:-.015em} }
#door.door-a .ghdoor-hear{max-width:none}
#door.door-a .ghdoor-hear label{font-weight:600;font-size:14px;color:var(--soft)}
/* FB-0010: gold only on the press, the box quiet (docs/161) */
#door.door-a .ghdoor-hear:not(.jd-read) .ghdoor-hear-row input{border-color:#8A94A3;box-shadow:none;caret-color:#1B4380}
#door.door-a .ghdoor-hear-row input:focus{border-color:#1B4380;box-shadow:0 0 0 3px rgba(27,67,128,.18);animation:none}
#door.door-a .ghdoor-hear-row::before{background:#1B4380;box-shadow:none}
#door.door-a .ghdoor-in .ghdoor-hear-mic{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:44px;height:44px;min-height:0;flex:none;border-radius:10px;padding:0;z-index:2}
#door.door-a .ghdoor-in .ghdoor-hear-mic[hidden]{display:none}
/* the box and the press one height: 48 px on a phone, 54 from a tablet up */
#door.door-a .ghdoor-hear-row input{height:48px}
#door.door-a .ghdoor-hear-row .gh-cta{min-height:48px}
@media (min-width:761px){ #door.door-a .ghdoor-hear-row input{height:54px} #door.door-a .ghdoor-hear-row .gh-cta{min-height:54px} }
/* the press (FB-0010): a gold rim; typed (jd-go-ready) it fills, glows and sparkles 3 times; flecks still under reduced motion */
#door.door-a .ghdoor-hear-row .gh-cta{background:var(--card);border:2px solid #B78A26;color:var(--navy);animation:none;box-shadow:0 0 0 4px rgba(201,154,46,.13),0 6px 18px -8px rgba(183,138,38,.55)!important;flex-direction:row;gap:10px;padding:6px 22px;font-size:16px;position:relative;overflow:visible;transition:background-color .3s,box-shadow .3s}
#door.door-a .ghdoor-hear-row .gh-cta:hover{background:#FBF3DF;color:var(--navy)}
#door.door-a .ghdoor-hear-row .gh-cta.next-cue{animation:none}
#door.door-a .ghdoor-hear-row .gh-cta.jd-go-ready{background:linear-gradient(135deg,#B78A26 0%,#F1DC9B 42%,#C99A2E 72%,#B78A26 100%);border-color:#A47A1E;color:#0F1E32;box-shadow:0 0 0 4px rgba(201,154,46,.24),0 0 28px 3px rgba(201,154,46,.55),0 12px 26px -12px rgba(164,122,30,.8)!important;animation:ghdoorReady 1.5s ease-in-out 3}
#door.door-a .ghdoor-hear-row .gh-cta.jd-go-ready:hover{filter:brightness(1.05)}
@keyframes ghdoorReady{0%,100%{transform:none}50%{transform:scale(1.035)}}
#door.door-a .ghdoor-spark{position:absolute;inset:-9px;pointer-events:none;opacity:0;transition:opacity .3s}
#door.door-a .jd-go-ready .ghdoor-spark{opacity:1}
#door.door-a .ghdoor-spark i{position:absolute;width:12px;height:12px;background:#fff;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);transform:scale(0)}
#door.door-a .ghdoor-spark i:nth-child(1){left:13%;top:18%}
#door.door-a .ghdoor-spark i:nth-child(2){left:78%;top:64%;width:9px;height:9px}
#door.door-a .ghdoor-spark i:nth-child(3){right:-2px;top:-2px;width:17px;height:17px;background:#C99A2E}
#door.door-a .ghdoor-spark i:nth-child(4){left:0;bottom:2px;width:11px;height:11px;background:#C99A2E}
#door.door-a .ghdoor-spark i:nth-child(5){left:47%;top:13%;width:7px;height:7px}
#door.door-a .jd-go-ready .ghdoor-spark i{animation:ghdoorTwinkle 1.2s ease-in-out 3 both}
#door.door-a .jd-go-ready .ghdoor-spark i:nth-child(2){animation-delay:.3s}#door.door-a .jd-go-ready .ghdoor-spark i:nth-child(3){animation-delay:.55s}
#door.door-a .jd-go-ready .ghdoor-spark i:nth-child(4){animation-delay:.15s}#door.door-a .jd-go-ready .ghdoor-spark i:nth-child(5){animation-delay:.42s}
@keyframes ghdoorTwinkle{0%{transform:scale(0) rotate(0)}40%{transform:scale(1.3) rotate(45deg)}70%{transform:scale(.75) rotate(70deg)}100%{transform:scale(1) rotate(90deg)}}
@media (prefers-reduced-motion:reduce){ #door.door-a .ghdoor-hear-row .gh-cta.jd-go-ready{animation:none} #door.door-a .jd-go-ready .ghdoor-spark i{animation:none;transform:none} }
#door.door-a .ghdoor-hear-go .ghdoor-go-1{font-size:1em;font-weight:700;opacity:1}
#door.door-a .ghdoor-go-ar{flex:none}
#door.door-a .ghdoor-talk-link{display:inline-flex;align-items:center;justify-content:center;gap:8px}
/* one glow (main/14, docs/161): Talk light gold beside a plain gold rim, else the press in the house ring, lit the fill alone; the ring pulses on ::after (an !important shadow stills a pulse) */
#door.door-a .ghdoor-talk-link.next-cue{background:color-mix(in srgb,var(--gold) 22%,var(--card,#fff));border-color:var(--gold-edge,var(--gold));color:var(--ink)}
#door.door-a .ghdoor-talk-link.next-cue:hover{background:color-mix(in srgb,var(--gold) 34%,var(--card,#fff));color:var(--ink)}
#door.door-a .ghdoor-talk-link.next-cue:not(.wk-on)::after,#door.door-a .ghdoor-hear-row .gh-cta.next-cue:not(.wk-on)::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}
@media (prefers-reduced-motion:no-preference){ #door.door-a .ghdoor-talk-link.next-cue:not(.wk-on):not(.cue-still)::after,#door.door-a .ghdoor-hear-row .gh-cta.next-cue:not(.wk-on):not(.cue-still)::after{animation:cueGlow 1.6s ease-in-out 3} }
#door.door-a .ghdoor-hear-row .gh-cta.next-cue:not(.wk-on)::after{inset:-2px}
#door.door-a .ghdoor-hear-row .gh-cta.next-cue:not(.jd-go-ready):not(.wk-on){box-shadow:0 0 0 2.5px var(--gold),0 0 0 7px var(--gold-tint),0 0 22px 4px var(--gold-glow)!important}
#door.door-a .ghdoor-hear-row .gh-cta.jd-go-ready:not(.wk-on)::after{opacity:0}
#door.door-a:has(.ghdoor-talk-link.next-cue) .ghdoor-hear-row .gh-cta:not(.jd-go-ready){box-shadow:none!important}
#door.door-a .ghdoor-trust{margin:8px 0 0;font-size:14px}
#door.door-a .ghdoor-or{display:flex;align-items:center;gap:12px;margin:12px 0 2px;font-family:var(--ff-b);font-size:13px;color:var(--soft)}
#door.door-a .ghdoor-or::before,#door.door-a .ghdoor-or::after{content:"";flex:1;height:1px;background:var(--rule)}
#door.door-a .jd-panel:has(.jd-read) .ghdoor-or{display:none}
#door.door-a .jd-hear,#door.door-a .jd-mute{display:none!important}
#door.door-a .jd-bubble{display:flex;align-items:center;gap:12px;text-align:left;font-family:var(--ff-b);font-style:normal;font-size:15px;line-height:1.4;padding:9px 16px 9px 9px;pointer-events:auto;max-width:min(92%,420px)}
#door.door-a .jd-bubble[hidden],#door.door-a .jd-stage.dock .jd-bubble{display:none}
#door.door-a .jd-stage.roaming .jd-bubble{max-width:min(92%,420px,var(--bmax,420px))}
#door.door-a .jd-pieces .jd-bubble-t{min-height:2.8em;display:flex;align-items:center}
#door.door-a .jd-bubble::after{content:"";position:absolute;left:50%;bottom:-7px;width:14px;height:14px;margin-left:-7px;background:var(--card);border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transform:rotate(45deg)}
.jd-play{flex:none;width:44px;height:44px;border-radius:50%;border:0;padding:0;background:var(--gold);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;gap:3px;cursor:pointer;box-shadow:0 4px 12px -4px rgba(15,30,50,.4)}
.jd-play .ic{width:18px;height:18px;fill:currentColor;stroke-width:1.5;margin-left:2px}
.jd-play .jd-bars{display:none;align-items:center;gap:3px;height:18px}
.jd-play .jd-bars i{display:block;width:3px;height:16px;border-radius:2px;background:currentColor;transform-origin:50% 50%;animation:jdBars .9s ease-in-out infinite}
.jd-play .jd-bars i:nth-child(2){animation-delay:-.3s}.jd-play .jd-bars i:nth-child(3){animation-delay:-.6s}.jd-play .jd-bars i:nth-child(4){animation-delay:-.15s}
.jd-play.on .ic{display:none}.jd-play.on .jd-bars{display:inline-flex}
@keyframes jdBars{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
.jd-play.jd-play-bar{width:40px;height:40px}
/* ONE CONTROL (board ee7a): pause bars while she moves, her voice bars while she speaks, the play triangle once held (aria-pressed false) */
.jd-play .jd-pz{display:none}
.jd-play[aria-pressed="true"] .ic{display:none}
.jd-play[aria-pressed="true"]:not(.on) .jd-pz{display:block}
.jd-play:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
/* FB-0010: play is quiet wherever it rides (bubble, bar, card); the gold is the press's */
#door.door-a .jd-play,.jd-play.jd-play-bar{background:rgba(15,30,50,.06);color:var(--navy);border:1.5px solid rgba(15,30,50,.3);box-shadow:none}
#door.door-a .jd-play:hover,.jd-play.jd-play-bar:hover{background:rgba(15,30,50,.12)}
#door.door-a .jd-bubble-t:empty{display:none}
#door.door-a .jd-bubble:has(.jd-bubble-t:empty){padding:9px}
#door.door-a .jd-bubble:has(.jd-bubble-t:empty)::after{display:none}
#door.door-a .jd-stage.dock>.jd-play{position:absolute;left:8px;top:8px;z-index:5;width:40px;height:40px;background:rgba(255,255,255,.92)}
#gate.jd-still #door *,#gate.jd-still .ghnavlinks .jd-play *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){ .jd-play .jd-bars i{animation:none} }
#door.door-a .ghdoor-hear.jd-read>h2,#door.door-a .ghdoor-hear.jd-read>label,#door.door-a .ghdoor-hear.jd-read>.ghdoor-hear-row{display:none}
#door.door-a .jd-panel:has(.jd-read) .ghdoor-trust,#door.door-a .jd-panel:has(.jd-read) .ghdoor-alt{display:none}
#door.door-a .ghdoor-hear-out{background:none;border:0;padding:0;margin:12px 0 0}
#door.door-a .ghdoor-hear.jd-read .ghdoor-hear-out{margin:0}
#door.door-a .ghdoor-rc{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:15px;color:var(--ink);min-width:0}
#door.door-a .ghdoor-rc .ic{width:24px;height:24px;padding:4px;box-sizing:border-box;border-radius:50%;background:#2E7D4F;color:#fff;stroke-width:3}
#door.door-a .ghdoor-rc b{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#door.door-a .ghdoor-rc-x{margin-left:auto;flex:none;min-height:44px;padding:0 4px;background:none;border:0;font:inherit;font-size:14px;color:var(--soft);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#door.door-a .ghdoor-hear-ways{flex-wrap:wrap}
#door.door-a .ghdoor-hear-ways .ghdoor-way{display:inline-flex;align-items:center;justify-content:center;gap:8px}
#door.door-a #doorHearTalk{box-shadow:0 0 0 3px var(--card),0 0 0 5px var(--gold)}
#door.door-a .ghdoor-hear-ways .ghdoor-way-3{flex:1 1 100%;width:100%;min-height:44px;background:none;border:0;font-weight:600;text-decoration:underline;text-decoration-color:var(--gold);text-decoration-thickness:2px;text-underline-offset:5px}
#door.door-a .ghdoor-free{display:block;flex:1 1 100%;text-align:center;font-size:13px;color:var(--soft);margin-top:-6px}
@media (min-width:761px){
  #door.door-a .ghdoor-hear-ways .ghdoor-way:not(.ghdoor-way-3){flex:1 1 0}
  #door.door-a .jd-bubble,#door.door-a .jd-bubble.on,#door.door-a .jd-bubble.off{left:calc(50% + 130px);top:22%;transform:none;max-width:340px}
  #door.door-a .jd-bubble::after{left:-7px;top:50%;bottom:auto;margin:-7px 0 0;border:0;border-left:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  #door.door-a .jd-stage.roaming .jd-bubble{transform-origin:0 50%;max-width:min(340px,var(--bmax,340px))}
  #door.door-a .jd-stage.roaming.bub-up .jd-bubble,#door.door-a .jd-stage.roaming.bub-up .jd-bubble.on{left:50%;top:-74px;transform:translate(-50%,0);transform-origin:0 100%}   /* no room to her right: over her head */
  #door.door-a .jd-stage.bub-up .jd-bubble::after{left:50%;top:auto;bottom:-7px;margin:0 0 0 -7px;border:0;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}
}
#door.door-a .jd-panel .jd-chat{width:100%;box-sizing:border-box;margin:14px 0 0;background:none;border:0;border-top:1px solid var(--rule);border-radius:0;padding:12px 0 0;display:flex;flex-direction:column}
#door.door-a .jd-panel .jd-chat[hidden]{display:none}
.ghquote .ghq-note{margin:8px 0 0;font-family:var(--ff-b);font-size:12.5px;color:var(--soft)}
  /* ===== MOBILE FIRST (2026-10-05, docs/55-the-look.md "Mobile checklist"). A phone is the product. Every target 44px
     on touch, no double-tap delay, a gold tap tint, the notch and the home indicator kept clear, sheets from the bottom
     on a phone, the box kept above the keyboard (body.kb-open, set from visualViewport), dvh not vh. Id selectors so a
     screen's own injected rule cannot shrink a target again. */
  html{-webkit-tap-highlight-color:rgba(201,154,46,.18);-webkit-text-size-adjust:100%;text-size-adjust:100%}
  button,a,[role=button],summary,label,select{touch-action:manipulation}
  .topbar{padding-top:calc(14px + env(safe-area-inset-top,0px))}
  #memPanel,#frScreen{overflow-wrap:break-word}
  #memPanel img,#memPanel video{max-width:100%;height:auto}
  button:not(:disabled):active{filter:brightness(.93)}
  @media (pointer:coarse){
    #memPanel button,#memPanel summary,#memPanel [role=button],#memPanel select,#frScreen button{min-height:44px}
    #memPanel button{min-width:44px}
    #memPanel .mem-crumb button{min-height:44px;margin:-10px 0;display:inline-flex;align-items:center}
    #memPanel .mem-crumb button:not(.mc-back){min-width:0;padding:0 10px;margin:-10px -10px}
    #memPanel .mem-h .ctx-cancel{min-width:44px}
    #memPanel input[type=checkbox],#memPanel input[type=radio]{width:22px;height:22px}
    body .vc-pill,body .tn-wait button,body .sm button,body .profbtn{min-height:44px}
  }
  @media(max-width:640px){ #memPanel .yb-reach{position:sticky;bottom:calc(77px + env(safe-area-inset-bottom,0px));z-index:5;min-height:48px;min-width:50%;font-size:16px;border-radius:12px;box-shadow:0 6px 20px rgba(15,30,50,.18)} }
  @media(max-width:380px){ body #doorBar .db-w{font-size:10px;letter-spacing:-.25px} }
  body.kb-open #doorBar{display:none!important}
  @media(max-width:880px){ body.kb-open.in-chat .composer{bottom:0!important} }
  @media(max-width:640px){
    #wbOv,#pvOv,.welcome{align-items:flex-end!important;padding:0!important}
    #wbOv>div,#pvOv>div,.welcome>div{width:100%!important;max-width:none!important;border-radius:18px 18px 0 0!important;max-height:88vh;max-height:88dvh;overflow:auto;overscroll-behavior:contain;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))!important;animation:ybSheet 220ms cubic-bezier(.2,1.2,.3,1)}
  }
  @keyframes ybSheet{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
  /* ===== THE NIGHT-SHIFT STUDIO (2026-10-05, docs/55-the-look.md). The signed-in app in the landing page's language:
     a warm paper ground with grain and a soft vignette, navy and gold as light and brass, Fraunces for what you read
     first (titles, the greeting, figures, result headlines) and Public Sans for the rest. Three signatures, used
     sparingly: the brass hairline, the paper grain, the gold rim. Motion is transform/opacity only, one easing, and
     all of it stops under prefers-reduced-motion (the rule near the top of this sheet). No colour is typed here: the
     tokens are in the three :root blocks. */
  :root{--ff-display:'Fraunces',Georgia,'Times New Roman',serif;--ff-text:'Public Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
    --grain:rgba(15,30,50,.022);--vignette:rgba(90,60,20,.08);--glow-top:rgba(201,154,46,.07);--paper-shadow:0 1px 0 rgba(15,30,50,.03),0 10px 26px -16px rgba(90,60,20,.28);
    --bar-ink:var(--cream);--bar-sub:rgba(251,247,239,.88);--ease-out:cubic-bezier(.2,.8,.2,1);--ease-back:cubic-bezier(.2,1.25,.3,1)}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){--grain:rgba(255,240,210,.018);--vignette:rgba(0,0,0,.32);--glow-top:rgba(216,173,76,.06);--paper-shadow:0 1px 0 rgba(255,255,255,.03),0 12px 28px -16px rgba(0,0,0,.6);--ink:#ECE6D9} }
  :root[data-theme="dark"]{--grain:rgba(255,240,210,.018);--vignette:rgba(0,0,0,.32);--glow-top:rgba(216,173,76,.06);--paper-shadow:0 1px 0 rgba(255,255,255,.03),0 12px 28px -16px rgba(0,0,0,.6);--ink:#ECE6D9}
  body{font-family:var(--ff-text);background-color:var(--bg);background-image:radial-gradient(ellipse 90% 40% at top,var(--glow-top),transparent 70%),radial-gradient(var(--grain) .8px,transparent 1.1px);background-size:100% 100%,3px 3px;-webkit-font-smoothing:antialiased}
  body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 120% 90% at center,transparent 60%,var(--vignette))}
  /* type: what you read first in Fraunces, a tighter editorial scale on a phone */
  .t-title,#memPanel .mem-h h2,#memPanel .gd-greet,#memPanel .gd-ask,#memPanel .gd-door-h h2,#memPanel .gd-hutt,#memPanel .tk-goal,#memPanel .deliverable h1,#frScreen h1,#frScreen h2{font-family:var(--ff-display);font-optical-sizing:auto;letter-spacing:-.01em}
  #memPanel .mem-h h2{font-weight:500}
  #memPanel .gd-greet{font-size:30px;line-height:1.15;font-weight:400;margin:0 0 4px}
  #memPanel .gd-day{display:block;margin:6px 0 2px;color:var(--gold)}
  @media(min-width:1100px){ body.gd-home-on .gd-home>.gd-day,body.gd-home-on .gd-home>.gd-sum{grid-column:1/-1} }
  #memPanel .gd-sum{font-family:var(--ff-display);font-style:italic;font-size:18px;line-height:1.35;color:var(--sub);margin:0 0 20px}
  #memPanel .tk-chip b{font-variant-numeric:tabular-nums lining-nums}
  @media(max-width:640px){ #memPanel .mem-h h2{font-size:26px;line-height:1.2} #memPanel .gd-ask{font-size:20px} #memPanel .gd-hero .gd-ask{font-size:26px} }
  /* light: the bars are deep navy lit by a brass hairline; on a phone the door bar is navy too */
  .topbar{background:linear-gradient(180deg,var(--navy),var(--navy));border-bottom:1px solid var(--gold);box-shadow:0 1px 0 rgba(201,154,46,.25),0 6px 18px -10px rgba(15,30,50,.6)}
  @media(max-width:880px){
    body #doorBar{background:var(--navy);border-top:1px solid var(--gold);box-shadow:0 -6px 18px -12px rgba(15,30,50,.6);
      --door-today:#D8AD4C;--door-do:#AEBFDC;--door-sales:#6EA2FF;--door-marketing:#B48CFF;--door-operations:#4FB8CF;--door-money:#4CC38A}
    body #doorBar button{color:var(--bar-sub)}
    body #doorBar button.on{color:var(--gold)}
    body #doorBar button.on::before{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;background:var(--gold);border-radius:0 0 2px 2px}
    body #doorBar button{position:relative}
    body #doorBar{padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}   /* the end tabs (Today, More) sat on the screen edge and read as falling off on a phone (John 23 Oct 2026) */
  }
  /* paper, not boxes: a hairline and a low warm shadow */
  #memPanel .gd-box,#memPanel .gd-row,#memPanel .tk-card,#memPanel .vd-card,#memPanel .ns-card,#memPanel .gd-full #gdNeedsSec .gd-line,#memPanel .st-card,#memPanel .gd-tips{box-shadow:var(--paper-shadow)}
  #memPanel .gd-box{border-color:color-mix(in srgb,var(--gold) 45%,var(--line));border-radius:16px}
  #memPanel .gd-box:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-tint),var(--paper-shadow)}
  #memPanel .gd-eyebrow:after{background:linear-gradient(90deg,var(--gold),transparent);opacity:.55}
  /* motion with meaning: a screen rises in; Home's lines and a door's rows stagger in once (never a poll's redraw) */
  #memPanel:not(.hidden){animation:ybRise 200ms var(--ease-out)}
  @keyframes ybRise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
  #gdNeeds .gd-line,#memPanel .gd-row{animation:ybRise 220ms var(--ease-out) both}
  #gdNeeds .gd-line:nth-child(2),#memPanel .gd-row:nth-child(2){animation-delay:25ms}#gdNeeds .gd-line:nth-child(3),#memPanel .gd-row:nth-child(3){animation-delay:50ms}
  #memPanel .gd-row:nth-child(4){animation-delay:75ms}#memPanel .gd-row:nth-child(5){animation-delay:100ms}#memPanel .gd-row:nth-child(6){animation-delay:125ms}#memPanel .gd-row:nth-child(7){animation-delay:150ms}#memPanel .gd-row:nth-child(n+8){animation-delay:175ms}
  /* a finished job lands: one gold sweep across its line */
  #memPanel .tk-row.tk-new{position:relative;overflow:hidden}
  #memPanel .tk-row.tk-new::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;pointer-events:none;background:linear-gradient(100deg,transparent,var(--gold-tint) 40%,var(--gold-glow) 50%,var(--gold-tint) 60%,transparent);transform:translateX(-120%);animation:ybSweep 900ms var(--ease-out) 200ms 1 both}
  @keyframes ybSweep{to{transform:translateX(260%)}}
  /* a number that changes counts up (the credits pill) */
  .yb-tick{display:inline-block;animation:ybTick 360ms var(--ease-back)}
  @keyframes ybTick{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}
  /* the stepper as a strip of film: brass sprocket line for what is done */
  .stp-row.done:not(:last-child)::before{background:repeating-linear-gradient(180deg,var(--stp-done) 0 6px,transparent 6px 9px)!important}
  /* the voice turn card and the first minute get the same brass edge */
  .tn-card .tn-face,#frScreen .fr-card{box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 40%,transparent),var(--paper-shadow)}
  /* ONE TAB BAR IN THE APP (16 Oct 2026): inside the Flutter shell (html.yb-native-tabs, 82-store-compliance.js) its native bar
     is the menu - the page's bar is hidden and what sat above it drops to the bottom edge (the shell keeps the safe area) */
  html.yb-native-tabs #doorBar{display:none!important}
  html.yb-native-tabs body.in-chat .composer,html.yb-native-tabs body.in-chat .pcmini,html.yb-native-tabs body.in-chat .recbar{bottom:0!important}
  /* ===== THE LIT STUDIO (2026-10-05, docs/55-the-look.md "The lit studio"). The CEO: "dull and flat - think colours that
     make sense, visual aids, 3d, emotional engagement". Same spine (navy, gold, Fraunces, Public Sans), now with light,
     colour and weight: each door owns a colour family used as FILLED surfaces (its header band, icon tiles, the ground's
     wash), never as body text; five elevations with a top highlight so cards read as physical; convex buttons that sink
     when pressed. body[data-door] (set by barActive / menuDress) picks the family for the screen open now. Selectors carry
     a "body" so the screens' own injected sheets (equal specificity, later in the cascade) do not undo them. */
  :root{--yb-m1:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");--yb-m2:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l4 4L19 7'/%3E%3C/svg%3E");--yb-m3:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4V5z'/%3E%3Cpath d='M10 9a2 2 0 1 1 2.6 1.9c-.4.2-.6.5-.6 1M12 14h.01'/%3E%3C/svg%3E");--yb-m4:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 6 9-6'/%3E%3C/svg%3E");--yb-m5:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3L2 20h20L12 3zM12 10v4M12 17h.01'/%3E%3C/svg%3E");--yb-m6:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 10l-4 4 4 4M5 14h9a5 5 0 0 0 5-5V6'/%3E%3C/svg%3E");--yb-m7:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 96 30'%3E%3Cg fill='black'%3E%3Crect x='0' y='12' width='4' height='6' rx='2'/%3E%3Crect x='8' y='8' width='4' height='14' rx='2'/%3E%3Crect x='16' y='3' width='4' height='24' rx='2'/%3E%3Crect x='24' y='9' width='4' height='12' rx='2'/%3E%3Crect x='32' y='5' width='4' height='20' rx='2'/%3E%3Crect x='40' y='0' width='4' height='30' rx='2'/%3E%3Crect x='48' y='7' width='4' height='16' rx='2'/%3E%3Crect x='56' y='11' width='4' height='8' rx='2'/%3E%3Crect x='64' y='4' width='4' height='22' rx='2'/%3E%3Crect x='72' y='9' width='4' height='12' rx='2'/%3E%3Crect x='80' y='12' width='4' height='6' rx='2'/%3E%3Crect x='88' y='13' width='4' height='4' rx='2'/%3E%3C/g%3E%3C/svg%3E");
    --d-today:#C99A2E;--d-today-deep:#8A6514;--d-today-hi:#F1DC9B;
    --d-do:#2F6BFF;--d-do-deep:#1A3BB8;--d-do-hi:#8CB0FF;
    --d-sales:#16A05A;--d-sales-deep:#0A6337;--d-sales-hi:#74DCA3;
    --d-marketing:#BE3ECF;--d-marketing-deep:#6A21A8;--d-marketing-hi:#EE93F2;
    --d-operations:#0E9FAB;--d-operations-deep:#095C66;--d-operations-hi:#74DEE4;
    --d-money:#0E8C5F;--d-money-deep:#054A33;--d-money-hi:#E8BE57;
    --d-me:#5D6E8A;--d-me-deep:#323F58;--d-me-hi:#B3C1D8;
    --door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);
    --bg:#F3F0E9;--card:#FFFEFB;--line:#E4DFD3;--navy-hi:#2A4268;--navy-deep:#091424;
    --dc:var(--navy);--dc-deep:var(--navy-deep);--dc-hi:var(--gold);
    --hi:rgba(255,255,255,.85);--ring:rgba(24,32,48,.07);--sh:24,30,46;
    --e1:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 1px 2px rgba(var(--sh),.06),0 6px 16px -8px rgba(var(--sh),.16);
    --e2:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 2px 4px rgba(var(--sh),.06),0 14px 30px -12px rgba(var(--sh),.26);
    --e3:0 0 0 1px var(--ring),0 4px 10px rgba(var(--sh),.08),0 24px 48px -16px rgba(var(--sh),.34);
    --e4:0 -1px 0 var(--hi),0 -12px 48px -10px rgba(var(--sh),.38);
    --sunk:inset 0 1px 2px rgba(var(--sh),.09),inset 0 0 0 1px var(--ring);
    --prim-a:#26406A;--prim-b:#0F1E32;--prim-ink:var(--cream);
    --il-a:rgba(255,255,255,.93);--il-b:rgba(255,255,255,.5);--il-c:rgba(0,0,0,.24);--il-d:#FFC94D;
    --band-ink:#FFFFFF;--band-sub:rgba(255,255,255,.86);
    --ok:#15803D;--warn:#8A6514;--bad:#C2261D;--info:#2563EB}
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
    --d-today:#D8AD4C;--d-today-deep:#5E4A10;--d-today-hi:#F1DC9B;--d-do:#4F84FF;--d-do-deep:#122B78;--d-do-hi:#9AB8FF;
    --d-sales:#2DBB72;--d-sales-deep:#073D23;--d-sales-hi:#7FE2AC;--d-marketing:#CF5BDE;--d-marketing-deep:#3F1468;--d-marketing-hi:#F2A2F5;
    --d-operations:#22B6C1;--d-operations-deep:#063C43;--d-operations-hi:#86E6EB;--d-money:#25A874;--d-money-deep:#03301F;--d-money-hi:#EBC566;
    --d-me:#7E8FAC;--d-me-deep:#1E2738;--d-me-hi:#BCC9DE;
    --door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);
    --bg:#0A111D;--card:#141D2C;--line:#263247;--navy-hi:#24395C;--navy-deep:#060C16;
    --hi:rgba(255,255,255,.06);--ring:rgba(255,255,255,.05);--sh:0,0,0;
    --e1:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 8px 20px -10px rgba(0,0,0,.7);
    --e2:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 16px 34px -12px rgba(0,0,0,.8);
    --e3:0 0 0 1px var(--ring),0 24px 50px -14px rgba(0,0,0,.85);--e4:0 -1px 0 var(--hi),0 -16px 50px -10px rgba(0,0,0,.8);
    --prim-a:#2A4672;--prim-b:#14233C;--il-c:rgba(0,0,0,.35);--ok:#3CC47E;--warn:#D8AD4C;--bad:#F06A60;--info:#6EA2FF} }
  :root[data-theme="dark"]{
    --d-today:#D8AD4C;--d-today-deep:#5E4A10;--d-today-hi:#F1DC9B;--d-do:#4F84FF;--d-do-deep:#122B78;--d-do-hi:#9AB8FF;
    --d-sales:#2DBB72;--d-sales-deep:#073D23;--d-sales-hi:#7FE2AC;--d-marketing:#CF5BDE;--d-marketing-deep:#3F1468;--d-marketing-hi:#F2A2F5;
    --d-operations:#22B6C1;--d-operations-deep:#063C43;--d-operations-hi:#86E6EB;--d-money:#25A874;--d-money-deep:#03301F;--d-money-hi:#EBC566;
    --d-me:#7E8FAC;--d-me-deep:#1E2738;--d-me-hi:#BCC9DE;
    --door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);
    --bg:#0A111D;--card:#141D2C;--line:#263247;--navy-hi:#24395C;--navy-deep:#060C16;
    --hi:rgba(255,255,255,.06);--ring:rgba(255,255,255,.05);--sh:0,0,0;
    --e1:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 8px 20px -10px rgba(0,0,0,.7);
    --e2:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 16px 34px -12px rgba(0,0,0,.8);
    --e3:0 0 0 1px var(--ring),0 24px 50px -14px rgba(0,0,0,.85);--e4:0 -1px 0 var(--hi),0 -16px 50px -10px rgba(0,0,0,.8);
    --prim-a:#2A4672;--prim-b:#14233C;--il-c:rgba(0,0,0,.35);--ok:#3CC47E;--warn:#D8AD4C;--bad:#F06A60;--info:#6EA2FF}
  /* the screen's family */
  body[data-door="today"]{--dc:var(--d-today);--dc-deep:var(--d-today-deep);--dc-hi:var(--d-today-hi)}
  body[data-door="do"]{--dc:var(--d-do);--dc-deep:var(--d-do-deep);--dc-hi:var(--d-do-hi)}
  body[data-door="sales"]{--dc:var(--d-sales);--dc-deep:var(--d-sales-deep);--dc-hi:var(--d-sales-hi)}
  body[data-door="marketing"]{--dc:var(--d-marketing);--dc-deep:var(--d-marketing-deep);--dc-hi:var(--d-marketing-hi)}
  body[data-door="operations"]{--dc:var(--d-operations);--dc-deep:var(--d-operations-deep);--dc-hi:var(--d-operations-hi)}
  body[data-door="money"]{--dc:var(--d-money);--dc-deep:var(--d-money-deep);--dc-hi:var(--d-money-hi)}
  body[data-door="me"]{--dc:var(--d-me);--dc-deep:var(--d-me-deep);--dc-hi:var(--d-me-hi)}
  /* the ground: the door's light falls from the top and fades to a warm neutral (the grain stays, finer) */
  body{background-color:var(--bg);background-image:radial-gradient(130% 55% at center -12%,color-mix(in srgb,var(--dc) 24%,transparent),transparent 62%),radial-gradient(70% 40% at right top,color-mix(in srgb,var(--dc-hi) 10%,transparent),transparent 70%),radial-gradient(var(--grain) .8px,transparent 1.1px);background-size:100% 900px,100% 700px,3px 3px;background-repeat:no-repeat,no-repeat,repeat}
  /* the bars: lit navy, the door's own colour on the open door */
  body .topbar{background:linear-gradient(180deg,var(--navy-hi),var(--navy) 70%)}
  @media(max-width:880px){
    body #doorBar{background:linear-gradient(180deg,var(--navy),var(--navy-deep));--door-today:var(--d-today-hi);--door-do:var(--d-do-hi);--door-sales:var(--d-sales-hi);--door-marketing:var(--d-marketing-hi);--door-operations:var(--d-operations-hi);--door-money:var(--d-money-hi)}
    body #doorBar button .db-i{width:40px;height:28px;border-radius:14px;align-items:center;justify-content:center;transition:background-color var(--press-ms) var(--ease)}
    body #doorBar button.on{color:var(--dc)}
    body #doorBar button.on .db-i{background:color-mix(in srgb,var(--dc) 26%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
    body #doorBar button.on::before{background:var(--dc)}
  }
  @media(min-width:881px){ body #doorBar{background:color-mix(in srgb,var(--card) 70%,transparent)} body #doorBar button.on{background:color-mix(in srgb,var(--dc) 12%,var(--card));box-shadow:var(--e1)} }
  /* cards: physical, one weight lower than the thing to do */
  body #memPanel .gd-row,body #memPanel .tk-card,body #memPanel .st-card,body #memPanel .vd-card,body #memPanel .ns-card,body #memPanel .gd-tips,body #memPanel .gd-full #gdNeedsSec .gd-line,body #frScreen .fr-card{border-color:transparent;box-shadow:var(--e1);background:var(--card)}
  body .profmenu{box-shadow:var(--e3);border-color:transparent;border-radius:16px}
  /* buttons: convex, a highlight on top, sink 1px when pressed */
  body .gd-btn.prim,body .st-act.prim,body .fbtn.prim,body .send,body .mt-b.prim,body .st-ico.prim,body .sv-btn.go,body .ns-go,body #frScreen .fr-go{background:linear-gradient(180deg,var(--prim-a),var(--prim-b));color:var(--prim-ink);border-color:var(--prim-b);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 1px 0 rgba(var(--sh),.2),0 6px 14px -6px rgba(var(--sh),.5);text-shadow:0 1px 0 rgba(0,0,0,.25)}
  body .gd-btn:not(.prim),body .st-act:not(.prim),body .fbtn:not(.prim),body .gd-ib,body .gd-chip,body .st-chip{background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 93%,var(--ink)));border-color:color-mix(in srgb,var(--line) 70%,transparent);box-shadow:inset 0 1px 0 var(--hi),0 1px 2px rgba(var(--sh),.07)}
  body button{transition:transform 90ms var(--ease),box-shadow 120ms var(--ease),background-color var(--press-ms) var(--ease),border-color var(--press-ms) var(--ease),color var(--press-ms) var(--ease)}
  body .gd-btn:not(:disabled):active,body .st-act:not(:disabled):active,body .fbtn:not(:disabled):active,body .send:not(:disabled):active,body .gd-chip:active,body .st-chip:active,body .gd-ib:active,body .mt-b:not(:disabled):active,body #memPanel .gd-row:active,body #memPanel .gd-press:active{transform:translateY(1px);box-shadow:inset 0 1px 2px rgba(var(--sh),.18)}
  body .gd-chip .ic,body .st-chip .ic{color:var(--dc)}
  /* inputs are sunk into the card */
  body #memPanel input[type=text],body #memPanel input[type=email],body #memPanel input[type=tel],body #memPanel input[type=url],body #memPanel input[type=number],body #memPanel input[type=search],body #memPanel textarea:not(#gdBox),body #memPanel select{box-shadow:var(--sunk);border-color:transparent}
  body #memPanel input:focus,body #memPanel textarea:focus,body #memPanel select:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--dc) 25%,transparent),var(--sunk)}
  /* icon tiles: a bevelled object tinted from its own colour, with a contact shadow */
  body .gd-ric,body .gd-dic,body .ic-tint{background:linear-gradient(150deg,color-mix(in srgb,currentColor 9%,var(--card)),color-mix(in srgb,currentColor 24%,var(--card)));box-shadow:inset 0 1px 0 var(--hi),inset 0 -2px 0 color-mix(in srgb,currentColor 20%,transparent),0 4px 8px -3px color-mix(in srgb,currentColor 40%,transparent);border-radius:12px}
  body .gd-ric{width:42px;height:42px} body .gd-ric .ic{width:22px;height:22px}
  /* the header band: the screen's own colour, filled, with its illustration */
  .yb-band{position:relative;overflow:hidden;border-radius:22px;padding:20px 20px 18px;margin:0 0 20px;min-height:128px;color:var(--band-ink);background:linear-gradient(135deg,var(--bd-deep,var(--dc-deep)) 0%,color-mix(in srgb,var(--bd,var(--dc)) 84%,black) 70%,color-mix(in srgb,var(--bd,var(--dc)) 80%,var(--bd-hi,var(--dc-hi))) 125%);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 18px 36px -18px color-mix(in srgb,var(--bd,var(--dc)) 70%,transparent),0 2px 6px -2px rgba(var(--sh),.3)}
  .yb-band::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 120% at left top,rgba(255,255,255,.14),transparent 55%)}
  .yb-band>*{position:relative}
  .yb-band .yb-il{position:absolute;right:-6px;bottom:-8px;width:148px;height:118px;pointer-events:none;opacity:.98}
  .yb-band .yb-bt{position:relative;max-width:calc(100% - 118px)}
  .yb-band[data-door="today"]{--bd:var(--d-today);--bd-deep:var(--d-today-deep);--bd-hi:var(--d-today-hi)}
  .yb-band[data-door="do"]{--bd:var(--d-do);--bd-deep:var(--d-do-deep);--bd-hi:var(--d-do-hi)}
  .yb-band[data-door="sales"]{--bd:var(--d-sales);--bd-deep:var(--d-sales-deep);--bd-hi:var(--d-sales-hi)}
  .yb-band[data-door="marketing"]{--bd:var(--d-marketing);--bd-deep:var(--d-marketing-deep);--bd-hi:var(--d-marketing-hi)}
  .yb-band[data-door="operations"]{--bd:var(--d-operations);--bd-deep:var(--d-operations-deep);--bd-hi:var(--d-operations-hi)}
  .yb-band[data-door="money"]{--bd:var(--d-money);--bd-deep:var(--d-money-deep);--bd-hi:var(--d-money-hi)}
  .yb-band[data-door="me"]{--bd:var(--d-me);--bd-deep:var(--d-me-deep);--bd-hi:var(--d-me-hi)}
  .yb-band[data-door="navy"]{--bd:var(--navy-hi);--bd-deep:var(--navy-deep);--bd-hi:var(--gold)}
  body #memPanel .yb-band h2,body #memPanel .yb-band .t-title{color:var(--band-ink);font-family:var(--ff-display);font-weight:500;font-size:29px;line-height:1.12;letter-spacing:-.015em;text-shadow:0 1px 2px rgba(0,0,0,.18)}
  body #memPanel .yb-band .gd-says,body #memPanel .yb-band .gd-sum{color:var(--band-sub)}
  body #memPanel .yb-band .gd-dic{color:var(--band-ink)!important;background:rgba(255,255,255,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 4px 10px -4px rgba(0,0,0,.35)}
  body #memPanel .yb-band .gd-door-h{margin:0 0 8px}
  /* the spot illustrations, on a card: the door's own colours */
  .yb-il{display:block;--il-a:color-mix(in srgb,var(--dc) 10%,var(--card));--il-b:color-mix(in srgb,var(--dc) 45%,var(--card));--il-c:color-mix(in srgb,var(--dc) 70%,var(--ink));--il-d:var(--gold)}
  .yb-band .yb-il{--il-a:rgba(255,255,255,.93);--il-b:rgba(255,255,255,.5);--il-c:rgba(0,0,0,.24);--il-d:var(--d-today-hi)}
  /* sheets rise with depth of field (the backdrop dims and softens; the sheet itself is solid) */
  body #wbOv,body #pvOv,body .welcome{background:rgba(6,12,22,.46);-webkit-backdrop-filter:blur(3px) saturate(.9);backdrop-filter:blur(3px) saturate(.9)}
  body #wbOv>div,body #pvOv>div,body .welcome>div{box-shadow:var(--e4)}
  /* type: a clear focal point - confident titles, quiet eyebrows, room between groups */
  body #memPanel .mem-h h2{font-size:28px;font-weight:500;letter-spacing:-.015em}
  body #memPanel .gd-eyebrow{color:color-mix(in srgb,var(--dc) 55%,var(--sub));letter-spacing:.12em}
  body #memPanel .gd-sec{margin-bottom:28px}
  @media (prefers-reduced-motion: reduce){ body button{transition:none} }
  /* ----- the lit studio, Home and the doors (Home's order and columns: THE DESK, docs/79) */
  body #memPanel .gd-home.gd-hero,body #memPanel .gd-home.gd-full{display:flex;flex-direction:column}
  /* Home order and the desktop columns: THE DESK block at the end of this stylesheet (docs/79 "Where things go on Home") */
  body #memPanel .gd-hurate{flex:none;min-width:44px;min-height:36px;font-variant-numeric:tabular-nums}
  /* the sunrise: the day, the greeting, one line */
  body #memPanel .yb-sun{min-height:0;padding:16px 18px 16px}body #memPanel .yb-sun .yb-bt{max-width:calc(100% - 64px)}
  body #memPanel .yb-sun .gd-day{color:var(--d-today-hi);margin:0 0 6px;text-shadow:0 1px 1px rgba(0,0,0,.2)}
  body #memPanel .yb-sun .gd-greet{color:var(--band-ink);font-size:28px;line-height:1.1;margin:0 0 6px;text-shadow:0 1px 2px rgba(0,0,0,.2)}
  body #memPanel .yb-sun .gd-sum{margin:0;color:var(--band-sub);font-size:17px}
  body #memPanel .yb-sun .yb-il{width:104px;height:84px;right:-12px;bottom:-12px}
  /* what I did for you: the brand's own band, navy lit by gold, the outcome in Fraunces, its figure counted up */
  body #memPanel #gdDidSec.yb-band{padding:18px 20px 16px;min-height:0}
  body #memPanel #gdDidSec .gd-eyebrow{color:var(--gold);margin:0 0 6px} body #memPanel #gdDidSec .gd-eyebrow:after{background:linear-gradient(90deg,var(--gold),transparent);opacity:.5}
  body #memPanel #gdDidSec .gd-one{color:var(--band-ink);font-family:var(--ff-display);font-size:18px;line-height:1.35;max-width:calc(100% - 84px)}
  body #memPanel #gdDidSec .gd-more{color:var(--d-today-hi);font-family:var(--ff-text)}
  body #memPanel #gdDidSec .yb-il{width:88px;height:70px;right:-4px;bottom:-6px;--il-d:var(--gold)}
  body #memPanel #gdDidSec #gdSave,body #memPanel #gdDidSec #jbHome{color:var(--band-ink)}
  body #memPanel #gdDidSec #jbHome>*{color:var(--ink)}
  /* What's next (docs/51): the move leads, Do it + Not now, the job before it a quiet half-line - no glow of its own */
  body #memPanel #gdDidSec .gd-next{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  body #memPanel #gdDidSec .gd-nt{display:block}
  body #memPanel #gdDidSec .gd-nrow{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
  body #memPanel #gdDidSec .gd-ngo{min-width:96px}
  body #memPanel #gdDidSec .gd-after{background:none;border:0;padding:0;font:inherit;font-family:var(--ff-text);font-size:13px;color:var(--band-ink);opacity:.72;cursor:pointer;text-align:left}
  body #memPanel #gdDidSec .gd-after:hover{opacity:1;text-decoration:underline}
  .gd-ndis{display:block;background:none;border:0;min-height:36px;padding:0 6px;margin:0 0 -8px -6px;font:inherit;font-size:12.5px;font-weight:600;color:var(--sub,#5B6675);cursor:pointer;border-radius:8px;text-decoration:underline;text-underline-offset:3px}
  .gd-nfol{margin:-4px 0 10px;padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.gd-nfol .tk-ain{display:flex;gap:8px;align-items:center}.gd-nfol input{flex:1;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:12px;padding:0 12px;font:inherit;font-size:15px;background:var(--bg);color:var(--ink)}.gd-nfol .gd-btn{flex:none;min-height:44px}.gd-nfmore{font-size:12.5px;color:var(--sub);margin-top:6px}.gd-nferr{font-size:12.5px;font-weight:600;color:var(--bad);margin-top:6px}.gd-nfans:not(:empty){font-size:14px;line-height:1.5;color:var(--ink);background:var(--gold-tint,rgba(201,154,46,.12));border-radius:10px;padding:8px 11px;margin-top:6px}.gd-nferr:empty{display:none}   /* Tell me what to try (docs/17) */
  .gd-ndis:hover,.gd-ndis:focus-visible{color:var(--ink,#0F1E32);background:var(--bg,#FBF7EF)}
  .yb-fig{font-variant-numeric:tabular-nums lining-nums;color:var(--d-today-hi);font-weight:600}
  /* Needs you: each line a card with a status tile - amber waits for your OK, blue a question or a reply, red a problem */
  body #memPanel #gdNeeds .gd-line{position:relative;background:var(--card);border:0;border-radius:16px;padding:14px 14px 14px 66px;margin:0 0 10px;box-shadow:var(--e1);--st:var(--dc)}
  body #memPanel #gdNeeds .gd-line.top{box-shadow:var(--e2);padding-top:16px;padding-bottom:16px}
  body #memPanel #gdNeeds .gd-line::before{content:"";position:absolute;left:14px;top:50%;width:40px;height:40px;margin-top:-20px;border-radius:12px;background:linear-gradient(150deg,color-mix(in srgb,var(--st) 10%,var(--card)),color-mix(in srgb,var(--st) 26%,var(--card)));box-shadow:inset 0 1px 0 var(--hi),inset 0 -2px 0 color-mix(in srgb,var(--st) 22%,transparent),0 4px 8px -3px color-mix(in srgb,var(--st) 45%,transparent)}
  body #memPanel #gdNeeds .gd-line::after{content:"";position:absolute;left:24px;top:50%;width:20px;height:20px;margin-top:-10px;background:var(--st);-webkit-mask:var(--glyph) center/contain no-repeat;mask:var(--glyph) center/contain no-repeat}
  body #memPanel #gdNeeds .gd-line{--glyph:var(--yb-m1)}
  body #memPanel #gdNeeds .gd-k-held{--st:var(--warn);--glyph:var(--yb-m2)}
  body #memPanel #gdNeeds .gd-k-asking{--st:var(--info);--glyph:var(--yb-m3)}
  body #memPanel #gdNeeds .gd-k-email,body #memPanel #gdNeeds .gd-k-lens,body #memPanel #gdNeeds .gd-k-verify{--st:var(--bad);--glyph:var(--yb-m4)}
  body #memPanel #gdNeeds .gd-k-verify{--st:var(--gold)}
  body #memPanel #gdNeeds .gd-k-failed{--st:var(--bad);--glyph:var(--yb-m5)}
  body #memPanel #gdNeeds .gd-k-replies{--st:var(--info);--glyph:var(--yb-m6)}
  body #memPanel #gdNeeds .gd-line .gd-lt{font-size:16px}
  body #memPanel #gdNeeds .gd-line.top .gd-lt{font-family:var(--ff-display);font-size:19px;line-height:1.3}
  body #memPanel #gdNeeds .gd-line.top .gd-lt small{font-family:var(--ff-text)}
  @media(max-width:400px){ body #memPanel #gdNeeds .gd-line{padding-left:58px;padding-right:12px} body #memPanel #gdNeeds .gd-line::before{left:10px;width:36px;height:36px;margin-top:-18px} body #memPanel #gdNeeds .gd-line::after{left:18px} body #memPanel #gdNeeds .gd-line.top .gd-lt{font-size:17px} }
  /* all clear: a calm picture and one warm line */
  .yb-calm{display:flex;align-items:center;gap:14px;background:var(--card);border-radius:18px;padding:12px 16px;box-shadow:var(--e1)}
  .yb-calm .yb-il{flex:none;width:88px;height:70px;--il-a:color-mix(in srgb,var(--d-today) 14%,var(--card));--il-b:color-mix(in srgb,var(--d-today) 40%,var(--card));--il-c:color-mix(in srgb,var(--d-today) 55%,var(--ink));--il-d:var(--d-today)}
  .yb-calm b{display:block;font-family:var(--ff-display);font-weight:500;font-size:18px;line-height:1.25;color:var(--ink)}
  .yb-calm small{display:block;font-size:14px;line-height:1.4;color:var(--sub);margin-top:2px}
  /* the box: a raised object with a lit gold rim, the field sunk into it */
  body #memPanel .gd-box{border:1.5px solid transparent;border-radius:20px;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(140deg,var(--gold),color-mix(in srgb,var(--dc) 55%,var(--gold)) 45%,color-mix(in srgb,var(--gold) 30%,var(--line))) border-box;box-shadow:var(--e2)}
  body #memPanel .gd-box:focus-within{box-shadow:0 0 0 4px var(--gold-tint),var(--e2)}
  body #memPanel .gd-box textarea{font-size:17px}
  body #memPanel .gd-ask{font-weight:500}
  body #memPanel .gd-chip{border-radius:14px;min-height:44px}
  /* News Today: a lit player with a voice wave behind the title */
  body #memPanel .gd-hu-bar{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--navy-hi),var(--navy) 60%,var(--navy-deep));box-shadow:var(--e2);border-radius:18px;padding:10px 14px;min-height:64px}
  body #memPanel .gd-hu-bar::after{content:"";position:absolute;right:14px;top:50%;width:96px;height:30px;margin-top:-15px;background:var(--gold);opacity:.35;pointer-events:none;-webkit-mask:var(--yb-m7) center/contain no-repeat;mask:var(--yb-m7) center/contain no-repeat}
  body.pc-playing #memPanel .gd-hu-bar::after{opacity:.7;animation:ybWave 1.1s ease-in-out infinite alternate}
  @keyframes ybWave{from{transform:scaleY(.55)}to{transform:scaleY(1)}}
  body #memPanel .gd-hup{width:44px;height:44px;background:linear-gradient(180deg,var(--d-today-hi),var(--gold));box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 4px 10px -3px rgba(0,0,0,.5)}
  body #memPanel .gd-hut{position:relative;z-index:1;padding-right:70px}
  /* a door: its band, then rows that are objects (the tile carries the colour; no stripe) */
  body #memPanel .gd-row{border:0;border-radius:16px;padding:12px 14px;margin-bottom:10px;gap:14px;min-height:64px}
  body #memPanel .gd-row .gd-rl{font-size:16.5px}
  body #memPanel .gd-rch{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--dc) 9%,var(--card));color:var(--dc)}
  body #memPanel .gd-row:hover{box-shadow:var(--e2)}
  body #memPanel .gd-grp{color:color-mix(in srgb,var(--dc) 60%,var(--sub));margin-top:20px}
  /* the full News Today card: the same lit navy, raised, the play button a gold object */
  /* ----- the lit studio, My jobs, a job's card, Your OK, the stepper: status as colour + word + shape, progress as a ring */
  body #memPanel .tk-card{border:0;border-radius:18px;padding:14px 16px;box-shadow:var(--e1);position:relative}
  body #memPanel .tk-card.tks-needs,body #memPanel .tk-card.tks-question{box-shadow:inset 4px 0 0 var(--warn),var(--e2)}
  body #memPanel .tk-card.tks-working,body #memPanel .tk-card.tks-running{box-shadow:inset 4px 0 0 var(--info),var(--e1)}
  body #memPanel .tk-card.tks-paused{box-shadow:inset 4px 0 0 var(--muted),var(--e1)}
  body #memPanel .tk-goal{font-family:var(--ff-display);font-weight:500;font-size:17.5px;line-height:1.3}
  /* status pills speak the semantic set in light and dark (the inline light colours are the fallback) */
  body #memPanel .tk-pill{border-radius:999px;padding:3px 11px;font-size:11.5px;letter-spacing:.01em}
  body #memPanel .tk-card.tks-needs .tk-pill,body #memPanel .tk-card.tks-question .tk-pill,body #memPanel .tk-card.tks-partly .tk-pill,body #memPanel .tk-card.tks-blocked .tk-pill{color:var(--warn)!important;background:var(--warn-tint)!important}
  body #memPanel .tk-card.tks-working .tk-pill,body #memPanel .tk-card.tks-running .tk-pill{color:var(--info)!important;background:var(--info-tint)!important}
  body #memPanel .tk-card.tks-done .tk-pill{color:var(--ok)!important;background:var(--ok-tint)!important}
  body #memPanel .tk-card.tks-failed .tk-pill,body #memPanel .tk-card.tks-notdone .tk-pill{color:var(--bad)!important;background:var(--bad-tint)!important}
  /* the progress ring: steps done of total, in the card's status colour */
  .yb-ring{float:right;position:relative;width:46px;height:46px;margin:0 0 6px 12px;--rc:var(--info)}
  .yb-ring svg{width:46px;height:46px;transform:rotate(-90deg);display:block}
  .yb-ring .yb-rt{fill:none;stroke:color-mix(in srgb,var(--rc) 16%,var(--line));stroke-width:4}
  .yb-ring .yb-ra{fill:none;stroke:var(--rc);stroke-width:4;stroke-linecap:round;transition:stroke-dasharray .5s var(--ease)}
  .yb-ring b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--ff-display);font-weight:600;font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
  .tks-needs .yb-ring,.tks-question .yb-ring{--rc:var(--warn)} .tks-done .yb-ring,.tks-partly .yb-ring{--rc:var(--ok)} .tks-failed .yb-ring,.tks-notdone .yb-ring,.tks-blocked .yb-ring{--rc:var(--bad)}
  /* what waits for the owner: an amber sheet; a question: a blue one */
  body #memPanel .tk-held{background:linear-gradient(180deg,color-mix(in srgb,var(--warn) 7%,var(--card)),color-mix(in srgb,var(--warn) 12%,var(--card)));border:0;border-radius:14px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--warn) 25%,transparent)}
  body #memPanel .tk-heldh{color:var(--warn)}
  body #memPanel .tk-q{background:linear-gradient(180deg,color-mix(in srgb,var(--info) 6%,var(--card)),color-mix(in srgb,var(--info) 11%,var(--card)));border:0;border-radius:14px;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--info) 25%,transparent)}
  body #memPanel .tk-qq{color:var(--ink);font-family:var(--ff-display);font-weight:500;font-size:17px} body #memPanel .tk-qw{color:var(--sub)}
  body #memPanel .tk-opt{border:0;box-shadow:var(--e1);border-radius:12px}
  body #memPanel .tk-ain input{border:0;box-shadow:var(--sunk)}
  body #memPanel .tk-act{border:0;box-shadow:var(--e1);border-radius:12px;color:var(--info)}
  body #memPanel .tk-work{background:var(--info-tint);border:0;border-radius:12px;color:var(--info)}
  body #memPanel .tk-bar{height:6px;border-radius:6px;background:color-mix(in srgb,var(--info) 14%,var(--line))} body #memPanel .tk-bar i{background:linear-gradient(90deg,var(--info),color-mix(in srgb,var(--info) 60%,var(--gold)))}
  /* the finished log: a card of lines, each mark a small object; a job that lands draws its tick */
  body #memPanel .tk-log{border:0;border-radius:18px;box-shadow:var(--e1)}
  body #memPanel .tk-mark{width:28px;height:28px;box-shadow:inset 0 1px 0 var(--hi),0 2px 5px -2px rgba(var(--sh),.35)}
  body #memPanel .tk-mark.tks-done{background:linear-gradient(160deg,var(--ok),color-mix(in srgb,var(--ok) 70%,black));color:var(--card)}
  body #memPanel .tk-row.tk-new .tk-mark.tks-done{animation:ybTickIn 700ms var(--ease-back) 250ms both}
  @keyframes ybTickIn{0%{clip-path:inset(0 100% 0 0);transform:translateY(2px)}60%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 0);transform:none;box-shadow:0 0 0 6px var(--ok-tint)}}
  body #memPanel .tk-sec{color:color-mix(in srgb,var(--dc) 55%,var(--sub));letter-spacing:.1em}
  /* the stepper: a lit track - done nodes solid and glowing, the line filled */
  .stp-dot{box-shadow:inset 0 1px 0 var(--hi),0 2px 5px -2px rgba(var(--sh),.3)}
  .stp-row.done .stp-dot{background:linear-gradient(160deg,var(--stp-done),color-mix(in srgb,var(--stp-done) 70%,black));box-shadow:0 0 0 4px color-mix(in srgb,var(--stp-done) 15%,transparent)}
  .stp-row.failed .stp-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--stp-failed) 15%,transparent)}
  /* Your OK: every item an object with its amber tile; the bar a raised gold strip */
  body #memPanel .ns-card{border:0;border-radius:18px;box-shadow:var(--e1)}
  body #memPanel .ns-bar{border:0;border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--gold) 14%,var(--card)),color-mix(in srgb,var(--gold) 26%,var(--card)));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 40%,transparent),var(--e1)}
  body #memPanel .ns-item{position:relative;padding-left:54px;min-height:56px}
  body #memPanel .ns-item::before{content:"";position:absolute;left:0;top:14px;width:38px;height:38px;border-radius:12px;background:linear-gradient(150deg,color-mix(in srgb,var(--warn) 10%,var(--card)),color-mix(in srgb,var(--warn) 26%,var(--card)));box-shadow:inset 0 1px 0 var(--hi),0 4px 8px -3px color-mix(in srgb,var(--warn) 45%,transparent)}
  body #memPanel .ns-item::after{content:"";position:absolute;left:9px;top:23px;width:20px;height:20px;background:var(--warn);-webkit-mask:var(--yb-m2) center/contain no-repeat;mask:var(--yb-m2) center/contain no-repeat}
  /* Your OK, one box per thing (CEO 30 Oct 2026: "if more than one on the page then color differentiate or border so that they dont
     flow one to the next"): each row its own bordered box with the lean card's 4 px state band (docs/232) - waiting amber, approved
     green, skipped grey, did not go red; the who line on top (the way it goes in a small label, then who); the press's state line */
  body .ns-item.nsb{border:1px solid var(--line);border-radius:12px;padding:12px 12px 12px 18px;margin:10px 0 0;background:var(--card);box-shadow:inset 4px 0 0 var(--nsb,var(--warn))}
  .nsb-wait{--nsb:var(--warn)}.nsb-ok{--nsb:var(--ok)}.nsb-skip{--nsb:var(--muted)}.nsb-bad{--nsb:var(--bad)}
  body #memPanel .ns-item.nsb{padding-left:66px}
  body #memPanel .ns-item.nsb::before{left:16px;top:12px;background:linear-gradient(150deg,color-mix(in srgb,var(--nsb,var(--warn)) 10%,var(--card)),color-mix(in srgb,var(--nsb,var(--warn)) 26%,var(--card)))}
  body #memPanel .ns-item.nsb::after{left:25px;top:21px;background:var(--nsb,var(--warn))}
  .ns-who{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin:0 0 4px}.ns-who b{font-weight:700;overflow-wrap:anywhere}
  .ns-ch{flex:none;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sub);border:1px solid var(--line);border-radius:999px;padding:1px 8px;line-height:1.5}
  .ns-done{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:8px;padding:8px 10px;border-radius:10px;min-height:44px}.ns-done .ns-st .ic{width:14px;height:14px;vertical-align:-2px}
  body #memPanel .ns-h{font-family:var(--ff-display);font-weight:500}
  /* an approval presses in and confirms: the pressed Approve sinks, then the card it settles takes one gold sweep */
  body #memPanel .tk-card.yb-ok{animation:ybOk 900ms var(--ease-out) 1}
  @keyframes ybOk{0%{box-shadow:0 0 0 0 var(--gold-glow),var(--e1)}40%{box-shadow:0 0 0 8px var(--gold-tint),var(--e2)}100%{box-shadow:0 0 0 0 transparent,var(--e1)}}
  .yb-pressed{animation:ybPress 650ms var(--ease-out) 1}
  @keyframes ybPress{0%{box-shadow:0 0 0 0 var(--gold-glow)}35%{box-shadow:0 0 0 7px var(--gold-tint),0 0 18px 2px var(--gold-glow)}100%{box-shadow:0 0 0 0 transparent}}
  @media (prefers-reduced-motion: reduce){ body #memPanel .tk-row.tk-new .tk-mark.tks-done,body #memPanel .tk-card.yb-ok,.yb-pressed{animation:none} .yb-ring .yb-ra{transition:none} }
  /* ----- the lit studio, money and people: monograms, the money band, an overdue ring */
  .yb-mono{position:relative;flex:none;width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--card);background:linear-gradient(150deg,var(--mh),var(--mh2));box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 3px 6px -2px rgba(var(--sh),.35);text-shadow:0 1px 0 rgba(0,0,0,.2);margin-top:2px}
  .yb-mono .yb-mr{position:absolute;inset:-5px;width:46px;height:46px;transform:rotate(-90deg)}
  .yb-mono .yb-mr circle{fill:none;stroke:var(--bad);stroke-width:2.6;stroke-linecap:round}
  .yb-mono-r{margin:4px 4px 4px 4px}
  body #memPanel .yb-moh .yb-bl{font-size:13.5px;color:var(--band-sub);font-weight:600}
  body #memPanel .yb-moh .yb-big{font-family:var(--ff-display);font-size:38px;line-height:1.1;margin:2px 0 8px}
  body #memPanel .yb-moh .yb-big .yb-fig{color:var(--band-ink);font-weight:500}
  .yb-split{height:8px;border-radius:8px;background:rgba(255,255,255,.22);overflow:hidden;max-width:220px;box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}
  .yb-split i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--d-today-hi),var(--bad))}
  body #memPanel .yb-band .yb-bs{font-size:14px;margin-top:6px;font-weight:600}
  /* the first minute: its cards raised, its headings in the display face */
  body #frScreen .fr-card{border-radius:20px;box-shadow:0 0 0 1px color-mix(in srgb,var(--gold) 35%,transparent),var(--e2)}
  /* empty lists say what I can do there, quietly, on a soft tinted card */
  body #memPanel .tk-empty,body #memPanel .gd-one.sub{background:color-mix(in srgb,var(--dc) 5%,var(--card));border-radius:14px;padding:12px 14px;box-shadow:var(--e1)}
  body #memPanel .yb-band .yb-bad{color:var(--d-today-hi)} body #memPanel .yb-band .yb-good{color:var(--d-sales-hi)}
  /* ----- the lit studio, every other screen through the shared parts: the title's icon a tile in the screen's colour,
     one-step-at-a-time cards and setting groups as objects, the voice card with a living wave, simple mode's button lit */
  body #memPanel .mem-h h2 .ic-h{width:38px;height:38px;padding:8px;box-sizing:border-box;border-radius:12px;color:var(--dc);vertical-align:-9px;background:linear-gradient(150deg,color-mix(in srgb,var(--dc) 9%,var(--card)),color-mix(in srgb,var(--dc) 24%,var(--card)));box-shadow:inset 0 1px 0 var(--hi),inset 0 -2px 0 color-mix(in srgb,var(--dc) 20%,transparent),0 4px 8px -3px color-mix(in srgb,var(--dc) 40%,transparent)}
  body #memPanel .sf-step,body #memPanel .sf-group,body #memPanel .sf-cardline{border:0;border-radius:16px;box-shadow:var(--e1);background:var(--card)}
  body #memPanel .sf-pick{border-color:transparent;background:linear-gradient(180deg,var(--card),color-mix(in srgb,var(--card) 93%,var(--ink)));box-shadow:inset 0 1px 0 var(--hi),0 1px 2px rgba(var(--sh),.08),0 0 0 1px var(--ring)}
  body #memPanel .sf-q{font-family:var(--ff-display);font-weight:500;font-size:16.5px}
  body .tn-face{border-radius:18px;box-shadow:var(--e2)}
  body .tn-b{background:linear-gradient(135deg,var(--navy-hi),var(--navy) 60%,var(--navy-deep))}
  body .tn-b::after{content:"";position:absolute;right:14px;bottom:12px;width:84px;height:26px;background:var(--gold);opacity:.55;pointer-events:none;-webkit-mask:var(--yb-m7) center/contain no-repeat;mask:var(--yb-m7) center/contain no-repeat;animation:ybWave 1.1s ease-in-out infinite alternate;transform-origin:center}
  body .vc-sheet{background:linear-gradient(180deg,var(--navy-hi),var(--navy) 40%,var(--navy-deep));box-shadow:var(--e4)}
  body .sm{background-image:radial-gradient(120% 50% at center top,color-mix(in srgb,var(--gold) 14%,transparent),transparent 65%)}
  body .sm-btn{background:radial-gradient(circle at left 35% top 30%,var(--d-today-hi),var(--gold) 55%,color-mix(in srgb,var(--gold) 70%,black));box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -6px 14px rgba(0,0,0,.18),0 14px 30px -8px var(--gold-glow),0 0 0 8px var(--gold-tint)}
  body .sm-btn:active{transform:translateY(2px);box-shadow:inset 0 2px 8px rgba(0,0,0,.25),0 6px 14px -6px var(--gold-glow)}
  @media (prefers-reduced-motion: reduce){ body .tn-b::after{animation:none} }
  body .hu-card{background:linear-gradient(135deg,var(--navy-hi),var(--navy) 55%,var(--navy-deep));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),var(--e2);border-radius:20px}
  @media (prefers-reduced-motion: reduce){ body.pc-playing #memPanel .gd-hu-bar::after{animation:none} }
  /* ===== THE DESK (2026-10-09, docs/79 "Where things go on Home"). The CEO: "improve the look for when people are on
     desktop ... the main thing is them to tell us and the daily one will be the most used to start with". Home's markup is
     the greeting, a main column (.gd-main: her line, the pill, Needs you, Working on, Done, News Today) and a side column (.gd-side:
     What can I do for you?, Relationships, What's next). Below the desk the two wrappers are see-through (display:contents)
     and ONE column is ordered here; from 1180px they are two columns on a centred 1280px grid. Tokens only. */
  body.gd-home-on #memPanel .gd-home>.gd-main,body.gd-home-on #memPanel .gd-home>.gd-side{display:contents}
  body.gd-home-on #memPanel .gd-home{display:flex;flex-direction:column}
  /* HOME, style release 1 (board 2, CEO 20 Oct 2026): one screen answers "what is Jasmine doing for me?" - the greeting, her line,
     the live call's slot, the one ask pill, Needs you, Working on, Done in one line; then News Today and the quiet foot */
  /* below the desk ONE column, ordered here; the desk (1180px up) keeps the markup's order in each of its two columns */
  @media(max-width:1179px){
    body.gd-home-on #memPanel .gd-home .gd-hello{order:0}
    body.gd-home-on #memPanel .gd-home #gdHer{order:1}
    body.gd-home-on #memPanel .gd-home [data-live-slot]{order:2}
    body.gd-home-on #memPanel .gd-home .gd-boxsec{order:3}
    body.gd-home-on #memPanel .gd-home #gdFive{order:4}
    body.gd-home-on #memPanel .gd-home #gdTips{order:4}
    body.gd-home-on #memPanel .gd-home #gdJobsRow{order:6}
    body.gd-home-on #memPanel .gd-home #gdNeedsSec{order:7}
    body.gd-home-on #memPanel .gd-home #huHome{order:5}
    body.gd-home-on #memPanel .gd-home #gdDidSec{order:9}
    body.gd-home-on #memPanel .gd-home #gdRelSec{order:10}
    body.gd-home-on #memPanel .gd-home #nsAwayHome{order:11}
    body.gd-home-on #memPanel .gd-home #dvHome{order:12}
    body.gd-home-on #memPanel .gd-home #fwHome{order:13}
    body.gd-home-on #memPanel .gd-home #gdMsd{order:14}
    body.gd-home-on #memPanel .gd-home #gdMore{order:15}
  }
  body.gd-home-on #memPanel .gd-home #gdForYouSec{display:none}   /* the second "Found for you": the strip (#fwHome) and More she can do carry it; What can I do for you? stays on the Me menu and Find */
  /* THE LIVING TODAY (YESREEL, v852, 23 Oct 2026): while the alive chunk has painted #gdAlive it sets html.al-today, and Today carries the greeting,
     her line, the live call, the numbers, the week and what needs them. The old sections step back so nothing says a thing twice; the front-door box,
     the finds, More she can do, Relationships and What's next stay. The class gone (no chunk, feeds failed, signed out), every section returns. */
  html.al-today body #memPanel .gd-home .gd-hello,html.al-today body #memPanel .gd-home #gdHer,html.al-today body #memPanel .gd-home #whLine,html.al-today body #memPanel .gd-home [data-live-slot="home"],html.al-today body #memPanel .gd-home #gdKpis,html.al-today body #memPanel .gd-home #gdWeek,html.al-today body #memPanel .gd-home #gdNeedsSec,html.al-today body #memPanel .gd-home #gdJobsRow{display:none}
  [data-live-slot]:empty{display:none}
  /* one rhythm: 20px between sections on a phone, 26px from a tablet up */
  body.gd-home-on #memPanel .gd-home .gd-sec{margin:0 0 20px}
  body.gd-home-on #memPanel .gd-home .gd-sec:empty,body.gd-home-on #memPanel .gd-home .gd-sec[hidden]{display:none;margin:0}
  body.gd-home-on #memPanel .gd-home>.gd-hello{margin:0 0 6px}
  /* the greeting: the date eyebrow over the Fraunces title (the credits chip stays in the top bar) */
  body #memPanel .gd-hello{min-width:0}
  body #memPanel .gd-hello .gd-day{display:block;margin:0 0 6px;font-family:var(--ff-text,inherit);font-size:12px;line-height:1;font-weight:650;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
  body #memPanel .gd-hello .gd-hl{margin:0;font-family:var(--ff-display);font-size:28px;line-height:1.15;font-weight:500;color:var(--ink);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body #memPanel .gd-hello .gd-greet{display:block;font-size:inherit;margin:0;color:var(--ink)}
  /* My day: one small round button at the greeting's right (John 31 Oct 2026); the relationship rows: who, why, the actions, three lines each */
  body #memPanel .gd-hello{position:relative;padding-right:48px}
  body #memPanel .gd-hello .gd-dayb{position:absolute;right:0;bottom:2px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
  body #memPanel .gd-hello .gd-dayb .ic{width:18px;height:18px}
  body #memPanel .gd-line.gd-rel3{display:grid;grid-template-rows:auto auto auto;gap:4px;padding:10px 0}
  body #memPanel .gd-rel3-who{font-weight:700}
  body #memPanel .gd-rel3-why{font-size:13px;color:var(--sub)}
  body #memPanel .gd-rel3-act{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
  /* her line: her small face and one sentence counted from real data; what happened since (#whLine) under it */
  body #memPanel .gd-her{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px}
  body #memPanel .gd-her:not(:has(.gd-hertx:not([hidden]))):not(:has(#whLine:not([hidden]))){display:none}
  body #memPanel .gd-face{flex:none;width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--gold-tint)}
  body #memPanel .gd-hert{flex:1;min-width:0}
  body #memPanel .gd-hertx{margin:4px 0 0;font-family:var(--ff-text,inherit);font-size:16px;line-height:1.35;color:var(--sub)}
  body #memPanel .gd-hertx b{font-weight:600;color:var(--ink)}
  body #memPanel .gd-her .wh-line{margin:8px 0 0}
  body #memPanel .gd-her .wh-who{display:none}
  /* THE ASK PILL: one line, 50px, the mic, the file button, the + roll-up and the round arrow. While it is empty and untouched a gold caret
     breathes where the typing starts - only while the box IS the screen's one cue (nextCue picked its arrow), so an Approve
     that outranks it never makes a second glow. Still under reduced motion. */
  body.gd-home-on #memPanel .gd-boxsec .gd-box.gd-pill,body #memPanel .tk-ask .gd-box.gd-pill{display:flex;flex-direction:row;align-items:center;gap:6px;min-height:50px;box-sizing:border-box;padding:7px 7px 7px 18px;border-radius:25px;background:var(--card);border:1px solid var(--line);box-shadow:var(--e1)}
  body #memPanel .gd-pill .gd-tw{position:relative;display:block;flex:1;min-width:0}
  body.gd-home-on #memPanel .gd-boxsec .gd-box.gd-pill,body #memPanel .tk-ask .gd-box.gd-pill{min-height:100px;align-items:flex-end;padding:10px 10px 10px 18px;border-radius:28px}   /* double height (John 24 Oct 2026, v859: "double height the text box for input"; My jobs too, 28 Oct 2026, v920: "duoble height the input box") */
  body.gd-home-on #memPanel .gd-boxsec .gd-pill #gdBox,body #memPanel .tk-ask .gd-pill #tkGoal{min-height:72px}
  body #memPanel .gd-pill #gdBox,body #memPanel .gd-pill #tkGoal{display:block;width:100%;margin:0;padding:6px 0;min-height:24px;max-height:calc(9em + 12px);font-size:16px;line-height:1.5;overflow-y:auto;caret-color:var(--gold);white-space:pre-wrap}
  body #memPanel .gd-pill #gdBox::placeholder,body #memPanel .gd-pill #tkGoal::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--sub)}
  body #memPanel .gd-pill .gd-ib{flex:none;width:36px;height:36px;border-radius:50%;border:0;background:var(--sunk,var(--bg));color:var(--sub)}
  body #memPanel .gd-pill .gd-ib.gd-talk{width:36px;padding:0;color:var(--gold)}
  /* the + (add a transcript, a link, a file...): gold, in a still gold ring (John 28 Oct 2026, v920: "not so easy to see maybe glow circle gold
     around it or just + in gold and glow"). Still, never a pulse: the screen's one moving cue stays nextCue's (docs/55) */
  body #memPanel .gd-pill .gd-ib.gd-tool{color:var(--gold);background:var(--card);box-shadow:inset 0 0 0 1.5px var(--gold),0 0 10px rgba(201,154,46,.45)}
  body #memPanel .gd-pill .gd-ib.gd-tool svg{stroke-width:2.4}
  body #memPanel .gd-pill .gd-go{flex:none;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border-radius:50%;font-size:18px;line-height:1}
  @media(max-width:419px){ body.gd-home-on #memPanel .gd-boxsec .gd-box.gd-pill,body #memPanel .tk-ask .gd-box.gd-pill{gap:4px;padding-left:14px}
    body #memPanel .gd-pill .gd-ib,body #memPanel .gd-pill .gd-go,body #memPanel .gd-pill .gd-ib.gd-talk{width:34px;min-width:34px;height:34px;min-height:34px} }
  /* My jobs, lean (docs/231): the same pill as Home's box, then ONE row of three filter chips; no tiles, no 2px rules */
  body #memPanel .tk-ask{margin:2px 0 10px}
  body #memPanel .tk-ask .tk-msg:empty{display:none}
  body #memPanel .tk-chips{display:flex;gap:8px;margin:0 0 6px;overflow-x:auto;scrollbar-width:none}
  body #memPanel .tk-chips[hidden]{display:none}
  body #memPanel .tk-chip{flex:none;min-height:36px;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:13.5px;font-weight:600;box-shadow:none;white-space:nowrap;cursor:pointer}
  body #memPanel .tk-chip b{font-variant-numeric:tabular-nums}
  body #memPanel .tk-chip[aria-pressed="true"]{background:var(--ink);color:var(--card);border-color:var(--ink)}
  body #memPanel .tk-chip:disabled{opacity:.55;cursor:default}
  /* the chips: ONE quiet row under the pill, small outline pills with their icon, one line that scrolls sideways and never
     wraps; never a glow (homeChips, HOME_CHIPS_MAX, a profile's own three first) */
  body.gd-home-on #memPanel .gd-boxsec .gd-chips{display:flex;flex-wrap:nowrap;gap:8px;margin-top:10px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body.gd-home-on #memPanel .gd-boxsec .gd-chips::-webkit-scrollbar{display:none}
  body.gd-home-on #memPanel .gd-boxsec .gd-chips:empty{display:none}
  /* the action pills (John 24 Oct 2026, v859): the outcome in bold, the why under it, three light professional tints - sapphire, emerald, stone - no gold */
  body.gd-home-on #memPanel .gd-boxsec .gd-chip{flex:none;display:flex;align-items:center;gap:9px;min-height:44px;max-width:220px;padding:7px 14px 7px 11px;border-radius:16px;border:1px solid transparent;background:var(--info-tint);color:var(--ink);text-align:start;font-size:13.5px;font-weight:600;box-shadow:none}
  body.gd-home-on #memPanel .gd-boxsec .gd-chip .ic{flex:none;width:17px;height:17px;color:var(--info)}
  body.gd-home-on #memPanel .gd-boxsec .gd-chip-tx{display:flex;flex-direction:column;min-width:0;line-height:1.25}
  body.gd-home-on #memPanel .gd-boxsec .gd-chip-tx>b{font-size:13.5px;font-weight:700;white-space:nowrap}
  body.gd-home-on #memPanel .gd-boxsec .gd-chip-tx>span{font-size:13px;font-weight:500;color:var(--sub);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  body.gd-home-on #memPanel .gd-boxsec .gd-chip-t2{background:var(--ok-tint)}body.gd-home-on #memPanel .gd-boxsec .gd-chip-t2 .ic{color:var(--ok)}
  body.gd-home-on #memPanel .gd-boxsec .gd-chip-t3{background:color-mix(in srgb,var(--ink) 7%,var(--card))}body.gd-home-on #memPanel .gd-boxsec .gd-chip-t3 .ic{color:var(--sub)}
  /* the five live things (John 24 Oct 2026, v859; docs/237): a word for what it is, the thing, one line more; a colour band for the kind - amber the one ask, green done, sapphire to read */
  body.gd-home-on #memPanel .gd-five{display:grid;gap:8px}
  body.gd-home-on #memPanel .gd-five[hidden]{display:none}
  body.gd-home-on #memPanel .gd-5c{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:44px;padding:11px 14px 12px 14px;border-radius:16px;border:1px solid var(--line);border-left:4px solid var(--info);background:var(--card);color:var(--ink);text-align:start;box-shadow:var(--e1)}
  body.gd-home-on #memPanel .gd-5c-k{font-size:13px;font-weight:700;color:var(--info)}
  body.gd-home-on #memPanel .gd-5c-t{font-size:15.5px;font-weight:650;line-height:1.3;color:var(--ink)}
  body.gd-home-on #memPanel .gd-5c-s{font-size:13.5px;line-height:1.35;color:var(--sub)}
  body.gd-home-on #memPanel .gd-5c-warn{border-left-color:var(--warn);background:var(--warn-tint)}body.gd-home-on #memPanel .gd-5c-warn .gd-5c-k{color:var(--warn)}
  body.gd-home-on #memPanel .gd-5c-ok{border-left-color:var(--ok)}body.gd-home-on #memPanel .gd-5c-ok .gd-5c-k{color:var(--ok)}
  body #memPanel .gd-caret{display:none;position:absolute;left:1px;top:calc(6px + .2em);width:2.5px;height:1.15em;border-radius:2px;background:var(--gold);box-shadow:0 0 6px 1px var(--gold-glow),0 0 14px 3px var(--gold-glow);pointer-events:none;font-size:16px;animation:gdCaret 1.15s ease-in-out infinite}
  body #memPanel .gd-box:has(#gdGo.next-cue) .gd-tw:not(:focus-within) #gdBox:placeholder-shown~.gd-caret{display:block}
  body #memPanel .gd-box:has(#gdBox:placeholder-shown) #gdGo.next-cue{box-shadow:none!important;animation:none}
  @keyframes gdCaret{0%,100%{opacity:1}50%{opacity:.15}}
  @media(prefers-reduced-motion:reduce){ body #memPanel .gd-caret{animation:none} }
  /* the section heads: small capitals, the count as a badge, "All jobs" on the right */
  body #memPanel .gd-home .gd-sech{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 4px 8px}
  body #memPanel .gd-home .gd-sh{margin:0;font-family:var(--ff-text,inherit);font-size:13px;line-height:1;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--sub)}
  body #memPanel .gd-home .gd-n{display:inline-grid;place-items:center;min-width:20px;height:20px;box-sizing:border-box;padding:0 6px;margin-left:6px;border-radius:10px;background:var(--ink);color:var(--card);font-size:11.5px;font-weight:700;letter-spacing:0;vertical-align:1px}
  body #memPanel .gd-home .gd-n.warn{background:var(--warn)}
  body #memPanel .gd-home .gd-n[hidden]{display:none}
  body #memPanel .gd-home .gd-all{background:none;border:0;padding:6px 0;min-height:36px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer}
  /* one card a list, rows split by a hairline (Needs you, Working on, Done) */
  body #memPanel .gd-home .gd-list{background:var(--card);border-radius:18px;box-shadow:var(--e1),inset 0 0 0 1px var(--line);overflow:hidden}
  /* MORE SHE CAN DO: one quiet line of words at the foot (five at most) */
  body #memPanel .gd-msdl{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:14px;line-height:1.4}
  body #memPanel .gd-msdh{color:var(--sub);font-weight:600;margin-right:2px}
  body #memPanel .gd-msdb{background:none;border:0;padding:6px 0;min-height:36px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
  body #memPanel .gd-msdb:hover,body #memPanel .gd-msdb:focus-visible{text-decoration-color:var(--gold)}
  @media(min-width:881px){ body #memPanel .gd-msdb.gd-msd-rail{display:none} }   /* Email and Calendar sit on the desktop rail there */
  body #memPanel .gd-fold{margin-top:20px}
  /* What can I do for you? - a feature card (a full-width tile on a phone), its own quiet light, no gold control */
  body #memPanel .gd-fy{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:18px 18px 16px;border-radius:18px;background:linear-gradient(160deg,color-mix(in srgb,var(--d-marketing) 7%,var(--card)),var(--card) 55%);border:1px solid color-mix(in srgb,var(--d-marketing) 18%,var(--line));box-shadow:var(--e1)}
  body #memPanel .gd-fy-h{display:flex;align-items:center;gap:12px}
  body #memPanel .gd-fy-ic{flex:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--d-marketing);background:linear-gradient(150deg,color-mix(in srgb,currentColor 9%,var(--card)),color-mix(in srgb,currentColor 22%,var(--card)));box-shadow:inset 0 1px 0 var(--hi)}
  body #memPanel .gd-fy-ic .ic{width:22px;height:22px}
  body #memPanel .gd-fy-t{margin:0;font-family:var(--ff-display);font-size:20px;line-height:1.25;font-weight:500;color:var(--ink);letter-spacing:-.01em}
  body #memPanel .gd-fy-p{margin:0;font-size:15px;line-height:1.5;color:var(--ink)}
  body #memPanel .gd-fy-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  body #memPanel .gd-fy-go{min-width:112px}
  body #memPanel .gd-fy-meta{flex:1 1 100%;font-size:13.5px;line-height:1.45;color:var(--sub)}
  /* News Today: the voice wave never sits under the speed button */
  body #memPanel .gd-hu-bar:has(.gd-hurate)::after{right:64px;width:64px}
  body.gd-home-on #memPanel #huHome>*{margin-bottom:0}
  /* the browser refused sound (autoplay, 2026-10-11): ONE large Play - "Tap to play" - the screen's one glow (data-cue="news") */
  body #memPanel .gd-hu-bar .gd-hup.gd-hutap{width:auto;min-width:148px;height:52px;border-radius:26px;padding:0 20px;gap:8px;font-size:17px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
  /* HOME'S JOBS (CEO 2026-10-10, docs/79; board 2): rows in one card. Needs you: an amber dot, the line in Public Sans, the
     button in its own column. Working on: the job, "Step 2 of 4" and a thin gold bar, the countdown pill, the gold working
     rim (working()). Done: ONE row - the tick, "4 done today" and what came of them. */
  body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line{display:flex;align-items:center;gap:12px;margin:0;padding:13px 16px 13px 38px;border:0;border-radius:0;background:none;box-shadow:none}
  body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line+.gd-line,body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-nfol+.gd-line{border-top:1px solid var(--line)}
  body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line::before{left:16px;top:20px;width:10px;height:10px;margin:0;border-radius:50%;background:var(--warn);box-shadow:none}
  body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line::after{display:none}
  body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line .gd-lt,body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line.top .gd-lt{font-family:var(--ff-text,inherit);font-size:16px;line-height:1.3;font-weight:600;color:var(--ink)}
  body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line .gd-lt small{display:block;margin-top:3px;font-size:14px;line-height:1.4;font-weight:400;color:var(--sub)}
  body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line>.gd-btn{flex:none;align-self:center;min-height:36px;padding:0 14px;border-radius:11px;font-size:14.5px;white-space:nowrap}
  /* a phone: the line reads full width and its one action sits under it, never squeezing the words into a narrow column */
  @media(max-width:600px){ body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line{flex-wrap:wrap;row-gap:10px} body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line>.gd-lt{flex:1 1 100%} body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-line>.gd-btn{align-self:flex-start} }
  body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds .gd-nfol{margin:0 12px 12px}
  body.gd-home-on #memPanel .gd-home #gdNeedsSec #gdNeeds>.gd-more{margin:2px 4px 0}
  /* THE NUMBERS ROW (v857, John 24 Oct 2026): Home's one row of job counts - need you, running, done - each a press into My jobs on that group */
  body #memPanel #gdJobsRow .gd-nums{display:flex;gap:8px;flex-wrap:wrap}
  body #memPanel #gdJobsRow .gd-num{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px 0 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:inherit;font-size:14.5px;font-weight:600;cursor:pointer;box-shadow:var(--e1)}
  body #memPanel #gdJobsRow .gd-num b{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums lining-nums;line-height:1}
  body #memPanel #gdJobsRow .gd-num.tks-needs b{color:var(--warn)}
  body #memPanel #gdJobsRow .gd-num.tks-working b{color:var(--info)}
  body #memPanel #gdJobsRow .gd-num.tks-done b{color:var(--ok)}
  body #memPanel #gdJobsRow .gd-num:disabled{opacity:.55;cursor:default;box-shadow:none}
  body #memPanel #gdJobsRow .gd-num:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  /* a tablet, or a narrow desktop window: one centred column */
  @media(min-width:761px){
    body.gd-home-on #memPanel{max-width:none}
    body.gd-home-on #memPanel .gd-home{max-width:720px;margin:0 auto}
    body.gd-home-on #memPanel .gd-home .gd-sec{margin-bottom:26px}
    body.gd-home-on #memPanel .gd-home>.gd-hello{margin-bottom:8px}
  }
  /* THE DESK: two columns, 2/3 + 1/3, on a centred 1280px grid; one 32px gutter; card edges aligned top and side */
  @media(min-width:1180px){
    body.gd-home-on #memPanel .gd-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,368px);column-gap:32px;align-items:start;max-width:1280px;margin:0 auto}
    body.gd-home-on #memPanel .gd-home>.gd-hello{grid-column:1/-1;grid-row:1;margin:0 0 20px}
    body.gd-home-on #memPanel .gd-home>.gd-main{display:flex;flex-direction:column;min-width:0;grid-column:1;grid-row:2}
    body.gd-home-on #memPanel .gd-home>.gd-side{display:flex;flex-direction:column;min-width:0;grid-column:2;grid-row:2}
    body.gd-home-on #memPanel .gd-home .gd-sec{margin-bottom:26px}
    body.gd-home-on #memPanel .gd-hello .gd-hl{font-size:32px}
    body.gd-home-on #memPanel .gd-home .gd-hu-bar{border-radius:18px;min-height:72px;padding:12px 16px}
    body.gd-home-on #memPanel .gd-side #gdDidSec.yb-band{border-radius:18px}
    body.gd-home-on #memPanel .gd-side .gd-sec:last-child{margin-bottom:0}
  }
  /* the side column stays in view while the main column scrolls, when the window is tall enough to hold all of it */
  @media(min-width:1180px) and (min-height:760px){
    body.gd-home-on #memPanel .gd-home>.gd-side{position:sticky;top:calc(var(--hdr,67px) + 20px)}
  }
  @media(min-width:881px){
    /* the door rail: a calmer active state and an even rhythm (no new doors) */
    body #doorBar{gap:4px}
    body #doorBar button{min-height:48px;padding:10px 14px;border-radius:14px;font-weight:600}
    body #doorBar button:not(.on):hover{background:color-mix(in srgb,var(--dc) 7%,transparent)}
    body #doorBar button.on{color:var(--ink);font-weight:700}
  }
  @media(max-width:760px){
    body.gd-home-on .cols .wrap{padding-left:16px;padding-right:16px}   /* 16px gutters on a phone (the mobile checklist) */
    body.gd-home-on #memPanel .gd-fy{padding:16px}
    body.gd-home-on #memPanel .gd-fy-t{font-size:19px}
  }
  @media(max-width:400px){ body.gd-home-on #memPanel .gd-hu-bar{gap:8px;padding-left:10px;padding-right:10px} body.gd-home-on #memPanel .gd-hu-bar .gd-hutt{font-size:15px} }   /* the brief's name fits at 360px */
  @media (prefers-reduced-motion: reduce){ body #memPanel .gd-fy{transition:none} }
  /* CAMPAIGNS on Jasmine sells for me (docs/116, main/34-sales-campaigns.js): phone first, nothing wider than the screen */
  .cm-days{display:flex;flex-wrap:wrap;gap:6px}.cm-day{font:inherit;font-size:13px;min-width:44px;min-height:40px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--sub);cursor:pointer}.cm-day.on{background:var(--navy);color:var(--cream);border-color:var(--navy)}
  .cm-row{display:flex;gap:10px;margin-top:10px}.cm-row label{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--sub)}.cm-row .sd-in{width:100%;box-sizing:border-box}
  .cm-chk{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--ink);margin-top:10px}
  .cm-ci{display:flex;align-items:center;gap:10px;width:100%;box-sizing:border-box;font:inherit;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:6px;cursor:pointer;color:var(--ink);min-height:52px}.cm-ci.on{border-color:var(--gold);background:var(--gold-tint)}.cm-ci>span:first-child{flex:1;min-width:0}.cm-ci b{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-ci small{display:block;font-size:12px;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .cm-lead{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--line);padding:9px 0}.cm-lead:first-of-type{border-top:0}.cm-clk{flex:none;width:12px;height:12px;border-radius:50%;margin-top:4px}.cm-clk.green{background:var(--ok)}.cm-clk.amber{background:var(--warn)}.cm-clk.red{background:var(--bad)}
  .cm-lw{flex:1;min-width:0}.cm-lw b{display:block;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-lw small{display:block;font-size:12px;color:var(--sub);overflow-wrap:anywhere}.cm-la{display:flex;flex-direction:column;gap:4px;flex:none}.cm-la .sd-b{text-align:center;text-decoration:none}
  .cm-per{display:inline-flex;gap:2px}.cm-pb{font:inherit;font-size:11.5px;border:1px solid var(--line);background:var(--card);color:var(--sub);border-radius:999px;padding:3px 8px;cursor:pointer}.cm-pb.on{background:var(--navy);color:var(--cream);border-color:var(--navy)}
  .cm-fr{display:grid;grid-template-columns:minmax(0,7.5em) minmax(0,1fr) 2.6em 3.2em 2.6em;gap:6px;align-items:center;font-size:12.5px;color:var(--ink);padding:4px 0}.cm-fr span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-fr i{height:10px;border-radius:999px;background:var(--line);overflow:hidden}.cm-fr i b{display:block;height:100%;background:var(--gold);border-radius:999px}.cm-fr em{font-style:normal;font-weight:700;text-align:right}.cm-fr small{color:var(--sub);text-align:right}.cm-fr small.up{color:var(--ok)}.cm-fr small.dn{color:var(--bad)}
  .cm-money{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cm-money div{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:8px}.cm-money span{display:block;font-size:11px;color:var(--sub)}.cm-money b{display:block;font-size:18px;color:var(--ink)}@media (min-width:720px){.cm-money{grid-template-columns:repeat(5,minmax(0,1fr))}}
  details.cm-q>summary,details.cm-h>summary{list-style:none;cursor:pointer}details.cm-q>summary::-webkit-details-marker,details.cm-h>summary::-webkit-details-marker{display:none}
  .cm-wall .sd-kpi span+span{font-size:10.5px}.cm-wall .sd-kpi b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:420px){.cm-wall .sd-kpi b{font-size:20px}}
  /* the Sales tab at phone width (lead's 390 px review, 11 Oct 2026): the title on one line, the tiles' words in full */
  @media (max-width:480px){
    #memPanel .mem-h h2:has([data-cap="salesdesk"]){font-size:21px;line-height:1.2;white-space:nowrap;min-width:0}
    #memPanel .mem-h h2:has([data-cap="salesdesk"]) .ic-h{width:30px;height:30px;padding:6px;border-radius:10px;vertical-align:-7px;margin-right:8px}
    .cm-wall .sd-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}
    .cm-ci small{white-space:normal}
  }
  /* WHO IS THIS (docs/127, client/index/main/45-who.js): one sheet on a name - from the bottom on a phone, beside the page on a desk */
  .wh-bg{position:fixed;inset:0;z-index:9000;background:rgba(10,16,28,.42)}
  .wh-sheet{position:fixed;z-index:9001;left:0;right:0;bottom:0;max-height:86vh;max-height:86dvh;overflow:auto;overscroll-behavior:contain;background:var(--bg);color:var(--ink);border-radius:20px 20px 0 0;padding:14px 16px calc(16px + env(safe-area-inset-bottom,0px));box-shadow:0 -10px 30px rgba(0,0,0,.25)}
  @media(min-width:900px){.wh-sheet{left:auto;right:16px;top:calc(var(--hdr,67px) + 8px);bottom:auto;width:440px;border-radius:18px}}
  .wh-h{display:flex;align-items:flex-start;gap:8px}.wh-h h2{flex:1;margin:0;font-size:21px;line-height:1.25}
  .wh-x{min-width:44px;min-height:44px;border:0;background:none;color:var(--ink);font-size:24px;cursor:pointer}
  .wh-k{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sub);margin:14px 0 4px}
  .wh-tx{font-size:14.5px;line-height:1.5}.wh-sub{font-size:13px;color:var(--sub);line-height:1.45}
  .wh-ol{margin:4px 0 0;padding-left:20px}.wh-ol li{margin:4px 0;font-size:14.5px;line-height:1.45}
  .wh-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
  .wh-name{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
  /* ===== END THE DESK */
  /* ===== SUMMARISE A VIDEO (docs/136): the screen and the result on the job's card */
  .vs-top{padding:4px 2px 10px}.vs-h{font-family:Georgia,serif;font-size:20px;line-height:1.3;margin:0 0 6px}.vs-sub{color:var(--sub,#5B6675);font-size:14px;line-height:1.45;margin:0 0 14px}
  .vs-l{display:block;font-size:13px;font-weight:700;margin:0 0 6px}.vs-in{width:100%;min-height:48px;font-size:16px;padding:10px 12px;border:1px solid var(--line,#E6E1D6);border-radius:10px;background:var(--card,#fff);color:var(--ink,#0F1E32);box-sizing:border-box}
  .vs-msg{min-height:20px;font-size:14px;color:var(--sub,#5B6675);margin-top:8px}
  .vs-res{margin:10px 0 4px}.vs-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--gold,#C99A2E);margin:0 0 8px}.vs-k span{text-transform:none;letter-spacing:0;font-weight:400;color:var(--sub,#5B6675)}
  .vs-svg{display:block;width:100%;max-width:640px;height:auto;border-radius:14px;margin:6px 0 10px;border:1px solid var(--line,#E6E1D6)}.vs-au{display:block;width:100%;margin:6px 0 10px}
  .vs-pts{padding-left:22px;margin:6px 0 10px}.vs-pts li{margin:0 0 10px;line-height:1.45}.vs-pts small{display:block;color:var(--sub,#5B6675);font-size:12.5px;margin-top:2px}
  .vs-do{background:var(--gold-tint,#F5EBD3);border-left:4px solid var(--gold,#C99A2E);padding:10px 12px;border-radius:8px;margin:0 0 10px;line-height:1.45}.vs-sw summary{cursor:pointer;font-weight:600;margin:6px 0;min-height:44px;display:flex;align-items:center}
  /* ===== END SUMMARISE A VIDEO */
  /* ===== WHAT JASMINE IS SET UP FOR (docs/147-profiles.md, main/83-profiles.js): a profile's marks inside the one design system.
     data-profile on <html> names it; data-density="roomy" (trades) makes every row, tile, chip and button 48px for gloved hands;
     "compact" (operations) tightens the rows. The More row at the foot of the Jasmine door and the one outcome line on a card. */
  html[data-density="roomy"] .gd-row,html[data-density="roomy"] .gd-chip,html[data-density="roomy"] .gd-btn,html[data-density="roomy"] .st-act,html[data-density="roomy"] .tk-big{min-height:48px}
  html[data-density="roomy"] .gd-chip{padding:10px 16px;font-size:15px}html[data-density="roomy"] .gd-rl{font-size:17px}
  html[data-density="compact"] .gd-row{min-height:48px;padding:8px 12px;margin-bottom:6px}
  .pf-more{margin:4px 0 8px}.pf-more>summary{list-style:none}.pf-more>summary::-webkit-details-marker{display:none}.pf-more>summary .gd-rl{display:block}.pf-more[open]>summary{margin-bottom:8px}
  .pf-moreh{flex-direction:column;align-items:flex-start;justify-content:center;border-left-color:var(--line,#E6E1D6)}
  .pf-out{font-size:13.5px;line-height:1.45;color:var(--sub,#5B6675);margin:6px 0 8px}.pf-out .pf-outb{display:inline;padding:0;min-height:0;font-size:13.5px}
  .pf-now{margin:0 0 6px}
  .pf-next{margin:12px 0 0}.pf-next .gd-btn{margin-top:8px;min-height:44px}   /* the phone steps lead on (docs/269) */
  /* ===== END WHAT JASMINE IS SET UP FOR */
  /* ===== THE EMPTY-STATE CUE (docs/162): the first-job line under a screen's title, and the one row an empty state's button sits in */
  .gd-fj{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
  .gd-fj span{flex:1;min-width:200px;font-size:14px;line-height:1.5;color:var(--ink)}
  .gd-fj .gd-btn{flex:none;min-height:44px}
  .gd-fj-row{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 4px}
  .gd-fj-row .st-act,.gd-fj-row .jb-go{min-height:44px}
  .f-web{margin:10px 0 0}
  /* ===== END THE EMPTY-STATE CUE */
  /* ===== THE FIVE LOOKS (CEO 17 Oct 2026, docs/147-profiles.md "The five looks"). "changing between the different visual
     screens from trades to medical to ... they all should be dramatically different". One skeleton, a theme per profile:
     trades = Workshop, practice = Front Desk, agency = Studio, property = Concierge, operations = Switchboard. `full` (and no
     profile, and the menu focus off) has NO data-profile on <html> (main/83-profiles.js pfApply), so nothing in this sheet
     matches it: today's look byte for byte. A theme is TOKENS (the root token names redefined: ground, card, ink, accent, the door
     families, elevation, the primary, the type) plus ONE bounded component set below that reads them (corners, the bars and
     the nav's shape, the type scale). Never a fork; never the landing (#gate, .ghgate) or a public page.
     Specificity: a theme's light block is html[data-profile=x] (0,1,1) - it beats the root block; its dark block adds :not(...) or
     [data-theme] (0,2,1) - it beats the root dark blocks of 01/08/09. Switchboard is single-theme (always dark). */

  /* -- what every theme shares: the door families follow the theme's (one accent, as the boards draw it), the paper grain and
        the door's light wash go, the 300 ms repaint on a switch */
  html[data-profile],html[data-profile]:not([data-theme="light"]){
    --d-today:var(--th-d);--d-today-deep:var(--th-dd);--d-today-hi:var(--th-dh);--d-do:var(--th-d);--d-do-deep:var(--th-dd);--d-do-hi:var(--th-dh);
    --d-sales:var(--th-d);--d-sales-deep:var(--th-dd);--d-sales-hi:var(--th-dh);--d-marketing:var(--th-d);--d-marketing-deep:var(--th-dd);--d-marketing-hi:var(--th-dh);
    --d-operations:var(--th-d);--d-operations-deep:var(--th-dd);--d-operations-hi:var(--th-dh);--d-money:var(--th-d);--d-money-deep:var(--th-dd);--d-money-hi:var(--th-dh);
    --d-me:var(--th-d);--d-me-deep:var(--th-dd);--d-me-hi:var(--th-dh);
    --door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);
    --grain:transparent;--vignette:transparent;--glow-top:transparent;--hi:transparent;--il-d:var(--gold)}
  @media (prefers-reduced-motion: no-preference){
    html.pf-swap body,html.pf-swap body *{transition:background-color 300ms var(--ease),color 300ms var(--ease),border-color 300ms var(--ease),box-shadow 300ms var(--ease)!important}
  }

  /* A profile changes type size, density and spacing; never the colour of the accent (the house gold) or the weight of the rules
     (the house 1px line). John 23 Oct 2026, the Workshop look: "I don't like the orange", "so heavy on the boarders", "Visual overload!".
     -- 1. WORKSHOP (trades): white, the house gold and 1px line, Fraunces + Public Sans; larger type; 48px buttons (data-density="roomy"); big top tabs */
  html[data-profile="trades"]{
    --bg:#FFFFFF;--card:#FFFFFF;--ink:#111111;--sub:#4D4D4D;--muted:#6B6B6B;--line:#E6E1D6;--gold:#8A6514;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.42);
    --navy:#111111;--navy-hi:#2A2A2A;--navy-deep:#000000;--cream:#FFFFFF;
    --ff-text:'Public Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--ff-display:'Fraunces',Georgia,'Times New Roman',serif;
    --ring:#E6E1D6;--sh:17,17,17;--e1:0 0 0 1px #E6E1D6;--e2:0 0 0 1px #DCD5C6,0 2px 0 #E6E1D6;--e3:0 0 0 1px #DCD5C6,0 10px 24px -14px rgba(17,17,17,.3);--e4:0 -1px 0 #E6E1D6;--paper-shadow:0 0 0 1px #E6E1D6;--sunk:inset 0 0 0 1px #DCD5C6;
    --prim-a:#111111;--prim-b:#111111;--prim-ink:#FFFFFF;--band-ink:#FFFFFF;--band-sub:rgba(255,255,255,.86);
    --th-d:#111111;--th-dd:#111111;--th-dh:#C99A2E;--th-fill:#C99A2E;--th-fill-ink:#111111;
    --th-r:10px;--th-rs:10px;--th-bw:1px;--th-bc:#E6E1D6;
    --th-bar:#FFFFFF;--th-bar-ink:#111111;--th-bar-line:1px solid #E6E1D6;--th-bar-btn:#DCD5C6;
    --th-nav:#FFFFFF;--th-nav-ink:#111111;--th-nav-on:transparent;--th-nav-on-ink:#111111;
    --th-mbar:#FFFFFF;--th-mbar-ink:#4D4D4D;--th-mbar-on:#111111;--th-mbar-line:1px solid #E6E1D6;
    --th-hw:600;--th-hls:-.01em;--th-greet:34px;--th-ask:30px}
  @media (prefers-color-scheme: dark){ html[data-profile="trades"]:not([data-theme="light"]){
    --bg:#0E0E0E;--card:#171717;--ink:#F5F5F5;--sub:#BDBDBD;--muted:#9A9A9A;--line:#2A3547;--gold:#D8AD4C;--gold-on:#0F1E32;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --navy:#000000;--navy-hi:#1F1F1F;--navy-deep:#000000;--cream:#FFFFFF;
    --ring:#2A3547;--sh:0,0,0;--e1:0 0 0 1px #2A3547;--e2:0 0 0 1px #34405A,0 2px 0 #000000;--e3:0 0 0 1px #34405A,0 12px 26px -14px rgba(0,0,0,.8);--e4:0 -1px 0 #2A3547;--paper-shadow:0 0 0 1px #2A3547;--sunk:inset 0 0 0 1px #34405A;
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#111111;
    --th-d:#D8AD4C;--th-dd:#262626;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-bc:#2A3547;
    --th-bar:#000000;--th-bar-ink:#F5F5F5;--th-bar-line:1px solid #2A3547;--th-bar-btn:#34405A;
    --th-nav:#0E0E0E;--th-nav-ink:#F5F5F5;--th-nav-on-ink:#FFFFFF;--th-mbar:#000000;--th-mbar-ink:#BDBDBD;--th-mbar-on:#FFFFFF;--th-mbar-line:1px solid #2A3547;color-scheme:dark} }
  html[data-profile="trades"][data-theme="dark"]{
    --bg:#0E0E0E;--card:#171717;--ink:#F5F5F5;--sub:#BDBDBD;--muted:#9A9A9A;--line:#2A3547;--gold:#D8AD4C;--gold-on:#0F1E32;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --navy:#000000;--navy-hi:#1F1F1F;--navy-deep:#000000;--cream:#FFFFFF;
    --ring:#2A3547;--sh:0,0,0;--e1:0 0 0 1px #2A3547;--e2:0 0 0 1px #34405A,0 2px 0 #000000;--e3:0 0 0 1px #34405A,0 12px 26px -14px rgba(0,0,0,.8);--e4:0 -1px 0 #2A3547;--paper-shadow:0 0 0 1px #2A3547;--sunk:inset 0 0 0 1px #34405A;
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#111111;
    --th-d:#D8AD4C;--th-dd:#262626;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-bc:#2A3547;
    --th-bar:#000000;--th-bar-ink:#F5F5F5;--th-bar-line:1px solid #2A3547;--th-bar-btn:#34405A;
    --th-nav:#0E0E0E;--th-nav-ink:#F5F5F5;--th-nav-on-ink:#FFFFFF;--th-mbar:#000000;--th-mbar-ink:#BDBDBD;--th-mbar-on:#FFFFFF;--th-mbar-line:1px solid #2A3547;color-scheme:dark}

  /* -- 2. FRONT DESK (practice): paper cream, navy, gold; Fraunces + Public Sans; 4px corners; the left sidebar */
  html[data-profile="practice"]{
    --bg:#F4EFE4;--card:#FFFDF8;--ink:#14213D;--sub:#5B5A55;--muted:#6C6B64;--line:#E2D9C6;--gold:#8A6514;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.38);
    --navy:#14213D;--navy-hi:#22355C;--navy-deep:#0B1426;--cream:#F4EFE4;
    --ff-text:'Public Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--ff-display:'Fraunces',Georgia,'Times New Roman',serif;
    --ring:#E2D9C6;--sh:20,33,61;--e1:0 0 0 1px #E2D9C6;--e2:0 0 0 1px #D6CCB6,0 2px 0 #E2D9C6;--e3:0 0 0 1px #D6CCB6,0 10px 24px -14px rgba(20,33,61,.35);--e4:0 -1px 0 #E2D9C6;--paper-shadow:0 0 0 1px #E2D9C6;--sunk:inset 0 0 0 1px #D6CCB6;
    --prim-a:#14213D;--prim-b:#14213D;--prim-ink:#F4EFE4;--band-ink:#F4EFE4;--band-sub:rgba(244,239,228,.84);
    --th-d:#14213D;--th-dd:#14213D;--th-dh:#C99A2E;--th-fill:#14213D;--th-fill-ink:#F4EFE4;
    --th-r:4px;--th-rs:4px;--th-bw:1px;--th-bc:#E2D9C6;
    --th-bar:#F4EFE4;--th-bar-ink:#14213D;--th-bar-line:1px solid #E2D9C6;--th-bar-btn:#D6CCB6;
    --th-nav:#F4EFE4;--th-nav-ink:#14213D;--th-nav-on:#14213D;--th-nav-on-ink:#F4EFE4;
    --th-mbar:#FFFDF8;--th-mbar-ink:#5B5A55;--th-mbar-on:#14213D;--th-mbar-line:1px solid #E2D9C6;
    --th-hw:600;--th-hls:-.01em;--th-greet:30px;--th-ask:28px}
  @media (prefers-color-scheme: dark){ html[data-profile="practice"]:not([data-theme="light"]){
    --bg:#11161F;--card:#1A2130;--ink:#EDE6D6;--sub:#B6AE9E;--muted:#8F887B;--line:#2E3646;--gold:#D8AD4C;--gold-on:#0F1E32;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --navy:#0A0F18;--navy-hi:#1C2639;--navy-deep:#05080E;--cream:#EDE6D6;
    --ring:#2E3646;--sh:0,0,0;--e1:0 0 0 1px #2E3646;--e2:0 0 0 1px #3A4357,0 2px 0 #0A0F18;--e3:0 0 0 1px #3A4357,0 12px 26px -14px rgba(0,0,0,.8);--e4:0 -1px 0 #2E3646;--paper-shadow:0 0 0 1px #2E3646;--sunk:inset 0 0 0 1px #3A4357;
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#11161F;
    --th-d:#D8AD4C;--th-dd:#1C2639;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#11161F;--th-bc:#2E3646;
    --th-bar:#11161F;--th-bar-ink:#EDE6D6;--th-bar-line:1px solid #2E3646;--th-bar-btn:#3A4357;
    --th-nav:#11161F;--th-nav-ink:#EDE6D6;--th-nav-on:#D8AD4C;--th-nav-on-ink:#11161F;--th-mbar:#0A0F18;--th-mbar-ink:#B6AE9E;--th-mbar-on:#D8AD4C;--th-mbar-line:1px solid #2E3646;color-scheme:dark} }
  html[data-profile="practice"][data-theme="dark"]{
    --bg:#11161F;--card:#1A2130;--ink:#EDE6D6;--sub:#B6AE9E;--muted:#8F887B;--line:#2E3646;--gold:#D8AD4C;--gold-on:#0F1E32;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --navy:#0A0F18;--navy-hi:#1C2639;--navy-deep:#05080E;--cream:#EDE6D6;
    --ring:#2E3646;--sh:0,0,0;--e1:0 0 0 1px #2E3646;--e2:0 0 0 1px #3A4357,0 2px 0 #0A0F18;--e3:0 0 0 1px #3A4357,0 12px 26px -14px rgba(0,0,0,.8);--e4:0 -1px 0 #2E3646;--paper-shadow:0 0 0 1px #2E3646;--sunk:inset 0 0 0 1px #3A4357;
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#11161F;
    --th-d:#D8AD4C;--th-dd:#1C2639;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#11161F;--th-bc:#2E3646;
    --th-bar:#11161F;--th-bar-ink:#EDE6D6;--th-bar-line:1px solid #2E3646;--th-bar-btn:#3A4357;
    --th-nav:#11161F;--th-nav-ink:#EDE6D6;--th-nav-on:#D8AD4C;--th-nav-on-ink:#11161F;--th-mbar:#0A0F18;--th-mbar-ink:#B6AE9E;--th-mbar-on:#D8AD4C;--th-mbar-line:1px solid #2E3646;color-scheme:dark}

  /* -- 3. STUDIO (agency): white, slate, the house gold; Manrope; keyboard hints, the team's avatars; a compact sidebar */
  html[data-profile="agency"]{
    --bg:#F8F9FB;--card:#FFFFFF;--ink:#0F172A;--sub:#55657A;--muted:#64748B;--line:#E2E8F0;--gold:#8A6514;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.40);
    --navy:#0F172A;--navy-hi:#1E293B;--navy-deep:#020617;--cream:#FFFFFF;
    --ff-text:'Manrope',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--ff-display:'Manrope',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;
    --ring:#E2E8F0;--sh:15,23,42;--e1:0 0 0 1px #E2E8F0,0 1px 2px rgba(15,23,42,.04);--e2:0 0 0 1px #E2E8F0,0 4px 12px -4px rgba(15,23,42,.10);--e3:0 0 0 1px #E2E8F0,0 16px 32px -12px rgba(15,23,42,.22);--e4:0 -1px 0 #E2E8F0,0 -10px 30px -12px rgba(15,23,42,.2);--paper-shadow:0 0 0 1px #E2E8F0;--sunk:inset 0 0 0 1px #CBD5E1;
    --prim-a:#0F172A;--prim-b:#0F172A;--prim-ink:#FFFFFF;--band-ink:#FFFFFF;--band-sub:rgba(255,255,255,.86);
    --th-d:#0F172A;--th-dd:#1E293B;--th-dh:#C99A2E;--th-fill:#0F172A;--th-fill-ink:#FFFFFF;
    --th-r:10px;--th-rs:8px;--th-bw:1px;--th-bc:#E2E8F0;
    --th-bar:#FFFFFF;--th-bar-ink:#0F172A;--th-bar-line:1px solid #E2E8F0;--th-bar-btn:#CBD5E1;
    --th-nav:#FFFFFF;--th-nav-ink:#475569;--th-nav-on:#F6EEDB;--th-nav-on-ink:#0F172A;
    --th-mbar:#FFFFFF;--th-mbar-ink:#55657A;--th-mbar-on:#0F172A;--th-mbar-line:1px solid #E2E8F0;
    --th-hw:800;--th-hls:-.02em;--th-greet:28px;--th-ask:26px}
  @media (prefers-color-scheme: dark){ html[data-profile="agency"]:not([data-theme="light"]){
    --bg:#0B1020;--card:#121A2E;--ink:#E2E8F0;--sub:#A3B1C6;--muted:#7C8BA1;--line:#24304A;--gold:#D8AD4C;--gold-on:#0F1E32;--gold-tint:rgba(216,173,76,.16);--gold-glow:rgba(216,173,76,.5);
    --navy:#060A16;--navy-hi:#1A2440;--navy-deep:#03050C;--cream:#FFFFFF;
    --ring:#24304A;--sh:0,0,0;--e1:0 0 0 1px #24304A;--e2:0 0 0 1px #2E3B58,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #2E3B58,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #24304A;--paper-shadow:0 0 0 1px #24304A;--sunk:inset 0 0 0 1px #2E3B58;
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#0B1020;
    --th-d:#D8AD4C;--th-dd:#1A2440;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#0B1020;--th-bc:#24304A;
    --th-bar:#0B1020;--th-bar-ink:#E2E8F0;--th-bar-line:1px solid #24304A;--th-bar-btn:#2E3B58;
    --th-nav:#0B1020;--th-nav-ink:#A3B1C6;--th-nav-on:#2A2617;--th-nav-on-ink:#F3DFA8;--th-mbar:#0B1020;--th-mbar-ink:#A3B1C6;--th-mbar-on:#D8AD4C;--th-mbar-line:1px solid #24304A;color-scheme:dark} }
  html[data-profile="agency"][data-theme="dark"]{
    --bg:#0B1020;--card:#121A2E;--ink:#E2E8F0;--sub:#A3B1C6;--muted:#7C8BA1;--line:#24304A;--gold:#D8AD4C;--gold-on:#0F1E32;--gold-tint:rgba(216,173,76,.16);--gold-glow:rgba(216,173,76,.5);
    --navy:#060A16;--navy-hi:#1A2440;--navy-deep:#03050C;--cream:#FFFFFF;
    --ring:#24304A;--sh:0,0,0;--e1:0 0 0 1px #24304A;--e2:0 0 0 1px #2E3B58,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #2E3B58,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #24304A;--paper-shadow:0 0 0 1px #24304A;--sunk:inset 0 0 0 1px #2E3B58;
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#0B1020;
    --th-d:#D8AD4C;--th-dd:#1A2440;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#0B1020;--th-bc:#24304A;
    --th-bar:#0B1020;--th-bar-ink:#E2E8F0;--th-bar-line:1px solid #24304A;--th-bar-btn:#2E3B58;
    --th-nav:#0B1020;--th-nav-ink:#A3B1C6;--th-nav-on:#2A2617;--th-nav-on-ink:#F3DFA8;--th-mbar:#0B1020;--th-mbar-ink:#A3B1C6;--th-mbar-on:#D8AD4C;--th-mbar-line:1px solid #24304A;color-scheme:dark}

  /* -- 4. CONCIERGE (property): warm white, charcoal, the house gold; DM Serif Display + Figtree; soft shadows, no borders; a dark icon rail */
  html[data-profile="property"]{
    --bg:#FBFAF7;--card:#FFFFFF;--ink:#1C1B19;--sub:#625D55;--muted:#767168;--line:#EFEBE2;--gold:#8A6514;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.38);
    --navy:#1C1B19;--navy-hi:#2A2824;--navy-deep:#100F0E;--cream:#FBFAF7;
    --ff-text:'Figtree',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--ff-display:'DM Serif Display',Georgia,'Times New Roman',serif;
    --ring:transparent;--sh:28,27,25;--e1:0 1px 2px rgba(28,27,25,.06),0 8px 24px rgba(28,27,25,.05);--e2:0 1px 2px rgba(28,27,25,.07),0 14px 34px rgba(28,27,25,.08);--e3:0 2px 4px rgba(28,27,25,.08),0 24px 48px rgba(28,27,25,.14);--e4:0 -12px 40px rgba(28,27,25,.12);--paper-shadow:0 1px 2px rgba(28,27,25,.06),0 8px 24px rgba(28,27,25,.05);--sunk:inset 0 0 0 1px #E6E0D4;
    --prim-a:#1C1B19;--prim-b:#1C1B19;--prim-ink:#FBFAF7;--band-ink:#FBFAF7;--band-sub:rgba(251,250,247,.84);
    --th-d:#1C1B19;--th-dd:#2A2824;--th-dh:#C99A2E;--th-fill:#1C1B19;--th-fill-ink:#FBFAF7;
    --th-r:16px;--th-rs:999px;--th-bw:0;--th-bc:transparent;
    --th-bar:#FBFAF7;--th-bar-ink:#1C1B19;--th-bar-line:0 solid transparent;--th-bar-btn:#D9D3C7;
    --th-nav:#1C1B19;--th-nav-ink:#B8B2A6;--th-nav-on:#2A2824;--th-nav-on-ink:#FBFAF7;
    --th-mbar:#1C1B19;--th-mbar-ink:#B8B2A6;--th-mbar-on:#FBFAF7;--th-mbar-line:0 solid transparent;
    --th-hw:400;--th-hls:0;--th-greet:36px;--th-ask:32px}
  @media (prefers-color-scheme: dark){ html[data-profile="property"]:not([data-theme="light"]){
    --bg:#141311;--card:#1E1C19;--ink:#F1ECE3;--sub:#B5AD9F;--muted:#8E877B;--line:#2E2A25;--gold:#D8AD4C;--gold-on:#0F1E32;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --navy:#0C0B0A;--navy-hi:#26231F;--navy-deep:#060505;--cream:#F1ECE3;
    --ring:transparent;--sh:0,0,0;--e1:0 1px 2px rgba(0,0,0,.4),0 10px 26px rgba(0,0,0,.35);--e2:0 1px 2px rgba(0,0,0,.45),0 16px 36px rgba(0,0,0,.45);--e3:0 2px 4px rgba(0,0,0,.5),0 26px 50px rgba(0,0,0,.6);--e4:0 -14px 40px rgba(0,0,0,.55);--paper-shadow:0 10px 26px rgba(0,0,0,.35);--sunk:inset 0 0 0 1px #3A352E;
    --prim-a:#F1ECE3;--prim-b:#F1ECE3;--prim-ink:#141311;
    --th-d:#D8AD4C;--th-dd:#26231F;--th-dh:#D8AD4C;--th-fill:#F1ECE3;--th-fill-ink:#141311;
    --th-bar:#141311;--th-bar-ink:#F1ECE3;--th-bar-btn:#3A352E;
    --th-nav:#0C0B0A;--th-nav-ink:#A39B8D;--th-nav-on:#2A2824;--th-nav-on-ink:#F1ECE3;--th-mbar:#0C0B0A;--th-mbar-ink:#A39B8D;--th-mbar-on:#F1ECE3;color-scheme:dark} }
  html[data-profile="property"][data-theme="dark"]{
    --bg:#141311;--card:#1E1C19;--ink:#F1ECE3;--sub:#B5AD9F;--muted:#8E877B;--line:#2E2A25;--gold:#D8AD4C;--gold-on:#0F1E32;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --navy:#0C0B0A;--navy-hi:#26231F;--navy-deep:#060505;--cream:#F1ECE3;
    --ring:transparent;--sh:0,0,0;--e1:0 1px 2px rgba(0,0,0,.4),0 10px 26px rgba(0,0,0,.35);--e2:0 1px 2px rgba(0,0,0,.45),0 16px 36px rgba(0,0,0,.45);--e3:0 2px 4px rgba(0,0,0,.5),0 26px 50px rgba(0,0,0,.6);--e4:0 -14px 40px rgba(0,0,0,.55);--paper-shadow:0 10px 26px rgba(0,0,0,.35);--sunk:inset 0 0 0 1px #3A352E;
    --prim-a:#F1ECE3;--prim-b:#F1ECE3;--prim-ink:#141311;
    --th-d:#D8AD4C;--th-dd:#26231F;--th-dh:#D8AD4C;--th-fill:#F1ECE3;--th-fill-ink:#141311;
    --th-bar:#141311;--th-bar-ink:#F1ECE3;--th-bar-btn:#3A352E;
    --th-nav:#0C0B0A;--th-nav-ink:#A39B8D;--th-nav-on:#2A2824;--th-nav-on-ink:#F1ECE3;--th-mbar:#0C0B0A;--th-mbar-ink:#A39B8D;--th-mbar-on:#F1ECE3;color-scheme:dark}

  /* -- 5. SWITCHBOARD (operations): a dark desk, the house gold; IBM Plex Sans + Plex Mono for figures; the top bar with a LIVE count.
        SINGLE-THEME: always dark, in a light room too (:not([data-theme="-"]) is (0,2,1), so it beats every root dark block). */
  html[data-profile="operations"]:not([data-theme="-"]){
    --bg:#0F1419;--card:#171D24;--ink:#E6EDF3;--sub:#9AA7B4;--muted:#7D8A97;--line:#273038;--gold:#D8AD4C;--gold-on:#0F1E32;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.5);
    --navy:#0A0E12;--navy-hi:#1C242C;--navy-deep:#06090C;--cream:#E6EDF3;
    --ok:#3CC47E;--ok-ink:#8FDDB2;--bad-ink:#FFB4A8;--warn-ink:#F2CF7E;--info-ink:#AFCBFF;--warn:#D8AD4C;--bad:#F06A60;--info:#6EA2FF;--now:#6EA2FF;--note-ok:var(--ok);--note-warn:var(--warn);--note-bad:var(--bad);--note-info:var(--info);
    --ok-tint:rgba(60,196,126,.14);--warn-tint:rgba(216,173,76,.16);--bad-tint:rgba(240,106,96,.15);--info-tint:rgba(110,162,255,.15);
    --ff-text:'IBM Plex Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--ff-display:'IBM Plex Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;--th-mono:'IBM Plex Mono',ui-monospace,'Cascadia Mono',Consolas,monospace;
    --ring:#273038;--sh:0,0,0;--e1:0 0 0 1px #273038;--e2:0 0 0 1px #33404B;--e3:0 0 0 1px #33404B,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #273038;--paper-shadow:0 0 0 1px #273038;--sunk:inset 0 0 0 1px #33404B;
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#0F1419;--band-ink:#E6EDF3;--band-sub:rgba(230,237,243,.8);--il-a:rgba(255,255,255,.9);--il-b:rgba(255,255,255,.45);--il-c:rgba(0,0,0,.35);
    --th-d:#D8AD4C;--th-dd:#3A2F14;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#0F1419;
    --th-r:6px;--th-rs:6px;--th-bw:1px;--th-bc:#273038;
    --th-bar:#0F1419;--th-bar-ink:#E6EDF3;--th-bar-line:1px solid #273038;--th-bar-btn:#3A4650;
    --th-nav:#0F1419;--th-nav-ink:#9AA7B4;--th-nav-on:transparent;--th-nav-on-ink:#E6EDF3;
    --th-mbar:#0A0E12;--th-mbar-ink:#9AA7B4;--th-mbar-on:#D8AD4C;--th-mbar-line:1px solid #273038;
    --th-hw:600;--th-hls:-.01em;--th-greet:26px;--th-ask:24px;color-scheme:dark}

  /* ===== THE BOUNDED COMPONENT SET: every rule reads the tokens above; html[data-profile] never matches `full` */
  html[data-profile] body{font-family:var(--ff-text);background-image:none;background-color:var(--bg)}
  html[data-profile] body::before{background:none}
  /* type: the theme's heading face, weight and tracking */
  html[data-profile] .t-title,html[data-profile] #memPanel .mem-h h2,html[data-profile] #memPanel .gd-greet,html[data-profile] #memPanel .gd-ask,html[data-profile] #memPanel .gd-door-h h2,html[data-profile] #memPanel .gd-hutt,html[data-profile] #memPanel .tk-goal,html[data-profile] #memPanel .gd-fy-t,html[data-profile] .yb-calm b,html[data-profile] body #memPanel #gdNeeds .gd-line.top .gd-lt{font-family:var(--ff-display);font-weight:var(--th-hw);letter-spacing:var(--th-hls)}
  html[data-profile] body #memPanel .gd-greet{font-size:var(--th-greet);font-weight:var(--th-hw)}
  html[data-profile] body #memPanel .gd-ask{font-size:var(--th-ask);font-weight:var(--th-hw)}
  html[data-profile] body #memPanel .gd-sum{font-family:var(--ff-text);font-style:normal}
  html[data-profile] body #memPanel .gd-eyebrow,html[data-profile] body #memPanel .gd-grp{color:var(--gold)}
  /* the top bar */
  html[data-profile] body .topbar{background:var(--th-bar);border-bottom:var(--th-bar-line);box-shadow:none;color:var(--th-bar-ink)}
  html[data-profile] body .topbar .ybw,html[data-profile] body .topbar .profbtn,html[data-profile] body .topbar .profbtn .who,html[data-profile] body .topbar .tb-ic,html[data-profile] body .topbar .topright>button{color:var(--th-bar-ink)}
  html[data-profile] body .topbar .ybw{font-family:var(--ff-display);font-weight:var(--th-hw)}
  html[data-profile] body .topbar .tb-ic,html[data-profile] body .topbar .topright>button:not(.profbtn):not(.nt-bell){border-color:var(--th-bar-btn);background:transparent}
  html[data-profile] body .topbar .nt-bell{border-color:transparent}
  html[data-profile] body .topbar .profbtn:hover,html[data-profile] body .topbar .tb-ic:hover{background:var(--gold-tint)}
  html[data-profile] body .topbar .profav{background:var(--th-fill);color:var(--th-fill-ink)}
  /* corners, rules and shadows on the surfaces (the radius, border width and colour are the theme's) */
  html[data-profile] body #memPanel .gd-box,html[data-profile] body.gd-home-on #memPanel .gd-boxsec .gd-box{background:var(--card);border:var(--th-bw) solid var(--th-bc);border-radius:var(--th-r);box-shadow:var(--e2)}
  html[data-profile] body #memPanel .gd-box:focus-within{box-shadow:0 0 0 3px var(--gold-tint),var(--e2)}
  html[data-profile] body #memPanel .gd-row,html[data-profile] body #memPanel .tk-card,html[data-profile] body #memPanel .st-card,html[data-profile] body #memPanel .vd-card,html[data-profile] body #memPanel .ns-card,html[data-profile] body #memPanel .gd-tips,html[data-profile] body #memPanel #gdNeeds .gd-line,html[data-profile] body #memPanel .gd-full #gdNeedsSec .gd-line,html[data-profile] .yb-calm,html[data-profile] body #memPanel .gd-tile,html[data-profile] body #memPanel .gd-wk,html[data-profile] body #memPanel .gd-dn,html[data-profile] .sf-step,html[data-profile] .sf-group,html[data-profile] body #frScreen .fr-card{border-radius:var(--th-r)}
  html[data-profile] body #memPanel .gd-tile{border:0;box-shadow:var(--e1)}
  html[data-profile] body #memPanel .gd-fy{border-radius:var(--th-r);background:var(--card);border:0;box-shadow:var(--e1)}
  html[data-profile] body #memPanel .gd-fy-ic,html[data-profile] body .gd-ric,html[data-profile] body .gd-dic,html[data-profile] body .ic-tint,html[data-profile] body #memPanel .gd-tic{background:var(--gold-tint);box-shadow:none;border-radius:var(--th-rs);color:var(--gold)}
  html[data-profile] body #memPanel #gdNeeds .gd-line::before{background:color-mix(in srgb,var(--st) 14%,var(--card));box-shadow:none;border-radius:var(--th-rs)}
  html[data-profile] .yb-band,html[data-profile] body #memPanel .gd-hu-bar{border-radius:var(--th-r);box-shadow:var(--e2)}
  html[data-profile] .yb-band{background:var(--navy)}
  html[data-profile] .yb-band::before{background:none}
  html[data-profile] body #memPanel .gd-hu-bar{background:var(--navy)}
  html[data-profile] body .profmenu,html[data-profile] .ai .bubble,html[data-profile] .user .bubble{border-radius:var(--th-r)}
  html[data-profile] .user .bubble{background:var(--th-fill);color:var(--th-fill-ink)}
  /* buttons and chips: flat, the theme's corner; the primary is the theme's fill */
  /* :not([data-theme="-"]) always matches: it lifts the rule over 12-menu-registry's dark-mode gold-outline primary (0,4,0) */
  html[data-profile]:not([data-theme="-"]) body .gd-btn.prim,html[data-profile]:not([data-theme="-"]) body .st-act.prim,html[data-profile]:not([data-theme="-"]) body .fbtn.prim,html[data-profile]:not([data-theme="-"]) body .send,html[data-profile]:not([data-theme="-"]) body .mt-b.prim,html[data-profile]:not([data-theme="-"]) body .st-ico.prim,html[data-profile]:not([data-theme="-"]) body .sv-btn.go,html[data-profile]:not([data-theme="-"]) body .ns-go,html[data-profile]:not([data-theme="-"]) body #frScreen .fr-go{background:var(--prim-a);color:var(--prim-ink);border-color:var(--prim-b);box-shadow:none;text-shadow:none;border-radius:var(--th-rs)}
  html[data-profile] body .gd-btn:not(.prim),html[data-profile] body .st-act:not(.prim),html[data-profile] body .fbtn:not(.prim),html[data-profile] body .gd-ib,html[data-profile] body .gd-chip,html[data-profile] body .st-chip,html[data-profile] body #memPanel .gd-chip{background:var(--card);border:var(--th-bw) solid var(--th-bc);box-shadow:none;border-radius:var(--th-rs);color:var(--ink)}
  html[data-profile="property"] body .gd-btn:not(.prim),html[data-profile="property"] body .st-act:not(.prim),html[data-profile="property"] body .gd-ib,html[data-profile="property"] body .gd-chip,html[data-profile="property"] body #memPanel .gd-chip,html[data-profile="property"] body .st-chip{border:1px solid var(--th-bar-btn)}
  html[data-profile] body #memPanel .gd-ib.gd-talk{border-color:var(--gold);color:var(--ink)}
  html[data-profile] body .gd-chip .ic,html[data-profile] body .st-chip .ic{color:var(--gold)}
  html[data-profile] .sf-pick{border-radius:var(--th-rs)}
  /* Switchboard: figures in Plex Mono */
  html[data-profile="operations"] body #memPanel .gd-day,html[data-profile="operations"] .yb-fig,html[data-profile="operations"] body #memPanel .tk-chip b,html[data-profile="operations"] .t-eyebrow,html[data-profile="operations"] body #memPanel .gd-eyebrow,html[data-profile="operations"] .gd-wkcd{font-family:var(--th-mono);letter-spacing:.04em}

  /* ===== THE NAV'S SHAPE (desktop). The phone keeps its bottom bar in every theme (and the store app its own shell bar,
     html.yb-native-tabs hides ours); only its colours change. */
  @media(max-width:880px){
    html[data-profile] body #doorBar{background:var(--th-mbar);border-top:var(--th-mbar-line);box-shadow:none}
    html[data-profile] body #doorBar button{color:var(--th-mbar-ink)}
    html[data-profile] body #doorBar button.on{color:var(--th-mbar-on)}
    html[data-profile] body #doorBar button.on .db-i{background:var(--gold-tint);box-shadow:none}
    html[data-profile] body #doorBar button.on::before{background:var(--th-mbar-on)}
    html[data-profile] body #doorBar .db-i{color:inherit}
    html[data-profile] #doorBar.fm .db-face{box-shadow:0 0 0 2px var(--gold),0 0 0 4px var(--th-mbar),0 8px 20px rgba(0,0,0,.3)}html[data-profile][data-live-call=on] #doorBar .db-live,html[data-profile][data-live-call=your-phone] #doorBar .db-live{box-shadow:0 0 0 2px var(--th-mbar)}
  }
  @media(min-width:881px){
    /* shared: the sidebar's colours */
    html[data-profile] body #doorBar{background:var(--th-nav);border-right:var(--th-bw) solid var(--th-bc);box-shadow:none}
    html[data-profile] body #doorBar button{color:var(--th-nav-ink);border-radius:var(--th-rs);box-shadow:none}
    html[data-profile] body #doorBar button .db-i{color:inherit}
    html[data-profile] body #doorBar button:not(.on):hover{background:var(--gold-tint)}
    html[data-profile] body #doorBar button.on{background:var(--th-nav-on);color:var(--th-nav-on-ink);border-left-color:transparent;box-shadow:none}
    /* Front Desk: the left sidebar, 232px, navy on the open door */
    html[data-profile="practice"] body #doorBar{width:232px;padding:92px 20px 20px;border-right:1px solid var(--th-bc)}
    html[data-profile="practice"] body #doorBar button{min-height:42px;padding:10px 12px;font-size:14px;font-weight:500}
    html[data-profile="practice"] body.in-chat .cols{padding-left:232px}
    html[data-profile="practice"] .composer,html[data-profile="practice"] .pcmini,html[data-profile="practice"] .recbar{left:232px}
    /* Studio: a compact sidebar, 224px, 34px rows; the team below the doors */
    html[data-profile="agency"] body #doorBar{width:224px;padding:86px 12px 12px;border-right:1px solid var(--th-bc);gap:2px}
    html[data-profile="agency"] body #doorBar button{min-height:34px;padding:0 10px;font-size:13.5px;font-weight:600;gap:10px}
    html[data-profile="agency"] body #doorBar button .ic{width:18px;height:18px}
    html[data-profile="agency"] body.in-chat .cols{padding-left:224px}
    html[data-profile="agency"] .composer,html[data-profile="agency"] .pcmini,html[data-profile="agency"] .recbar{left:224px}
    /* Concierge: the dark icon rail, 76px, the word small under the icon */
    html[data-profile="property"] body #doorBar{width:76px;padding:88px 0 16px;align-items:center;gap:10px;border-right:0}
    html[data-profile="property"] body #doorBar button{flex-direction:column;justify-content:center;width:60px;min-height:60px;padding:6px 0;gap:4px;border-radius:12px;font-size:10.5px;font-weight:600;border-left:0}
    html[data-profile="property"] body #doorBar .db-w{font-size:10.5px;letter-spacing:.02em}
    html[data-profile="property"] body.in-chat .cols{padding-left:76px}
    html[data-profile="property"] .composer,html[data-profile="property"] .pcmini,html[data-profile="property"] .recbar{left:76px}
    /* Workshop and Switchboard: the doors as tabs across the top, under the bar */
    html[data-profile="trades"] body #doorBar,html[data-profile="operations"] body #doorBar{top:73px;bottom:auto;left:0;right:0;width:auto;flex-direction:row;align-items:stretch;padding:0 24px;gap:0;border-right:0}
    html[data-profile="trades"] body #doorBar button,html[data-profile="operations"] body #doorBar button{flex:none;border-left:0;border-radius:0;background:transparent}
    html[data-profile="trades"] body #doorBar button.on,html[data-profile="operations"] body #doorBar button.on{background:transparent}
    html[data-profile="trades"] body #doorBar{height:58px;border-bottom:1px solid var(--th-bc)}
    html[data-profile="trades"] body #doorBar button{min-height:56px;padding:0 24px;font-size:16px;font-weight:600;border-bottom:2px solid transparent}
    html[data-profile="trades"] body #doorBar button.on{border-bottom-color:var(--th-fill)}
    html[data-profile="operations"] body #doorBar{height:44px;border-bottom:1px solid var(--th-bc)}
    html[data-profile="operations"] body #doorBar button{min-height:43px;padding:0 16px;font-size:13px;font-weight:500;border-bottom:2px solid transparent}
    html[data-profile="operations"] body #doorBar button.on{border-bottom-color:var(--th-fill)}
    html[data-profile="operations"] body #doorBar button .ic{width:16px;height:16px}
    html[data-profile="trades"] body.in-chat .cols{padding-left:0;padding-top:58px}
    html[data-profile="operations"] body.in-chat .cols{padding-left:0;padding-top:44px}
    html.yb-native-tabs[data-profile] body.in-chat .cols{padding-top:0}   /* the store app hides our bar: no room kept for the tabs */
    html[data-profile="trades"] .composer,html[data-profile="trades"] .pcmini,html[data-profile="trades"] .recbar,html[data-profile="operations"] .composer,html[data-profile="operations"] .pcmini,html[data-profile="operations"] .recbar{left:0}
  }

  /* ===== THE LIVE COUNT (Switchboard) and THE TEAM (Studio): drawn by main/83-profiles.js, shown only in their theme */
  .pf-live,.pf-team{display:none}
  html[data-profile="operations"] .topbar .pf-live:not([hidden]){display:inline-flex;align-items:center;gap:7px;height:28px;padding:0 10px;margin-right:6px;border-radius:4px;background:var(--th-fill);color:var(--th-fill-ink);font:600 12px/1 var(--th-mono);letter-spacing:.06em}
  html[data-profile="operations"] .pf-live i{width:7px;height:7px;border-radius:50%;background:var(--th-fill-ink);animation:pfBlink 1.6s ease-in-out infinite}
  @keyframes pfBlink{50%{opacity:.25}}
  @media (prefers-reduced-motion: reduce){ html[data-profile="operations"] .pf-live i{animation:none} }
  @media(min-width:881px){
    html[data-profile="agency"] #doorBar .pf-team:not([hidden]){display:block;margin-top:18px;padding:12px 10px 0;border-top:1px solid var(--th-bc)}
    html[data-profile="agency"] .pf-team b{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 8px}
    html[data-profile="agency"] .pf-team span{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sub);min-height:30px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
    html[data-profile="agency"] .pf-team em{width:24px;height:24px;flex:none;border-radius:50%;background:var(--gold-tint);color:var(--gold);font:800 10.5px/24px var(--ff-text);text-align:center;font-style:normal}
    html[data-profile="agency"] .pf-kbd{display:inline-block;margin-left:6px;font:600 11px var(--ff-text);color:var(--muted);border:1px solid var(--th-bar-btn);border-radius:4px;padding:1px 5px}
  }
  .pf-kbd{display:none}
  @media(min-width:881px){ html[data-profile="agency"] .topbar .pf-kbd{display:inline-block} }

  /* ===== THE PREVIEW ON THE ONE QUESTION (docs/147): each tile carries its look - the ground, the accent, "Aa" in the face.
     Only inside .pf-flow (the profile question), so it shows for `full` too: that tile is today's look, and so is hospitality's
     until its own look is built (profiles.cjs LOOKS). */
  .pf-flow [data-sfv="trades"],.pf-flow [data-sfv="practice"],.pf-flow [data-sfv="agency"],.pf-flow [data-sfv="property"],.pf-flow [data-sfv="operations"],.pf-flow [data-sfv="full"],.pf-flow [data-sfv="hospitality"]{display:inline-flex;align-items:center;gap:9px}
  .pf-flow [data-sfv="trades"]::before,.pf-flow [data-sfv="practice"]::before,.pf-flow [data-sfv="agency"]::before,.pf-flow [data-sfv="property"]::before,.pf-flow [data-sfv="operations"]::before,.pf-flow [data-sfv="full"]::before,.pf-flow [data-sfv="hospitality"]::before{content:"Aa";content:"Aa"/"";flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:28px;font-size:15px;line-height:1;border-radius:var(--sw-r);background:var(--sw-bg);color:var(--sw-ink);font-family:var(--sw-ff);font-weight:var(--sw-w);box-shadow:inset 0 -4px 0 var(--sw-acc),inset 0 0 0 1px var(--sw-rule)}
  .pf-flow [data-sfv="trades"]{--sw-bg:#FFFFFF;--sw-ink:#111111;--sw-acc:#C99A2E;--sw-rule:#E6E1D6;--sw-r:6px;--sw-w:600;--sw-ff:'Fraunces',Georgia,serif}
  .pf-flow [data-sfv="practice"]{--sw-bg:#F4EFE4;--sw-ink:#14213D;--sw-acc:#C99A2E;--sw-rule:#E2D9C6;--sw-r:3px;--sw-w:600;--sw-ff:'Fraunces',Georgia,serif}
  .pf-flow [data-sfv="agency"]{--sw-bg:#F8F9FB;--sw-ink:#0F172A;--sw-acc:#C99A2E;--sw-rule:#E2E8F0;--sw-r:7px;--sw-w:800;--sw-ff:'Manrope',ui-sans-serif,system-ui,sans-serif}
  .pf-flow [data-sfv="property"]{--sw-bg:#1C1B19;--sw-ink:#FBFAF7;--sw-acc:#C99A2E;--sw-rule:#1C1B19;--sw-r:14px;--sw-w:400;--sw-ff:'DM Serif Display',Georgia,serif}
  .pf-flow [data-sfv="operations"]{--sw-bg:#0F1419;--sw-ink:#E6EDF3;--sw-acc:#D8AD4C;--sw-rule:#273038;--sw-r:5px;--sw-w:600;--sw-ff:'IBM Plex Mono',ui-monospace,Consolas,monospace}
  .pf-flow [data-sfv="full"]{--sw-bg:#0F1E32;--sw-ink:#FBF7EF;--sw-acc:#C99A2E;--sw-rule:#0F1E32;--sw-r:8px;--sw-w:500;--sw-ff:'Fraunces',Georgia,serif}
  .pf-flow [data-sfv="hospitality"]{--sw-bg:#0F1E32;--sw-ink:#FBF7EF;--sw-acc:#C99A2E;--sw-rule:#0F1E32;--sw-r:8px;--sw-w:500;--sw-ff:'Fraunces',Georgia,serif}
  /* ===== END THE FIVE LOOKS */
  /* ===== WHAT HAPPENED (CEO 17 Oct 2026, docs/81-notification-tray.md): "i never used what happened, gets in the way and
     confusing and not sure what to do when i read it. total redesign". No bell, no sheet, no pill, no tray. Three small pieces,
     tokens only (the five looks redefine them, dark mode included): Jasmine's one line on Home (#whLine, #smWh in simple mode),
     "Since you were here" at the top of My jobs (#whSince), and the one live banner (#whBanner). The colour is never alone:
     every level carries its word. Never a glow - the screen's one glow stays where docs/79 puts it. */
  .wh-line{display:block;margin:0 0 14px}
  .wh-line[hidden],#whSince[hidden],.wh-banner[hidden]{display:none}
  .wh-say{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin:0;padding:8px 12px 8px 14px;border:0;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;background:var(--gold-tint);color:var(--ink);font:inherit;font-size:15px;line-height:1.4;text-align:left;cursor:pointer}
  .wh-say:hover{background:var(--card)}
  .wh-say:focus-visible{outline:2px solid var(--ring,var(--gold));outline-offset:2px}
  .wh-who{flex:none;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--sub)}
  .wh-tx{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
  .wh-go{flex:none;font-size:20px;line-height:1;color:var(--sub)}
  .sm-wh{margin:0 16px 8px}
  .sm-wh .wh-say{font-size:17px}
  @media(max-width:520px){ .wh-tx{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical} .wh-who{display:none} }
  /* on Home the line sits under her own line, beside her face (style release 1, board 2): her name is not said twice */

  /* Since you were here: a quiet collapsed group at the top of My jobs */
  #whSince{scroll-margin-top:calc(var(--hdr,67px) + env(safe-area-inset-top,0px) + 12px)}
  /* "N things happened since you were here": one quiet line, no box (docs/231) */
  .wh-since{margin:0 0 6px}
  .wh-sh{display:flex;align-items:center;gap:6px;min-height:44px;padding:0 2px;cursor:pointer;font-size:14px;font-weight:600;color:var(--sub);list-style:none}
  .wh-sh::-webkit-details-marker{display:none}
  .wh-sh::after{content:"\25BE"}
  .wh-since[open] .wh-sh::after{content:"\25B4"}
  .wh-rows{border-top:1px solid var(--line)}
  .wh-row{display:flex;align-items:flex-start;gap:10px;width:100%;min-height:44px;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font:inherit;font-size:14.5px;line-height:1.4;text-align:left;cursor:pointer}
  .wh-row:last-child{border-bottom:0}
  .wh-row:hover{background:var(--gold-tint)}
  .wh-rw{flex:none;min-width:86px;font-size:12px;font-weight:800;letter-spacing:.03em;color:var(--nc,var(--sub));padding-top:2px}
  .wh-rt{flex:1;min-width:0}
  .wh-rt b{display:block;font-weight:700;overflow-wrap:anywhere}
  .wh-rt span{display:block;color:var(--sub);overflow-wrap:anywhere}
  .wh-ok{--nc:var(--note-ok)}.wh-warn{--nc:var(--note-warn)}.wh-bad{--nc:var(--note-bad)}.wh-info{--nc:var(--note-info)}

  /* the one live banner: under the top bar, one sentence, Open and a 44px dismiss; on a wide panel screen it sits bottom-right
     so it never covers the panel's own top (CEO 16 Oct 2026, "top right seems to get in the way"); the sentence has its own line (docs/81) */
  .wh-banner{position:fixed;z-index:85;top:calc(var(--hdr,67px) + env(safe-area-inset-top,0px) + 8px);left:12px;right:12px;max-width:560px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"w o x" "t t t";align-items:center;column-gap:8px;row-gap:0;padding:4px 4px 10px 14px;border-radius:14px;border-left:4px solid var(--nc);background:var(--card);color:var(--ink);box-shadow:var(--e3,0 10px 24px rgba(0,0,0,.18));animation:whIn .24s var(--ease) both}
  .wh-bw{grid-area:w;font-size:11.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--nc)}
  .wh-bt{grid-area:t;min-width:0;padding-right:10px;font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}
  .wh-bo{grid-area:o;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
  .wh-bx{grid-area:x;width:44px;height:44px;border:0;border-radius:12px;background:none;color:var(--sub);font-size:22px;line-height:1;cursor:pointer}
  .wh-bx:hover{background:var(--line)}
  .wh-bo:focus-visible,.wh-bx:focus-visible{outline:2px solid var(--ring,var(--gold));outline-offset:2px}
  body.simple-on .wh-banner{top:calc(env(safe-area-inset-top,0px) + 8px)}
  @media(min-width:900px){ body.mem-open:not(.gd-home-on) .wh-banner{top:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));left:auto;right:16px;width:420px;margin:0} }
  @keyframes whIn{from{transform:translateY(-10px);opacity:0}to{transform:none;opacity:1}}
  @media(prefers-reduced-motion:reduce){ .wh-banner{animation:none} }

  /* kept from the old tray: "Got it - I'm on it" on a job card the moment it is pressed (docs/81 "At the press"), the source chip */
  .nt-gotline{display:inline-flex;align-items:center;gap:6px;margin:6px 0 2px;padding:6px 12px;border-radius:999px;background:var(--gold-tint);font-weight:700;font-size:13.5px;color:var(--ink);position:relative}
  .nt-src{display:inline-block;font-size:11.5px;font-weight:800;color:var(--ink);background:var(--gold-tint);border-radius:999px;padding:1px 8px}
  .tk-pill .ic,.tk-mark .ic{width:16px;height:16px;vertical-align:-3px}
  /* ============ Jasmine on the screen (CEO 17 Oct 2026, docs/148 the redesign) ============
     The first screen is light and spacious: the words and the one entry on the left, Jasmine herself on the right with room to
     move. Her clips (/jasmine/<state>.mp4, made in the yesreel studio) play in a soft-edged frame that sits ON the page, not in a
     box; a drawn Jasmine (the inline SVG) stands in until the clips are on the box. The ripple answers her tap on the glass. Every
     colour is a page token; the stage is the same in dark mode (her clips carry their own light ground). Motion respects
     prefers-reduced-motion: the clips still play, the drawn stand-in stops bouncing. */
  /* THE REBUILD (docs/161, 17 Oct 2026): one centred column - the H1, Jasmine, the panel at her ankles with the box, the trust line, the one
     link, the sub-line - over ten business stills that turn every seven seconds (#jdBg, main/88) under a cream scrim; words never sit on the
     photo: the H1 on the scrim, the box on the frosted panel. */
  .jd{position:relative;background:var(--paper);padding:14px 16px 28px;overflow:hidden;isolation:isolate}
  .jd-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
  .jd-bg picture{display:contents}
  .jd-bg-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease;transform:scale(1)}
  .jd-bg-img.on{opacity:1}
  .jd-bg-img.push{animation:jdBgPush 7.4s linear forwards}
  @keyframes jdBgPush{from{transform:scale(1)}to{transform:scale(1.03)}}
  .jd-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(251,247,239,.74),rgba(251,247,239,.4))}
  .jd .jd-in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:640px;margin:0 auto}
  .jd .gh-h1{text-align:center;font-size:clamp(24px,6.4vw,40px);line-height:1.12;letter-spacing:-.02em;margin:0;max-width:900px;color:var(--ink)}   /* the line (docs/208): three short sentences, one to a line; the size lets the longest sit on one line where the column is wide enough and balances it onto two where it is not */
  .jd .ghdoor-l{display:block;text-wrap:balance}
  .jd .ghdoor-l:lang(ja){word-break:auto-phrase}   /* Japanese breaks at a phrase, not in the middle of one (a browser without this breaks as before) */
  .jd .ghdoor-price{margin:0;max-width:520px;font-family:var(--ff-b);font-size:15px;line-height:1.45;font-weight:500;color:var(--ink);text-align:center;text-wrap:balance}   /* the price line, directly under the line (docs/208) */
  .jd .ghdoor-under,.jd .ghdoor-trade{margin:0;max-width:560px;font-family:var(--ff-b);font-size:15px;line-height:1.45;font-weight:400;color:var(--ink);text-align:center;text-wrap:balance}   /* the stack v3 (28 Oct 2026, lib/doors.cjs STACK): under the one-line headline, the line under it, the trade line, then the price, one size and weight; each lead in bold */
  .jd .ghdoor-trade+.ghdoor-price{font-weight:400;max-width:560px}
  .jd .ghdoor-trade b,.jd .ghdoor-price b{font-weight:700}
  @media (min-width:761px){ .jd .ghdoor-under,.jd .ghdoor-trade,.jd .ghdoor-trade+.ghdoor-price{font-size:16px} }
  .jd .ghdoor-eyebrow{margin:0 0 -4px;font-size:12px;line-height:1.3;color:#8A6514;text-align:center}   /* what she is, under the line and the price, over her (lib/doors.cjs heroHtml; docs/184 row 3, docs/208): gold ink, 5.0:1 on paper (docs/190 sections 5 and 12); gold itself is 2.4:1, never text */
  .jd-panel{position:relative;z-index:3;width:100%;background:rgba(251,247,239,.93);border-radius:16px;padding:16px;box-shadow:0 24px 60px -34px rgba(15,30,50,.45)}
  /* THE DOOR STAYS LIGHT ON A PHONE IN DARK MODE (docs/190 rule 7, 20 Oct 2026). The scrim and the panel are fixed creams, so the words on
     them keep the light look: every token the dark look changes (01, 07, 08, 09), at the value light mode gives the door, then its text
     colour and light form controls. Without this the H1, the press and Jasmine's answer were pale ink on cream. The landing's gold-button
     dark rule (07-landing.css) leaves the door alone. test/door-dark.test.cjs fails when a light value or a new dark token is not here. */
  @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .jd{--bg:#F3F0E9;--card:#FFFEFB;--ink:#0F1E32;--close-ink:#1B4380;--close-fill:#E4E8F0;--ok-ink:#1D5C38;--bad-ink:#8A2A17;--warn-ink:#7A4F00;--info-ink:#1D3C6E;--sub:#5B6675;--line:#E4DFD3;--gold:#C99A2E;--navy:#0F1E32;--cream:#FBF7EF;--door-today:var(--d-today);
    --door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);
    --door-money:var(--d-money);--door-me:var(--d-me);--ok:#15803D;--warn:#8A6514;--bad:#C2261D;--info:#2563EB;--now:#1D4ED8;--muted:#656D7A;
    --ok-tint:rgba(29,122,70,.11);--warn-tint:rgba(201,154,46,.14);--bad-tint:rgba(185,28,28,.10);--info-tint:rgba(37,99,235,.10);
    --gold-tint:rgba(201,154,46,.13);--gold-glow:rgba(201,154,46,.42);--grain:rgba(15,30,50,.07);--vignette:rgba(90,60,20,.08);
    --glow-top:rgba(201,154,46,.07);--paper-shadow:0 1px 0 rgba(15,30,50,.03),0 10px 26px -16px rgba(90,60,20,.28);--d-today:#C99A2E;
    --d-today-deep:#8A6514;--d-today-hi:#F1DC9B;--d-do:#2F6BFF;--d-do-deep:#1A3BB8;--d-do-hi:#8CB0FF;--d-sales:#16A05A;--d-sales-deep:#0A6337;
    --d-sales-hi:#74DCA3;--d-marketing:#BE3ECF;--d-marketing-deep:#6A21A8;--d-marketing-hi:#EE93F2;--d-operations:#0E9FAB;--d-operations-deep:#095C66;
    --d-operations-hi:#74DEE4;--d-money:#0E8C5F;--d-money-deep:#054A33;--d-money-hi:#E8BE57;--d-me:#5D6E8A;--d-me-deep:#323F58;--d-me-hi:#B3C1D8;
    --navy-hi:#2A4268;--navy-deep:#091424;--hi:rgba(255,255,255,.85);--ring:rgba(24,32,48,.07);--sh:24,30,46;
    --e1:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 1px 2px rgba(var(--sh),.06),0 6px 16px -8px rgba(var(--sh),.16);
    --e2:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 2px 4px rgba(var(--sh),.06),0 14px 30px -12px rgba(var(--sh),.26);
    --e3:0 0 0 1px var(--ring),0 4px 10px rgba(var(--sh),.08),0 24px 48px -16px rgba(var(--sh),.34);
    --e4:0 -1px 0 var(--hi),0 -12px 48px -10px rgba(var(--sh),.38);--prim-a:#26406A;--prim-b:#0F1E32;--il-c:rgba(0,0,0,.24);--band-ink:var(--ink);
    --paper:var(--bg);--soft:var(--sub);--rule:var(--line);--acc:#1B4380;--acc-tint:rgba(27,67,128,.10);--band:var(--card);--band-soft:var(--sub);
    --band-rule:var(--line);--ruled:rgba(15,30,50,.075);color:var(--ink);color-scheme:light} }
  :root[data-theme="dark"] .jd{--bg:#F3F0E9;--card:#FFFEFB;--ink:#0F1E32;--close-ink:#1B4380;--close-fill:#E4E8F0;--ok-ink:#1D5C38;--bad-ink:#8A2A17;--warn-ink:#7A4F00;--info-ink:#1D3C6E;--sub:#5B6675;--line:#E4DFD3;--gold:#C99A2E;--navy:#0F1E32;--cream:#FBF7EF;--door-today:var(--d-today);
    --door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);
    --door-money:var(--d-money);--door-me:var(--d-me);--ok:#15803D;--warn:#8A6514;--bad:#C2261D;--info:#2563EB;--now:#1D4ED8;--muted:#656D7A;
    --ok-tint:rgba(29,122,70,.11);--warn-tint:rgba(201,154,46,.14);--bad-tint:rgba(185,28,28,.10);--info-tint:rgba(37,99,235,.10);
    --gold-tint:rgba(201,154,46,.13);--gold-glow:rgba(201,154,46,.42);--grain:rgba(15,30,50,.07);--vignette:rgba(90,60,20,.08);
    --glow-top:rgba(201,154,46,.07);--paper-shadow:0 1px 0 rgba(15,30,50,.03),0 10px 26px -16px rgba(90,60,20,.28);--d-today:#C99A2E;
    --d-today-deep:#8A6514;--d-today-hi:#F1DC9B;--d-do:#2F6BFF;--d-do-deep:#1A3BB8;--d-do-hi:#8CB0FF;--d-sales:#16A05A;--d-sales-deep:#0A6337;
    --d-sales-hi:#74DCA3;--d-marketing:#BE3ECF;--d-marketing-deep:#6A21A8;--d-marketing-hi:#EE93F2;--d-operations:#0E9FAB;--d-operations-deep:#095C66;
    --d-operations-hi:#74DEE4;--d-money:#0E8C5F;--d-money-deep:#054A33;--d-money-hi:#E8BE57;--d-me:#5D6E8A;--d-me-deep:#323F58;--d-me-hi:#B3C1D8;
    --navy-hi:#2A4268;--navy-deep:#091424;--hi:rgba(255,255,255,.85);--ring:rgba(24,32,48,.07);--sh:24,30,46;
    --e1:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 1px 2px rgba(var(--sh),.06),0 6px 16px -8px rgba(var(--sh),.16);
    --e2:inset 0 1px 0 var(--hi),0 0 0 1px var(--ring),0 2px 4px rgba(var(--sh),.06),0 14px 30px -12px rgba(var(--sh),.26);
    --e3:0 0 0 1px var(--ring),0 4px 10px rgba(var(--sh),.08),0 24px 48px -16px rgba(var(--sh),.34);
    --e4:0 -1px 0 var(--hi),0 -12px 48px -10px rgba(var(--sh),.38);--prim-a:#26406A;--prim-b:#0F1E32;--il-c:rgba(0,0,0,.24);--band-ink:var(--ink);
    --paper:var(--bg);--soft:var(--sub);--rule:var(--line);--acc:#1B4380;--acc-tint:rgba(27,67,128,.10);--band:var(--card);--band-soft:var(--sub);
    --band-rule:var(--line);--ruled:rgba(15,30,50,.075);color:var(--ink);color-scheme:light}
  .jd .gh-lead{text-align:center;font-size:15px;color:var(--soft);max-width:560px;margin:6px 0 0}
  .jd .ghdoor-app{text-align:center;font-family:var(--ff-b);font-size:14px;margin:4px 0 0}   /* the Android app's Google Play link under the sub-line (John 25 Oct 2026; lib/doors.cjs APP_LINE), quiet: never the door's glow */
  .jd .ghdoor-app a{display:inline-flex;align-items:center;min-height:44px;color:var(--soft);text-decoration:underline;text-underline-offset:3px}
  .jd .ghdoor-app a:hover,.jd .ghdoor-app a:focus-visible{color:var(--ink)}
  .ghdoor-alt{margin:8px 0 0;font-family:var(--ff-b);text-align:center;display:flex}
  .ghdoor-talk-link{flex:1 1 auto;font-family:var(--ff-b);font-weight:700;font-size:15px;min-height:48px;border-radius:12px;background:transparent;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer}   /* step two as a button (CEO 18 Oct 2026) */
  .ghdoor-talk-link:hover{background:var(--ink);color:var(--card)}
  @media (min-width:761px){ .ghdoor-alt{justify-content:center} .ghdoor-talk-link{flex:0 1 320px} }
  .jd .ghdoor-hear{max-width:none;margin:0 0 10px}
  .jd .ghdoor-hear label{font-size:15px}
  .jd .ghdoor-hear-row input{min-height:54px;font-size:17px;border-radius:12px;border-width:2px;padding:12px 16px 12px 28px;caret-color:var(--gold)}
  .jd .ghdoor-hear-row .ghdoor-in input{padding-right:56px}   /* room for the gold arrow (v767) */
  /* THE GOLD CURSOR (CEO 18 Oct 2026: "in the input box it needs a cursor in gold and be pulsing"): a gold bar pulses in the empty box before anyone
     taps it, so the box reads as waiting for them; the moment the box has focus or words the real caret (gold too) takes over */
  .jd .ghdoor-hear-row{position:relative}
  .jd .ghdoor-hear-row::before{content:"";position:absolute;left:15px;top:16px;width:2px;height:22px;border-radius:1px;background:var(--gold);box-shadow:0 0 8px rgba(201,162,74,.7);animation:jdCaret 1.1s ease-in-out infinite;pointer-events:none;z-index:2}
  .jd .ghdoor-hear-row:has(input:focus)::before,.jd .ghdoor-hear-row:has(input:not(:placeholder-shown))::before{display:none}
  @keyframes jdCaret{0%,100%{opacity:1;transform:scaleY(1)}50%{opacity:.25;transform:scaleY(.85)}}
  .jd .ghdoor-hear-row input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,162,74,.28);animation:jdCaretRing 1.6s ease-in-out infinite}
  @keyframes jdCaretRing{0%,100%{box-shadow:0 0 0 3px rgba(201,162,74,.28)}50%{box-shadow:0 0 0 5px rgba(201,162,74,.14)}}
  /* THE PRESS (CEO 18 Oct 2026: "change from black background to blue with shades that shimmer") */
  .jd .ghdoor-hear-row .gh-cta{min-height:54px;border-radius:12px;padding:6px 18px;font-size:15px;text-align:center;line-height:1.1;color:#fff;border-color:transparent;background:linear-gradient(115deg,#1B3FB8 0%,#2F6BFF 28%,#5B9BFF 50%,#2F6BFF 72%,#1B3FB8 100%);background-size:220% 100%;animation:jdShimmer 3.4s ease-in-out infinite;box-shadow:0 10px 26px -12px rgba(31,79,214,.7)}
  .jd .ghdoor-hear-row .gh-cta:hover{background-position:100% 0;color:#fff}
  @keyframes jdShimmer{0%{background-position:0% 0}50%{background-position:100% 0}100%{background-position:0% 0}}
  @media (prefers-reduced-motion:reduce){ .jd .ghdoor-hear-row::before,.jd .ghdoor-hear-row input:focus,.jd .ghdoor-hear-row .gh-cta{animation:none} }
  .jd .ghdoor-hear-fine{font-size:13.5px;color:var(--soft);margin-top:8px;max-width:560px}
  .jd .ghdoor-hear-out{border-radius:12px;border-left-width:4px}
  .jd .ghdoor-trust{margin:10px 0 0;font-size:14.5px;text-align:center}
  /* the stage */
  .jd-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;width:100%}
  .jd-stage[hidden]{display:none!important}   /* signed in, she leaves (main/86 hush; CEO 19 Oct 2026), docked figure included */
  .jd-stage.alpha+.jd-panel{margin-top:-46px}   /* the counter: the panel's top edge at her ankles, she stands behind it (docs/161) */
  .jd-stage.dock{padding-top:0}
  .jd-stage:not(.dock) .jd-say{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0;padding:0}   /* her words stay for a screen reader; the bubble shows them on the first screen */
  .jd-stage .jd-talk{display:none}
  .jd-stage.talking .jd-talk{display:flex}   /* Talk shows as Stop only while the line is open; the link under the box starts it */
  .jd-stage .jd-type-btn{display:none}
  .jd-stage.tour-tap:not(.talking):not(.dock) .jd-talk{display:flex}   /* the tour-on-a-tap half (docs/240): the tour starts only on a press, so "Show me around" shows; plain, never a glow */
  .jd-stage.tour-tap:not(.talking) .jd-talk-btn{display:none}
  .jd-stage.tour-tap:not(.talking) #jdTour{display:inline-flex;align-items:center}
  /* FREE-ROAMING (CEO 17 Oct 2026: "what if she wasn't contained to that box however could move around the screen ... she needs to be able to be
     on the screen that is changing"): with the studio's alpha clips (VP9 WebM with transparency; Chrome, Edge, Firefox on a wide screen) the stage
     takes .alpha - the frame is transparent, she stands on the page - and the roam wrapper carries her to the box, Talk and Type on the tour
     (--jx/--jy/--js set by main/86 roamTo) and rides along at the corner, no card, when the first screen scrolls away. Phones and Safari keep the card. */
  .jd-roam{position:relative;width:min(100%,560px);transition:transform 1.1s cubic-bezier(.3,.8,.3,1);transform:translate(var(--jx,0px),var(--jy,0px)) scale(var(--js,1));transform-origin:50% 100%}
  .jd-stage.roaming{z-index:5}
  .jd-stage.alpha .jd-frame{background:none;border-radius:0;box-shadow:none;overflow:visible;aspect-ratio:16/9}   /* the clip fills the frame, so the clip-path below reaches its edge rows */
  .jd-stage.alpha .jd-glass{display:none}
  .jd-stage.alpha .jd-vid{object-fit:contain;clip-path:inset(1.4% 0)}   /* the keyed clips carry dark rows top and bottom (Veo's frame edge survived the key); on a photo even a faint row shows, so a little more is cut */
  .jd-stage.alpha .jd-frame.out{--sc:1}
  .jd-stage.alpha .jd-ripple i{border-color:rgba(15,30,50,.35);box-shadow:none}
  .jd-stage.alpha.dock .jd-frame{box-shadow:none;border-radius:0;background:none}
  .jd-stage.alpha.dock .jd-vid{object-fit:cover;clip-path:inset(2% 0)}
  .jd-stage:not(.alpha) .jd-vid{clip-path:inset(1.2% 0)}   /* the cream clips carry dark edge rows too: a thin line at the top and foot of the phone card (CEO's screenshot, 18 Oct 2026) */   /* the small card: the keyed clip's edge rows fall outside it (the sweep of 18 Oct 2026: two hairlines across the card) */
  .jd-stage.dock .jd-roam{transform:none!important;width:100%}
  .jd-frame{position:relative;width:100%;aspect-ratio:16/11;border-radius:28px;overflow:hidden;background:radial-gradient(120% 90% at center 70%,#F3E4C0 0%,var(--paper) 62%);isolation:isolate}   /* "at center", never "at N%": test/partner-apply scans the page for a keep/earn/at N% line */
  .jd-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:opacity .4s var(--ease)}
  .jd-vid[hidden]{display:none}
  .jd-draw{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center}
  .jd-draw[hidden]{display:none}
  .jd-svg{width:min(78%,330px);height:auto;transform-origin:50% 100%;animation:jdBreathe 4.2s ease-in-out infinite}
  .jd-glass{position:absolute;inset:0;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,.28),rgba(255,255,255,0) 38%,rgba(255,255,255,0) 70%,rgba(255,255,255,.12));mix-blend-mode:screen}
  /* the ripple: three rings from where she taps, a touch of glass-bend on the frame */
  .jd-ripple{position:absolute;left:var(--rx,56%);top:var(--ry,46%);width:0;height:0;pointer-events:none}
  .jd-ripple i{position:absolute;left:0;top:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px rgba(15,30,50,.12),inset 0 0 18px rgba(255,255,255,.5);opacity:0;transform:scale(.2)}
  .jd-ripple.go i{animation:jdRing 1.25s cubic-bezier(.2,.7,.2,1) forwards}
  .jd-ripple.go i:nth-child(2){animation-delay:.14s}.jd-ripple.go i:nth-child(3){animation-delay:.28s}
  .jd-frame.bend{animation:jdBend .9s cubic-bezier(.2,.7,.2,1)}
  @keyframes jdRing{0%{opacity:.95;transform:scale(.2)}70%{opacity:.35}100%{opacity:0;transform:scale(22)}}
  @keyframes jdBend{0%{transform:scale(1)}30%{transform:scale(1.015) skewX(-.4deg)}60%{transform:scale(.996) skewX(.3deg)}100%{transform:scale(1)}}
  /* THE THOUGHT BUBBLE (CEO 17 Oct 2026: "thought bubbles so people can see what she says ... when we can't hear her"): her words rise
     beside her head while her voice cannot play (before the first tap, blocked, muted, slow); the moment her audio is heard it fades and the
     caption under the stage stays. Two trailing dots point at her. Hidden while she rides along as the small card (the caption does that). */
  /* ABOVE HER HEAD (CEO 18 Oct 2026: "bubble from the head can't go in her head, above it"): the stage keeps 64 px of room above her for it, the
     bubble is centred there with its two dots pointing straight down at her, never over her face on any width */
  .jd-stage{padding-top:72px}
  .jd-bubble{position:absolute;left:50%;right:auto;top:-70px;max-width:min(88%,440px);width:max-content;text-align:center;background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:22px;padding:12px 16px 13px;font-family:var(--ff-d);font-style:italic;font-size:clamp(15px,1.5vw,18px);line-height:1.3;box-shadow:0 12px 32px rgba(15,30,50,.14);z-index:4;pointer-events:none;opacity:0;transform:translateY(16px) scale(.96);transition:opacity .45s var(--ease),transform .6s var(--ease),scale 1.1s cubic-bezier(.3,.8,.3,1)}
  .jd-bubble{transform:translate(-50%,16px) scale(.96)}
  .jd-bubble.on{opacity:1;transform:translate(-50%,0) scale(1)}
  .jd-bubble.off{opacity:0;transform:translate(-50%,-20px) scale(.98)}
  .jd-bubble[hidden]{display:none}
  .jd-stage.roaming .jd-bubble{scale:calc(1 / var(--js,1));transform-origin:0 100%;max-width:min(88%,440px,var(--bmax,440px))}   /* true size while she shrinks (22 Oct 2026); --bmax from main/86 */
  .jd-bubble i{position:absolute;border-radius:50%;background:var(--card);border:1px solid var(--rule);box-shadow:0 4px 12px rgba(15,30,50,.1)}
  .jd-bubble .jd-bubble-d1{width:14px;height:14px;left:50%;margin-left:-7px;bottom:-17px}
  .jd-bubble .jd-bubble-d2{width:8px;height:8px;left:50%;margin-left:-4px;bottom:-30px}
  .jd-stage.dock .jd-bubble{display:none}
  /* the browser blocked her voice: one tap here (the cue sits under her frame on the card, on the counter beside her where she stands behind it, in the top corner on a phone; gone on the first tap anywhere) */
  .jd-hear{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);z-index:4;min-height:44px;padding:0 20px;border-radius:999px;background:linear-gradient(100deg,#b8862a 0%,#e6c25c 30%,#fff1b8 50%,#e6c25c 70%,#b8862a 100%);background-size:220% 100%;color:#1c2746;border:1px solid rgba(255,241,184,.9);font:inherit;font-weight:700;font-size:15px;letter-spacing:.01em;cursor:pointer;box-shadow:0 10px 28px rgba(201,154,46,.45),0 0 0 0 rgba(230,194,92,.55);animation:jdShimmer 2.8s linear infinite,jdBreathe 2.4s ease-in-out infinite}   /* gold, shimmering, breathing (CEO 18 Oct 2026) */
  .jd-hear:hover,.jd-hear:focus-visible{outline:none;filter:brightness(1.06)}
  @media (max-width:760px){ .jd-hear{animation:jdShimmer 2.8s linear infinite,jdBreatheR 2.4s ease-in-out infinite} }
  @keyframes jdBreatheR{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
  @keyframes jdBreathe{0%,100%{transform:translateX(-50%) scale(1);box-shadow:0 10px 28px rgba(201,154,46,.45),0 0 0 0 rgba(230,194,92,.55)}50%{transform:translateX(-50%) scale(1.06);box-shadow:0 14px 34px rgba(201,154,46,.55),0 0 0 10px rgba(230,194,92,0)}}
  .jd-mute{position:absolute;right:10px;bottom:-6px;z-index:4;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.92);color:#1c2746;border:1px solid var(--rule,#d9d2c2);font:inherit;font-weight:600;font-size:13px;cursor:pointer;box-shadow:0 4px 14px rgba(15,30,50,.14)}
  .jd-mute.on{background:#1c2746;color:#fff;border-color:#1c2746}
  .jd-mute[hidden]{display:none}
  .jd-ver{position:fixed;left:6px;top:4px;z-index:99;font:11px/1.2 ui-monospace,Menlo,Consolas,monospace;color:#6b665e;background:rgba(255,255,255,.7);padding:2px 5px;border-radius:4px;pointer-events:none}   /* the version tag (CEO 18 Oct 2026), temporary */
  .jd-stage.dock .jd-mute{display:none}
  .jd-hear[hidden]{display:none}
  @keyframes jdPulse{0%,100%{opacity:1}50%{opacity:.82}}   /* a breath that works wherever the cue sits */   /* a breath, never a gold ring: the box is the one glow (docs/161) */
  .jd-stage.dock .jd-hear{display:none}
  .jd-chat-end{align-self:flex-end;margin-top:6px;background:transparent;border:0;color:var(--soft);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:4px 2px}
  @media (max-width:760px){ .jd-stage{padding-top:70px} .jd-bubble{max-width:92%;font-size:14px;top:-68px;padding:10px 14px 11px} .jd-bubble i{display:none} .jd-mute{right:10px;top:62px;bottom:auto} .jd-hear{left:auto;right:10px;top:10px;bottom:auto;transform:none;min-height:44px} }   /* a phone: the cue in the card's empty top corner, never over her hands (the sweep of 18 Oct 2026) */   /* a phone: the bubble sits just above her card, no dots to land on her forehead */
  @media (min-width:761px){ .jd-stage.alpha .jd-hear{left:auto;right:12px;bottom:44px;transform:none;animation:jdShimmer 2.8s linear infinite,jdBreatheR 2.4s ease-in-out infinite} .jd-stage.alpha .jd-mute{right:auto;left:12px;bottom:49px} }   /* ON THE COUNTER (CEO 19 Oct 2026: "hear jasmine button on the screen hidden by the others, fix"): where she stands behind the counter (.alpha on a wide screen) the panel covers the foot of her frame, and the cue and Mute sat there behind it, never seen; they stand on the counter at her sides now, 12 px above its edge, clear of her and of the box */
  /* the new layer fades in ON TOP of the old one, which stays opaque underneath until the fade is over - never two half-transparent layers over the cream (CEO 17 Oct 2026: "still white at one point") */
  .jd-vid.top{z-index:2}
  /* THE ONE-TAP FIRST MOVE (the adversarial review of Beep vs Jasmine, 17 Oct 2026): three pills under her first line; a tap unlocks her voice */
  .jd-ask{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
  .jd-ask[hidden]{display:none}
  .jd-ask-btn{min-height:40px;padding:0 16px;border-radius:999px;background:var(--card);color:var(--ink);border:1.5px solid var(--rule);font:inherit;font-weight:600;font-size:14px;cursor:pointer}
  .jd-ask-btn:hover{border-color:var(--navy);background:var(--paper)}
  .jd-stage.dock .jd-ask{display:none}
  /* THE SPOTLIGHT (Beep's #beep-spot, adopted): one fixed box over the control she stands beside, the page dimmed by its shadow, the rest untouched */
  .jd-spot{position:fixed;z-index:4;pointer-events:none;border:2px solid var(--gold);border-radius:12px;box-shadow:0 0 0 5px rgba(201,162,74,.22),0 0 0 200vmax rgba(15,30,50,.30);transition:left .45s cubic-bezier(.2,.8,.2,1),top .45s cubic-bezier(.2,.8,.2,1),width .45s cubic-bezier(.2,.8,.2,1),height .45s cubic-bezier(.2,.8,.2,1)}   /* Beep's #beep-spot, adopted at MEETING 1 (aim, 17 Oct 2026): the one huge shadow IS the dimmer; pointer-events none so the lit control stays clickable */
  .jd-roam.flip .jd-vid{transform:scaleX(-1)}   /* she faces the target when she stands to its left */
  .jd-spot[hidden]{display:none}
  .jd-stage.roaming{z-index:6}
  @media (prefers-reduced-motion:reduce){ .jd-spot{transition:none} }
  /* her line, and the two presses */
  .jd-say{font-family:var(--ff-d);font-style:italic;font-size:clamp(17px,2vw,21px);line-height:1.35;color:var(--ink);text-align:center;max-width:520px;margin:0;min-height:1.4em}
  .jd-say[hidden]{display:none}
  .jd-talk{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
  .jd-talk-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;background:var(--navy);color:#fff;border:1px solid var(--navy);font:inherit;font-weight:600;font-size:15px;cursor:pointer}
  .jd-talk-btn .ic{width:18px;height:18px}
  .jd-talk-btn:hover{background:var(--acc);border-color:var(--acc)}
  .jd-talk-btn.live{background:var(--acc);border-color:var(--acc)}
  .jd-type-btn{min-height:48px;padding:0 16px;border-radius:999px;background:transparent;color:var(--ink);border:1px solid var(--rule);font:inherit;font-weight:600;font-size:14.5px;cursor:pointer}
  .jd-type-btn:hover{border-color:var(--ink)}
  .jd-chat{width:min(100%,560px);background:var(--card);border:1px solid var(--rule);border-radius:16px;padding:12px}
  .jd-chat[hidden]{display:none}
  .jd-chat-log{display:flex;flex-direction:column;gap:8px;max-height:220px;overflow:auto;padding:2px 2px 8px;font-family:var(--ff-b);font-size:15px;line-height:1.4}
  .jd-chat-log p{margin:0;padding:8px 12px;border-radius:12px;max-width:88%}
  .jd-chat-log p.her{background:var(--acc-tint);color:var(--ink);align-self:flex-start;border-bottom-left-radius:4px}
  .jd-chat-log p.you{background:var(--paper);color:var(--ink);align-self:flex-end;border-bottom-right-radius:4px;border:1px solid var(--rule)}
  .jd-chat-row{display:flex;gap:8px}
  .jd-chat-row input{flex:1;min-width:0;min-height:46px;border:1.5px solid var(--rule);border-radius:10px;padding:10px 12px;font:inherit;font-size:16px;background:var(--card);color:var(--ink)}
  .jd-chat-go{min-height:46px;padding:0 16px;border-radius:10px;background:var(--navy);color:#fff;border:0;font:inherit;font-weight:600;cursor:pointer}
  /* the drawn stand-in's states (data-j on #jdStage) */
  .jd-eyes{animation:jdBlink 5.5s infinite}
  @keyframes jdBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.08)}}
  .jd-eyes{transform-origin:160px 144px}
  .jd-arm-r,.jd-hand-r{transform-origin:224px 240px}
  .jd-arm-l,.jd-hand-l{transform-origin:96px 240px}
  .jd-head{transform-origin:160px 200px}
  .jd-zz{opacity:0}
  @keyframes jdBreathe{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.012)}}
  [data-j="greet"] .jd-arm-r,[data-j="greet"] .jd-hand-r{animation:jdWave 1.6s ease-in-out 2}
  @keyframes jdWave{0%,100%{transform:rotate(0)}25%{transform:rotate(-160deg)}50%{transform:rotate(-140deg)}75%{transform:rotate(-165deg)}}
  [data-j="listen"] .jd-head{animation:jdTilt 2.4s ease-in-out infinite}
  @keyframes jdTilt{0%,100%{transform:rotate(0)}50%{transform:rotate(-6deg)}}
  [data-j="talk"] .jd-mouth{animation:jdTalk .42s ease-in-out infinite;transform-origin:160px 172px}
  @keyframes jdTalk{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.9)}}
  [data-j="talk"] .jd-head{animation:jdNod 1.3s ease-in-out infinite}
  @keyframes jdNod{0%,100%{transform:rotate(0)}50%{transform:rotate(2.5deg) translateY(2px)}}
  [data-j="think"] .jd-arm-r,[data-j="think"] .jd-hand-r{transform:rotate(-120deg) translate(10px,-10px)}
  [data-j="think"] .jd-eyes{transform:translateY(-4px)}
  [data-j="celebrate"] .jd-arm-r,[data-j="celebrate"] .jd-hand-r{animation:jdUpR 1.2s ease-in-out 2}
  [data-j="celebrate"] .jd-arm-l,[data-j="celebrate"] .jd-hand-l{animation:jdUpL 1.2s ease-in-out 2}
  [data-j="celebrate"] .jd-svg{animation:jdHop .6s ease-in-out 4}
  @keyframes jdUpR{0%,100%{transform:rotate(0)}40%,70%{transform:rotate(-175deg)}}
  @keyframes jdUpL{0%,100%{transform:rotate(0)}40%,70%{transform:rotate(175deg)}}
  @keyframes jdHop{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
  [data-j="tap"] .jd-arm-r,[data-j="tap"] .jd-hand-r{animation:jdTap 1.6s ease-in-out 1}
  @keyframes jdTap{0%,100%{transform:rotate(0)}30%{transform:rotate(-120deg) translate(6px,-6px)}45%{transform:rotate(-112deg) translate(6px,-6px)}60%{transform:rotate(-120deg) translate(6px,-6px)}}
  [data-j="sleep"] .jd-eyes{transform:scaleY(.08)}
  [data-j="sleep"] .jd-head{transform:rotate(9deg) translateY(6px)}
  [data-j="sleep"] .jd-zz{opacity:1;animation:jdZz 2.2s ease-in-out infinite}
  [data-j="sleep"] .jd-svg{animation:jdBreathe 6s ease-in-out infinite}
  @keyframes jdZz{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(-14px);opacity:0}}
  [data-j="goodbye"] .jd-arm-r,[data-j="goodbye"] .jd-hand-r{animation:jdWave 1.6s ease-in-out 1}
  @media (prefers-reduced-motion:reduce){ .jd-svg,.jd-eyes,.jd-head,.jd-arm-r,.jd-arm-l,.jd-hand-r,.jd-hand-l,.jd-mouth,.jd-zz{animation:none!important} .jd-frame.bend{animation:none} }
  @media (min-width:761px){
    .jd{padding:36px 24px 44px}
    .jd .jd-in{gap:14px}
    .jd-frame{width:100%;max-width:560px;aspect-ratio:16/9}   /* the clips' own shape: nothing cropped, her raised hands in shot */
    .jd .ghdoor-hear-row .gh-cta{flex:0 0 auto}
  }
  /* A SHORT LAPTOP (STYLE 2c16, 21 Oct 2026, docs/208): with the line on three rows the box and its button fell under the fold at 1280x800,
     so on a wide screen 860 px high or less she stands smaller and the empty wall above her goes: the box starts by 600 px, its button ends by
     780 px. Door A's bubble sits beside her head, so its stage drops the room kept above her too; 720 px or less, one step smaller again. The
     counter still meets her hands (its overlap shrinks with her). A browser without :has keeps the tall stage. */
  @media (min-width:761px) and (max-height:860px){
    .jd:has(.ghdoor-l) .jd-stage:not(.dock){padding-top:60px}
    .jd:has(.ghdoor-l) .jd-bubble{top:-58px}
    .jd:has(.ghdoor-l) .jd-stage:not(.dock) .jd-frame{max-width:358px;margin:0 auto}
    .jd:has(.ghdoor-l) .jd-stage.alpha:not(.dock)+.jd-panel{margin-top:-34px}
    #door.door-a:has(.ghdoor-l) .jd-stage:not(.dock){padding-top:4px}
    #door.door-a:has(.ghdoor-l) .jd-stage:not(.dock) .jd-frame{max-width:384px}
    #door.door-a:has(.ghdoor-l) .jd-stage.alpha:not(.dock)+.jd-panel{margin-top:-35px}
    #door.door-a:has(.ghdoor-l) .jd-stage:not(.alpha):not(.dock) .jd-frame{max-width:322px}
  }
  @media (min-width:761px) and (max-height:720px){
    .jd:has(.ghdoor-l) .jd-stage:not(.dock) .jd-frame{max-width:300px}
    .jd:has(.ghdoor-l) .jd-stage.alpha:not(.dock)+.jd-panel{margin-top:-31px}
    #door.door-a:has(.ghdoor-l) .jd-stage:not(.dock){padding-top:4px}
    #door.door-a:has(.ghdoor-l) .jd-stage:not(.dock) .jd-frame{max-width:326px}
    #door.door-a:has(.ghdoor-l) .jd-stage.alpha:not(.dock)+.jd-panel{margin-top:-33px}
    #door.door-a:has(.ghdoor-l) .jd-stage:not(.alpha):not(.dock) .jd-frame{max-width:267px}
  }
  /* A SHORT PHONE (John 21 Oct 2026): she stands as tall as the screen allows, the press on the first screen; her card (no overlap) smaller by 46 px */
  @media (max-width:760px){
    #door.door-a .jd-stage:not(.dock) .jd-frame{max-width:clamp(200px,(100vh - 497px)*16/9,100%);margin:0 auto}
    @supports (height:100svh){ #door.door-a .jd-stage:not(.dock) .jd-frame{max-width:clamp(200px,(100svh - 497px)*16/9,100%)} }
    #door.door-a .jd-stage:not(.alpha):not(.dock) .jd-frame{max-width:clamp(200px,(100vh - 556px)*16/9,100%)}
    @supports (height:100svh){ #door.door-a .jd-stage:not(.alpha):not(.dock) .jd-frame{max-width:clamp(200px,(100svh - 556px)*16/9,100%)} }
  }
  @media (max-width:380px){
    #door.door-a .jd-stage:not(.dock) .jd-frame{max-width:clamp(200px,(100vh - 517px)*16/9,100%)}
    @supports (height:100svh){ #door.door-a .jd-stage:not(.dock) .jd-frame{max-width:clamp(200px,(100svh - 517px)*16/9,100%)} }
    #door.door-a .jd-stage:not(.alpha):not(.dock) .jd-frame{max-width:clamp(200px,(100vh - 576px)*16/9,100%)}
    @supports (height:100svh){ #door.door-a .jd-stage:not(.alpha):not(.dock) .jd-frame{max-width:clamp(200px,(100svh - 576px)*16/9,100%)} }
  }
  @supports (backdrop-filter:blur(1px)){ @media (min-width:761px){ .jd-panel{background:rgba(251,247,239,.82);backdrop-filter:blur(14px)} } }
  @media (max-width:760px){ .jd{padding:14px 16px 24px} .jd-frame{border-radius:20px;aspect-ratio:16/9} .jd .jd-in{gap:10px} .jd-say{font-size:16px} .jd .ghdoor-hear-row input{flex:1 1 200px;min-height:48px} .jd .ghdoor-hear-mic{flex:0 0 52px;width:52px;min-height:48px} .jd .ghdoor-hear-row .gh-cta{flex:1 1 100%;min-height:48px} .jd-panel{padding:14px} }   /* a phone: the input and the mic on one line, the press full width on the next */
  /* phone: the drawn Jasmine must fit the frame whole (the bun was cropped at 390 wide) */
  @media (max-width:760px){ .jd-svg{width:min(60%,236px)} }
  /* 3D PRESENCE (CEO 17 Oct 2026: "when she taps the screen ... the whole screen looks like she is trying to get through; think what other
     cool animations ... step outside her box and walk to the screen"). The frame lives in a perspective: it tilts a little toward the
     pointer (desktop), swells and brightens when she pushes on the glass, and comes closer when she celebrates. All CSS, all off
     under prefers-reduced-motion. */
  .jd-stage{perspective:1200px}
  .jd-frame{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s var(--ease);transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) scale(var(--sc,1));box-shadow:0 30px 60px -40px rgba(15,30,50,.45),0 2px 0 rgba(15,30,50,.04)}
  .jd-frame.push{animation:jdPush 1.3s cubic-bezier(.2,.7,.2,1)}
  .jd-frame.push .jd-glass{animation:jdGlassFlash 1.3s ease-out}
  .jd-frame.push .jd-vid{animation:jdLean 1.3s cubic-bezier(.2,.7,.2,1)}
  @keyframes jdPush{0%{transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) scale(1)}22%{transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) scale(1.045) translateZ(28px)}48%{transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) scale(1.02) translateZ(12px)}100%{transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) scale(1)}}
  @keyframes jdGlassFlash{0%{opacity:1}18%{opacity:1;background:radial-gradient(60% 50% at var(--rx,56%) var(--ry,46%),rgba(255,255,255,.75),rgba(255,255,255,0) 70%)}100%{opacity:1}}
  @keyframes jdLean{0%{transform:scale(1)}22%{transform:scale(1.06) translateY(-1.5%)}100%{transform:scale(1)}}
  .jd-frame.near{--sc:1.06}
  .jd-frame.near .jd-vid{transition:transform .6s var(--ease);transform:scale(1.04)}
  .jd-frame.bend{animation:jdBend .9s cubic-bezier(.2,.7,.2,1),jdPush 1.3s cubic-bezier(.2,.7,.2,1)}
  @media (prefers-reduced-motion:reduce){ .jd-frame,.jd-frame.push,.jd-frame.bend,.jd-frame.near{animation:none!important;transform:none!important;--sc:1} .jd-frame.push .jd-glass,.jd-frame.push .jd-vid{animation:none!important} }
  @media (hover:none){ .jd-frame{--tx:0deg;--ty:0deg} }
  /* two film layers (main/86): the next clip loads underneath and crosses over only when it can play - never a gap between clips */
  .jd-vid{opacity:1;transition:opacity .18s ease}   /* the card cross-fade, once the new layer has painted (main/86 firstFrame; John, 21 Oct 2026) */
  @media (prefers-reduced-motion:reduce){ .jd-vid{transition:none} }
  .jd-vid.off{opacity:0;pointer-events:none}
  .jd-vid.cut{transition:none}   /* the desktop alpha path cuts on the new layer's first frame: a fade with no background behind her showed two of her (Comfy, 19 Oct 2026, main/86 firstFrame) */
  /* THE STACKED-ALPHA PATH (the phone path, 18 Oct 2026, main/86): the canvas (.jd-vid.jd-stk) shows her; the two film layers play on under it, unseen */
  .jd-stk-src{position:absolute;inset:0;width:100%;height:100%;opacity:0!important;pointer-events:none;z-index:-1}
  .jd-stk{background:center/contain no-repeat}
  /* THE SLOW WATER RIPPLE (CEO 17 Oct 2026: "the slow ripple like in the water over the surface of the screen"): on her tap the film
     itself bends through an SVG displacement filter for ~3 s (Chrome, Edge, Firefox; Safari keeps the rings only), the rings widen
     slowly like on a pond, and the push on the glass is gentle now. */
  .jd-water-defs{position:absolute;width:0;height:0;overflow:hidden}
  .jd-frame.water .jd-vid{filter:url(#jdWater)}
  .jd-ripple i{border-width:1.5px;border-color:rgba(255,255,255,.85);box-shadow:0 0 0 1px rgba(15,30,50,.08),inset 0 0 26px rgba(255,255,255,.35)}
  .jd-ripple.go i{animation:jdRing 2.6s cubic-bezier(.15,.6,.2,1) forwards}
  .jd-ripple.go i:nth-child(2){animation-delay:.32s}.jd-ripple.go i:nth-child(3){animation-delay:.64s}
  @keyframes jdRing{0%{opacity:.9;transform:scale(.2)}60%{opacity:.3}100%{opacity:0;transform:scale(30)}}
  @keyframes jdPush{0%{transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) scale(1)}30%{transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) scale(1.018) translateZ(10px)}100%{transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) scale(1)}}
  @keyframes jdGlassFlash{0%{opacity:1}22%{opacity:1;background:radial-gradient(55% 45% at var(--rx,56%) var(--ry,46%),rgba(255,255,255,.55),rgba(255,255,255,0) 72%)}100%{opacity:1}}
  @media (prefers-reduced-motion:reduce){ .jd-frame.water .jd-vid{filter:none} }
  /* OUT OF HER FRAME (CEO 17 Oct 2026: "climb out of her screen and peer around the corner"): the clips' ground is the page's cream, so
     when the frame drops its corners and shadow for the peek the edge of the box vanishes and she reads as out on the page */
  .jd-frame{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .6s var(--ease),border-radius .6s var(--ease)}
  .jd-frame.out{border-radius:0;box-shadow:none;--sc:1.08}
  .jd-frame.out .jd-glass{opacity:0}
  .jd-glass{transition:opacity .6s var(--ease)}
  /* say your website: the mic in the one entry's row (shown only where the browser can hear) */
  .ghdoor-hear-mic{flex:0 0 auto;width:54px;min-height:54px;border-radius:12px;border:2px solid var(--rule);background:var(--card);color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
  .ghdoor-hear-mic .ic{width:22px;height:22px}
  .ghdoor-hear-mic:hover{border-color:var(--ink)}
  .ghdoor-hear-mic.live{border-color:var(--acc);color:var(--acc);box-shadow:0 0 0 4px var(--acc-tint);animation:jdMicPulse 1.2s ease-in-out infinite}
  .ghdoor-hear-mic[hidden]{display:none}
  @keyframes jdMicPulse{0%,100%{box-shadow:0 0 0 3px var(--acc-tint)}50%{box-shadow:0 0 0 9px var(--acc-tint)}}
  /* SHE COMES WITH THEM (CEO 17 Oct 2026: "people would get stuck with her at the top and never read below ... she needs to be able to
     be on the screen that is changing"): when the first screen scrolls away the stage becomes a small card fixed to the screen, her
     film still playing, one line per section as it comes into view; a tap on the card goes back to the box. The tour glows the thing
     she is talking about. */
  .jd-stage.dock{position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:max(14px,env(safe-area-inset-bottom,0px));z-index:60;width:min(44vw,250px);gap:6px;perspective:none;cursor:pointer}
  .jd-stage.dock .jd-frame{width:100%;aspect-ratio:16/12;border-radius:18px;box-shadow:0 18px 40px -18px rgba(15,30,50,.45),0 0 0 1px rgba(15,30,50,.06);transform:none!important}
  .jd-stage.dock .jd-say{font-size:13px;line-height:1.3;max-width:100%;background:var(--card);border:1px solid var(--rule);border-radius:12px;padding:8px 10px;text-align:left;font-style:normal;font-family:var(--ff-b);color:var(--ink)}
  .jd-stage.dock .jd-talk,.jd-stage.dock .jd-chat{display:none}
  .jd-stage.dock .jd-ripple{display:none}
  .jd-stage.dock .jd-frame.out{border-radius:18px;box-shadow:0 18px 40px -18px rgba(15,30,50,.45)}
  @media (max-width:760px){ .jd-stage.dock{width:38vw;bottom:calc(max(14px,env(safe-area-inset-bottom,0px)) + 75px)} .jd-stage.dock .jd-say{font-size:12px} }
  /* HER FACE IN THE BAR ON A PHONE (the adversarial review, 17 Oct 2026; Beep's header dock): under 760 px a docked card sat over the page's
     controls, so instead the stage hides and a round 44 px face sits in the header beside the menu; a tap takes them back to the box */
  .jd-face{display:none;width:44px;height:44px;padding:0;border:2px solid var(--gold);border-radius:50%;overflow:hidden;background:var(--paper);cursor:pointer;flex:0 0 auto}
  .jd-face img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block;transform:scale(1.9);transform-origin:50% 22%}
  .jd-face[hidden]{display:none}
  @media (max-width:760px){ .jd-face:not([hidden]){display:inline-flex} .jd-stage.dock.facebar{display:none} .ghnavlinks:has(.jd-face:not([hidden])) .ghnav-signin{display:none} }   /* her face takes Sign in's place in the bar (the sweep of 18 Oct 2026: the burger was pushed off a 390 px screen); Sign in stays in the burger */
  .jd-tour-glow{animation:jdTourGlow 1.4s ease-in-out 3;box-shadow:0 0 0 4px var(--acc-tint)!important;border-color:var(--acc)!important}
  @keyframes jdTourGlow{0%,100%{box-shadow:0 0 0 3px var(--acc-tint)}50%{box-shadow:0 0 0 12px var(--acc-tint)}}
  @media (prefers-reduced-motion:reduce){ .jd-tour-glow{animation:none} }
  /* ============ Talk to Jasmine (docs/105; style release 1, REVIEW-APP board 4, CEO 20 Oct 2026) ============
     Her face, round, where the gold ball was; a quiet ring moves with her voice (--lv, the SDK's level, main/35 tjLevels) or breathes
     where there is no level; still under reduced motion. Thinking and connecting show the working rim on .tj-orbw instead. */
  .tj-orb{position:relative;flex:none;width:56px;height:56px;border-radius:50%;--lv:0}   /* 56px on the strip (v852); it was 120px on the sheet */
  .tj-face{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;background:var(--gold-tint);box-shadow:0 6px 22px rgba(15,30,50,.16)}
  .tj-orb::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--gold);opacity:0;transform:scale(calc(1 + var(--lv) * .16));transition:transform .12s linear,opacity .25s;pointer-events:none}
  .tj-orb.s-speaking::after{opacity:calc(.55 + var(--lv) * .45)}
  .tj-orb.s-listening::after{border-color:var(--ok);opacity:calc(.45 + var(--lv) * .55)}
  .tj-orb.tj-breath.s-speaking::after,.tj-orb.tj-breath.s-listening::after{animation:tjBreath 3.2s ease-in-out infinite}
  @keyframes tjBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
  .tj-orb.s-ended .tj-face,.tj-orb.s-ready .tj-face{box-shadow:0 3px 12px rgba(15,30,50,.10)}
  @media (prefers-reduced-motion:reduce){ .tj-orb::after{animation:none!important;transform:none!important;transition:none} }
  /* ============ The short question card (CEO 18 Oct 2026, docs/17) ============
     "Less bulky, to the point, and tabs if you need to go deeper - 5-7 seconds to understand and decide." A job's question
     shows the title (two lines at most), one short question and its answer; Why, What I assumed, Steps and More are tabs
     under it, one open at a time, with Stop at the end of the row. Every colour is a page token, so dark mode follows. */
  .tk-short .tk-gt{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .tk-short .tk-opts{flex-direction:row;flex-wrap:wrap}
  .tk-short .tk-opt{flex:0 1 auto}
  .tk-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line)}
  .tk-tab{min-height:40px;padding:6px 13px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
  .tk-tab.on{background:var(--ink);border-color:var(--ink);color:var(--card)}
  .tk-tab:focus-visible{outline:2px solid var(--info);outline-offset:2px}
  .tk-tabs .tk-stop{margin-left:auto}
  .tk-tabp{margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
  .tk-tabp>.tk-note:first-child,.tk-tabp>.tk-links:first-child,.tk-tabp>.stp:first-child{margin-top:0}
  /* The OK sheet, a send (style release 1, board 2): the name then the address in small type, her reason (cut at a whole word
     on the server, none for a reply), the email it answers folded, Send it the primary. */
  .hm-addr{font-size:12px;color:var(--sub);font-weight:400}
  body .ns-send .ns-why{font-size:13px;line-height:1.4;color:var(--sub);margin:0 0 6px}
  body .ns-ans{border:1px solid var(--line);border-radius:10px;margin-top:6px;padding:0 10px}
  body .ns-ans summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:13.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body .ns-ansb{padding:0 0 10px}
  body .ns-ansf{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:4px}
  body .ns-answ{font-size:13.5px;line-height:1.5;color:var(--ink);white-space:pre-wrap;word-break:break-word;max-height:30vh;overflow:auto}
  body .ns-2.ns-send-go{background:linear-gradient(180deg,var(--prim-a),var(--prim-b));color:var(--prim-ink);border-color:var(--prim-b);font-weight:700}
  /* ============ The lean card (John 23 Oct 2026, docs/232) ============
     "Use half the space and tell me 2x the words and visual aids." No box: a divider between jobs and a 4 px band on the left (amber
     needs you, grey running, green done, red did not finish), the whole title, a 28 px ring, the question and ONE quiet control row. */
  #memPanel .tkb-needs{--tkb:var(--warn)} #memPanel .tkb-done{--tkb:var(--ok)} #memPanel .tkb-bad{--tkb:var(--bad)}
  :root body #memPanel .tk-card.tk-lean{background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:inset 4px 0 0 var(--tkb,var(--muted));padding:10px 4px 12px 16px;margin:0}
  :root body #memPanel .tk-grid{gap:0}
  :root body #memPanel .tk-row[class*="tkb-"]{box-shadow:inset 3px 0 0 var(--tkb,var(--muted))}
  :root body #memPanel .tk-lean .tk-st{display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--sub)}
  .tk-stl{flex:1;font-weight:600}
  .tk-dots{min-width:44px;min-height:36px;margin:-8px -4px -8px 0;border:0;border-radius:8px;background:transparent;color:var(--sub);font:inherit;font-size:18px;font-weight:700;cursor:pointer}
  .tk-dots[aria-expanded="true"]{color:var(--ink);background:var(--line)}
  .tk-dots:focus-visible{outline:2px solid var(--info);outline-offset:2px}
  :root body #memPanel .tk-lean .tk-lt{display:flex;align-items:flex-start;gap:8px;margin:2px 0;font-size:16px}
  :root body #memPanel .tk-lean .tk-gt{display:block;flex:1;min-width:0;overflow:visible;-webkit-line-clamp:none;overflow-wrap:anywhere}
  .tk-kind{flex:none;color:var(--sub);line-height:0;margin-top:2px} .tk-kind .ic{width:18px;height:18px}
  :root body #memPanel .tk-lean .yb-ring{float:none;flex:none;width:28px;height:28px;margin:0}
  .tk-lean .yb-ring svg{width:28px;height:28px} .tk-lean .yb-ring b{font-size:9px}
  .tk-did{font-size:13px;line-height:1.4;color:var(--sub);margin:0 0 4px}
  :root body #memPanel .tk-lean :is(.tk-q,.tk-held){background:none;border:0;border-radius:0;box-shadow:none;padding:0;margin:6px 0 0}
  :root body #memPanel .tk-lean .tk-qq{font-weight:700;font-size:15.5px}
  :root body #memPanel .tk-lean .tk-opts{flex-direction:row;flex-wrap:wrap}
  :root body #memPanel .tk-lean .tk-opt{flex:0 1 auto}
  :root body #memPanel .tk-lean .tk-opt.prim{background:linear-gradient(180deg,var(--prim-a),var(--prim-b));color:var(--prim-ink);font-weight:700}
  .tk-lean .tkq-kinds{margin-top:4px}
  /* THE BEST GUESS (PARTNER board 4c11, John 25 Oct 2026): a still 2px gold rim on option one; the pulse is nextCue()'s alone */
  :root body #memPanel .tk-opt.tk-best,:root body #memPanel .st-act.tk-best{box-shadow:0 0 0 2px var(--gold)}
  .tk-fr .tk-frt{font-style:normal;margin-right:2px}
  .tk-menu[hidden]{display:none!important}
  /* THE 2026 JOB ROW (docs/251): phone first, one column; on a desk the three buttons sit to the right of the words */
  .tk-row26{display:grid;grid-template-columns:minmax(0,1fr);row-gap:8px;padding:10px 4px 12px 16px;margin:0;border-bottom:1px solid var(--line);box-shadow:inset 4px 0 0 var(--tkb,var(--muted))}
  html body #memPanel .tk-card.tk-lean.tk-row26{display:grid}
  .tk-row26.tk26b-red{--tkb:var(--bad)} .tk-row26.tk26b-amber{--tkb:var(--warn)} .tk-row26.tk26b-green{--tkb:var(--ok)} .tk-row26.tk26b-blue{--tkb:var(--info)} .tk-row26.tk26b-grey{--tkb:var(--muted)}
  .tk26-w{font-size:16px;font-weight:600;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
  .tk26-e{display:inline-block;width:1.4em;font-size:1.05em;line-height:1}
  .tk26-c{font-size:12.5px;line-height:1.4;color:var(--sub);overflow-wrap:anywhere}
  .tk-row26{cursor:pointer} .tk-row26 textarea,.tk-row26 input{cursor:text}   /* a tap on the row opens it (John 30 Oct 2026, docs/291) */
  .tk26-ctx{display:grid;row-gap:3px;font-size:13px;line-height:1.45;color:var(--ink);overflow-wrap:anywhere}
  .tk26-ctx b{font-weight:600;color:var(--sub)}
  .tk26-map{display:flex;align-items:center;flex-wrap:wrap;gap:0;list-style:none;margin:0;padding:0}
  .tk26-s{position:relative;width:12px;height:12px;border-radius:50%;background:var(--line);margin-right:14px;flex:none}
  .tk26-s::after{content:"";position:absolute;left:12px;top:5px;width:14px;height:2px;background:var(--line)}
  .tk26-s:nth-last-child(2)::after{display:none}
  .tk26-s.done{background:var(--ok)} .tk26-s.done::after{background:var(--ok)}
  .tk26-s.now{background:var(--prim-a,#26406A);box-shadow:0 0 0 3px rgba(38,64,106,.25)}
  .tk26-s.bad{background:var(--bad)}
  .tk26-s.skip{background:transparent;border:2px dashed var(--muted);box-sizing:border-box}
  .tk26-n{font-size:12px;color:var(--sub);margin-left:2px}
  .tk26-b{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .tk26-b .st-act{min-height:44px;white-space:normal;padding:8px 6px;font-size:13.5px;line-height:1.2;margin:0}
  .tk26-b .st-act.tk26-stop.arm{border-color:var(--bad);color:var(--bad)}
  .tk-row26 .tk-q.tk26-q{margin:0} .tk-row26 .tk-ain{display:flex;gap:6px} .tk-row26 .tk-ain input{flex:1 1 auto;min-width:0}
  .tk-row26>.tk-menu{grid-column:1/-1}
  .tk-row26 .tk-sendas small{display:block;color:var(--sub)}
  @media (min-width:761px){
    .tk-row26{grid-template-columns:minmax(0,1fr) minmax(300px,36%);column-gap:18px;align-items:center}
    .tk-row26>*{grid-column:1/-1}
    .tk-row26>.tk26-w,.tk-row26>.tk26-c,.tk-row26>.tk26-ctx,.tk-row26>.tk26-map{grid-column:1}
    .tk-row26>.tk26-b{grid-column:2;grid-row:1/span 3;align-self:center}
    .tk-row26:has(>.tk26-ctx)>.tk26-b{grid-row:1/span 4}
  }
  /* DONE FOR YOU AS A GRID (John 31 Oct 2026: "done for you if i click in poor visual, needs more grid format"): today's finished rows two to a line on a desk, one column on a phone; each row keeps its band, picture, words and buttons, the buttons under the words */
  .tk-log.tk26-done{display:grid;grid-template-columns:minmax(0,1fr);gap:0 14px}
  @media (min-width:761px){ .tk-log.tk26-done{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start} .tk-log.tk26-done>.tk-row26{grid-template-columns:minmax(0,1fr)} .tk-log.tk26-done>.tk-row26>.tk26-b{grid-column:1;grid-row:auto} .tk-log.tk26-done>.tk-row26:has(>.tk26-ctx)>.tk26-b{grid-row:auto} }
  /* THE FINISHED CARD OPENS ON A PICTURE (John 27 Oct 2026; 42 tkDetailLead, 44-task-lead): the state and the ring, the answer
     drawn, the title, one sentence, one ink "Do this next" and an outline "Change something", one More row. Tokens only. */
  .tkl-head{display:flex;align-items:center;gap:8px;min-height:34px}
  .tkl-pill{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 11px 3px 8px;font-size:12px;font-weight:700;letter-spacing:.01em;white-space:nowrap}
  .tkl-pill .ic{width:15px;height:15px}
  .tkl-ok .tkl-pill{color:var(--ok-ink);background:var(--ok-tint)} .tkl-bad .tkl-pill{color:var(--bad-ink);background:var(--bad-tint)}
  .tkl-when{font-size:11.5px;color:var(--sub);white-space:nowrap;font-variant-numeric:tabular-nums}
  body #memPanel .tkl-head .yb-ring.yb-ring,.tkl-head .yb-ring{float:none;flex:none;margin:0 0 0 auto;width:34px;height:34px}
  .tkl-head .yb-ring svg{width:34px;height:34px} .tkl-head .yb-ring b{font-size:10px}
  .tkl-ok .yb-ring{--rc:var(--ok)} .tkl-bad .yb-ring{--rc:var(--bad)}
  .tkl-lead{margin-top:10px;border:1px solid var(--line);border-radius:14px;background:var(--card);overflow:hidden;font-variant-numeric:tabular-nums}
  .tkl-pic{display:flex;align-items:center;gap:10px;padding:10px 12px;min-height:46px;min-width:0;color:var(--ink)}
  body #memPanel .tkl-goal.tkl-goal,.tkl-goal{margin:12px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
  .tkl-said{font-size:15px;line-height:1.4;margin:6px 0 0;color:var(--ink);overflow-wrap:anywhere}
  .tkl-eye{font-size:11px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px}
  .tkl-btns{display:flex;flex-direction:column;gap:8px}
  .tkl-next>.tkl-btns:first-child{margin-top:12px}
  .tkl-btns .st-act.tk-donext{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:44px;margin:0;border-radius:12px;text-align:center;text-decoration:none;font-size:14px;font-weight:700}
  .tkl-change{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border-radius:12px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;padding:10px 16px}
  .tkl-more{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;margin-top:12px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:transparent;font:inherit;font-size:13.5px;color:var(--sub);cursor:pointer;text-align:left;font-variant-numeric:tabular-nums}
  .tkl-more[aria-expanded="true"] .tkl-chev{transform:rotate(180deg)}
  .tkl-chev{flex:none;transition:transform .15s var(--ease)}
  .tkl-morebox{margin-top:10px}
  .tkl-change:focus-visible,.tkl-more:focus-visible,.tkl-all:focus-visible,.tkl-chip:focus-visible{outline:2px solid var(--info);outline-offset:2px}
  /* the pieces of a picture */
  .tkl-env{position:relative;width:30px;height:30px;border-radius:9px;background:var(--card);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px var(--line);flex:none}
  .tkl-envt{position:absolute;right:-5px;bottom:-5px;width:16px;height:16px;border-radius:50%;background:var(--ok);color:var(--card);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--card)}
  .tkl-envt .ic{width:10px;height:10px;stroke-width:3}
  .tkl-file,.tkl-chip,.tkl-tag{display:inline-flex;align-items:center;gap:6px;max-width:160px;border:1px solid var(--line);border-radius:999px;background:var(--card);padding:5px 11px;font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-decoration:none}
  .tkl-file>span,.tkl-chip>span,.tkl-tag>span{overflow:hidden;text-overflow:ellipsis;min-width:0}
  .tkl-file .ic,.tkl-chip .ic,.tkl-tag .ic{width:15px;height:15px}
  a.tkl-chip{min-height:44px;cursor:pointer}
  .tkl-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}
  .tkl-rest{font-size:12.5px;font-weight:600;color:var(--sub);white-space:nowrap}
  .tkl-gridw{display:block;padding:0}
  .tkl-strip{display:flex;align-items:center;gap:10px;padding:8px 12px;min-height:46px;background:var(--ok-tint);border-bottom:1px solid var(--line)}
  .tkl-sw{font-size:13.5px;font-weight:700;color:var(--ok-ink);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tkl-strip .tkl-file{margin-left:auto}
  .tkl-grid{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}
  .tkl-grid th{font-size:11px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:8px 12px 4px}
  .tkl-grid td{padding:0 12px;height:40px;border-bottom:1px solid var(--line);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tkl-grid th+th,.tkl-grid td.tkl-n{text-align:right;width:40%}
  .tkl-grid td.tkl-n{font-weight:600;font-size:13px;font-variant-numeric:tabular-nums}
  .tkl-gall .tkl-grid td{white-space:normal;overflow-wrap:anywhere;height:auto;padding:9px 12px}
  .tkl-all{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;border:0;background:transparent;font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer}
  .tkl-sent{align-items:flex-start;background:var(--ok-tint)}
  .tkl-sb{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
  .tkl-to{font-size:14px;color:var(--ink);overflow-wrap:anywhere} .tkl-to b{color:var(--ok-ink)}
  .tkl-to .tkl-tag{padding:2px 8px;font-size:11.5px;vertical-align:1px}
  .tkl-subj{font-size:14px;font-weight:700;overflow-wrap:anywhere}
  .tkl-q{font-size:13.5px;color:var(--sub);font-style:italic;overflow-wrap:anywhere}
  .tkl-yes{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--ok-ink)} .tkl-yes .ic{width:14px;height:14px}
  .tkl-sb .tkl-file{align-self:flex-start;margin-top:3px}
  .tkl-figw,.tkl-qw{flex-wrap:wrap}
  .tkl-fig{font-family:var(--ff-display);font-weight:600;font-size:30px;line-height:1.1;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;overflow-wrap:anywhere}
  .tkl-qs{display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:var(--sub);min-width:0} .tkl-qs b{color:var(--ink)}
  .tkl-scan{align-items:flex-start}
  .tkl-big{display:flex;align-items:center;gap:6px;flex:none;color:var(--ok-ink)} .tkl-big b{font-family:var(--ff-display);font-size:30px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
  .tkl-ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;min-width:0;font-size:13.5px}
  .tkl-ticks li{display:flex;align-items:center;gap:6px;min-width:0} .tkl-ticks li>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tkl-ticks .ic{width:14px;height:14px;color:var(--ok-ink);flex:none}
  .tkl-live{flex-wrap:wrap}
  .tkl-code{font-family:var(--ff-display);font-weight:600;font-size:26px;letter-spacing:.02em;color:var(--ink)}
  .tkl-time{font-size:15px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
  .tkl-live .tkl-chip{margin-left:auto}
  /* one fact from the owner's own contacts (44 tklFact, John 28 Oct 2026): whose it is, the value big and selectable, Copy beside it */
  .tkl-fact{display:block;padding:12px}
  .tkl-fwho{display:flex;align-items:center;gap:8px;min-width:0;font-size:14px;color:var(--ink)} .tkl-fwho .ic{width:18px;height:18px;flex:none;color:var(--sub)}
  .tkl-fwho b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .tkl-fwho span{min-width:0;font-size:12.5px;color:var(--sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .tkl-flab{margin-top:10px;font-size:11px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.04em}
  .tkl-fv{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:2px}
  .tkl-fval{flex:1 1 auto;min-width:0;font-family:var(--ff-display);font-weight:600;font-size:24px;line-height:1.2;color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}
  .tkl-fcopy{flex:none;min-height:44px;min-width:64px;padding:0 14px;border:1px solid var(--ink);border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer}
  .tkl-fcopy:focus-visible{outline:2px solid var(--info);outline-offset:2px}
  .tkl-fmore{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0 0;font-size:13.5px} .tkl-fmore dt{color:var(--sub);font-weight:600} .tkl-fmore dd{margin:0;min-width:0;color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}
  .tkl-inis{display:flex} .tkl-ini{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--info-tint);color:var(--info-ink);font-size:12px;font-weight:700;box-shadow:0 0 0 2px var(--card)}
  .tkl-ini+.tkl-ini{margin-left:-6px}
  .tkl-cnt{font-family:var(--ff-display);font-size:26px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
  .tkl-cal{flex:none;width:58px;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:center;background:var(--card)}
  .tkl-mon{display:block;background:var(--info-tint);color:var(--info-ink);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 0}
  .tkl-day{display:block;font-family:var(--ff-display);font-size:24px;font-weight:600;line-height:1.3;color:var(--ink);font-variant-numeric:tabular-nums lining-nums}
  .tkl-cb{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
  .tkl-what{font-size:14px;font-weight:600;color:var(--ink);overflow-wrap:anywhere}
  /* a closed row's 44 px picture (tkThumb): a quiet tile with the answer's token */
  .tkl-th{position:relative;flex:none;width:44px;height:44px;border-radius:10px;background:var(--bg);box-shadow:0 0 0 1px var(--line);color:var(--ink);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow:hidden;font-variant-numeric:tabular-nums lining-nums}
  .tkl-th b{display:block;max-width:40px;font-size:11.5px;font-weight:700;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .tkl-th .ic{width:18px;height:18px}
  .tkl-th .tkl-envt{right:4px;bottom:4px;width:14px;height:14px} .tkl-th .tkl-envt .ic{width:9px;height:9px}
  .tkl-bars{display:flex;flex-direction:column;gap:2px;width:22px} .tkl-bars i{display:block;height:3px;border-radius:2px;background:var(--muted)} .tkl-bars i:nth-child(2){width:80%} .tkl-bars i:nth-child(3){width:60%}
  .tkl-dots{display:flex;gap:3px} .tkl-dots i{width:8px;height:8px;border-radius:50%;background:var(--muted)}
  .tkl-tm{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--info-ink)}
  .tkl-th-sent{color:var(--ok-ink)}
  .tk-thr .tk-rowb{align-items:center}
  .tk-thr .tk-rt{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
  .tk-thr .tk-rg{max-width:none;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
  .tk-thr .tk-stw{display:inline-block;margin:0}
  .tk-stm{display:inline-block}
  .tk26-w.tk26-th{display:flex;align-items:center;gap:10px} .tk26-th>span:last-child{min-width:0}
  @media (prefers-reduced-motion:reduce){.tkl-chev{transition:none}}
  /* ===== THE COLOURS (CEO 20 Oct 2026, docs/205-palettes.md: "yes all 3 ... keep options easy for me to change and in settings
     give people choice of options"). EVERY palette value lives here, one block per palette; the page wears one as
     <html data-palette="..."> (lib/palette.cjs: the owner's pick in Me > Settings, else the CEO's house switch in /admin, else
     PALETTE). 'classic' is the colours from before 20 Oct, and the rollback; its only rules are three gold words on its light
     ground (v906, below).
     GOLD = his three yeses: one colour core for all five looks (cream, navy ink, one sapphire #1B4380, one emerald #0F5C47, jade
     #1F6B4E for Money); metal gold used once per screen (--gold-fill on the one glow; gold words in --gold-ink; fleck and soft
     light beside the greeting only); the status colours unchanged. Workshop keeps its 48px buttons and larger type; its rules are the core's 1px line.
     New tokens: --gold-ink (gold words), --gold-fill (the metal), --gold-edge, --gold-on (words on a --gold fill).
     Specificity: a light block is (0,2,1) and so ALSO applies in dark mode, where it beats the root and look dark blocks; so every
     token a light block sets is set again in BOTH dark forms (the media query and [data-theme="dark"], (0,3,1)), with identical
     bodies. test/arch/palette-parity.test.cjs holds that. Switchboard is one block (always dark).
     CARIBBEAN (CEO 21 Oct 2026) wears every gold rule (html:is(gold, caribbean): the same colour core, the same one glow) and then its
     own blocks below Switchboard: the sea for a ground, sand flecks, a slow drift of light, darker words for the water. */

  /* ---------- STANDARD (no look), light ---------- */
  html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile]){
    --bg:#FBF7EF;--card:#FFFFFF;--line:#E9E0CC;--cream:#FBF7EF;
    --gold:#C99A2E;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#0F1E32;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);
    --info:#1B4380;--now:#1B4380;--info-tint:rgba(27,67,128,.09);
    --d-today:#B8892A;--d-today-deep:#8A6514;--d-today-hi:#F1DC9B;
    --d-do:#1B4380;--d-do-deep:#0F2A55;--d-do-hi:#9DB7E3;
    --d-sales:#0F5C47;--d-sales-deep:#083A2C;--d-sales-hi:#8ED2B5;
    --d-marketing:#6B3D8F;--d-marketing-deep:#3E2156;--d-marketing-hi:#CDA8E6;
    --d-operations:#0F6470;--d-operations-deep:#073A41;--d-operations-hi:#8FD3DA;
    --d-money:#1F6B4E;--d-money-deep:#0B3A29;--d-money-hi:#E8CB7A;
    --d-me:#4A5873;--d-me-deep:#2A3447;--d-me-hi:#B9C4D8;
    --door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);
    --prim-a:#22385C;--prim-b:#0F1E32;--prim-ink:#FBF7EF}
  /* ---------- STANDARD, dark ---------- */
  @media (prefers-color-scheme: dark){ html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile]):not([data-theme="light"]){
    --bg:#0A111D;--card:#121B2B;--line:#283246;--cream:#FBF7EF;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0A111D;--gold-tint:rgba(216,173,76,.13);--gold-glow:rgba(216,173,76,.42);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);
    --d-today:#D8AD4C;--d-today-deep:#4A3608;--d-today-hi:#F1DC9B;
    --d-do:#7FA2E2;--d-do-deep:#12294F;--d-do-hi:#B9CDF2;
    --d-sales:#4DBA8E;--d-sales-deep:#08392A;--d-sales-hi:#9EE0C3;
    --d-marketing:#B48AD6;--d-marketing-deep:#33184A;--d-marketing-hi:#DDC3F0;
    --d-operations:#4FB3BE;--d-operations-deep:#06343A;--d-operations-hi:#9FDDE3;
    --d-money:#57B88C;--d-money-deep:#08321F;--d-money-hi:#E8CB7A;
    --d-me:#93A2BD;--d-me-deep:#1E2738;--d-me-hi:#C3CEE0;
    --door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);
    --prim-a:#2A4672;--prim-b:#14233C;--prim-ink:#FBF7EF} }
  html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile])[data-theme="dark"]{
    --bg:#0A111D;--card:#121B2B;--line:#283246;--cream:#FBF7EF;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0A111D;--gold-tint:rgba(216,173,76,.13);--gold-glow:rgba(216,173,76,.42);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);
    --d-today:#D8AD4C;--d-today-deep:#4A3608;--d-today-hi:#F1DC9B;
    --d-do:#7FA2E2;--d-do-deep:#12294F;--d-do-hi:#B9CDF2;
    --d-sales:#4DBA8E;--d-sales-deep:#08392A;--d-sales-hi:#9EE0C3;
    --d-marketing:#B48AD6;--d-marketing-deep:#33184A;--d-marketing-hi:#DDC3F0;
    --d-operations:#4FB3BE;--d-operations-deep:#06343A;--d-operations-hi:#9FDDE3;
    --d-money:#57B88C;--d-money-deep:#08321F;--d-money-hi:#E8CB7A;
    --d-me:#93A2BD;--d-me-deep:#1E2738;--d-me-hi:#C3CEE0;
    --door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);
    --prim-a:#2A4672;--prim-b:#14233C;--prim-ink:#FBF7EF}

  /* ---------- WORKSHOP (trades), light: warm white, the core's 1px line, gold (John 23 Oct 2026: "so heavy on the boarders") ---------- */
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="trades"]{
    --bg:#FFFDF8;--card:#FFFFFF;--ink:#14171F;--sub:#474C57;--muted:#5E636D;--line:#E9E0CC;--cream:#FFFDF8;
    --gold:#8A6514;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.14);--gold-glow:rgba(201,154,46,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);
    --navy:#14171F;--navy-hi:#2A2F3A;--navy-deep:#05070B;--info:#1B4380;--now:#1B4380;--info-tint:rgba(27,67,128,.09);
    --ring:#E9E0CC;--e1:0 0 0 1px #E9E0CC;--e2:0 0 0 1px #DCD2BC,0 2px 0 #E9E0CC;--e3:0 0 0 1px #DCD2BC,0 10px 24px -14px rgba(20,23,31,.3);--e4:0 -1px 0 #E9E0CC;--paper-shadow:0 0 0 1px #E9E0CC;--sunk:inset 0 0 0 1px #DCD2BC;
    --prim-a:#14171F;--prim-b:#14171F;--prim-ink:#FFFDF8;
    --th-d:#14171F;--th-dd:#14171F;--th-dh:#C99A2E;--th-fill:#C99A2E;--th-fill-ink:#14171F;--th-bc:#E9E0CC;
    --th-bar:#FFFDF8;--th-bar-ink:#14171F;--th-bar-line:1px solid #E9E0CC;--th-bar-btn:#DCD2BC;
    --th-nav:#FFFDF8;--th-nav-ink:#14171F;--th-nav-on-ink:#14171F;
    --th-mbar:#FFFDF8;--th-mbar-ink:#474C57;--th-mbar-on:#14171F;--th-mbar-line:1px solid #E9E0CC}
  /* ---------- WORKSHOP, dark ---------- */
  @media (prefers-color-scheme: dark){ html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="trades"]:not([data-theme="light"]){
    --bg:#0D0F13;--card:#171A20;--ink:#F4F1EA;--sub:#C2BDB2;--muted:#A19C91;--line:#283246;--cream:#FFFDF8;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0D0F13;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --navy:#05070B;--navy-hi:#1C2028;--navy-deep:#000000;--info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);
    --ring:#283246;--e1:0 0 0 1px #283246;--e2:0 0 0 1px #34405A,0 2px 0 #05070B;--e3:0 0 0 1px #34405A,0 12px 26px -14px rgba(0,0,0,.8);--e4:0 -1px 0 #283246;--paper-shadow:0 0 0 1px #283246;--sunk:inset 0 0 0 1px #34405A;
    --prim-a:#F4F1EA;--prim-b:#F4F1EA;--prim-ink:#14171F;
    --th-d:#D8AD4C;--th-dd:#262A33;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#14171F;--th-bc:#283246;
    --th-bar:#05070B;--th-bar-ink:#F4F1EA;--th-bar-line:1px solid #283246;--th-bar-btn:#34405A;
    --th-nav:#0D0F13;--th-nav-ink:#F4F1EA;--th-nav-on-ink:#FFFFFF;
    --th-mbar:#05070B;--th-mbar-ink:#C2BDB2;--th-mbar-on:#FFFFFF;--th-mbar-line:1px solid #283246} }
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="trades"][data-theme="dark"]{
    --bg:#0D0F13;--card:#171A20;--ink:#F4F1EA;--sub:#C2BDB2;--muted:#A19C91;--line:#283246;--cream:#FFFDF8;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0D0F13;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --navy:#05070B;--navy-hi:#1C2028;--navy-deep:#000000;--info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);
    --ring:#283246;--e1:0 0 0 1px #283246;--e2:0 0 0 1px #34405A,0 2px 0 #05070B;--e3:0 0 0 1px #34405A,0 12px 26px -14px rgba(0,0,0,.8);--e4:0 -1px 0 #283246;--paper-shadow:0 0 0 1px #283246;--sunk:inset 0 0 0 1px #34405A;
    --prim-a:#F4F1EA;--prim-b:#F4F1EA;--prim-ink:#14171F;
    --th-d:#D8AD4C;--th-dd:#262A33;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#14171F;--th-bc:#283246;
    --th-bar:#05070B;--th-bar-ink:#F4F1EA;--th-bar-line:1px solid #283246;--th-bar-btn:#34405A;
    --th-nav:#0D0F13;--th-nav-ink:#F4F1EA;--th-nav-on-ink:#FFFFFF;
    --th-mbar:#05070B;--th-mbar-ink:#C2BDB2;--th-mbar-on:#FFFFFF;--th-mbar-line:1px solid #283246}

  /* ---------- FRONT DESK (practice), light: it was nearly the core already; the core's cream, navy and gold ink, sapphire info ---------- */
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="practice"]{
    --bg:#FBF7EF;--card:#FFFFFF;--ink:#0F1E32;--line:#E9E0CC;--cream:#FBF7EF;--navy:#0F1E32;--navy-hi:#22385C;--navy-deep:#091424;
    --gold:#8A6514;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.4);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);
    --info:#1B4380;--now:#1B4380;--info-tint:rgba(27,67,128,.09);
    --prim-a:#0F1E32;--prim-b:#0F1E32;--prim-ink:#FBF7EF;
    --th-d:#0F1E32;--th-dd:#0F1E32;--th-dh:#C99A2E;--th-fill:#0F1E32;--th-fill-ink:#FBF7EF;--th-bc:#E9E0CC;
    --th-bar:#FBF7EF;--th-bar-ink:#0F1E32;--th-bar-line:1px solid #E9E0CC;
    --th-nav:#FBF7EF;--th-nav-ink:#0F1E32;--th-nav-on:#0F1E32;--th-nav-on-ink:#FBF7EF;
    --th-mbar:#FFFFFF;--th-mbar-on:#0F1E32;--th-mbar-line:1px solid #E9E0CC}
  /* ---------- FRONT DESK, dark ---------- */
  @media (prefers-color-scheme: dark){ html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="practice"]:not([data-theme="light"]){
    --bg:#0A111D;--card:#121B2B;--ink:#E9EEF5;--line:#283246;--cream:#FBF7EF;--navy:#060C16;--navy-hi:#1B2A42;--navy-deep:#03070E;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0A111D;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#0A111D;
    --th-d:#D8AD4C;--th-dd:#1B2A42;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#0A111D;--th-bc:#283246;
    --th-bar:#0A111D;--th-bar-ink:#E9EEF5;--th-bar-line:1px solid #283246;
    --th-nav:#0A111D;--th-nav-ink:#E9EEF5;--th-nav-on:#D8AD4C;--th-nav-on-ink:#0A111D;
    --th-mbar:#060C16;--th-mbar-on:#D8AD4C;--th-mbar-line:1px solid #283246} }
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="practice"][data-theme="dark"]{
    --bg:#0A111D;--card:#121B2B;--ink:#E9EEF5;--line:#283246;--cream:#FBF7EF;--navy:#060C16;--navy-hi:#1B2A42;--navy-deep:#03070E;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0A111D;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#0A111D;
    --th-d:#D8AD4C;--th-dd:#1B2A42;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#0A111D;--th-bc:#283246;
    --th-bar:#0A111D;--th-bar-ink:#E9EEF5;--th-bar-line:1px solid #283246;
    --th-nav:#0A111D;--th-nav-ink:#E9EEF5;--th-nav-on:#D8AD4C;--th-nav-on-ink:#0A111D;
    --th-mbar:#060C16;--th-mbar-on:#D8AD4C;--th-mbar-line:1px solid #283246}

  /* ---------- STUDIO (agency), light: sapphire in place of indigo; its slate rings go warm ---------- */
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="agency"]{
    --bg:#FBF7EF;--card:#FFFFFF;--ink:#0F1E32;--line:#E9E0CC;--cream:#FBF7EF;--navy:#0F1E32;--navy-hi:#22385C;--navy-deep:#091424;
    --gold:#8A6514;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.4);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);
    --info:#1B4380;--now:#1B4380;--info-tint:rgba(27,67,128,.09);
    --ring:#E9E0CC;--e1:0 0 0 1px #E9E0CC,0 1px 2px rgba(15,30,50,.04);--e2:0 0 0 1px #E9E0CC,0 4px 12px -4px rgba(15,30,50,.10);--e3:0 0 0 1px #E9E0CC,0 16px 32px -12px rgba(15,30,50,.22);--e4:0 -1px 0 #E9E0CC,0 -10px 30px -12px rgba(15,30,50,.2);--paper-shadow:0 0 0 1px #E9E0CC;--sunk:inset 0 0 0 1px #DCD1BA;
    --prim-a:#1B4380;--prim-b:#1B4380;--prim-ink:#FFFFFF;
    --th-d:#1B4380;--th-dd:#0F2A55;--th-dh:#C99A2E;--th-fill:#1B4380;--th-fill-ink:#FFFFFF;--th-bc:#E9E0CC;
    --th-bar:#FFFFFF;--th-bar-ink:#0F1E32;--th-bar-line:1px solid #E9E0CC;--th-bar-btn:#DCD1BA;
    --th-nav:#FFFFFF;--th-nav-ink:#4A5873;--th-nav-on:#EDF1F8;--th-nav-on-ink:#1B4380;
    --th-mbar:#FFFFFF;--th-mbar-ink:#5B6675;--th-mbar-on:#1B4380;--th-mbar-line:1px solid #E9E0CC}
  /* ---------- STUDIO, dark ---------- */
  @media (prefers-color-scheme: dark){ html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="agency"]:not([data-theme="light"]){
    --bg:#0A111D;--card:#121B2B;--ink:#E9EEF5;--line:#283246;--cream:#FBF7EF;--navy:#060C16;--navy-hi:#24395C;--navy-deep:#03070E;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0A111D;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);
    --ring:#283246;--e1:0 0 0 1px #283246;--e2:0 0 0 1px #33405A,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #33405A,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #283246;--paper-shadow:0 0 0 1px #283246;--sunk:inset 0 0 0 1px #33405A;
    --prim-a:#93B3EC;--prim-b:#93B3EC;--prim-ink:#0A111D;
    --th-d:#93B3EC;--th-dd:#12294F;--th-dh:#D8AD4C;--th-fill:#93B3EC;--th-fill-ink:#0A111D;--th-bc:#283246;
    --th-bar:#0A111D;--th-bar-ink:#E9EEF5;--th-bar-line:1px solid #283246;--th-bar-btn:#33405A;
    --th-nav:#0A111D;--th-nav-ink:#A9B3C2;--th-nav-on:#16264A;--th-nav-on-ink:#B9CDF2;
    --th-mbar:#0A111D;--th-mbar-ink:#A9B3C2;--th-mbar-on:#93B3EC;--th-mbar-line:1px solid #283246} }
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="agency"][data-theme="dark"]{
    --bg:#0A111D;--card:#121B2B;--ink:#E9EEF5;--line:#283246;--cream:#FBF7EF;--navy:#060C16;--navy-hi:#24395C;--navy-deep:#03070E;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0A111D;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);
    --ring:#283246;--e1:0 0 0 1px #283246;--e2:0 0 0 1px #33405A,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #33405A,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #283246;--paper-shadow:0 0 0 1px #283246;--sunk:inset 0 0 0 1px #33405A;
    --prim-a:#93B3EC;--prim-b:#93B3EC;--prim-ink:#0A111D;
    --th-d:#93B3EC;--th-dd:#12294F;--th-dh:#D8AD4C;--th-fill:#93B3EC;--th-fill-ink:#0A111D;--th-bc:#283246;
    --th-bar:#0A111D;--th-bar-ink:#E9EEF5;--th-bar-line:1px solid #283246;--th-bar-btn:#33405A;
    --th-nav:#0A111D;--th-nav-ink:#A9B3C2;--th-nav-on:#16264A;--th-nav-on-ink:#B9CDF2;
    --th-mbar:#0A111D;--th-mbar-ink:#A9B3C2;--th-mbar-on:#93B3EC;--th-mbar-line:1px solid #283246}

  /* ---------- CONCIERGE (property), light: bronze to gold, charcoal to navy; the rail goes navy; soft shadows and no borders kept ---------- */
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="property"]{
    --bg:#FBF7EF;--card:#FFFFFF;--ink:#0F1E32;--line:#E9E0CC;--cream:#FBF7EF;--navy:#0F1E32;--navy-hi:#22385C;--navy-deep:#091424;
    --gold:#8A6514;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.4);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);
    --info:#1B4380;--now:#1B4380;--info-tint:rgba(27,67,128,.09);--sunk:inset 0 0 0 1px #E9E0CC;
    --prim-a:#0F1E32;--prim-b:#0F1E32;--prim-ink:#FBF7EF;
    --th-d:#0F1E32;--th-dd:#22385C;--th-dh:#C99A2E;--th-fill:#0F1E32;--th-fill-ink:#FBF7EF;
    --th-bar:#FBF7EF;--th-bar-ink:#0F1E32;--th-bar-btn:#DCD1BA;
    --th-nav:#0F1E32;--th-nav-ink:#B9C4D8;--th-nav-on:#22385C;--th-nav-on-ink:#FBF7EF;
    --th-mbar:#0F1E32;--th-mbar-ink:#B9C4D8;--th-mbar-on:#FBF7EF}
  /* ---------- CONCIERGE, dark ---------- */
  @media (prefers-color-scheme: dark){ html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="property"]:not([data-theme="light"]){
    --bg:#0A111D;--card:#121B2B;--ink:#E9EEF5;--line:#283246;--cream:#FBF7EF;--navy:#060C16;--navy-hi:#1B2A42;--navy-deep:#03070E;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0A111D;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);--sunk:inset 0 0 0 1px #33405A;
    --prim-a:#E9EEF5;--prim-b:#E9EEF5;--prim-ink:#0A111D;
    --th-d:#D8AD4C;--th-dd:#1B2A42;--th-dh:#D8AD4C;--th-fill:#E9EEF5;--th-fill-ink:#0A111D;
    --th-bar:#0A111D;--th-bar-ink:#E9EEF5;--th-bar-btn:#33405A;
    --th-nav:#060C16;--th-nav-ink:#A9B3C2;--th-nav-on:#1B2A42;--th-nav-on-ink:#E9EEF5;
    --th-mbar:#060C16;--th-mbar-ink:#A9B3C2;--th-mbar-on:#E9EEF5} }
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="property"][data-theme="dark"]{
    --bg:#0A111D;--card:#121B2B;--ink:#E9EEF5;--line:#283246;--cream:#FBF7EF;--navy:#060C16;--navy-hi:#1B2A42;--navy-deep:#03070E;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0A111D;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.12);--sunk:inset 0 0 0 1px #33405A;
    --prim-a:#E9EEF5;--prim-b:#E9EEF5;--prim-ink:#0A111D;
    --th-d:#D8AD4C;--th-dd:#1B2A42;--th-dh:#D8AD4C;--th-fill:#E9EEF5;--th-fill-ink:#0A111D;
    --th-bar:#0A111D;--th-bar-ink:#E9EEF5;--th-bar-btn:#33405A;
    --th-nav:#060C16;--th-nav-ink:#A9B3C2;--th-nav-on:#1B2A42;--th-nav-on-ink:#E9EEF5;
    --th-mbar:#060C16;--th-mbar-ink:#A9B3C2;--th-mbar-on:#E9EEF5}

  /* ---------- SWITCHBOARD (operations), always dark: teal to gold, sapphire info; its own ok, warn and bad kept ---------- */
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="operations"]:not([data-theme="-"]){
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1419;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:#93B3EC;--now:#93B3EC;--info-tint:rgba(147,179,236,.14);
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#0F1419;
    --th-d:#D8AD4C;--th-dd:#3A2E10;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#0F1419;--th-mbar-on:#D8AD4C}

  /* ---------- CARIBBEAN (CEO 21 Oct 2026: "a light green blue option that waves through it like the water in the carribean near the
     beach that i always want to look at, can add in flecks of sand"). Every look but Switchboard (always dark, its own desk). Light
     sea water behind the page, cards stay white; the words on the water go darker so they read on the deepest turquoise: gold words
     #5E430A (6.6:1 and up), --sub #4A5873 (5.1), --muted #525E73 (4.7). At night a moonlit lagoon. The blue-green is John's own ask:
     the exception to "add no new blue" (docs/190), and it is the ground only - the one glow stays gold. ---------- */
  html[data-palette="caribbean"]:not([data-profile="operations"]){
    --bg:#D4F2EC;--card:#FFFFFF;--sub:#4A5873;--muted:#525E73;--gold-ink:#5E430A;
    --sea-top:#A9E6DD;--sea-mid:#C6F0E9;--sea-foot:#E6F4E6;--sea-veil:linear-gradient(transparent,transparent);--sea-light:.55}
  /* ---------- CARIBBEAN, dark ---------- */
  @media (prefers-color-scheme: dark){ html[data-palette="caribbean"]:not([data-profile="operations"]):not([data-theme="light"]){
    --bg:#062730;--card:#0C2F38;--sub:#A9C3C8;--muted:#8FA9AE;--gold-ink:#E8CB7A;
    --sea-top:#04303A;--sea-mid:#062730;--sea-foot:#0A2A2C;--sea-veil:linear-gradient(rgba(5,36,44,.72),rgba(5,36,44,.72));--sea-light:.12} }
  html[data-palette="caribbean"]:not([data-profile="operations"])[data-theme="dark"]{
    --bg:#062730;--card:#0C2F38;--sub:#A9C3C8;--muted:#8FA9AE;--gold-ink:#E8CB7A;
    --sea-top:#04303A;--sea-mid:#062730;--sea-foot:#0A2A2C;--sea-veil:linear-gradient(rgba(5,36,44,.72),rgba(5,36,44,.72));--sea-light:.12}
  /* the water: deeper turquoise out to sea at the top, shallow over sand at the foot; sand flecks from three seeded tiles of
     different sizes (no grid shows), thicker on the beach along the foot; at night a veil over the sand so it never twinkles */
  html[data-palette="caribbean"]:not([data-profile="operations"]) body{background-image:none}
  html[data-palette="caribbean"]:not([data-profile="operations"]) body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:var(--sea-veil),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='263' height='241'%3E%3Cg fill='%23B89A66'%3E%3Ccircle cx='63' cy='220' r='0.9' opacity='0.5'/%3E%3Ccircle cx='127' cy='43' r='0.6' opacity='0.8'/%3E%3Ccircle cx='132' cy='116' r='1.1' opacity='0.6'/%3E%3Ccircle cx='233' cy='50' r='0.6' opacity='0.8'/%3E%3Ccircle cx='195' cy='198' r='0.8' opacity='0.5'/%3E%3Ccircle cx='196' cy='105' r='1.5' opacity='0.6'/%3E%3C/g%3E%3Cg fill='%23E8D5AE'%3E%3Ccircle cx='225' cy='87' r='0.5' opacity='0.9'/%3E%3Ccircle cx='94' cy='43' r='1.5' opacity='0.7'/%3E%3C/g%3E%3Cg fill='%23CDB283'%3E%3Ccircle cx='256' cy='128' r='0.7' opacity='0.8'/%3E%3Ccircle cx='120' cy='26' r='0.5' opacity='0.8'/%3E%3Ccircle cx='182' cy='183' r='0.5' opacity='0.8'/%3E%3Ccircle cx='232' cy='89' r='0.7' opacity='0.9'/%3E%3Ccircle cx='184' cy='106' r='0.6' opacity='0.7'/%3E%3Ccircle cx='204' cy='56' r='1.0' opacity='0.5'/%3E%3C/g%3E%3Cg fill='%23D9C08E'%3E%3Ccircle cx='204' cy='188' r='0.7' opacity='0.9'/%3E%3Ccircle cx='42' cy='211' r='0.9' opacity='0.9'/%3E%3Ccircle cx='55' cy='123' r='1.1' opacity='0.6'/%3E%3C/g%3E%3Cg fill='%23FBF3E2'%3E%3Ccircle cx='95' cy='116' r='0.5' opacity='0.9'/%3E%3Ccircle cx='93' cy='75' r='0.8' opacity='0.6'/%3E%3Ccircle cx='55' cy='13' r='0.6' opacity='0.8'/%3E%3Ccircle cx='26' cy='93' r='0.7' opacity='0.9'/%3E%3C/g%3E%3Cg fill='%23F2E3C6'%3E%3Ccircle cx='22' cy='146' r='1.4' opacity='0.8'/%3E%3Ccircle cx='130' cy='42' r='0.7' opacity='0.5'/%3E%3Ccircle cx='93' cy='50' r='1.3' opacity='0.8'/%3E%3C/g%3E%3C/svg%3E") 0 0/263px 241px,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='181' height='197'%3E%3Cg fill='%23FBF3E2'%3E%3Ccircle cx='45' cy='179' r='1.0' opacity='0.8'/%3E%3C/g%3E%3Cg fill='%23F2E3C6'%3E%3Ccircle cx='55' cy='166' r='0.5' opacity='0.6'/%3E%3Ccircle cx='103' cy='170' r='1.2' opacity='0.7'/%3E%3C/g%3E%3Cg fill='%23D9C08E'%3E%3Ccircle cx='173' cy='118' r='1.4' opacity='0.8'/%3E%3C/g%3E%3Cg fill='%23E8D5AE'%3E%3Ccircle cx='6' cy='29' r='1.1' opacity='0.7'/%3E%3Ccircle cx='70' cy='89' r='0.5' opacity='0.9'/%3E%3Ccircle cx='130' cy='19' r='0.6' opacity='0.5'/%3E%3C/g%3E%3Cg fill='%23B89A66'%3E%3Ccircle cx='14' cy='72' r='1.2' opacity='0.5'/%3E%3Ccircle cx='69' cy='103' r='0.6' opacity='0.7'/%3E%3Ccircle cx='85' cy='174' r='1.2' opacity='0.8'/%3E%3Ccircle cx='25' cy='120' r='1.4' opacity='0.9'/%3E%3Ccircle cx='97' cy='81' r='1.2' opacity='0.6'/%3E%3C/g%3E%3C/svg%3E") 97px 61px/181px 197px,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='229' height='150'%3E%3Cg fill='%23CDB283'%3E%3Ccircle cx='59' cy='148' r='0.5' opacity='0.8'/%3E%3Ccircle cx='111' cy='138' r='0.7' opacity='0.5'/%3E%3Ccircle cx='122' cy='150' r='1.0' opacity='0.6'/%3E%3Ccircle cx='124' cy='143' r='1.5' opacity='0.7'/%3E%3Ccircle cx='91' cy='36' r='0.8' opacity='0.7'/%3E%3C/g%3E%3Cg fill='%23D9C08E'%3E%3Ccircle cx='57' cy='143' r='0.5' opacity='0.8'/%3E%3Ccircle cx='156' cy='61' r='0.6' opacity='0.9'/%3E%3Ccircle cx='54' cy='121' r='0.6' opacity='0.5'/%3E%3Ccircle cx='98' cy='143' r='0.6' opacity='0.8'/%3E%3Ccircle cx='196' cy='32' r='0.5' opacity='0.8'/%3E%3Ccircle cx='80' cy='28' r='0.9' opacity='0.7'/%3E%3Ccircle cx='186' cy='131' r='1.2' opacity='0.9'/%3E%3Ccircle cx='211' cy='139' r='1.0' opacity='0.8'/%3E%3Ccircle cx='101' cy='148' r='0.5' opacity='0.6'/%3E%3C/g%3E%3Cg fill='%23F2E3C6'%3E%3Ccircle cx='193' cy='150' r='0.7' opacity='0.5'/%3E%3Ccircle cx='50' cy='44' r='0.5' opacity='0.8'/%3E%3Ccircle cx='11' cy='139' r='0.6' opacity='0.5'/%3E%3Ccircle cx='93' cy='95' r='0.7' opacity='0.8'/%3E%3Ccircle cx='37' cy='50' r='1.4' opacity='0.8'/%3E%3Ccircle cx='212' cy='89' r='0.9' opacity='0.9'/%3E%3Ccircle cx='116' cy='108' r='0.9' opacity='0.7'/%3E%3Ccircle cx='135' cy='148' r='0.7' opacity='0.9'/%3E%3Ccircle cx='191' cy='147' r='0.5' opacity='0.6'/%3E%3Ccircle cx='45' cy='106' r='1.1' opacity='0.8'/%3E%3Ccircle cx='20' cy='107' r='1.5' opacity='0.8'/%3E%3Ccircle cx='56' cy='63' r='0.5' opacity='0.9'/%3E%3C/g%3E%3Cg fill='%23E8D5AE'%3E%3Ccircle cx='35' cy='125' r='1.4' opacity='0.6'/%3E%3Ccircle cx='27' cy='146' r='1.1' opacity='0.6'/%3E%3Ccircle cx='51' cy='76' r='1.1' opacity='0.9'/%3E%3Ccircle cx='20' cy='146' r='0.5' opacity='0.8'/%3E%3Ccircle cx='83' cy='73' r='0.7' opacity='0.6'/%3E%3C/g%3E%3Cg fill='%23B89A66'%3E%3Ccircle cx='76' cy='65' r='0.8' opacity='0.5'/%3E%3Ccircle cx='20' cy='148' r='1.4' opacity='0.8'/%3E%3Ccircle cx='176' cy='75' r='1.4' opacity='0.9'/%3E%3Ccircle cx='55' cy='12' r='0.9' opacity='0.9'/%3E%3Ccircle cx='176' cy='86' r='1.5' opacity='0.9'/%3E%3C/g%3E%3Cg fill='%23FBF3E2'%3E%3Ccircle cx='104' cy='113' r='0.5' opacity='0.8'/%3E%3Ccircle cx='61' cy='74' r='0.5' opacity='0.8'/%3E%3Ccircle cx='168' cy='139' r='0.6' opacity='0.6'/%3E%3Ccircle cx='145' cy='150' r='0.8' opacity='0.7'/%3E%3C/g%3E%3C/svg%3E") left bottom/229px 150px repeat-x,linear-gradient(180deg,var(--sea-top) 0,var(--sea-mid) 52%,var(--sea-foot) 100%)}
  /* the light through it: a caustic net drawn once (an SVG tile) and drifting sideways, one tile in 26 s - transform only, so the
     compositor moves it and nothing repaints; still under reduced motion */
  html[data-palette="caribbean"]:not([data-profile="operations"]) body::after{content:"";position:fixed;top:0;left:0;bottom:0;width:calc(100% + 280px);z-index:-1;pointer-events:none;opacity:var(--sea-light);
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280'%3E%3Cfilter id='c' x='0' y='0' width='1' height='1'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0125' numOctaves='2' seed='11' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1.6 0 0 0 -.3'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='table' tableValues='0 0 0 .15 .85 .15 0 0 0 0'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='280' height='280' filter='url(%23c)'/%3E%3C/svg%3E") 0 0/280px 280px;animation:sea-drift 26s linear infinite;will-change:transform}
  @keyframes sea-drift{from{transform:translate3d(0,0,0)}to{transform:translate3d(-280px,0,0)}}
  @media (prefers-reduced-motion: reduce){ html[data-palette="caribbean"]:not([data-profile="operations"]) body::after{animation:none;will-change:auto} }

  /* ---------- the pieces that read the tokens (gold only; classic keeps today's but for three gold words, below) ---------- */
  /* gold words are gold ink, never the fill colour: the date, the eyebrows, "Got it", "more". Daylight too (STYLE 22 Oct 2026, board 9c16: the metal read 2.4:1 on white; --gold-ink is 4.8:1); the eyebrow's gold rule (237) stays off Daylight, it has no glow */
  html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) body #memPanel .gd-day,html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) body #memPanel .gd-hello .gd-day{color:var(--gold-ink)}
  html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) body #memPanel .gd-eyebrow{color:var(--gold-ink)}
  html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) body #memPanel #gdDidSec .gd-eyebrow{color:var(--gold-ink)}   /* the eyebrow inside the Did section too: 09-lit-studio.css sets it from --gold at a weight the rule above cannot reach (STYLE 22 Oct 2026, board 7747) */
  html:is([data-palette="gold"],[data-palette="caribbean"]) body #memPanel .gd-eyebrow:after{background:linear-gradient(90deg,var(--gold),transparent);opacity:.55}
  html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) #gdTipsOk,html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) .gd-more{color:var(--gold-ink)}
  /* the screen path (BACK · ME, every screen) and Settings' Email link sit on the ground: the metal there read 2.4 on cream, 2.1 on the water */
  html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) .mem-crumb button,html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) .set-elsewhere .linkish{color:var(--gold-ink)}
  /* classic keeps today's colours but for three gold words on its light ground, the ones PARTNER measured (v906, board 826b: the
     metal read 2.27:1 on the cream): the screen path (BACK · ME), "Check now" / "Got it" / "Not now" (.gd-more) and the small
     labels (HOW TO REACH ME, .ctx-l) are gold ink in light, 4.67:1 on #F3F0E9. Light only, so dark keeps today's gold untouched;
     the house look only, so a look keeps its own. test/arch/palette-parity.test.cjs holds it to these two rules. */
  @media (prefers-color-scheme: light){ html[data-palette="classic"]:not([data-profile]):not([data-theme="dark"]) :is(.mem-crumb button,.gd-more,.ctx-l){color:#8A6514} }
  html[data-palette="classic"]:not([data-profile])[data-theme="light"] :is(.mem-crumb button,.gd-more,.ctx-l){color:#8A6514}
  /* words on a --gold fill: never white on metal (2.4); --gold-on is ink where the fill is light, white where it is gold ink */
  html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) .tb-hero,html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) .sl-find button,html:is([data-palette="gold"],[data-palette="caribbean"],[data-palette="daylight"]) .lc-btn.prim{color:var(--gold-on)}
  /* the one glow is the one metal fill: ink words, a gold edge and the glow around it */
  html:is([data-palette="gold"],[data-palette="caribbean"]) .next-cue.gd-btn,html:is([data-palette="gold"],[data-palette="caribbean"]) .next-cue.gd-btn.prim,html:is([data-palette="gold"],[data-palette="caribbean"]) .next-cue.st-act{background:var(--gold-fill)!important;color:#0F1E32!important;border-color:var(--gold-edge)!important;
    box-shadow:0 0 0 1px var(--gold-edge),0 0 0 6px var(--gold-tint),0 0 24px 4px var(--gold-glow)!important;text-shadow:none!important}
  /* her one line: champagne, with a metal rule */
  html:is([data-palette="gold"],[data-palette="caribbean"]) .wh-say{background:linear-gradient(90deg,rgba(201,154,46,.16),rgba(201,154,46,.05));border-left:0;box-shadow:inset 4px 0 0 #C99A2E}
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="trades"] .wh-say{box-shadow:inset 4px 0 0 #C99A2E,0 0 0 1px var(--line)}
  /* the top bar's rule is metal, not a flat stripe (Standard; the looks draw their own bar) */
  html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile]) body .topbar{border-bottom:0;box-shadow:inset 0 -2px 0 #B78A26,0 1px 0 rgba(241,220,155,.55)}
  /* fleck and light beside the greeting only, never over the words: a soft gold light and a few specks */
  html:is([data-palette="gold"],[data-palette="caribbean"]) body #memPanel .gd-hello{position:relative;isolation:isolate}
  html:is([data-palette="gold"],[data-palette="caribbean"]) body #memPanel .gd-hello::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:-22px;left:400px;width:420px;height:140px;
    background:
      radial-gradient(circle at left 8% top 40%,rgba(241,220,155,.95) 0 1.4px,transparent 2.2px),
      radial-gradient(circle at left 21% top 72%,rgba(201,154,46,.9) 0 1.1px,transparent 1.9px),
      radial-gradient(circle at left 30% top 24%,rgba(241,220,155,.95) 0 2px,transparent 2.8px),
      radial-gradient(circle at left 43% top 58%,rgba(183,138,38,.85) 0 1px,transparent 1.8px),
      radial-gradient(circle at left 52% top 34%,rgba(241,220,155,.95) 0 1.5px,transparent 2.3px),
      radial-gradient(circle at left 61% top 80%,rgba(201,154,46,.85) 0 1.3px,transparent 2.1px),
      radial-gradient(circle at left 70% top 20%,rgba(241,220,155,.9) 0 1.1px,transparent 1.9px),
      radial-gradient(circle at left 79% top 52%,rgba(201,154,46,.9) 0 1.8px,transparent 2.6px),
      radial-gradient(circle at left 90% top 30%,rgba(241,220,155,.95) 0 1.2px,transparent 2px),
      radial-gradient(circle at left 95% top 70%,rgba(183,138,38,.8) 0 1px,transparent 1.8px),
      radial-gradient(closest-side at left 55% top 50%,rgba(201,154,46,.15),transparent)}
  @media(max-width:880px){ html:is([data-palette="gold"],[data-palette="caribbean"]) body #memPanel .gd-hello::before{left:auto;right:0;top:-14px;width:40%;height:34px} }   /* phone: the date row only */
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="trades"] body #memPanel .gd-hello::before{opacity:.7}
  /* Home's ground: the light from the top is champagne, not a dense tint (Standard) */
  html[data-palette="gold"]:not([data-profile]) body[data-door="today"]{background-image:radial-gradient(130% 55% at center -12%,color-mix(in srgb,var(--dc-hi) 30%,transparent),transparent 62%),radial-gradient(70% 40% at right top,color-mix(in srgb,var(--dc-hi) 14%,transparent),transparent 70%),radial-gradient(var(--grain) .8px,transparent 1.1px)}
  /* the plain door: the bright blue shimmer becomes the gold, with ink words */
  html:is([data-palette="gold"],[data-palette="caribbean"]) .jd .ghdoor-hear-row .gh-cta{color:#0F1E32;background:linear-gradient(115deg,#B78A26 0%,#E2C377 28%,#F1DC9B 50%,#E2C377 72%,#B78A26 100%);background-size:220% 100%;
    box-shadow:0 0 0 1px #A47A1E,0 10px 26px -12px rgba(183,138,38,.75)}
  /* Standard dark: the navy button's gold words go to gold ink (Approve read 4.51, a hair over the floor) */
  @media (prefers-color-scheme: dark){ html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile]):not([data-theme="light"]) body .gd-btn.prim,html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile]):not([data-theme="light"]) body .st-act.prim,html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile]):not([data-theme="light"]) body .fbtn.prim{color:var(--gold-ink)} }
  html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile])[data-theme="dark"] body .gd-btn.prim,html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile])[data-theme="dark"] body .st-act.prim,html:is([data-palette="gold"],[data-palette="caribbean"]):not([data-profile])[data-theme="dark"] body .fbtn.prim{color:var(--gold-ink)}
  /* Switchboard's LIVE count reads its look's fill, not a fixed teal */
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="operations"] .topbar .pf-live:not([hidden]){background:var(--th-fill);color:var(--th-fill-ink)}
  html:is([data-palette="gold"],[data-palette="caribbean"])[data-profile="operations"] .pf-live i{background:var(--th-fill-ink)}
  /* the look question's tiles show each look as gold dresses it */
  html:is([data-palette="gold"],[data-palette="caribbean"]) .pf-flow [data-sfv="trades"]{--sw-bg:#FFFDF8;--sw-ink:#14171F;--sw-acc:#C99A2E;--sw-rule:#E9E0CC}
  html:is([data-palette="gold"],[data-palette="caribbean"]) .pf-flow [data-sfv="practice"]{--sw-bg:#FBF7EF;--sw-ink:#0F1E32;--sw-acc:#8A6514;--sw-rule:#E9E0CC}
  html:is([data-palette="gold"],[data-palette="caribbean"]) .pf-flow [data-sfv="agency"]{--sw-bg:#FBF7EF;--sw-ink:#0F1E32;--sw-acc:#1B4380;--sw-rule:#E9E0CC}
  html:is([data-palette="gold"],[data-palette="caribbean"]) .pf-flow [data-sfv="property"]{--sw-bg:#0F1E32;--sw-ink:#FBF7EF;--sw-acc:#C99A2E;--sw-rule:#0F1E32}
  html:is([data-palette="gold"],[data-palette="caribbean"]) .pf-flow [data-sfv="operations"]{--sw-acc:#D8AD4C}

  /* ===== DAYLIGHT (John, 22 Oct 2026, the cockpit: "1,3,4 are my favourite for parts of each, blending them will be the default";
     "the only 2 options light and dark"; the default from v843, docs/205). A pale blue ground, white cards on one soft shadow, one
     cockpit blue for the eyebrow, the open tab, every door and every primary; the device's own sans for everything (SF on Apple,
     Segoe on Windows), no serif, no grain, vignette or glow. Light or dark is the owner's one choice (Me > Settings, html[data-theme]).
     Gold stays Jasmine's one glow and the gold words. At night: deep navy, navy cards, the blue lifted. Generated by partner
     scripts/theme/daylight-gen.cjs; the two dark bodies of every block are byte-identical (test/arch/palette-parity.test.cjs). */
  /* the one accent, the cockpit blue */
  html[data-palette="daylight"]{--acc:#3E63DD;--acc-deep:#2F4FC0;--acc-hi:#9DB3FF;--acc-ink:#2B4BC2;--acc-on:#FFFFFF;--acc-tint:#E8EDFB}
  @media (prefers-color-scheme: dark){ html[data-palette="daylight"]:not([data-theme="light"]){--acc:#6B8CFF;--acc-deep:#1C2A5C;--acc-hi:#A9BCFF;--acc-ink:#9DB3FF;--acc-on:#0F1524;--acc-tint:rgba(107,140,255,.16)} }
  html[data-palette="daylight"][data-theme="dark"]{--acc:#6B8CFF;--acc-deep:#1C2A5C;--acc-hi:#A9BCFF;--acc-ink:#9DB3FF;--acc-on:#0F1524;--acc-tint:rgba(107,140,255,.16)}
  /* Standard (no look) */
  html[data-palette="daylight"]:not([data-profile]){--bg:#F5F7FC;--card:#FFFFFF;--line:#E3E7F0;--ink:#1B2333;--sub:#49515F;--muted:#5C6474;--cream:#F5F7FC;--navy:#1B2333;--navy-hi:#2A3550;--navy-deep:#111726;--gold:#C99A2E;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#1B2333;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.45);--gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);--info:#3E63DD;--now:#3E63DD;--info-tint:rgba(62,99,221,.10);--d-today:var(--acc);--d-today-deep:var(--acc-deep);--d-today-hi:var(--acc-hi);--d-do:var(--acc);--d-do-deep:var(--acc-deep);--d-do-hi:var(--acc-hi);--d-sales:var(--acc);--d-sales-deep:var(--acc-deep);--d-sales-hi:var(--acc-hi);--d-marketing:var(--acc);--d-marketing-deep:var(--acc-deep);--d-marketing-hi:var(--acc-hi);--d-operations:var(--acc);--d-operations-deep:var(--acc-deep);--d-operations-hi:var(--acc-hi);--d-money:var(--acc);--d-money-deep:var(--acc-deep);--d-money-hi:var(--acc-hi);--d-me:var(--acc);--d-me-deep:var(--acc-deep);--d-me-hi:var(--acc-hi);--door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);--prim-a:var(--acc);--prim-b:var(--acc);--prim-ink:var(--acc-on);--hi:rgba(255,255,255,.6);--ring:#E3E7F0;--sh:30,45,95;--e1:0 1px 2px rgba(30,45,95,.05),0 4px 12px rgba(30,45,95,.06);--e2:0 10px 30px rgba(30,45,95,.10);--e3:0 18px 44px rgba(30,45,95,.16);--e4:0 -6px 24px rgba(30,45,95,.08);--paper-shadow:0 10px 30px rgba(30,45,95,.10);--sunk:inset 0 0 0 1px #D3D9E6;--grain:rgba(0,0,0,0);--vignette:rgba(0,0,0,0);--glow-top:rgba(0,0,0,0);--bar-ink:var(--ink);--bar-sub:var(--sub);--ff-text:ui-sans-serif,-apple-system,'Segoe UI Variable Text','Segoe UI',system-ui,Helvetica,Arial,sans-serif;--ff-display:ui-sans-serif,-apple-system,'Segoe UI Variable Display','Segoe UI',system-ui,Helvetica,Arial,sans-serif}
  @media (prefers-color-scheme: dark){ html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]){--bg:#0F1524;--card:#171F33;--line:#273045;--ink:#EEF2FA;--sub:#9AA5BE;--muted:#8E99B3;--cream:#0F1524;--navy:#1F2941;--navy-hi:#2A3650;--navy-deep:#0A0F1C;--gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.13);--gold-glow:rgba(216,173,76,.42);--gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);--info:#8EA8FF;--now:#8EA8FF;--info-tint:rgba(142,168,255,.14);--d-today:var(--acc);--d-today-deep:var(--acc-deep);--d-today-hi:var(--acc-hi);--d-do:var(--acc);--d-do-deep:var(--acc-deep);--d-do-hi:var(--acc-hi);--d-sales:var(--acc);--d-sales-deep:var(--acc-deep);--d-sales-hi:var(--acc-hi);--d-marketing:var(--acc);--d-marketing-deep:var(--acc-deep);--d-marketing-hi:var(--acc-hi);--d-operations:var(--acc);--d-operations-deep:var(--acc-deep);--d-operations-hi:var(--acc-hi);--d-money:var(--acc);--d-money-deep:var(--acc-deep);--d-money-hi:var(--acc-hi);--d-me:var(--acc);--d-me-deep:var(--acc-deep);--d-me-hi:var(--acc-hi);--door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);--prim-a:var(--acc);--prim-b:var(--acc);--prim-ink:var(--acc-on);--hi:rgba(255,255,255,.05);--ring:#273045;--sh:0,0,0;--e1:0 0 0 1px #273045;--e2:0 0 0 1px #33405A,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #33405A,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #273045;--paper-shadow:0 10px 30px rgba(0,0,0,.35);--sunk:inset 0 0 0 1px #33405A;--grain:rgba(0,0,0,0);--vignette:rgba(0,0,0,0);--glow-top:rgba(0,0,0,0);--bar-ink:var(--ink);--bar-sub:var(--sub);--ff-text:ui-sans-serif,-apple-system,'Segoe UI Variable Text','Segoe UI',system-ui,Helvetica,Arial,sans-serif;--ff-display:ui-sans-serif,-apple-system,'Segoe UI Variable Display','Segoe UI',system-ui,Helvetica,Arial,sans-serif} }
  html[data-palette="daylight"]:not([data-profile])[data-theme="dark"]{--bg:#0F1524;--card:#171F33;--line:#273045;--ink:#EEF2FA;--sub:#9AA5BE;--muted:#8E99B3;--cream:#0F1524;--navy:#1F2941;--navy-hi:#2A3650;--navy-deep:#0A0F1C;--gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.13);--gold-glow:rgba(216,173,76,.42);--gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);--info:#8EA8FF;--now:#8EA8FF;--info-tint:rgba(142,168,255,.14);--d-today:var(--acc);--d-today-deep:var(--acc-deep);--d-today-hi:var(--acc-hi);--d-do:var(--acc);--d-do-deep:var(--acc-deep);--d-do-hi:var(--acc-hi);--d-sales:var(--acc);--d-sales-deep:var(--acc-deep);--d-sales-hi:var(--acc-hi);--d-marketing:var(--acc);--d-marketing-deep:var(--acc-deep);--d-marketing-hi:var(--acc-hi);--d-operations:var(--acc);--d-operations-deep:var(--acc-deep);--d-operations-hi:var(--acc-hi);--d-money:var(--acc);--d-money-deep:var(--acc-deep);--d-money-hi:var(--acc-hi);--d-me:var(--acc);--d-me-deep:var(--acc-deep);--d-me-hi:var(--acc-hi);--door-today:var(--d-today);--door-do:var(--d-do);--door-sales:var(--d-sales);--door-marketing:var(--d-marketing);--door-operations:var(--d-operations);--door-money:var(--d-money);--door-me:var(--d-me);--prim-a:var(--acc);--prim-b:var(--acc);--prim-ink:var(--acc-on);--hi:rgba(255,255,255,.05);--ring:#273045;--sh:0,0,0;--e1:0 0 0 1px #273045;--e2:0 0 0 1px #33405A,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #33405A,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #273045;--paper-shadow:0 10px 30px rgba(0,0,0,.35);--sunk:inset 0 0 0 1px #33405A;--grain:rgba(0,0,0,0);--vignette:rgba(0,0,0,0);--glow-top:rgba(0,0,0,0);--bar-ink:var(--ink);--bar-sub:var(--sub);--ff-text:ui-sans-serif,-apple-system,'Segoe UI Variable Text','Segoe UI',system-ui,Helvetica,Arial,sans-serif;--ff-display:ui-sans-serif,-apple-system,'Segoe UI Variable Display','Segoe UI',system-ui,Helvetica,Arial,sans-serif}
  /* the looks: the gold blocks' structure (Studio's soft shadows; every look on the 1px line, John 23 Oct 2026) on Daylight's neutrals, the accent for the primary */
  /* Workshop */
  html[data-palette="daylight"][data-profile="trades"]{
    --bg:#FFFFFF;--card:#FFFFFF;--ink:#1B2333;--sub:#49515F;--muted:#5C6474;--line:#E3E7F0;--cream:#FFFFFF;
    --gold:#8A6514;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.14);--gold-glow:rgba(201,154,46,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);
    --navy:#1B2333;--navy-hi:#2A3550;--navy-deep:#111726;--info:var(--acc);--now:var(--acc);--info-tint:rgba(27,67,128,.09);
    --ring:#E3E7F0;--e1:0 0 0 1px #E3E7F0,0 1px 2px rgba(15,30,50,.04);--e2:0 0 0 1px #E3E7F0,0 4px 12px -4px rgba(15,30,50,.10);--e3:0 0 0 1px #E3E7F0,0 16px 32px -12px rgba(15,30,50,.22);--e4:0 -1px 0 #E3E7F0,0 -10px 30px -12px rgba(15,30,50,.2);--paper-shadow:0 0 0 1px #E3E7F0;--sunk:inset 0 0 0 1px #D3D9E6;
    --prim-a:#1B2333;--prim-b:#1B2333;--prim-ink:#FFFFFF;
    --th-d:#1B2333;--th-dd:#1B2333;--th-dh:#C99A2E;--th-fill:#C99A2E;--th-fill-ink:#1B2333;--th-bc:#E3E7F0;
    --th-bar:#FFFFFF;--th-bar-ink:#1B2333;--th-bar-line:1px solid #E3E7F0;--th-bar-btn:#D3D9E6;
    --th-nav:#FFFFFF;--th-nav-ink:#1B2333;--th-nav-on-ink:#1B2333;
    --th-mbar:#FFFFFF;--th-mbar-ink:#49515F;--th-mbar-on:#1B2333;--th-mbar-line:1px solid #E3E7F0}
  @media (prefers-color-scheme: dark){ html[data-palette="daylight"][data-profile="trades"]:not([data-theme="light"]){
    --bg:#0F1524;--card:#171F33;--ink:#EEF2FA;--sub:#9AA5BE;--muted:#8E99B3;--line:#273045;--cream:#FFFDF8;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --navy:#0A0F1C;--navy-hi:#2A3650;--navy-deep:#000000;--info:var(--acc);--now:var(--acc);--info-tint:rgba(147,179,236,.12);
    --ring:#273045;--e1:0 0 0 1px #273045;--e2:0 0 0 1px #33405A,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #33405A,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #273045;--paper-shadow:0 0 0 1px #273045;--sunk:inset 0 0 0 1px #33405A;
    --prim-a:#EEF2FA;--prim-b:#EEF2FA;--prim-ink:#14171F;
    --th-d:#D8AD4C;--th-dd:#2A3650;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#14171F;--th-bc:#273045;
    --th-bar:#0A0F1C;--th-bar-ink:#EEF2FA;--th-bar-line:1px solid #273045;--th-bar-btn:#33405A;
    --th-nav:#0F1524;--th-nav-ink:#EEF2FA;--th-nav-on-ink:#FFFFFF;
    --th-mbar:#0A0F1C;--th-mbar-ink:#9AA5BE;--th-mbar-on:#FFFFFF;--th-mbar-line:1px solid #273045} }
  html[data-palette="daylight"][data-profile="trades"][data-theme="dark"]{
    --bg:#0F1524;--card:#171F33;--ink:#EEF2FA;--sub:#9AA5BE;--muted:#8E99B3;--line:#273045;--cream:#FFFDF8;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.15);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --navy:#0A0F1C;--navy-hi:#2A3650;--navy-deep:#000000;--info:var(--acc);--now:var(--acc);--info-tint:rgba(147,179,236,.12);
    --ring:#273045;--e1:0 0 0 1px #273045;--e2:0 0 0 1px #33405A,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #33405A,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #273045;--paper-shadow:0 0 0 1px #273045;--sunk:inset 0 0 0 1px #33405A;
    --prim-a:#EEF2FA;--prim-b:#EEF2FA;--prim-ink:#14171F;
    --th-d:#D8AD4C;--th-dd:#2A3650;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#14171F;--th-bc:#273045;
    --th-bar:#0A0F1C;--th-bar-ink:#EEF2FA;--th-bar-line:1px solid #273045;--th-bar-btn:#33405A;
    --th-nav:#0F1524;--th-nav-ink:#EEF2FA;--th-nav-on-ink:#FFFFFF;
    --th-mbar:#0A0F1C;--th-mbar-ink:#9AA5BE;--th-mbar-on:#FFFFFF;--th-mbar-line:1px solid #273045}
  /* Front Desk */
  html[data-palette="daylight"][data-profile="practice"]{
    --bg:#F5F7FC;--card:#FFFFFF;--ink:#1B2333;--line:#E3E7F0;--cream:#F5F7FC;--navy:#1B2333;--navy-hi:#2A3550;--navy-deep:#111726;
    --gold:#8A6514;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.4);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(27,67,128,.09);
    --prim-a:#1B2333;--prim-b:#1B2333;--prim-ink:#F5F7FC;
    --th-d:#1B2333;--th-dd:#1B2333;--th-dh:#C99A2E;--th-fill:#1B2333;--th-fill-ink:#F5F7FC;--th-bc:#E3E7F0;
    --th-bar:#F5F7FC;--th-bar-ink:#1B2333;--th-bar-line:1px solid #E3E7F0;
    --th-nav:#F5F7FC;--th-nav-ink:#1B2333;--th-nav-on:#1B2333;--th-nav-on-ink:#F5F7FC;
    --th-mbar:#FFFFFF;--th-mbar-on:#1B2333;--th-mbar-line:1px solid #E3E7F0}
  @media (prefers-color-scheme: dark){ html[data-palette="daylight"][data-profile="practice"]:not([data-theme="light"]){
    --bg:#0F1524;--card:#171F33;--ink:#EEF2FA;--line:#273045;--cream:#F5F4F0;--navy:#0A0F1C;--navy-hi:#2A3650;--navy-deep:#06080B;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(147,179,236,.12);
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#0F1524;
    --th-d:#D8AD4C;--th-dd:#2A3650;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#0F1524;--th-bc:#273045;
    --th-bar:#0F1524;--th-bar-ink:#EEF2FA;--th-bar-line:1px solid #273045;
    --th-nav:#0F1524;--th-nav-ink:#EEF2FA;--th-nav-on:#D8AD4C;--th-nav-on-ink:#0F1524;
    --th-mbar:#0A0F1C;--th-mbar-on:#D8AD4C;--th-mbar-line:1px solid #273045} }
  html[data-palette="daylight"][data-profile="practice"][data-theme="dark"]{
    --bg:#0F1524;--card:#171F33;--ink:#EEF2FA;--line:#273045;--cream:#F5F4F0;--navy:#0A0F1C;--navy-hi:#2A3650;--navy-deep:#06080B;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(147,179,236,.12);
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#0F1524;
    --th-d:#D8AD4C;--th-dd:#2A3650;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#0F1524;--th-bc:#273045;
    --th-bar:#0F1524;--th-bar-ink:#EEF2FA;--th-bar-line:1px solid #273045;
    --th-nav:#0F1524;--th-nav-ink:#EEF2FA;--th-nav-on:#D8AD4C;--th-nav-on-ink:#0F1524;
    --th-mbar:#0A0F1C;--th-mbar-on:#D8AD4C;--th-mbar-line:1px solid #273045}
  /* Studio */
  html[data-palette="daylight"][data-profile="agency"]{
    --bg:#F5F7FC;--card:#FFFFFF;--ink:#1B2333;--line:#E3E7F0;--cream:#F5F7FC;--navy:#1B2333;--navy-hi:#2A3550;--navy-deep:#111726;
    --gold:#8A6514;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.4);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(27,67,128,.09);
    --ring:#E3E7F0;--e1:0 0 0 1px #E3E7F0,0 1px 2px rgba(15,30,50,.04);--e2:0 0 0 1px #E3E7F0,0 4px 12px -4px rgba(15,30,50,.10);--e3:0 0 0 1px #E3E7F0,0 16px 32px -12px rgba(15,30,50,.22);--e4:0 -1px 0 #E3E7F0,0 -10px 30px -12px rgba(15,30,50,.2);--paper-shadow:0 0 0 1px #E3E7F0;--sunk:inset 0 0 0 1px #D3D9E6;
    --prim-a:var(--acc);--prim-b:var(--acc);--prim-ink:#FFFFFF;
    --th-d:var(--acc);--th-dd:var(--acc-deep);--th-dh:#C99A2E;--th-fill:var(--acc);--th-fill-ink:#FFFFFF;--th-bc:#E3E7F0;
    --th-bar:#FFFFFF;--th-bar-ink:#1B2333;--th-bar-line:1px solid #E3E7F0;--th-bar-btn:#D3D9E6;
    --th-nav:#FFFFFF;--th-nav-ink:#49515F;--th-nav-on:var(--acc-tint);--th-nav-on-ink:var(--acc);
    --th-mbar:#FFFFFF;--th-mbar-ink:#49515F;--th-mbar-on:var(--acc);--th-mbar-line:1px solid #E3E7F0}
  @media (prefers-color-scheme: dark){ html[data-palette="daylight"][data-profile="agency"]:not([data-theme="light"]){
    --bg:#0F1524;--card:#171F33;--ink:#EEF2FA;--line:#273045;--cream:#F5F4F0;--navy:#0A0F1C;--navy-hi:#24395C;--navy-deep:#06080B;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(147,179,236,.12);
    --ring:#273045;--e1:0 0 0 1px #273045;--e2:0 0 0 1px #33405A,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #33405A,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #273045;--paper-shadow:0 0 0 1px #273045;--sunk:inset 0 0 0 1px #33405A;
    --prim-a:var(--acc);--prim-b:var(--acc);--prim-ink:#0F1524;
    --th-d:var(--acc);--th-dd:var(--acc-deep);--th-dh:#D8AD4C;--th-fill:var(--acc);--th-fill-ink:#0F1524;--th-bc:#273045;
    --th-bar:#0F1524;--th-bar-ink:#EEF2FA;--th-bar-line:1px solid #273045;--th-bar-btn:#33405A;
    --th-nav:#0F1524;--th-nav-ink:#9AA5BE;--th-nav-on:var(--acc-tint);--th-nav-on-ink:var(--acc-hi);
    --th-mbar:#0F1524;--th-mbar-ink:#9AA5BE;--th-mbar-on:var(--acc);--th-mbar-line:1px solid #273045} }
  html[data-palette="daylight"][data-profile="agency"][data-theme="dark"]{
    --bg:#0F1524;--card:#171F33;--ink:#EEF2FA;--line:#273045;--cream:#F5F4F0;--navy:#0A0F1C;--navy-hi:#24395C;--navy-deep:#06080B;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(147,179,236,.12);
    --ring:#273045;--e1:0 0 0 1px #273045;--e2:0 0 0 1px #33405A,0 8px 18px -8px rgba(0,0,0,.7);--e3:0 0 0 1px #33405A,0 20px 40px -14px rgba(0,0,0,.85);--e4:0 -1px 0 #273045;--paper-shadow:0 0 0 1px #273045;--sunk:inset 0 0 0 1px #33405A;
    --prim-a:var(--acc);--prim-b:var(--acc);--prim-ink:#0F1524;
    --th-d:var(--acc);--th-dd:var(--acc-deep);--th-dh:#D8AD4C;--th-fill:var(--acc);--th-fill-ink:#0F1524;--th-bc:#273045;
    --th-bar:#0F1524;--th-bar-ink:#EEF2FA;--th-bar-line:1px solid #273045;--th-bar-btn:#33405A;
    --th-nav:#0F1524;--th-nav-ink:#9AA5BE;--th-nav-on:var(--acc-tint);--th-nav-on-ink:var(--acc-hi);
    --th-mbar:#0F1524;--th-mbar-ink:#9AA5BE;--th-mbar-on:var(--acc);--th-mbar-line:1px solid #273045}
  /* Concierge */
  html[data-palette="daylight"][data-profile="property"]{
    --bg:#F5F7FC;--card:#FFFFFF;--ink:#1B2333;--line:#E3E7F0;--cream:#F5F7FC;--navy:#1B2333;--navy-hi:#2A3550;--navy-deep:#111726;
    --gold:#8A6514;--gold-ink:#8A6514;--gold-edge:#A47A1E;--gold-on:#FFFFFF;--gold-tint:rgba(201,154,46,.12);--gold-glow:rgba(201,154,46,.4);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#C99A2E 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(27,67,128,.09);--sunk:inset 0 0 0 1px #E3E7F0;
    --prim-a:#1B2333;--prim-b:#1B2333;--prim-ink:#F5F7FC;
    --th-d:#1B2333;--th-dd:#2A3550;--th-dh:#C99A2E;--th-fill:#1B2333;--th-fill-ink:#F5F7FC;
    --th-bar:#F5F7FC;--th-bar-ink:#1B2333;--th-bar-btn:#D3D9E6;
    --th-nav:#1B2333;--th-nav-ink:#B4B8C0;--th-nav-on:#2A3550;--th-nav-on-ink:#F5F7FC;
    --th-mbar:#1B2333;--th-mbar-ink:#B4B8C0;--th-mbar-on:#F5F7FC}
  @media (prefers-color-scheme: dark){ html[data-palette="daylight"][data-profile="property"]:not([data-theme="light"]){
    --bg:#0F1524;--card:#171F33;--ink:#EEF2FA;--line:#273045;--cream:#F5F4F0;--navy:#0A0F1C;--navy-hi:#2A3650;--navy-deep:#06080B;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(147,179,236,.12);--sunk:inset 0 0 0 1px #33405A;
    --prim-a:#EEF2FA;--prim-b:#EEF2FA;--prim-ink:#0F1524;
    --th-d:#D8AD4C;--th-dd:#2A3650;--th-dh:#D8AD4C;--th-fill:#EEF2FA;--th-fill-ink:#0F1524;
    --th-bar:#0F1524;--th-bar-ink:#EEF2FA;--th-bar-btn:#33405A;
    --th-nav:#0A0F1C;--th-nav-ink:#9AA5BE;--th-nav-on:#2A3650;--th-nav-on-ink:#EEF2FA;
    --th-mbar:#0A0F1C;--th-mbar-ink:#9AA5BE;--th-mbar-on:#EEF2FA} }
  html[data-palette="daylight"][data-profile="property"][data-theme="dark"]{
    --bg:#0F1524;--card:#171F33;--ink:#EEF2FA;--line:#273045;--cream:#F5F4F0;--navy:#0A0F1C;--navy-hi:#2A3650;--navy-deep:#06080B;
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1524;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(147,179,236,.12);--sunk:inset 0 0 0 1px #33405A;
    --prim-a:#EEF2FA;--prim-b:#EEF2FA;--prim-ink:#0F1524;
    --th-d:#D8AD4C;--th-dd:#2A3650;--th-dh:#D8AD4C;--th-fill:#EEF2FA;--th-fill-ink:#0F1524;
    --th-bar:#0F1524;--th-bar-ink:#EEF2FA;--th-bar-btn:#33405A;
    --th-nav:#0A0F1C;--th-nav-ink:#9AA5BE;--th-nav-on:#2A3650;--th-nav-on-ink:#EEF2FA;
    --th-mbar:#0A0F1C;--th-mbar-ink:#9AA5BE;--th-mbar-on:#EEF2FA}
  /* Switchboard: always dark, as in every palette */
  html[data-palette="daylight"][data-profile="operations"]:not([data-theme="-"]){
    --gold:#D8AD4C;--gold-ink:#E8CB7A;--gold-edge:#B78A26;--gold-on:#0F1419;--gold-tint:rgba(216,173,76,.14);--gold-glow:rgba(216,173,76,.45);
    --gold-fill:linear-gradient(135deg,#B78A26 0%,#F1DC9B 40%,#D8AD4C 70%,#B78A26 100%);
    --info:var(--acc);--now:var(--acc);--info-tint:rgba(147,179,236,.14);
    --prim-a:#D8AD4C;--prim-b:#D8AD4C;--prim-ink:#0F1419;
    --th-d:#D8AD4C;--th-dd:#3A2E10;--th-dh:#D8AD4C;--th-fill:#D8AD4C;--th-fill-ink:#0F1419;--th-mbar-on:#D8AD4C}
  /* the Standard chrome: the top bar and the door bar on the card colour, hairlines, the accent on the open tab */
  html[data-palette="daylight"]:not([data-profile]) body .topbar{background:var(--card);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(0,0,0,.02);color:var(--ink)}
  html[data-palette="daylight"]:not([data-profile]) body .topbar .brand,html[data-palette="daylight"]:not([data-profile]) body .topbar .ybw{color:var(--gold-ink);text-shadow:none}
  html[data-palette="daylight"]:not([data-profile]) .ru-it:not(.ru-lead) .ru-ic:not([class*=" ru-"]){background:var(--acc-tint);color:var(--acc-ink)}   /* a roll-up icon with no colour of its own wears the accent; gold stays on the Talk to Jasmine row only (STYLE 22 Oct 2026, board 9c16); a row with a tone (ru-ok, ru-info, ru-warn, ru-bad, ru-dim) keeps it in every palette (John 22 Oct 2026: colour where it is relevant) */
  html[data-palette="daylight"]:not([data-profile]) body .topbar .profbtn,html[data-palette="daylight"]:not([data-profile]) body .topbar .profbtn .who,html[data-palette="daylight"]:not([data-profile]) body .topbar .tb-ic,html[data-palette="daylight"]:not([data-profile]) body .topbar .topright>button{color:var(--ink)}
  html[data-palette="daylight"]:not([data-profile]) body .topbar .tb-ic,html[data-palette="daylight"]:not([data-profile]) body .topbar .topright>button:not(.profbtn):not(.nt-bell){border-color:var(--line);background:transparent}
  html[data-palette="daylight"]:not([data-profile]) body .topbar .profbtn:hover,html[data-palette="daylight"]:not([data-profile]) body .topbar .tb-ic:hover{background:var(--acc-tint)}
  html[data-palette="daylight"]:not([data-profile]) body .topbar .profav{background:var(--acc);color:var(--acc-on)}
  @media(max-width:880px){
    html[data-palette="daylight"]:not([data-profile]) body #doorBar{background:var(--card);border-top:1px solid var(--line);box-shadow:0 -1px 0 rgba(0,0,0,.02)}
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button{color:var(--sub)}
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button .db-i{color:inherit}
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button.on{color:var(--acc-ink);border-top-color:transparent}   /* the base bar (12-menu-registry.js) lights a tab with a 2px border-top in the door colour, navy; the gold bar is navy so it never showed; on a card-colour bar it read as a dark line (YESBUSINESS 22 Oct 2026, board 57f1) */
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button.on .db-i{background:var(--acc-tint);box-shadow:none}
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button.db-plus .db-i{color:var(--acc-on)}   /* the raised +: its cross in the accent's own ink on the accent circle (v908; "color:inherit" above gave it the tabs' grey, 1.5:1 on the blue) */
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button.on::before{background:var(--acc)}
  }
  @media(min-width:881px){
    html[data-palette="daylight"]:not([data-profile]) body #doorBar{background:var(--bg);border-right:1px solid var(--line);box-shadow:none}
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button{color:var(--ink)}
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button .db-i{color:var(--sub)}
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button:not(.on):hover{background:var(--acc-tint)}
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button.on{background:var(--acc-tint);color:var(--acc-ink);border-left-color:var(--acc);box-shadow:none}
    html[data-palette="daylight"]:not([data-profile]) body #doorBar button.on .db-i{color:var(--acc-ink)}
  }
  /* dark: the primary keeps the accent's own ink (the registry's navy-and-gold night rule is the gold look's) */
  @media (prefers-color-scheme: dark){ html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]) body .gd-btn.prim,html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]) body .st-act.prim,html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]) body .fbtn.prim,html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]) body .send,html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]) body .ns-go,html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]) body #frScreen .fr-go,html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]) body .mt-b.prim,html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]) body .st-ico.prim,html[data-palette="daylight"]:not([data-profile]):not([data-theme="light"]) body .sv-btn.go{color:var(--prim-ink);border:1px solid var(--prim-b)} }
  html[data-palette="daylight"]:not([data-profile])[data-theme="dark"] body .gd-btn.prim,html[data-palette="daylight"]:not([data-profile])[data-theme="dark"] body .st-act.prim,html[data-palette="daylight"]:not([data-profile])[data-theme="dark"] body .fbtn.prim,html[data-palette="daylight"]:not([data-profile])[data-theme="dark"] body .send,html[data-palette="daylight"]:not([data-profile])[data-theme="dark"] body .ns-go,html[data-palette="daylight"]:not([data-profile])[data-theme="dark"] body #frScreen .fr-go,html[data-palette="daylight"]:not([data-profile])[data-theme="dark"] body .mt-b.prim,html[data-palette="daylight"]:not([data-profile])[data-theme="dark"] body .st-ico.prim,html[data-palette="daylight"]:not([data-profile])[data-theme="dark"] body .sv-btn.go{color:var(--prim-ink);border:1px solid var(--prim-b)}
  /* the look question's tiles as Daylight dresses them */
  html[data-palette="daylight"] .pf-flow [data-sfv="trades"]{--sw-bg:#FFFFFF;--sw-ink:#1B2333;--sw-acc:var(--acc);--sw-rule:#E3E7F0}
  html[data-palette="daylight"] .pf-flow [data-sfv="practice"]{--sw-bg:#F5F7FC;--sw-ink:#1B2333;--sw-acc:var(--acc);--sw-rule:#E3E7F0}
  html[data-palette="daylight"] .pf-flow [data-sfv="agency"]{--sw-bg:#FFFFFF;--sw-ink:#1B2333;--sw-acc:var(--acc);--sw-rule:#E3E7F0}
  html[data-palette="daylight"] .pf-flow [data-sfv="property"]{--sw-bg:#1B2333;--sw-ink:#F5F7FC;--sw-acc:var(--acc-hi);--sw-rule:#1B2333}
  html[data-palette="daylight"] .pf-flow [data-sfv="operations"]{--sw-acc:#D8AD4C}
  /* the cockpit's cards: the home box a white pill on the soft shadow, no gold border; rounded chips; the date eyebrow in the blue */
  html[data-palette="daylight"]:not([data-profile]) body #memPanel .gd-box{border:1px solid var(--line);background:var(--card);box-shadow:var(--e2)}
  html[data-palette="daylight"]:not([data-profile]) body #memPanel .gd-box:focus-within{border-color:var(--acc);box-shadow:var(--e2),0 0 0 3px var(--acc-tint)}
  html[data-palette="daylight"]:not([data-profile]) body .gd-chip{border-radius:14px;border-color:var(--line);background:var(--card)}
  /* ===== END DAYLIGHT */

  /* ===== THE COLOURS QUESTION (Me > Settings, main/83-profiles.js palSettings): each tile carries its palette, whichever is worn */
  .pal-flow [data-sfv="daylight"],.pal-flow [data-sfv="daylight"],.pal-flow [data-sfv="daylight"],.pal-flow [data-sfv="daylight"],.pal-flow [data-sfv="daylight"],.pal-flow [data-sfv="daylight"],.pal-flow [data-sfv="gold"],.pal-flow [data-sfv="caribbean"],.pal-flow [data-sfv="classic"]{display:inline-flex;align-items:center;gap:9px}
  .pal-flow [data-sfv="daylight"]::before,.pal-flow [data-sfv="daylight"]::before,.pal-flow [data-sfv="daylight"]::before,.pal-flow [data-sfv="daylight"]::before,.pal-flow [data-sfv="daylight"]::before,.pal-flow [data-sfv="daylight"]::before,.pal-flow [data-sfv="gold"]::before,.pal-flow [data-sfv="caribbean"]::before,.pal-flow [data-sfv="classic"]::before{content:"";flex:none;width:38px;height:28px;border-radius:8px;background:var(--sw-bg);box-shadow:inset 0 0 0 1px var(--sw-rule);
    background-image:radial-gradient(circle at left 30% top 50%,var(--sw-a) 0 5px,transparent 5.5px),radial-gradient(circle at left 70% top 50%,var(--sw-b) 0 5px,transparent 5.5px)}
  .pal-flow [data-sfv="daylight"]{--sw-bg:#F5F4F0;--sw-rule:#E4E2DC;--sw-a:#3E63DD;--sw-b:#1C1C1E}
  .pal-flow [data-sfv="gold"]{--sw-bg:#FBF7EF;--sw-rule:#E9E0CC;--sw-a:#C99A2E;--sw-b:#1B4380}
  .pal-flow [data-sfv="caribbean"]{--sw-bg:#C6F0E9;--sw-rule:#9ED9CF;--sw-a:#D9C08E;--sw-b:#1E9C8F}
  .pal-flow [data-sfv="classic"]{--sw-bg:#F3F0E9;--sw-rule:#E4DFD3;--sw-a:#C99A2E;--sw-b:#2F6BFF}
  /* ===== END THE COLOURS */
  /* ============ Inbox lenses (docs/219 section 7): Settings, the row chips, Read this deeply ============
     Ink and page tokens only: gold stays for the one glow and the working rim (docs/190). */
  .il-consent{margin:0 0 10px;line-height:1.45}
  .il-master{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:6px 0}.il-ml{flex:1;min-width:0;font-weight:600;color:var(--ink);font-size:15px}
  .il-msw{border-radius:99px;margin-top:0}
  .il-cost,.il-stat{margin-top:4px}.il-allw{margin:10px 0 2px}
  .il-all,.il-dbtn,.il-act,.il-use{min-height:44px}
  .il-list{margin-top:10px;border-top:1px solid var(--line)}
  .il-row{padding:10px 0;border-bottom:1px solid var(--line)}
  .il-top{display:flex;align-items:flex-start;gap:12px}.il-t{flex:1;min-width:0}.il-t b{display:block;color:var(--ink);font-size:15px}.il-t span{display:block;color:var(--sub);font-size:13px;line-height:1.4;margin-top:2px}
  .il-ctl{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-top:8px}
  .il-bar{display:flex;align-items:center;gap:10px;flex:1 1 220px;min-width:0}.il-n{flex:none;min-width:78px;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
  .il-bar input[type=range]{flex:1;min-width:0;min-height:32px;accent-color:var(--ink)}
  .il-mode{display:inline-flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;flex:none}
  .il-mode button{min-height:36px;padding:0 12px;border:0;background:var(--card);color:var(--sub);font:inherit;font-size:13px;cursor:pointer}
  .il-mode button[aria-pressed=true]{background:var(--ink);color:var(--card);font-weight:600}
  .il-mode1{font-size:13px;color:var(--sub);padding:0 4px}
  .il-msg:empty,.il-dmsg:empty{display:none}.il-msg,.il-dmsg{margin-top:8px;color:var(--ink)}
  .il-chips{margin:6px 0 2px}.il-cr{display:flex;flex-wrap:wrap;gap:6px}
  .il-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border:1px solid var(--line);border-radius:99px;background:var(--bg);color:var(--ink);font:inherit;font-size:13px;cursor:pointer}
  .il-chip b{font-variant-numeric:tabular-nums}.il-chip[aria-expanded=true]{border-color:var(--ink)}
  .il-why{margin-top:8px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
  .il-line{margin:0 0 6px;color:var(--ink);font-size:14px;line-height:1.45}.il-q{margin:0 0 10px;color:var(--sub);font-size:13px;line-height:1.45;font-style:italic}
  .il-deep{margin:14px 0 4px}
  .il-da{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
  .il-ds+.il-ds{margin-top:12px}.il-ds h4{margin:0 0 4px;font-size:13px;color:var(--sub);font-weight:600}.il-ds p{margin:0;color:var(--ink);font-size:14px;line-height:1.5}
  .il-use{margin-top:12px}
  @media(max-width:600px){.il-chip{min-height:40px}.il-mode button{min-height:44px}}
/* the Feedback panel (main/90, docs/223): the report sheet's box, taller for the words */
.airep-box.fb-box textarea{min-height:112px;font-size:16px;resize:vertical}
  /* ===== THE 2026 EMAIL ROW'S ONE NEW COLOUR (John 23 Oct 2026, docs/229: "pink - personal"). The row's rules live with My email's
     own (main/69 ensureInboxCss); this is only the token pair, light and dark, for the Personal bar. It sits on body, keyed on html
     and never :root, so the house look's :root blocks (test/profile-themes snapshot) and the door's dark reset (13-jasmine.css)
     are untouched. */
  body{--pink:#C2185B}
  @media (prefers-color-scheme: dark){ html:not([data-theme="light"]) body{--pink:#F06292} }
  html[data-theme="dark"] body{--pink:#F06292}
  /* ===== END THE 2026 EMAIL ROW'S ONE NEW COLOUR */
