:root{
  --bg:#07070a; --bg2:#0d0d12; --ink:#f3eee2; --soft:#bcb4a4; --mute:#847c6e;
  --gold:#c8a45c; --gold-hi:#f0d595; --gold-deep:#8a6d35; --lapis:#5d77e0;
  /* --mute lifted #847c6e→#968d7b (~4.8:1→~6:1) for legibility of small muted text */
  --line:rgba(201,167,99,.16); --line2:rgba(201,167,99,.34);
  --health:#74b6a2; --wealth:#d8b264; --stealth:#b86076; --mute:#968d7b; --soft:#bcb4a4;
  /* Semantic status triad — one source of truth for ok/warn/danger (was scattered hexes: #e6857f, #e0607a). */
  --ok:#74b6a2; --warn:#d8b264; --danger:#e0607a;
  --disp:"Playfair Display",Georgia,serif; --body:"Source Serif 4",Georgia,serif; --mono:"JetBrains Mono",ui-monospace,monospace;
}
*{box-sizing:border-box}
html{scrollbar-gutter:stable}
html,body{margin:0;min-height:100%}
body{background:radial-gradient(1200px 700px at 50% -12%,rgba(201,167,99,.13),transparent 60%),radial-gradient(900px 600px at 88% 8%,rgba(93,119,224,.07),transparent 58%),var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;line-height:1.55}
a{color:inherit;text-decoration:none}
.aurora{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(40vmax 40vmax at 12% 18%,rgba(201,167,99,.10),transparent 60%),radial-gradient(36vmax 36vmax at 85% 75%,rgba(93,119,224,.08),transparent 62%)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 24px;border-bottom:1px solid var(--line);position:sticky;top:0;backdrop-filter:blur(8px) saturate(125%);-webkit-backdrop-filter:blur(8px) saturate(125%);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));z-index:10}
.brand{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;font-family:var(--mono);font-weight:700;letter-spacing:.22em;color:var(--gold)}
.brandfull{display:none;font-family:var(--disp);font-style:italic;font-weight:500;font-size:1.02rem;letter-spacing:.02em;text-transform:none;color:var(--soft)}
.brandfull i{font-style:normal;padding:0 2px;color:var(--gold)}
@media(min-width:1280px){.brandfull{display:inline}}
/* 3D colorful account avatar (big initial) */
.avatar{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;flex:0 0 auto;font-family:var(--mono);font-weight:700;font-size:1.6rem;line-height:1;color:#fff;text-transform:uppercase;letter-spacing:0;text-decoration:none;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 2px rgba(0,0,0,.4);background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.78) 0%,rgba(255,255,255,0) 34%),radial-gradient(circle at 70% 82%,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 56%),conic-gradient(from 215deg,var(--gold-hi),var(--health),var(--lapis),var(--stealth),var(--wealth),var(--gold-hi));box-shadow:0 7px 16px -5px rgba(0,0,0,.6),0 2px 6px -1px rgba(201,167,99,.5),inset 0 2px 5px rgba(255,255,255,.45),inset 0 -6px 12px rgba(0,0,0,.4);transition:transform .15s ease,box-shadow .15s ease}
.avatar::before{content:"";position:absolute;top:4px;left:9px;right:9px;height:36%;border-radius:50%;background:linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,0));pointer-events:none}
.avatar:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 11px 22px -6px rgba(0,0,0,.68),0 4px 10px -2px rgba(201,167,99,.6),inset 0 2px 5px rgba(255,255,255,.5),inset 0 -6px 12px rgba(0,0,0,.42)}
/* ── Brand mark (astrolabe) + holo HWS — mirrors the marketing <Nav> ── */
.brandmarkwrap{display:inline-flex;transition:transform .5s ease}
.brand:hover .brandmarkwrap{transform:rotate(180deg)}
.brandmark{display:block}
.bm-orbit{transform-box:view-box;transform-origin:center;animation:hws-spin 64s linear infinite}
@keyframes hws-spin{to{transform:rotate(360deg)}}
@keyframes hws-shimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.brandhws{font-family:var(--mono);font-weight:700;font-size:.9rem;letter-spacing:.22em;text-transform:uppercase;background:linear-gradient(104deg,var(--gold-deep),var(--gold) 30%,var(--gold-hi) 50%,#fff7e3 55%,var(--gold) 75%,var(--gold-deep));background-size:230% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:hws-shimmer 8s ease-in-out infinite}
/* gilt hairline along the foot of the bar */
.nav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent);pointer-events:none}
/* ── Right cluster + link system ─────────────────────────────────────── */
.navcluster{display:flex;align-items:center;gap:14px}
.navlinks{display:flex;align-items:center;gap:18px}
.navmore{display:flex;align-items:center;gap:18px}
.navlink{position:relative;font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);padding:4px 0;white-space:nowrap;transition:color .3s}
.navlink:hover{color:var(--ink)}
.navlink::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--acc,var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .3s}
.navlink:hover::after,.navlink[aria-current]::after{transform:scaleX(1)}
.navlink[aria-current]{color:var(--acc,var(--gold))}
.navlink.health{--acc:var(--health)}.navlink.wealth{--acc:var(--wealth)}.navlink.stealth{--acc:var(--stealth)}
.linkbtn{background:none;border:0;cursor:pointer}
.navdiv{width:1px;height:20px;background:var(--line)}
/* gilt CTA with sheen sweep */
.btn.navcta{display:inline-flex;align-items:center;position:relative;overflow:hidden;border:1px solid rgba(138,109,53,.7)}
.btn.navcta>span{position:relative;z-index:1}
.btn.navcta::after{content:"";position:absolute;inset:0;transform:translateX(-130%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transition:transform .7s}
.btn.navcta:hover::after{transform:translateX(160%)}
/* hamburger button */
.navtoggle{position:relative;display:none;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:3px;background:none;color:var(--gold);cursor:pointer;transition:color .3s,border-color .3s}
.navtoggle:hover{color:var(--gold-hi);border-color:var(--line2)}
/* Unread-mail dot on the collapsed-nav hamburger (≤1023px the Mail link + its badge are hidden). */
.navtoggle-badge{position:absolute;top:-4px;right:-4px;width:9px;height:9px;border-radius:50%;background:var(--gold);border:2px solid #14110a}
.burger{position:relative;display:block;width:16px;height:12px}
.burger span{position:absolute;left:0;height:1px;width:16px;background:currentColor;transition:transform .3s,opacity .3s,top .3s}
.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:5px}.burger span:nth-child(3){top:10px}
[data-menu][data-open] .burger span:nth-child(1){top:5px;transform:rotate(45deg)}
[data-menu][data-open] .burger span:nth-child(2){opacity:0}
[data-menu][data-open] .burger span:nth-child(3){top:5px;transform:rotate(-45deg)}
/* mobile dropdown panel */
.appmenu{position:absolute;left:0;right:0;top:100%;padding:12px 20px 20px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.012)),rgba(7,7,10,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.appmenu[hidden]{display:none}
.appmenu::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--line2),transparent)}
.appmenu nav{display:flex;flex-direction:column}
.giltrule{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gold);opacity:.6;margin-bottom:4px}
.giltrule span{height:1px;width:64px;background:linear-gradient(90deg,transparent,currentColor)}
.giltrule span:last-child{background:linear-gradient(270deg,transparent,currentColor)}
.giltrule i{width:6px;height:6px;transform:rotate(45deg);border:1px solid currentColor}
.menulink{display:flex;align-items:center;gap:12px;width:100%;padding:14px 0;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;cursor:pointer;font-family:var(--mono);font-size:.82rem;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);transition:color .3s}
.menulink:hover{color:var(--ink)}
.menulink .dia{width:6px;height:6px;flex:0 0 auto;transform:rotate(45deg);border:1px solid var(--acc,var(--gold));background:transparent}
.menulink[aria-current]{color:var(--acc,var(--gold))}
.menulink[aria-current] .dia{background:var(--acc,var(--gold))}
.menulink.health{--acc:var(--health)}.menulink.wealth{--acc:var(--wealth)}.menulink.stealth{--acc:var(--stealth)}
.menulink em{margin-left:auto;font-style:normal;color:var(--mute);transition:transform .3s}
.menulink:hover em{transform:translateX(4px)}
.menucta{margin-top:18px;display:block!important;width:100%;text-align:center}
.mtop{margin-top:6px}
/* responsive tiers — full inline nav at lg, hamburger menu below */
@media(min-width:1024px){.navtoggle,.appmenu,.ctacompact,.avatar-mobile{display:none!important}}
@media(max-width:1023px){.navmore{display:none!important}.navtoggle{display:inline-flex!important}}
@media(max-width:639px){.ctacompact{display:none!important}}
.btn{background:linear-gradient(135deg,var(--gold-hi),var(--gold));color:#14110a;padding:10px 18px;border-radius:4px;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;border:0;cursor:pointer;box-shadow:0 12px 34px -14px rgba(201,167,99,.6);transition:transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn.lg{padding:14px 26px;font-size:.8rem}
.ghost,.ghost.lg{border:1px solid var(--line2);padding:14px 26px;border-radius:4px;font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:transparent;cursor:pointer}
.ghost:hover{border-color:var(--gold);color:var(--ink)}
/* When a button carries BOTH .btn and .ghost, drop .btn's gold drop-shadow so it reads as a true outline button. */
.btn.ghost{box-shadow:none}
button.link{background:none;border:0;color:var(--soft);font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
/* in-portal webmail (Gmail-like) */
.navbadge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:6px;border-radius:9px;background:var(--gold);color:#14110a;font-family:var(--mono);font-size:.58rem;font-weight:700;letter-spacing:0;vertical-align:1px}
.btn.sm{padding:8px 16px;font-size:.66rem}
.mailtabs{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0 14px;border-bottom:1px solid var(--line);padding-bottom:10px}
.mailtabs a{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);padding:7px 12px;border-radius:6px;border:1px solid transparent}
.mailtabs a:hover{color:var(--ink);background:rgba(201,167,99,.08)}
.mailtabs a.on{color:var(--gold-hi);border-color:var(--line2);background:rgba(201,167,99,.1)}
.mailsearch{margin-left:auto}
.mailsearch input{background:rgba(13,13,18,.6);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-family:var(--mono);font-size:.74rem;padding:8px 12px;min-width:170px}
.mailsearch input:focus{outline:none;border-color:var(--gold)}
.mailtoolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}
.mailtoolbar button{margin:0}
.mailtoolbar form{display:flex;gap:8px;flex-wrap:wrap}
/* split: list + reading/compose pane, all in one page */
.mailhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}
.mailtitle{font-family:var(--disp);font-weight:500;font-size:clamp(1.4rem,3vw,1.9rem);margin:.1em 0}
.gsearch{display:flex;align-items:center;gap:10px;background:rgba(13,13,18,.6);border:1px solid var(--line);border-radius:12px;padding:11px 16px;margin:0 0 16px}
.gsearch:focus-within{border-color:var(--gold)}
.gsearch .gsi{display:inline-flex;color:var(--mute)}
.gsearch .gsi svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.gsearch input{flex:1;background:none;border:0;color:var(--ink);font-family:var(--body);font-size:.95rem;outline:none;min-width:0}
.gmailgrid{display:grid;grid-template-columns:200px minmax(260px,360px) 1fr;gap:16px;align-items:start}
.mailrail{display:flex;flex-direction:column;min-width:0}
.composebtn{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;padding:13px 22px;border-radius:14px;background:linear-gradient(135deg,var(--gold-hi),var(--gold));color:#14110a;font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;box-shadow:0 8px 22px -8px rgba(201,167,99,.6);transition:transform .15s ease,box-shadow .15s ease}
.composebtn:hover{transform:translateY(-1px);box-shadow:0 12px 28px -8px rgba(201,167,99,.85)}
.composebtn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.raillinks{display:flex;flex-direction:column;gap:2px}
.raillink{display:flex;align-items:center;gap:13px;padding:10px 16px;border-radius:0 999px 999px 0;color:var(--soft);font-family:var(--mono);font-size:.73rem;letter-spacing:.07em;text-transform:uppercase;transition:background .12s,color .12s}
.raillink:hover{background:rgba(201,167,99,.08);color:var(--ink)}
.raillink.on{background:rgba(201,167,99,.15);color:var(--gold-hi);font-weight:700}
.raillink .ri{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.raillink .rl{flex:1;min-width:0}
.raillink .rc{font-family:var(--mono);font-size:.66rem;font-weight:700;color:var(--gold-hi);background:rgba(201,167,99,.18);border-radius:9px;padding:1px 7px}
.maillist{min-width:0;transition:opacity .12s ease}
.maillist.loading{opacity:.5;pointer-events:none}
.mailpane{min-width:0;border:1px solid var(--line);border-radius:12px;background:rgba(13,13,18,.45);padding:0 16px 16px;min-height:340px;position:sticky;top:88px;max-height:calc(100vh - 120px);overflow:auto}
.mailpane .panehint{color:var(--mute);font-family:var(--mono);font-size:.8rem;text-align:center;padding:60px 18px;line-height:1.6}
.mailpane .dashhead{padding-top:14px}
.mailpane .card{margin-top:12px}
.mailpane section{max-width:none!important;margin:0!important}
.suggestbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px}
#suggestBtn{border-color:var(--line2);color:var(--gold-hi)}
@media(max-width:900px){
  .gmailgrid{grid-template-columns:1fr}
  .mailrail{flex-direction:row;align-items:center;gap:8px;overflow-x:auto;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--line)}
  .composebtn{margin-bottom:0;flex:0 0 auto;padding:10px 16px}
  .raillinks{flex-direction:row;gap:4px}
  .raillink{border-radius:999px;padding:8px 13px;white-space:nowrap;flex:0 0 auto}
  .raillink .rl{flex:none}
  .mailpane{display:none;position:static;max-height:none}
  .gmailgrid.reading .maillist,.gmailgrid.reading .mailrail{display:none}
  .gmailgrid.reading .mailpane{display:block}
}
.inbox{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:rgba(13,13,18,.5)}
.inbox li{display:flex;align-items:stretch}
.inbox li+li{border-top:1px solid var(--line)}
.inbox li:hover{background:rgba(201,167,99,.06)}
.inbox .irow{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;grid-template-areas:"from date" "subj subj";gap:3px 10px;align-items:baseline;padding:11px 16px}
.inbox .ifrom{grid-area:from;font-family:var(--mono);font-size:.78rem;color:var(--soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inbox .isubj{grid-area:subj;color:var(--mute);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox .istar{color:var(--gold-hi)}
.inbox .idate{grid-area:date;font-family:var(--mono);font-size:.7rem;color:var(--mute);white-space:nowrap;justify-self:end}
.inbox li.unseen .irow{box-shadow:inset 3px 0 0 var(--gold)}
.inbox li.unseen .ifrom{color:var(--gold-hi);font-weight:700}
.inbox li.unseen .isubj{color:var(--ink);font-weight:600}
.inbox .irowact{display:flex;align-items:center;gap:2px;padding-right:8px;opacity:0;transition:opacity .12s}
.inbox li:hover .irowact{opacity:1}
.inbox .irowact button{background:none;border:0;color:var(--mute);font-size:15px;cursor:pointer;padding:4px 8px;border-radius:6px;line-height:1}
.inbox .irowact button:hover{color:var(--ink);background:rgba(201,167,99,.12)}
.attlist{list-style:none;margin:.2em 0 0;padding:0;font-family:var(--mono);font-size:.78rem}
.attlist li{padding:3px 0}
.attlist a{color:var(--gold-hi)}
.composeform label{display:block;margin:0 0 12px}
.composeform input,.composeform textarea{width:100%;background:rgba(13,13,18,.6);border:1px solid var(--line);border-radius:8px;color:var(--ink);font-family:var(--mono);font-size:.84rem;padding:10px 12px;margin-top:4px}
.composeform textarea{line-height:1.6;resize:vertical}
.composeform input:focus,.composeform textarea:focus{outline:none;border-color:var(--gold)}
.composeact{display:flex;gap:12px;align-items:center;margin-top:6px}
.mailbody{white-space:pre-wrap;word-break:break-word;font-family:var(--mono);font-size:.84rem;line-height:1.6;color:var(--soft);margin:0;max-width:100%;overflow-x:auto}
@media(max-width:560px){.inbox .irow{grid-template-columns:1fr auto;gap:4px 10px}.inbox .isubj{grid-column:1/-1;order:3}.inbox .irowact{opacity:1}.mailsearch{margin-left:0;width:100%}.mailsearch input{width:100%}}
.wrap{max-width:960px;margin:0 auto;padding:48px 24px 80px}
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.hero h1{font-family:var(--disp);font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.02;letter-spacing:-.02em;margin:.4em 0}
.holo{background:linear-gradient(104deg,var(--gold-deep),var(--gold) 30%,var(--gold-hi) 50%,#fff7e3 55%,var(--gold) 75%,var(--gold-deep));-webkit-background-clip:text;background-clip:text;color:transparent;font-style:italic;font-weight:500}
.lede{max-width:60ch;color:var(--soft);font-size:1.12rem}
.cta{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}
.fineprint,.small{font-size:.82rem;color:var(--mute)}
.card{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid var(--line);border-radius:16px;padding:34px;backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 80px -46px rgba(0,0,0,.8);max-width:560px;margin:0 auto}
.card h2{font-family:var(--disp);font-weight:500;font-size:1.9rem;margin:0 0 6px}
.muted{color:var(--mute)}
.error{color:var(--danger);font-family:var(--mono);font-size:.8rem;border-left:2px solid var(--danger);padding-left:10px}
/* Reusable status banner — .alert.ok/.warn/.danger. Replaces one-off inline-styled alert boxes. */
.alert{border-left:2px solid var(--acc,var(--gold));background:color-mix(in srgb,var(--acc,var(--gold)) 8%,transparent);border-radius:0 8px 8px 0;padding:11px 14px;margin:0 0 14px;font-size:.88rem;line-height:1.5;color:var(--soft)}
.alert.ok{--acc:var(--ok)}
.alert.warn{--acc:var(--warn)}
.alert.danger{--acc:var(--danger)}
.form{display:flex;flex-direction:column;gap:16px;margin-top:18px}
.form label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.form input[type=email],.form input[type=password],.form input[type=text]{background:#0b0b12;border:1px solid var(--line2);border-radius:6px;padding:12px 14px;color:var(--ink);font-family:var(--body);font-size:1rem}
.form input:focus{outline:none;border-color:var(--gold)}
.check{display:block!important;position:relative;padding-left:30px;text-transform:none!important;letter-spacing:0!important;font-family:var(--body)!important;font-size:.9rem!important;color:var(--soft)!important;line-height:1.55}
.check input[type=checkbox]{position:absolute;left:0;top:4px;margin:0}
.invoice{display:grid;gap:10px;margin:20px 0;font-family:var(--mono);font-size:.85rem}
.invoice>div{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:8px}
.invoice .k{color:var(--mute);text-transform:uppercase;letter-spacing:.14em;font-size:.66rem}
.invoice .v{color:var(--ink);text-align:right;word-break:break-word}
.mono{font-family:var(--mono);word-break:break-all}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:22px 0}
.tile{border:1px solid var(--line);border-radius:12px;padding:18px;background:rgba(255,255,255,.02)}
.tile h3{font-family:var(--disp);margin:0 0 4px}
.tile.health h3{color:var(--health)}.tile.wealth h3{color:var(--wealth)}.tile.stealth h3{color:var(--stealth)}
.soon{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.soon ul{color:var(--soft);padding-left:18px}
.prose p{color:var(--soft)}
.foot{border-top:1px solid var(--line);padding:26px 24px;max-width:960px;margin:0 auto;color:var(--mute)}
.disclaimer{font-size:.78rem;line-height:1.6;max-width:80ch}
.links{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;margin-top:10px}
.links a:hover{color:var(--gold)}
.chatcard{display:flex;flex-direction:column}
.chatlog{display:flex;flex-direction:column;gap:12px;margin:18px 0;max-height:52vh;overflow-y:auto;padding:6px 2px}
.bubble{max-width:84%;padding:12px 16px;border-radius:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.bubble.user{align-self:flex-end;background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#14110a;border-bottom-right-radius:4px}
.bubble.assistant{align-self:flex-start;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:4px}
.bubble.think{opacity:.6;font-style:italic}
.chatform{display:flex;gap:10px;margin-top:8px}
.chatform input{flex:1;background:#0b0b12;border:1px solid var(--line2);border-radius:8px;padding:12px 14px;color:var(--ink);font-family:var(--body);font-size:1rem}
.chatform input:focus{outline:none;border-color:var(--gold)}
a.tile{transition:transform .2s,border-color .3s}
a.tile:hover{transform:translateY(-3px);border-color:var(--line2)}
.form textarea{background:#0b0b12;border:1px solid var(--line2);border-radius:6px;padding:12px 14px;color:var(--ink);font-family:var(--body);font-size:1rem;resize:vertical}
.form textarea:focus{outline:none;border-color:var(--gold)}
.focusset{border:1px solid var(--line);border-radius:8px;padding:14px;display:flex;gap:18px;flex-wrap:wrap;margin:0}
.focusset legend{padding:0 6px;font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.chk{flex-direction:row!important;align-items:center;gap:8px!important;text-transform:none!important;letter-spacing:0!important;font-family:var(--body)!important;color:var(--ink)!important}
.sep{border:0;border-top:1px solid var(--line);margin:6px 0}
.planbody{white-space:pre-wrap;line-height:1.7;margin:16px 0;color:var(--soft)}
.planactions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.gen .dots{animation:hwsblink 1.2s infinite}
@keyframes hwsblink{0%,100%{opacity:.2}50%{opacity:1}}
/* ---- managed-life dashboard + matter detail ---- */
.dashhead{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.quick{display:flex;gap:10px;flex-wrap:wrap}
/* Canonical page title — replaces the inline `<h2 style="font-family:var(--disp);...">` that
   was pasted across ~11 member pages with 5 different clamp sizes. One source of truth now. */
.dash-title{font-family:var(--disp);font-weight:500;font-size:clamp(1.7rem,4vw,2.4rem);margin:.2em 0}
.dash-title.sm{font-size:clamp(1.4rem,3vw,1.9rem)}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:0 0 30px}
.glance>div{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.glance .num{display:block;font-family:var(--disp);font-size:1.5rem;color:var(--gold-hi)}
.glance .lbl{display:block;font-family:var(--mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:4px}
.pillarblock{margin:0 0 30px;padding-left:14px;border-left:2px solid var(--line)}
.pillarblock.health{border-color:color-mix(in srgb,var(--health) 60%,transparent)}
.pillarblock.wealth{border-color:color-mix(in srgb,var(--wealth) 60%,transparent)}
.pillarblock.stealth{border-color:color-mix(in srgb,var(--stealth) 60%,transparent)}
.pillarhead{display:flex;align-items:baseline;gap:12px;margin-bottom:12px}
.pillarhead h3{font-family:var(--disp);font-weight:500;font-size:1.4rem;margin:0}
.health .pillarhead h3{color:var(--health)}.wealth .pillarhead h3{color:var(--wealth)}.stealth .pillarhead h3{color:var(--stealth)}
.ptag{font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute)}
.mattergrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.mattercard{display:block;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--line);border-radius:14px;padding:18px;transition:transform .2s,border-color .3s}
.mattercard:hover{transform:translateY(-3px);border-color:var(--line2)}
.mtop{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.status{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:20px;border:1px solid var(--line2);color:var(--soft)}
.status.active{color:var(--gold-hi);border-color:color-mix(in srgb,var(--gold) 50%,transparent)}
.status.analyzed,.status.ready{color:var(--health);border-color:color-mix(in srgb,var(--health) 50%,transparent)}
.stage{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.mattercard h4{font-family:var(--disp);font-weight:500;font-size:1.2rem;margin:0 0 6px;color:var(--ink)}
.vsum{color:var(--soft);font-size:.9rem;margin:0 0 12px;line-height:1.5}
.mnext{border-top:1px solid var(--line);padding-top:10px;font-size:.84rem;color:var(--soft)}
.nlabel{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-right:6px}
.owner{color:var(--gold)}
.mfoot{display:block;margin-top:10px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.emptypillar{display:block;border:1px dashed var(--line2);border-radius:12px;padding:16px;text-align:center;color:var(--mute);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em}
.emptypillar:hover{color:var(--gold);border-color:var(--gold-deep)}
.back{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--soft);display:inline-block;margin-bottom:14px}
.back:hover{color:var(--gold)}
.matterhead{margin-bottom:18px}
.stagebar{display:flex;gap:6px;margin:0 0 22px}
.stp{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px}
.stp .dot{width:12px;height:12px;border-radius:50%;border:1px solid var(--line2);background:var(--bg2)}
.stp.done .dot{background:var(--gold);border-color:var(--gold)}
.stp.cur .dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--gold) 25%,transparent)}
.stp .sl{font-family:var(--mono);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);text-align:center}
.stp.done .sl{color:var(--soft)}
.ch{font-family:var(--disp);font-weight:500;font-size:1.2rem;margin:0 0 8px}
.nextbox{margin:12px 0;padding:12px 14px;border-left:2px solid var(--gold-deep);background:rgba(201,167,99,.05);border-radius:0 8px 8px 0;font-size:.9rem;color:var(--soft)}
.due{color:var(--stealth)}
.mactions{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}
.doclist{list-style:none;padding:0;margin:0}
.doclist li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.timeline{list-style:none;padding:0;margin:0}
.timeline li{display:flex;gap:14px;padding:0 0 16px;position:relative}
.timeline li:not(:last-child)::before{content:'';position:absolute;left:5px;top:14px;bottom:0;width:1px;background:var(--line)}
.tdot{flex-shrink:0;width:11px;height:11px;border-radius:50%;margin-top:4px;background:var(--gold);border:1px solid var(--gold)}
.tdot.you{background:var(--lapis);border-color:var(--lapis)}
.tdot.system{background:var(--mute);border-color:var(--mute)}
.tt{font-weight:600;color:var(--ink);font-size:.96rem}
.tactor{font-family:var(--mono);font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-left:6px}
.td{color:var(--soft);font-size:.88rem;margin-top:2px}
.tdate{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);margin-top:3px}
.atab{width:100%;border-collapse:collapse;font-size:.85rem;margin:8px 0 6px}
.atab th{text-align:left;font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);border-bottom:1px solid var(--line2);padding:8px 10px}
.atab td{padding:8px 10px;border-bottom:1px solid var(--line);color:var(--soft);vertical-align:middle}
.atab input{background:#0b0b12;border:1px solid var(--line2);border-radius:6px;padding:6px 8px;color:var(--ink);font-family:var(--body);width:180px;margin-right:6px}
.docitem{padding:10px 0;border-bottom:1px solid var(--line)}
.drow{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.drow a{color:var(--gold)}
/* Document "remove" — comfortable tap target + danger affordance on hover (was a 2px-padding inline button). */
.docdel{background:none;border:0;cursor:pointer;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--soft);opacity:.7;padding:6px 8px;border-radius:6px}
.docdel:hover{opacity:1;color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}
.danalysis{margin-top:8px}
.danalysis summary{cursor:pointer;font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.danalysis .planbody{margin-top:8px;font-size:.9rem}
.analysis-body{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.an-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:baseline}
.an-key{font-family:var(--mono);font-size:.54rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line2);border-radius:5px;padding:3px 6px;text-align:center;align-self:start;white-space:nowrap}
.an-val{color:var(--soft);font-size:.9rem;line-height:1.55}
.an-p{color:var(--soft);font-size:.9rem;line-height:1.55;margin:0}
@media(max-width:520px){.an-row{grid-template-columns:1fr;gap:4px}.an-key{justify-self:start}}
.upform{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}
.upform input[type=file]{flex:1;min-width:200px;color:var(--soft);font-family:var(--mono);font-size:.8rem}
.upform input[type=file]::file-selector-button{background:rgba(255,255,255,.05);border:1px solid var(--line2);border-radius:6px;color:var(--ink);padding:8px 12px;font-family:var(--mono);font-size:.72rem;cursor:pointer;margin-right:10px}

/* ── Matter detail: wide two-column, scannable layout ───────────────── */
.wrap.wide{max-width:1180px}
.matterhead{display:flex;justify-content:space-between;align-items:flex-end;gap:18px 28px;flex-wrap:wrap;margin-bottom:20px}
.mh-id{min-width:0}
.mh-title{font-family:var(--disp);font-weight:500;font-size:1.9rem;margin:.12em 0 .34em;line-height:1.1}
.mh-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.chip{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft);border:1px solid var(--line);border-radius:20px;padding:4px 11px;white-space:nowrap}
.chip b{color:var(--ink);font-weight:500}
.due-chip{color:var(--gold-hi);border-color:color-mix(in srgb,var(--gold) 50%,transparent)}
.mh-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ghost.sm{padding:8px 14px;font-size:.66rem}
.nextbox.big{margin:0 0 22px;padding:15px 18px;display:flex;flex-direction:column;gap:4px;font-size:1rem}
.nextbox .nlabel{font-family:var(--mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.nextbox .ntext{color:var(--ink);font-size:.95rem}
.nextbox .owner{color:var(--gold-hi)}
.nextbox .due{color:var(--soft)}
.matter-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:22px;align-items:start}
.m-main,.m-side{min-width:0}
.m-main>.card,.m-side>.card{max-width:none;margin:0 0 20px;padding:24px 26px}
.m-main>.card:last-child,.m-side>.card:last-child{margin-bottom:0}
.vsum{color:var(--soft);font-size:.95rem;line-height:1.6;margin:0}
.danalysis,.danalysis .planbody,.prose{overflow-wrap:anywhere;min-width:0}
.draftlist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.draftitem{padding:13px 16px;border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:10px;background:rgba(255,255,255,.02);transition:border-color .15s,background .15s}
.draftrow{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.dvnamerow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.cfver{font-family:var(--mono,'JetBrains Mono',monospace);font-size:.58rem;letter-spacing:.06em;color:var(--gold,#c8a45c);border:1px solid var(--line2,rgba(201,167,99,.34));border-radius:5px;padding:1px 7px;white-space:nowrap;flex:none}
.draftitem:hover{border-color:var(--line2);background:rgba(255,255,255,.045)}
.dvnamecol{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.dvname{font-family:var(--disp,Georgia,serif);font-size:1.02rem;color:var(--ink);line-height:1.3;overflow-wrap:anywhere;word-break:break-word}
.dvmeta{font-family:var(--mono,'JetBrains Mono',monospace);font-size:.62rem;letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}
.dvlinks{display:flex;gap:8px;flex-wrap:wrap}
.dvbtn{font-family:var(--mono,'JetBrains Mono',monospace);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);background:transparent;border:1px solid var(--line2);border-radius:6px;padding:7px 0;min-width:78px;text-align:center;text-decoration:none;transition:border-color .15s,color .15s,background .15s}
.dvbtn:hover{border-color:var(--gold);color:var(--ink);background:rgba(201,167,99,.10)}
.cf-title{color:inherit;text-decoration:none;cursor:pointer;overflow-wrap:anywhere;word-break:break-word}
.cf-title:hover{color:var(--gold,#c8a45c);text-decoration:underline}
.mlist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.mitem{border:1px solid var(--line);border-left:2px solid var(--gold);border-radius:10px;padding:13px 16px;background:rgba(255,255,255,.02);transition:border-color .15s,background .15s}
.mitem:hover{border-color:var(--line2);background:rgba(255,255,255,.045)}
.mitem-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.mtitle{font-family:var(--disp,Georgia,serif);font-size:1.05rem;color:var(--ink);text-decoration:none;min-width:0}
.mtitle:hover{color:var(--gold,#c8a45c);text-decoration:underline}
.mstage{font-family:var(--mono,'JetBrains Mono',monospace);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line2);border-radius:999px;padding:3px 11px;white-space:nowrap;flex:none}
.mnext{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-top:10px}
.mnext-label{font-family:var(--mono,'JetBrains Mono',monospace);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);flex:none}
.mnext-text{flex:1;min-width:120px;font-size:.88rem;color:var(--soft);line-height:1.5}
.mdue{margin-left:auto;font-family:var(--mono,'JetBrains Mono',monospace);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);border-radius:6px;padding:3px 10px;white-space:nowrap;flex:none}
.m-side{position:sticky;top:90px}
.tlcard{display:flex;flex-direction:column}
.tlscroll{max-height:62vh;overflow-y:auto;margin-top:6px;padding-right:8px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}
.tlscroll::-webkit-scrollbar{width:8px}
.tlscroll::-webkit-scrollbar-thumb{background:var(--line2);border-radius:8px}
@media(max-width:880px){
  .matter-grid{grid-template-columns:minmax(0,1fr)}
  .m-side{position:static}
  .tlscroll{max-height:none;overflow:visible;padding-right:0}
  .matterhead{align-items:flex-start}
  .mh-title{font-size:1.55rem}
}

/* ── Health pillar ──────────────────────────────────────────────────── */
.matterhead.health .eyebrow{color:var(--health)}
.matterhead.wealth .eyebrow{color:var(--wealth)}
.matterhead.stealth .eyebrow{color:var(--stealth)}
.wrap.health .mspark,.wrap.health .trendspark{color:var(--health)}
.wrap.wealth .mspark,.wrap.wealth .trendspark,.wrap.wealth .taskitem .tcheck{color:var(--wealth)}
.wrap.stealth .mspark,.wrap.stealth .trendspark,.wrap.stealth .taskitem .tcheck{color:var(--stealth)}
.wrap.wealth .cbar span{background:linear-gradient(90deg,var(--wealth),var(--gold))}
.wrap.stealth .cbar span{background:linear-gradient(90deg,var(--stealth),var(--gold))}
.pillarhead .phome{margin-left:auto}
.nav nav{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.nav nav::-webkit-scrollbar{display:none}
@media(max-width:640px){.nav{padding:0 16px}.nav nav{gap:16px}}
.hsafety{font-size:.78rem;line-height:1.5;color:var(--mute);border-left:2px solid color-mix(in srgb,var(--health) 55%,transparent);
  background:color-mix(in srgb,var(--health) 7%,transparent);padding:9px 13px;border-radius:0 8px 8px 0;margin:0 0 18px}
/* action steps / tasks */
.tasklist{list-style:none;padding:0;margin:0 0 6px}
.taskitem{display:flex;align-items:flex-start;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}
.taskitem .tcheck{flex-shrink:0;width:22px;height:22px;border-radius:6px;border:1px solid var(--line2);background:rgba(255,255,255,.03);
  color:var(--health);font-size:.8rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:1px}
.taskitem .tcheck:hover{border-color:var(--health)}
.taskitem.done .tcheck{background:color-mix(in srgb,var(--health) 28%,transparent);border-color:var(--health)}
.taskitem .tbody{flex:1;min-width:0}
.taskitem .ttitle{color:var(--ink);font-size:.94rem}
.taskitem.done .ttitle{color:var(--mute);text-decoration:line-through}
.taskitem .tdetail{color:var(--mute);font-size:.82rem;margin-top:2px}
.taskitem .tactor{font-family:var(--mono);font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border:1px solid var(--line);border-radius:10px;padding:1px 6px;vertical-align:middle}
.chip.cat{align-self:center;font-size:.54rem;color:var(--mute)}
.addtask{display:flex;gap:8px;margin-top:12px}
.addtask input{flex:1;min-width:0;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:9px 12px;font-family:var(--body);font-size:.88rem}
.addtask input:focus{outline:none;border-color:var(--health)}
/* number tiles + sparklines */
.tilegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:4px}
.metric-tile{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:rgba(255,255,255,.02)}
.metric-tile .mlabel{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.metric-tile .mval{font-family:var(--disp);font-size:1.5rem;color:var(--ink);line-height:1.1}
.metric-tile .mval small{font-size:.7rem;color:var(--soft);font-family:var(--mono)}
.metric-tile .mspark{color:var(--health);height:34px;margin:2px 0}
.metric-tile .mwhen{font-family:var(--mono);font-size:.54rem;letter-spacing:.08em;color:var(--mute)}
svg.spark{display:block;width:100%;height:34px}
/* profile completeness */
.completeness{display:flex;align-items:center;gap:10px;margin:6px 0 4px}
.cbar{flex:1;height:8px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line);overflow:hidden}
.cbar span{display:block;height:100%;background:linear-gradient(90deg,var(--health),var(--gold))}
.cpct{font-family:var(--mono);font-size:.7rem;color:var(--soft)}
/* plan preview clamp */
.clamp{position:relative;max-height:200px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent)}
.planactions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;align-items:center}
.planactions form{margin:0}
/* forms (profile + tracking) */
.pform{display:flex;flex-direction:column;gap:14px;margin-top:6px}
.pform label{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.pform input,.pform textarea,.pform select{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:8px;color:var(--ink);
  padding:10px 12px;font-family:var(--body);font-size:.92rem;text-transform:none;letter-spacing:0}
.pform textarea{resize:vertical;line-height:1.5}
.pform input:focus,.pform textarea:focus,.pform select:focus{outline:none;border-color:var(--health)}
.pgrid4,.pgrid2{display:grid;gap:14px;border:0;padding:0;margin:0}
.pgrid4{grid-template-columns:repeat(4,1fr)}
.pgrid2{grid-template-columns:repeat(2,1fr)}
.pform .full{grid-column:1/-1}
@media(max-width:620px){.pgrid4{grid-template-columns:repeat(2,1fr)}.pgrid2{grid-template-columns:1fr}}
/* tracking trend cards + table */
.trendhead{display:flex;align-items:center;gap:14px;margin-bottom:6px}
.trendhead .ch{margin:0}
.trendnow{font-family:var(--disp);font-size:1.25rem;color:var(--ink)}
.trendnow small{font-size:.66rem;color:var(--soft);font-family:var(--mono)}
.trendspark{color:var(--health);margin-left:auto;width:140px;flex-shrink:0}
.mtable{width:100%;border-collapse:collapse;font-size:.86rem}
.mtable td{padding:8px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.mtable td.mdate{font-family:var(--mono);font-size:.7rem;color:var(--mute);white-space:nowrap}
.mtable td.mv{color:var(--ink);white-space:nowrap}
.mtable td.mn{color:var(--mute)}
.mtable td.mx{text-align:right;width:1%}
.mtable td.mx .link{color:var(--mute);font-size:.8rem}
.mtable td.mx .link:hover{color:var(--stealth)}

/* ── Apex view: integrated priorities + live cross-pillar edges ───────── */
/* ⬢ Borg directive — the single most urgent action, elevated above everything. Calm gold by
   default; escalates to danger-rose when ≤14 days out (.urgent) with a stronger glow on a hard
   court/sale deadline (.hard). Whole band is one click to the matter. */
.directive{display:flex;align-items:center;gap:18px;text-decoration:none;margin:4px 0 24px;padding:17px 22px;border-radius:16px;
  background:linear-gradient(120deg,rgba(200,164,92,.16),rgba(200,164,92,.035));border:1px solid var(--gold);
  box-shadow:0 0 0 1px rgba(200,164,92,.10),0 10px 40px -20px rgba(200,164,92,.55);transition:transform .12s ease,box-shadow .12s ease}
.directive:hover{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(200,164,92,.18),0 14px 46px -18px rgba(200,164,92,.7)}
.directive.urgent{background:linear-gradient(120deg,rgba(184,96,118,.18),rgba(184,96,118,.045));border-color:var(--danger,#b86076)}
.directive.hard{box-shadow:0 0 0 1px rgba(184,96,118,.22),0 12px 46px -16px rgba(184,96,118,.6)}
.directive .dirmark{flex-shrink:0;font-size:1.7rem;line-height:1;color:var(--gold-hi);filter:drop-shadow(0 0 9px rgba(200,164,92,.5))}
.directive.urgent .dirmark{color:var(--danger,#d98aa0);filter:drop-shadow(0 0 9px rgba(184,96,118,.55))}
.dirbody{flex:1;min-width:0}
.direyebrow{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hi);margin-bottom:4px}
.directive.urgent .direyebrow{color:var(--danger,#d98aa0)}
.dirtitle{font-family:var(--disp);font-weight:500;font-size:1.16rem;line-height:1.2;margin:0 0 4px;color:var(--ink)}
.dirmeta{font-family:var(--mono);font-size:.64rem;letter-spacing:.03em;color:var(--mute)}
.dirdays{color:var(--gold-hi)}
.directive.urgent .dirdays{color:var(--danger,#d98aa0)}
.dircta{flex-shrink:0;white-space:nowrap;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--gold-hi);border:1px solid var(--gold);border-radius:999px;padding:7px 15px}
.directive.urgent .dircta{color:var(--danger,#d98aa0);border-color:var(--danger,#b86076)}
@media(max-width:640px){.directive{flex-wrap:wrap;gap:12px}.dircta{width:100%;text-align:center}}
/* Calm reassurance — "HWS is on it". Positive reinforcement: the collective is working for the
   member even while they rest. Deliberately quiet (soft teal, small, a slow pulse) — reassurance,
   never a celebration over a crisis. */
.hwson{display:flex;align-items:flex-start;gap:11px;margin:0 0 22px;padding:12px 18px;border-radius:14px;
  background:linear-gradient(120deg,rgba(116,182,162,.10),rgba(116,182,162,.02));border:1px solid rgba(116,182,162,.28)}
.hwsdot{flex-shrink:0;width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--health,#74b6a2);animation:hwspulse 2.6s ease-out infinite}
@keyframes hwspulse{0%{box-shadow:0 0 0 0 rgba(116,182,162,.5)}70%{box-shadow:0 0 0 7px rgba(116,182,162,0)}100%{box-shadow:0 0 0 0 rgba(116,182,162,0)}}
.hwstext{margin:0;font-size:.92rem;line-height:1.5;color:var(--ink)}
.hwstext b{color:var(--health,#74b6a2);font-weight:600}
@media(prefers-reduced-motion:reduce){.hwsdot{animation:none}}
.apexband{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0 8px}
.apexcol{background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid var(--line);border-radius:16px;padding:20px 22px;backdrop-filter:blur(14px)}
.apexh{font-family:var(--disp);font-weight:500;font-size:1.05rem;margin:0 0 12px;color:var(--ink)}
.apexsub{font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-left:6px}
.priolist,.edgelist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.prioitem{display:flex;gap:10px;align-items:flex-start}
.pdot{flex-shrink:0;width:9px;height:9px;border-radius:50%;margin-top:5px;background:var(--mute)}
.pdot.health{background:var(--health)}
.pdot.wealth{background:var(--wealth)}
.pdot.stealth{background:var(--stealth)}
.pbody{min-width:0}
.pbody a{color:var(--ink);font-size:.92rem}
.pbody a:hover{color:var(--gold)}
.pmeta{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin-top:2px}
.edgeitem{border:1px solid var(--line);border-left:2px solid var(--mute);border-radius:0 10px 10px 0;padding:11px 13px;background:rgba(255,255,255,.02)}
.edgeitem.sev-high{border-left-color:var(--stealth)}
.edgeitem.sev-med{border-left-color:var(--gold)}
.edgeitem.sev-low{border-left-color:var(--health)}
.edgehead{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:5px}
.edgetitle{color:var(--ink);font-size:.9rem;line-height:1.35}
.edgedetail{color:var(--mute);font-size:.8rem;line-height:1.45;margin:4px 0 9px}
.edgeitem form{margin:0}
@media(max-width:860px){.apexband{grid-template-columns:1fr}} /* stack priorities/connections on tablets (≤iPad portrait) + phones */

/* Self-learning: feedback votes on chat answers */
.vote{display:inline-flex;gap:3px;margin-left:8px;vertical-align:middle}
.vb{background:none;border:0;cursor:pointer;opacity:.4;font-size:1rem;line-height:1;padding:6px 8px;min-width:34px;border-radius:6px}
.vb:hover{opacity:.85;background:rgba(201,167,99,.1)}
.vb.on{opacity:1}

/* ---- Pricing tiers ---- */
.btn.full{display:block;width:100%;text-align:center;margin-top:auto;box-sizing:border-box}
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}
.tier{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));border:1px solid var(--line);border-radius:16px;padding:26px;backdrop-filter:blur(14px)}
.tier.rec{border-color:var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 30px 80px -40px rgba(201,167,99,.45)}
.tier-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--gold-hi),var(--gold));color:#14110a;font-family:var(--mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;padding:4px 12px;border-radius:20px;white-space:nowrap}
.tier-name{font-family:var(--disp);font-weight:600;font-size:1.55rem;margin:.2em 0 .1em}
.tier-tag{color:var(--soft);font-size:.95rem;margin:0 0 14px;min-height:2.6em}
.tier-price{font-family:var(--mono);color:var(--ink);font-size:1.05rem;margin-bottom:16px}
.tier-price b{font-size:1.7rem;color:var(--gold-hi)}
.tier-term{color:var(--mute);font-size:.8rem}
.tier-feats{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-direction:column;gap:10px}
.tier-feats li{position:relative;padding-left:22px;color:var(--soft);font-size:.92rem;line-height:1.4}
.tier-feats li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--gold-hi),var(--gold))}
@media(max-width:980px){.tiers{grid-template-columns:1fr}} /* 1-col on tablets (≤iPad portrait) + phones; 3-col only on real desktops */

/* ---- Tier picker on /join ---- */
.planpick{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.planpick .planopt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px 12px;border:1px solid var(--line2);border-radius:10px;padding:12px 14px;cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--body);text-align:left}
.planpick .planopt:has(input:checked){border-color:var(--gold);background:rgba(201,167,99,.06)}
.planpick .planopt input{accent-color:var(--gold);grid-row:span 2;justify-self:center}
.po-name{font-family:var(--disp);font-size:1.1rem;color:var(--ink)}
.po-rec{font-family:var(--mono);font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:#14110a;background:linear-gradient(135deg,var(--gold-hi),var(--gold));padding:2px 7px;border-radius:12px;vertical-align:middle}
.po-price{font-family:var(--mono);color:var(--gold-hi);text-align:right;white-space:nowrap}
.po-term{color:var(--mute);font-size:.75rem}
.po-tag{grid-column:2/4;color:var(--soft);font-size:.85rem}

/* ---- Disclaimer / checklist boxes + select ---- */
.discbox{border:1px solid var(--line);border-radius:8px;padding:12px 14px;margin:6px 0;background:rgba(255,255,255,.02)}
.discbox summary{cursor:pointer;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--gold);text-transform:uppercase}
.discpre{white-space:pre-wrap;font-family:var(--mono);font-size:.74rem;line-height:1.5;color:var(--soft);margin:8px 0 0;max-height:260px;overflow:auto}
.sel{background:#0b0b12;border:1px solid var(--line2);border-radius:6px;padding:10px 12px;color:var(--ink);font-family:var(--body);font-size:.95rem}
.sel:focus{outline:none;border-color:var(--gold)}

/* ── Mobile / tablet hardening (added 2026-06-25) ─────────────────────── */
/* Wide data tables (admin members/matters/payments, health/wealth tracking)
   scroll horizontally within their card instead of overflowing the page.
   Unconditional: a wide table overflows at ANY viewport below its content
   width (notably iPad portrait 768px), so this must not be breakpoint-gated.
   width:100% (set above) keeps the desktop appearance unchanged. */
.atab,.mtable{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
/* Tighten generous desktop padding so content breathes on small phones. */
@media(max-width:600px){
  .wrap{padding:32px 16px 64px}
  .card{padding:20px}
  .m-main>.card,.m-side>.card{padding:18px 16px}
  .foot{padding:22px 16px}
}
/* Mobile reading legibility: running text ≥16px, comfortable line-height,
   and floor the smallest all-caps mono micro-labels so nothing reads sub-~10px. */
@media(max-width:640px){
  .vsum,.bubble,.planbody,.prose p,.mnext-text,.nextbox .ntext,.tier-tag,.lede,.disclaimer{font-size:1rem;line-height:1.6}
  .td,.taskitem .ttitle,.taskitem .tdetail,.tier-feats li,.mtitle,.dvname,.cf-title,.small,.fineprint{font-size:.97rem}
  .glance .lbl,.metric-tile .mlabel,.status,.mstage,.tactor,.tdate,.chip,.ptag,.stage,.nlabel,.mnext-label,.cfver,.dvmeta{font-size:.64rem}
  .eyebrow{font-size:.74rem}
}

/* ---- Foreclosure Pack: homeowner Journey (the simple, 16-yr-old-friendly face) ---- */
.fcjourney{margin:18px 0;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:var(--bg2)}
.fcjourney.red{border-color:color-mix(in srgb,var(--danger) 50%,transparent)}
.fcjourney.yellow{border-color:rgba(216,178,100,.45)}
.fcjourney.green{border-color:rgba(116,182,162,.4)}
.fcj-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.fcj-light{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--soft)}
.fcdot{width:10px;height:10px;border-radius:50%}
.light-red .fcdot{background:var(--danger);box-shadow:0 0 10px var(--danger)}
.light-yellow .fcdot{background:var(--wealth);box-shadow:0 0 10px var(--wealth)}
.light-green .fcdot{background:var(--health);box-shadow:0 0 10px var(--health)}
.fcj-count{text-align:right;line-height:1.12}
.fcnum{font-family:var(--disp);font-size:2.5rem;color:var(--gold-hi);font-weight:600}
.fclabel{display:block;font-size:.82rem;color:var(--soft)}
.fcdate{display:block;font-family:var(--mono);font-size:.68rem;color:var(--mute);margin-top:3px;letter-spacing:.04em}
.fcj-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 4px}
.fcj-card{padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.012)}
.fcj-k{display:block;font-family:var(--mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);margin-bottom:6px}
.fcj-card p{margin:0;font-size:.92rem;color:var(--ink);line-height:1.5}
.fcj-find,.fcj-dead{margin-top:18px}
.fcfindlist,.fcdeadlist{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.fcfind{display:flex;gap:11px;align-items:flex-start;padding:11px 13px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.01)}
.fcfind.s-strong{border-left:3px solid var(--health)}
.fcfind.s-possible{border-left:3px solid var(--wealth)}
.fcfind.s-review{border-left:3px solid var(--mute)}
.fcbadge{font-family:var(--mono);font-size:.58rem;text-transform:uppercase;letter-spacing:.1em;color:var(--soft);border:1px solid var(--line2);border-radius:20px;padding:2px 9px;white-space:nowrap;margin-top:2px}
.fcfbody{flex:1}
.fcplain{color:var(--ink);font-size:.93rem;line-height:1.45}
.fctech{margin-top:5px}
.fctech summary{cursor:pointer;font-family:var(--mono);font-size:.62rem;color:var(--mute);text-transform:uppercase;letter-spacing:.1em}
.fcdead{display:flex;gap:12px;align-items:baseline;padding:9px 13px;border:1px solid var(--line);border-radius:9px}
.fcdead.hard{border-color:var(--line2);background:rgba(201,167,99,.05)}
.fcdead.u-urgent,.fcdead.u-past{border-left:3px solid var(--danger)}
.fcdead.u-soon{border-left:3px solid var(--wealth)}
.fcdue{font-family:var(--mono);font-size:.8rem;color:var(--gold-hi);min-width:98px}
.fcdl{color:var(--soft);font-size:.9rem}
.fcj-rescan{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.fcj-more{margin-top:18px}
.fcj-card.more{background:rgba(255,255,255,.018)}
.fcj-card.more.shield{border-left:3px solid var(--wealth)}
.fcj-card.more.offense{border-left:3px solid var(--health)}
.fcj-card.more.safety{border-left:3px solid var(--gold)}
.fcj-card.more.postsale{border-left:3px solid var(--danger)}
.fcj-card.more.pressure{border-left:3px solid var(--lapis)}
.fcmini{margin:8px 0 0;padding-left:18px;color:var(--soft);font-size:.86rem;line-height:1.45}
.fcmini li{margin:.2em 0}
@media(max-width:640px){.fcj-cards{grid-template-columns:1fr}.fcj-count{text-align:left}.fcnum{font-size:2.1rem}}

/* ── Case Map (case-wiki P3) — derived from matters.wiki_json, on-brand orrery ── */
.casemap{margin:18px 0;padding:20px 22px;border:1px solid var(--line);border-radius:14px;
  background:radial-gradient(120% 90% at 50% 0,rgba(201,167,99,.05),transparent 60%),var(--bg2)}
.cw-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cw-title{font-family:var(--disp);font-size:1.32rem;margin:.1em 0 0;color:var(--ink);line-height:1.2}
.cw-status{font-family:var(--mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-hi);border:1px solid var(--line2);border-radius:20px;padding:5px 12px;white-space:nowrap}
.cw-orrery{margin:6px 0 14px}
.cw-svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto;overflow:visible}
.cw-edge{stroke:var(--line2);stroke-width:1}
.cw-core circle{fill:var(--gold-hi);stroke:var(--gold-deep);stroke-width:1.5}
.cw-core text{font-family:var(--disp);font-size:15px;fill:var(--ink)}
.cw-node circle{stroke:var(--bg);stroke-width:1.5}
.cw-node text{font-family:var(--mono);font-size:11px;letter-spacing:.02em;fill:var(--soft)}
.cw-node.party circle{fill:var(--lapis)}
.cw-node.deadline circle{fill:var(--wealth)}
.cw-node.deadline text{fill:var(--gold-hi)}
.cw-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.cw-card{padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.012)}
.cw-card.facts{margin:12px 0}
.cw-card.next{border-left:3px solid var(--gold)}
.cw-card.open{border-left:3px solid var(--lapis)}
.cw-card.dates{border-left:3px solid var(--wealth)}
.cw-k{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.cw-card p{margin:0;font-size:.92rem;color:var(--ink);line-height:1.5}
.cw-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}
.cw-chips li{font-size:.84rem;color:var(--ink);border:1px solid var(--line);border-radius:20px;padding:4px 11px;background:rgba(93,119,224,.07)}
.cw-dead{list-style:none;margin:0;padding:0}
.cw-dead li{display:flex;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line)}
.cw-dead li:last-child{border-bottom:0}
.cw-due{font-family:var(--mono);font-size:.78rem;color:var(--gold-hi);white-space:nowrap;min-width:92px}
.cw-what{color:var(--ink);font-size:.9rem;line-height:1.4}
.cw-facts{list-style:none;margin:0;padding:0}
.cw-facts li{padding:6px 0 6px 16px;position:relative;color:var(--ink);font-size:.9rem;line-height:1.5;border-bottom:1px solid var(--line)}
.cw-facts li:last-child{border-bottom:0}
.cw-facts li:before{content:"◆";position:absolute;left:0;color:var(--gold);font-size:.6rem;top:.7em}
.cw-open{margin:4px 0 10px;padding-left:18px;color:var(--soft);font-size:.88rem;line-height:1.5}
.cw-src{display:inline-block;font-family:var(--mono);font-size:.6rem;letter-spacing:.04em;color:var(--mute);
  border:1px solid var(--line);border-radius:4px;padding:1px 6px;margin-left:8px;vertical-align:1px;white-space:nowrap}
.cw-foot{margin:14px 0 0;border-top:1px solid var(--line);padding-top:10px}
@media(max-width:640px){.cw-cards{grid-template-columns:1fr}.cw-svg{max-width:100%}.cw-node text{font-size:13px}.cw-core text{font-size:16px}}

/* ── Full-text search (search.html) — lifted out of an inline <style> fork; retargeted to system tokens ── */
.searchform{display:flex;gap:8px;margin:6px 0 14px}
.searchbox{flex:1;padding:11px 14px;border-radius:10px;border:1px solid var(--line2);background:#0b0b12;color:var(--ink);font-family:var(--body);font-size:1rem}
.searchbox:focus{outline:none;border-color:var(--gold)}
.fchip{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);background:transparent;border:1px solid var(--line2);border-radius:999px;padding:5px 13px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.fchip:hover{background:rgba(201,167,99,.1)}
.fchip.on{background:rgba(201,167,99,.2);border-color:var(--gold);color:var(--gold-hi)}
.rcard{display:block;color:inherit;cursor:pointer;border:1px solid var(--line);border-radius:11px;padding:13px 18px;margin:9px 0;background:rgba(255,255,255,.03);transition:border-color .15s,background .15s;-webkit-user-select:text;user-select:text}
.rcard:hover{border-color:var(--line2);background:rgba(255,255,255,.06)}
.rhead{display:flex;gap:10px;align-items:center}
.rbadge{font-family:var(--mono);font-size:.55rem;letter-spacing:.05em;text-transform:uppercase;padding:2px 7px;border-radius:6px;border:1px solid var(--line2);color:var(--soft);white-space:nowrap;flex:none}
.rtitle{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rcard:hover .rtitle{color:var(--gold)}
.rsnip{margin-top:8px;line-height:1.65;font-size:.92rem;color:var(--soft);cursor:text;overflow-wrap:anywhere}
.rsnip mark{background:color-mix(in srgb,var(--gold) 30%,transparent);color:var(--ink);padding:0 2px;border-radius:3px}

/* --- A11y: a visible gilded focus ring on every interactive element (keyboard users could not
   previously see where they were on the dark theme; inputs had it, links/buttons/cards did not). --- */
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible,
.btn:focus-visible,.ghost:focus-visible,.navlink:focus-visible,.menulink:focus-visible,
.mattercard:focus-visible,.dvbtn:focus-visible,.avatar:focus-visible{
  outline:2px solid var(--gold-hi);outline-offset:2px;border-radius:6px}

/* --- Progressive disclosure on the foreclosure matter page: "More ways…" and the Case map are
   secondary/rich blocks, collapsed by default so the primary journey stays clean & scannable. --- */
details.fcj-more,details.casemap{margin:18px 0 0}
details.fcj-more>summary,details.casemap>summary{cursor:pointer;list-style:none}
details.fcj-more>summary::-webkit-details-marker,details.casemap>summary::-webkit-details-marker{display:none}
.fcj-more-summary{font-family:var(--disp);font-size:1.15rem;color:var(--gold);padding:4px 0}
details.fcj-more>summary::before,details.casemap>summary::before{
  content:"▸";color:var(--gold);margin-right:8px;display:inline-block;transition:transform .15s ease}
details.fcj-more[open]>summary::before,details.casemap[open]>summary::before{transform:rotate(90deg)}
details.casemap>summary{align-items:center}
