
html[data-ladder="v2"] :is(.money,.item-price,.profile-amount,.ih-value,.hero-sofar-val,.chip-price,.add-total-row){font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}
html[data-ladder="v2"] .money-cur{font-size:.72em;font-weight:600;color:var(--color-text-muted);margin-inline-start:.2em}
html[data-ladder="v2"] .insight-hero .ih-value{font-size:min(2.875rem,13cqi);font-weight:800;letter-spacing:-.02em;line-height:1.05}
html[data-ladder="v2"] .insight-hero .ih-value .money-cur{font-size:.38em;letter-spacing:0}
html[data-ladder="v2"] .item-price{font-size: var(--font-size-base);font-weight:700}
html[data-ladder="v2"] .insight-hero .hero-sofar-val{font-size: var(--font-size-md);font-weight:700}
html[data-ladder="v2"] .chip-price{font-size: var(--font-size-sm);font-weight:600}
html[data-ladder="v2"] .insight-hero .ih-lead{margin-block-end:2px;color:var(--color-text-muted);font-size: var(--font-size-md);font-weight:400;text-transform:none;letter-spacing:0}

@keyframes msr-row-enter{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes msr-row-flash{from{background:var(--color-brand-soft)}to{background:transparent}}
html[data-ladder="v2"] .row-enter{animation:msr-row-enter 260ms cubic-bezier(.2,.8,.2,1) both,msr-row-flash 1s ease-out 260ms both;border-radius:var(--radius-inset)}
@media (prefers-reduced-motion:reduce){html[data-ladder="v2"] .row-enter{animation:none}}
@media (prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}
::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation-duration:220ms;animation-timing-function:var(--ease-dialog)}

html[data-ladder="v2"] .starter-wrap{min-height:calc(100dvh - var(--nav-height) - 140px);display:flex;flex-direction:column;justify-content:center;padding-block-end:48px;box-sizing:border-box}
html[data-ladder="v2"] .starter-card{background:var(--color-surface);box-shadow:var(--shadow-card)}
html[data-ladder="v2"] .starter-icon{width:auto;height:auto;background:none;border:0;box-shadow:none}
html[data-ladder="v2"] .starter-icon img{width:56px;height:56px;display:block}
html[data-ladder="v2"] .entry-door img{width:20px;height:20px;flex:0 0 20px}

html[data-ladder="v2"] .sk{display:block;border-radius:var(--radius-xs);background:var(--skeleton-base);animation:skeletonLoading 1.5s infinite ease-in-out}
html[data-ladder="v2"] .sk-hero{display:flex;flex-direction:column;gap:10px}
html[data-ladder="v2"] .hero-skeleton>.skeleton{display:none}
html[data-ladder="v2"] .hero-skeleton{box-sizing:border-box;min-height:var(--fw-hero-h,auto)}
html[data-ladder="v2"] .sk-hero .sk:nth-child(1){width:28%;height:12px}
html[data-ladder="v2"] .sk-hero .sk:nth-child(2){width:45%;height:14px}
html[data-ladder="v2"] .sk-hero .sk:nth-child(3){width:62%;height:40px;border-radius:var(--radius-sm)}
html[data-ladder="v2"] .sk-hero .sk:nth-child(4){width:50%;height:12px;margin-block-start:8px}
html[data-ladder="v2"] .sk-hero .sk:nth-child(5){width:100%;height:8px;border-radius:var(--radius-pill)}
html[data-ladder="v2"] .sk-hero .sk:nth-child(6){width:38%;height:14px}
html[data-ladder="v2"] .sk-row{display:flex;align-items:center;gap:12px;box-sizing:border-box;min-height:48px;padding-block:8px}
html[data-ladder="v2"] .sk-row+.sk-row{border-block-start:1px solid var(--color-border)}
html[data-ladder="v2"] .sk-row .sk-icon{width:24px;height:24px;border-radius:var(--radius-sm);flex:0 0 24px}
html[data-ladder="v2"] .sk-row .sk-lines{flex:1;display:flex;flex-direction:column;gap:6px}
html[data-ladder="v2"] .sk-row .sk-lines .sk:first-child{width:55%;height:14px}
html[data-ladder="v2"] .sk-row .sk-lines .sk:last-child{width:35%;height:11px}
html[data-ladder="v2"] .sk-row .sk-amt{width:64px;height:16px}

