@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:400;src:url(./saira-vietnamese-400-normal.BDft9Aer.woff2) format("woff2"),url(./saira-vietnamese-400-normal.BxJNjdQK.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:400;src:url(./saira-latin-ext-400-normal.BJFFSgrL.woff2) format("woff2"),url(./saira-latin-ext-400-normal.FApn06KW.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:400;src:url(./saira-latin-400-normal.6Q3FbzbH.woff2) format("woff2"),url(./saira-latin-400-normal.Du12DsUY.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:500;src:url(./saira-vietnamese-500-normal.DnkVjnpC.woff2) format("woff2"),url(./saira-vietnamese-500-normal.CGZ3WEl0.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:500;src:url(./saira-latin-ext-500-normal.C-BKQ_B5.woff2) format("woff2"),url(./saira-latin-ext-500-normal.DNhYPXNS.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:500;src:url(./saira-latin-500-normal.BUkaYXVh.woff2) format("woff2"),url(./saira-latin-500-normal.DeI90g98.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:600;src:url(./saira-vietnamese-600-normal.D5gszP3k.woff2) format("woff2"),url(./saira-vietnamese-600-normal.BXtbQ9YO.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:600;src:url(./saira-latin-ext-600-normal.BDLPjVgT.woff2) format("woff2"),url(./saira-latin-ext-600-normal.DVm3eXEL.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:600;src:url(./saira-latin-600-normal.DYxBFP1f.woff2) format("woff2"),url(./saira-latin-600-normal.DF-o6wW3.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:700;src:url(./saira-vietnamese-700-normal.ChF51jJ6.woff2) format("woff2"),url(./saira-vietnamese-700-normal.rQjWTXlX.woff) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:700;src:url(./saira-latin-ext-700-normal.kJsnFdG-.woff2) format("woff2"),url(./saira-latin-ext-700-normal.CrEf6OXZ.woff) format("woff");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Saira;font-style:normal;font-weight:700;src:url(./saira-latin-700-normal.CObqxJsW.woff2) format("woff2"),url(./saira-latin-700-normal.CWqLIJDh.woff) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{color-scheme:light;--page:#f2f3f5;--surface:#fcfcfb;--ink:#2b3a4d;--ink-2:#52514e;--muted:#898781;--grid:#e1e0d9;--baseline:#c3c2b7;--border:rgba(11,11,11,.1);--series-1:#2a78d6;--series-2:#eb6834;--series-units:#1baf7a;--good:#006300;--bad:#d03b3b;--spark-dim:#d8d7d0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--page);color:var(--ink);font-family:Saira,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.45}.wrap{margin:0 auto;max-width:1120px;padding:24px 20px 64px}header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:14px;margin-bottom:20px;padding-bottom:18px}.logo{font-size:20px;font-weight:650;letter-spacing:-.01em}.logo span{color:var(--series-1)}.spacer{flex:1}.synced{color:var(--muted);font-size:12.5px}.btn{background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--ink-2);cursor:pointer;font:inherit;font-size:13px;padding:7px 14px}.btn:hover{border-color:#0b0b0b40;color:var(--ink)}.btn:disabled{cursor:default;opacity:.6}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 3px #141e280d;padding:20px 22px}.hero{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:20px}@media(max-width:760px){.hero{grid-template-columns:1fr}}.card h2{color:var(--muted);font-size:11.5px;font-weight:650;letter-spacing:.08em;margin-bottom:2px;text-transform:uppercase}.card .range{color:var(--ink-2);font-size:13px;margin-bottom:14px}.card .range b{color:var(--ink);font-weight:600}.big{font-size:44px;font-weight:650;letter-spacing:-.02em;line-height:1.05}.big small{color:var(--muted);font-size:17px;font-weight:500;letter-spacing:0;margin-left:4px}.sub{color:var(--ink-2);font-size:14px;margin-top:6px}.sub b{color:var(--ink)}.delta,.sub b{font-weight:600}.delta{align-items:center;display:inline-flex;font-size:13.5px;gap:5px;margin-top:14px}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.delta .vs{color:var(--muted);font-weight:400}.spark{display:block;margin-top:14px}.totals{display:flex;flex-wrap:wrap;gap:40px;margin-bottom:20px;padding:14px 22px}.totals .stat .lbl{color:var(--muted);font-size:11.5px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.totals .stat .val{color:var(--ink);font-size:22px;font-weight:650;letter-spacing:-.01em}.controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin:4px 0 16px}.seg{background:var(--surface);border:1px solid var(--border);border-radius:9px;display:inline-flex;padding:3px}.seg button{background:none;border:0;border-radius:6px;color:var(--ink-2);cursor:pointer;font:inherit;font-size:13px;padding:6px 14px}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:#0b0b0b12;color:var(--ink);font-weight:600}.controls .hint{color:var(--muted);font-size:12.5px}.chart-card{margin-bottom:16px;padding:20px 22px 14px}.chart-head{align-items:baseline;display:flex;gap:10px;margin-bottom:12px}.chart-head h3{font-size:15px;font-weight:650}.chart-head h3.small{font-size:13.5px}.chart-head .note{color:var(--muted);font-size:12.5px}.legend{color:var(--ink-2);display:flex;font-size:12.5px;gap:16px;margin-left:auto}.legend .key{align-items:center;display:inline-flex;gap:6px}.legend .swatch{border-radius:3px;display:inline-block;height:12px;width:12px}svg{display:block;height:auto;width:100%}svg text{font-family:Saira,system-ui,-apple-system,Segoe UI,sans-serif}table{border-collapse:collapse;font-size:13px;width:100%}th{border-bottom:1px solid var(--border);color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.05em;padding:8px 10px;text-align:right;text-transform:uppercase;white-space:nowrap}td:first-child,th:first-child{text-align:left}td{border-bottom:1px solid rgba(11,11,11,.05);color:var(--ink-2);font-variant-numeric:tabular-nums;padding:9px 10px;text-align:right;white-space:nowrap}td.win{font-weight:500}td.net,td.win{color:var(--ink)}td .up,td.net{font-weight:600}td .up{color:var(--good)}td .down{color:var(--bad);font-weight:600}tr.partial td{color:var(--muted);font-style:italic}tr.partial td.net,tr.partial td.win{color:var(--ink-2)}.tip{background:#fff;border:1px solid rgba(11,11,11,.12);border-radius:9px;box-shadow:0 6px 24px #141e2829;font-size:12.5px;min-width:190px;padding:10px 12px;pointer-events:none;position:fixed;z-index:10}.tip .t-title{color:var(--ink);font-size:13px;font-weight:650;margin-bottom:6px}.tip .t-row{align-items:center;color:var(--ink-2);display:flex;gap:7px;padding:1.5px 0}.tip .t-row b{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto}.tip .t-key{border-radius:1px;height:2.5px;width:10px}.tip .t-sep{border-top:1px solid rgba(11,11,11,.1);margin:6px 0}.tip .t-dim{color:var(--muted)}.empty{color:var(--ink-2);padding:60px 20px;text-align:center}.empty h2{color:var(--ink);font-size:18px;letter-spacing:0;margin-bottom:8px;text-transform:none}.empty code{background:#0b0b0b0f;border-radius:5px;font-size:13px;padding:2px 6px}.error-note{color:var(--bad);font-size:13px;margin-left:8px}.chart-head h3 .cur{color:var(--muted);font-size:11.5px;font-weight:600;letter-spacing:.03em;margin-left:6px}.alt{color:var(--muted);margin-top:3px}.alt,.chain{font-size:13px}.chain{color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:12px}.chain .minus{color:var(--muted)}.chain .units{color:var(--ink-2)}.chain .units b{color:var(--ink);font-weight:600}.totals .val .alt-inline{color:var(--muted);font-size:13px;font-weight:500;margin-left:7px}.totals .lbl .sub-lbl{font-weight:500;letter-spacing:.04em}.analysis{margin-bottom:16px}.proj{align-items:baseline;display:flex;flex-wrap:wrap;gap:14px;margin-bottom:4px}.proj-num{color:var(--ink);font-size:30px;font-weight:650;letter-spacing:-.015em}.proj-meta{color:var(--ink-2);font-size:13.5px}.proj-meta b{color:var(--ink);font-weight:600}.proj-range{color:var(--muted);display:block;font-size:12.5px}.findings{display:grid;gap:7px;list-style:none;margin-top:14px}.findings li{align-items:baseline;color:var(--ink-2);display:flex;font-size:13.5px;gap:9px;line-height:1.5}.findings .dot{background:var(--muted);border-radius:99px;flex:none;height:7px;transform:translateY(-1px);width:7px}.findings li.good .dot{background:var(--good)}.findings li.bad .dot{background:var(--bad)}.analysis .excluded{border-top:1px solid var(--border);color:var(--muted);font-size:12.5px;line-height:1.5;margin-top:14px;padding-top:12px}.login-wrap{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:24px}.login{max-width:340px;padding:28px 26px 24px;width:100%}.login-logo{font-size:22px;font-weight:650;letter-spacing:-.01em}.login-sub{color:var(--muted);font-size:13px;margin-bottom:22px;margin-top:2px}.login-label{color:var(--muted);display:block;font-size:11.5px;font-weight:650;letter-spacing:.08em;margin-bottom:6px;text-transform:uppercase}.login-input{background:var(--page);border:1px solid var(--border);border-radius:8px;color:var(--ink);font:inherit;font-size:15px;padding:10px 12px;width:100%}.login-input:focus{border-color:transparent;outline:2px solid var(--series-1);outline-offset:1px}.login-btn{background:var(--series-1);border:0;border-radius:8px;color:#fff;cursor:pointer;font:inherit;font-size:14px;font-weight:600;margin-top:16px;padding:11px 14px;width:100%}.login-btn:hover:not(:disabled){background:#2468b8}.login-btn:disabled{cursor:default;opacity:.55}.login-error{color:var(--bad);font-size:13px;margin-top:12px}.logout-btn{color:var(--muted)}.logout-btn:hover{color:var(--bad)}
