:root{--bg: #edebe6;--nav: #ffffff;--surf: #ffffff;--surf2: #f6f5f1;--surf3: #f0efea;--line: #eceae4;--border: #e9e7e0;--border2: #e2e0d8;--skel: #e6e4dd;--hover: #f1f4ef;--text: #1a1d1a;--text2: #3d423c;--muted: #6b716a;--faint: #9a9f98;--brand: #2e5c3f;--brandD: #234a31;--brandBg: #e9f1e6;--brandLine: #d6e7d1;--sage: #a8cba4;--onSage: #1f3323;--amber: #b0741f;--amberBg: #faf0df;--amberLine: #eedfc4;--inv: #1d2a1e;--invText: #e9efe6;--onBrand: #ffffff;--pick: #ffffff;--pickLine: #c2d9bc;--danger: #a8503a;--shadow: rgba(26, 29, 26, .1);--lift: 0 1px 2px rgba(26, 29, 26, .05), 0 6px 16px rgba(26, 29, 26, .07), 0 18px 36px rgba(26, 29, 26, .05);--liftSm: 0 1px 2px rgba(26, 29, 26, .05), 0 4px 10px rgba(26, 29, 26, .06);--liftLg: 0 30px 70px rgba(26, 29, 26, .26)}html[data-theme=dark]{--bg: #101410;--nav: #161c16;--surf: #1a211a;--surf2: #1f271f;--surf3: #242d24;--line: #2a332a;--border: #2d372d;--border2: #374137;--skel: #2b352b;--hover: #263026;--text: #e8efe5;--text2: #c3cfc0;--muted: #94a292;--faint: #6f7d6d;--brand: #8fc199;--brandD: #a5d3ad;--brandBg: #243024;--brandLine: #3a4c3c;--sage: #8fc199;--onSage: #10170f;--amber: #dda551;--amberBg: #2e2618;--amberLine: #443722;--inv: #e8efe5;--invText: #141a14;--onBrand: #10170f;--pick: #243024;--pickLine: #3f5741;--danger: #e08a70;--shadow: rgba(0, 0, 0, .45);--lift: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 20px rgba(0, 0, 0, .42), 0 22px 44px rgba(0, 0, 0, .32);--liftSm: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 12px rgba(0, 0, 0, .35);--liftLg: 0 30px 70px rgba(0, 0, 0, .55)}html,body{margin:0;padding:0;height:100%;background:var(--bg);color:var(--text);font-family:Outfit,system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}#root{height:100%}a{color:var(--brand);text-decoration:none}a:hover{color:var(--brandD)}button{font-family:inherit}input,textarea,select{font-family:inherit;color:inherit}@keyframes qpulse{0%,to{opacity:.25}50%{opacity:.7}}@keyframes qrise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes qspin{to{transform:rotate(360deg)}}.qscroll::-webkit-scrollbar{width:10px;height:10px}.qscroll::-webkit-scrollbar-thumb{background:var(--border2);border-radius:8px;border:3px solid var(--bg)}:root{--series-1: #2f7d4a;--series-2: #4a7fc4;--series-3: #c27417;--series-4: #a8508f}html[data-theme=dark]{--series-1: #4a935d;--series-2: #5888d2;--series-3: #bd8428;--series-4: #b65f9d}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Outfit,system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease}*{box-sizing:border-box}::selection{background:var(--brandLine)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:12.5px}.error{color:var(--danger)}.warn{color:var(--danger);font-size:13.5px}.note{color:var(--text2)}.kicker{font:500 11px/1 DM Mono,monospace;letter-spacing:.1em;color:var(--faint);margin:0 0 10px}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.nav__in{max-width:1180px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:16px}.nav__right{margin-left:auto;display:flex;align-items:center;gap:10px;min-width:0}.nav__theme{width:34px;height:34px;flex:none;border-radius:20px;border:1px solid var(--border);background:var(--surf);color:var(--muted);font:400 14px/1 DM Mono,monospace;box-shadow:var(--liftSm)}.nav__theme:hover{border-color:var(--brand);color:var(--brand)}.email{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wm{display:inline-flex;align-items:center;gap:9px;color:var(--text)}.wm__mark{width:26px;height:26px;border-radius:7px;background:var(--sage);color:var(--onSage);display:inline-flex;align-items:center;justify-content:center;flex:none}.wm__word{font:600 15px/1 Outfit,sans-serif;letter-spacing:-.01em;white-space:nowrap}.wm__word span{color:var(--brand)}.wm__tag{font:500 10.5px/1 DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);background:var(--brandBg);border:1px solid var(--brandLine);border-radius:20px;padding:5px 8px}.btn{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 16px;border-radius:8px;border:1px solid transparent;font:500 13px/1 Outfit,sans-serif;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease}.btn--lg{height:44px;padding:0 22px;font-size:14.5px;border-radius:10px}.btn--primary{background:var(--brand);color:var(--onBrand)}.btn--primary:hover{background:var(--brandD)}.btn--ghost{background:var(--surf);border-color:var(--border);color:var(--text2);font-weight:400}.btn--ghost:hover{color:var(--text);border-color:var(--border2)}.link{background:none;border:0;padding:0;color:var(--brand);font-size:13px}.link:hover{color:var(--brandD)}.seg-toggle{display:inline-flex;background:var(--surf2);border:1px solid var(--border);border-radius:20px;padding:3px;gap:2px}.seg-toggle button{border:0;background:transparent;color:var(--text2);border-radius:20px;padding:6px 12px;font:500 12.5px/1 Outfit,sans-serif}.seg-toggle button[aria-pressed=true]{background:var(--brand);color:var(--onBrand)}.page{max-width:1180px;margin:0 auto;padding:8px 24px 64px}.gate{max-width:520px;margin:64px auto;padding:36px;text-align:center}.gate h1{font:600 26px/1.15 Outfit,sans-serif;letter-spacing:-.025em;margin:0 0 10px}.gate .btn{margin-top:18px}.bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:6px 0 14px}.bar .small{font-family:DM Mono,monospace;font-size:11.5px;color:var(--faint)}.note.small{margin:0 0 14px}.card,.tile{background:var(--surf);border-radius:18px;box-shadow:var(--lift)}.card{padding:20px;margin-bottom:16px;min-width:0}.card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}h2{font:600 17px/1.2 Outfit,sans-serif;letter-spacing:-.015em;margin:0 0 6px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:16px}.tile{padding:16px 18px;border:1px solid transparent}.tile.level-amber{border-color:var(--amberLine);background:color-mix(in srgb,var(--amberBg) 45%,var(--surf))}.tile.level-red{border-color:color-mix(in srgb,var(--danger) 45%,transparent)}.tile-head{display:flex;align-items:center;gap:8px;color:var(--text2);font-size:13.5px}.hero{font:600 28px/1.1 Outfit,sans-serif;letter-spacing:-.02em;margin:8px 0 2px;font-variant-numeric:tabular-nums}.tile .small{color:var(--muted);margin-top:2px}.tile .small strong{color:var(--text);font-weight:500}.status{display:inline-block;margin-top:8px;font-size:12px;font-weight:500;border-radius:20px;padding:3px 9px}.status-ok{color:var(--brand);background:var(--brandBg)}.status-amber{color:var(--amber);background:var(--amberBg)}.status-red{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,var(--surf))}.tile .link{display:block;width:fit-content;margin-top:8px;color:var(--brand)}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;flex:none}.v-gcp{fill:var(--series-1);background:var(--series-1)}.v-exa{fill:var(--series-2);background:var(--series-2)}.v-parallel{fill:var(--series-3);background:var(--series-3)}.v-openrouter{fill:var(--series-4);background:var(--series-4)}.legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--text2);font-size:12.5px;margin:8px 0}.chart{position:relative;touch-action:pan-y;user-select:none;-webkit-user-select:none}.chart svg{display:block}.grid{stroke:var(--line);stroke-width:1}.axis{fill:var(--faint);font:400 10.5px DM Mono,monospace}.tooltip{position:absolute;top:0;transform:translate(-50%);background:var(--surf);border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:12.5px;pointer-events:none;min-width:200px;box-shadow:var(--lift);z-index:3}.tt-row{display:flex;align-items:center;gap:4px;padding:2px 0;color:var(--text2)}.tt-row .num{margin-left:auto;color:var(--text)}.tt-row em{color:var(--faint);font-style:normal;font-size:11px}.tt-row.total{border-top:1px solid var(--line);margin-top:4px;padding-top:6px;font-weight:600;color:var(--text)}.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:820px){.two{grid-template-columns:1fr}}table{width:100%;border-collapse:collapse;font-size:13.5px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}th{font:500 10.5px/1.2 DM Mono,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);position:sticky;top:0;background:var(--surf)}th.num{text-align:right}tbody tr:hover{background:var(--hover)}td.num{color:var(--text)}.scroll{overflow:auto;max-height:380px}.scroll.tall{max-height:520px}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--border2);border-radius:8px;border:3px solid var(--surf)}.sticky-first th:first-child,.sticky-first td:first-child{position:sticky;left:0;background:var(--surf);z-index:1}.sticky-first thead th:first-child{z-index:2}.sticky-first td:first-child{white-space:nowrap}.sticky-first tbody tr:hover td:first-child{background:var(--hover)}.budget{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.budget input,.budget select{font-size:13px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surf2);width:130px}.budget select{width:auto}.budget input:focus,.budget select:focus{outline:none;border-color:var(--brand)}@media(max-width:560px){.nav__in{padding:0 14px;height:56px;gap:10px}.email{display:none}.nav__right .btn{height:34px;padding:0 12px;font-size:12.5px}.page{padding:4px 12px 40px}.gate{margin:32px auto;padding:28px 20px}.bar{gap:8px}.seg-toggle button{min-height:36px;min-width:50px;padding:8px 12px}.tiles{grid-template-columns:1fr 1fr;gap:10px}.tile{padding:12px 13px;border-radius:14px}.hero{font-size:21px}.card{padding:14px;border-radius:14px;margin-bottom:12px}table{font-size:13px}th,td{padding:9px 7px}.scroll{max-height:60vh;-webkit-overflow-scrolling:touch}.budget input{width:100%;font-size:16px}.budget select{font-size:16px}.budget .btn{height:40px}.tile .link{min-height:32px;display:inline-flex;align-items:center}}@media(max-width:360px){.tiles{grid-template-columns:1fr}.wm__tag{display:none}}
