/* v1.31.0 site-wide minimal B&W theme (all hosts except frasers.*; html.bw is set by theme.js) */
html.bw{--bg:#F4F4F3;--panel:#fff;--panel2:#fafafa;--line:#d4d4d4;--line2:#0a0a0a;--text:#0a0a0a;--muted:#525252;--input:#fff;--topbg:rgba(255,255,255,.96);--shadow:none;
 --blue:#0a0a0a;--blue2:#0a0a0a;--blue-soft:rgba(0,0,0,.06);--ink:#0a0a0a;--accent:#0a0a0a;--accent-2:#0a0a0a;--accent-hover:#262626;--accent-ink:#fff;--accent-soft:rgba(0,0,0,.06);--focus:#0a0a0a;
 --brass:#0a0a0a;--brass-hi:#0a0a0a;--brass-soft:rgba(0,0,0,.06);--btn-bg:#fff;--btn-text:#0a0a0a;--btn-line:#0a0a0a;--btn-hover:#f5f5f5;
 --lx-amber:#d97706;--lx-violet:#7c3aed;--lx-teal:#0f766e;--lx-indigo:var(--accent);--lx-g1:var(--accent);--lx-g2:var(--accent);--lx-ink:#0a0a0a;--lx-text:#0a0a0a;--lx-muted:#525252;--lx-card:#fff;--lx-edge:color-mix(in srgb,var(--accent) 14%,var(--line));--lx-sel:var(--accent);--lx-sel-soft:var(--accent-soft);--lx-ring:color-mix(in srgb,var(--accent) 30%,transparent);--lx-glow:color-mix(in srgb,var(--accent) 8%,transparent);--lx-a1:color-mix(in srgb,var(--accent) 5%,transparent);--lx-a2:rgba(20,184,166,.084);--lx-a3:rgba(217,119,6,.07);--lx-e1:color-mix(in srgb,var(--accent) 30%,var(--line));--lx-e2:var(--line);--lx-e3:color-mix(in srgb,var(--lx-teal) 30%,var(--line));--mk-r:5px}
html.bw[data-theme=dark]{--bg:#000;--panel:#0a0a0a;--panel2:#111;--line:#242424;--line2:rgba(255,255,255,.26);--text:#e8e8e8;--muted:#a3a3a3;--input:#0a0a0a;--topbg:rgba(0,0,0,.94);
 --blue:#d4d4d4;--blue2:rgba(255,255,255,.28);--blue-soft:rgba(255,255,255,.08);--ink:#e8e8e8;--accent:#d8d8d8;--accent-2:rgba(255,255,255,.28);--accent-hover:#e8e8e8;--accent-ink:#0a0a0a;--accent-soft:rgba(255,255,255,.08);--focus:rgba(255,255,255,.38);
 --brass:#D2AE6D;--brass-hi:#D2AE6D;--brass-soft:rgba(210,174,109,.14);--btn-bg:#141414;--btn-text:#e8e8e8;--btn-line:rgba(255,255,255,.26);--btn-hover:#1c1c1c;
 --lx-amber:#fbbf24;--lx-violet:#c4b5fd;--lx-teal:#5eead4;--lx-indigo:var(--accent);--lx-g1:var(--accent);--lx-g2:var(--accent);--lx-ink:#e8e8e8;--lx-text:#e8e8e8;--lx-muted:#a3a3a3;--lx-card:#0a0a0a;--lx-edge:color-mix(in srgb,var(--accent) 14%,var(--line));--lx-sel:var(--accent);--lx-sel-soft:var(--accent-soft);--lx-ring:rgba(255,255,255,.22);--lx-glow:color-mix(in srgb,var(--accent) 10%,transparent);--lx-a1:color-mix(in srgb,var(--accent) 5%,transparent);--lx-a2:rgba(13,148,136,.10);--lx-a3:rgba(217,119,6,.08);--lx-e1:color-mix(in srgb,var(--accent) 30%,var(--line));--lx-e2:var(--line);--lx-e3:color-mix(in srgb,var(--lx-teal) 24%,var(--line));
 --fr-chrome-line:rgba(255,255,255,.26);--fr-chrome-line-hi:rgba(255,255,255,.38)}
html.bw .card,html.bw .modal,html.bw dialog,html.bw .sheet,html.bw .panel,html.bw .top-prof-menu,html.bw .top-add-menu{border-radius:0!important}
html.bw .p-sec{border-radius:0!important}
html.bw .btn,html.bw button.btn,html.bw .zbtn,html.bw .ichip,html.bw .schip,html.bw .slot,html.bw .pbtn,html.bw .cd,html.bw input:not(.search-chrome-in),html.bw select,html.bw textarea{border-radius:5px!important}
html.bw :is(.topsearch,.topsearch .loc,.topsearch .qbox,.ss-box,.search-wrap,.svl-in,.ac-wrap .search-wrap,.msg-search.search-wrap) input[type=search]{border-radius:0!important}
html.bw input:not([type=checkbox]):not([type=radio]):not([type=range]),html.bw select,html.bw textarea{font-size:16px}
html.bw .btn.primary,html.bw .pitch .btn.primary,html.bw .zbtn.on,html.bw .ichip.on,html.bw .schip.on,html.bw .slot.on,html.bw .pbtn.guest,html.bw .badge,html.bw .cd.on{background:var(--text)!important;color:var(--bg)!important;border-color:var(--text)!important;box-shadow:none!important}
html.bw .btn.primary:hover:not(:disabled){background:var(--accent-hover)!important}
html.bw .btn.primary::after,html.bw .pitch .btn.primary::after{display:none}
html.bw .logo-mark{background:#181818 url(/img/brand/frlabs-r-128.png) center/20px auto no-repeat!important;border:1px solid #2a2a2a;border-radius:7px!important}
html.bw .logo-mark>*{display:none}
html.bw .app-home .homebar{background:linear-gradient(90deg,color-mix(in srgb,var(--lx-indigo) 2.5%,transparent),color-mix(in srgb,var(--lx-teal) 2%,transparent) 50%,color-mix(in srgb,var(--lx-amber) 2%,transparent)),var(--panel)!important}
html.bw[data-theme=dark] .app-home .homebar{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 5%,transparent),color-mix(in srgb,var(--lx-teal) 3%,transparent) 50%,color-mix(in srgb,var(--lx-amber) 3%,transparent)),var(--panel)!important}
html.bw .app-home .sheet-head{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 2%,transparent),transparent)!important}
html.bw .pitch-wrap .aurora{display:block!important;opacity:.32!important;pointer-events:none}
html.bw .pitch-wrap .aurora i{display:block!important;opacity:1!important}
html.bw .p-ic,html.bw .p-grid .card .p-ic{background:transparent!important;color:var(--text)!important;border:1px solid var(--line);box-shadow:none!important}
html.bw .p-sec{background:var(--panel)!important;color:var(--text)!important}
html.bw .p-sec h2,html.bw .p-sec .tile b{color:var(--text)!important}html.bw .p-sec>p,html.bw .p-sec .tile span{color:var(--muted)!important}
html.bw .pitch .p-hero h1{background:none!important;-webkit-text-fill-color:currentColor;color:var(--text)!important}
html.bw a{color:inherit}
html.bw .banner{display:none!important}
/* beta bar */
.beta-bar{position:relative;z-index:5;display:flex;justify-content:center;align-items:center;gap:10px;padding:5px 40px 5px 12px;font:12.5px/1.4 Inter,system-ui,sans-serif;background:#000;color:#fafafa;border-bottom:1px solid #2a2a2a;text-align:center}
[data-theme=light] .beta-bar{background:#fff;color:#0a0a0a;border-bottom-color:#0a0a0a}
.beta-bar a{color:inherit;text-decoration:underline}
.beta-bar button{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;background:none;color:inherit;font-size:18px;cursor:pointer;border-radius:5px}
/* intro pages: fixed header sits below the fixed beta bar */
/* v1.35.7: fixed beta bar; --banner-h set from measured height (mk.js), 0 when dismissed */
html{--banner-h:0px;--top-bar-h:60px}
@media(max-width:720px){html{--top-bar-h:56px}}
/* v1.38.9 marketing homepage (mk-theme + site-bw only): anchor scroll below fixed header + beta bar */
body.mk [id]:not([id=""]){scroll-margin-top:calc(var(--banner-h,0px) + var(--top-bar-h,56px) + 12px)}
body.has-beta{padding-top:var(--banner-h)}
body.has-beta .beta-bar{position:fixed;top:0;left:0;right:0;z-index:3000;box-sizing:border-box;white-space:nowrap;overflow:hidden}
body.has-beta .beta-bar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1 1 auto}
body.has-beta #hd{top:calc(var(--banner-h) + env(safe-area-inset-top, 0px))}
body.has-beta .top{top:calc(var(--banner-h) + env(safe-area-inset-top, 0px))!important}
@media(max-width:720px){
  body.has-beta{padding-top:0} /* #app reserves fixed header + banner (styles.css) */
  body.has-beta .beta-bar{align-items:flex-start;padding-top:6px;padding-bottom:6px;white-space:normal;overflow:visible}
  body.has-beta .beta-bar span{white-space:normal;text-overflow:unset;overflow:visible}
}
body.has-beta .nt-panel{top:calc(var(--banner-h) + var(--top-bar-h) + 4px)!important;z-index:3200!important}
body.has-beta .menu{top:calc(var(--banner-h) + var(--top-bar-h) + env(safe-area-inset-top,0px))!important}
body.has-beta .ebk-ov{align-items:stretch;padding-top:var(--banner-h)}
@media(max-width:480px){body.has-beta .beta-bar{font-size:11px;padding:0 32px 0 8px;justify-content:flex-start}body.has-beta .beta-bar button{width:24px;height:24px;font-size:16px}}
/* Sign-in / hero cards use the same shimmering conic edge as Fraser's (styles.css .login.card) */
html.bw .card.login,html.bw form#lf.card,html.bw form#ws-reset.card{
  background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--lx-ang),var(--line2),var(--lx-indigo),var(--lx-teal),var(--lx-brass,#b7791f),var(--lx-violet),var(--line2) 72%,var(--line2)) border-box!important;
  border:1px solid transparent!important;animation:lx-sweep 8s linear infinite;box-shadow:0 1px 2px rgba(15,23,42,.05),0 14px 34px -24px var(--lx-glow)!important}
