/* ============================================================================
   CONTINGY — design system  ·  modern financial software
   Crisp neutral grotesk (Inter) with mono tabular figures (IBM Plex Mono),
   high-contrast ink, a single confident blue accent used sparingly, generous
   air, soft depth. Green/red reserved strictly for P&L semantics.
   ========================================================================== */
:root{
  /* neutrals — clean, cool, high-contrast */
  --paper:#F6F7F9; --surface:#FFFFFF; --surface-2:#F0F2F5;
  --ink:#0A0E17; --muted:#5B6474; --faint:#98A0AD;
  --hairline:#E7E9EF; --hairline-strong:#D4D8E0;
  /* brand / interactive — modern blue, disciplined use */
  --accent:#2B54D6; --accent-soft:#EBEFFC; --accent-ink:#1D3CA6;
  /* P&L semantics */
  --good:#0E9268; --good-soft:#E4F4EE;
  --weak:#D4483B; --weak-soft:#FBE9E7;
  --mid:#9A6A12; --mid-soft:#F5EDDC;
  --shadow-sm:0 1px 2px rgba(10,14,23,.05), 0 1px 1px rgba(10,14,23,.03);
  --shadow:0 1px 3px rgba(10,14,23,.05), 0 10px 30px -14px rgba(10,14,23,.16);
  --shadow-lg:0 2px 6px rgba(10,14,23,.06), 0 24px 50px -24px rgba(10,14,23,.28);
  --sans:"Inter",system-ui,-apple-system,Segoe UI,sans-serif;
  --display:"Inter",var(--sans);
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --r:12px; --r-sm:9px; --r-lg:16px;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#0A0C10; --surface:#12151D; --surface-2:#1A1F29;
  --ink:#EFF2F7; --muted:#98A1B0; --faint:#636D7C;
  --hairline:#1F242E; --hairline-strong:#30363F;
  --accent:#6E8CF5; --accent-soft:#161E33; --accent-ink:#B7C6FB;
  --good:#33B98A; --good-soft:#0E2820; --weak:#EA6A5C; --weak-soft:#2C1613;
  --mid:#D2A63F; --mid-soft:#2A2413;
  --shadow-sm:0 1px 2px rgba(0,0,0,.5);
  --shadow:0 1px 3px rgba(0,0,0,.5), 0 14px 36px -18px rgba(0,0,0,.8);
  --shadow-lg:0 2px 8px rgba(0,0,0,.6), 0 30px 60px -28px rgba(0,0,0,.9);
}}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6;font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;font-feature-settings:"cv05" 1,"ss01" 1;}
::selection{background:color-mix(in srgb,var(--accent) 22%,transparent);}
a{color:var(--accent);}
h1,h2,h3{font-family:var(--display);letter-spacing:-.03em;}

/* ===== TOP BAR ============================================================ */
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--paper) 78%,transparent);backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid var(--hairline);}
.topbar .in{max-width:1140px;margin:0 auto;padding:15px clamp(16px,4vw,38px);display:flex;align-items:center;gap:14px;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);}
.brand .mk{width:27px;height:27px;display:block;flex:none;filter:drop-shadow(0 2px 5px color-mix(in srgb,var(--accent) 34%,transparent));}
.brand .wm{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:-.035em;line-height:1;}
.brand .sub{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);padding-left:12px;border-left:1px solid var(--hairline-strong);}
.wrap{max-width:1140px;margin:0 auto;padding:clamp(26px,4.5vw,54px) clamp(16px,4vw,38px) 84px;}

/* auth-aware nav */
.nav{margin-left:auto;display:flex;align-items:center;gap:22px;}
.nav .home-link{font-size:13.5px;font-weight:500;color:var(--muted);text-decoration:none;transition:color .14s;}
.nav .home-link:hover{color:var(--ink);}
.nav .primary-link{color:var(--accent);font-weight:600;}
.nav .who{font-family:var(--mono);font-size:11px;letter-spacing:.02em;color:var(--faint);border-left:1px solid var(--hairline);padding-left:22px;}
.nav .logout{margin:0;} .nav .logout button{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--muted);background:none;border:0;cursor:pointer;padding:0;transition:color .14s;}
.nav .logout button:hover{color:var(--weak);}

