:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--sp-8:64px;--sp-9:96px;--fs-xs:12px;--fs-sm:13px;--fs-base:15px;--fs-md:16px;--fs-lg:18px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:30px;--fs-4xl:40px;--r-sm:6px;--r-md:10px;--r-lg:14px;--bg:hsl(215,32%,98.5%);--surface:hsl(0,0%,100%);--surface-2:hsl(215,30%,97%);--border:hsl(215,18%,90%);--border-2:hsl(215,20%,84%);--ink:hsl(215,28%,14%);--ink-2:hsl(215,12%,42%);--ink-3:hsl(215,11%,60%);--accent:hsl(232,62%,54%);--accent-bg:hsl(232,76%,96%);--gain:hsl(162,74%,27%);--gain-bg:hsl(162,60%,94%);--loss:hsl(354,66%,46%);--loss-bg:hsl(354,82%,96%);--warn:hsl(35,82%,38%);--warn-bg:hsl(42,92%,94%);--grid:hsl(215,20%,92%);--sh-1:0 1px 2px hsla(215,30%,12%,0.05);--sh-2:0 1px 2px hsla(215,30%,12%,0.06),0 4px 12px hsla(215,30%,12%,0.05);--sh-3:0 2px 4px hsla(215,30%,12%,0.08),0 12px 28px hsla(215,30%,12%,0.12)}@media (prefers-color-scheme:dark){:root{--bg:hsl(220,24%,8%);--surface:hsl(220,21%,11%);--surface-2:hsl(220,19%,14%);--border:hsl(220,15%,20%);--border-2:hsl(220,14%,27%);--ink:hsl(215,30%,95%);--ink-2:hsl(215,14%,67%);--ink-3:hsl(215,12%,48%);--accent:hsl(228,88%,74%);--accent-bg:hsl(230,40%,18%);--gain:hsl(158,62%,50%);--gain-bg:hsl(160,40%,15%);--loss:hsl(356,82%,68%);--loss-bg:hsl(356,40%,17%);--warn:hsl(40,88%,60%);--warn-bg:hsl(38,40%,15%);--grid:hsl(220,14%,20%);--sh-1:0 1px 2px hsla(0,0%,0%,0.3);--sh-2:0 1px 2px hsla(0,0%,0%,0.3),0 4px 12px hsla(0,0%,0%,0.28);--sh-3:0 2px 4px hsla(0,0%,0%,0.35),0 12px 28px hsla(0,0%,0%,0.45)}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:var(--fs-base);line-height:1.55;-webkit-font-smoothing:antialiased}body,figure,h1,h2,h3,p{margin:0}button{font:inherit;color:inherit}a{color:var(--accent)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.topbar-accent{height:3px;background:linear-gradient(90deg,var(--accent),hsl(200,72%,52%))}.shell{max-width:1120px;margin:0 auto;padding:0 var(--sp-4) var(--sp-9)}.masthead{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-5) 0 var(--sp-6)}.wordmark{font-size:var(--fs-md);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}.masthead-meta{color:var(--ink-3);font-size:var(--fs-sm)}.masthead-spacer{flex:1 1 auto}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;background:var(--warn-bg);color:var(--warn)}.badge-neutral{background:var(--surface-2);color:var(--ink-2)}.badge-on{background:var(--gain-bg);color:var(--gain)}.badge-off{background:var(--loss-bg);color:var(--loss)}.linkbtn{background:none;border:0;padding:0;cursor:pointer;color:var(--ink-3);font-size:var(--fs-sm);text-decoration:underline;text-underline-offset:3px}.linkbtn:hover{color:var(--ink)}.section{margin-top:var(--sp-8)}.section-head{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}.section-title{font-size:var(--fs-xs);font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}.section-note{font-size:var(--fs-sm);color:var(--ink-3)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-1);padding:var(--sp-5)}.card-flush{padding:var(--sp-5) 0}.hero{display:grid;grid-gap:var(--sp-6);gap:var(--sp-6);grid-template-columns:1fr}@media (min-width:780px){.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center}}.hero-label{font-size:var(--fs-xs);font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3);margin-bottom:var(--sp-2)}.hero-value{font-size:var(--fs-4xl);font-weight:700;letter-spacing:-.025em;line-height:1.05;color:var(--ink)}@media (min-width:560px){.hero-value{font-size:52px}}.hero-delta{display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-3)}.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-2);gap:var(--sp-2)}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.tile-label{font-size:var(--fs-xs);color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.tile-value{font-size:var(--fs-xl);font-weight:600;margin-top:2px;letter-spacing:-.01em}.tile-sub{font-size:var(--fs-xs);color:var(--ink-3)}.up{color:var(--gain)}.down,.up{font-weight:600}.down{color:var(--loss)}.flat{color:var(--ink-2);font-weight:600}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px}.segmented button{border:0;background:none;cursor:pointer;padding:4px 12px;border-radius:999px;font-size:var(--fs-sm);font-weight:500;color:var(--ink-2)}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-1);font-weight:600}.toggle{display:inline-flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle input{accent-color:var(--accent);margin:0}.info-wrap{position:relative;display:inline-flex;vertical-align:middle}.info-dot{width:15px;height:15px;border-radius:50%;cursor:help;border:0;padding:0;margin-left:5px;background:var(--surface-2);color:var(--ink-3);font-size:10px;font-weight:700;line-height:15px;text-align:center}.info-dot:hover,.info-dot[aria-expanded=true]{background:var(--accent-bg);color:var(--accent)}.info-bubble{position:absolute;z-index:40;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);width:max-content;max-width:min(300px,78vw);background:var(--surface);color:var(--ink-2);border:1px solid var(--border-2);border-radius:var(--r-md);box-shadow:var(--sh-3);padding:10px 12px;font-size:var(--fs-sm);font-weight:400;line-height:1.5;text-transform:none;letter-spacing:normal;text-align:left}.table-scroll{overflow-x:auto;margin:0 calc(-1 * var(--sp-5));padding:0 var(--sp-5)}table.data{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}table.data th{text-align:left;font-size:var(--fs-xs);font-weight:600;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase;padding:0 var(--sp-3) var(--sp-2) 0}table.data td,table.data th{white-space:nowrap;border-bottom:1px solid var(--border)}table.data td{padding:var(--sp-3) var(--sp-3) var(--sp-3) 0;vertical-align:middle}table.data tr:last-child td{border-bottom:0}table.data .r-align{text-align:right}th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sym,th.sortable:hover{color:var(--ink)}.sym{font-weight:600}.co{color:var(--ink-3);font-size:var(--fs-xs);display:block;font-weight:400}.stopbar{width:76px;height:5px;border-radius:999px;background:var(--surface-2);overflow:hidden}.stopbar>i{display:block;height:100%;border-radius:999px;background:var(--gain)}.stopbar.tight>i{background:var(--warn)}.chart{width:100%;display:block;overflow:visible}.chart .grid{stroke:var(--grid);stroke-width:1}.chart .axis{fill:var(--ink-3);font-size:11px}.chart .eq{fill:none;stroke:var(--accent);stroke-width:2.25;stroke-linejoin:round;stroke-linecap:round}.chart .bm{fill:none;stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:4 4}.chart .dd{fill:var(--loss);opacity:.16}.chart .zero{stroke:var(--border-2);stroke-width:1}.legend{display:flex;gap:var(--sp-4);flex-wrap:wrap;font-size:var(--fs-xs);color:var(--ink-2)}.legend i{display:inline-block;width:14px;height:2px;vertical-align:middle;margin-right:6px}.rbar{fill:var(--gain)}.rbar.neg{fill:var(--loss)}.funnel-scanned{fill:var(--surface-2)}.funnel-qual{opacity:.35}.funnel-bought,.funnel-qual{fill:var(--accent)}.callout{border-left:3px solid var(--warn);background:var(--warn-bg);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-sm);color:var(--ink-2)}.callout strong{color:var(--ink)}details.disclose{border-top:1px solid var(--border);padding:var(--sp-3) 0 0}details.disclose summary{cursor:pointer;list-style:none;color:var(--ink-2);font-size:var(--fs-sm);font-weight:500;padding:var(--sp-1) 0}details.disclose summary::-webkit-details-marker{display:none}details.disclose summary:before{content:"›";display:inline-block;margin-right:8px;transition:transform .15s}details.disclose[open] summary:before{transform:rotate(90deg)}details.disclose .body{padding:var(--sp-2) 0 var(--sp-4);color:var(--ink-2);font-size:var(--fs-sm)}details.disclose .body p+p{margin-top:var(--sp-3)}.empty{font-size:var(--fs-sm);padding:var(--sp-5) 0;text-align:center}.empty,.foot{color:var(--ink-3)}.foot{margin-top:var(--sp-9);font-size:var(--fs-xs);line-height:1.7}.login-wrap{min-height:100svh;display:grid;place-items:center;padding:var(--sp-5)}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--sh-2);padding:var(--sp-6)}.login-card h1{font-size:var(--fs-md);font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--sp-1)}.login-card p{color:var(--ink-3);font-size:var(--fs-sm);margin-bottom:var(--sp-5)}.field{width:100%;padding:11px 13px;font-size:var(--fs-md);background:var(--surface-2);color:var(--ink);border:1px solid var(--border-2);border-radius:var(--r-sm);box-shadow:inset 0 1px 2px hsla(215,30%,12%,.06)}.field:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.btn{width:100%;margin-top:var(--sp-3);padding:11px 16px;cursor:pointer;background:var(--accent);color:#fff;font-weight:600;border:0;border-radius:var(--r-sm);box-shadow:var(--sh-1)}.btn:hover{filter:brightness(1.06)}.btn:active{box-shadow:none;transform:translateY(1px)}.err{margin-top:var(--sp-3);color:var(--loss);font-size:var(--fs-sm)}.engine-status{border-block:1px solid var(--border);padding:16px 0;margin-bottom:24px;font-size:13px;line-height:1.6}.engine-status-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.engine-status-row>span{color:var(--ink-3)}.engine-status p{margin:6px 0 0}.engine-status p:empty{display:none}.engine-meta{color:var(--ink-3)}.engine-status details{margin-top:10px}.engine-status summary{cursor:pointer;padding-block:6px}.engine-status button{min-height:36px}.engine-status button:disabled{opacity:.6;cursor:wait}.engine-status .table-scroll{overflow-x:auto;margin-block:12px}.engine-status table{width:100%;text-align:left;border-collapse:collapse}.engine-status td,.engine-status th{padding:8px 12px 8px 0;border-bottom:1px solid var(--border)}.engine-status caption{text-align:left;color:var(--ink-3);margin-bottom:8px}