html[data-ladder="v2"] .month-summary{display:flex;flex-direction:column;align-items:stretch;gap:16px}
html[data-ladder="v2"] .month-summary-head{display:flex;align-items:center;gap:8px}
html[data-ladder="v2"] .month-summary-title{font-size: var(--font-size-sm);font-weight:700;color:var(--color-brand)}
html[data-ladder="v2"] .month-summary-close{margin-inline-start:auto;width:44px;height:44px;border-radius:var(--radius-pill);border:0;background:var(--color-surface-subtle);color:var(--color-text-muted);position:relative}
html[data-ladder="v2"] .month-summary-stats{display:flex;gap:16px;padding-block-start:14px;border-block-start:1px solid var(--color-border)}
html[data-ladder="v2"] .month-summary-stat{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
html[data-ladder="v2"] .month-summary-label{font-size: var(--font-size-xs);font-weight:600;color:var(--color-text-muted)}
html[data-ladder="v2"] .month-summary-delta{font-weight:800;font-size: var(--font-size-lg);font-variant-numeric:tabular-nums}
html[data-ladder="v2"] .month-summary-delta.is-down{color:var(--color-success)}
html[data-ladder="v2"] .month-summary-delta.is-up{color:var(--color-danger)}
html[data-ladder="v2"] .month-summary-lead{margin-block-end:6px;font-size: var(--font-size-md)}
html[data-ladder="v2"] .month-summary-total{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.05;font-variant-numeric:tabular-nums}
html[data-ladder="v2"] .month-summary-total .money-cur{font-size:.38em;letter-spacing:0}
html[data-ladder="v2"] .month-summary-cat{display:flex;align-items:center;gap:8px;min-width:0;color:var(--color-text);font-weight:700}
html[data-ladder="v2"] .month-summary-sub{color:var(--color-text-muted);font-size: var(--font-size-sm)}
html[data-ladder="v2"] .month-summary{padding:var(--space-5)}
html[data-ladder="v2"] .month-summary-close{flex:0 0 44px;display:grid;place-items:center;cursor:pointer;font-size:14px}

html[data-ladder="v2"] .pro-chip{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:4px 10px;border-radius:var(--radius-pill);background:var(--color-brand-soft);color:var(--color-brand);font-size: var(--font-size-xs);font-weight:700;white-space:nowrap;cursor:pointer}
html[data-ladder="v2"] .locked-preview .locked-track{filter:blur(3px)}
html[data-ladder="v2"] .locked-figure{cursor:pointer}
html[data-ladder="v2"] .insight-hero .ih-lead{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
html[data-ladder="v2"] .pro-chip{min-height:28px;border:0;font-family:inherit;position:relative}
html[data-ladder="v2"] .pro-chip::after{content:"";position:absolute;inset:-8px}
html[data-ladder="v2"] .is-pro-preview{cursor:pointer}
html[data-ladder="v2"] .journey-pro-preview{display:flex;flex-direction:column;gap:var(--space-4)}
html[data-ladder="v2"] .journey-pro-card{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:var(--space-5)}
html[data-ladder="v2"] .journey-pro-head{display:flex;align-items:center;gap:12px}
html[data-ladder="v2"] .journey-pro-title{flex:1;min-width:0;margin:0;color:var(--color-text);font-size: var(--font-size-base);font-weight:700}
html[data-ladder="v2"] .journey-pro-body{display:flex;flex-direction:column;gap:12px}
html[data-ladder="v2"] .journey-pro-row{display:flex;flex-direction:column;gap:6px}
html[data-ladder="v2"] .journey-pro-line{display:flex;align-items:center;gap:10px}
html[data-ladder="v2"] .journey-pro-name{flex:1;min-width:0;color:var(--color-text);font-weight:600}
html[data-ladder="v2"] .goal-card.is-pro-preview{display:flex;flex-direction:column;gap:8px;inline-size:100%}
html[data-ladder="v2"] .goals-card.is-pro-preview .goals-card-head{display:flex;align-items:center;gap:8px}
html[data-ladder="v2"] .pro-cta{margin-block-start:var(--space-4)}

html[data-ladder="v2"] .insight-hero.hero-state-amber{--hero-accent:var(--imp-optional)}
html[data-ladder="v2"] .insight-hero:is(.hero-state-green,.hero-state-amber,.hero-state-red,.hero-state-neutral){display:grid;gap:var(--space-3)}
html[data-ladder="v2"] .insight-hero .hero-row{margin:0;gap:var(--space-2)}
html[data-ladder="v2"] .insight-hero .hero-pill{gap:6px;padding:2px 10px;border:0;font-size:.78125rem;font-weight:800}
html[data-ladder="v2"] .insight-hero.hero-state-green :is(.hero-pill,.hero-head .ih-value,.hero-budget-pct){color:var(--color-success)}html[data-ladder="v2"] .insight-hero.hero-state-green .ins-meter>span{background:var(--color-success)}
html[data-ladder="v2"] .insight-hero.hero-state-amber :is(.hero-pill,.hero-head .ih-value,.hero-budget-pct){color:var(--color-warning)}html[data-ladder="v2"] .insight-hero.hero-state-amber .ins-meter>span{background:var(--color-warning)}
html[data-ladder="v2"] .insight-hero.hero-state-red :is(.hero-pill,.hero-head .ih-value,.hero-budget-pct){color:var(--color-danger)}html[data-ladder="v2"] .insight-hero.hero-state-red .ins-meter>span{background:var(--color-danger)}
html[data-ladder="v2"] .insight-hero .hero-head{display:grid;gap:2px}
html[data-ladder="v2"] .insight-hero .ih-lead{margin:0;font-size:var(--font-size-sm);font-weight:600}
html[data-ladder="v2"] .insight-hero .hero-head .ih-value{margin:0;font-size:min(2.75rem,14.2cqi);letter-spacing:-.015em;line-height:1.05}
html[data-ladder="v2"] .insight-hero .hero-head .ih-value .money-cur{font-size:1rem;font-weight:700;color:var(--color-text-muted);margin-inline-start:var(--space-2)}
html[data-ladder="v2"] .insight-hero .insight-hero-budget{display:grid;gap:var(--space-2);margin:0;padding:0;border:0}
html[data-ladder="v2"] .insight-hero .hero-meter .ins-meter{block-size:8px;background:var(--color-surface-subtle)}
html[data-ladder="v2"] .insight-hero .hero-sofar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin:0;padding:10px 14px;border:0;border-radius:var(--radius-xl);background:var(--color-surface-subtle)}
html[data-ladder="v2"] .insight-hero .hero-sofar-text{min-inline-size:0;display:grid;gap:1px}
html[data-ladder="v2"] .insight-hero .hero-sofar-label{font-size:.8125rem;font-weight:700}
html[data-ladder="v2"] .insight-hero .hero-sofar-notes{display:grid;gap:1px}
html[data-ladder="v2"] .insight-hero .hero-sofar-sub{font-size:.75rem}
html[data-ladder="v2"] .insight-hero .hero-sofar .hero-sofar-val{flex:none;font-size:1rem;font-weight:800;line-height:1.35}
html[data-ladder="v2"] .insight-hero .hero-sofar-val .money-cur{font-size:.75rem;font-weight:700}
@container (max-width: 17em){html[data-ladder="v2"] .insight-hero .hero-sofar{flex-direction:column;align-items:stretch;gap:var(--space-1)}html[data-ladder="v2"] .insight-hero .hero-sofar .hero-sofar-val{align-self:flex-start}}
html[data-ladder="v2"] .insight-hero .ih-lead .pro-chip{margin-block:-6px}
html[data-ladder="v2"] .month-summary{gap:var(--space-3);padding:var(--hero-pad);border-radius:var(--radius-hero)}
html[data-ladder="v2"] .month-summary-head{justify-content:space-between}
html[data-ladder="v2"] .month-summary-title{margin:0;font-size:1rem;font-weight:800;color:var(--color-brand)}
html[data-ladder="v2"] .month-summary-close{flex:0 0 36px;width:36px;height:36px;font-size:inherit}
html[data-ladder="v2"] .month-summary-close::after{content:"";position:absolute;inset:-4px}
html[data-ladder="v2"] .month-summary-lead{margin:0 0 2px;font-size:var(--font-size-sm);font-weight:600}
html[data-ladder="v2"] .month-summary-total{font-size:2.5rem;line-height:1.1;letter-spacing:0}
html[data-ladder="v2"] .month-summary-total .money-cur{font-size:1rem;font-weight:700;margin-inline-start:var(--space-2)}
html[data-ladder="v2"] .month-summary-stats{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-3)}
html[data-ladder="v2"] .month-summary-label{font-size:.78125rem}
html[data-ladder="v2"] .month-summary-cat{gap:6px;font-size:var(--font-size-md);font-weight:800}
html[data-ladder="v2"] .month-summary-sub{font-size:.78125rem}
html[data-ladder="v2"] .month-summary-delta{font-size:var(--font-size-md)}
html[data-ladder="v2"] .month-summary-delta.is-up{color:var(--color-danger-ink)}
html[data-ladder="v2"] .month-summary .month-summary-share{min-block-size:48px;margin:0;border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);background:transparent;color:var(--color-text);font-size:.90625rem;font-weight:700}
html[data-ladder="v2"] .repeated-due-amount .money-cur{font-size:.71875rem;font-weight:700;margin-inline-start:.3em}
html[data-ladder="v2"] .repeated-due-row{position:relative}
html[data-ladder="v2"] :is(.repeated-due-row + .repeated-due-row,.repeated-soon-label + .repeated-due-row){border-block-start:0}
html[data-ladder="v2"] :is(.repeated-due-row + .repeated-due-row,.repeated-soon-label + .repeated-due-row)::before{content:"";position:absolute;inset-block-start:0;inset-inline:var(--space-4) 0;block-size:1px;background:var(--color-border)}
html[data-ladder="v2"] .repeated-due-total b{font-weight:700}
html[data-ladder="v2"] .recent-list-card{padding-block:0}
html[data-ladder="v2"] .recent-list-card .recent-purchase-row.item-row2{padding-inline:0}
html[data-ladder="v2"] .recent-list-card .recent-purchase-row.item-row2 + .recent-purchase-row.item-row2{border-block-start:0}
html[data-ladder="v2"] .recent-list-card .recent-purchase-row.item-row2 + .recent-purchase-row.item-row2::before{content:"";position:absolute;inset-block-start:0;inset-inline:68px 0;block-size:1px;background:var(--color-border);z-index:1}
html[data-ladder="v2"] .recent-list-card .recent-purchase-row .item-line{gap:var(--space-3);min-block-size:60px;padding:var(--space-2) var(--space-4)}
html[data-ladder="v2"] .recent-list-card .recent-purchase-row .item-name{display:grid;gap:1px;line-height:1.3}
html[data-ladder="v2"] .recent-list-card .recent-purchase-title{font-size:var(--font-size-md);font-weight:700}
html[data-ladder="v2"] .recent-list-card .recent-purchase-row .item-name .item-meta{font-size:.78125rem;line-height:1.35;color:var(--color-text-muted)}
html[data-ladder="v2"] .recent-list-card .recent-purchase-row .item-price{font-size:.96875rem;font-weight:800}
html[data-ladder="v2"] .recent-list-card .recent-purchase-row .item-price .money-cur{font-size:.74em;font-weight:700}
html[data-ladder="v2"] .goals-card-row{position:relative;display:flex;align-items:center;gap:var(--space-3);min-block-size:66px;padding:var(--space-3) var(--space-4);font-size:inherit}
html[data-ladder="v2"] .goals-card-row + .goals-card-row{border-block-start:0}
html[data-ladder="v2"] .goals-card-row + .goals-card-row::before{content:"";position:absolute;inset-block-start:0;inset-inline:68px 0;block-size:1px;background:var(--color-border)}
html[data-ladder="v2"] .goals-card-main{flex:1;min-inline-size:0;display:grid;gap:6px}
html[data-ladder="v2"] .goals-card-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px var(--space-2);min-inline-size:0}
html[data-ladder="v2"] .goals-card-name{flex:1 1 6em;min-inline-size:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-md);font-weight:700}
html[data-ladder="v2"] .goals-card-ratio{flex:none;font-size:.8125rem;font-weight:700;color:var(--color-text-muted)}
html[data-ladder="v2"] .goals-card-ratio .goals-card-of{font-weight:700;color:inherit}
html[data-ladder="v2"] .goals-card-ratio:is(.is-warn,.is-danger){font-weight:800;color:var(--color-warning)}
html[data-ladder="v2"] .goals-card-row .goal-meter{block-size:6px;margin:0;background:var(--color-surface-subtle)}
html[data-ladder="v2"] .goals-card-row .goal-meter .goal-meter-fill{background:var(--color-brand)}
html[data-ladder="v2"] .goals-card-row:is(.is-warn,.is-danger) .goal-meter .goal-meter-fill{background:var(--imp-optional)}
html[data-ladder="v2"] .week-total .money-cur{font-size:.875rem;font-weight:700;margin-inline-start:.3em}
html[data-ladder="v2"] .week-sel .money-cur{font-size:1em;font-weight:800;color:inherit}
html[data-ladder="v2"] .week-chart{border-block-end:0}
html[data-ladder="v2"] .week-bar{border:0;border-radius:4px;background:var(--color-brand)}
html[data-ladder="v2"] .week-bar.is-today:not(.is-over){background:var(--color-brand-border)}
html[data-ladder="v2"] .week-bar.is-over{background:var(--imp-optional);border:0}
html[data-ladder="v2"] .week-limit{border:0;block-size:1.2px;background:repeating-linear-gradient(90deg,var(--color-text-muted) 0 2px,transparent 2px 4px)}
html[data-ladder="v2"] .week-day{font-size:.6875rem;font-weight:700;color:var(--color-text-muted)}
html[data-ladder="v2"] .week-day.is-today{color:var(--color-text-muted);font-weight:700}
html[data-ladder="v2"] .week-day.is-selected{color:var(--color-text);font-weight:800}
html[data-ladder="v2"] .week-verdict{margin:0;padding-block-start:10px;border-block-start:1px solid var(--color-border);font-size:.8125rem;line-height:1.6;color:var(--color-text-muted)}
html[data-ladder="v2"] .week-limit-meta b{font-weight:700;color:inherit;font-family:var(--font-app-figures)}