/* ===== MESSAGES =========================================================== */
.msgs{margin-bottom:22px;} .msg{padding:12px 16px;border-radius:var(--r-sm);font-size:13.5px;margin-bottom:8px;border:1px solid transparent;}
.msg.error{background:var(--weak-soft);color:var(--weak);border-color:color-mix(in srgb,var(--weak) 24%,transparent);}
.msg.success{background:var(--good-soft);color:var(--good);border-color:color-mix(in srgb,var(--good) 24%,transparent);}

/* ===== MARKETING HERO (upload / auth) ==================================== */
.hero{margin-bottom:8px;}
.hero .eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 18px;display:inline-flex;align-items:center;gap:10px;}
.hero .eyebrow::before{content:"";width:24px;height:1px;background:currentColor;opacity:.5;}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(34px,5.4vw,58px);line-height:1.02;letter-spacing:-.04em;margin:0;max-width:16ch;text-wrap:balance;}
.hero .lede{font-size:clamp(15px,1.7vw,18.5px);color:var(--muted);margin:22px 0 0;max-width:60ch;line-height:1.62;}
.hero .lede b{color:var(--ink);font-weight:600;}

/* ===== PRESETS / EXAMPLES ================================================= */
.presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:30px 0 6px;}
.presets .plabel{font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);}
.preset{font-size:12.5px;font-weight:500;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--hairline-strong);padding:6px 13px;border-radius:20px;box-shadow:var(--shadow-sm);transition:border-color .14s,color .14s,transform .14s;}
.preset:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px);}
.notes{margin:14px 0;} .note{font-size:13px;color:var(--muted);background:var(--mid-soft);border:1px solid color-mix(in srgb,var(--mid) 26%,transparent);border-radius:var(--r-sm);padding:10px 14px;margin-bottom:6px;}

/* ===== PANELS / FORMS ==================================================== */
.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:clamp(22px,3vw,32px);margin-top:20px;box-shadow:var(--shadow);}
.grid3{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.grid3 label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:var(--muted);}
.grid3 label small{font-weight:400;color:var(--faint);}
.grid3 .filerow{grid-column:1/-1;}
.filebtns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
input[type=text],input[type=file],input[type=password],select{font-family:var(--sans);font-size:14.5px;color:var(--ink);background:var(--paper);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);padding:11px 14px;transition:border-color .14s,box-shadow .14s;}
input[type=text]:focus,input[type=password]:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
input[type=file]:focus{outline:2px solid var(--accent);outline-offset:1px;}

/* simplified upload */
.upload2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.upload2 .big{display:flex;flex-direction:column;gap:9px;font-size:14px;font-weight:600;color:var(--ink);}
.upload2 .big small{font-weight:400;color:var(--faint);}
.upload2 .big input{font-size:15px;padding:13px 15px;}
.fine{font-size:12.5px;color:var(--muted);margin:18px 0 0;max-width:72ch;line-height:1.62;}
.fine b{color:var(--ink);} .fine i{color:var(--accent);font-style:normal;}

/* auth pages */
.authwrap{max-width:440px;margin:16px auto 0;}
.authwrap h1{font-family:var(--display);font-weight:800;font-size:34px;letter-spacing:-.035em;margin:0;}
.authwrap .lede{color:var(--muted);margin:10px 0 4px;}
.authform{display:flex;flex-direction:column;gap:16px;}
.authform label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:600;color:var(--muted);}
.authform input{width:100%;}
.authform .ferr{font-size:12px;color:var(--weak);font-weight:500;}
.authform .fhelp{font-size:11.5px;color:var(--faint);font-weight:400;line-height:1.45;}
.authform .fhelp ul{margin:4px 0 0;padding-left:16px;}

