@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#1c253d;background:#f7f8fc;font-synthesis:none;--blue:#3158df;--muted:#747e92;--border:#e7eaf2}*{box-sizing:border-box}body{margin:0}button,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{cursor:pointer}button{transition:background .2s,transform .2s}button:active{transform:translateY(1px)}a{color:var(--blue)}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #7393ff;outline-offset:4px}.topbar{height:88px;background:white;border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 max(5%,calc((100vw - 1400px)/2));gap:28px}.brand{font-family:'Manrope',sans-serif;font-weight:800;font-size:36px;letter-spacing:-2px;color:#202a43;text-decoration:none;line-height:1}.brand span{color:var(--blue)}.brand-caption{font-size:14px;color:#8690a1;border-left:1px solid var(--border);padding-left:25px;flex:1}.topbar .text-button{margin-left:auto}.button{padding:13px 20px;border-radius:9px;border:0;font-weight:600;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:14px}.primary{background:var(--blue);color:white;box-shadow:0 3px 6px #3158df16}.primary:hover{background:#2145c9}.secondary{background:#eef1f9;color:#344366}.text-button{background:none;border:0;padding:10px 0;color:#435373;font-weight:600;font-size:14px;white-space:nowrap;display:inline-flex;gap:12px;align-items:center}.text-button:hover{color:var(--blue)}main{max-width:1400px;margin:auto;padding:43px 5% 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px;gap:24px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.5px;color:#707f98}.intro .eyebrow{color:var(--blue)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Manrope',sans-serif}h1{font-size:clamp(26px,2.8vw,38px);letter-spacing:-1.45px;font-weight:800;margin:10px 0 10px;line-height:1.3}h1 span{color:#6f7c94}.intro p{color:#788399;font-size:16px}.privacy{display:flex;align-items:center;gap:12px;color:#69778d;font-size:13px;flex-shrink:0}.privacy>span{font-size:32px;color:#8192ad}.privacy small{display:block;font-size:12px;margin-top:5px;color:#959eae}.demo-banner{background:#edf2ff;border:1px solid #dce5ff;padding:13px 19px;border-radius:9px;display:flex;justify-content:space-between;align-items:center;gap:14px;color:#627399;font-size:13px}.demo-banner>div{display:flex;gap:12px;align-items:center}.demo-tag{font-size:12px;letter-spacing:1px;font-weight:700;background:white;padding:6px 8px;border-radius:4px;color:var(--blue)}.demo-banner .text-button{color:var(--blue);padding:0;font-size:13px}.personal{background:#edf7f4;border-color:#d3e9e1}.toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);margin:27px 0 26px;gap:18px}.tabs{display:flex;gap:28px;align-self:stretch}.tabs button{border:0;background:none;font-size:14px;color:#828b9e;padding:17px 0 21px;border-bottom:2px solid transparent;font-weight:500}.tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);font-weight:700}.tabs button span{font-size:12px;background:#eaf0ff;border-radius:5px;color:#5b79d6;padding:2px 6px;margin-left:4px}.period{display:flex;gap:12px;align-items:center;color:#8790a2;font-size:13px;padding-bottom:10px}.period select{background:white;border:1px solid var(--border);border-radius:7px;color:#46526b;padding:9px 12px;font-size:13px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:23px}.metric{background:white;border:1px solid var(--border);border-radius:12px;padding:20px 22px}.metric>div{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#6e7991}.metric>div>span{border:1px solid #edf0f5;color:#8c98b2;width:27px;height:27px;display:grid;place-items:center;border-radius:7px}.metric strong{display:block;font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-1px;font-size:30px;margin:10px 0 7px;font-variant-numeric:tabular-nums}.metric small{font-size:12px;color:#9099aa}.blue{color:var(--blue)}.opportunity{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;background:#e9edff;border:1px solid #dce3fc;border-radius:14px;padding:29px 34px;margin-bottom:23px;position:relative;overflow:hidden}.opportunity .eyebrow{color:#526bc1;font-size:12px;letter-spacing:1.1px}.spark{font-size:18px;margin-right:5px;vertical-align:middle}.opportunity-number{font-family:'Manrope',sans-serif;font-size:55px;line-height:1.15;letter-spacing:-2.5px;font-weight:800;color:#2d50cd;margin:12px 0 10px}.opportunity h2{font-size:20px;letter-spacing:-.5px}.opportunity p{font-size:14px;line-height:1.65;color:#66769b;max-width:460px;margin:8px 0 17px}.dark{background:#263f92;color:white;padding:11px 17px;font-size:13px}.dark:hover{background:#1b3179}.hero-explanation{background:#ffffffb8;border:1px solid white;padding:24px;border-radius:11px;align-self:center;box-shadow:0 7px 20px #485e9910}.hero-explanation .eyebrow{margin-bottom:17px;font-size:12px;letter-spacing:1.3px}.receipt-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;font-size:13px;color:#7180a0}.receipt-row b{font-weight:600;color:#43557b;font-variant-numeric:tabular-nums}.receipt-row small{color:#9ca6bc;font-size:12px;margin-left:8px}.receipt-total{display:flex;justify-content:space-between;gap:12px;border-top:1px dashed #ccd4eb;padding-top:15px;margin-top:7px;align-items:center;font-size:13px;color:#435991}.receipt-total strong{font-size:25px;font-family:'Manrope',sans-serif;color:#3158df;letter-spacing:-.7px}.receipt-note{display:block;font-size:12px;color:#8f9bb5;margin-top:10px}.charts-row{display:grid;grid-template-columns:1.7fr 1fr;gap:23px;margin-bottom:23px}.charts-row.equal{grid-template-columns:1fr 1fr}.panel{background:white;border:1px solid var(--border);border-radius:13px;padding:24px;min-width:0}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}.section-head h2{font-size:18px;font-weight:750;letter-spacing:-.4px;line-height:1.45}.section-head p{font-size:13px;color:#919aaa;margin-top:5px;line-height:1.5}.chart-legend{display:flex;gap:21px;font-size:12px;color:#78849a;margin:0 0 8px}.chart-legend span{display:flex;align-items:center}.key{width:9px;height:9px;display:inline-block;border-radius:3px;margin-right:8px;flex-shrink:0}.chart-scroll{overflow-x:auto}.chart-scroll svg{width:100%;min-width:360px;display:block;max-height:300px}.chart-scroll text{font-family:'DM Sans',sans-serif;font-size:12px;fill:#8c97aa}.chart-bar:hover,.chart-bar:focus{opacity:.75;outline:none}.chart-details{font-size:12px;color:#818ca2;margin-top:8px}.chart-details summary{cursor:pointer}.chart-details table{margin-top:14px}.coverage-body{display:flex;flex-direction:column;align-items:center;padding-top:4px}.donut{width:175px;height:175px;background:conic-gradient(#3158df 0 var(--coverage),#e7ecfc var(--coverage) 100%);border-radius:50%;display:grid;place-items:center;transform:rotate(-90deg)}.donut>div{width:139px;height:139px;border-radius:50%;background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(90deg)}.donut strong{font-family:'Manrope',sans-serif;font-size:37px;letter-spacing:-1px}.donut strong span{font-size:24px}.donut small{font-size:12px;color:#8691a8;margin-top:4px}.coverage-legend{width:100%;margin-top:24px}.coverage-legend>div{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}.coverage-legend span{color:#7b879e}.coverage-legend b{font-weight:600}.canteen-list{display:grid;gap:15px}.canteen-label{display:flex;align-items:center;font-size:12px;gap:12px;margin-bottom:7px}.canteen-label>span{flex:1;display:flex;align-items:center;color:#61708d}.canteen-label b{font-size:12px;font-weight:600;white-space:nowrap}.canteen-label small{font-size:12px;color:#9aa4b5;min-width:37px;text-align:right}.track{height:5px;border-radius:3px;background:#f2f4fa;margin-left:17px;overflow:hidden}.track>span{height:100%;display:block;border-radius:3px}.histogram{height:207px;display:flex;gap:10px;align-items:end;padding-top:10px}.hist-col{flex:1;text-align:center;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;min-width:0}.hist-col>span{font-size:12px;color:#7a89a5;margin-bottom:8px}.hist-bar-wrap{height:135px;width:100%;display:flex;align-items:flex-end;border-bottom:1px solid #edf0f6}.hist-bar{background:#98acf1;width:100%;border-radius:5px 5px 0 0;min-height:1px}.hist-col small{font-size:12px;white-space:nowrap;color:#8190a8;margin-top:10px}.chart-footnote{font-size:12px;color:#97a1b2;margin-top:20px}.deposit-note{display:flex;justify-content:space-between;background:#f7f9fd;padding:15px;border-radius:7px;font-size:13px;margin-top:25px;color:#7d8ba2}.deposit-note b{color:#4c5e7d}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{color:#8994a7;font-size:12px;font-weight:500;background:#f8f9fd;padding:13px 15px;white-space:nowrap}td{padding:16px 15px;border-bottom:1px solid #eff1f7;color:#52627d}td:last-child,th:last-child{text-align:right}tr:last-child td{border-bottom:0}td small{display:block;font-size:12px;color:#a0a8b8;margin-top:4px}.saving{display:inline-block;background:#eaf6f0;color:#348268;font-weight:600;padding:5px 10px;border-radius:5px}.table-scroll{overflow-x:auto}.nowrap{white-space:nowrap}.type-tag{padding:5px 9px;border-radius:5px;background:#f0f3f8;font-size:12px;white-space:nowrap}.type-tag.subsidy{background:#edf7f1;color:#348268}.type-tag.deposit{background:#edf1ff;color:#3158df}.method-note{font-size:12px;color:#9aa3b3;line-height:1.7;margin:17px 0 30px}.empty{text-align:center;padding:65px 20px;background:white;border-radius:12px;color:#6f7d94}.empty p{margin:12px 0 22px}footer{display:flex;gap:25px;align-items:center;border-top:1px solid var(--border);padding:27px 0 35px;font-size:12px;color:#9aa4b5;line-height:1.8;margin-top:25px}.brand.small{font-size:25px;color:#8491a9;letter-spacing:-1.5px}.credits{margin-left:auto;text-align:right}dialog{width:min(660px,calc(100% - 32px));max-height:90vh;border:1px solid #e0e5f2;border-radius:18px;padding:32px;color:#25324d;box-shadow:0 30px 100px #15285430}dialog::backdrop{background:#14244866;backdrop-filter:blur(5px)}.dialog-heading{display:flex;gap:20px;align-items:flex-start;margin-bottom:22px}.dialog-heading h2{font-size:25px;margin-top:10px;letter-spacing:-.8px}.close{border:0;background:#f2f4fa;width:32px;height:32px;flex-shrink:0;border-radius:50%;font-size:24px;color:#65728c;line-height:1}.steps{padding-left:22px;font-size:14px;color:#687894;line-height:1.9;margin-bottom:22px}.input-label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}textarea{width:100%;resize:vertical;border:1px solid #dbe1f0;border-radius:8px;padding:13px;font-family:monospace;font-size:13px;line-height:1.6;color:#485876}dialog p{font-size:15px;line-height:1.8;color:#6f7d94}.muted{font-size:12px!important;margin:14px 0}.error{color:#c64747!important;font-size:13px!important}.dialog-actions{display:flex;justify-content:space-between;gap:14px;margin-top:20px}.example{background:#edf2ff;padding:20px;border-radius:10px;margin:20px 0}.example>span{font-size:12px;color:#7081a5}.example p{margin-top:8px;color:#445d96}dialog h3{font-size:17px;margin:22px 0 12px}.notice{background:#fff2d8;color:#856625;border-radius:7px;padding:14px;font-size:14px;margin-bottom:20px}
@media(min-width:1550px){main{padding-left:25px;padding-right:25px}.topbar{padding-left:calc((100vw - 1350px)/2);padding-right:calc((100vw - 1350px)/2)}}
@media(max-width:1050px){.privacy{display:none}.metric{padding:17px}.metric strong{font-size:26px}.opportunity{gap:30px;padding:26px}.charts-row{grid-template-columns:1.5fr 1fr}.tabs{gap:19px}.brand-caption{font-size:12px}.topbar{gap:20px}.histogram{gap:6px}.hist-col small{font-size:12px}.canteen-label{gap:8px}}
@media(max-width:760px){.topbar{height:76px;padding:0 5%;gap:16px}.brand{font-size:31px}.brand-caption{display:none}.topbar .button{font-size:12px;padding:11px 13px}.topbar .text-button{font-size:12px}.topbar .button span{display:none}main{padding-top:28px}.intro{margin-bottom:22px}h1{letter-spacing:-1px}h1 span{display:block}.intro p{font-size:14px;line-height:1.6}.demo-banner{align-items:flex-start;flex-direction:column;padding:15px;font-size:12px;line-height:1.7}.demo-banner>div{align-items:flex-start}.demo-banner .text-button{margin-left:65px;font-size:12px}.toolbar{flex-direction:column;align-items:stretch;gap:13px;margin:18px 0}.tabs{justify-content:space-between;gap:12px}.tabs button{font-size:12px;padding-bottom:13px}.period{justify-content:space-between}.period select{flex:1;max-width:190px}.metrics{grid-template-columns:repeat(2,1fr);gap:12px}.metric{padding:16px}.metric strong{font-size:25px}.metric>div{font-size:12px}.metric small{font-size:12px;line-height:1.5;display:block}.metric>div>span{display:none}.opportunity{grid-template-columns:1fr;gap:22px;padding:24px}.opportunity-number{font-size:49px}.opportunity p{font-size:14px}.hero-explanation{padding:20px}.charts-row,.charts-row.equal{grid-template-columns:1fr;gap:18px;margin-bottom:18px}.panel{padding:20px}.section-head h2{font-size:17px}.section-head p{font-size:12px}.coverage-body{flex-direction:row;gap:30px;padding-bottom:10px}.donut{width:150px;height:150px;flex-shrink:0}.donut>div{width:120px;height:120px}.coverage-legend{margin-top:0}.coverage-legend>div{flex-direction:column;gap:8px}.coverage-legend b{padding-left:17px}.section-head .text-button{font-size:12px}.histogram{gap:9px}.hist-col small{font-size:12px}footer{flex-wrap:wrap;gap:12px}footer>span:not(.credits){max-width:75%}.credits{margin-left:0;width:100%;text-align:left;padding-top:5px}dialog{padding:23px}.dialog-heading h2{font-size:22px}.dialog-actions .button{font-size:12px;padding:12px}.receipt-note{font-size:12px}.hero-explanation .eyebrow{font-size:12px}.eyebrow{font-size:12px}}
.metric>div,.tabs button,.period,.period select,.receipt-row,.receipt-total,.canteen-label,.canteen-label b,.coverage-legend>div,.deposit-note,table{font-size:.875rem}.opportunity p{font-size:1rem}.section-head p,.chart-legend,.chart-details,.chart-footnote,.metric small,.receipt-note,.method-note,.hist-col small,.hist-col>span,td small,th,footer{font-size:.75rem}.chart-scroll svg{min-width:500px}.histogram{overflow-x:auto}.hist-col{min-width:37px}.canteen-label small{font-size:.75rem;min-width:43px}.demo-banner{font-size:.875rem}.topbar .button{white-space:nowrap}.notice{line-height:1.7}@media(max-width:420px){.topbar{gap:12px}.topbar .text-button{font-size:.75rem;gap:4px}.topbar .button{font-size:.75rem;padding:11px 10px}.tabs{gap:8px}.tabs button{font-size:.75rem}.receipt-row small{display:block;margin:4px 0 0}.coverage-body{gap:20px}.coverage-legend>div{font-size:.75rem}}
/* Graphite theme: amounts first, explanations on demand. */
:root{color-scheme:dark;color:#edf1f6;background:#15191f;--blue:#6dc5ff;--muted:#aab5c3;--border:#343c47}
.topbar{background:#1c222a;border-bottom-color:#343c47;height:96px;gap:25px}
.brand{color:#f1f4f8}.brand span{color:#b8eb70}.brand-caption{color:#bdc6d3;font-size:1rem;line-height:1.5;border-color:#45505d;display:block}.brand-caption b{color:#b8eb70;font-weight:650}
.topbar .text-button{color:#b9c4d2}.primary{background:#b8eb70;color:#18230c;box-shadow:none}.primary:hover{background:#ccf596}.secondary{background:#35404e;color:#e0e8f3}.text-button{color:#aebfd2}.text-button:hover{color:#b8eb70}
main{padding-top:18px}.toolbar{margin:0 0 24px;border-color:#343c47}.tabs button{color:#a6b3c4;font-size:.875rem}.tabs button[aria-selected=true]{color:#b8eb70;border-bottom-color:#b8eb70}.tabs button span{color:#b8eb70;background:#303e27}.period{color:#aebacb}.period select{background:#252d37;color:#e3eaf3;border-color:#414c5c}
.metric,.panel{background:#232b35;border-color:#37414e;box-shadow:none}.metric{padding:20px}.metric>div{color:#bdc8d7}.metric>div>span{display:none}.metric strong{color:#f3f6fa;font-size:2rem;margin-top:13px}.metric:nth-child(2) strong{color:#b8eb70}.metric:nth-child(3) strong{color:#6dc5ff}.metric small{color:#a4b1c3}
.opportunity{background:#33281f;border:1px solid #705034;grid-template-columns:auto 1fr;gap:40px;align-items:center;padding:24px 28px;min-height:0}.opportunity .eyebrow{color:#e6b88b;font-size:.75rem;letter-spacing:1px}.opportunity-number{color:#ffb66d;font-size:2.8rem;margin:8px 0 0;letter-spacing:-1.5px}.opportunity-copy{display:flex;align-items:center;justify-content:space-between;gap:25px}.opportunity-copy p{color:#e2c9b3;margin:0;font-size:1rem}.opportunity-copy small{color:#d7b99e}.dark{color:#ffe6cd;background:#654326;border:1px solid #87603c}.dark:hover{background:#78512f}
.section-head{margin-bottom:22px}.section-head h2{color:#eef2f7}.section-head p,.chart-legend,.chart-details,.chart-footnote{color:#a7b5c8}.chart-scroll text{fill:#b6c2d3}.chart-scroll line{stroke:#3b4552}.chart-details summary{padding:8px 0}.donut{background:conic-gradient(#b8eb70 0 var(--coverage),#35404c var(--coverage) 100%)}.donut>div{background:#232b35}.donut strong{color:#edf5e6}.donut small{color:#aebbc8}.coverage-legend span{color:#b9c5d4}.coverage-legend>div:first-child .key{background:#b8eb70!important}.coverage-legend>div:last-child .key{background:#6dc5ff!important}
.canteen-label>span{color:#c0ccdc}.canteen-label b{color:#f0f4f8}.canteen-label small{color:#a6b5c8}.track{background:#35404c}.hist-bar{background:#6dc5ff}.hist-col small,.hist-col>span{color:#b0bfd2}.hist-bar-wrap{border-color:#465261}.deposit-note{background:#1a222c;color:#b9c6d7}.deposit-note b{color:#e8eff7}
th{background:#1b232d;color:#b2c1d3}td{color:#d6dfeb;border-color:#364251}.saving{background:#304329;color:#b8eb70}.type-tag{background:#364353;color:#d6e1ef}.type-tag.subsidy{background:#304329;color:#b8eb70}.type-tag.deposit{background:#233f52;color:#90d5ff}td small{color:#a4b4ca}.method-note{color:#a1aec0}.notice{background:#463a24;color:#efd496}
.empty{background:#202831;border:1px solid #3a4654;text-align:center;padding:72px 24px 80px;margin:40px 0 70px;min-height:360px}.empty h1{font-size:2rem;letter-spacing:-1px;color:#f1f5f8;margin:18px 0 10px}.empty p{color:#b6c3d3;font-size:1rem;margin:0 0 25px}.empty small{display:block;color:#94a5b9;font-size:.75rem;margin-top:22px}.empty-symbol{display:grid;place-items:center;width:52px;height:52px;background:#33442a;border:1px solid #587544;border-radius:14px;color:#b8eb70;font-size:1.7rem;margin:auto}
footer{color:#91a0b3;border-color:#343c47;font-size:.75rem;padding:23px 0}.brand.small{color:#a1b1c5}.credits br{display:none}.credits{display:flex;gap:12px}
dialog{background:#232c37;color:#edf1f8;border-color:#4b586a;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#090e15bb}.dialog-heading h2{color:#f1f4f8}.eyebrow{color:#b8eb70}.close{background:#3a4758;color:#e2e9f4}.steps,dialog p{color:#bac7d8}textarea{background:#171e27;color:#e1eaf6;border-color:#526079;font-size:.875rem}.example{background:#2c3b4b}.example p{color:#d1e7fa}.example>span{color:#b7cce0}.error{color:#ffb2a8!important}
@media(max-width:1050px){.brand-caption{font-size:.875rem}.topbar{gap:20px}.opportunity{gap:28px}.metric strong{font-size:1.7rem}}
@media(max-width:760px){.topbar{height:auto;min-height:112px;padding:20px 5%;display:grid;grid-template-columns:auto 1fr;gap:16px 20px}.brand-caption{display:block;border:0;padding:0;font-size:.875rem;text-align:right}.topbar .text-button{margin:0;font-size:.875rem;justify-self:start}.topbar .button{justify-self:end;font-size:.875rem}.toolbar{margin:0 0 20px}.opportunity{grid-template-columns:1fr;gap:17px;padding:24px}.opportunity-copy{gap:15px;flex-wrap:wrap}.opportunity-copy p{font-size:.875rem}.opportunity-number{font-size:2.5rem}.metrics{gap:12px}.metric strong{font-size:1.6rem}.metric small{font-size:.75rem}.empty{margin:20px 0 45px;padding:58px 20px}.credits{display:block}.tabs button{font-size:.875rem}.tabs{gap:12px}.chart-scroll svg{min-width:460px}}
@media(max-width:400px){.brand-caption{font-size:.8125rem}.tabs{gap:8px}.tabs button{font-size:.8125rem}.metric{padding:15px}.metric>div{font-size:.8125rem}}
.donut{background:conic-gradient(#b8eb70 0 var(--coverage),#6dc5ff var(--coverage) 100%)}
.brand{white-space:nowrap}.brand-dot{font-size:.7em;letter-spacing:-1px}
.monthly-scroll{max-width:100%;overflow-x:auto;scrollbar-color:#697d94 #19222c;padding-bottom:10px}.monthly-scroll svg{width:auto;min-width:0;max-width:none;height:380px;max-height:none}.monthly-scroll text{font-size:14px}.monthly-scroll .bar-value{fill:#e8f0fa;font-size:14px;font-weight:600}.chart-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:10px}.chart-actions>span{font-size:.75rem;color:#aab9cc}.chart-actions .text-button{font-size:.875rem}
#months-dialog{width:min(740px,calc(100% - 32px));overflow:hidden}#months-dialog .dialog-heading{justify-content:space-between}.month-table-scroll{overflow:auto;max-height:55vh}.month-table-scroll th{position:sticky;top:0;z-index:1}.month-table-scroll table{font-size:.875rem}
@media(max-width:760px){.brand{font-size:28px}.brand-caption{font-size:.8125rem}.product-strip{align-items:flex-start;flex-direction:column;gap:6px}.chart-actions{flex-wrap:wrap;gap:6px}.monthly-scroll svg{height:380px;min-width:0}.product-strip .text-button{padding:8px 0}}
.equivalent-copy{max-width:520px}.equivalent-copy p{line-height:1.65}.horalky-equivalent{margin:10px 0 7px;font-size:1rem;color:#e8c3a0}.horalky-equivalent strong{color:#ffd8ad;white-space:nowrap}.equivalent-copy>small{display:block;font-size:.75rem;line-height:1.5}.opportunity-copy>.button{flex-shrink:0}.monthly-scroll .chart-year{font-size:12px;fill:#97abc1}
@media(max-width:1050px){.opportunity-copy{flex-wrap:wrap;gap:15px}}
.brand-lockup{display:flex;align-items:baseline;gap:24px;flex:1;min-width:0}.brand-dot{font-size:inherit;letter-spacing:inherit}.brand-lockup .brand{font-size:2.25rem;line-height:1.2}.brand-lockup .brand-caption{font-family:'Manrope',sans-serif;font-size:1.25rem;line-height:1.4;font-weight:500;color:#d1dcc9;border:0;padding:0;flex:0 1 auto;text-align:left}.topbar{height:auto;min-height:96px;padding-top:20px;padding-bottom:20px}
.copy-flow{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 auto 30px;max-width:620px}.copy-step{padding:20px 18px 16px;border:1px solid #415265;border-radius:12px;background:#1a232e;animation:copy-pulse 1.4s ease both}.copy-step:nth-child(3){animation-delay:1.4s}.copy-step:nth-child(5){animation-delay:2.8s}.copy-step>div{display:flex;justify-content:center;align-items:center;gap:7px}.copy-step>span{display:block;font-size:.875rem;color:#afc1d5;margin-top:14px}.flow-arrow{font-size:1.5rem;color:#70925d;animation:flow-pass 1.4s ease both;animation-delay:.7s}.flow-arrow:nth-child(4){animation-delay:2.1s}kbd{display:inline-block;font-family:inherit;font-size:.875rem;line-height:1.4;padding:3px 7px;border:1px solid #627189;border-bottom-width:3px;border-radius:5px;background:#2a3746;color:#edf5ff;white-space:nowrap}.copy-step kbd{font-size:1rem;padding:7px 10px}.copy-step>div>span{font-size:.875rem;color:#91a5bc}.import-start{padding-top:45px;padding-bottom:48px}.import-start h1{font-size:clamp(1.5rem,2.6vw,2rem)}
@keyframes copy-pulse{0%,100%{transform:translateY(0);border-color:#415265;background:#1a232e;box-shadow:0 0 0 transparent}45%{transform:translateY(-7px);border-color:#b8eb70;background:#2a382c;box-shadow:0 8px 25px #b8eb7015}}
@keyframes flow-pass{0%,100%{color:#70925d;transform:translateX(0)}50%{color:#b8eb70;transform:translateX(5px)}}
#import-dialog{width:min(740px,calc(100% - 32px))}.import-steps{list-style:none;counter-reset:import-step;padding:0;margin:0 0 24px;display:grid;gap:15px}.import-steps li{counter-increment:import-step;display:flex;align-items:flex-start;gap:13px}.import-steps li:before{content:counter(import-step);width:28px;height:28px;flex-shrink:0;display:grid;place-items:center;border:1px solid #536344;background:#303f29;color:#c6f08a;border-radius:50%;font-size:.875rem;line-height:1}.import-steps strong{font-size:1rem;line-height:1.6;color:#edf4fd}.import-steps p{font-size:.875rem;line-height:1.8;margin:4px 0 0}.import-steps small{font-size:.75rem;color:#a7b8cd;display:block;line-height:1.6;margin-top:7px}.import-steps .full-history-step{background:#2a3828;border:1px solid #536b3e;border-radius:10px;padding:15px}.full-history-link{display:inline-block;color:#c5f08b;font-weight:650;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}.history-emphasis{color:#c8d8bc}.history-emphasis u{text-underline-offset:3px}.import-steps a:focus-visible{outline-offset:3px}
@media(max-width:1100px){.topbar{display:grid;grid-template-columns:1fr auto;gap:16px}.brand-lockup{grid-column:1/-1}.topbar .text-button{margin:0;justify-self:start}.topbar .primary{justify-self:end}.brand-lockup .brand-caption{font-size:1.2rem}}
@media(max-width:600px){.brand-lockup{gap:16px;align-items:baseline}.brand-lockup .brand{font-size:1.875rem}.brand-lockup .brand-caption{font-size:1.0625rem}.copy-flow{gap:8px;margin-bottom:25px}.copy-step{padding:14px 8px 12px;min-width:0}.copy-step kbd{font-size:.8125rem;padding:4px 6px}.copy-step>div{gap:3px}.copy-step>span{font-size:.75rem;margin-top:10px}.flow-arrow{font-size:1.125rem}.import-start{padding:35px 12px}.import-start p{padding:0 8px}.import-steps .full-history-step{padding:12px}.import-steps{gap:18px}}
@media(max-width:360px){.brand-lockup{flex-wrap:wrap;gap:6px}.copy-flow{gap:5px}.copy-step{padding-left:5px;padding-right:5px}}
/* Short, one-shot entrance animations; content is visible without animation support. */
@media(prefers-reduced-motion:no-preference){
 .brand-lockup{animation:enter-down .6s cubic-bezier(.22,1,.36,1) both}
 .topbar>#help-open,.topbar>#import-open{animation:enter-down .6s cubic-bezier(.22,1,.36,1) .1s both}
 .toolbar{animation:enter-up .55s cubic-bezier(.22,1,.36,1) .16s both}
 footer{animation:enter-up .6s cubic-bezier(.22,1,.36,1) .45s both}
 .import-start{position:relative;isolation:isolate;overflow:hidden;animation:enter-up .7s cubic-bezier(.22,1,.36,1) .22s both}
 .import-start:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 0%,#b8eb7015,transparent 65%);animation:ambient-arrival 1.8s ease-out both}
 .import-start h1{animation:enter-up .6s cubic-bezier(.22,1,.36,1) .35s both}
 .import-start>p{animation:enter-up .6s cubic-bezier(.22,1,.36,1) .43s both}
 .import-start>.button,.import-start>small{animation:enter-up .6s cubic-bezier(.22,1,.36,1) .51s both}
 .metric{animation:enter-up .55s cubic-bezier(.22,1,.36,1) both}
 .metric:nth-child(2){animation-delay:.06s}.metric:nth-child(3){animation-delay:.12s}.metric:nth-child(4){animation-delay:.18s}
 #dashboard .opportunity{animation:enter-up .6s cubic-bezier(.22,1,.36,1) .12s both}
 #dashboard .panel{animation:enter-up .6s cubic-bezier(.22,1,.36,1) .2s both}
 .charts-row .panel:nth-child(2){animation-delay:.28s}
 .track>span{transform-origin:left;animation:bar-arrival .75s cubic-bezier(.22,1,.36,1) .3s both}
 .hist-bar{transform-origin:bottom;animation:column-arrival .75s cubic-bezier(.22,1,.36,1) .3s both}
 .monthly-scroll svg rect{animation:chart-arrival .8s ease-out .3s both}
 dialog[open]{animation:dialog-arrival .22s cubic-bezier(.22,1,.36,1) both}
 dialog[open]::backdrop{animation:chart-arrival .22s ease-out both}
 .button{transition:background .2s,box-shadow .2s,transform .2s}.primary:hover{box-shadow:0 5px 20px #b8eb7022;transform:translateY(-2px)}.button:active{transform:translateY(0)}
 .metric{transition:border-color .2s,box-shadow .2s}.metric:hover{border-color:#596e86;box-shadow:0 5px 18px #0002}
}
@keyframes enter-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes enter-down{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
@keyframes ambient-arrival{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes bar-arrival{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes column-arrival{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes chart-arrival{from{opacity:0}to{opacity:1}}
@keyframes dialog-arrival{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.import-start{position:relative;isolation:isolate;overflow:hidden;padding-top:46px}.import-start .stats-invitation{font-size:clamp(1.8rem,3.6vw,3rem);font-weight:800;line-height:1.22;letter-spacing:-1.5px;max-width:800px;margin:0 auto 32px;color:#f1f6fc}.stats-invitation span{color:#b8eb70}.import-start .import-prompt{font-size:clamp(1.1rem,2vw,1.4rem);font-weight:600;line-height:1.5;letter-spacing:-.4px;margin:0 0 8px}.import-start .copy-flow{margin-bottom:24px}.intro-chart-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.18;mask-image:linear-gradient(90deg,#000 0%,#0008 20%,transparent 36%,transparent 64%,#0008 80%,#000 100%)}.intro-chart-bg svg{width:100%;height:100%;display:block}.intro-grid{stroke:#647c96;stroke-width:1}.intro-bars{color:#6dc5ff}.intro-bars rect{transform-box:fill-box;transform-origin:center bottom}.intro-trend{fill:none;stroke:#b8eb70;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
@media(prefers-reduced-motion:no-preference){.intro-bars rect{animation:backdrop-bars 2.6s cubic-bezier(.22,1,.36,1) .3s both}.intro-bars rect:nth-child(2n){animation-delay:.5s}.intro-bars rect:nth-child(3n){animation-delay:.75s}.intro-trend{animation:backdrop-line 3s ease .5s both}.import-prompt{animation:enter-up .6s cubic-bezier(.22,1,.36,1) .4s both}}
@keyframes backdrop-bars{from{transform:scaleY(.05);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes backdrop-line{from{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}to{stroke-dasharray:1;stroke-dashoffset:0;opacity:1}}
@media(max-width:600px){.import-start{padding-top:32px}.import-start .stats-invitation{letter-spacing:-.7px;margin-bottom:26px}.intro-chart-bg{opacity:.12}.import-start .import-prompt{font-size:1.125rem;padding:0 8px}}
.net-summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:22px;margin-bottom:8px;border-bottom:1px solid #3a4553}.net-summary>div{display:flex;flex-direction:column;gap:6px}.net-summary strong{font-family:'Manrope',sans-serif;font-size:1.8rem;letter-spacing:-.7px;color:#eaf4ff;font-variant-numeric:tabular-nums}.net-summary>div>span{font-size:.75rem;color:#a7b8cc}.net-year-label{display:flex;align-items:center;gap:10px;font-size:.875rem;color:#bac8da}.net-year-label select{font:inherit;padding:8px 12px;border:1px solid #53657b;border-radius:7px;background:#19232f;color:#edf5ff}.net-year-single{font-size:.875rem;color:#b6c8df;background:#2e3e4f;padding:8px 13px;border-radius:7px}.net-months{list-style:none;padding:0;margin:0}.net-month{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(80px,max-content);gap:16px;align-items:center;min-height:34px;padding:7px 0}.net-month-name{font-size:.875rem;color:#c2cfdf}.net-month-value{text-align:right;white-space:nowrap;font-size:.875rem;font-weight:550;color:#e2ecf8;font-variant-numeric:tabular-nums}.net-month-track{position:relative;height:9px;border-radius:4px;background:#1b2530}.net-month-fill{position:absolute;top:0;height:9px;background:#6dc5ff;border-radius:4px;min-width:0}.net-month-fill.negative{background:#b8eb70}.net-zero{position:absolute;top:-2px;height:13px;width:1px;background:#607086}.net-month.no-data .net-month-name,.net-month.no-data .net-month-value{color:#8494a8}.net-month.no-data .net-month-track{opacity:.45}.net-explanation{font-size:.75rem;line-height:1.6;color:#a8bad0;margin-top:12px}.monthly .chart-actions{flex-wrap:wrap}.monthly{align-self:start}.charts-row:has(.monthly){align-items:start}
@media(prefers-reduced-motion:no-preference){.net-month-fill{animation:chart-arrival .45s ease-out both}}
@media(max-width:600px){.net-month{grid-template-columns:65px minmax(0,1fr) minmax(74px,max-content);gap:10px}.net-summary strong{font-size:1.55rem}.net-year-label{gap:6px}}
.month-calendar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;list-style:none;padding:0;margin:18px 0}.month-tile{display:flex;flex-direction:column;gap:10px;min-width:0;border:1px solid #45586f;border-radius:10px;padding:15px 14px;background:#263442}.month-tile-label{font-size:.875rem;color:#e1ecf7;text-transform:capitalize}.month-tile strong{font-family:'Manrope',sans-serif;font-size:clamp(1rem,1.7vw,1.4rem);font-weight:750;font-variant-numeric:tabular-nums;color:#fff;letter-spacing:-.3px;overflow-wrap:anywhere}.month-tile-note{font-size:.75rem;color:#c0d3e7}.month-tile.heat-1{background:#283e52}.month-tile.heat-2{background:#2a4c69;border-color:#527ea1}.month-tile.heat-3{background:#2a6086;border-color:#628eb0}.month-tile.heat-4{background:#2678a6;border-color:#83c3e6}.month-tile.credit{background:#30482c;border-color:#66894f}.month-tile.no-data{background:#1d2630;border:1px dashed #3d4c5e}.month-tile.no-data .month-tile-label,.month-tile.no-data strong,.month-tile.no-data .month-tile-note{color:#91a2b7}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:10px;color:#aebed1;font-size:.75rem;flex-wrap:wrap;padding:4px 0 12px}.heat-scale{display:flex;gap:4px}.heat-scale i{width:16px;height:10px;border-radius:2px;background:#263442}.heat-scale i:nth-child(2){background:#283e52}.heat-scale i:nth-child(3){background:#2a4c69}.heat-scale i:nth-child(4){background:#2a6086}.heat-scale i:nth-child(5){background:#2678a6}
@media(max-width:500px){.month-calendar{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.month-tile{padding:14px}.month-tile strong{font-size:1.25rem}}
.monthly{container-type:inline-size}.monthly .section-head{margin-bottom:12px}.monthly .net-summary{padding-bottom:12px;margin-bottom:0}.monthly .net-summary strong{font-size:1.4rem}.month-calendar{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin:12px 0 8px}.month-tile{padding:10px 6px;gap:7px;border-radius:7px}.month-tile-label{font-size:.75rem}.month-tile strong{font-family:'DM Sans',sans-serif;font-size:.875rem;letter-spacing:-.2px;line-height:1.4}.calendar-legend{padding:4px 0;gap:8px}.monthly .chart-actions{margin-top:4px}.monthly .chart-actions .text-button{padding:6px 0}
@container (max-width:520px){.month-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}.month-tile{padding:9px 7px}}
@container (max-width:340px){.month-calendar{grid-template-columns:repeat(3,minmax(0,1fr))}}
#import-dialog .dialog-heading{position:relative;padding-right:48px;min-height:36px}
#import-dialog .dialog-heading>.close{position:absolute;top:0;right:0;width:36px;height:36px;display:grid;place-items:center}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}*::before,*::after{animation:none!important;transition:none!important}}

