:root{--page: #f5f8fc;--surface: #ffffff;--ink: #1c2b41;--ink-2: #51617a;--muted: #8794a8;--grid: #e9eef5;--baseline: #c9d5e6;--border: rgba(28, 60, 105, .09);--accent: #3b82f6;--accent-deep: #2b66d9;--bar-track: #edf2f8;--good: #16a34a;--warning: #f5b52e;--serious: #f08c5a;--critical: #e05252;--shadow: 0 1px 2px rgba(28, 60, 105, .05), 0 2px 8px rgba(28, 60, 105, .04);--chip-a-bg: #dcf5e3;--chip-a-fg: #157347;--chip-b-bg: #dfecfd;--chip-b-fg: #2563c4;--chip-c-bg: #fdf3d7;--chip-c-fg: #92700c;--chip-d-bg: #fde8da;--chip-d-fg: #b35a24;--chip-f-bg: #fde3e3;--chip-f-fg: #c03535;--chip-na-bg: #eef1f6;--chip-na-fg: #71809a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page);color:var(--ink);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}.wrap{max-width:1500px;margin:0 auto;padding:20px 24px 60px}header.app{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);padding:10px 16px;margin-bottom:8px}header.app h1{font-size:21px;margin:0}header.app .vintage{color:var(--muted);font-size:12px;margin-left:4px}@media(max-width:1280px){header.app .vintage{display:none}}#loading{margin:40px auto;text-align:center;color:var(--ink-2)}#loading .bar{width:300px;height:6px;border-radius:4px;background:var(--bar-track);margin:14px auto 0;overflow:hidden}#loading .bar>div{width:40%;height:100%;border-radius:4px;background:var(--accent);animation:slide 1.1s ease-in-out infinite alternate}@keyframes slide{0%{margin-left:0}to{margin-left:60%}}#loading.error{color:var(--critical)}#loading.error .bar{display:none}#loading code{background:var(--bar-track);padding:1px 6px;border-radius:4px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-top:14px;box-shadow:var(--shadow)}.filters{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:flex-end}.filters .f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2)}.filters input,.filters select{font:inherit;color:var(--ink);background:var(--page);border:1px solid var(--baseline);border-radius:6px;padding:5px 8px;min-width:110px}.filters input:focus,.filters select:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.filters .grow{flex:1 1 180px}.filters .f{position:relative}.tip{border-bottom:1px dotted var(--muted);cursor:help;width:fit-content}.tip:hover:after,.tip:focus-visible:after{content:attr(data-tip);position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:max-content;max-width:260px;background:var(--surface);color:var(--ink);border:1px solid var(--baseline);border-radius:8px;box-shadow:0 6px 18px #1c3c6924;padding:8px 10px;font-size:12px;line-height:1.45;white-space:normal}.filters .f:nth-last-child(-n+3) .tip:hover:after,.filters .f:nth-last-child(-n+3) .tip:focus-visible:after{left:auto;right:0}.msel{position:relative}.msel-btn{min-width:130px;max-width:210px;text-align:left;background:var(--page);border:1px solid var(--baseline);border-radius:6px;padding:5px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msel-btn:after{content:" ▾";color:var(--muted)}.msel-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:40;background:var(--surface);border:1px solid var(--baseline);border-radius:8px;box-shadow:0 8px 24px #1c3c6929;padding:10px;display:grid;grid-template-columns:repeat(4,auto);gap:2px 10px;max-height:320px;overflow:auto;width:max-content}.msel-menu[hidden]{display:none}.msel-clear{grid-column:1 / -1;margin-bottom:6px;font-size:12px;padding:4px 8px}.msel-item{display:flex;gap:6px;align-items:center;font-size:12.5px;color:var(--ink);cursor:pointer;padding:2px 4px;border-radius:4px;white-space:nowrap}.msel-item:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.msel-item input{accent-color:var(--accent);margin:0}table.z thead th .tip:after{text-align:left;font-weight:400;text-transform:none;letter-spacing:normal;color:var(--ink)}table.z thead th:nth-last-child(-n+9) .tip:hover:after,table.z thead th:nth-last-child(-n+9) .tip:focus-visible:after{left:auto;right:0}button{font:inherit;border-radius:7px;border:1px solid var(--baseline);background:var(--surface);color:var(--ink);padding:6px 12px;cursor:pointer}button:hover{border-color:var(--accent);color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover{background:var(--accent-deep);color:#fff}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:14px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}.tile .k{font-size:12px;color:var(--muted)}.tile .v{font-size:24px;font-weight:650;margin-top:2px}.tile .s{font-size:12px;color:var(--ink-2)}.tile .delta{font-size:12px;font-weight:600;margin-left:6px}.tile .delta.good{color:var(--chip-a-fg)}.tile .delta.bad{color:var(--critical)}details.weights summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none;display:flex;align-items:center;gap:8px}details.weights summary:before{content:"▸";color:var(--muted);transition:transform .15s}details.weights[open] summary:before{transform:rotate(90deg)}.presets{display:flex;gap:8px;margin:12px 0 4px;flex-wrap:wrap}.presets button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.sliders{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 26px;margin-top:10px}.slider{display:grid;grid-template-columns:1fr 44px;align-items:center;gap:2px 10px}.slider .lbl{font-size:12.5px;color:var(--ink-2);grid-column:1 / 3;display:flex;justify-content:space-between}.slider .lbl .hint{color:var(--muted);font-size:11.5px}.slider input[type=range]{width:100%;accent-color:var(--accent)}.slider .val{font-size:12.5px;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.tablewrap{overflow:auto;margin-top:8px;padding:0;max-height:calc(100vh - 24px)}table.z{border-collapse:collapse;width:100%;font-size:13px}table.z th,table.z td{padding:7px 10px;text-align:right;white-space:nowrap}table.z th:nth-child(-n+6),table.z td:nth-child(-n+6){text-align:left}table.z thead th{position:sticky;top:0;z-index:2;background:var(--surface);color:var(--muted);font-weight:600;font-size:12px;border-bottom:1px solid var(--baseline);cursor:pointer;-webkit-user-select:none;user-select:none}table.z th:first-child,table.z td:first-child{padding-left:16px}table.z th:last-child,table.z td:last-child{padding-right:16px}table.z thead th:hover,table.z thead th .arrow{color:var(--accent)}table.z tbody td{border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums}table.z tbody tr:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);cursor:pointer}td.num-strong{font-weight:600}td.muted,.muted{color:var(--muted)}.chip{display:inline-block;min-width:34px;text-align:center;padding:2px 7px;border-radius:999px;font-weight:700;font-size:12px}.chip.gA{background:var(--chip-a-bg);color:var(--chip-a-fg)}.chip.gB{background:var(--chip-b-bg);color:var(--chip-b-fg)}.chip.gC{background:var(--chip-c-bg);color:var(--chip-c-fg)}.chip.gD{background:var(--chip-d-bg);color:var(--chip-d-fg)}.chip.gF{background:var(--chip-f-bg);color:var(--chip-f-fg)}.chip.gN{background:var(--chip-na-bg);color:var(--chip-na-fg)}.tableheadrow{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.tableheadrow h2{font-size:16px;margin:0}.tableheadrow .spacer{flex:1}.pager{display:flex;gap:6px;align-items:center;color:var(--ink-2);font-size:13px}#overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c2b4d52;display:none;z-index:40}#drawer{position:fixed;top:0;right:0;bottom:0;width:min(480px,94vw);z-index:50;background:var(--surface);border-left:1px solid var(--border);transform:translate(102%);transition:transform .18s ease-out;overflow-y:auto;padding:20px 22px}#drawer.open{transform:none}#drawer h2{margin:0 0 2px;font-size:20px;display:flex;gap:10px;align-items:center}#drawer .sub{color:var(--ink-2);margin-bottom:14px}#drawer .close{position:absolute;top:14px;right:14px}.dsection{margin-top:18px}.dsection h3{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px}.kv{display:grid;grid-template-columns:1fr auto;gap:4px 16px;font-size:13.5px}.kv .k{color:var(--ink-2)}.kv .v{text-align:right;font-variant-numeric:tabular-nums}.pctrow{display:grid;grid-template-columns:150px 1fr 34px;gap:10px;align-items:center;margin-bottom:6px;font-size:12.5px}.pctrow .k{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pctrow .track{height:8px;border-radius:4px;background:var(--bar-track);overflow:hidden}.pctrow .fill{height:100%;border-radius:4px;background:var(--accent)}.pctrow .n{text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}.extlinks{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.extlinks a{color:var(--accent);text-decoration:none;border:1px solid var(--baseline);padding:5px 10px;border-radius:7px;font-size:12.5px}.extlinks a:hover{border-color:var(--accent)}footer.app{margin-top:26px;color:var(--muted);font-size:12px}footer.app a{color:var(--accent)}:root{--dot-a: #21ab4c;--dot-b: #3b82f6;--dot-c: #e8a90c;--dot-d: #ef7e3f;--dot-f: #e05252}.viewtoggle{display:flex}.viewtoggle button{border-radius:0}.viewtoggle button:first-child{border-radius:7px 0 0 7px}.viewtoggle button:last-child{border-radius:0 7px 7px 0;border-left:none}.viewtoggle button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.mapbox{position:relative}#map{display:block;width:100%;border-radius:8px;cursor:grab;touch-action:none}#map.dragging{cursor:grabbing}#maptip{position:absolute;z-index:10;pointer-events:none;background:var(--surface);border:1px solid var(--baseline);border-radius:8px;box-shadow:0 6px 18px #1c3c6924;padding:8px 10px;font-size:12.5px;max-width:240px;line-height:1.4}.maplegend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--ink-2);margin-bottom:8px}.maplegend .li{display:flex;gap:6px;align-items:center}.maplegend .sw{width:10px;height:10px;border-radius:50%}.maplegend .gradbar{width:180px;height:10px;border-radius:5px;border:1px solid var(--border)}.navlink{color:var(--ink-2);text-decoration:none;font-size:13.5px;font-weight:500;padding:6px 11px;border-radius:8px;white-space:nowrap;transition:background .12s ease,color .12s ease}.navlink:hover{background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--accent-deep)}.ptitle{margin:0 0 12px;font-size:14px;color:var(--ink)}.small{font-size:12px}.verdict{border-width:2px}.verdict .vtitle{font-size:18px;font-weight:700}.verdict .vwhy{margin-top:6px;color:var(--ink-2);max-width:75ch}.verdict.v-good{border-color:var(--good)}.verdict.v-warn{border-color:var(--warning)}.verdict.v-bad{border-color:var(--critical)}.verdict.v-good .vtitle{color:var(--chip-a-fg)}.verdict.v-bad .vtitle{color:var(--critical)}.flags{margin-top:12px;display:grid;gap:8px}.flagrow{display:grid;grid-template-columns:20px 64px 1fr;gap:8px;align-items:start;font-size:13px;padding:8px 10px;border-radius:8px;background:var(--bar-track)}.flagrow .ficon{font-weight:700;text-align:center}.flagrow .flabel{font-weight:700;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;margin-top:1px}.flagrow.good .ficon,.flagrow.good .flabel{color:var(--chip-a-fg)}.flagrow.info .ficon,.flagrow.info .flabel{color:var(--accent)}.flagrow.serious .ficon,.flagrow.serious .flabel{color:var(--chip-d-fg)}.flagrow.critical .ficon,.flagrow.critical .flabel{color:var(--critical)}code{background:var(--bar-track);padding:2px 6px;border-radius:5px;font-size:12.5px}.auth-wrap{max-width:460px}.auth-panel{padding:20px 22px}.auth-tabs[hidden],.auth-form[hidden]{display:none}.auth-tabs{display:flex;gap:8px;margin-bottom:16px}.auth-tabs button{flex:1}.auth-tabs button[aria-selected=true]{background:var(--accent);border-color:var(--accent);color:#fff}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form .f{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2)}.auth-form input{font:inherit;color:var(--ink);background:var(--page);border:1px solid var(--baseline);border-radius:6px;padding:7px 9px}.auth-form input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.auth-note{margin:0;color:var(--ink-2);font-size:13px}.auth-link{color:var(--accent);text-decoration:none;font-size:12.5px;width:fit-content}.auth-link:hover{text-decoration:underline}.auth-msg{min-height:1.2em;font-size:12.5px;color:var(--critical)}.auth-msg.ok{color:var(--good)}.auth-foot{margin-top:14px}.pw-checks{list-style:none;margin:0;padding:0;font-size:12px;color:var(--muted)}.pw-checks li{padding-left:18px;position:relative}.pw-checks li:before{content:"○";position:absolute;left:2px}.pw-checks li.met{color:var(--good)}.pw-checks li.met:before{content:"●"}.account{display:inline-flex;align-items:center;gap:8px}.admin-badge{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--chip-b-fg);background:var(--chip-b-bg);padding:4px 9px;border-radius:999px;text-decoration:none}.admin-badge:hover{outline:1px solid var(--accent)}.account-id{display:inline-flex;align-items:center;gap:7px;color:var(--ink-2);font-size:13px;text-decoration:none;background:var(--page);border:1px solid var(--border);border-radius:999px;padding:3px 12px 3px 3px;max-width:240px}.account-id:hover{border-color:var(--accent);color:var(--ink)}.account-id .avatar{width:24px;height:24px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3987e5,#1c5cab);color:#fff;font-size:12px;font-weight:700}.account-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.signout{color:var(--muted);font-size:13px;text-decoration:none;padding:6px 10px;border-radius:8px;white-space:nowrap;transition:background .12s ease,color .12s ease}.signout:hover{color:var(--critical);background:color-mix(in srgb,var(--critical) 8%,transparent)}@media(max-width:560px){.account-email{display:none}.account-id{padding:3px}}.auth-panel h2{margin:0 0 12px;font-size:15px}.auth-panel+.auth-panel{margin-top:14px}.brand{font-size:21px;margin:0;letter-spacing:-.02em}.brand span{color:var(--accent)}.brand-link{text-decoration:none;color:inherit;display:inline-flex;align-items:center;gap:8px}.brand-mark{width:25px;height:25px;flex:none;display:block}.pagename{color:var(--ink-2);font-size:14px;font-weight:600}.planchip{display:inline-block;padding:4px 11px;border-radius:999px;font-size:12px;font-weight:700;text-decoration:none;line-height:1.35}.planchip.t-scout{background:var(--chip-na-bg);color:var(--chip-na-fg)}.planchip.t-investor{background:var(--chip-b-bg);color:var(--chip-b-fg)}.planchip.t-portfolio{background:var(--chip-a-bg);color:var(--chip-a-fg)}.planchip:hover{outline:1px solid var(--accent)}.btn-primary,.btn-ghost{display:inline-block;font:inherit;font-weight:600;cursor:pointer;border-radius:8px;padding:8px 16px;text-decoration:none}.btn-primary{background:var(--accent);border:1px solid var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn-ghost{background:transparent;border:1px solid var(--baseline);color:var(--ink)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-primary.big,.btn-ghost.big{padding:11px 22px;font-size:15px}button.btn-ghost[disabled]{opacity:.6;cursor:default}button.btn-ghost[disabled]:hover{border-color:var(--baseline);color:var(--ink)}.landing .land-head{align-items:center;padding:6px 0;background:transparent;border:none;box-shadow:none;border-radius:0}.hero{text-align:center;margin:56px auto 40px;max-width:780px}.hero.slim{margin:32px auto 24px}.hero h2{font-size:38px;line-height:1.15;margin:0 0 14px;letter-spacing:-.02em}.hero h2 em{color:var(--accent);font-style:normal}.hero-sub{font-size:16.5px;color:var(--ink-2);max-width:64ch;margin:0 auto 22px}.hero-cta{display:flex;gap:12px;justify-content:center;margin-bottom:10px;flex-wrap:wrap}.landh{text-align:center;font-size:24px;margin:46px 0 6px}.center{text-align:center}.personas{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.persona h3{margin:0 0 8px;font-size:17px}.persona p{margin:0;color:var(--ink-2)}.featgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}.feat h3{margin:0 0 8px;font-size:15.5px}.feat p{margin:0;color:var(--ink-2);font-size:13.5px}.steps{max-width:640px;margin:14px auto;padding-left:22px;color:var(--ink-2)}.steps li{margin-bottom:12px;font-size:15px}.land-foot{max-width:800px;margin-left:auto;margin-right:auto;text-align:center}.plangrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;max-width:900px;margin:20px auto;align-items:stretch}.plancard{position:relative;text-align:center;padding:22px 18px 18px}.plancard h3{margin:0;font-size:17px}.plancard .price{font-size:32px;font-weight:750;margin:8px 0 2px}.plancard .price span{font-size:14px;font-weight:500;color:var(--muted)}.plancard .tagline{color:var(--ink-2);font-size:13px;min-height:3.5em}.plancard.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.plancard.current{border-color:var(--good);box-shadow:0 0 0 1px var(--good)}.plancard .ribbon{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:999px;white-space:nowrap}.plimits{list-style:none;margin:12px 0;padding:0;font-size:13.5px;color:var(--ink-2)}.plimits li{padding:5px 0;border-bottom:1px dashed var(--grid)}.plimits li:last-child{border-bottom:none}.planaction{margin-top:10px}.earlynote{max-width:620px;margin:14px auto;padding:10px 14px;border-radius:8px;background:var(--chip-b-bg);color:var(--chip-b-fg);font-size:13.5px}.earlynote a{color:inherit;font-weight:700}.comparison{max-width:800px;margin:20px auto}.comparison .landh{margin-top:6px}.compare-kv{display:grid;grid-template-columns:max-content 1fr;gap:10px 18px;font-size:13.5px}.compare-kv .k{font-weight:650}.compare-kv .v{color:var(--ink-2)}.allplans{margin:8px 0 0;padding-left:20px;color:var(--ink-2);font-size:13.5px}.allplans li{margin-bottom:6px}tr.caprow td{text-align:center;padding:14px;font-size:13px;color:var(--ink-2);background:color-mix(in srgb,var(--accent) 6%,transparent)}tr.caprow a{color:var(--accent);font-weight:650}.intro{position:relative;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.intro h3{margin:0 0 6px;font-size:15px}.intro p{margin:0;color:var(--ink-2);max-width:100ch}.intro-close{position:absolute;top:8px;right:10px;border:none;background:none;color:var(--muted);font-size:14px;padding:4px}#plans-upsell{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#1c2b4d66}.upsell-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px 24px;max-width:420px;margin:16px;box-shadow:0 16px 44px #1c3c6938}.upsell-box h3{margin:0 0 8px;font-size:17px}.upsell-box p{color:var(--ink-2);margin:0 0 14px}.upsell-actions{display:flex;gap:10px}.auth-wrap.wide{max-width:640px}.gain-good{color:var(--chip-a-fg)}.gain-bad,.tile .v.cf-bad{color:var(--critical)}.pf-empty{text-align:center;padding:46px 24px}.pf-empty h3{margin:0 0 8px;font-size:18px}.pf-empty p{color:var(--ink-2);max-width:60ch;margin:0 auto 18px}.pf-empty .big-add{padding:10px 20px;font-size:15px}.spark{margin-top:12px}.spark svg{display:block;width:100%;height:110px}.spark-line{fill:none;stroke:var(--accent);stroke-width:2}.spark-area{fill:color-mix(in srgb,var(--accent) 14%,transparent);stroke:none}.spark-caption{display:flex;justify-content:space-between;font-size:11.5px;color:var(--muted);margin-top:4px}.drawer-actions{display:flex;gap:10px;margin-top:24px;padding-top:16px;border-top:1px solid var(--grid)}.match-warn{margin:0 0 10px;padding:8px 10px;border-radius:8px;font-size:12.5px;background:var(--chip-c-bg);color:var(--chip-c-fg)}button.danger:hover{border-color:var(--critical);color:var(--critical)}.meter{margin-bottom:16px}.mhead{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:4px}.mhead .mfull{color:var(--critical);font-weight:700}.mtrack{height:8px;border-radius:5px;background:var(--bar-track);overflow:hidden;margin-bottom:4px}.mtrack>div{height:100%;border-radius:5px;background:var(--accent);transition:width .3s}.mtrack>div.mfull{background:var(--critical)}.mtrack.unlimited>div{background:var(--chip-a-bg)}.subline{display:flex;align-items:center;gap:10px}.price-inline{font-weight:700}