/* my projects */
.plans{display:flex;flex-direction:column;gap:10px;margin-top:12px;}
.planrow{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name date" "meta date";gap:3px 16px;text-decoration:none;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:17px 21px;box-shadow:var(--shadow-sm);transition:border-color .14s,transform .14s,box-shadow .14s;}
.planrow:hover{border-color:var(--hairline-strong);transform:translateY(-1px);box-shadow:var(--shadow);}
.planrow .pn{grid-area:name;font-family:var(--display);font-weight:700;font-size:16.5px;letter-spacing:-.02em;color:var(--ink);}
.planrow .pmeta{grid-area:meta;font-size:12.5px;color:var(--muted);}
.planrow .pdate{grid-area:date;align-self:center;font-family:var(--mono);font-size:11px;color:var(--faint);}
.empty{background:var(--surface);border:1px dashed var(--hairline-strong);border-radius:var(--r);padding:34px;text-align:center;margin-top:12px;}
.empty p{color:var(--muted);margin:0 0 14px;}

@media (max-width:620px){.upload2{grid-template-columns:1fr;} .nav{gap:14px;} .nav .who{display:none;}}

/* ===== PROCESSING MODAL ================================================== */
.procmodal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--ink) 44%,transparent);backdrop-filter:blur(5px);}
.procmodal[hidden]{display:none;}
.procbox{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:36px 46px;text-align:center;max-width:352px;}
.procspin{width:34px;height:34px;margin:0 auto 18px;border-radius:50%;border:2.5px solid var(--accent-soft);border-top-color:var(--accent);animation:procspin .8s linear infinite;}
@keyframes procspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.procspin{animation-duration:2.4s}}
.proctitle{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.03em;color:var(--ink);}
.procsub{font-size:13.5px;color:var(--muted);margin-top:7px;line-height:1.5;}
.refsteps{list-style:none;margin:18px 0 0;padding:0;text-align:left;display:flex;flex-direction:column;gap:8px;}
.refsteps li{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:13.5px;color:var(--ink);padding:9px 13px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-2);}
.refsteps .refname{font-weight:600;}
.refsteps .refstat{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);}
.refsteps li.active{border-color:var(--accent);}
.refsteps li.active .refstat{color:var(--accent);}
.refsteps li.done{border-color:var(--good);background:var(--good-soft);}
.refsteps li.done .refstat{color:var(--good);}
.refsteps li.done .refstat::after{content:" ✓";}
.refsteps li.fail{border-color:var(--weak);background:var(--weak-soft);}
.refsteps li.fail .refstat{color:var(--weak);}
.covwarn{margin:14px 0 0;padding:12px 15px;border-radius:var(--r-sm);font-size:13.5px;line-height:1.5;border:1px solid var(--hairline);}
.covwarn.danger{background:var(--weak-soft);border-color:var(--weak);color:var(--weak);}
.covwarn.note{background:var(--mid-soft);border-color:var(--mid);color:var(--mid);}
.covwarn[hidden]{display:none;}
.fwdnote{margin:0 0 16px;padding:12px 15px;border-radius:var(--r-sm);font-size:13px;line-height:1.55;background:var(--surface-2);border:1px solid var(--hairline);color:var(--muted);} .fwdnote b{color:var(--ink);}

/* ===== SECTION LABELS + BUTTONS ========================================= */
.blab{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:44px 0 16px;display:flex;align-items:center;gap:10px;}
.blab::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 0 3px var(--accent-soft);}
.exhead,.exrow{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.exhead{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:8px;}
.exrow{margin-bottom:8px;} .exrow select,.exrow input{width:100%;}
.actions{margin-top:26px;}
.btn{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:-.01em;border-radius:var(--r-sm);padding:12px 20px;cursor:pointer;border:1px solid var(--hairline-strong);text-decoration:none;display:inline-block;transition:filter .14s,border-color .14s,background .14s,transform .14s;}
.btn.primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:0 1px 0 rgba(255,255,255,.16) inset,0 6px 16px -8px color-mix(in srgb,var(--accent) 70%,transparent);}
.btn.primary:hover{filter:brightness(1.07);transform:translateY(-1px);}
.btn.ghost{background:var(--surface);color:var(--ink);}
.btn.ghost:hover{border-color:var(--hairline-strong);background:var(--surface-2);}