html.bw .login .bar.login-bar,html.bw #lf .bar.login-bar{justify-content:center}
html.bw .set .smain{padding-top:12px}
/* v1.32.0: a white/light button always has black text (every state); a black one has white text */
html.bw .btn.primary,html.bw .btn.primary:is(:hover,:focus,:active,:disabled,[disabled]),html.bw .btn.primary *,
html.bw :is(.zbtn,.ichip,.schip,.slot,.cd,.btn.pick,.badge).on,html.bw :is(.zbtn,.ichip,.schip,.slot,.cd,.btn.pick).on *,
html.bw .sg-row.on :is(.sg-tick,.sg-state),html.bw .pbtn.guest{color:var(--bg)!important}
html.bw .btn.pick.on,html.bw .sg-row.on :is(.sg-tick,.sg-state){background:var(--text)!important;border-color:var(--text)!important}
html.bw[data-theme=dark] .btn.primary,html.bw[data-theme=dark] .btn.primary:is(:hover,:focus,:active){
  background:#e8e8e8!important;color:#0a0a0a!important;border-color:#e8e8e8!important}
html.bw[data-theme=dark] .btn.primary:hover:not(:disabled){background:#f0f0f0!important;border-color:#f0f0f0!important}
html.bw[data-theme=dark] .btn.primary:is(:disabled,[disabled]){background:#3a3a3a!important;color:#e8e8e8!important;border-color:rgba(255,255,255,.22)!important;opacity:.85}
html.bw[data-theme=dark] :is(.zbtn,.ichip,.schip,.slot,.cd,.btn.pick,.badge).on,html.bw[data-theme=dark] .sg-row.on :is(.sg-tick,.sg-state){
  background:#e8e8e8!important;color:#0a0a0a!important;border-color:rgba(255,255,255,.3)!important}
html.bw[data-theme=light] .btn.primary:is(:disabled,[disabled]){background:#404040!important;color:#fff!important;opacity:.7}
html.bw[data-theme=dark] #ck-acc,html.bw[data-theme=dark] #ck-acc *{color:#000!important}
.bq .btn{border-radius:5px}
/* v1.32.1 menus scroll up/down only; locked items = greyed label + lock icon; reason in a tooltip/popover */
.menu,#menu,.menu .menu-kids{overflow-x:hidden!important;overflow-y:auto;max-width:100%}
.menu a,.menu button,.menu-sub,.menu-main{min-width:0;max-width:100%}
.menu :is(.menu-sub,.menu-main,.bo-set-it)>span:not(.lock-ic):not(.menu-chev):not(.menu-nt-pill),.mi-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1 auto}
.menu .is-locked{display:flex;align-items:center;gap:6px;opacity:.5;cursor:pointer}
.menu .is-locked .lock-ic{flex:none;display:inline-flex;margin-left:0}.menu .is-locked .lock-ic svg{width:14px;height:14px}
.menu .is-locked .lock-chip{display:inline-flex;align-items:center;gap:4px;margin-left:auto;font-size:10px;padding:1px 6px;border:1px solid var(--line);white-space:nowrap;flex:none}
.menu .is-locked .mi-l,.menu .is-locked>span:not(.lock-ic):not(.lock-chip):not(.menu-chev){min-width:0;overflow:hidden;text-overflow:ellipsis}
.lock-tip{position:fixed;z-index:4000;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 16px);padding:8px 10px;font-size:13px;background:var(--panel,#0a0a0a);color:var(--text,#fafafa);border:1px solid var(--text,#fafafa);border-radius:5px;box-shadow:none}
.lock-tip svg{width:14px;height:14px;flex:none}
.lock-tip .lt-more{border:1px solid var(--line,#444);background:none;color:inherit;font:inherit;font-size:12px;padding:3px 8px;border-radius:5px;cursor:pointer}
/* v1.33.0 tier-locked page: greyed + read-only; sticky notice stays usable */
.tier-locked>:not(.tl-note):not(.ahead):not(.imp-banner){opacity:.5;filter:grayscale(1)}
.tier-locked :is(input,select,textarea,button,a,[draggable]):not(.tl-note *):not(.ahead *):not(.imp-banner *){pointer-events:none!important;cursor:not-allowed}
.tl-note{position:sticky;top:calc(var(--banner-h,0px) + 64px);z-index:50;display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:8px 12px;font-size:14px;background:var(--panel);color:var(--text);border:1px solid var(--text);border-radius:0}
.tl-note svg{width:16px;height:16px;flex:none}
.tl-note .tl-up{margin-left:auto;border:1px solid var(--text);background:var(--text);color:var(--bg)!important;font:inherit;font-size:13px;font-weight:600;padding:5px 12px;border-radius:5px;cursor:pointer;text-decoration:none;display:inline-block}
.tl-note .lock-chip{font-size:11px;padding:1px 6px;border:1px solid var(--line);white-space:nowrap}
.tier-locked input.sw:disabled,.tier-locked input.sw[disabled]{opacity:.55;cursor:not-allowed;background:var(--sw-off)!important}
.tier-locked input.sw:disabled::after,.tier-locked input.sw[disabled]::after{background:#e5e5e5;box-shadow:0 1px 3px rgba(0,0,0,.12)}
/* v1.33.1 the master 'opened as admin' banner stays fully usable on a locked page */
.tier-locked>.imp-banner{opacity:1!important;filter:none!important}
.tier-locked .imp-banner :is(button,a){pointer-events:auto!important;cursor:pointer;opacity:1}
.pg-h{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:20px}.pg-h svg{width:20px;height:20px}

/* v1.35.8 Workshop UI: 1px borders tinted from the active shop --accent; pitch pages keep muted-gold conic shimmer. */
@property --fr-ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes fr-ang-spin{to{--fr-ang:360deg}}
html.bw{
  --fr-card-inset:16px;
  --fr-card-inset-lg:20px;
  --fr-ui-edge:color-mix(in srgb,var(--accent,var(--text)) 22%,var(--line));
  --fr-ui-edge-hover:color-mix(in srgb,var(--accent,var(--text)) 40%,var(--line));
  --fr-gold:#B08D57;--fr-gold-dim:#9a7346;
  --fr-pitch-grad:conic-gradient(from var(--fr-ang),var(--fr-gold-dim),var(--fr-gold),#c9a66b,var(--fr-gold),var(--fr-gold-dim));
  --brass:#8A6528;--brass-hi:#B08D57;--brass-soft:rgba(176,141,87,.16);--focus:color-mix(in srgb,var(--accent,var(--text)) 55%,var(--line));
  --gold-glow:rgba(176,141,87,.22);
  --topbg:#fff;
}
html.bw[data-theme=dark]{
  --fr-ui-edge:rgba(255,255,255,.22);
  --fr-ui-edge-hover:rgba(255,255,255,.3);
  --fr-gold:#D2AE6D;--fr-gold-dim:#a88852;
  --fr-pitch-grad:conic-gradient(from var(--fr-ang),var(--fr-gold-dim),var(--fr-gold),#e4c998,var(--fr-gold),var(--fr-gold-dim));
  --brass:#D2AE6D;--brass-hi:#D2AE6D;--brass-soft:rgba(210,174,109,.14);--focus:color-mix(in srgb,var(--accent,var(--text)) 50%,var(--line));
  --gold-glow:rgba(210,174,109,.2);
  --topbg:#000;
}
html.bw,html.bw body{overflow-x:clip;color-scheme:light dark}
html.bw[data-theme=dark],html.bw[data-theme=dark] body{color-scheme:dark}
html.bw[data-theme=light],html.bw[data-theme=light] body{color-scheme:light}
/* v1.38.6: soft page wash (~30% of Fraser's aurora strength); dark theme stays very low-key */
html.bw body{background:
  radial-gradient(1000px 520px at 50% -8%,var(--lx-a1),transparent 58%),
  radial-gradient(720px 380px at 100% 18%,var(--lx-a2),transparent 52%),
  radial-gradient(640px 340px at -5% 85%,var(--lx-a3),transparent 50%),
  var(--bg)!important}
html.bw .top{background:var(--topbg)!important;-webkit-backdrop-filter:none;backdrop-filter:none}
html.bw[data-theme=dark] .top,html.bw[data-theme=dark] .beta-bar{background:#000!important}
html.bw[data-theme=light] .top,html.bw[data-theme=light] .beta-bar{background:#fff!important}
/* v1.38.4: dark chrome — muted borders (header ☰/+/profile, search, outlined buttons, calendar selection) */
html.bw[data-theme=dark] :is(.burger,.top-add-btn,.top-prof-btn,.btn:not(.primary):not(.ghost):not(.pick.on),.topsearch,.admin-search.topsearch){
  border-color:var(--fr-chrome-line)!important}
html.bw[data-theme=dark] :is(.burger:hover,.top-add-btn:hover,.top-prof-btn:hover,.top-add-btn[aria-expanded=true],
  .btn:not(.primary):not(.ghost):not(.pick.on):not(:disabled):hover,.topsearch:focus-within,.admin-search.topsearch:focus-within){
  border-color:var(--fr-chrome-line-hi)!important}
html.bw[data-theme=dark] :is(.topsearch:focus-within,.admin-search.topsearch:focus-within,.ss-box:focus-within,.search-wrap:focus-within){
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,#fff) 25%,transparent)!important}
html.bw[data-theme=dark] .acd.on,html.bw[data-theme=dark] .acd.today{
  border-color:rgba(255,255,255,.3)!important;box-shadow:0 0 0 1px rgba(255,255,255,.22)!important}
html.bw[data-theme=dark] .acd.on.red,html.bw[data-theme=dark] .acd.on.green{border-color:rgba(255,255,255,.3)!important}
html.bw[data-theme=dark] .burger span{background:var(--text)}
html.bw[data-theme=dark] .lock-tip{border-color:var(--fr-chrome-line-hi)}
html.bw[data-theme=dark] .tl-note{border-color:var(--fr-chrome-line-hi)}
html.bw[data-theme=dark] .tl-note .tl-up{background:#e8e8e8;border-color:#e8e8e8;color:#0a0a0a!important}
@media(min-width:900px){html.bw{--fr-card-inset:20px;--fr-card-inset-lg:24px}}

/* v1.35.8: minimum inset between border and content (marketing + app); never on job-board cards */
html.bw table.t{background:transparent!important;background-image:none!important;border:0!important;animation:none!important;padding:0!important;box-shadow:none!important}
html.bw :is(.card,.modal,dialog,.sheet,.panel,.form,.p-tier,.b,.next,.endcard,.sec-tiles .b,.ah-block,.trial-pick,.done>.card,.set .card):not(.jcard):not(.p-shot):not(.ebk){padding:var(--fr-card-inset);box-sizing:border-box}
html.bw .card.form,html.bw form.card,html.bw .form.card{padding:max(18px,var(--fr-card-inset));box-sizing:border-box}
html.bw .p-sec .tile,html.bw .pitch-wrap .p-grid .card,html.bw .pitch-wrap .card.p-rules,html.bw .pitch-wrap .card.fx{padding:max(16px,var(--fr-card-inset));box-sizing:border-box}
html.bw .pitch-wrap .p-tier.card{padding:max(20px,var(--fr-card-inset-lg));box-sizing:border-box}
html.bw .endcard,html.bw .next{padding:var(--fr-card-inset-lg)!important;box-sizing:border-box}
html.bw .tiers>.t,html.bw .sec-tiles .b{padding:var(--fr-card-inset);box-sizing:border-box}
html.bw .top-prof-menu,html.bw .top-add-menu{padding:max(8px,var(--fr-card-inset));box-sizing:border-box}
html.bw .msg-row,html.bw .msg-compose.card.form{padding:var(--fr-card-inset);box-sizing:border-box}
html.bw .ebk,html.bw .ebk.jm-card.jm-card{padding:0!important}
html.bw .ebk-head,html.bw .ebk-body,html.bw .jm-card .jm-body{padding-left:var(--fr-card-inset);padding-right:var(--fr-card-inset);box-sizing:border-box}

/* App / admin / booking UI (not sales pitch): Fraser-style tri-tone gradient border (styles.css .card:not(.fx)) */
html.bw :is(.card,.modal,dialog,.sheet,.panel,.top-prof-menu,.top-add-menu,.form,.b,.next,.endcard,.sec-tiles .b,.ah-block,.tiers>.t):not(.jcard):not(.p-shot):not(table.t):not(.login):not(.fx){
  background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(135deg,var(--lx-e1),var(--lx-e2) 38%,var(--lx-e2) 62%,var(--lx-e3)) border-box!important;
  border:1px solid transparent!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05),0 14px 34px -24px var(--lx-glow)!important;
  animation:none!important;
}
html.bw .p-tier:not(.pitch-wrap .p-tier){border:1px solid transparent!important;
  background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(135deg,var(--lx-e1),var(--lx-e2) 38%,var(--lx-e2) 62%,var(--lx-e3)) border-box!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05),0 14px 34px -24px var(--lx-glow)!important}
html.bw :is(.card.summary,.done .card.ok,.card.anat){
  background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--lx-ang),var(--line2),var(--lx-indigo),var(--lx-teal),var(--lx-brass,#b7791f),var(--lx-violet),var(--line2) 72%,var(--line2)) border-box!important;
  border:1px solid transparent!important;animation:lx-sweep 8s linear infinite!important;
  box-shadow:0 1px 2px rgba(15,23,42,.05),0 14px 34px -24px var(--lx-glow)!important}
html.bw .app-home :is(.row,.lcard){
  background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--lx-ang),var(--line),var(--lx-indigo),var(--lx-teal),var(--lx-brass,#b7791f),var(--line) 72%,var(--line)) border-box!important;
  border:1px solid transparent!important;animation:lx-sweep 8s linear infinite!important;box-shadow:0 10px 26px -20px var(--lx-glow)!important}
html.bw .app-home .ichip{border:1px solid transparent!important;background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(120deg,var(--line2),var(--line2)) border-box!important}
html.bw .app-home .ichip:hover{background:linear-gradient(var(--panel),var(--panel)) padding-box,conic-gradient(from var(--lx-ang),var(--lx-indigo),var(--lx-teal),var(--lx-brass,#b7791f),var(--lx-violet),var(--lx-indigo)) border-box!important;animation:lx-sweep 3s linear infinite!important}
html.bw :is(.card,.b,.endcard,.form,.tiers>.t):not(.jcard):not(table.t):hover{transform:translateY(-1px);box-shadow:0 1px 2px rgba(15,23,42,.05),0 18px 36px -20px var(--lx-glow)!important}
html.bw .app-home :is(.row,.lcard):hover{transform:translateY(-2px);box-shadow:0 18px 36px -18px var(--lx-glow)!important}
html.bw :is(.btn,.ichip,.schip,.zbtn,.jb-tab,.chip):hover{box-shadow:0 2px 8px -6px color-mix(in srgb,var(--accent,var(--text)) 12%,transparent)!important}
html.bw :is(.card,.b,.btn,.ichip,.schip,.zbtn,.jb-tab,.chip,.endcard,.tiers>.t):not(.jcard):not(table.t):active{animation:none!important;transform:translateY(0) scale(.99)}

/* Sales pitch only (/ /pricing /business /ai → .pitch-wrap): muted gold conic shimmer */
html.bw .pitch-wrap :is(.card,.card.fx,.p-sec .tile,.p-tier,.b,.next,.endcard,.sec-tiles .b):not(.p-shot){
  background-color:var(--panel)!important;
  background-image:linear-gradient(var(--panel),var(--panel)),var(--fr-pitch-grad)!important;
  background-origin:border-box!important;
  background-clip:padding-box,border-box!important;
  border:1px solid transparent!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--fr-gold) 22%,transparent)!important;
  animation:fr-ang-spin 10s linear infinite;
}
html.bw .pitch-wrap .p-ic,html.bw .pitch-wrap .p-grid .card .p-ic,html.bw .pitch-wrap .b .ic{
  background:var(--brass-soft)!important;
  color:var(--brass)!important;
  border:1px solid color-mix(in srgb,var(--brass-hi) 35%, transparent)!important;
  box-shadow:none!important;
}
html.bw .pitch-wrap .p-grid .card h3,html.bw .pitch-wrap .b h3,html.bw .pitch-wrap .p-sec .tile b,html.bw .pitch-wrap .pitch .card h3{color:var(--brass)}
html.bw .pitch-wrap .t .tag{background:var(--brass-soft);color:var(--brass);border:1px solid color-mix(in srgb,var(--brass-hi) 35%, transparent)}
html.bw .pitch-wrap .eyebrow .dot{background:var(--brass-hi);box-shadow:0 0 0 3px var(--brass-soft)}
html.bw .pitch-wrap :is(.card,.b,.p-sec .tile,.p-tier,.endcard):hover{
  transform:translateY(-2px);
  box-shadow:0 0 0 1px color-mix(in srgb,var(--fr-gold) 45%,transparent),0 10px 24px -16px var(--gold-glow)!important;
}

/* Job board cards: status stripe + border (--st), not conic/gold shimmer */
html.bw .jcard{
  background-color:var(--panel)!important;
  background-image:none!important;
  border:1px solid var(--line)!important;
  border-left:4px solid var(--st,var(--line))!important;
  border-radius:7px!important;
  box-shadow:var(--shadow)!important;
  animation:none!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
html.bw .jcard:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--st,#64748B) 55%,var(--line))!important;
  border-left-color:var(--st,var(--line))!important;
  box-shadow:var(--shadow),0 6px 16px -10px color-mix(in srgb,var(--st,#64748B) 35%,transparent)!important;
}
html.bw .jcard:active{
  animation:none!important;
  transform:translateY(0) scale(.99);
  box-shadow:var(--shadow)!important;
}
html.bw :is(.card,.b,.p-sec .tile,.p-tier,.btn,.ichip,.schip,.zbtn,.jb-tab,.chip,.endcard,.next,.jcard,.tiers>.t){
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
html.bw :focus-visible{outline:2px solid var(--focus)!important;outline-offset:2px}
html.bw .split:focus-within{box-shadow:0 0 0 2px var(--focus)}
@media (prefers-reduced-motion:reduce){
  html.bw .app-home :is(.row,.lcard),html.bw .app-home .ichip:hover,html.bw :is(.card.summary,.done .card.ok,.card.anat,.card.login,form#lf.card){animation:none!important}
  html.bw .pitch-wrap :is(.card,.p-sec .tile,.p-tier,.b,.next,.endcard){animation:none!important}
  html.bw :is(.card,.b,.p-tier,.btn,.ichip,.schip,.zbtn,.jb-tab,.chip,.endcard,.next,.jcard,.tiers>.t){
    transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease;
  }
  html.bw :is(.card,.b,.p-tier,.btn,.ichip,.endcard,.jcard,.tiers>.t):is(:hover,:active){transform:none;animation:none!important}
}

/* Job details modal: opaque, fits an iPhone SE (375x667) with internal scroll */
html.bw .jm-card,html.bw .ebk.jm-card,html.bw .ebk{
  background-color:var(--panel)!important;
}
@media (max-width:720px){
  html.bw .ebk-ov,html.bw .jm-ov{
    padding:calc(var(--banner-h,0px) + max(8px,env(safe-area-inset-top,0px))) 8px max(8px,env(safe-area-inset-bottom,0px));
    align-items:center;
    justify-content:center;
  }
  html.bw .ebk,html.bw .jm-card,html.bw .ebk.jm-card{
    width:100%!important;
    max-width:100%!important;
    height:min(calc(100dvh - var(--banner-h,0px) - max(16px,env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px))),calc(100svh - var(--banner-h,0px) - 16px),640px)!important;
    max-height:min(calc(100dvh - var(--banner-h,0px) - max(16px,env(safe-area-inset-top,0px) + env(safe-area-inset-bottom,0px))),calc(100svh - var(--banner-h,0px) - 16px),640px)!important;
    border-radius:5px!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  html.bw .jm-card .jm-body,html.bw .ebk-body,html.bw .jm-body{padding:8px 12px;gap:8px;font-size:15px}
  html.bw .ebk-head,html.bw .jm-card .ebk-head{padding:8px 12px;background:var(--panel)!important}
  html.bw .ebk-head h3,html.bw .jm-title{font-size:16px}
  html.bw .jm-meta{grid-template-columns:1fr;gap:6px;margin:6px 0}
}

/* Job board date vs Sort: date left, sort right, no overlap at 375px */
html.bw .jb-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;gap:8px;width:100%;max-width:100%}
html.bw .jb-toolbar .jb-date-l{flex:1 1 140px;min-width:0;max-width:calc(100% - 148px)}
html.bw .jb-toolbar .jb-date-l input{max-width:100%;min-width:0}
html.bw .jb-toolbar .jb-sort-l{flex:0 0 auto;margin-left:auto}
