/* ═══════════════════════════════════════════════════════════════
   SCOUT — design system
   Refs: Finsera command center (light, aurora, giant stats, red accent)
         Ledgerix (B&W editorial, huge centered figure, dense thin bars)
         Highland huts (image-first card, glass chips, spec row)
         SUPERMOON (avant-garde editorial: huge display, hairlines, rails)
   Type: Satoshi 300/400/500/700. One red accent. Lime for AI only.
   ═══════════════════════════════════════════════════════════════ */

:root{
  --canvas:#F2F1EC;
  --card:#FFFFFF;
  --ink:#101010;
  --ink2:#6F6D66;
  --ink3:#ABA9A1;
  --hair:#E4E2DA;
  --hair2:#EDEBE4;
  --red:#FF4B2E;
  --red-deep:#C41E2A;
  --orange:#FFA02E;
  --green:#4FCB3F;
  --green-deep:#2E9E23;
  --lime:#CDF74A;
  --dark:#161616;
  --glass:rgba(255,255,255,.72);
  --r-sm:12px; --r:18px; --r-lg:24px; --r-xl:32px; --r-pill:999px;
  --sh-xs:0 1px 2px rgba(16,16,16,.04);
  --sh-sm:0 2px 10px rgba(16,16,16,.05);
  --sh-md:0 14px 44px rgba(16,16,16,.09);
  --sh-lg:0 28px 90px rgba(16,16,16,.16);
  --font:'Satoshi',-apple-system,'Helvetica Neue',sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --d:.22s;
  --gutter:clamp(28px,4vw,72px);
  --maxw:1560px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{height:100%}
body{
  background:var(--canvas);color:var(--ink);
  font-family:var(--font);font-size:14px;line-height:1.5;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
button{font-family:inherit;font-size:inherit;border:none;background:none;color:inherit;cursor:pointer}
input,textarea,select{font-family:inherit;color:var(--ink)}
a{color:inherit;text-decoration:none;cursor:pointer}
img,svg{display:block;max-width:100%}
::selection{background:var(--lime);color:var(--ink)}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}
.ic{display:inline-block;flex-shrink:0;vertical-align:middle}

/* ————— aurora (Finsera header wash) ————— */
.aurora{position:fixed;top:-40px;left:0;right:0;height:230px;pointer-events:none;z-index:0;opacity:.85;filter:blur(58px) saturate(1.15);mask-image:linear-gradient(to bottom,#000 30%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 30%,transparent 100%)}
.aurora i{position:absolute;top:0;height:120px;border-radius:50%;animation:aur 16s var(--ease) infinite alternate}
.aurora i:nth-child(1){left:6%;width:26%;background:#FFB3A0;animation-delay:0s}
.aurora i:nth-child(2){left:26%;width:24%;background:#FFE29E;animation-delay:-3s}
.aurora i:nth-child(3){left:44%;width:24%;background:#C4F0A8;animation-delay:-6s}
.aurora i:nth-child(4){left:62%;width:22%;background:#A8D8F0;animation-delay:-9s}
.aurora i:nth-child(5){left:80%;width:20%;background:#D9C2F5;animation-delay:-12s}
@keyframes aur{from{transform:translateX(-3%) scaleY(1)}to{transform:translateX(3%) scaleY(1.25)}}
@media (prefers-reduced-motion:reduce){.aurora i{animation:none}}

/* ————— screens ————— */
#app{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column}
.screen{display:none;flex:1;flex-direction:column;min-height:100dvh}
.screen.on{display:flex}

/* ————— shared atoms ————— */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--r-pill);font-size:13.5px;font-weight:500;letter-spacing:.01em;transition:transform var(--d) var(--ease),box-shadow var(--d) var(--ease),background var(--d);white-space:nowrap}
.pill:hover{transform:translateY(-1px)}
.pill:active{transform:scale(.97)}
.pill-dark{background:var(--dark);color:#fff}
.pill-dark:hover{box-shadow:0 8px 24px rgba(16,16,16,.25)}
.pill-red{background:var(--red);color:#fff}
.pill-red:hover{box-shadow:0 10px 28px rgba(255,75,46,.4)}
.pill-ghost{border:1px solid var(--hair);background:transparent;color:var(--ink)}
.pill-ghost:hover{border-color:var(--ink)}
.pill-white{background:var(--card);color:var(--ink);box-shadow:var(--sh-xs)}
.pill-lg{padding:16px 34px;font-size:15px}
.pill:disabled{opacity:.35;cursor:not-allowed;transform:none;box-shadow:none}
.icbtn{position:relative;width:38px;height:38px;border-radius:50%;background:var(--card);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--sh-xs);transition:transform var(--d) var(--ease),box-shadow var(--d);color:var(--ink);flex-shrink:0}
.icbtn:hover{transform:translateY(-1px);box-shadow:var(--sh-sm)}
.icbtn:active{transform:scale(.92)}
.icbtn .reddot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--red);border:1.5px solid var(--card)}
.eyebrow{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
.hairline{border:none;border-top:1px solid var(--hair);width:100%}
.up{color:var(--green-deep)}
.tri{display:inline-block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:7px solid var(--green);vertical-align:middle;margin-left:2px}
.tri.down{transform:rotate(180deg);border-bottom-color:var(--red)}

/* ————— topbar (Finsera) ————— */
.topbar{display:flex;align-items:center;gap:24px;padding:18px var(--gutter) 10px;max-width:var(--maxw);margin:0 auto;width:100%}
.brand{display:flex;align-items:center;gap:10px}
.brand-heart{width:26px;height:26px;display:inline-block}
.brand-heart svg{width:100%;height:100%}
.brand-name{font-size:16px;font-weight:700;letter-spacing:-.01em}
.nav-center{display:flex;align-items:center;gap:6px;margin:0 auto;background:rgba(255,255,255,.4);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:5px;border-radius:var(--r-pill)}
.nav-it{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:var(--r-pill);color:var(--ink2);font-size:13px;font-weight:500;transition:all var(--d) var(--ease)}
.nav-it:hover{color:var(--ink)}
.nav-it .lab{display:inline}
.nav-it.on{background:var(--card);color:var(--ink);box-shadow:var(--sh-sm)}
.top-right{display:flex;align-items:center;gap:10px}
.me{display:flex;align-items:center;gap:10px;padding:4px;border-radius:var(--r-pill);transition:background var(--d)}
.me:hover{background:rgba(255,255,255,.5)}
.me-av{width:36px;height:36px;border-radius:50%;background:var(--dark);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.me-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left}
.me-txt b{font-size:13px;font-weight:700}
.me-txt i{font-style:normal;font-size:11px;color:var(--ink2)}

/* ————— breadcrumb row ————— */
.crumbrow{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:26px var(--gutter) 0;max-width:var(--maxw);margin:0 auto;width:100%}
.crumbs{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink2)}
.crumbs em{font-style:normal;color:var(--ink3)}
.crumb-actions{display:flex;align-items:center;gap:10px}
.feed-count{font-size:11.5px;font-weight:500;letter-spacing:.02em;color:var(--ink3);margin-right:6px;font-variant-numeric:tabular-nums}
.live-chip i{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse 1.8s infinite}
.live-chip.demo i{background:var(--orange)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}

/* ————— stage / views ————— */
.stage{flex:1;width:100%}
.view{display:none;max-width:var(--maxw);margin:0 auto;width:100%;padding:0 var(--gutter) 140px}
.view.on{display:block;animation:viewin .45s var(--ease)}
@keyframes viewin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view.on{animation:none}}

/* ————— display titles (Finsera H1 / SUPERMOON) ————— */
.h-display{font-size:clamp(40px,4.6vw,64px);font-weight:500;letter-spacing:-.035em;line-height:1.02;margin:14px 0 30px}
.h-display .lt{display:inline-block}
.h-mega{font-size:clamp(56px,7vw,104px);font-weight:400;letter-spacing:-.04em;line-height:.98}

/* ————— dashboard cards (Finsera) ————— */
.dash{display:grid;grid-template-columns:1.9fr 1fr;gap:20px;margin-bottom:20px}
.dash2{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:20px;margin-bottom:64px}
@media(max-width:1100px){.dash,.dash2{grid-template-columns:1fr}}
.card{background:var(--card);border-radius:var(--r-lg);padding:26px 28px;box-shadow:var(--sh-xs);position:relative}
.card-h{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:6px}
.card-h .t{font-size:15px;font-weight:700;letter-spacing:-.01em}
.card-h .s{font-size:12px;color:var(--ink2);margin-top:3px}
.card-h .tools{display:flex;gap:8px}
.card-h .tools .icbtn{width:30px;height:30px;box-shadow:none;border:1px solid var(--hair2)}
.stat-huge{font-size:clamp(46px,3.6vw,64px);font-weight:500;letter-spacing:-.04em;line-height:1;display:flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums}
.stat-huge sup{font-size:.38em;font-weight:500;letter-spacing:0;transform:translateY(-.2em)}
.stat-big{font-size:clamp(30px,2.2vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--ink2)}
.legend b{display:inline-flex;align-items:center;gap:6px;font-weight:500}
.legend b::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--dot,#111)}
.lastupd{font-size:11.5px;color:var(--ink3);line-height:1.5}
.chart-wrap{position:relative;margin-top:18px}
.chart-tip{position:absolute;background:var(--card);border-radius:14px;box-shadow:var(--sh-md);padding:10px 14px;font-size:11.5px;color:var(--ink2);pointer-events:none;z-index:5;white-space:nowrap}
.chart-tip b{display:block;font-size:15px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.chart-tip .pos{color:var(--green-deep);font-weight:700}

/* insight card (Finsera right) */
.insight-nav{display:flex;gap:8px}
.insight-line{font-size:clamp(19px,1.5vw,24px);font-weight:400;letter-spacing:-.02em;line-height:1.3;color:var(--ink2);margin:10px 0 4px;min-height:3.9em}
.insight-line b{color:var(--ink);font-weight:700}
.insight-stats{display:flex;justify-content:space-between;gap:16px;margin-top:16px}
.insight-stats .l{font-size:11.5px;color:var(--ink2);margin-top:4px}

/* ————— AI assistant panel (Finsera floating glass) ————— */
.ai-panel{background:var(--glass);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:22px 22px 18px;position:relative;overflow:hidden}
.ai-panel::before{content:'';position:absolute;top:-46px;left:-10%;right:-10%;height:110px;background:linear-gradient(90deg,#FFB3A0,#FFE29E,#C4F0A8,#A8D8F0,#D9C2F5);filter:blur(38px);opacity:.55;pointer-events:none}
.ai-panel .hd{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.ai-panel .hd .t{font-size:16px;font-weight:700;letter-spacing:-.01em}
.ai-sugg{position:relative;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.sugg{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;background:rgba(255,255,255,.85);border:1px solid rgba(16,16,16,.05);border-radius:var(--r-pill);font-size:12.5px;font-weight:500;color:var(--ink);transition:all var(--d) var(--ease)}
.sugg:hover{transform:translateY(-1px);box-shadow:var(--sh-sm)}
.sugg::after{content:'+';color:var(--ink3);font-weight:400}

/* dark ask bar (both refs) */
.ai-bar{display:flex;align-items:center;gap:12px;background:var(--dark);border-radius:var(--r-pill);padding:8px 14px 8px 8px;box-shadow:var(--sh-md)}
.ai-bar input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:14px;min-width:0}
.ai-bar input::placeholder{color:rgba(255,255,255,.45)}
.ai-spark{position:relative;width:38px;height:38px;border-radius:50%;background:var(--lime);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--d) var(--ease);overflow:hidden;isolation:isolate}
.ai-spark::before{content:'';position:absolute;inset:-40%;background:conic-gradient(from var(--ang,0deg),#CDF74A,#9BF06B,#EAFC8F,#CDF74A);z-index:-1;animation:spin 3.2s linear infinite}
@property --ang{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes spin{to{--ang:360deg}}
@media (prefers-reduced-motion:reduce){.ai-spark::before{animation:none}}
.ai-spark:hover{transform:scale(1.08)}
.ai-spark:active{transform:scale(.94)}
.ai-bar-ic{color:rgba(255,255,255,.5);display:inline-flex;transition:color var(--d)}
.as-btn:hover{color:#fff}

/* floating dock */
.ai-dock{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);z-index:80;width:min(620px,calc(100vw - 48px));display:flex;flex-direction:column;gap:10px;align-items:center}
.ai-dock .ai-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.ai-dock .ai-chips .sugg{background:rgba(22,22,22,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;border-color:rgba(255,255,255,.08)}
.ai-dock .ai-chips .sugg::after{color:rgba(255,255,255,.4)}
.ai-dock .ai-bar{width:100%}
.ai-dock.hidden{display:none}

/* ————— Ledgerix section (B&W editorial) ————— */
.ledger{background:var(--card);border-radius:var(--r-xl);padding:56px clamp(28px,4vw,72px) 44px;margin:64px 0;box-shadow:var(--sh-xs)}
.ledger .eyebrow{text-align:left;display:block;margin-bottom:18px}
.ledger-fig{font-size:clamp(54px,6.5vw,100px);font-weight:500;letter-spacing:-.045em;line-height:1;text-align:left;font-variant-numeric:tabular-nums}
.ledger-sub{text-align:left;font-size:12px;color:var(--ink2);margin-top:10px}
.ledger-ctl{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 0 8px;flex-wrap:wrap}
.radiogrp{display:flex;gap:18px;font-size:12.5px;color:var(--ink2);flex-wrap:wrap}
.radiogrp button{display:inline-flex;align-items:center;gap:7px;color:var(--ink2);font-weight:500;transition:color var(--d)}
.radiogrp button::before{content:'';width:13px;height:13px;border-radius:50%;border:1.5px solid var(--ink3);transition:all var(--d)}
.radiogrp button.on{color:var(--ink)}
.radiogrp button.on::before{border-color:var(--ink);background:radial-gradient(circle,var(--ink) 0 4px,transparent 4.5px)}
.seg{display:flex;gap:22px;font-size:12.5px;color:var(--ink2)}
.seg button{padding-bottom:6px;border-bottom:2px solid transparent;font-weight:500;transition:all var(--d)}
.seg button.on{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}
.ledger-chart{position:relative;margin-top:10px}

/* list (ledger table) */
.ledger-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0 4px;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:18px 0}
.ledger-stats .lstat b{font-size:clamp(20px,2vw,28px);font-weight:500;letter-spacing:-.02em;display:block;font-variant-numeric:tabular-nums}
.ledger-stats .lstat span{font-size:11px;color:var(--ink2)}
.ledger-sort{margin-left:auto}
.lint{display:inline-block;width:42px;height:4px;border-radius:2px;background:var(--hair);overflow:hidden;vertical-align:middle;margin-right:7px}
.lint i{display:block;height:100%;border-radius:2px}
.ltable{margin-top:26px}
.ltable .lrow{display:grid;grid-template-columns:40px 52px 1fr 120px 150px 60px 78px;gap:16px;align-items:center;padding:14px 6px;border-top:1px solid var(--hair2);cursor:pointer;transition:background var(--d)}
@media(max-width:760px){.ltable .lrow{grid-template-columns:32px 44px 1fr 130px 62px}.ledger-stats{grid-template-columns:1fr 1fr}}
.ltable .lrow:hover{background:var(--canvas)}
.ltable .lhead{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);border-top:none;cursor:default;padding-bottom:8px}
.ltable .lhead:hover{background:none}
.lrow .idx{font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums}
.lrow .th{width:52px;height:52px;border-radius:12px;overflow:hidden;background:var(--canvas)}
.lrow .th img{width:100%;height:100%;object-fit:cover}
.lrow .tt{font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.lrow .oo{font-size:12px;color:var(--ink2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lrow .cell{font-size:13px;color:var(--ink2);font-variant-numeric:tabular-nums}
.lrow .cell b{color:var(--ink);font-weight:700}
.lrow .cell.urgent b{color:var(--red)}
@media(max-width:1100px){.ltable .lrow{grid-template-columns:44px 56px 1fr 110px 100px}.lrow .hide-m{display:none}}

/* ————— SUPERMOON rails ————— */
.rail-sec{margin:72px 0 0}
.rail-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:22px}
.rail-top h2{font-size:clamp(40px,4.4vw,72px);font-weight:400;letter-spacing:-.035em;line-height:1}
.rail-top .rt-actions{display:flex;align-items:center;gap:10px;padding-bottom:8px}
.rail-top .count-chip{font-size:12px;color:var(--ink2);margin-right:6px}
.arr{width:42px;height:42px;border-radius:50%;border:1px solid var(--hair);background:transparent;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);transition:all var(--d) var(--ease)}
.arr:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.arr:active{transform:scale(.92)}
.rail-rule{border:none;border-top:1px solid var(--hair);margin-bottom:26px}
.rail{display:flex;gap:22px;overflow-x:auto;padding-bottom:16px;margin:0 calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter);scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}

/* SUPERMOON card */
.scard{flex:0 0 clamp(340px,26vw,430px);background:var(--card);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-xs);transition:transform .35s var(--ease),box-shadow .35s var(--ease);cursor:pointer;display:flex;flex-direction:column}
.scard:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.scard .im{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--canvas)}
.scard .im img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.scard:hover .im img{transform:scale(1.05)}
.scard .tagchip{position:absolute;top:14px;left:14px;padding:7px 13px;border-radius:var(--r-pill);background:rgba(255,255,255,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);font-size:11px;font-weight:500;color:var(--ink)}
.scard .savebtn{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);opacity:0;transition:all var(--d) var(--ease)}
.scard:hover .savebtn{opacity:1}
.scard .savebtn.on{opacity:1;background:var(--dark);color:#fff}
.scard .orglogo{position:absolute;bottom:12px;right:12px;width:40px;height:40px;border-radius:11px;background:#fff;padding:3px;box-shadow:var(--sh-sm)}
.scard .orglogo img{width:100%;height:100%;object-fit:cover;border-radius:8px}
.scard .bd{padding:22px 22px 18px;display:flex;flex-direction:column;flex:1}
.scard .tt{font-size:18.5px;font-weight:700;letter-spacing:-.02em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.scard .ds{font-size:12.5px;color:var(--ink2);line-height:1.55;margin-top:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}
.scard .ft{display:flex;align-items:flex-end;justify-content:space-between;margin-top:20px;gap:12px}
.scard .ft .dt .k{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);display:block;margin-bottom:3px}
.scard .ft .dt .v{font-size:13px;font-weight:700}
.scard .ft .dt .v.urgent{color:var(--red)}
.explore{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;border:1px solid var(--hair);border-radius:var(--r-sm);font-size:12.5px;font-weight:500;transition:all var(--d) var(--ease)}
.explore .ic{transition:transform var(--d) var(--ease)}
.scard:hover .explore{background:var(--ink);color:#fff;border-color:var(--ink)}
.scard:hover .explore .ic{transform:translate(2px,-2px)}

/* Highland card (image-first, For You) */
.hcard{flex:0 0 clamp(300px,22vw,360px);position:relative;border-radius:var(--r-xl);overflow:hidden;aspect-ratio:3/3.9;cursor:pointer;background:var(--dark);box-shadow:var(--sh-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.hcard:hover{transform:translateY(-6px);box-shadow:var(--sh-md)}
.hcard img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.hcard:hover img.bg{transform:scale(1.06)}
.hcard .shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,10,8,.92) 0%,rgba(8,10,8,.45) 34%,rgba(8,10,8,0) 60%)}
.hcard .glasschip{position:absolute;top:16px;left:16px;padding:8px 14px;border-radius:var(--r-pill);background:rgba(20,22,20,.45);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);font-size:11.5px;font-weight:500;color:#fff}
.hcard .dots{position:absolute;left:50%;transform:translateX(-50%);bottom:37%;display:flex;gap:5px}
.hcard .dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45)}
.hcard .dots i:first-child{background:#fff}
.hcard .inf{position:absolute;left:0;right:0;bottom:0;padding:0 20px 18px;color:#fff}
.hcard .rw1{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.hcard .rw1 .tt{font-size:19px;font-weight:700;letter-spacing:-.02em;line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.hcard .rw1 .pr{font-size:17px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.hcard .addr{font-size:12.5px;color:rgba(255,255,255,.62);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hcard .specs{display:flex;align-items:center;margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.16)}
.hcard .specs .sp{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;color:rgba(255,255,255,.85)}
.hcard .specs .sp b{font-weight:700;color:#fff}
.hcard .specs .sp + .sp{border-left:1px solid rgba(255,255,255,.16)}

/* ————— discover ————— */
.bigsearch{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--hair);padding:10px 2px 18px;margin-bottom:8px}
.bigsearch input{flex:1;border:none;outline:none;background:none;font-size:clamp(20px,2vw,28px);font-weight:400;letter-spacing:-.02em;color:var(--ink)}
.bigsearch input::placeholder{color:var(--ink3)}
.bigsearch .go{flex-shrink:0}
.ai-answer{margin:20px 0 6px;padding:20px 24px;background:var(--card);border-radius:var(--r);box-shadow:var(--sh-xs);display:none}
.ai-answer.on{display:block;animation:viewin .3s var(--ease)}
.ai-answer .lab{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin-bottom:10px}
.ai-answer .lab i{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px rgba(205,247,74,.3);animation:pulse 1.6s infinite}
.ai-answer .txt{font-size:15px;line-height:1.65;color:var(--ink)}
.cur{display:inline-block;width:7px;height:16px;background:var(--ink);vertical-align:-2px;animation:blink .8s infinite}
@keyframes blink{50%{opacity:0}}
.filters{display:flex;align-items:center;gap:26px;margin:26px 0 8px;border-bottom:1px solid var(--hair);flex-wrap:wrap}
.filters button{padding:0 2px 14px;font-size:13.5px;color:var(--ink2);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--d)}
.filters button:hover{color:var(--ink)}
.filters button.on{color:var(--ink);font-weight:700;border-bottom-color:var(--ink)}
.filters .spacer{flex:1}
.filters .sortsel{font-size:12px;color:var(--ink2);padding-bottom:14px}
.filters .sortsel select{border:none;background:none;font-family:inherit;font-size:12px;color:var(--ink);font-weight:700;outline:none;cursor:pointer}
.count-line{font-size:12px;color:var(--ink3);margin:16px 0 22px}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:22px}

/* ————— coming-soon state (kept visible, desaturated, non-clickable) ————— */
.soon{position:relative;filter:grayscale(1);opacity:.55;cursor:default !important}
.soon:hover{transform:none !important;box-shadow:var(--sh-xs) !important}
.soon-tag{display:inline-flex;align-items:center;font-size:8.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;background:var(--ink);color:#fff;border-radius:var(--r-pill);padding:3px 7px;margin-left:8px;line-height:1}
.nav-it.soon{opacity:.5}
.nav-it.soon .soon-tag{margin-left:5px}
.ai-panel.soon{filter:grayscale(.9);opacity:.72;cursor:default}
.ai-panel.soon .soon-tag{background:var(--ink);margin-left:0}
.soon-copy{font-size:12px;color:var(--ink2);line-height:1.55;margin-top:6px}
.sugg[disabled]{opacity:.65;cursor:default}
.tb.ask.soon{background:var(--ink3) !important;box-shadow:none !important;opacity:.7}

/* ————— NLP search: "Understood" facet chips ————— */
.nlp-read{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0 0}
.nlp-lab{font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3)}
.nlp-chip{font-size:11.5px;font-weight:600;padding:5px 12px;background:var(--card);border-radius:var(--r-pill);box-shadow:var(--sh-xs)}
.nlp-clear{font-size:11.5px;color:var(--ink2);margin-left:auto;text-decoration:underline;cursor:pointer}

/* ————— chat + search bars: frosted-white liquid glass —————
   blurred-opaque like iOS glass: heavy blur + near-opaque white, never see-through */
.ai-dock{width:min(500px,calc(100vw - 48px));bottom:22px}
.ai-bar.search-bar,.ai-bar.chat-bar{
  background:#fff;
  backdrop-filter:blur(34px) saturate(1.7);-webkit-backdrop-filter:blur(34px) saturate(1.7);
  border:1px solid rgba(16,16,16,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 22px 60px rgba(16,16,16,.2),0 6px 18px rgba(16,16,16,.08);
  padding:6px 16px 6px 7px;gap:11px;
}
.ai-bar.search-bar input,.ai-bar.chat-bar input{color:var(--ink);font-size:14px}
.ai-bar.search-bar input::placeholder,.ai-bar.chat-bar input::placeholder{color:var(--ink2);opacity:.85}
/* the Scout mark IS the submit button — no dark circle, just the heart */
.ai-bar .ai-spark.heart-spark{width:34px;height:34px;background:transparent;box-shadow:none;transition:transform 160ms ease}
.ai-bar .ai-spark.heart-spark::before{display:none}
.ai-bar .ai-spark.heart-spark .heart-img{height:26px;width:auto;display:block}
.ai-bar .ai-spark.heart-spark:hover{transform:scale(1.12)}
.ai-bar .ai-spark.heart-spark:active{transform:scale(.94)}
.ai-bar.chat-bar{padding:7px 18px 7px 7px}
.ai-dock .ai-chips .sugg{background:rgba(252,252,250,.82);backdrop-filter:blur(24px) saturate(1.6);-webkit-backdrop-filter:blur(24px) saturate(1.6);color:var(--ink);border-color:rgba(16,16,16,.06);font-size:11.5px;padding:7px 12px}
.ai-bar .ai-spark.heart-spark .heart-flat{display:block}

/* ═══════════ agent composer — reference-matched, white ═══════════ */
.agent-in{position:relative}
.composer{
  display:flex;flex-direction:column;
  background:#fff;
  backdrop-filter:blur(34px) saturate(1.6);-webkit-backdrop-filter:blur(34px) saturate(1.6);
  border:1px solid rgba(16,16,16,.07);border-radius:26px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 22px 60px rgba(16,16,16,.16),0 6px 18px rgba(16,16,16,.07);
  padding:6px;
}
.cmp-input{width:100%;background:none;border:none;outline:none;color:var(--ink);font:inherit;font-size:15.5px;padding:15px 14px 9px;min-width:0}
.cmp-input::placeholder{color:var(--ink2);opacity:.85}
.cmp-row{display:flex;align-items:center;gap:3px;padding:2px 6px 4px}
.cmp-tool{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--ink2);transition:background .14s,color .14s,transform .12s}
.cmp-tool:hover{background:rgba(16,16,16,.05);color:var(--ink)}
.cmp-tool:active{transform:scale(.88)}
.cmp-tool.on{background:var(--ink);color:#fff}
.cmp-grow{flex:1}
.cmp-send{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;box-shadow:var(--sh-sm);border:1px solid var(--hair2);transition:transform .16s ease,background .16s ease,border-color .16s ease;will-change:transform}
.cmp-send .heart-flat{display:block}
.cmp-send:hover{transform:scale(1.09)}
.cmp-send:active{transform:scale(.9)}
.cmp-send.ready{background:#FFEBF0;border-color:#FFD3DE}

/* tagged opportunities live in the composer header */
.cmp-ctx{display:flex;flex-direction:column;gap:9px;padding:9px 8px 5px;border-bottom:1px solid var(--hair2)}
.cmp-ctx[hidden]{display:none}
.ctx-chips{display:flex;flex-wrap:wrap;gap:7px}
.ctx-chip{display:flex;align-items:center;gap:8px;padding:5px 7px;background:#fff;border:1px solid var(--hair);border-radius:14px;box-shadow:var(--sh-xs);max-width:100%;will-change:transform}
.cc-thumb{width:26px;height:26px;border-radius:8px;overflow:hidden;background:var(--canvas);flex-shrink:0;display:flex}
.cc-thumb img{width:100%;height:100%;object-fit:cover}
.cc-txt{display:flex;flex-direction:column;line-height:1.25;min-width:0;max-width:168px}
.cc-txt b{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-txt i{font-style:normal;font-size:10px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cc-stage{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:9px;background:color-mix(in srgb,var(--sc) 13%,#fff);color:var(--sc);font-size:10px;font-weight:700;flex-shrink:0;will-change:transform}
.cc-stage em{font-style:normal}
.cc-x{width:22px;height:22px;border-radius:7px;color:var(--ink3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cc-x:hover{background:rgba(16,16,16,.06);color:var(--red)}
.ctx-acts{display:flex;flex-wrap:wrap;gap:6px}
.ctx-acts button{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;padding:7px 11px;border-radius:var(--r-pill);background:var(--canvas);color:var(--ink);transition:background .14s,transform .12s}
.ctx-acts button:hover{background:rgba(16,16,16,.07)}
.ctx-acts button:active{transform:scale(.95)}
.ctx-acts .ca-apply{background:var(--ink);color:#fff}
.ctx-acts .ca-apply:hover{background:#000}

/* attach picker */
.attach-pop,.cmd-pop{position:absolute;left:0;right:0;bottom:calc(100% + 6px);z-index:44;background:#fff;border:1px solid var(--hair);border-radius:20px;box-shadow:var(--sh-lg);overflow:hidden;will-change:transform;transform-origin:bottom center}
.attach-pop[hidden],.cmd-pop[hidden]{display:none}

/* @ mention — NLP carousel with stage filter pills */
.mpop-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px 8px}
.mpop-lead{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:var(--ink2)}
.mpop-lead svg{color:var(--ink3)}.mpop-lead b{color:var(--ink);font-weight:700}
.mpop-x{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink3)}
.mpop-x:hover{background:var(--canvas);color:var(--ink)}
.mpop-filters{display:flex;gap:6px;padding:0 14px 10px;overflow-x:auto;scrollbar-width:none}
.mpop-filters::-webkit-scrollbar{display:none}
.mf{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;font-size:11.5px;font-weight:600;color:var(--ink2);padding:6px 11px;border-radius:var(--r-pill);background:var(--canvas);border:1px solid transparent;transition:background .14s,color .14s,border-color .14s}
.mf svg{color:var(--ink3);transition:color .14s}
.mf:hover{background:rgba(16,16,16,.06)}
.mf.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.mf.on svg{color:#fff}
.mf em{font-style:normal;font-size:10px;font-weight:700;padding:1px 5px;border-radius:8px;background:rgba(16,16,16,.08)}
.mf.on em{background:rgba(255,255,255,.22)}
.mpop-carousel{display:flex;gap:10px;padding:2px 14px 14px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:thin}
.mpop-carousel::-webkit-scrollbar{height:6px}
.mpop-carousel::-webkit-scrollbar-thumb{background:var(--hair);border-radius:3px}
.mcard{flex:0 0 174px;width:174px;display:flex;flex-direction:column;text-align:left;padding:0;border-radius:15px;background:#fff;border:1px solid var(--hair);overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease;will-change:transform}
.mcard:hover,.mcard.active{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:transparent}
.mc-thumb{position:relative;height:78px;background:var(--canvas);display:flex}
.mc-thumb img{width:100%;height:100%;object-fit:cover}
.mc-live{position:absolute;top:6px;left:6px;font-style:normal;font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(16,16,16,.82);color:#fff;padding:3px 6px;border-radius:6px}
.mc-t{font-size:12.5px;font-weight:700;line-height:1.3;padding:9px 10px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mc-m{font-size:10.5px;color:var(--ink3);padding:3px 10px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-stage{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;margin:8px 10px 10px;font-size:9.5px;font-weight:700;padding:4px 8px;border-radius:8px;background:color-mix(in srgb,var(--sc,#ABA9A1) 13%,#fff);color:var(--sc,#6F6D66)}
.mc-stage.feed{background:var(--canvas);color:var(--ink2)}
.mc-empty{padding:26px 16px;text-align:center;font-size:12px;color:var(--ink3);line-height:1.6;width:100%}

/* / command palette */
.cmd-pop .mpop-lead{padding:12px 14px 8px}
.cmd-list{padding:2px 8px 8px;max-height:min(46vh,340px);overflow-y:auto;scrollbar-width:thin}
.cmd-list::-webkit-scrollbar{width:5px}.cmd-list::-webkit-scrollbar-thumb{background:var(--hair);border-radius:3px}
.cmd-row{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border-radius:12px;text-align:left;transition:background .12s}
.cmd-row:hover,.cmd-row.active{background:var(--canvas)}
.cmd-ic{width:32px;height:32px;border-radius:9px;background:var(--canvas);display:flex;align-items:center;justify-content:center;color:var(--ink2);flex-shrink:0;transition:background .12s,color .12s}
.cmd-row.active .cmd-ic,.cmd-row:hover .cmd-ic{background:#fff;color:var(--ink)}
.cmd-tx{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.cmd-tx b{font-size:13.5px;font-weight:600}
.cmd-tx i{font-style:normal;font-size:11px;color:var(--ink3)}
.pick-tabs{display:flex;align-items:center;gap:4px;padding:10px 12px;border-bottom:1px solid var(--hair2)}
.pick-tabs button{font-size:12px;font-weight:600;color:var(--ink3);padding:6px 12px;border-radius:var(--r-pill);transition:background .14s,color .14s}
.pick-tabs button.on{background:var(--ink);color:#fff}
.pick-tabs .pick-close{margin-left:auto;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;color:var(--ink3)}
.pick-tabs .pick-close:hover{background:var(--canvas);color:var(--ink)}
.pick-list{max-height:min(46vh,360px);overflow-y:auto;padding:8px;scrollbar-width:thin}
.pick-list::-webkit-scrollbar{width:5px}.pick-list::-webkit-scrollbar-thumb{background:var(--hair);border-radius:3px}
.pick-grp{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);padding:10px 8px 5px}
.pick-grp em{font-style:normal;color:var(--ink2)}
.pick-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:13px;transition:background .14s;will-change:transform}
.pick-row:hover{background:var(--canvas)}
.pick-row.on{background:color-mix(in srgb,var(--red) 6%,#fff)}
.pk-thumb{width:34px;height:34px;border-radius:9px;overflow:hidden;background:var(--canvas);flex-shrink:0;display:flex}
.pk-thumb img{width:100%;height:100%;object-fit:cover}
.pk-txt{display:flex;flex-direction:column;line-height:1.3;min-width:0;flex:1}
.pk-txt b{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-txt i{font-style:normal;font-size:11px;color:var(--ink3)}
.pk-stages{display:flex;gap:3px;flex-shrink:0}
.pk-st{width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink3);background:var(--canvas);transition:transform .12s;will-change:transform}
.pk-st.on{background:color-mix(in srgb,var(--sc) 16%,#fff);color:var(--sc)}
.pk-st:active{transform:scale(.84)}
.pk-add{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--ink);background:var(--canvas);flex-shrink:0;transition:transform .12s}
.pk-add:hover{background:rgba(16,16,16,.08)}
.pk-add:active{transform:scale(.84)}
.pick-search{display:flex;align-items:center;gap:8px;padding:9px 12px;margin:2px 4px 6px;background:var(--canvas);border-radius:12px;color:var(--ink3)}
.pick-search input{flex:1;background:none;border:none;outline:none;font:inherit;font-size:13px;color:var(--ink)}
.pick-empty{font-size:12px;color:var(--ink3);text-align:center;padding:26px 16px;line-height:1.6}

/* physics burst particles */
.burst-p{position:fixed;pointer-events:none;z-index:120;font-size:15px;line-height:1;will-change:transform,opacity}

/* Discover collections */
.dis-tabs{display:flex;gap:6px;overflow-x:auto;padding:18px 0 6px;margin:0 calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter);scrollbar-width:none}
.dis-tabs::-webkit-scrollbar{display:none}
.dis-tabs button{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:10px 16px;border-radius:var(--r-pill);font-size:13px;font-weight:500;color:var(--ink2);background:var(--card);box-shadow:var(--sh-xs);transition:all var(--d) var(--ease)}
.dis-tabs button:hover{color:var(--ink)}
.dis-tabs button.on{background:var(--ink);color:#fff}
.domgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:6px}
.domcard{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:22px 20px;border-radius:var(--r-lg);background:var(--card);box-shadow:var(--sh-xs);text-align:left;transition:transform var(--d) var(--ease),box-shadow var(--d)}
.domcard:hover{transform:translateY(-3px);box-shadow:var(--sh-sm)}
.domcard .dm-n{font-size:20px;font-weight:500;letter-spacing:-.02em}
.domcard .dm-c{font-size:12px;color:var(--ink3)}
.dom-head{display:flex;align-items:center;gap:16px;margin:22px 0 4px}
.dom-title{font-size:clamp(26px,3vw,40px);font-weight:500;letter-spacing:-.03em}
.scard-chip{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink2);margin:2px 0 4px}
.scard-chip b{font-weight:700}
.ci-bar{flex:1;max-width:90px;height:4px;border-radius:2px;background:var(--hair);overflow:hidden}
.ci-bar i{display:block;height:100%;border-radius:2px}
.grid-cards .scard{flex:none}

/* ————— detail ————— */
.det{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,4vw,72px);margin-top:8px}
@media(max-width:1000px){.det{grid-template-columns:1fr}}
.det-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.typechip{display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border-radius:var(--r-pill);background:var(--dark);color:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.typechip::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--lime)}
.det-title{font-size:clamp(32px,3.4vw,52px);font-weight:500;letter-spacing:-.035em;line-height:1.06;margin-bottom:14px}
.det-org{font-size:15px;color:var(--ink2);margin-bottom:30px}
.det-org a{font-weight:700;color:var(--ink);border-bottom:1px solid var(--hair);transition:border-color var(--d)}
.det-org a:hover{border-color:var(--ink)}
.spec-table{border-top:1px solid var(--hair);margin-bottom:36px}
.spec-row{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:15px 2px;border-bottom:1px solid var(--hair)}
.spec-row .k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.spec-row .v{font-size:14.5px;font-weight:700;text-align:right}
.spec-row .v.urgent{color:var(--red)}
.why{margin-bottom:40px}
.why h3,.dsec h3{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);font-weight:700;margin-bottom:18px}
.why-it{display:flex;gap:18px;padding:14px 0;border-top:1px solid var(--hair2);font-size:15px;line-height:1.5}
.why-it .n{font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums;padding-top:2px}
.why-it b{font-weight:700}
.dsec{margin-bottom:36px}
.dsec p{font-size:15.5px;line-height:1.75;color:var(--ink);max-width:62ch}
.skillrow{display:flex;flex-wrap:wrap;gap:8px}
.skillrow span{font-size:12px;padding:8px 15px;border:1px solid var(--hair);border-radius:var(--r-pill);color:var(--ink2)}
.det-side{position:relative}
.det-sticky{position:sticky;top:24px}
.det-img{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:var(--canvas);box-shadow:var(--sh-sm);margin-bottom:18px}
.det-img img{width:100%;height:100%;object-fit:cover}
.det-img .tagchip{position:absolute;top:14px;left:14px;padding:7px 13px;border-radius:var(--r-pill);background:rgba(255,255,255,.55);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);font-size:11px;font-weight:500}
.det-cta{display:flex;flex-direction:column;gap:10px}
.det-cta .rowx{display:flex;gap:10px}
.det-cta .pill{flex:1;padding:15px 20px;font-size:14px}
.det-social{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;color:var(--ink2);padding:14px 4px 0}
.det-social b{color:var(--ink);font-weight:700}
.backlink{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2);margin-bottom:26px;transition:color var(--d)}
.backlink:hover{color:var(--ink)}

/* ————— agent ————— */
/* ————— agent workspace: contained rail + chat, aligned to the page gutter —————
   (not edge-to-edge — the sidebar's left edge lines up with the topbar and every
   other view; the conversation is capped to a readable measure and centred) */
#vw-agent{padding-bottom:26px}
.agent-shell{display:grid;grid-template-columns:264px minmax(0,1fr);gap:clamp(24px,3vw,44px);width:100%;height:calc(100dvh - 232px);min-height:520px;align-items:stretch}
.agent-side{
  display:flex;flex-direction:column;height:100%;min-height:0;
  background:var(--card);
  border:1px solid rgba(16,16,16,.06);
  border-radius:22px;
  box-shadow:var(--sh-sm);
  overflow:hidden;
}
.as-scroll{flex:1;min-height:0;overflow-y:auto;padding:18px 14px 8px;scrollbar-width:thin}
.as-scroll::-webkit-scrollbar{width:5px}
.as-scroll::-webkit-scrollbar-thumb{background:var(--hair);border-radius:3px}
.as-new{width:100%;justify-content:center;margin-bottom:16px;padding:12px}
.as-sec{margin-bottom:18px}
.as-h{font-size:9.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--ink3);margin:0 6px 8px}
.as-it{display:flex;align-items:center;gap:10px;width:100%;padding:8px 9px;border-radius:12px;text-align:left;font-size:12.5px;font-weight:600;color:var(--ink);transition:background .14s}
.as-it:hover{background:rgba(16,16,16,.045)}
.as-it svg{color:var(--ink2);flex-shrink:0}
.as-it span{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.as-it i{font-style:normal;font-size:10.5px;color:var(--ink3);font-weight:400}
.as-it.thin{padding:7px 9px;font-size:12.5px}
.as-it.thin span{flex-direction:row}
.as-b{margin-left:auto;font-style:normal;font-size:10px;font-weight:700;min-width:19px;height:19px;padding:0 5px;border-radius:9px;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.as-th{display:flex;align-items:baseline;gap:8px;width:100%;padding:7px 9px;border-radius:10px;font-size:12px;font-weight:500;color:var(--ink2);text-align:left;transition:background .14s;overflow:hidden}
.as-th:hover{background:rgba(16,16,16,.045)}
.as-th.on{background:rgba(16,16,16,.06);color:var(--ink);font-weight:600}
.as-th i{font-style:normal;font-size:10px;color:var(--ink3);margin-left:auto;flex-shrink:0}
.as-empty{font-size:11.5px;color:var(--ink3);padding:2px 6px;line-height:1.5}
.as-know{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:2px 6px 8px}
.as-kv b{font-size:11.5px;font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-kv span{font-size:9px;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em}
.as-me{display:flex;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid var(--hair2);flex-shrink:0;transition:background .14s}
.as-me:hover{background:rgba(16,16,16,.04)}
.as-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;color:var(--ink);flex-shrink:0}
.as-mt{display:flex;flex-direction:column;line-height:1.3;text-align:left;min-width:0;flex:1}
.as-mt b{font-size:12.5px;font-weight:700}
.as-mt i{font-style:normal;font-size:10.5px;color:var(--ink3)}
.as-me svg{color:var(--ink3)}
.agent-main{display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden}
/* the conversation itself is a comfortable centred column, not a sprawling full-width block */
.agent-main .agent-hd,.agent-main .msgs,.agent-main .agent-in{width:100%;max-width:760px;margin-left:auto;margin-right:auto}
.agent-main .msgs{flex:1;min-height:0;overflow-y:auto;padding:24px 4px;scrollbar-width:thin}
.agent-main .msgs::-webkit-scrollbar{width:5px}
.agent-main .msgs::-webkit-scrollbar-thumb{background:var(--hair);border-radius:3px}
.agent-main .agent-in{padding-bottom:6px;flex-shrink:0}
@media(max-width:900px){
  #vw-agent{padding-bottom:120px}
  .agent-shell{grid-template-columns:1fr;height:auto;min-height:0;max-width:760px}
  .agent-side{display:none}
  .agent-main{height:auto}
  .agent-main .msgs{overflow:visible}
}

.agent-wrap{max-width:820px;margin:0 auto;display:flex;flex-direction:column;min-height:calc(100dvh - 250px)}
.agent-hd{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--hair)}
.agent-av{position:relative;width:44px;height:44px;border-radius:50%;background:var(--card);box-shadow:var(--sh-sm);display:flex;align-items:center;justify-content:center}
.agent-av svg{width:22px;height:22px}
.agent-av .onl{position:absolute;bottom:1px;right:1px;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid var(--card)}
.agent-hd .nm{font-size:15px;font-weight:700}
.agent-hd .sb{font-size:12px;color:var(--ink2);margin-top:1px}
.agent-hd .ctx{margin-left:auto;font-size:11.5px;font-weight:500;padding:8px 14px;border-radius:var(--r-pill);background:var(--card);box-shadow:var(--sh-xs);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msgs{flex:1;padding:30px 0;display:flex;flex-direction:column;gap:26px}
.mg{max-width:78%;display:flex;flex-direction:column}
.mg.ai{align-self:flex-start;border-left:2px solid var(--ink);padding-left:20px}
.mg.ai .bub{font-size:15px;line-height:1.7}
.mg.ai .bub b{font-weight:700}
.mg.me{align-self:flex-end;align-items:flex-end}
.mg.me .bub{background:var(--dark);color:#fff;padding:13px 20px;border-radius:22px;border-bottom-right-radius:8px;font-size:14.5px;line-height:1.55}
.mtime{font-size:10.5px;color:var(--ink3);margin-top:8px}
.qr{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.qr button{font-size:12.5px;font-weight:500;padding:9px 15px;background:var(--card);box-shadow:var(--sh-xs);border-radius:var(--r-pill);transition:all var(--d) var(--ease)}
.qr button:hover{transform:translateY(-1px);box-shadow:var(--sh-sm)}
.typing{display:flex;gap:5px;align-self:flex-start;border-left:2px solid var(--hair);padding:6px 0 6px 20px}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink3);animation:td 1.2s infinite}
.typing i:nth-child(2){animation-delay:.15s}
.typing i:nth-child(3){animation-delay:.3s}
@keyframes td{0%,80%,100%{opacity:.25}40%{opacity:1}}
.agent-in{position:sticky;bottom:24px;padding-top:10px}

/* ————— profile ————— */
.prof{max-width:900px;margin:0 auto}
.prof-hd{display:flex;align-items:center;gap:22px;margin:10px 0 40px}
.prof-av{width:76px;height:76px;border-radius:50%;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}
.prof-nm{font-size:clamp(30px,3vw,42px);font-weight:500;letter-spacing:-.03em;line-height:1.05}
.prof-sb{font-size:14px;color:var(--ink2);margin-top:6px}
.prof-stats{display:flex;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin-bottom:44px}
.prof-stats .ps{flex:1;padding:26px 10px;text-align:center}
.prof-stats .ps + .ps{border-left:1px solid var(--hair)}
.prof-stats .v{font-size:clamp(28px,2.6vw,40px);font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.prof-stats .l{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-top:8px}
.psec{margin-bottom:40px}
.psec h3{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink2);font-weight:700;margin-bottom:6px}
.prow{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 2px;border-bottom:1px solid var(--hair2)}
.prow .k{font-size:13px;color:var(--ink2)}
.prow .v{font-size:14px;font-weight:700;text-align:right}
.kw{display:flex;flex-wrap:wrap;gap:8px;padding-top:14px}
.kw span{font-size:12px;padding:8px 15px;border:1px solid var(--hair);border-radius:var(--r-pill);color:var(--ink2)}
.tog{position:relative;width:44px;height:26px;border-radius:13px;background:#DDDACF;transition:background var(--d);cursor:pointer;flex-shrink:0}
.tog i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:left .2s var(--ease)}
.tog.on{background:var(--ink)}
.tog.on i{left:21px}
.signout{color:var(--red);font-weight:500;font-size:13.5px;padding:10px 0}

/* ————— onboarding ————— */
.onb-top{display:flex;align-items:center;gap:24px;padding:26px var(--gutter);max-width:920px;margin:0 auto;width:100%}
.onb-progress{flex:1;display:flex;align-items:center;gap:16px}
.onb-progress span{font-size:11.5px;color:var(--ink2);letter-spacing:.1em;font-variant-numeric:tabular-nums;white-space:nowrap}
.onb-track{flex:1;height:2px;background:var(--hair);border-radius:2px;overflow:hidden}
.onb-track i{display:block;height:100%;background:var(--ink);width:0%;transition:width .5s var(--ease)}
.onb-skip{font-size:13px;color:var(--ink2);font-weight:500;transition:color var(--d)}
.onb-skip:hover{color:var(--ink)}
.onb-body{flex:1;overflow-y:auto;max-width:920px;margin:0 auto;width:100%;padding:20px var(--gutter) 30px}
.onb-h{font-size:clamp(34px,4vw,56px);font-weight:400;letter-spacing:-.035em;line-height:1.05;margin:14px 0 12px}
.onb-sub{font-size:15px;color:var(--ink2);line-height:1.6;margin-bottom:40px;max-width:52ch}
.onb-foot{max-width:920px;margin:0 auto;width:100%;padding:16px var(--gutter) 40px;display:flex;justify-content:flex-end}
.onb-foot .pill{min-width:220px}
/* option rows (hairline editorial, not boxes) */
.optrows{border-top:1px solid var(--hair)}
.optrow{display:flex;align-items:center;gap:20px;padding:20px 4px;border-bottom:1px solid var(--hair);cursor:pointer;transition:padding var(--d) var(--ease)}
.optrow:hover{padding-left:12px}
.optrow .n{font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums;width:24px}
.optrow .tx{flex:1}
.optrow .ttl{font-size:17px;font-weight:500;letter-spacing:-.01em;transition:font-weight var(--d)}
.optrow .dsc{font-size:12.5px;color:var(--ink2);margin-top:2px}
.optrow .ring{width:20px;height:20px;border-radius:50%;border:1.5px solid var(--ink3);transition:all var(--d) var(--ease);position:relative}
.optrow.sel .ring{border-color:var(--ink);background:var(--ink)}
.optrow.sel .ring::after{content:'';position:absolute;inset:0;margin:auto;width:6px;height:6px;border-radius:50%;background:#fff}
.optrow.sel .ttl{font-weight:700}
/* chip grid for multi-select */
.chips-grid{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:13px 22px;border:1px solid var(--hair);border-radius:var(--r-pill);font-size:14px;font-weight:500;transition:all var(--d) var(--ease);cursor:pointer;background:transparent}
.chip:hover{border-color:var(--ink)}
.chip.sel{background:var(--dark);color:#fff;border-color:var(--dark)}
/* underline fields */
.ufield{margin-bottom:30px}
.ufield label{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);margin-bottom:6px}
.ufield input,.ufield select{width:100%;border:none;border-bottom:1px solid var(--hair);background:none;outline:none;font-size:clamp(18px,1.8vw,24px);font-weight:400;letter-spacing:-.01em;padding:8px 0 12px;border-radius:0;transition:border-color var(--d)}
.ufield input:focus,.ufield select:focus{border-bottom-color:var(--ink)}
.ufield input::placeholder{color:var(--ink3)}
.togrow{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 2px;border-bottom:1px solid var(--hair)}
.togrow .ttl{font-size:16px;font-weight:500}
.togrow .dsc{font-size:12.5px;color:var(--ink2);margin-top:2px}
/* intro */
.vintro{padding:5vh 0 0}
.vintro .heartmark{width:64px;height:64px;margin-bottom:34px}
.vintro .big{font-size:clamp(48px,6.4vw,96px);font-weight:400;letter-spacing:-.04em;line-height:1;margin-bottom:28px;max-width:14ch}
.vintro .big em{font-style:normal;color:var(--red)}
.vintro .lede{font-size:clamp(15px,1.3vw,18px);color:var(--ink2);line-height:1.65;max-width:52ch;margin-bottom:44px}
.vintro .feats{border-top:1px solid var(--hair)}
.vintro .feat{display:flex;align-items:baseline;gap:22px;padding:18px 2px;border-bottom:1px solid var(--hair)}
.vintro .feat .n{font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums}
.vintro .feat .t{font-size:16px;font-weight:700;letter-spacing:-.01em}
.vintro .feat .d{font-size:13px;color:var(--ink2);margin-left:auto;text-align:right}
/* preview strip on reminders step */
.preview-strip{margin-top:40px;padding:22px 26px;background:var(--card);border-radius:var(--r);box-shadow:var(--sh-xs)}
.preview-strip .lab{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);margin-bottom:10px}
.preview-strip .tx{font-size:15px;line-height:1.6}
.preview-strip b{font-weight:700}

/* ————— auth ————— */
.auth-wrap{flex:1;display:flex;flex-direction:column}
.auth-cap{max-width:520px;margin:0 auto;width:100%;padding:0 var(--gutter) 60px;display:flex;flex-direction:column;flex:1}
.auth-heart{width:44px;height:44px;margin:4vh auto 26px}
.auth-h{font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.03em;line-height:1.1;text-align:center;margin-bottom:10px}
.auth-sub{font-size:14px;color:var(--ink2);text-align:center;line-height:1.6;margin-bottom:38px}
.oauth-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.oauth-btn{display:flex;align-items:center;gap:14px;width:100%;padding:16px 22px;border-radius:var(--r-pill);font-size:14.5px;font-weight:500;cursor:pointer;transition:all var(--d) var(--ease);text-align:left;line-height:1.2}
.oauth-btn:hover{transform:translateY(-1px)}
.oauth-btn:active{transform:scale(.985)}
.oauth-btn .ico{width:20px;display:flex;justify-content:center}
.oauth-btn .label{flex:1}
.oauth-btn .sub{display:block;font-size:11px;font-weight:400;opacity:.65;margin-top:2px}
.oauth-dark{background:var(--dark);color:#fff}
.oauth-dark:hover{box-shadow:0 10px 30px rgba(16,16,16,.25)}
.oauth-white{background:var(--card);box-shadow:var(--sh-xs)}
.oauth-white:hover{box-shadow:var(--sh-sm)}
.oauth-college{background:var(--lime);color:var(--ink)}
.oauth-college:hover{box-shadow:0 10px 30px rgba(205,247,74,.5)}
.oauth-college .bdg{background:var(--ink);color:#fff;padding:3px 8px;border-radius:8px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-left:8px}
.auth-or{display:flex;align-items:center;gap:16px;margin:10px 0 20px;font-size:10.5px;color:var(--ink3);letter-spacing:.14em;text-transform:uppercase}
.auth-or::before,.auth-or::after{content:'';flex:1;height:1px;background:var(--hair)}
.auth-err{font-size:12.5px;color:var(--red);min-height:16px;margin-bottom:10px;font-weight:500}
.auth-foot{margin-top:auto;padding-top:26px;text-align:center;font-size:12.5px;color:var(--ink2);line-height:1.7}
.auth-foot b{color:var(--ink);font-weight:700;cursor:pointer}
.auth-foot .legal{font-size:11px;color:var(--ink3);margin-top:10px}
.det-badge{display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:var(--r-sm);font-size:13px;font-weight:500;margin-top:10px;background:#EAF7E4;color:#22661A;animation:viewin .25s var(--ease)}
.det-badge.warn{background:#FCF2DC;color:#7A5800}
.magic-card{padding:40px 30px;background:var(--card);border-radius:var(--r-lg);box-shadow:var(--sh-xs);text-align:center;margin:30px 0}
.magic-card h3{font-size:19px;font-weight:700;letter-spacing:-.02em;margin:14px 0 8px}
.magic-card p{font-size:13.5px;color:var(--ink2);line-height:1.6}

/* ————— strips (streak / whatsapp — hairline, not boxes) ————— */
.strips{margin:64px 0 0;border-top:1px solid var(--hair)}
.strip{display:flex;align-items:center;gap:18px;padding:20px 4px;border-bottom:1px solid var(--hair);cursor:pointer;transition:padding var(--d) var(--ease)}
.strip:hover{padding-left:10px}
.strip .dotc{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.strip .t{font-size:15px;font-weight:700;letter-spacing:-.01em}
.strip .d{font-size:12.5px;color:var(--ink2);margin-left:auto;text-align:right}
.strip .arrow{color:var(--ink3);transition:transform var(--d) var(--ease)}
.strip:hover .arrow{transform:translateX(4px);color:var(--ink)}

/* ————— footer ————— */
.foot{margin-top:90px;padding-top:34px;border-top:1px solid var(--hair);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.foot .fh{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700}
.foot .fh .brand-heart{width:18px;height:18px}
.foot .src{font-size:11.5px;color:var(--ink3)}

/* ————— toast ————— */
.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%) translateY(16px);z-index:200;background:var(--dark);color:#fff;padding:13px 22px;border-radius:var(--r-pill);font-size:13px;font-weight:500;opacity:0;pointer-events:none;transition:all .28s var(--ease);white-space:nowrap;box-shadow:var(--sh-md);display:flex;align-items:center;gap:16px}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.toast .undo{background:rgba(255,255,255,.16);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 13px;border-radius:12px;cursor:pointer}

/* ————— skeletons ————— */
.skel{background:linear-gradient(90deg,#EBE9E2 0%,#F5F3EC 50%,#EBE9E2 100%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:12px}
@keyframes shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.skel{animation:none}}
.skel-card{flex:0 0 clamp(340px,26vw,430px);border-radius:var(--r-lg);overflow:hidden;background:var(--card)}
.skel-card .si{aspect-ratio:4/3}
.skel-card .sb{padding:22px}
.skel-card .sl{height:12px;border-radius:6px;margin-bottom:10px}

/* ————— empty states ————— */
.empty{padding:60px 30px;text-align:center;border:1px dashed var(--hair);border-radius:var(--r-lg)}
.empty .h{font-size:17px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}
.empty .s{font-size:13px;color:var(--ink2);margin-bottom:18px;line-height:1.6}

/* ————— reveal-on-scroll ————— */
.rv{opacity:0;transform:translateY(22px)}
.rv.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

/* narrow desktop safety */
@media(max-width:900px){
  .nav-center .nav-it{padding:0 9px}
  .me-txt{display:none}
  .ltable .lrow{grid-template-columns:44px 56px 1fr 100px}
}

/* ═══════════════════════════════════════════════════════════════
   v3 — exact logo · shader aurora · liquid glass · physics · mobile
   ═══════════════════════════════════════════════════════════════ */

/* ————— exact brand mark ————— */
.heart-img{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.brand-heart{width:28px;height:24px}

/* ————— WebGL shader aurora ————— */
.shader-bg{position:fixed;top:-30px;left:0;right:0;width:100%;height:460px;z-index:0;pointer-events:none;opacity:0;transition:opacity 1.2s ease;filter:blur(22px) saturate(1.4);mask-image:linear-gradient(to bottom,#000 42%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 42%,transparent 100%)}
body.gl .shader-bg{opacity:1}
body.gl .aurora{display:none}

/* ————— liquid glass recipe (iOS 26 flavor) ————— */
/* plain-white surfaces (no translucency) with a soft light gradient along the bottom edge */
:root{--edge-light:linear-gradient(90deg,transparent 0%,rgba(255,118,86,.4) 24%,rgba(150,140,255,.34) 54%,rgba(110,180,255,.36) 78%,transparent 100%)}
.lgl{
  background:var(--card);
  border:1px solid rgba(16,16,16,.05);
  box-shadow:0 10px 34px rgba(16,16,16,.09);
}

/* ————— white menubar ————— */
.topbar{
  position:sticky;top:12px;z-index:90;
  max-width:min(calc(var(--maxw) - var(--gutter)),1400px);
  margin:12px auto 0;padding:9px 14px 9px 18px;border-radius:22px;
  background:var(--card);
  border:1px solid rgba(16,16,16,.05);
  box-shadow:0 10px 34px rgba(16,16,16,.08);
}
.topbar::after{content:'';position:absolute;left:22px;right:22px;bottom:0;height:2px;border-radius:2px;background:var(--edge-light);pointer-events:none;opacity:.9}
.nav-center{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;gap:4px}
.nav-it{position:relative;height:38px;padding:0 15px;border-radius:var(--r-pill)}
.nav-it:not(.on):hover{background:rgba(255,255,255,.6);color:var(--ink)}
.nav-it .chev{opacity:.4;margin-left:-2px;transition:transform .18s var(--ease)}
.nav-it.open .chev{transform:rotate(180deg)}
.menu-drop{
  position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px) scale(.98);
  min-width:420px;max-width:560px;border-radius:20px;padding:18px;z-index:95;
  opacity:0;pointer-events:none;transform-origin:top center;overflow:hidden;
  background:var(--card);
  border:1px solid rgba(16,16,16,.05);
  box-shadow:0 24px 70px rgba(16,16,16,.16);
}
.menu-drop::after{content:'';position:absolute;left:20px;right:20px;bottom:0;height:2px;border-radius:2px;background:var(--edge-light);pointer-events:none}
.menu-drop.open{opacity:1;pointer-events:auto}
.menu-cols{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.menu-sec{padding:2px}
.menu-sec .mh{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);padding:6px 10px 8px}
.menu-it{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border-radius:12px;font-size:13px;font-weight:500;color:var(--ink);text-align:left;transition:background .15s}
.menu-it:hover{background:rgba(255,255,255,.75)}
.menu-it .mic{width:30px;height:30px;border-radius:9px;background:rgba(16,16,16,.05);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.menu-it .cnt{margin-left:auto;font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums}
.menu-it .sub{display:block;font-size:11px;color:var(--ink2);font-weight:400;margin-top:1px}
.menu-mini{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;transition:background .15s;width:100%;text-align:left}
.menu-mini:hover{background:rgba(255,255,255,.75)}
.menu-mini img{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0}
.menu-mini .t{font-size:12.5px;font-weight:500;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.menu-mini .d{font-size:10.5px;color:var(--red);font-weight:700;margin-top:2px}

/* ————— hero ————— */
.hero{padding:clamp(34px,6vh,72px) 0 clamp(20px,3vh,36px);position:relative}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px}
.hero .eyebrow .pd{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 1.8s infinite}
.hero-h{font-size:clamp(52px,6.4vw,110px);font-weight:400;letter-spacing:-.045em;line-height:.98;max-width:12ch}
.hero-h em{font-style:normal;font-weight:500;position:relative;white-space:nowrap}
.hero-heart{display:inline-flex;align-items:center;margin:0 .28em;vertical-align:baseline}
.hero-heart .heart-img{display:inline-block;width:.8em;height:.72em;vertical-align:-6%}
.hero-sub{margin-top:22px;font-size:clamp(15px,1.25vw,18px);color:var(--ink2);max-width:56ch;line-height:1.6}
.hero-sub b{color:var(--ink);font-weight:600}
.hero-ctas{display:flex;align-items:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.hero-ticker{margin-top:clamp(26px,4vh,44px);overflow:hidden;position:relative;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent)}
.hero-ticker .tk{display:flex;gap:34px;width:max-content;animation:tick 36s linear infinite}
@keyframes tick{to{transform:translateX(-50%)}}
.hero-ticker .ti{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:var(--ink2);white-space:nowrap}
.hero-ticker .ti b{color:var(--ink);font-weight:600}
.hero-ticker .ti .sw{width:6px;height:6px;border-radius:2px;flex-shrink:0}
@media (prefers-reduced-motion:reduce){.hero-ticker .tk{animation:none}}

/* ————— dashboard, compressed ————— */
.dash-eyebrow{display:flex;align-items:center;justify-content:space-between;margin:6px 0 14px}
.dash .card,.dash2 .card{padding:20px 22px}
.dash .stat-huge,.dash2 .stat-huge{font-size:clamp(36px,2.6vw,46px)}
.insight-line{min-height:3.2em;font-size:clamp(16px,1.2vw,19px)}
.dash{grid-template-columns:1.55fr 1fr}
.dash .chart-wrap svg{max-height:172px}

/* ————— full-image thumbnails (real banners shown whole) ————— */
.scard .im{position:relative;overflow:hidden}
.scard .im .blurfill{position:absolute;inset:-12%;width:124%;height:124%;max-width:none;object-fit:cover;filter:blur(26px) saturate(1.35);opacity:.85;z-index:0}
.scard .im.contain>img.mainimg{position:relative;z-index:1;object-fit:contain;background:transparent}
.det-img{position:relative;overflow:hidden}
.det-img .blurfill{position:absolute;inset:-12%;width:124%;height:124%;max-width:none;object-fit:cover;filter:blur(30px) saturate(1.35);opacity:.9;z-index:0}
.det-img.contain>img.mainimg{position:relative;z-index:1;object-fit:contain}

/* ————— detail v3: countdown · timeline · tools ————— */
.det-count{display:flex;gap:18px;align-items:baseline;margin:16px 0 4px;flex-wrap:wrap}
.det-count .cd{display:flex;flex-direction:column;align-items:center}
.det-count .cd b{font-size:clamp(26px,2.2vw,38px);font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.det-count .cd span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-top:2px}
.det-count .sep{font-size:clamp(22px,1.8vw,30px);color:var(--ink3);align-self:flex-start;line-height:1.35}
.det-count.urgent .cd b{color:var(--red)}
.det-timeline{margin:18px 0 6px}
.det-timeline .tl-bar{position:relative;height:4px;border-radius:2px;background:var(--hair);overflow:visible}
.det-timeline .tl-fill{position:absolute;left:0;top:0;bottom:0;border-radius:2px;background:var(--ink)}
.det-timeline .tl-dot{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--red);border:2.5px solid #fff;box-shadow:var(--sh-sm);transform:translate(-50%,-50%)}
.det-timeline .tl-lbls{display:flex;justify-content:space-between;margin-top:9px;font-size:11px;color:var(--ink2)}
.det-timeline .tl-lbls b{display:block;color:var(--ink);font-weight:600;font-size:11.5px}
.toolrow{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px}
.tool{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:var(--r-pill);font-size:12px;font-weight:500;background:var(--card);box-shadow:var(--sh-xs);color:var(--ink);transition:transform .15s var(--ease),box-shadow .15s}
.tool:hover{transform:translateY(-1px);box-shadow:var(--sh-sm)}
.orgchip{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:var(--r-pill);background:var(--card);box-shadow:var(--sh-xs);margin:2px 0 14px}
.orgchip img{width:30px;height:30px;border-radius:50%;object-fit:cover;background:var(--hair2)}
.orgchip .on{font-size:12.5px;font-weight:600}
.orgchip .os{font-size:10.5px;color:var(--ink2)}
.regvel{font-size:12px;color:var(--ink2);margin-top:10px}
.regvel b{color:var(--ink)}
.det-desc p{margin-bottom:12px}
.metgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:4px}
.metgrid.v2{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.metgrid.v2 .metcard.dark{grid-column:span 2;background:#101012;border-color:#101012;color:#fff}
.metgrid.v2 .metcard.dark .met-h{color:rgba(255,255,255,.45)}
.metgrid.v2 .metcard.dark .met-big{color:#fff}
.metgrid.v2 .metcard.dark .met-big span{color:rgba(255,255,255,.5)}
.metgrid.v2 .metcard.dark .met-sub{color:rgba(255,255,255,.55)}
.metgrid.v2 .metcard.dark .met-sub b{color:#fff}
.metgrid.v2 .metcard.dark svg{margin:10px 0 8px}
.met-ring{display:flex;align-items:center;gap:12px;margin:4px 0 6px}
.ringviz{width:56px;height:56px;flex-shrink:0}
.met-ring .met-big{gap:6px}
.met-ring .met-big span{font-size:12px}
.segrow{display:flex;gap:6px;align-items:flex-end;height:52px;margin:10px 0 8px}
.seg-day{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}
.seg-day i{display:block;width:100%;border-radius:5px}
.seg-day span{font-size:8.5px;color:var(--ink3);letter-spacing:.04em}
.met-duo{height:5px;border-radius:3px;background:var(--hair);margin-top:10px;overflow:hidden}
.met-duo span{display:block;height:100%;border-radius:3px;background:var(--ink)}
@media(max-width:760px){.metgrid.v2 .metcard.dark{grid-column:1/-1}}
.metcard{background:var(--card);border:1px solid var(--hair2);border-radius:14px;padding:14px 15px}
.met-h{font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}
.met-big{font-size:26px;font-weight:500;letter-spacing:-.02em;line-height:1;display:flex;align-items:baseline;gap:5px}
.met-big span{font-size:11px;font-weight:500;color:var(--ink3);letter-spacing:0}
.met-bar{height:4px;border-radius:2px;background:var(--hair);margin:9px 0 8px;overflow:hidden}
.met-bar i{display:block;height:100%;border-radius:2px}
.met-sub{font-size:11px;color:var(--ink2);line-height:1.45}
.met-note{font-size:11px;color:var(--ink3);margin-top:11px;line-height:1.5}

/* ————— AI dock popup (liquid glass, spring physics) ————— */
.ai-dock{z-index:85}
.dock-pop{
  position:absolute;left:50%;bottom:calc(100% + 12px);width:min(560px,92vw);
  transform:translateX(-50%) translateY(24px) scale(.94);opacity:0;pointer-events:none;
  border-radius:24px;padding:8px 16px 16px;transform-origin:bottom center;will-change:transform,opacity;overflow:hidden;
  background:var(--card);
  border:1px solid rgba(16,16,16,.05);
  box-shadow:0 30px 90px rgba(16,16,16,.2);
}
.dock-pop::after{content:'';position:absolute;left:22px;right:22px;bottom:0;height:2px;border-radius:2px;background:var(--edge-light);pointer-events:none}
.dock-pop.live{pointer-events:auto}
.dock-pop-grab{width:44px;height:5px;border-radius:3px;background:rgba(16,16,16,.16);margin:6px auto 10px;cursor:grab;touch-action:none}
.dock-pop-grab:active{cursor:grabbing}
.dock-pop .ph{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:8px 4px 7px}
.dock-pop .prow{display:flex;gap:8px;flex-wrap:wrap}
.dock-pop .pit{display:flex;align-items:center;gap:9px;padding:9px 13px;border-radius:14px;background:rgba(255,255,255,.8);box-shadow:var(--sh-xs);font-size:12.5px;font-weight:500;transition:transform .15s var(--ease)}
.dock-pop .pit:hover{transform:translateY(-1px)}
.dock-pop .pit img{width:26px;height:26px;border-radius:7px;object-fit:cover}
.dock-pop .pit .d{color:var(--red);font-weight:700;font-size:11px}

/* ————— liquid-glass cursor ————— */
@media (pointer:fine){
  body.has-cursor,body.has-cursor a,body.has-cursor button,body.has-cursor [onclick],body.has-cursor input,body.has-cursor label{cursor:none}
}
.cursor{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;display:none;will-change:transform}
body.has-cursor .cursor{display:block}
/* shader heart: WebGL gradient canvas cut into a clean rounded-heart silhouette by a
   CSS mask (crisp edges). Tip at 92% of the box = the pointer hotspot; JS leans it
   like a cursor. Heart path is a generic geometric silhouette authored here. */
.cursor{transition:scale .12s var(--ease)}
.cursor[data-state="hover"]{scale:1.18}
.cursor[data-state="press"]{scale:.86}
.cursor .c-heart{
  display:block;width:auto;height:34px;
  image-rendering:pixelated;image-rendering:crisp-edges;
  will-change:transform;
  transition:opacity .15s;
}
@media (pointer:coarse),(prefers-reduced-motion:reduce){body.has-cursor{cursor:auto}.cursor{display:none !important}}

/* ————— v4: departments · week plan · pipeline · plans · badges ————— */
.clickcard{cursor:pointer;transition:transform var(--d) var(--ease),box-shadow var(--d) var(--ease)}
.clickcard:hover{transform:translateY(-2px);box-shadow:var(--sh-sm)}
.legend b{cursor:pointer}
.legend b:hover{color:var(--ink)}

.depts{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 18px;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding-left:var(--gutter);padding-right:var(--gutter)}
.depts::-webkit-scrollbar{display:none}
.dept{display:inline-flex;align-items:center;gap:9px;padding:9px 15px 9px 10px;border-radius:var(--r-pill);background:var(--card);box-shadow:var(--sh-xs);white-space:nowrap;font-size:13px;font-weight:500;transition:transform .15s var(--ease),box-shadow .15s}
.dept:hover{transform:translateY(-2px);box-shadow:var(--sh-sm)}
.dept .di{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--tc) 14%,white);color:var(--tc)}
.dept .dc{font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums}

.weekplan{background:var(--card);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--sh-xs);margin-bottom:34px}
.wp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px;flex-wrap:wrap}
.wp-sub{font-size:13px;color:var(--ink2);margin-top:6px}
.wp-pipe{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:var(--ink2);padding:9px 14px;border-radius:var(--r-pill);background:var(--canvas);cursor:pointer}
.wp-pipe b{color:var(--ink);font-weight:700}
.wp-pipe i{color:var(--ink3);display:inline-flex}
.planrow{display:flex;align-items:center;gap:14px;padding:12px 6px;border-top:1px solid var(--hair2);cursor:pointer;transition:background .15s}
.planrow:hover{background:var(--canvas)}
.pr-day{width:92px;flex-shrink:0;line-height:1.25}
.pr-day b{font-size:12.5px;font-weight:700;display:block}
.pr-day i{font-size:10.5px;color:var(--ink3);font-style:normal}
.pr-day.urgent b,.pr-day.urgent i{color:var(--red)}
.pr-th{width:40px;height:40px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--hair2)}
.pr-t{flex:1;min-width:0;line-height:1.3}
.pr-t b{font-size:13.5px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-t i{font-size:11.5px;color:var(--ink2);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.pr-act{flex-shrink:0;padding:8px 14px;font-size:12px}
.wp-foot{display:flex;gap:8px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--hair2);margin-top:2px}

.plan{border-left:2px solid var(--hair);padding-left:18px;margin-top:4px}
.plan-step{display:flex;align-items:baseline;gap:12px;padding:7px 0;position:relative}
.plan-step::before{content:'';position:absolute;left:-24.5px;top:14px;width:11px;height:11px;border-radius:50%;background:var(--card);border:2px solid var(--ink3)}
.plan-step.final::before{background:var(--red);border-color:var(--red)}
.ps-n{font-size:10.5px;font-weight:700;color:var(--ink3);letter-spacing:.06em;width:20px;flex-shrink:0;display:inline-flex}
.ps-t{flex:1;font-size:13.5px}
.plan-step.final .ps-t{font-weight:700}
.ps-d{font-size:11.5px;color:var(--ink2);font-variant-numeric:tabular-nums;white-space:nowrap}

.badge2{position:absolute;bottom:10px;left:10px;z-index:2;font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:5px 9px;border-radius:var(--r-pill);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.badge2.urg{background:rgba(255,75,46,.92);color:#fff}
.badge2.hot{background:rgba(16,16,16,.82);color:#fff}
.badge2.gem{background:rgba(205,247,74,.92);color:var(--ink)}
.badge2.new{background:rgba(255,255,255,.9);color:var(--ink)}

@media (max-width:760px){
  .wp-head{flex-direction:column}
  .pr-act{display:none}
  .depts{padding-bottom:12px}
}

/* ————— v5: generative chat UI ————— */
.mg.gen{max-width:92%}
.gcards{display:flex;flex-direction:column;gap:7px;margin-top:8px}
.gcard{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;background:var(--card);border-radius:16px;box-shadow:var(--sh-xs);transition:transform .15s var(--ease),box-shadow .15s}
.gcard:hover{transform:translateY(-1px);box-shadow:var(--sh-sm)}
.gcard img{width:42px;height:42px;border-radius:10px;object-fit:cover;flex-shrink:0;background:var(--hair2)}
.gcard .gc-t{flex:1;min-width:0;line-height:1.3}
.gcard .gc-t b{font-size:13px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcard .gc-t i{font-size:11px;color:var(--ink2);font-style:normal;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcard .gc-r{text-align:right;flex-shrink:0;line-height:1.3}
.gcard .gc-r b{font-size:13px;display:block}
.gcard .gc-r b.urgent{color:var(--red)}
.gcard .gc-r i{font-size:10.5px;color:var(--ink2);font-style:normal}
.greason{font-size:10.5px;color:var(--ink3);letter-spacing:.08em;text-transform:uppercase;padding:6px 4px 0}
.gstat{display:flex;align-items:baseline;gap:10px;margin-top:8px;padding:14px 16px;background:var(--card);border-radius:16px;box-shadow:var(--sh-xs)}
.gstat b{font-size:34px;font-weight:500;letter-spacing:-.03em}
.gstat span{font-size:13px;font-weight:600}
.gstat i{font-size:11.5px;color:var(--ink2);font-style:normal;margin-left:auto}
.gelig,.gplan,.gcmp{margin-top:8px;padding:14px 16px;background:var(--card);border-radius:16px;box-shadow:var(--sh-xs)}
.ge-h{font-size:13px;font-weight:700;margin-bottom:9px;cursor:pointer}
.ge-h:hover{color:var(--red)}
.ge-row{display:flex;align-items:baseline;gap:9px;padding:5px 0;font-size:12.5px;border-top:1px solid var(--hair2)}
.ge-row:first-of-type{border-top:none}
.ge-row .ge-i{display:inline-flex;flex-shrink:0;transform:translateY(2px)}
.ge-row b{flex-shrink:0;width:74px;font-weight:600}
.ge-row span:last-child{color:var(--ink2)}
.gplan .plan{margin:4px 0 10px}
.gcmp-row{display:grid;grid-template-columns:1fr 52px 84px 64px 46px;gap:8px;padding:8px 2px;font-size:12px;border-top:1px solid var(--hair2);align-items:baseline;cursor:pointer}
.gcmp-row:hover .tt{color:var(--red)}
.gcmp-row.gcmp-head{border-top:none;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);cursor:default}
.gcmp-row .tt{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gcmp-row .urgent{color:var(--red);font-weight:700}
.genform{margin-top:8px;padding:16px;background:var(--card);border-radius:16px;box-shadow:var(--sh-xs)}
.gf-h{font-size:12.5px;font-weight:700;margin-bottom:12px}
.gf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.gf-grid label{display:flex;flex-direction:column;gap:5px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3)}
.gf-grid select,.gf-grid input{padding:9px 11px;border:1px solid var(--hair);border-radius:11px;font-size:13px;background:var(--canvas);outline:none}
.gf-grid select:focus,.gf-grid input:focus{border-color:var(--ink)}
.gf-doms{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.gf-dom{padding:6px 12px;border-radius:var(--r-pill);font-size:11.5px;font-weight:500;background:var(--canvas);border:1px solid var(--hair);transition:all .12s}
.gf-dom.on{background:var(--ink);color:#fff;border-color:var(--ink)}
@media (max-width:760px){.mg.gen{max-width:100%}.gf-grid{grid-template-columns:1fr}.gcmp-row{grid-template-columns:1fr 44px 60px 40px}.gcmp-row span:nth-child(4){display:none}.gcmp-row.gcmp-head span:nth-child(4){display:none}}

/* ————— mobile: Orb-style floating tab bar + responsive ————— */
.tabbar-m{display:none}
@media (max-width:760px){
  .tabbar-m{
    display:flex;position:fixed;left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:96;
    align-items:center;justify-content:space-around;padding:8px 10px;border-radius:26px;
    background:var(--card);
    border:1px solid rgba(16,16,16,.05);
    box-shadow:0 16px 50px rgba(16,16,16,.18);
  }
  .tabbar-m::after{content:'';position:absolute;left:34px;right:34px;bottom:0;height:2px;border-radius:2px;background:var(--edge-light);pointer-events:none}
  .tabbar-m .tb{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 12px;border-radius:16px;color:var(--ink3);font-size:9.5px;font-weight:600;letter-spacing:.02em;transition:color .15s}
  .tabbar-m .tb.on{color:var(--ink)}
  .tabbar-m .tb.ask{
    width:52px;height:52px;border-radius:50%;background:var(--red);color:#fff;margin-top:-26px;
    align-items:center;justify-content:center;padding:0;gap:0;
    box-shadow:0 10px 26px rgba(255,75,46,.45),inset 0 1px 0 rgba(255,255,255,.4);
  }
  .topbar{top:8px;margin:8px 12px 0;max-width:none;padding:8px 12px}
  .nav-center,.menu-drop{display:none}
  .top-right .icbtn[data-ic="gear"]{display:none}
  .crumbrow{padding-top:16px}
  .crumbs{display:none}
  .crumb-actions{width:100%;justify-content:space-between}
  .view{padding-bottom:190px}
  .hero{padding-top:22px}
  .hero-h{font-size:clamp(42px,12.5vw,58px)}
  .hero-ctas .pill{flex:1;justify-content:center}
  .dash,.dash2{grid-template-columns:1fr;gap:14px}
  .ai-dock{left:14px;right:14px;bottom:calc(env(safe-area-inset-bottom,0px) + 78px)}
  .dock-pop{width:calc(100vw - 28px)}
  .det-count .cd b{font-size:30px}
  .ledger-fig{font-size:clamp(40px,10vw,64px)}
  .foot{padding-bottom:8px}
}

/* ═══════════ SCOUTED — the pipeline workspace ═══════════ */
.sc-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:22px 0 30px;border-bottom:1px solid var(--hair);padding-bottom:0}
.sc-tab{display:inline-flex;align-items:center;gap:7px;padding:10px 14px 12px;font-size:13px;font-weight:600;color:var(--ink2);border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .16s,border-color .16s}
.sc-tab:hover{color:var(--ink)}
.sc-tab.on{color:var(--ink);border-bottom-color:var(--ink)}
.sc-tab svg{color:currentColor}
.sc-n{font-size:10px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--hair);color:var(--ink);display:inline-flex;align-items:center;justify-content:center}
.sc-tab.on .sc-n{background:var(--ink);color:#fff}

/* funnel — saved → drafts → applied → results */
.sc-funnel{display:flex;align-items:stretch;gap:6px;margin-bottom:30px;flex-wrap:wrap}
.fn-step{flex:1;min-width:150px;text-align:left;padding:16px;border-radius:16px;background:var(--card);box-shadow:var(--sh-xs);transition:transform .18s var(--ease),box-shadow .18s}
.fn-step:hover{transform:translateY(-2px);box-shadow:var(--sh-sm)}
.fn-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.fn-t{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}
.fn-t svg{color:var(--ink3)}
.fn-n{font-size:30px;font-weight:300;letter-spacing:-.03em;line-height:1}
.fn-bar{height:4px;border-radius:2px;background:var(--hair2);margin:12px 0 8px;overflow:hidden}
.fn-bar i{display:block;height:100%;border-radius:2px;transition:width .5s var(--ease)}
.fn-d{font-size:10.5px;color:var(--ink3);line-height:1.4}
.fn-ar{display:flex;align-items:center;color:var(--ink3);flex-shrink:0}
@media(max-width:820px){.fn-ar{display:none}}

.sc-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-bottom:34px}
.sc-stat{padding:16px;border-radius:16px;background:var(--card);box-shadow:var(--sh-xs)}
.sc-stat .l{font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3)}
.sc-stat .v{display:flex;align-items:baseline;gap:6px;margin:8px 0 6px}
.sc-stat .v b{font-size:32px;font-weight:300;letter-spacing:-.035em;line-height:1}
.sc-stat .v span{font-size:11.5px;color:var(--ink3)}
.sc-mini{font-size:10.5px;color:var(--ink3);line-height:1.5}

.sc-h{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--hair)}
.sc-h h3{font-size:20px;font-weight:400;letter-spacing:-.02em}
.sc-h span{font-size:11.5px;color:var(--ink3)}
.sc-risk{margin-bottom:34px}
.risk-row{display:flex;align-items:center;gap:14px;padding:12px 4px;border-bottom:1px solid var(--hair2);cursor:pointer;transition:background .14s}
.risk-row:hover{background:rgba(16,16,16,.02)}
.rr-d{font-size:12px;font-weight:700;min-width:34px;color:var(--ink2)}
.rr-d.hot{color:var(--red)}
.rr-t{font-size:13.5px;font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rr-o{font-size:11.5px;color:var(--ink3);flex-shrink:0}
@media(max-width:640px){.rr-o{display:none}}

/* 12-week activity grid */
.act-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px;max-width:460px}
.ac-c{width:100%;aspect-ratio:1;border-radius:2px;display:block}
.ac-c.l0{background:var(--hair2)}
.ac-c.l1{background:#FFC9BE}
.ac-c.l2{background:#FF8C74}
.ac-c.l3{background:var(--red)}
.act-leg{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;font-size:10.5px;color:var(--ink3);max-width:460px;flex-wrap:wrap}
.ac-key{display:inline-flex;align-items:center;gap:3px}
.ac-key .ac-c{width:9px;height:9px}

.sc-nudge{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:18px 20px;border-radius:18px;background:var(--ink);color:#fff;margin-bottom:34px;flex-wrap:wrap}
.sn-t{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.sn-s{font-size:12px;color:rgba(255,255,255,.6);margin-top:4px}
.sc-nudge .pill-dark{background:#fff;color:var(--ink)}

/* pipeline cards */
.scard.pipe .stage-chip{background:var(--sc);color:#fff;display:inline-flex;align-items:center;gap:5px}
.badge2.closed{background:var(--ink3);color:#fff}
.pipe-prog{display:flex;align-items:center;gap:9px;margin:8px 0 2px}
.pp-bar{flex:1;height:4px;border-radius:2px;background:var(--hair2);overflow:hidden}
.pp-bar i{display:block;height:100%;background:var(--orange);border-radius:2px}
.pipe-prog span{font-size:10.5px;color:var(--ink3);font-weight:600;flex-shrink:0}
.pipe-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ink2);margin:8px 0 2px;font-weight:600}
.pipe-meta.res-won{color:var(--green-deep)}
.pipe-meta.res-rejected{color:var(--ink3)}
.pipe-gone{font-size:10px;color:var(--ink3);margin-top:8px;font-style:italic}
.pill-sm{padding:7px 12px;font-size:11.5px}

/* bottom sheet */
.sheet-wrap{position:fixed;inset:0;z-index:200;display:none}
.sheet-wrap.on{display:block}
.sheet-scrim{position:absolute;inset:0;background:rgba(16,16,16,.34);backdrop-filter:blur(3px)}
.sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(440px,100%);background:var(--card);border-radius:26px 26px 0 0;padding:26px 24px calc(26px + env(safe-area-inset-bottom));box-shadow:0 -20px 60px rgba(16,16,16,.2)}
@media(min-width:640px){.sheet{bottom:50%;transform:translate(-50%,50%);border-radius:26px}}
.sh-h{font-size:20px;font-weight:400;letter-spacing:-.02em}
.sh-s{font-size:12.5px;color:var(--ink3);margin:5px 0 16px}
.sh-body{font-size:13px;color:var(--ink2);line-height:1.6;margin-bottom:18px}
.sh-opts{display:flex;flex-direction:column;gap:7px}
.sh-opt{padding:13px;border-radius:13px;background:var(--canvas);font-size:13.5px;font-weight:600;text-align:left;transition:background .14s}
.sh-opt:hover{background:var(--hair2)}
.sh-opt.prime{background:var(--ink);color:#fff;text-align:center}

/* ═══════════ APPLY COMPOSER ═══════════ */
.backlink{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink2);margin-bottom:22px;transition:color .14s}
.backlink:hover{color:var(--ink)}
.ap-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--hair);flex-wrap:wrap}
.ap-org{display:flex;align-items:center;gap:14px;min-width:0}
.ap-org img{width:44px;height:44px;border-radius:11px;object-fit:contain;background:var(--card);box-shadow:var(--sh-xs);flex-shrink:0}
.ap-t{font-size:clamp(20px,2.4vw,28px);font-weight:400;letter-spacing:-.028em;line-height:1.15}
.ap-s{font-size:13px;color:var(--ink3);margin-top:5px}
.ap-pct{text-align:right;flex-shrink:0}
.ap-pct b{font-size:30px;font-weight:300;letter-spacing:-.03em;display:block;line-height:1}
.ap-pct span{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--ink3)}
.ap-steps{display:flex;align-items:center;gap:10px;margin:26px 0 34px;flex-wrap:wrap}
.ap-step{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:var(--ink3)}
.ap-step.on{color:var(--ink)}
.ap-step.done{color:var(--ink2)}
.ap-n{width:26px;height:26px;border-radius:50%;background:var(--hair2);color:var(--ink3);display:inline-flex;align-items:center;justify-content:center;font-size:11.5px;font-weight:700;flex-shrink:0}
.ap-step.on .ap-n{background:var(--ink);color:#fff}
.ap-step.done .ap-n{background:var(--green);color:var(--ink)}
.ap-line{flex:1;max-width:70px;height:1px;background:var(--hair)}
.ap-work{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(28px,4vw,60px);align-items:start}
@media(max-width:1080px){.ap-work{grid-template-columns:1fr}.ap-side{order:-1}}
.ap-side{position:sticky;top:96px;display:flex;flex-direction:column;gap:12px}
.aps-card{padding:18px;border-radius:18px;background:var(--card);box-shadow:var(--sh-xs)}
.aps-h{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink2);margin-bottom:14px}
.aps-h svg{color:var(--ink3)}
.aps-src,.aps-acct{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--hair2)}
.aps-src:last-of-type{border-bottom:none}
.aps-i{width:28px;height:28px;border-radius:9px;background:var(--canvas);display:flex;align-items:center;justify-content:center;color:var(--ink2);flex-shrink:0}
.aps-src span:not(.aps-i),.aps-acct span:not(.aps-i){display:flex;flex-direction:column;line-height:1.35;min-width:0;flex:1}
.aps-src b,.aps-acct b{font-size:13px;font-weight:700}
.aps-src i,.aps-acct i{font-style:normal;font-size:11px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis}
.aps-src > svg{color:var(--green-deep);flex-shrink:0}
.aps-empty{font-size:12px;color:var(--ink3);line-height:1.6}
.aps-auto{width:100%;justify-content:center;margin-top:14px;padding:13px}
.aps-fine{font-size:10px;color:var(--ink3);line-height:1.5;margin-top:10px}
.aps-conn{display:flex;gap:7px}
.aps-conn input{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid var(--hair);background:var(--canvas);font:inherit;font-size:12.5px;outline:none}
.aps-conn input:focus{border-color:var(--ink)}
.aps-x{width:24px;height:24px;border-radius:7px;color:var(--ink3);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.aps-x:hover{background:var(--canvas);color:var(--red)}
.aps-repos{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.aps-repo{font-size:10.5px;padding:4px 9px;border-radius:var(--r-pill);background:var(--canvas);color:var(--ink2);font-weight:600}
.aps-mets{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aps-met b{font-size:19px;font-weight:400;letter-spacing:-.02em;display:block;line-height:1.2}
.aps-met span{font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3)}
.aps-link{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--ink2);margin-top:16px;padding-top:14px;border-top:1px solid var(--hair2);width:100%}
.aps-link:hover{color:var(--ink)}

.ap-sec{max-width:none}
.ap-lead{margin-bottom:28px}
.ap-lead h3{font-size:clamp(26px,2.6vw,32px);font-weight:400;letter-spacing:-.028em;margin-bottom:10px}
.ap-lead p{font-size:15px;color:var(--ink2);line-height:1.7;max-width:62ch}
.ap-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.ap-grid{grid-template-columns:1fr}}
.ap-f{display:flex;flex-direction:column;gap:6px}
.ap-f.wide{grid-column:1/-1}
.ap-f span{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3)}
.ap-f input{padding:14px 15px;border-radius:12px;border:1px solid var(--hair);background:var(--card);font:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .14s,box-shadow .14s}
.ap-f input:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(16,16,16,.05)}
.ap-q{margin-bottom:28px}
.ap-qh{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.ap-ql{font-size:16px;font-weight:600;letter-spacing:-.01em}
.ap-q textarea{width:100%;min-height:120px;padding:16px 18px;border-radius:14px;border:1px solid var(--hair);background:var(--card);font:inherit;font-size:15.5px;line-height:1.72;color:var(--ink);outline:none;resize:vertical;transition:border-color .14s,box-shadow .14s}
.ap-q textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px rgba(16,16,16,.05)}
.ap-count{font-size:11px;color:var(--ink3);text-align:right;margin-top:6px}
.ap-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding-top:20px;border-top:1px solid var(--hair);flex-wrap:wrap}
.ap-note{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink3)}
.ap-pack{border-radius:18px;background:var(--card);box-shadow:var(--sh-xs);overflow:hidden;margin-bottom:16px}
.pack-h{display:flex;align-items:center;gap:9px;padding:14px 16px;border-bottom:1px solid var(--hair2);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}
.pack-h .pill{margin-left:auto}
.pack-row{display:grid;grid-template-columns:160px 1fr 32px;gap:14px;align-items:start;padding:13px 18px;border-bottom:1px solid var(--hair2);font-size:14px}
.pack-row:last-child{border-bottom:none}
.pack-row.long{grid-template-columns:150px 1fr 32px}
.pack-row.long .pv{line-height:1.7;white-space:pre-wrap}
.pk{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);padding-top:2px}
.pv{color:var(--ink);min-width:0;overflow-wrap:anywhere}
.pack-c{width:26px;height:26px;border-radius:8px;color:var(--ink3);display:flex;align-items:center;justify-content:center;transition:background .14s,color .14s}
.pack-c:hover{background:var(--canvas);color:var(--ink)}
@media(max-width:640px){.pack-row,.pack-row.long{grid-template-columns:1fr 30px}.pk{grid-column:1/-1}}
.ap-warn{display:flex;align-items:center;gap:9px;padding:14px 16px;border-radius:12px;background:#FFF4E8;color:#8A5200;font-size:13.5px;margin-bottom:18px}
.ap-send{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.send-lane{width:100%;padding:20px;border-radius:18px;background:var(--ink);color:#fff}
.sl-h{display:flex;align-items:center;gap:8px;font-size:15.5px;font-weight:700}
.demo-tag{font-size:8.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;background:rgba(255,255,255,.2);padding:3px 7px;border-radius:var(--r-pill)}
.sl-d{font-size:13px;color:rgba(255,255,255,.62);margin:7px 0 18px;line-height:1.6;max-width:58ch}
.acct-nudge{padding:18px;border-radius:14px;background:var(--canvas);text-align:left}
.an-t{font-size:13.5px;font-weight:700}
.an-s{font-size:12px;color:var(--ink2);line-height:1.55;margin:5px 0 14px}

/* auth */
.auth-h{font-size:clamp(30px,4.2vw,46px);font-weight:300;letter-spacing:-.035em;line-height:1.08;margin-bottom:14px}
.auth-h.sm{font-size:clamp(26px,3.2vw,34px)}
.auth-p{font-size:13.5px;color:var(--ink2);line-height:1.65;margin-bottom:24px}
.auth-why{display:flex;flex-direction:column;gap:10px;margin-bottom:26px}
.aw{display:flex;align-items:center;gap:11px;font-size:13px;color:var(--ink)}
.aw span{width:30px;height:30px;border-radius:9px;background:var(--canvas);display:flex;align-items:center;justify-content:center;color:var(--ink2);flex-shrink:0}
.auth-form{display:flex;flex-direction:column;gap:13px;margin-bottom:20px}
.au-college:empty{display:none}
.au-hit{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--green-deep);padding:9px 12px;border-radius:10px;background:#EEF9EE}
.auth-err{font-size:12px;color:var(--red);min-height:14px}
.auth-err:empty{min-height:0}
.pill.wide{width:100%;justify-content:center}
.auth-skip{display:block;width:100%;text-align:center;font-size:12.5px;color:var(--ink3);margin-top:16px;transition:color .14s}
.auth-skip:hover{color:var(--ink)}
.auth-fine{display:flex;align-items:flex-start;gap:7px;font-size:10.5px;color:var(--ink3);line-height:1.5;margin-top:22px;padding-top:16px;border-top:1px solid var(--hair)}
.auth-fine svg{flex-shrink:0;margin-top:1px}

/* menu counts */
.menu-n{margin-left:auto;font-size:10px;font-weight:700;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--hair);color:var(--ink2);display:inline-flex;align-items:center;justify-content:center}
.sc-mm{padding:2px 6px 10px}
.mm-row{font-size:12px;color:var(--ink2);padding:5px 0;line-height:1.5}
.mm-row b{color:var(--ink);font-weight:700}
.mm-row.hot{color:var(--red);display:flex;align-items:center;gap:6px;font-weight:600}
.mm-row.ok{color:var(--green-deep)}

/* black icon buttons (save / share on a listing) */
.icbtn.ink{width:46px;height:46px;background:var(--ink);color:#fff;border-color:var(--ink)}
.icbtn.ink:hover{background:#000;transform:translateY(-1px)}
.icbtn.ink.on{background:var(--red);border-color:var(--red)}
.conn-in{display:inline-flex;align-items:center;gap:8px}
.conn-in input{padding:6px 10px;border-radius:8px;border:1px solid var(--hair);background:var(--canvas);font:inherit;font-size:12px;outline:none}
.conn-in input:focus{border-color:var(--ink)}

/* account sync state — quiet by default, only speaks when it matters */
.sync-badge{font-size:11px;font-weight:600;color:var(--ink3);transition:color .2s;white-space:nowrap}
.sync-badge.sb-saving{color:var(--ink3)}
.sync-badge.sb-ok{color:var(--green-deep)}
.sync-badge.sb-off{color:var(--orange)}
.acct-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--hair2)}
.acct-row:last-child{border-bottom:none}
.acct-ic{width:34px;height:34px;border-radius:10px;background:var(--canvas);display:flex;align-items:center;justify-content:center;color:var(--ink2);flex-shrink:0}
.acct-tx{display:flex;flex-direction:column;line-height:1.35;min-width:0;flex:1}
.acct-tx b{font-size:13.5px;font-weight:600}
.acct-tx i{font-style:normal;font-size:11.5px;color:var(--ink3)}
.acct-badge{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 9px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--green-deep) 12%,#fff);color:var(--green-deep)}

/* ═══════════ v28 — IA rework + admissions ═══════════ */
/* dynamic shader-gradient border on the chat + search bars */
.composer::before,.ai-bar.search-bar::before{
  content:'';position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;
  background:conic-gradient(from var(--ang,0deg),#FF4B2E,#FFA02E,#CDF74A,#FF3F6C,#9A7BFF,#FF4B2E);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:spin 7s linear infinite;pointer-events:none;opacity:.85;
}
.ai-bar.search-bar{position:relative}
@media (prefers-reduced-motion: reduce){.composer::before,.ai-bar.search-bar::before{animation:none}}

/* the copilot orb in the top-right */
.icbtn.agent-orb{background:var(--ink);color:#fff}
.icbtn.agent-orb:hover{background:#000;transform:scale(1.06)}

/* home inline search */
.hero .bigsearch.home-search{margin-top:26px;max-width:640px}

.menu-empty{font-size:12px;color:var(--ink3);padding:8px 10px;line-height:1.5}

/* master profile */
.psec-sub{font-size:12.5px;color:var(--ink2);line-height:1.6;margin:-6px 0 16px;max-width:64ch}
.mc-bar-row{display:flex;align-items:baseline;justify-content:space-between}
.mc-pct{font-size:26px;font-weight:400;letter-spacing:-.02em}
.mc-bar{height:7px;border-radius:4px;background:var(--hair2);margin:10px 0 8px;overflow:hidden}
.mc-bar i{display:block;height:100%;border-radius:4px;background:var(--ink);transition:width .6s cubic-bezier(.22,1,.36,1)}
.mc-sub{font-size:12px;color:var(--ink3);line-height:1.5}
.mc-nudge{display:flex;align-items:center;gap:12px;width:100%;margin-top:14px;padding:13px 16px;border-radius:14px;background:#FFF4E8;color:#8A5200;text-align:left;transition:transform .14s}
.mc-nudge:hover{transform:translateX(3px)}
.mc-nudge b{font-size:13px}.mc-nudge i{font-style:normal;font-size:11.5px;opacity:.8;flex:1}
.mp-sec{border:1px solid var(--hair2);border-radius:14px;margin-bottom:10px;overflow:hidden}
.mp-head{display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px;text-align:left;font-size:14px;transition:background .14s}
.mp-head:hover{background:var(--canvas)}
.mp-head b{font-weight:600;flex:1}
.mp-head i{font-style:normal;font-size:11px;color:var(--ink3)}
.mp-sec.open .mp-head svg:last-child{transform:rotate(180deg)}
.mp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;padding:6px 16px 18px}
.mp-grid .ap-f select{padding:14px 15px;border-radius:12px;border:1px solid var(--hair);background:var(--card);font:inherit;font-size:14px;color:var(--ink);outline:none}
.ap-hint{font-size:11.5px;color:var(--ink3);margin:-4px 0 8px}
/* documents vault */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.doc-cell{border:1.5px dashed var(--hair);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:5px;transition:border-color .15s,background .15s}
.doc-cell.have{border-style:solid;border-color:var(--hair2);background:var(--card);box-shadow:var(--sh-xs)}
.doc-cell.busy{opacity:.5;pointer-events:none}
.dc-top{display:flex;align-items:center;gap:8px}
.dc-top b{font-size:13px;font-weight:600}
.doc-cell.have .dc-top svg{color:var(--green-deep)}
.dc-spec{font-style:normal;font-size:10px;color:var(--ink3)}
.dc-meta{font-style:normal;font-size:11px;color:var(--ink2)}
.dc-up{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;margin-top:5px;padding:7px 0}
.dc-up:hover{color:var(--red)}
.dc-acts{display:flex;gap:4px;margin-top:5px}
.dc-acts button,.dc-re{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink2);background:var(--canvas);cursor:pointer}
.dc-acts button:hover,.dc-re:hover{background:var(--hair2);color:var(--ink)}
.ext-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ext-steps{font-size:12.5px;color:var(--ink2);line-height:1.9;padding-left:18px}
/* admissions */
.lede{font-size:15px;color:var(--ink2);line-height:1.7;max-width:70ch;margin:-8px 0 22px}
.adm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-top:16px}
.adm-card{background:var(--card);border:1px solid rgba(16,16,16,.05);border-radius:18px;padding:18px;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease;box-shadow:var(--sh-xs);display:flex;flex-direction:column;gap:8px}
.adm-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md)}
.adm-card.live{border-color:color-mix(in srgb,var(--green-deep) 30%,transparent)}
.ac-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ac-org{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3)}
.adm-st{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:var(--r-pill);background:var(--canvas);color:var(--ink2);flex-shrink:0}
.adm-st.open{background:color-mix(in srgb,var(--green-deep) 13%,#fff);color:var(--green-deep)}
.adm-st.soon2{background:#FFF4E8;color:#8A5200}
.adm-st.est{background:var(--canvas);color:var(--ink3)}
.ac-name{font-size:18px;font-weight:600;letter-spacing:-.015em;line-height:1.25}
.ac-meta{display:flex;flex-wrap:wrap;gap:5px}
.ac-meta span{font-size:10.5px;font-weight:600;padding:4px 9px;border-radius:var(--r-pill);background:var(--canvas);color:var(--ink2)}
.ac-elig{font-size:12px;color:var(--ink2);line-height:1.5}
.ac-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px solid var(--hair2)}
.ac-fit{font-size:11.5px;font-weight:700;color:var(--fc,var(--ink2))}
.ac-fee{font-size:11px;color:var(--ink3)}
.adm-note{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--ink3);line-height:1.6;margin-top:26px;max-width:76ch}
.adm-hero{display:flex;justify-content:space-between;gap:26px;align-items:flex-start;margin:6px 0 20px;flex-wrap:wrap}
.adm-h1{font-size:clamp(30px,4vw,46px);font-weight:400;letter-spacing:-.03em;line-height:1.05;margin-top:8px}
.adm-fit-card{background:var(--card);border-radius:18px;box-shadow:var(--sh-sm);padding:16px 20px;display:flex;flex-direction:column;min-width:150px}
.adm-fit-card b{font-size:30px;font-weight:400;letter-spacing:-.02em}
.adm-fit-card span{font-size:9.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink3)}
.adm-fit-card i{font-style:normal;font-size:11px;color:var(--ink2);margin-top:5px}
.adm-path{display:flex;flex-direction:column;gap:0}
.ap-step2{display:flex;gap:14px;align-items:flex-start;padding:12px 0;position:relative}
.ap-step2::before{content:'';position:absolute;left:13px;top:38px;bottom:-4px;width:1.5px;background:var(--hair)}
.ap-step2:last-child::before{display:none}
.ap-dot{width:27px;height:27px;border-radius:50%;background:var(--canvas);color:var(--ink2);font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1.5px solid var(--hair)}
.ap-step2.now .ap-dot{background:var(--ink);color:#fff;border-color:var(--ink)}
.ap-step2 b{font-size:14.5px;font-weight:600;display:block}
.ap-step2 i{font-style:normal;font-size:12px;color:var(--ink2)}
.adm-elig-row{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--hair2);font-size:13.5px}
.adm-elig-row .k{color:var(--ink3);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding-top:2px}
.adm-elig-row .v{line-height:1.6;display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.doc-pill{font-size:10.5px;font-weight:600;padding:4px 10px;border-radius:var(--r-pill);background:var(--canvas);color:var(--ink3)}
.doc-pill.ok{background:color-mix(in srgb,var(--green-deep) 12%,#fff);color:var(--green-deep)}

/* v29 — admission imagery */
.ac-img{position:relative;height:120px;border-radius:12px;overflow:hidden;margin:-6px -6px 4px;background:var(--canvas)}
.adm-card{padding:12px 18px 16px}
.adm-card .ac-img{margin:-12px -18px 8px;border-radius:18px 18px 0 0;height:128px}
.ac-img img:first-child{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}
.ac-img .adm-st{position:absolute;top:10px;right:10px}
.ac-logo{position:absolute;left:10px;bottom:10px;width:34px;height:34px;border-radius:10px;background:#fff;box-shadow:var(--sh-sm);display:flex;align-items:center;justify-content:center;overflow:hidden}
.ac-logo img{width:22px;height:22px;object-fit:contain}
.ac-logo.lg{width:52px;height:52px;border-radius:14px;left:18px;bottom:-16px}
.ac-logo.lg img{width:34px;height:34px}
.adm-banner{position:relative;height:190px;border-radius:22px;overflow:hidden;margin:4px 0 30px;background:var(--canvas)}
.adm-banner>img{width:100%;height:100%;object-fit:cover}
/* the orb button breathes a little */
.icbtn.agent-orb svg{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.icbtn.agent-orb:hover svg{transform:rotate(90deg) scale(1.08)}

/* apply-page copilot bar */
.ap-chat{display:flex;align-items:center;gap:10px;margin-top:22px;padding:7px 8px 7px 16px;background:#fff;border-radius:var(--r-pill);box-shadow:var(--sh-md);position:relative}
.ap-chat::before{content:'';position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--ang,0deg),#FF4B2E,#FFA02E,#CDF74A,#FF3F6C,#9A7BFF,#FF4B2E);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 7s linear infinite;pointer-events:none;opacity:.85}
.ap-chat input{flex:1;border:none;background:none;outline:none;font:inherit;font-size:14px;color:var(--ink);min-width:0}
.ap-chat input::placeholder{color:var(--ink2);opacity:.8}
.apc-ic{color:var(--ink2);display:flex;flex-shrink:0}
/* per-field rewrite bar */
.rw-bar{display:flex;gap:8px;margin-top:8px}
.rw-bar[hidden]{display:none}
.rw-bar input{flex:1;padding:11px 14px;border-radius:12px;border:1px solid var(--hair);background:var(--canvas);font:inherit;font-size:13px;outline:none}
.rw-bar input:focus{border-color:var(--ink)}
.pill-sm{padding:9px 16px;font-size:12.5px}
/* exam calendar strip — distinct, dark, connected */
.exam-rail-wrap{background:#101012;border-radius:20px;padding:16px 18px 14px;margin:2px 0 20px}
.exam-rail-h{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:12px}
.exam-rail{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.exam-rail::-webkit-scrollbar{display:none}
.exam-chip{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:13px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);transition:background .15s,border-color .15s;text-align:left}
.exam-chip:hover{background:rgba(255,255,255,.13)}
.exam-chip.on{background:#fff;border-color:#fff}
.exam-chip b{font-size:13px;font-weight:700;color:#fff}
.exam-chip.on b{color:var(--ink)}
.exam-chip i{font-style:normal;font-size:10px;color:rgba(255,255,255,.5)}
.exam-chip.on i{color:var(--ink2)}
.exam-chip em{font-style:normal;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#4FCB3F;margin-top:2px}
.filters.adm-f2{gap:8px;margin-top:-6px}

/* v29.1 — aspirational ladder + cleaner cards */
.ac-line{font-size:12px;color:var(--ink2)}
.ac-more{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;color:var(--ink3);transition:color .15s,transform .15s}
.adm-card:hover .ac-more{color:var(--ink);transform:translateX(2px)}
.reach-chip{display:inline-flex;align-self:flex-start;align-items:center;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:5px 10px;border-radius:var(--r-pill)}
.reach-chip.moon{background:color-mix(in srgb,var(--red) 12%,#fff);color:var(--red)}
.reach-chip.match{background:color-mix(in srgb,var(--green-deep) 13%,#fff);color:var(--green-deep)}
.reach-chip.safe{background:var(--canvas);color:var(--ink2)}
.reach-chip.far{background:var(--canvas);color:var(--ink3)}
.adm-card .ac-name{font-size:17px}

/* carousel arrows — Finsera-white circles, fade at the ends */
.rail-arr{position:absolute;top:44%;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--sh-md);display:flex;align-items:center;justify-content:center;color:var(--ink);z-index:6;transition:opacity .2s,transform .16s;opacity:0}
*:hover>.rail-arr{opacity:1}
.rail-arr.l{left:6px}.rail-arr.r{right:6px}
.rail-arr:hover{transform:scale(1.08)}
.rail-arr:active{transform:scale(.92)}
.rail-arr.off{opacity:0 !important;pointer-events:none}

/* ═══════════ DASHBOARD ═══════════ */
#dash{flex-direction:row;background:var(--canvas)}
#dash.on{display:flex}
.dash-nav{width:236px;flex-shrink:0;display:flex;flex-direction:column;background:var(--card);border-right:1px solid var(--hair2);padding:18px 12px 12px;position:sticky;top:0;height:100dvh}
.dn-brand{display:flex;align-items:center;gap:9px;padding:4px 10px 18px;cursor:pointer}
.dn-brand .heart-img{height:24px}
.dn-brand b{font-size:16px;letter-spacing:-.02em}
.dn-dot{width:8px;height:8px;border-radius:50%;background:var(--ink);margin-left:auto;transition:background .3s}
.dn-secs{flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto}
.dn-it{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:11px;font-size:13.5px;font-weight:500;color:var(--ink2);text-align:left;transition:background .14s,color .14s}
.dn-it svg{color:var(--ink3);transition:color .14s}
.dn-it:hover{background:var(--canvas);color:var(--ink)}
.dn-it.on{background:var(--canvas);color:var(--ink);font-weight:600}
.dn-it.on svg{color:var(--ink)}
.dn-it em{font-style:normal;margin-left:auto;font-size:10px;font-weight:700;min-width:19px;height:19px;padding:0 5px;border-radius:9px;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center}
.dn-me{display:flex;align-items:center;gap:10px;padding:12px 10px;border-top:1px solid var(--hair2);text-align:left;border-radius:11px;transition:background .14s}
.dn-me:hover{background:var(--canvas)}
.dash-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100dvh;overflow-y:auto}
.dash-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(22px,3.5vw,44px);background:color-mix(in srgb,var(--canvas) 88%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.dash-crumb{font-size:12.5px;color:var(--ink3)}
.dash-crumb em{font-style:normal;margin:0 7px}
.dash-crumb b{color:var(--ink);font-weight:600}
.dash-top-right{display:flex;align-items:center;gap:12px}
/* the way out of the dashboard. It was an arrow-left rotated 180deg — i.e. pointing
   right — on a near-canvas background, which read as "forward" and vanished. */
#dash-back{display:inline-flex;align-items:center;gap:8px;width:auto;height:36px;padding:0 14px 0 11px;border-radius:99px;background:var(--ink);color:var(--card);box-shadow:var(--sh-sm);font-size:12.5px;font-weight:500;letter-spacing:-.01em;transition:transform .16s cubic-bezier(.2,.8,.3,1),opacity .16s}
#dash-back .ic{stroke:currentColor}
#dash-back span{white-space:nowrap}
#dash-back:hover{transform:translateX(-2px);opacity:.88}
.dash-body{flex:1;padding:6px clamp(22px,3.5vw,44px) 60px;max-width:1060px;width:100%}
.dash-h{font-size:clamp(26px,2.6vw,34px);font-weight:400;letter-spacing:-.028em}
.dash-sub{font-size:13.5px;color:var(--ink2);margin:6px 0 22px;line-height:1.6}
/* paths (Dr+ milestone rows) */
.path-list{display:flex;flex-direction:column;gap:10px}
.path-row{display:flex;align-items:center;gap:16px;padding:16px 18px;background:var(--card);border-radius:18px;box-shadow:var(--sh-xs);border:1px solid transparent}
.path-row.risk{border-color:color-mix(in srgb,var(--red) 30%,transparent)}
.pr-img{width:46px;height:46px;border-radius:13px;overflow:hidden;background:var(--canvas);display:flex;align-items:center;justify-content:center;color:var(--ink3);flex-shrink:0}
.pr-img.sm{width:36px;height:36px;border-radius:10px}
.pr-img img{width:100%;height:100%;object-fit:cover}
.pr-main{flex:1;min-width:0}
.pr-t{font-size:14.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pr-org{font-weight:400;color:var(--ink3);font-size:12px;margin-left:8px}
.pr-steps{display:flex;align-items:center;gap:0;margin-top:8px}
.prs{font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill);background:var(--canvas);color:var(--ink3)}
.prs.done{background:color-mix(in srgb,var(--green-deep) 13%,#fff);color:var(--green-deep)}
.prs.now{background:var(--ink);color:#fff}
.prs-line{width:22px;height:1.5px;background:var(--hair)}
.pr-risk{margin-top:8px;font-size:11.5px;font-weight:600;color:var(--red);display:flex;align-items:center;gap:6px}
.pr-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.stage-pill{font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--sc,#888) 14%,#fff);color:var(--sc,var(--ink2))}
.pr-dl{font-style:normal;font-size:11px;color:var(--ink3)}
.pr-dl.hot{color:var(--red);font-weight:700}
.pr-acts{display:flex;align-items:center;gap:8px;flex-shrink:0}
/* tracking */
.dt-log{background:var(--card);border-radius:16px;box-shadow:var(--sh-xs);padding:14px 16px;margin-bottom:20px}
.dtl-h{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px}
.dtl-row{display:flex;align-items:center;gap:10px;padding:7px 0;border-top:1px solid var(--hair2);font-size:12.5px}
.dtl-st{width:20px;height:20px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}
.dtl-st.done{background:color-mix(in srgb,var(--green-deep) 14%,#fff);color:var(--green-deep)}
.dtl-st.failed{background:color-mix(in srgb,var(--red) 12%,#fff);color:var(--red)}
.dtl-st.running{background:var(--canvas)}
.spin2{width:10px;height:10px;border:2px solid var(--hair);border-top-color:var(--ink);border-radius:50%;display:inline-block;animation:sp2 .8s linear infinite}
@keyframes sp2{to{transform:rotate(360deg)}}
.dtl-t{flex:1;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dtl-row i{font-style:normal;color:var(--ink3);font-size:11px}
.track-table{display:flex;flex-direction:column}
.tt-row{display:grid;grid-template-columns:86px minmax(0,1fr) 110px minmax(0,180px) 60px 92px;gap:14px;align-items:center;padding:13px 14px;border-radius:13px;cursor:pointer;transition:background .13s}
.tt-row:hover{background:var(--card)}
.tt-t{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tt-pct{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink2)}
.ttp-bar{flex:1;height:4px;border-radius:2px;background:var(--hair2);overflow:hidden;min-width:44px}
.ttp-bar b{display:block;height:100%;background:var(--ink)}
.tt-risk em{font-style:normal;font-size:12px;font-weight:600;color:var(--red-deep)}
.tt-risk em::before{content:'● ';font-size:8px;vertical-align:1px}
.tt-ts{font-size:11px;color:var(--ink3);text-align:right}
/* queue + notifs */
.q-grp{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin:18px 0 8px}
.q-row,.nf-row{display:flex;align-items:center;gap:13px;padding:12px 14px;background:var(--card);border-radius:14px;box-shadow:var(--sh-xs);margin-bottom:8px}
.q-main{flex:1;min-width:0}
.q-main b{font-size:13.5px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.q-main i{font-style:normal;font-size:11.5px;color:var(--ink3)}
.nf-ic{width:30px;height:30px;border-radius:10px;background:var(--canvas);display:flex;align-items:center;justify-content:center;color:var(--ink2);flex-shrink:0}
.nf-row.agent .nf-ic{background:color-mix(in srgb,var(--red) 10%,#fff);color:var(--red)}
.nf-row.up .nf-ic{background:#FFF4E8;color:#8A5200}
.nf-m{flex:1;min-width:0}
.nf-m b{font-size:13px;font-weight:600;display:block}
.nf-m i{font-style:normal;font-size:11.5px;color:var(--ink2);line-height:1.45}
.nf-row time{font-size:10.5px;color:var(--ink3);flex-shrink:0}
/* progress */
.prog-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.pg-stat{background:var(--card);border-radius:16px;box-shadow:var(--sh-xs);padding:16px 18px}
.pg-stat b{font-size:30px;font-weight:400;letter-spacing:-.02em;display:block}
.pg-stat span{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3)}
/* dossier */
.dos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:12px;margin-top:18px}
.dos-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;background:var(--card);border-radius:16px;box-shadow:var(--sh-xs);padding:16px;text-align:left;transition:transform .15s,box-shadow .15s}
.dos-card:hover{transform:translateY(-2px);box-shadow:var(--sh-sm)}
.dos-card svg{color:var(--ink2)}
.dos-card b{font-size:13.5px;font-weight:600}
.dos-card i{font-style:normal;font-size:11.5px;color:var(--ink3)}
.dos-go{position:absolute;top:14px;right:14px;color:var(--ink3)}
.dos-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.dosd{background:var(--card);border-radius:14px;box-shadow:var(--sh-xs);padding:13px 15px}
.dosd b{font-size:12.5px;font-weight:700;display:block;margin-bottom:3px}
.dosd i{font-style:normal;font-size:11.5px;color:var(--ink2);line-height:1.5}
/* Scout AI in the dashboard — Claude-suite layout */
.dc-host{height:calc(100dvh - 120px)}
.dc-host .agent-shell{max-width:none;height:100% !important;grid-template-columns:250px minmax(0,1fr);gap:clamp(18px,2.5vw,34px)}
.dc-host .agent-side{border-radius:18px}
.dc-host .agent-main .agent-hd,.dc-host .agent-main .msgs,.dc-host .agent-main .agent-in{max-width:820px}
.dash-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.tool-on{background:color-mix(in srgb,var(--green-deep) 10%,#fff);color:var(--green-deep)}
@media(max-width:900px){.dash-nav{display:none}#dash-back{transform:none}}

/* v34 — states, links, attachments */
.locked-card{display:flex;align-items:center;gap:16px;padding:20px;border:1.5px dashed var(--hair);border-radius:16px}
.locked-card>svg{color:var(--ink3);flex-shrink:0}
.locked-card b{font-size:14px;display:block}
.locked-card i{font-style:normal;font-size:12.5px;color:var(--ink2);line-height:1.55;display:block;margin-top:3px;max-width:52ch}
.locked-card .pill{margin-left:auto;flex-shrink:0}
.lk-add{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.lk-add select{padding:12px 13px;border-radius:12px;border:1px solid var(--hair);background:var(--card);font:inherit;font-size:13px;outline:none}
.lk-add input{flex:1;min-width:220px;padding:12px 14px;border-radius:12px;border:1px solid var(--hair);background:var(--card);font:inherit;font-size:13.5px;outline:none}
.lk-add input:focus{border-color:var(--ink)}
.lk-list{display:flex;flex-direction:column;gap:8px}
.lk-row{display:flex;align-items:center;gap:11px;padding:11px 13px;background:var(--card);border-radius:13px;box-shadow:var(--sh-xs)}
.lk-m{flex:1;min-width:0}
.lk-m b{font-size:13px;font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lk-m i{font-style:normal;font-size:11.5px;color:var(--ink2);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmp-files{display:flex;flex-wrap:wrap;gap:6px;padding:8px 8px 0}
.cf-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:6px 10px;border-radius:var(--r-pill);background:var(--canvas);color:var(--ink)}
.cf-chip i{font-style:normal;font-weight:400;color:var(--ink3);font-size:10px}
.cf-chip button{display:inline-flex;color:var(--ink3)}
.cf-chip button:hover{color:var(--red)}
.dash-top-left{display:flex;align-items:center;gap:14px}

/* ═══════════ DASHBOARD v2 ═══════════ */
.dash-top{flex-direction:column;align-items:stretch;gap:0}
.dash-top-row{display:flex;align-items:center;justify-content:space-between;width:100%}
/* mobile section switcher — the rail is display:none under 900px */
.dash-switch{display:none;gap:7px;overflow-x:auto;scrollbar-width:none;padding:10px 0 4px;margin:0 -4px}
.dash-switch::-webkit-scrollbar{display:none}
.dsw-it{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:8px 13px;border-radius:99px;background:var(--card);box-shadow:var(--sh-xs);font-size:12.5px;color:var(--ink2);white-space:nowrap}
.dsw-it.on{background:var(--ink);color:var(--card)}
.dsw-it.on .ic{stroke:var(--card)}
.dsw-it em{font-style:normal;font-size:10.5px;padding:1px 5px;border-radius:99px;background:var(--canvas);color:var(--ink3)}
.dsw-it em.hot{background:var(--red);color:#fff}
.dn-it em.hot{background:var(--red);color:#fff}

/* Today */
.td-list{display:flex;flex-direction:column;gap:9px;margin-bottom:26px}
.td-row{display:flex;align-items:center;gap:14px;padding:15px 17px;background:var(--card);border-radius:16px;box-shadow:var(--sh-xs);border-left:3px solid transparent}
.td-row.sev-hot{border-left-color:var(--red)}
.td-row.sev-warm{border-left-color:#E8A13A}
.td-row.sev-fail{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 5%,var(--card))}
.td-ic{display:grid;place-items:center;width:32px;height:32px;flex:0 0 auto;border-radius:10px;background:var(--canvas)}
.td-m{flex:1;min-width:0}
.td-m b{display:block;font-size:14px;font-weight:500;letter-spacing:-.012em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.td-m i{display:block;font-style:normal;font-size:12px;color:var(--ink3);margin-top:2px}
.td-clear{display:flex;align-items:center;gap:15px;padding:22px 24px;background:var(--card);border-radius:18px;box-shadow:var(--sh-xs);margin-bottom:26px}
.td-clear b{display:block;font-size:15px}
.td-clear i{display:block;font-style:normal;font-size:12.5px;color:var(--ink3);margin-top:3px}
.td-clear>div{flex:1}
.td-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:11px;margin-bottom:26px}
.td-tile{text-align:left;padding:16px 17px;background:var(--card);border-radius:16px;box-shadow:var(--sh-xs);transition:transform .16s cubic-bezier(.2,.8,.3,1)}
.td-tile:hover{transform:translateY(-2px)}
.td-tile b{display:block;font-size:26px;font-weight:400;letter-spacing:-.03em}
.td-tile span{display:block;font-size:12px;color:var(--ink2);margin-top:3px}
.td-tile i{display:block;font-style:normal;font-size:11px;color:var(--ink3);margin-top:5px}
.heat-strip{display:flex;gap:3px;align-items:flex-end}
.hd{flex:1;height:26px;border-radius:5px;background:var(--hair2);display:grid;place-items:center}
.hd.has{background:color-mix(in srgb,var(--red) 22%,var(--card))}
.hd.many{background:color-mix(in srgb,var(--red) 48%,var(--card))}
.hd em{font-style:normal;font-size:10px;color:var(--ink)}

/* empty states */
.empty.e-rich{padding:38px 26px}
.e-ic{display:grid;place-items:center;width:44px;height:44px;margin:0 auto 14px;border-radius:14px;background:var(--canvas)}
.e-acts{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.e-ghost{margin-top:26px;opacity:.34;pointer-events:none;filter:saturate(.2)}
.gh{display:block;background:var(--hair2);border-radius:5px}
.gh-t{width:min(210px,42%);height:11px}
.gh-s{width:min(140px,26%);height:9px;margin-top:6px}
.gh-p{width:52px;height:9px;border-radius:99px}
.gh-c{width:26px;height:26px;border-radius:8px}
.gh-pill{width:62px;height:19px;border-radius:99px}

/* tracking */
.tk-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.tt-kept{font-style:normal;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);border:1px solid var(--hair2);border-radius:99px;padding:1px 6px;margin-left:8px;vertical-align:middle}
.tt-heat{font-size:11.5px;color:var(--ink3)}
.tt-heat.now{color:var(--red);font-weight:500}
.tt-heat.soon{color:#C77A1E}
.tt-heat.gone{color:var(--ink3);text-decoration:line-through}
.q-grp em{font-style:normal;color:var(--ink3);font-weight:400;margin-left:6px}

/* dossier — editable in place */
.dos-mc{display:flex;align-items:center;gap:13px;margin-bottom:18px}
.dos-mc .mc-bar{flex:1;max-width:340px}
.dos-mc span{font-size:12px;color:var(--ink3)}
.dos-nudge{display:flex;align-items:center;gap:13px;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,#E8A13A 9%,var(--card));margin-bottom:20px}
.dos-nudge b{display:block;font-size:13.5px}
.dos-nudge i{display:block;font-style:normal;font-size:12px;color:var(--ink2);margin-top:2px}
.dos-nudge>div{flex:1}
.dos-chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}
.dos-chip{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;border-radius:99px;background:var(--card);box-shadow:var(--sh-xs);font-size:12.5px;color:var(--ink2)}
.dos-chip.on{background:var(--ink);color:var(--card)}
.dos-chip.on .ic{stroke:var(--card)}
.dos-chip em{font-style:normal;font-size:10.5px;color:var(--ink3)}
.dos-chip.on em{color:color-mix(in srgb,var(--card) 68%,transparent)}
.dos-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.dosf{position:relative;display:block}
.dosf>span{display:block;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.dosf input,.dosf select{width:100%;padding:12px 34px 12px 14px;border-radius:12px;border:1px solid var(--hair2);background:var(--card);font:inherit;font-size:14px;color:var(--ink);transition:border-color .14s,box-shadow .14s}
.dosf input:focus,.dosf select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink) 8%,transparent)}
.dosf-ok{position:absolute;right:12px;bottom:13px;opacity:0;transform:scale(.7);transition:opacity .18s,transform .18s}
.dosf-ok .ic{stroke:#2E9E5B}
.dosf.saved .dosf-ok{opacity:1;transform:scale(1)}
.dosf.saved input,.dosf.saved select{border-color:#2E9E5B}

/* profile — read-only master view */
.mp-read{padding:4px 2px 14px}
.mpr{display:flex;justify-content:space-between;gap:18px;padding:9px 2px;border-bottom:1px solid var(--hair2)}
.mpr .k{font-size:12.5px;color:var(--ink3)}
.mpr .v{font-size:13px;text-align:right;max-width:60%}
.mpr .v.na{color:var(--ink3)}
.mp-edit{margin-top:14px;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink2);border-bottom:1px solid var(--hair2);padding-bottom:2px}
.mp-edit:hover{color:var(--ink)}

/* demo banner */
.demo-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:13px;background:color-mix(in srgb,#5B7FE8 10%,var(--card));border:1px dashed color-mix(in srgb,#5B7FE8 40%,transparent);margin-bottom:20px}
.demo-bar b{display:block;font-size:13px}
.demo-bar i{display:block;font-style:normal;font-size:11.5px;color:var(--ink2);margin-top:2px}
.demo-bar>div{flex:1}

@media(max-width:900px){
  .dash-switch{display:flex}
  .dash-top{padding-bottom:6px}
  #dash-back span{display:none}
  #dash-back{padding:0 11px}
  .dos-fields{grid-template-columns:1fr}
  .td-tiles{grid-template-columns:1fr 1fr}
}
.td-demo{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:13px;background:var(--card);box-shadow:var(--sh-xs);border:1px dashed var(--hair2);margin-top:24px}
.td-demo b{display:block;font-size:13px}
.td-demo i{display:block;font-style:normal;font-size:11.5px;color:var(--ink3);margin-top:2px}
.td-demo>div{flex:1}

/* ═══════════ DASHBOARD v3 — three sections, consequence-ranked ═══════════ */
.td-bucket{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin:20px 0 8px}
.td-list>.td-bucket:first-child{margin-top:0}
/* colour is never the only severity channel — bucket headings and rule weight carry it too */
.td-row.sev-hot{border-left-color:var(--red);background:color-mix(in srgb,var(--red) 4%,var(--card))}
.td-row.sev-warm{border-left-color:#B8791F}
.td-row .td-m i{color:var(--ink2)}
.td-row.sev-hot .td-m i{color:#B3260F;font-weight:500}
.td-later{margin-top:26px;border-top:1px solid var(--hair2);padding-top:14px}
.td-later summary{cursor:pointer;font-size:12.5px;color:var(--ink2);list-style:none}
.td-later summary::-webkit-details-marker{display:none}
.td-later summary::before{content:'▸ ';color:var(--ink3)}
.td-later[open] summary::before{content:'▾ '}
.td-later em{font-style:normal;color:var(--ink3);margin-left:5px}
.td-missed{display:flex;align-items:center;gap:12px;margin-top:22px;padding:13px 15px;border-radius:13px;border:1px solid var(--hair2);background:transparent}
.td-missed>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--canvas);color:var(--ink3)}
.td-missed b{display:block;font-size:13px;color:var(--ink2)}
.td-missed i{display:block;font-style:normal;font-size:11.5px;color:var(--ink3);margin-top:2px}
.td-missed>div{flex:1;min-width:0}
.hd{transition:none}

/* profile — four sections */
.prof-hint{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink3);margin:0 0 22px}
.prof-hint b{color:var(--ink);cursor:pointer;border-bottom:1px solid var(--hair2)}
.kw.inline{display:inline-flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
.psec-fold{margin-top:16px;border-top:1px solid var(--hair2);padding-top:14px}
.psec-fold summary{cursor:pointer;font-size:13px;font-weight:500;list-style:none}
.psec-fold summary::-webkit-details-marker{display:none}
.psec-fold summary::before{content:'▸ ';color:var(--ink3);font-weight:400}
.psec-fold[open] summary::before{content:'▾ '}
.danger-zone{margin-top:20px;border-top:1px solid var(--hair2);padding-top:14px}
.danger-zone summary{cursor:pointer;font-size:12.5px;color:var(--ink3);list-style:none}
.danger-zone summary::-webkit-details-marker{display:none}
.danger-zone summary::before{content:'▸ ';}
.danger-zone[open] summary::before{content:'▾ ';}

/* your record — history */
.hist-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:16px 0 22px}
.hs{padding:13px 14px;background:var(--card);border-radius:13px;box-shadow:var(--sh-xs)}
.hs b{display:block;font-size:22px;font-weight:400;letter-spacing:-.03em}
.hs span{display:block;font-size:11px;color:var(--ink3);margin-top:3px}
.hist-year{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin:22px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--hair2)}
.hist-row{display:grid;grid-template-columns:62px 104px 1fr auto;gap:12px;align-items:baseline;padding:9px 2px;border-bottom:1px solid var(--hair2);font-size:13px}
.hr-d{font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums}
.hr-v{font-size:11.5px;color:var(--ink2)}
.hist-row.applied .hr-v{color:var(--ink);font-weight:500}
.hist-row.result .hr-v{color:#1F7A47;font-weight:500}
.hr-t{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hr-t i{font-style:normal;color:var(--ink3)}
.hr-o{font-size:10.5px;padding:2px 8px;border-radius:99px;background:var(--canvas);color:var(--ink2);white-space:nowrap}
.hr-o.won{background:#DFF3E6;color:#1F7A47}
.hr-o.rejected{color:var(--ink3)}
@media(max-width:640px){
  .hist-row{grid-template-columns:56px 1fr;row-gap:2px}
  .hr-v{grid-column:2}
  .hr-t{grid-column:2}
  .hr-o{grid-column:2;justify-self:start;margin-top:3px}
}

/* Tracking row: the six-column grid is desktop-only. On a phone it collapses the
   title and stacks the risk sentence into a sliver. Reflow to two rows. */
@media(max-width:640px){
  .tt-row{grid-template-columns:auto 1fr auto;grid-template-areas:'pill title act' 'meta meta meta';gap:6px 10px;padding:13px 4px;border-bottom:1px solid var(--hair2);border-radius:0}
  .tt-row .stage-pill{grid-area:pill}
  .tt-t{grid-area:title;font-size:14px}
  .tt-act{grid-area:act;justify-self:end}
  .tt-risk{grid-area:meta;order:1}
  .tt-pct{grid-area:auto;display:none}      /* the % is already inside the draft risk sentence */
  .tt-ts{display:none}                       /* the deadline chip carries the date signal */
  .tt-risk .tt-heat{font-size:12px}
}
.dos-card.solo{width:100%;margin-top:28px}

/* ═══════════ APPLY WITH SCOUT — mission-control explainer ═══════════ */
.aws{padding:4px 2px}
.aws-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.aws-heart .heart-img{height:30px}
.aws-head b{display:block;font-size:17px;letter-spacing:-.02em}
.aws-head i{display:block;font-style:normal;font-size:12.5px;color:var(--ink3);margin-top:2px}
.aws-steps{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:14px}
.aws-steps li{display:flex;gap:13px;align-items:flex-start}
.aws-steps li>span{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--card);font-size:12px;font-weight:600;display:grid;place-items:center;margin-top:1px}
.aws-steps b{display:block;font-size:13.5px;font-weight:600}
.aws-steps i{display:block;font-style:normal;font-size:12px;color:var(--ink2);margin-top:2px;line-height:1.5}
.pill.wide{width:100%;justify-content:center}
.aws-2nd{display:block;width:100%;text-align:center;background:none;border:none;color:var(--ink2);font:inherit;font-size:12.5px;padding:11px 0 3px;cursor:pointer;text-decoration:none}
.aws-2nd:hover{color:var(--ink)}
.aws-install{display:flex;gap:9px;align-items:flex-start;padding:11px 13px;border-radius:11px;background:color-mix(in srgb,#5B7FE8 8%,var(--card));font-size:11.5px;color:var(--ink2);line-height:1.5;margin-bottom:12px}
.aws-fine{text-align:center;font-size:10.5px;color:var(--ink3);margin-top:14px}

/* board island fills the dashboard main column; React Flow positions absolutely inside */
#vw-board{position:relative;flex:1;min-height:0;overflow:hidden}
.board-fail{display:grid;place-items:center;height:100%;color:var(--ink3);font-size:14px;gap:10px}
.dash-switch .dsw-it[data-sec]{}