/* ===== DASHBOARD HERO =================================================== */
.crumb{display:flex;gap:9px;font-size:13px;color:var(--muted);margin-bottom:24px;} .crumb a{font-weight:500;text-decoration:none;} .crumb a:hover{text-decoration:underline;} .crumb .sep{color:var(--faint);}
.b-hero{padding-bottom:8px;}
.b-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(30px,4.6vw,48px);line-height:1.03;letter-spacing:-.04em;margin:0;text-wrap:balance;}
.b-hero .sector{font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);margin:0 0 13px;}
.windowchip{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11.5px;color:var(--muted);margin-top:18px;padding:8px 15px;border:1px solid var(--hairline-strong);border-radius:9px;background:var(--surface);box-shadow:var(--shadow-sm);}
.windowchip b{color:var(--ink);font-weight:600;}
.windowchip.ctx{background:var(--surface-2);color:var(--faint);}
.atrisk-calc{font-size:12.5px;color:var(--muted);line-height:1.6;margin:8px 0 0;}
.atrisk-calc b{color:var(--ink);font-weight:600;}
.atrisk-calc .arlab{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-right:4px;}
.atrisk-calc .reccov{display:inline-block;margin-top:2px;}
.atrisk-calc .reccov.zero b{color:var(--muted);}
.stressbasis{display:inline-block;margin-top:3px;font-family:var(--mono);font-size:10.5px;letter-spacing:.01em;color:var(--faint);padding:1px 6px;border:1px solid var(--hair);border-radius:5px;}
.stressbasis.hist{color:var(--good);border-color:color-mix(in srgb,var(--good) 35%,transparent);}
.targetnote{display:block;font-family:var(--mono);font-size:10.5px;color:var(--accent);margin-top:3px;}
.atrisk-calc .assumed{font-style:italic;color:var(--faint);cursor:help;}
.methodnote{margin-top:0;margin-bottom:6px;}
.blab-note{font-family:var(--sans);font-weight:500;letter-spacing:0;text-transform:none;color:var(--faint);font-size:11px;}
.schedcard{margin-top:6px;}
.sched-scroll{max-height:340px;overflow-y:auto;overflow-x:auto;}
.sched-t{font-size:13px;} .sched-t thead th{position:sticky;top:0;background:var(--surface);z-index:1;}
.sched-t tbody tr:hover{background:var(--surface-2);}
.sched-foot{font-size:11.5px;color:var(--muted);margin:12px 0 0;line-height:1.5;} .sched-foot b{color:var(--ink);}
.subcost-t{font-size:13px;} .subcost-t td{padding:7px 0;} .subcost-t tbody tr:first-child td{font-weight:600;}
.details.subcost,.owhy.subcost{margin-top:10px;}
.sched-why{font-size:12px;color:var(--muted);margin:11px 0 0;line-height:1.55;padding:10px 13px;background:var(--surface-2);border-radius:var(--r-sm);} .sched-why b{color:var(--ink);}
.b-hero-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;}
.b-hero-row .windowchip{margin-top:0;}
.btn.dl{font-family:var(--mono);font-size:12px;font-weight:600;}

/* ===== FINANCIAL OVERVIEW ============================================== */
.fin-headline{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;}
.fin-headline .hstat{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow-sm);}
.fin-headline .hl{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
.fin-headline .hv{font-family:var(--mono);font-weight:600;font-size:clamp(20px,2.3vw,24px);margin-top:9px;font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:var(--ink);}
.fin-cols{display:grid;grid-template-columns:1.7fr 1fr;gap:14px;margin-top:14px;align-items:start;}
.fin-side{display:flex;flex-direction:column;gap:14px;}
.fincard{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:18px 22px;box-shadow:var(--shadow-sm);}
.fincard-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--hairline);}
.fincard-sub{font-weight:500;letter-spacing:.06em;color:var(--faint);text-transform:none;}
/* statement tables */
.fin-t{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;}
.fin-t thead th{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:0 0 8px;text-align:left;}
.fin-t thead th.fa,.fin-t thead th.fp{text-align:right;}
.fin-t td{padding:8px 0;border-bottom:1px solid var(--hairline);font-size:13.5px;}
.fin-t tbody tr:last-child td{border-bottom:0;}
.fin-t .fl{color:var(--muted);}
.fin-t .fa{font-family:var(--mono);text-align:right;color:var(--ink);white-space:nowrap;font-size:13px;padding-right:0;}
.fin-t .fp{font-family:var(--mono);text-align:right;color:var(--faint);white-space:nowrap;font-size:11.5px;width:64px;padding-left:14px;}
.fin-t tr.out .fa{color:var(--muted);}
.fin-t tr.subtotal td{border-top:1px solid var(--hairline-strong);font-weight:600;}
.fin-t tr.subtotal .fl{color:var(--ink);}
.fin-t tr.net td{border-top:1px dashed var(--hairline-strong);}
.fin-t tr.net .fl{color:var(--ink);}
.fin-t tr.total td{border-top:2px solid var(--ink);border-bottom:0;padding-top:11px;}
.fin-t tr.total .fl{font-weight:700;color:var(--ink);font-size:14px;}
.fin-t tr.total .fa{font-weight:700;color:var(--good);font-size:15px;}
/* ratio lists */
.ratio-list{display:flex;flex-direction:column;}
.ratio{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--hairline);font-size:13px;}
.ratio:last-child{border-bottom:0;}
.ratio .rl{color:var(--muted);}
.ratio .rv{font-family:var(--mono);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;}
@media(max-width:680px){.fin-cols{grid-template-columns:1fr;}}

/* ===== HEDGE CONTROLS (coverage % + duration) =========================== */
.hedgectl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px;}
.hedgectl .ctl{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow-sm);}
.hedgectl .ctltop{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;font-weight:600;color:var(--muted);}
.hedgectl .ctltop b{font-family:var(--mono);font-size:18px;color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums;}
.hedgectl input[type=range]{-webkit-appearance:none;appearance:none;width:100%;margin:18px 0 9px;height:6px;border-radius:6px;background:linear-gradient(var(--accent),var(--accent)) no-repeat,var(--surface-2);background-size:var(--fill,100%) 100%;cursor:pointer;}
.hedgectl input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:19px;height:19px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-shadow:var(--shadow-sm);cursor:pointer;}
.hedgectl input[type=range]::-moz-range-thumb{width:19px;height:19px;border-radius:50%;background:var(--surface);border:2px solid var(--accent);box-shadow:var(--shadow-sm);cursor:pointer;}
.hedgectl input[type=range]:focus{outline:none;} .hedgectl input[type=range]:focus::-webkit-slider-thumb{box-shadow:0 0 0 4px var(--accent-soft);}
.hedgectl .ctlrow{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.02em;color:var(--faint);}

/* ===== P&L STAT CARDS =================================================== */
.pstat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.pstat .c{position:relative;border:1px solid var(--hairline);border-radius:var(--r);padding:19px 21px;background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden;}
.pstat .c::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--hairline-strong);}
.pstat .c.lossc{border-color:color-mix(in srgb,var(--weak) 24%,var(--hairline));}
.pstat .c.lossc::before{background:var(--weak);}
.pstat .c.safec{border-color:color-mix(in srgb,var(--good) 24%,var(--hairline));}
.pstat .c.safec::before{background:var(--good);}
.pstat .l{font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);}
.pstat .v{font-family:var(--mono);font-weight:600;font-size:clamp(20px,2.5vw,26px);margin-top:9px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.pstat .c.lossc .v{color:var(--weak);} .pstat .c.safec .v{color:var(--good);}
.pstat .s{font-size:11px;color:var(--muted);margin-top:6px;}
.pmnote{font-size:12.5px;color:var(--muted);margin:16px 2px 0;padding-left:16px;border-left:2px solid var(--hairline-strong);line-height:1.68;}
.pmnote b{color:var(--ink);font-weight:600;}

/* ===== HEDGE LEGS (orders) ============================================== */
.orders{display:flex;flex-direction:column;gap:11px;}
.order{border:1px solid var(--hairline);border-left:3px solid var(--accent);border-radius:0 var(--r) var(--r) 0;background:var(--surface);padding:18px 24px;box-shadow:var(--shadow-sm);transition:box-shadow .14s,transform .14s;}
.order:hover{box-shadow:var(--shadow);}
.order.poly{border-left-color:var(--accent);} .order.kalshi{border-left-color:var(--good);} .order.off{border-left-color:var(--weak);}
.order.proxyrow{border-left-color:var(--mid);border-style:dashed;}
.otop{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;}
.order .d{font-size:15px;font-weight:600;letter-spacing:-.015em;} .order .d small{display:block;font-weight:400;color:var(--muted);font-size:12.5px;margin-top:3px;letter-spacing:0;}
.order .amt{margin-left:auto;font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;}
.order .amt.risk{color:var(--weak);} .order .amt .cost{display:block;font-size:11.5px;color:var(--faint);margin-top:3px;}
.order .why{font-size:13.5px;color:var(--muted);margin:14px 0 0;line-height:1.62;}
.pmlink{display:inline-block;margin-top:15px;font-family:var(--mono);font-size:12px;font-weight:600;letter-spacing:.01em;color:var(--accent);text-decoration:none;}
.pmlink.kal{color:var(--good);} .pmlink:hover{text-decoration:underline;}
.pmnow{display:block;font-family:var(--mono);font-size:10.5px;color:var(--faint);margin-top:5px;}
.pricetag{display:inline-block;margin-left:10px;padding:2px 9px;border-radius:6px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.02em;vertical-align:middle;}
.pricetag.live{color:var(--good);background:var(--good-soft);border:1px solid color-mix(in srgb,var(--good) 30%,transparent);}
.pricetag.illus{color:var(--faint);background:var(--surface-2);border:1px solid var(--hairline-strong);}
.owhy{margin-top:14px;font-size:12px;}
.owhy summary{cursor:pointer;color:var(--accent);font-weight:600;font-size:11.5px;list-style:none;display:inline-flex;align-items:center;gap:6px;}
.aitag{font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:1px 6px;border-radius:5px;}
.nrec{display:inline-block;vertical-align:middle;margin-left:7px;font-family:var(--mono);font-size:8.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--weak);background:var(--weak-soft);border:1px solid color-mix(in srgb,var(--weak) 34%,transparent);padding:1px 6px;border-radius:5px;cursor:help;}
.pmnow .strikev{color:var(--ink);font-weight:600;}
.reccovcard{margin-top:6px;}
.reccov-t{font-size:13px;} .reccov-t td,.reccov-t th{padding:8px 0;} .reccov-t .fa{text-align:right;font-variant-numeric:tabular-nums;}
.reccov-t tbody tr:hover{background:var(--surface-2);}
.reccov-t .recpct{color:var(--good);} .reccov-t tr.removed{opacity:.5;}
.reccov-t .nrec{margin-left:0;}
.offnote{color:var(--faint);font-size:10.5px;font-family:var(--mono);letter-spacing:.03em;}
.owhy summary::-webkit-details-marker{display:none;}
.owhy summary::before{content:'▸';font-size:9px;} .owhy[open] summary::before{content:'▾';}
.owhy-b{margin-top:12px;padding:15px 17px;border-left:2px solid var(--weak);background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0;}
.owhy-b p{margin:0 0 10px;color:var(--muted);line-height:1.62;} .owhy-b p:last-child{margin-bottom:0;} .owhy-b b{color:var(--ink);font-weight:600;}

/* ===== COMBO SPREADS =================================================== */
.combo{margin-top:12px;border:1px dashed color-mix(in srgb,var(--mid) 50%,var(--hairline-strong));border-radius:var(--r);background:var(--surface);padding:20px 24px;box-shadow:var(--shadow-sm);}
.combo .ctop{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap;}
.combo .cname{font-weight:700;font-size:15px;font-family:var(--display);letter-spacing:-.02em;}
.combo .cbadge{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);background:var(--mid-soft);padding:3px 9px;border-radius:5px;}
.clegs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.cleg{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--hairline-strong);border-radius:8px;padding:7px 12px;background:var(--paper);font-size:13px;}
.cleg a{text-decoration:none;} .cside{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.03em;padding:2px 6px;border-radius:4px;}
.cside.b{color:var(--good);background:var(--good-soft);} .cside.s{color:var(--weak);background:var(--weak-soft);}
.cplus{color:var(--faint);font-weight:600;}
.cpnl{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;}
.cpnl span{font-family:var(--mono);font-size:11.5px;font-weight:600;padding:5px 11px;border-radius:6px;font-variant-numeric:tabular-nums;}
.cpnl .win{color:var(--good);background:var(--good-soft);} .cpnl .lose{color:var(--weak);background:var(--weak-soft);}
.ccost{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.62;}

/* ---- optional hedge add/remove ---- */
.optfoot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:14px;padding-top:12px;border-top:1px solid var(--hairline);}
.optform{margin:0;} .refreshform{margin:0;} .btn.sm{padding:7px 13px;font-size:12.5px;border-radius:8px;}
.optecon{font-family:var(--mono);font-size:11px;color:var(--muted);}
.optfoot .optform{margin-left:auto;}
.order.included,.combo.included{border-color:var(--good);box-shadow:0 0 0 1px var(--good) inset,var(--shadow-sm);}
.order.removed{opacity:.62;border-left-color:var(--hairline-strong);background:var(--surface-2);}
.order.removed .amt .cost,.order.removed .pmlink,.order.removed .pricetag{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--faint) 60%,transparent);}
.order.removed .d small{color:var(--weak);}
.combo .inplan,.inplan{font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--good);background:var(--good-soft);border:1px solid color-mix(in srgb,var(--good) 30%,transparent);padding:2px 8px;border-radius:5px;}
.optsummary{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted);margin:12px 2px 0;padding:10px 14px;background:var(--good-soft);border:1px solid color-mix(in srgb,var(--good) 22%,transparent);border-radius:var(--r-sm);}
.optsummary b{color:var(--ink);} .optsummary .optdot{width:7px;height:7px;border-radius:50%;background:var(--good);flex:none;}

/* ===== FOOTER / PAGER ================================================== */
.pager{margin-top:46px;padding-top:24px;border-top:1px solid var(--hairline);}
footer.site{max-width:1140px;margin:0 auto;padding:30px clamp(16px,4vw,38px) 56px;font-size:12px;color:var(--faint);border-top:1px solid var(--hairline);line-height:1.72;}

@media(max-width:680px){.grid3,.exhead,.exrow{grid-template-columns:1fr;} .pstat,.hedgectl{grid-template-columns:1fr;}}

/* ============================================================================
   LANDING PAGE
   ========================================================================== */
.btn.lg{padding:14px 24px;font-size:15px;border-radius:11px;}
.lp-hero{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center;padding:clamp(20px,4vw,44px) 0 clamp(28px,5vw,56px);}
.lp-eyebrow{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 20px;display:inline-flex;align-items:center;gap:10px;}
.lp-eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.5;}
.lp-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(38px,6vw,66px);line-height:1.02;letter-spacing:-.045em;margin:0;color:var(--ink);}
.lp-lede{font-size:clamp(16px,1.8vw,19px);color:var(--muted);line-height:1.6;margin:22px 0 0;max-width:52ch;}
.lp-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.lp-cta.center{justify-content:center;}
.lp-fineprint{font-family:var(--mono);font-size:11.5px;color:var(--faint);margin:16px 0 0;letter-spacing:.01em;}

/* illustrative hedge card */
.lp-demo{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:20px 22px;}
.lp-demo-head{display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:11px;color:var(--muted);padding-bottom:14px;border-bottom:1px solid var(--hairline);}
.lp-demo-dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 3px var(--good-soft);}
.lp-demo-stat{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--hairline);}
.lp-demo-stat .l{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);}
.lp-demo-stat .v{display:block;font-family:var(--mono);font-weight:600;font-size:19px;margin-top:6px;color:var(--ink);font-variant-numeric:tabular-nums;}
.lp-demo-stat .v.good,.lp-demo b.good,.good{color:var(--good);}
.lp-demo-leg{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--hairline);}
.lp-demo-risk{font-size:13px;font-weight:500;color:var(--ink);}
.lp-demo-badge{font-family:var(--mono);font-size:10.5px;font-weight:600;color:var(--good);background:var(--good-soft);border:1px solid color-mix(in srgb,var(--good) 30%,transparent);padding:2px 9px;border-radius:6px;}
.lp-demo-mkt{font-family:var(--mono);font-size:10.5px;color:var(--muted);}
.lp-demo-foot{font-family:var(--mono);font-size:12px;color:var(--muted);padding-top:14px;}
.lp-demo-foot b{color:var(--ink);}

/* venue strip */
.lp-venues{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px;padding:22px 0;margin:0 0 clamp(20px,4vw,40px);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);text-align:center;}
.lp-venues-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);}
.lp-venues-list{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-weight:600;font-size:14px;color:var(--ink);}
.lp-venues-list .sep{color:var(--hairline-strong);font-weight:400;}

/* content sections */
.lp-section{padding:clamp(40px,6vw,72px) 0;border-top:1px solid var(--hairline);}
.lp-section.alt{background:var(--surface-2);border-radius:var(--r-lg);border:1px solid var(--hairline);padding:clamp(34px,5vw,60px) clamp(22px,4vw,44px);margin:clamp(24px,4vw,40px) 0;}
.lp-kicker{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 14px;}
.lp-kicker.center{text-align:center;}
.lp-section h2{font-family:var(--display);font-weight:800;font-size:clamp(24px,3.4vw,38px);line-height:1.1;letter-spacing:-.035em;margin:0;color:var(--ink);text-wrap:balance;}
.lp-section h2.center{text-align:center;max-width:22ch;margin:0 auto;}
.lp-lead{max-width:62ch;}
.lp-lead h2{margin-bottom:16px;}
.lp-lead p{font-size:clamp(15px,1.6vw,17.5px);color:var(--muted);line-height:1.66;margin:0;}

/* steps */
.lp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px;counter-reset:step;}
.lp-step{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:22px 20px;box-shadow:var(--shadow-sm);}
.lp-step-n{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;background:var(--accent);color:#fff;font-family:var(--mono);font-weight:600;font-size:15px;margin-bottom:14px;}
.lp-step h3{font-size:15.5px;font-weight:700;letter-spacing:-.01em;margin:0 0 7px;color:var(--ink);}
.lp-step p{font-size:13.5px;color:var(--muted);line-height:1.55;margin:0;}

/* sector cards */
.lp-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:38px;}
.lp-card{background:var(--surface);border:1px solid var(--hairline);border-left:3px solid var(--accent);border-radius:0 var(--r) var(--r) 0;padding:20px 22px;box-shadow:var(--shadow-sm);transition:transform .14s,box-shadow .14s;}
.lp-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);}
.lp-card h3{font-size:15px;font-weight:700;letter-spacing:-.01em;margin:0 0 8px;color:var(--ink);}
.lp-card p{font-size:13px;color:var(--muted);line-height:1.55;margin:0;}

/* feature grid */
.lp-feats{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 28px;margin-top:38px;}
.lp-feat{padding-left:16px;border-left:2px solid var(--accent);}
.lp-feat h3{font-size:15px;font-weight:700;letter-spacing:-.01em;margin:0 0 6px;color:var(--ink);}
.lp-feat p{font-size:13.5px;color:var(--muted);line-height:1.55;margin:0;}

/* final CTA */
.lp-final{text-align:center;padding:clamp(44px,6vw,80px) clamp(20px,4vw,40px);margin-top:clamp(24px,4vw,40px);background:linear-gradient(180deg,var(--accent-soft),var(--surface));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--hairline));border-radius:var(--r-lg);}
.lp-final h2{font-family:var(--display);font-weight:800;font-size:clamp(26px,3.6vw,42px);letter-spacing:-.04em;margin:0;color:var(--ink);}
.lp-final>p{font-size:16px;color:var(--muted);margin:14px auto 0;max-width:48ch;}
.lp-final .lp-cta{margin-top:28px;}
.lp-disclaimer{font-family:var(--mono);font-size:10.5px;color:var(--faint);line-height:1.6;margin:26px auto 0;max-width:70ch;}

@media (max-width:860px){
  .lp-hero{grid-template-columns:1fr;} .lp-demo{order:2;max-width:440px;}
  .lp-steps,.lp-cards,.lp-feats{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){ .lp-steps,.lp-cards,.lp-feats{grid-template-columns:1fr;} }
