@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#16110d;--surface:#211a14;--surface-2:#2b221a;--border:#3a2f24;--text:#ece3d3;--muted:#a4937c;--gold:#d4a24e;--gold-dim:#8a6a35;--burgundy:#8e3b32;--serif:"Fraunces Variable", "Palatino Linotype", Palatino, Georgia, serif;background:var(--bg);color:var(--text);font-family:system-ui,sans-serif}body{background:radial-gradient(ellipse at top, #1d1610 0%, var(--bg) 60%);min-height:100vh;margin:0}h1,h2,h3,h4{font-family:var(--serif);letter-spacing:.01em;font-weight:600}a{color:var(--gold)}button{background:var(--surface-2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.4rem .8rem;font-size:.9rem}button:hover{border-color:var(--gold-dim)}input,select,textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:.45rem .6rem;font-size:.95rem}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--gold-dim);outline-offset:1px}.muted{color:var(--muted)}.error{color:#d98a7e}.login,.loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.login form{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.75rem;min-width:17rem;padding:2rem;display:flex}.login h1{color:var(--gold);text-align:center;margin:0 0 .5rem}.app{max-width:92rem;margin:0 auto;padding:1.25rem 1rem 4rem}.rep-content{flex:1;min-width:0;max-width:68rem;margin:0 auto}.app nav[aria-label=Tools]{border-bottom:1px solid var(--border);gap:.25rem;margin-bottom:1.25rem;display:flex}.app nav[aria-label=Tools] a{font-family:var(--serif);color:var(--muted);border-bottom:2px solid #0000;padding:.6rem 1rem;font-size:1.05rem;text-decoration:none;display:inline-block}.app nav[aria-label=Tools] a.active{color:var(--gold);border-bottom-color:var(--gold)}.toolbar{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.75rem 0;display:flex;position:sticky;top:0}.control-group{border-left:1px solid var(--border);align-items:center;gap:.4rem;margin-left:.25rem;padding-left:.9rem;display:inline-flex}.control-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:.68rem}.search-box{flex:13rem;max-width:24rem;position:relative}.search-box input{box-sizing:border-box;width:100%}.suggest-panel{background:var(--surface);border:1px solid var(--border);z-index:30;border-radius:10px;max-height:26rem;padding:.35rem;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #0000008c}.suggest-header{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding:.45rem .6rem .2rem;font-size:.65rem}.suggest-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.6rem;width:100%;padding:.4rem .6rem;display:flex}.suggest-item.active{background:var(--surface-2)}.suggest-item .portrait,.suggest-item .portrait-fallback{border-width:1px;font-size:.7rem}.suggest-kind{background:var(--surface-2);width:26px;height:26px;color:var(--gold-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;display:inline-flex}.suggest-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.suggest-sub{white-space:nowrap;margin-left:auto;font-size:.78rem}.group-controls{gap:.25rem;display:flex}.group-controls button{color:var(--muted);padding:.3rem .55rem;font-size:.78rem}.tier-hint{color:var(--muted);font-family:system-ui,sans-serif;font-size:.8rem;font-style:italic}.skeleton{background:linear-gradient(100deg, var(--surface) 40%, var(--surface-2) 50%, var(--surface) 60%);background-size:200% 100%;border-radius:8px;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton-toolbar{height:2.4rem;margin-bottom:1.25rem}.skeleton-row{height:2.1rem;margin-bottom:.4rem}.empty-state{text-align:center;color:var(--muted);padding:3rem 1rem}.toast{background:var(--surface-2);border:1px solid var(--burgundy);z-index:20;border-radius:8px;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #00000080}.saved-indicator{color:var(--gold);font-size:.8rem;font-weight:400}.pipelines{max-width:44rem}.pipelines h3{color:var(--gold)}.pipeline{margin-bottom:1.4rem}.pipeline-head{justify-content:space-between;margin-bottom:.35rem;font-size:.9rem;display:flex}.pipeline-bar{background:var(--surface-2);border-radius:6px;height:10px;display:flex;overflow:hidden}.pipeline-seg{height:100%;transition:width .6s}.seg-done{background:linear-gradient(90deg, var(--gold-dim), var(--gold))}.seg-human{background:#7f9a6d}.seg-stale{opacity:.55;background:#8a6a35}.seg-miss{background:var(--burgundy);opacity:.7}.seg-todo{background:var(--surface-2)}.pipeline-legend{flex-wrap:wrap;gap:.9rem;margin-top:.35rem;font-size:.75rem;display:flex}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:.3rem;display:inline-block}.legend-dot.seg-todo{border:1px solid var(--border)}.spend-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0;display:flex}.env-badge{text-transform:uppercase;letter-spacing:.06em;vertical-align:middle;border:1px solid var(--gold-dim);color:var(--gold);border-radius:4px;padding:.15rem .45rem;font-family:system-ui,sans-serif;font-size:.7rem;font-weight:500}.env-badge.env-production{border-color:var(--burgundy);color:#e08a7f}.spend-table{border-collapse:collapse;width:100%;max-width:60rem;margin-bottom:1rem;font-size:.88rem}.spend-table th,.spend-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:.35rem .6rem}.spend-table th{color:var(--muted);font-weight:500}.spend-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.spend-table tr.pending td{opacity:.6}.spend-table tr.total td{font-weight:600}.spend-summary{max-width:24rem}.spend-row-actions{white-space:nowrap;text-align:right}.spend-row-actions button{margin-left:.3rem;padding:.2rem .5rem;font-size:.78rem}.spending pre{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.6rem .8rem;overflow-x:auto}.money-in{color:#8fbf7f}.spending .small{font-size:.78rem}.spending .error{color:#e08a7f}.spend-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.spend-header h2{margin:0}.spend-views{border-bottom:1px solid var(--border);gap:.25rem;margin:.75rem 0 1rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.spend-views a{color:var(--muted);white-space:nowrap;border-radius:6px 6px 0 0;padding:.4rem .75rem;font-size:.9rem;text-decoration:none}.spend-views a:hover{color:var(--text)}.spend-views a.active{color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold)}.spending h4{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1.25rem 0 .5rem;font-family:system-ui,sans-serif;font-size:.85rem;font-weight:600}.spending .checkbox{color:var(--muted);align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.spending input[type=search]{min-width:14rem}.txn-list{max-width:48rem;margin:0;padding:0;list-style:none}.txn,.sub-row{border-bottom:1px solid var(--border);align-items:center;gap:.7rem;padding:.5rem .25rem;display:flex}.txn.pending{opacity:.65}.txn.transfer{opacity:.5}.txn-main{flex:1;min-width:0}.txn-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;display:flex;overflow:hidden}.txn-name a{color:var(--text);text-decoration:none}.txn-name a:hover{color:var(--gold)}.txn-sub,.txn-raw{white-space:nowrap;text-overflow:ellipsis;font-size:.76rem;overflow:hidden}.txn-raw{opacity:.7;font-family:ui-monospace,monospace;font-size:.7rem}.txn .num,.sub-amounts .num{font-variant-numeric:tabular-nums;white-space:nowrap}.sub-amounts{flex-direction:column;align-items:flex-end;display:flex}.txn-day h4{text-transform:none;letter-spacing:0;justify-content:space-between;max-width:48rem;margin:1rem 0 .2rem;font-size:.82rem;display:flex}.spend-avatar{object-fit:cover;background:var(--surface-2);border-radius:50%;flex:none}.spend-avatar-icon{justify-content:center;align-items:center;display:inline-flex}.tag{border:1px solid var(--border);color:var(--muted);border-radius:4px;flex:none;padding:.05rem .4rem;font-size:.68rem}.tag-warn{border-color:var(--burgundy);color:#e08a7f}.show-more,.link-button{margin-top:.75rem}.link-button{color:var(--gold);text-align:left;background:0 0;border:none;margin:0;padding:0}.stat-cards{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.6rem;max-width:60rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.7rem .85rem}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.stat-value{font-family:var(--serif);font-variant-numeric:tabular-nums;margin:.15rem 0;font-size:1.6rem;font-weight:600}.stat-sub{font-size:.78rem}.delta-up{color:#e08a7f}.delta-down{color:#8fbf7f}.month-nav{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.month-nav h3{text-align:center;min-width:11rem;margin:0}.snapshot-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1.5rem;max-width:60rem;display:grid}.cat-bars{margin:0;padding:0;list-style:none}.cat-bars button,.cat-bars.static li{text-align:left;background:0 0;border:none;border-radius:6px;grid-template-columns:9.5rem 1fr 5rem 2.5rem 3.2rem;align-items:center;gap:.5rem;width:100%;padding:.35rem .25rem;font-size:.86rem;display:grid}.cat-bars.static li{grid-template-columns:3rem 1fr 5rem}.cat-bars button:hover,.cat-bars button.active{background:var(--surface-2)}.cat-bars .num{text-align:right;font-variant-numeric:tabular-nums}.cat-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.spend-bar{background:var(--surface-2);border-radius:999px;height:.55rem;display:block;overflow:hidden}.spend-bar>span{border-radius:999px;height:100%;display:block}.top-merchants{margin:0;padding:0;list-style:none}.top-merchants li{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.35rem 0;font-size:.88rem;display:flex}.top-merchants li a{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text);flex:1;text-decoration:none;overflow:hidden}.top-merchants li .link-button{flex:1}.top-merchants .num{font-variant-numeric:tabular-nums;margin-left:auto}.heatmap-wrap,.trend-wrap{max-width:60rem;overflow-x:auto}.heatmap{width:100%;min-width:42rem;height:auto}.hm-label{fill:var(--muted);font-size:9px}.hm-cell{cursor:pointer}.hm-cell:hover,.hm-cell.selected{stroke:var(--text);stroke-width:1.5px}.hm-legend{flex-wrap:wrap;align-items:center;gap:.25rem;margin:.4rem 0 .5rem;display:flex}.hm-swatch{border-radius:2px;width:11px;height:11px;display:inline-block}.segmented{border:1px solid var(--border);border-radius:6px;display:inline-flex;overflow:hidden}.segmented button{background:0 0;border:none;border-radius:0}.segmented button.active{background:var(--surface-2);color:var(--gold)}.merchants-table .bar-cell{vertical-align:middle;width:30%}.merchant-cell{color:var(--text);align-items:center;gap:.55rem;text-decoration:none;display:flex}.merchant-cell:hover{color:var(--gold)}.merchant-header{align-items:center;gap:.8rem;margin-bottom:.75rem;display:flex}.merchant-header h3{margin:0}.month-columns{grid-template-columns:repeat(12,minmax(0,1fr));gap:.35rem;max-width:40rem;height:8rem;display:grid}.month-col{flex-direction:column;align-items:center;gap:.25rem;display:flex}.month-col-bar{background:var(--surface);border-radius:4px;flex:1;align-items:flex-end;width:100%;display:flex;overflow:hidden}.month-col-bar>span{border-radius:4px 4px 0 0;width:100%}.month-col-label{color:var(--muted);font-size:.68rem}.jev-card .stat-value{font-size:1.15rem}.lapsed{margin-top:1.25rem}.lapsed summary{cursor:pointer;color:var(--muted)}.trend-legend{flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex}.trend-legend button{align-items:center;gap:.35rem;padding:.25rem .55rem;font-size:.8rem;display:inline-flex}.trend-legend button.active{border-color:var(--gold)}.trend-legend button.dim{opacity:.5}.trend-chart{width:100%;min-width:36rem;height:auto}.grid-line{stroke:var(--border);stroke-width:1px}@media (width<=720px){.snapshot-grid{grid-template-columns:minmax(0,1fr)}.cat-bars button{grid-template-columns:7.5rem 1fr 4.5rem 0 3.6rem}.cat-bars button .small{white-space:nowrap}.cat-bars button .muted.small,.hide-narrow{display:none}.spending input[type=search]{flex:1;min-width:0}}.curate-btn.active{border-color:var(--gold);color:var(--gold)}.triage-bar{z-index:6;background:var(--surface);border:1px solid var(--gold-dim);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.6rem;padding:.5rem .8rem;display:flex;position:sticky;top:0}.triage-status{font-family:var(--serif);color:var(--gold)}.triage-keys{font-size:.75rem}.triage-keys kbd{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:0 .3rem;font-size:.7rem}.triage-tiers{gap:.3rem;display:inline-flex}.triage-exit{margin-left:auto}.triage-current .work-row{background:var(--surface);box-shadow:inset 3px 0 0 var(--gold), inset -3px 0 0 var(--gold)}.edit-details{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:.75rem}.edit-details summary{cursor:pointer;font-size:.85rem}.edit-grid{grid-template-columns:1fr 1fr;gap:.7rem;margin:.8rem 0 .6rem;display:grid}.edit-grid label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex-direction:column;gap:.25rem;font-size:.75rem;display:flex}.edit-grid input,.edit-grid textarea{text-transform:none;letter-spacing:normal;font-size:.9rem}.edit-wide{grid-column:1/-1}.edit-video-row{gap:.5rem;display:flex}.edit-video-row input{flex:1}.rep-layout{align-items:flex-start;gap:1.25rem;display:flex}.sidenav{width:220px;max-height:calc(100vh - 8rem - var(--player-h,0px));background:var(--surface);border:1px solid var(--border);scrollbar-width:thin;border-radius:10px;flex-shrink:0;padding:.75rem;animation:.2s ease-out both sidenav-in;position:sticky;top:.75rem;overflow-y:auto}@keyframes sidenav-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.sidenav.closing{animation:.18s ease-in reverse both sidenav-in}.sidenav-text{flex-direction:column;min-width:0;line-height:1.25;display:flex}.sidenav-meta{white-space:nowrap;font-size:.68rem}.sidenav-head{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.sidenav-head button{color:var(--muted);background:0 0;border:none;padding:0 .2rem;font-size:1.15rem}.sidenav-title{font-family:var(--serif);color:var(--gold);margin:.6rem 0 .35rem;font-size:.95rem}.sidenav-era{margin-bottom:.6rem}.sidenav-era-name{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.7rem}.sidenav ul{margin:.2rem 0;padding:0;list-style:none}.sidenav-item{color:var(--text);border-radius:6px;align-items:center;gap:.45rem;padding:.18rem .3rem;font-size:.85rem;text-decoration:none;display:flex}.sidenav-item:hover{background:var(--surface-2);color:var(--gold)}.sidenav-item .portrait,.sidenav-item .portrait-fallback{border-width:1px;font-size:.55rem}.sidenav-sub{padding-left:1.1rem}.sidenav-more{padding-left:.3rem;font-size:.72rem;text-decoration:none}.sidenav-opener{z-index:12;color:var(--gold-dim);border-left:none;border-radius:0 8px 8px 0;padding:.5rem .55rem;position:fixed;top:8.5rem;left:0}.sidenav-backdrop{display:none}.group-title .portrait,.group-title .portrait-fallback{vertical-align:-5px;border-width:1px;margin-right:.15rem;font-size:.6rem}@media (width<=1000px){.sidenav{z-index:26;border-radius:0 12px 12px 0;width:264px;max-height:none;position:fixed;top:0;bottom:0;left:0}.sidenav-backdrop{z-index:25;background:#0000008c;display:block;position:fixed;inset:0}}.work-score{flex-direction:column;align-items:flex-end;gap:2px;min-width:2.4rem;display:inline-flex}.score-num{color:var(--gold);font-variant-numeric:tabular-nums;font-size:.85rem;line-height:1}.score-bar{background:var(--surface-2);border-radius:2px;width:2.4rem;height:3px;overflow:hidden}.score-fill{background:linear-gradient(90deg, var(--gold-dim), var(--gold));border-radius:2px;height:100%;display:block}.era-timeline{width:100%;max-width:46rem;height:auto;margin-bottom:1.25rem;display:block}.era-timeline .tl-grid{stroke:var(--border);stroke-width:1px}.era-timeline .tl-year{fill:var(--muted);font-size:9px}.era-timeline .tl-name{fill:var(--text);font-size:10px}.era-timeline .tl-bar{fill:var(--gold)}.era-timeline .tl-row{cursor:pointer}.era-timeline .tl-row:hover .tl-name{fill:var(--gold)}.era-timeline .tl-row:hover .tl-bar{opacity:1!important}.modal-controls{align-items:center;gap:.15rem;display:flex;position:absolute;top:.75rem;right:.75rem}.modal-controls button,.modal-controls .modal-permalink{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:.2rem .45rem;font-size:1.25rem;line-height:1;text-decoration:none}.modal-controls button:hover,.modal-controls .modal-permalink:hover{color:var(--gold)}.work-page-nav{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.work-page-siblings{align-items:baseline;gap:.75rem;display:inline-flex}.work-page .work-header h2{font-size:1.8rem}.work-description{max-width:46rem;line-height:1.6}.yt-embed{aspect-ratio:16/9;border:1px solid var(--border);border-radius:10px;width:100%;max-width:40rem}.listen-source{font-family:system-ui,sans-serif;font-size:.75rem}.play-btn{width:1.7rem;height:1.7rem;color:var(--gold);border-color:var(--gold-dim);background:0 0;border-radius:50%;flex-shrink:0;align-self:center;padding:0;font-size:.65rem;line-height:1}.play-btn:hover{background:var(--gold);color:#241a08;border-color:var(--gold)}.row-avatar{flex-shrink:0;align-self:center;display:inline-flex;position:relative}.row-avatar .portrait,.row-avatar .portrait-fallback{border-width:1px;font-size:.75rem}.tier-dot-overlay{border:2px solid var(--bg);box-sizing:content-box;border-radius:50%;width:11px;height:11px;position:absolute;bottom:-2px;right:-2px}.work-row.playing{background:var(--surface);box-shadow:inset 3px 0 0 var(--gold)}.play-btn.is-playing{border-color:var(--gold);background:var(--surface-2)}.eq{align-items:flex-end;gap:2px;height:11px;display:inline-flex}.eq span{background:var(--gold);border-radius:1px;width:2.5px;animation:.9s ease-in-out infinite alternate eq-bounce}.eq span:first-child{height:40%;animation-delay:0s}.eq span:nth-child(2){height:100%;animation-delay:.25s}.eq span:nth-child(3){height:65%;animation-delay:.5s}@keyframes eq-bounce{0%{transform:scaleY(.4)}to{transform:scaleY(1)}}.row-preview{z-index:40;background:var(--surface);border:1px solid var(--gold-dim);pointer-events:none;cursor:default;border-radius:12px;width:360px;padding:1rem 1.1rem;animation:.18s cubic-bezier(.2,.9,.3,1) both preview-in;position:fixed;box-shadow:0 16px 48px #000000a6}@keyframes preview-in{0%{opacity:0;transform:translateY(4px)scale(.98)}to{opacity:1;transform:none}}.preview-title{font-family:var(--serif);color:var(--gold);margin-bottom:.2rem;font-size:1.05rem}.preview-meta{margin-bottom:.55rem;font-size:.82rem}.preview-badges{align-items:center;gap:.6rem;margin-bottom:.45rem;font-size:.8rem;display:flex}.preview-tier{font-size:.78rem;background:0 0!important}.preview-tier.tier-1{color:var(--gold)}.preview-tier.tier-2{color:#a87d3c}.preview-tier.tier-3{color:#8a7a58}.preview-tier.tier-4{color:var(--muted)}.preview-facts{margin-bottom:.5rem;font-size:.8rem}.preview-description{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 .45rem;font-size:.84rem;line-height:1.5;display:-webkit-box;overflow:hidden}.preview-hint{color:var(--gold-dim);font-size:.75rem}.player-bar{z-index:15;background:var(--surface);border-top:1px solid var(--gold-dim);flex-direction:column;gap:.35rem;padding:.5rem 1rem .6rem;animation:.25s ease-out both player-enter;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 24px #00000080}.player-main{align-items:center;gap:1rem;display:flex}@keyframes player-enter{0%{transform:translateY(100%)}to{transform:none}}.player-video{background:#000;border-radius:6px;flex-shrink:0;width:160px;height:90px;transition:width .25s,height .25s;overflow:hidden}.player-video iframe{border:none;display:block;width:100%!important;height:100%!important}.player-controls{flex-direction:column;flex-shrink:0;gap:.3rem;display:flex}.player-ctrl{width:2.2rem;height:2.2rem;color:var(--gold);border-color:var(--gold-dim);background:0 0;border-radius:50%;padding:0;font-size:.85rem;line-height:1}.player-ctrl:hover{background:var(--gold);color:#241a08}.player-bar.expanded .player-video{aspect-ratio:16/9;width:min(560px,52vw);height:auto}.player-bar.expanded .player-main{align-items:flex-start}.player-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.player-info .player-work{font-family:var(--serif);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-video-title{color:var(--text);opacity:.75;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.player-channel{font-size:.72rem}.player-progress{align-items:center;gap:.5rem;width:100%;display:flex}.player-time{color:var(--muted);font-variant-numeric:tabular-nums;min-width:2.6rem;font-size:.7rem}.player-time:first-child{text-align:right}.player-track{background:var(--surface-2);border-radius:2px;flex:1;height:3px;overflow:hidden}.player-fill{background:linear-gradient(90deg, var(--gold-dim), var(--gold));height:100%;transition:width 1s linear;display:block}.player-close{color:var(--muted);background:0 0;border:none;margin-left:auto;font-size:1.4rem}.player-close:hover{color:var(--gold)}.page,.repertoire{animation:.28s ease-out both page-enter}@keyframes page-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.work-list li{animation:.22s ease-out both row-enter}.work-list li:first-child{animation-delay:0s}.work-list li:nth-child(2){animation-delay:15ms}.work-list li:nth-child(3){animation-delay:30ms}.work-list li:nth-child(4){animation-delay:45ms}.work-list li:nth-child(5){animation-delay:60ms}.work-list li:nth-child(6){animation-delay:75ms}.work-list li:nth-child(7){animation-delay:90ms}.work-list li:nth-child(8){animation-delay:.105s}.work-list li:nth-child(9){animation-delay:.12s}.work-list li:nth-child(10){animation-delay:.135s}.work-list li:nth-child(11){animation-delay:.15s}.work-list li:nth-child(12){animation-delay:.165s}.work-list li:nth-child(13){animation-delay:.18s}.work-list li:nth-child(14){animation-delay:.195s}.work-list li:nth-child(15){animation-delay:.21s}.work-list li:nth-child(16){animation-delay:.225s}.work-list li:nth-child(17){animation-delay:.24s}.work-list li:nth-child(18){animation-delay:.255s}.work-list li:nth-child(19){animation-delay:.27s}.work-list li:nth-child(20){animation-delay:.285s}.work-list li:nth-child(n+21){animation:none}@keyframes row-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.work-row:hover{background:var(--surface);transform:translateY(-1px)}.score-fill{transform-origin:0;animation:.5s ease-out .15s both score-fill}@keyframes score-fill{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tier-badge{animation:.28s cubic-bezier(.3,1.4,.5,1) both badge-pop}@keyframes badge-pop{0%{transform:scale(.6)}to{transform:scale(1)}}.era-timeline .tl-bar{transform-box:fill-box;transform-origin:0;transform:scaleX(0)}.era-timeline.in-view .tl-bar{animation:.5s ease-out both score-fill}.work-swap{animation:.25s cubic-bezier(.2,.9,.3,1) both work-swap-in}@keyframes work-swap-in{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}.check-draw{vertical-align:-2px;margin-left:.3rem}.check-draw path{stroke-dasharray:20;stroke-dashoffset:20px;animation:.4s ease-out 50ms forwards check-draw}@keyframes check-draw{to{stroke-dashoffset:0}}.player-bar{animation:.25s ease-out both player-enter,3.5s ease-in-out .3s infinite alternate player-glow}@keyframes player-glow{0%{border-top-color:var(--gold-dim);box-shadow:0 -6px 24px #00000080}to{border-top-color:var(--gold);box-shadow:0 -6px 28px #d4a24e2e}}::view-transition-group(portrait){animation-duration:.3s}.modal-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:.18s ease-out both overlay-enter}.modal{animation:.22s cubic-bezier(.2,.9,.3,1) both modal-enter}.modal-overlay.closing{animation:.16s ease-in reverse both overlay-enter}.modal-overlay.closing .modal{animation:.16s ease-in reverse both modal-enter}@keyframes overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes modal-enter{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:none}}.toolbar{transition:box-shadow .25s}.toolbar.scrolled{box-shadow:0 8px 20px -12px #000c}::view-transition-old(root){animation-duration:.22s}::view-transition-new(root){animation-duration:.22s}.chip,button,.attr-link,.app nav[aria-label=Tools] a{transition:color .15s,border-color .15s,background-color .15s}.work-row{transition:background-color .15s,transform .15s}.group .work-list{animation:.2s ease-out both group-enter}@keyframes group-enter{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.page,.repertoire,.modal-overlay,.modal,.modal-overlay.closing,.modal-overlay.closing .modal,.group .work-list,.work-list li,.score-fill,.tier-badge,.player-bar,.row-preview,.eq span,.work-swap,.check-draw path,.sidenav,.era-timeline .tl-bar{animation:none}.era-timeline .tl-bar{transform:none}.check-draw path{stroke-dashoffset:0}.chip,button,.attr-link,.work-row,.toolbar,.app nav[aria-label=Tools] a{transition:none}.work-row:hover{transform:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}.page-back{color:var(--muted);margin-bottom:1rem;text-decoration:none;display:inline-block}.page-back:hover{color:var(--gold)}.page-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:1.25rem;margin-bottom:1.5rem;padding-bottom:1.25rem;display:flex}.page-header h2{color:var(--gold);margin:0 0 .25rem}.page-header .blurb{max-width:46rem;line-height:1.55}.page-stats{font-size:.9rem}.capitalize{text-transform:capitalize}.chip-list{flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem;display:flex}.chip{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:99px;padding:.25rem .75rem;font-size:.85rem;text-decoration:none}.chip:hover{border-color:var(--gold-dim);color:var(--gold)}.chip.active{border-color:var(--gold);color:var(--gold);background:var(--surface-2)}.type-chips,.chips-row{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.35rem;display:flex}.chip-group{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.chips-row .chip,.type-chips .chip{padding:.2rem .6rem;font-size:.8rem}.chip-divider{background:var(--border);width:1px;height:1.1rem;margin:0 .4rem}.tier-dot{vertical-align:baseline;border-radius:50%;width:.6rem;height:.6rem;margin-right:.35rem;display:inline-block}.type-chips-sub{border-left:2px solid var(--gold-dim);margin-left:.35rem;padding-left:.6rem}.attr-link{color:inherit;border-bottom:1px dotted #0000;text-decoration:none}.attr-link:hover{color:var(--gold);border-bottom-color:var(--gold-dim)}.badge-link{align-self:center;text-decoration:none;display:inline-flex}.work-era{color:var(--muted);white-space:nowrap;font-size:.8rem}.portrait{object-fit:cover;border:2px solid var(--gold-dim);border-radius:50%;flex-shrink:0}.portrait-fallback{border:2px solid var(--gold-dim);background:var(--surface);width:72px;height:72px;color:var(--gold-dim);font-family:var(--serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.toolbar input[type=search]{flex:14rem}.view-switcher{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.view-switcher button{color:var(--muted);background:0 0;border:none;border-radius:0}.view-switcher button.active{background:var(--surface-2);color:var(--gold)}.group{margin-bottom:.5rem}.group-header{text-align:left;background:var(--surface);width:100%;font-family:var(--serif);align-items:baseline;gap:.6rem;padding:.65rem .9rem;font-size:1.05rem;display:flex}.group-header .disclosure{color:var(--gold-dim);font-size:.8rem}.group-title .muted{font-family:system-ui,sans-serif;font-size:.85rem}.group-header .count{color:var(--muted);margin-left:auto;font-family:system-ui,sans-serif;font-size:.85rem}.work-list{margin:.25rem 0 .75rem;padding:0;list-style:none}.work-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:baseline;gap:.7rem;padding:.45rem .9rem;display:flex}.work-row:hover{background:var(--surface)}.work-main{flex-wrap:wrap;flex:1;align-items:baseline;gap:.6rem;min-width:0;display:flex}.work-title .nickname{color:var(--gold);font-family:var(--serif)}.work-catalog{color:var(--muted);white-space:nowrap;font-size:.82rem}.work-composer{color:var(--muted);white-space:nowrap}.type-badge{white-space:nowrap;border:1px solid;border-radius:99px;align-self:center;padding:.15rem .5rem;font-size:.72rem}.work-score{color:var(--gold);font-variant-numeric:tabular-nums;text-align:right;min-width:2rem;font-size:.85rem}.tier-badge{border-radius:50%;flex-shrink:0;justify-content:center;align-self:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.75rem;font-weight:700;display:inline-flex}.tier-1{background:var(--gold);color:#241a08}.tier-2{color:#241a08;background:#a87d3c}.tier-3{color:var(--text);background:#5f4f36}.tier-4{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.modal-overlay{z-index:10;background:#0a0704bf;justify-content:center;align-items:flex-start;padding:3rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:38rem;padding:1.75rem 2rem;position:relative}.modal-close{color:var(--muted);background:0 0;border:none;font-size:1.4rem;line-height:1;position:absolute;top:.75rem;right:.75rem}.work-header h2{color:var(--gold);margin:0}.work-header .nickname{font-family:var(--serif);color:var(--muted);margin:.25rem 0 0;font-style:italic}.composer-preview{background:var(--surface-2);border-radius:8px;gap:1rem;margin:1.25rem 0;padding:1rem;display:flex}.composer-preview img{object-fit:cover;border:2px solid var(--gold-dim);border-radius:50%;flex-shrink:0;width:72px;height:72px}.composer-preview h3{margin:0}.composer-preview p{margin:.25rem 0}.composer-preview .bio{font-size:.9rem}.work-meta{grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));gap:.75rem;margin:1.25rem 0;display:grid}.work-meta dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.work-meta dd{margin:.15rem 0 0}.movements{margin:.5rem 0;padding-left:1.5rem}.links{border-top:1px solid var(--border);gap:1.25rem;margin:1.25rem 0;padding-top:1rem;display:flex}.notes textarea{box-sizing:border-box;resize:vertical;width:100%;margin-bottom:.5rem}.notes h4,.modal h4{color:var(--muted);margin:0 0 .4rem}@media (width<=640px){html,body{overflow-x:hidden}.toolbar{max-width:100%;position:static}.chips-row{flex-direction:column;align-items:stretch;gap:.35rem;min-width:0;max-width:100%}.chip-group,.type-chips{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;min-width:0;max-width:100%;padding-bottom:2px;overflow-x:auto}.chip-group::-webkit-scrollbar{display:none}.type-chips::-webkit-scrollbar{display:none}.chip-group .chip,.type-chips .chip{white-space:nowrap;flex-shrink:0}.chip-divider{display:none}.toolbar input[type=search]{flex-basis:100%;min-width:0}.toolbar select{flex:30%;min-width:0}.group-controls{display:none}.work-row{box-sizing:border-box;grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.2rem .6rem;max-width:100%;padding:.55rem .5rem;display:grid}.work-row .tier-badge{grid-area:1/1;align-self:start}.work-row .work-main{flex-direction:column;grid-area:1/2/3;align-items:flex-start;gap:.15rem;display:flex}.work-main .work-composer{margin:0;font-size:.8rem}.work-row .work-score{grid-area:1/3;justify-self:end}.work-row .badge-link{grid-area:2/3;place-self:end}.tier-hint,.work-era,.row-preview{display:none}.control-group{border-left:none;margin-left:0;padding-left:0}.player-video{width:144px;height:81px}.player-bar.expanded .player-main{flex-wrap:wrap}.player-bar.expanded .player-video{order:10;width:100%}.player-bar{gap:.6rem;padding:.4rem .6rem}.page-header{text-align:center;flex-direction:column;align-items:center}.modal{padding:1.25rem 1rem}.composer-preview{text-align:center;flex-direction:column;align-items:center}}.label-chain{vertical-align:middle;gap:.25rem;display:inline-flex}.label-chip{border:1px solid var(--border);color:var(--muted);white-space:nowrap;vertical-align:middle;border-radius:999px;padding:0 .35rem;font-size:.66rem;line-height:1.3;display:inline-block}.label-chip.uncertain{color:#e3b25e;border-color:#b8893a}.label-chip.src-jev{color:#9fc3d8;border-color:#6f9bb5}.label-chip.src-you{border-color:var(--gold);color:var(--gold)}.label-chip.overridden{opacity:.6;border-color:var(--border);color:var(--muted);text-decoration:line-through}.review-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:.7rem;padding:.6rem .25rem;display:flex}@media (width<=640px){.review-row{flex-wrap:wrap}.review-actions{margin-left:2.6rem}}.review-actions{flex:none;align-items:center;gap:.35rem;display:flex}.review-actions button{padding:.25rem .6rem;font-size:.8rem}.rule-editor{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.45rem;display:flex}.rule-editor select{max-width:100%;padding:.3rem .45rem;font-size:.85rem}.rule-desc{flex-basis:100%}.rule-details{margin-top:1rem}.rule-details summary{cursor:pointer;color:var(--muted);font-size:.88rem}.jev-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;max-width:60rem;margin:1rem 0;padding:.75rem .9rem}.jev-panel h4{margin-top:0}.jev-thresholds{max-width:36rem;margin-top:.75rem}.jev-differs{color:#9fc3d8}.tag-sub{color:#9fc3d8;border-color:#6f9bb5}.auto-sync{max-width:60rem;margin:1rem 0}.runs-table td{white-space:nowrap}.review-actions .use-jev{color:#9fc3d8;white-space:nowrap;border-color:#6f9bb5}@media (width<=640px){.review-actions{flex-wrap:wrap}}.snapshot-hero{grid-template-columns:minmax(12rem,1fr) minmax(0,3fr);align-items:center;gap:1.25rem;max-width:60rem;margin-bottom:.75rem;display:grid}.hero-value{font-family:var(--serif);font-variant-numeric:tabular-nums;margin:.15rem 0 .35rem;font-size:2.6rem;font-weight:600;line-height:1.1}.curve{margin:0}.curve svg{width:100%;height:auto}.curve-current{fill:none;stroke:var(--gold);stroke-width:2.5px}.curve-previous{fill:none;stroke:var(--muted);stroke-width:1.5px;opacity:.7}.curve-typical{fill:none;stroke:var(--muted);stroke-width:1.5px;stroke-dasharray:4 4;opacity:.6}.curve-dot{fill:var(--gold)}.curve-legend{justify-content:flex-end;gap:1rem;display:flex}.curve-legend i{vertical-align:middle;border-top:2.5px solid var(--gold);width:14px;height:0;margin-right:.25rem;display:inline-block}.curve-legend .swatch-previous{border-top:1.5px solid var(--muted)}.curve-legend .swatch-typical{border-top:1.5px dashed var(--muted)}.spending h4 .normal{text-transform:none;letter-spacing:0;font-weight:400}.sub-bars{border-left:2px solid var(--border);margin:.15rem 0 .4rem 1.2rem;padding-left:.4rem}.sub-bars button{grid-template-columns:8.8rem 1fr 4.5rem 2.5rem 3.2rem;font-size:.8rem}@media (width<=720px){.snapshot-hero{grid-template-columns:minmax(0,1fr)}.sub-bars button{grid-template-columns:6.5rem 1fr 4rem 0 3rem}}.delta{white-space:nowrap}.cat-bars button{grid-template-columns:9.5rem 1fr 5rem 2.5rem 4rem}@media (width<=720px){.cat-bars button{grid-template-columns:7.5rem 1fr 4.5rem 0 4rem}}.travel-chip{color:#9fc3d8;border:1px solid #6f9bb5;border-radius:999px;margin:0 0 .75rem;padding:.15rem .7rem;font-size:.8rem;display:inline-block}.travel-chip .link-button{margin:0;font-size:.8rem}.trip-list{max-width:52rem;margin:0;padding:0;list-style:none}.trip-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-bottom:.7rem;padding:.75rem .9rem}.trip-card.status-suggested{border-style:dashed}.trip-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.trip-title{align-items:center;gap:.5rem;display:flex}.trip-name{font-family:var(--serif);color:var(--text);cursor:text;background:0 0;border:none;padding:0;font-size:1.25rem;font-weight:600}.trip-name:hover{color:var(--gold)}.trip-total{flex-direction:column;align-items:flex-end;display:flex}.trip-total .num{font-family:var(--serif);font-size:1.3rem;font-weight:600}.trip-dates,.trip-actions,.trip-breakdown{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.5rem;display:flex}.trip-dates input[type=date]{padding:.25rem .4rem;font-size:.85rem}.trip-chip{background:var(--surface-2);border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.trip-actions button{padding:.25rem .6rem;font-size:.8rem}.trip-actions button.primary{border-color:var(--gold);color:var(--gold)}.trip-split{align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.trip-details h5{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:.8rem 0 .3rem;font-size:.75rem}.trip-charges{margin:0;padding:0;list-style:none}.trip-charge{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:.25rem 0;font-size:.85rem;display:flex}.trip-charge-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text);flex:1;text-decoration:none;overflow:hidden}.icon-button{color:var(--muted);background:0 0;border:none;padding:0 .3rem;font-size:.9rem}.icon-button:hover{color:var(--gold)}.undo-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:.35rem .75rem;font-size:.85rem;display:inline-block}.move-control{width:2rem;height:2rem;color:var(--muted);border-radius:6px;flex:none;place-items:center;display:inline-grid;position:relative}.move-control:hover,.move-control:focus-within{color:var(--gold);background:var(--surface-2)}.move-control:focus-within{outline:2px solid var(--gold-dim);outline-offset:1px}.move-select{opacity:0;cursor:pointer;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.motion-root{position:relative}.motion-overlay{pointer-events:none;z-index:5;position:absolute;inset:0;overflow:visible}.motion-overlay>*{box-sizing:border-box;list-style:none}.motion-plane{color:var(--gold);font-size:1rem;position:absolute}.trip-card{position:relative}.trip-card.status-suggested{border-style:solid;border-color:#0000}.trip-card:after{content:"";border:1px dashed var(--border);pointer-events:none;opacity:0;border-radius:8px;position:absolute;inset:-1px}.trip-card.status-suggested:after{opacity:1;border-color:var(--muted)}.trip-card.just-confirmed:after{animation:.35s ease-out both dashes-out}@keyframes dashes-out{0%{opacity:1;border-color:var(--muted)}to{opacity:0}}.confirm-check{background:var(--surface-2);border:1px solid var(--gold);width:20px;height:20px;color:var(--gold);opacity:0;z-index:1;border-radius:50%;place-items:center;display:grid;position:absolute;top:-9px;right:-9px}.trip-card.just-confirmed .confirm-check{animation:1.3s both check-badge}.trip-card.just-confirmed .confirm-check path{stroke-dasharray:20;stroke-dashoffset:20px;animation:.4s ease-out .1s forwards check-draw}@keyframes check-badge{0%{opacity:0;transform:scale(.6)}15%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0}}.chevron{transition:transform .2s;display:inline-block}.chevron.open{transform:rotate(90deg)}.disclosure-summary{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.2rem 0;display:inline-flex}.lapsed .disclosure-summary{color:var(--muted)}.count-pop{animation:.3s cubic-bezier(.3,1.4,.5,1) both badge-pop;display:inline-block}@property --p{syntax:"<percentage>";inherits:false;initial-value:0%}.label-chip.src-jev.fill{background:linear-gradient(to right, #6f9bb552 var(--p), transparent var(--p));animation:.7s ease-out both chip-fill}@keyframes chip-fill{0%{--p:0%}}.rename-form input{background:linear-gradient(var(--gold), var(--gold)) left bottom / 0% 2px no-repeat, transparent;font-family:var(--serif);border:none;border-radius:0;padding:.1rem 0;font-size:1.25rem;font-weight:600;animation:.25s ease-out forwards underline-draw}@keyframes underline-draw{to{background-size:100% 2px,auto}}.undo-bar{position:relative;overflow:hidden}.undo-bar:after{content:"";background:var(--gold-dim);transform-origin:0;height:2px;animation:undo-countdown var(--undo-ms,8s) linear forwards;position:absolute;bottom:0;left:0;right:0}@keyframes undo-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.trips-refreshing .trip-card{background-image:linear-gradient(100deg,#0000 30%,#ffffff0a 50%,#0000 70%);background-size:200% 100%;animation:1.2s linear infinite shimmer}.add-form{transform-origin:0}::view-transition-old(merchant-name){animation-duration:.3s}::view-transition-new(merchant-name){animation-duration:.3s}::view-transition-old(merchant-logo){animation-duration:.3s}::view-transition-new(merchant-logo){animation-duration:.3s}@media (prefers-reduced-motion:reduce){.chevron,.count-pop,.label-chip.src-jev.fill,.rename-form input,.undo-bar:after,.trips-refreshing .trip-card,.trip-card.just-confirmed:after,.trip-card.just-confirmed .confirm-check,.trip-card.just-confirmed .confirm-check path{transition:none;animation:none}.rename-form input{background-size:100% 2px,auto}}.has-indicator{position:relative}.spend-views.has-indicator a.active{box-shadow:none}.spend-views.has-indicator:after,.segmented.has-indicator:after{content:"";width:var(--ind-w,0px);transform:translateX(var(--ind-x,0px));pointer-events:none;position:absolute;left:0}.spend-views.has-indicator:after{background:var(--gold);height:2px;bottom:.25rem}.segmented.has-indicator:after{background:var(--surface-2);z-index:0;top:0;bottom:0}.segmented.has-indicator button{z-index:1;position:relative}.segmented.has-indicator button.active{background:0 0}.has-indicator.ind-ready:after{transition:transform .28s cubic-bezier(.2,.8,.2,1),width .28s cubic-bezier(.2,.8,.2,1)}button.busy:after{content:"";text-align:left;width:1.1em;animation:1.2s steps(4,end) infinite busy-dots;display:inline-block}@keyframes busy-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.spend-bar>span{transform-origin:0;transition:width .45s cubic-bezier(.2,.8,.2,1);animation:.6s cubic-bezier(.2,.8,.2,1) both bar-grow}@keyframes bar-grow{0%{transform:scaleX(0)}}.draw-in{stroke-dasharray:1;stroke-dashoffset:0;animation:.8s cubic-bezier(.4,0,.2,1) both draw-line}@keyframes draw-line{0%{stroke-dashoffset:1px}}@keyframes fade-only{0%{opacity:0}}.curve-dot{transform-box:fill-box;transform-origin:50%;animation:.35s cubic-bezier(.3,1.4,.5,1) .7s both dot-land}@keyframes dot-land{0%{transform:scale(0)}}.month-title{text-align:center;min-width:9rem}.month-title>span{display:inline-block}.hm-cell{transform-box:fill-box;transform-origin:50%;animation:hm-in .35s var(--d,0s) cubic-bezier(.2, .8, .2, 1) both;transition:stroke-width .15s}@keyframes hm-in{0%{opacity:0;transform:scale(.4)}}.hm-cell.selected{animation:hm-in .35s var(--d,0s) both, hm-ring .4s ease-out}@keyframes hm-ring{0%{stroke-width:4px}to{stroke-width:1.5px}}.fade-in{animation:.25s both fade-only}.month-col-bar>span{transform-origin:bottom;animation:col-grow .5s calc(var(--i,0) * 35ms) cubic-bezier(.2, .8, .2, 1) both;transition:height .4s cubic-bezier(.2,.8,.2,1)}@keyframes col-grow{0%{transform:scaleY(0)}}.label-swap{animation:.7s ease-out both label-swap;display:inline}@keyframes label-swap{0%{background-color:#d4a24e4d}to{background-color:#0000}}.label-slot{display:inline-block}details[open]>:not(summary){animation:.25s cubic-bezier(.2,.8,.2,1) both rise-in}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}.tag-pulse{animation:.9s ease-out .4s 2 tag-pulse}@keyframes tag-pulse{0%,to{box-shadow:0 0 #d4a24e00}40%{box-shadow:0 0 0 4px #d4a24e40}}.due-bar{background:var(--surface-2);border-radius:999px;max-width:14rem;height:2px;margin-top:.3rem;display:block;overflow:hidden}.due-bar>span{background:var(--gold-dim);transform-origin:0;height:100%;animation:.8s cubic-bezier(.2,.8,.2,1) .15s both bar-grow;display:block}.trend-seg{transform-box:fill-box;transform-origin:bottom;animation:col-grow .5s calc(var(--i,0) * 22ms) cubic-bezier(.2, .8, .2, 1) both;transition:y .4s cubic-bezier(.2,.8,.2,1),height .4s cubic-bezier(.2,.8,.2,1)}.trend-legend button{transition:opacity .2s,border-color .2s}.progress-bar{background:var(--surface-2);border-radius:999px;height:3px;margin:.4rem 0;display:block;overflow:hidden}.progress-bar>span{background:var(--gold);height:100%;transition:width .4s;display:block}.running-dot{background:var(--gold);vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:.35rem;animation:none;display:inline-block}@keyframes running{50%{opacity:.3;transform:scale(.7)}}.motion-ghost-table{border-collapse:collapse;table-layout:fixed}.motion-ghost-table td{white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){.has-indicator.ind-ready:after,button.busy:after,.spend-bar>span,.draw-in,.curve-dot,.hm-cell,.hm-cell.selected,.fade-in,.month-col-bar>span,.label-swap,details[open]>:not(summary),.tag-pulse,.due-bar>span,.trend-seg,.progress-bar>span,.running-dot{transition:none;animation:none}button.busy:after{content:"…"}}.export-layer{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.export-scrim{background:#0806048c;animation:.2s both fade-only;position:absolute;inset:0}.export-panel{background:var(--bg);border-left:1px solid var(--border);outline:none;flex-direction:column;width:min(44rem,100vw);height:100%;animation:.28s cubic-bezier(.2,.8,.2,1) both panel-in;display:flex;position:relative;box-shadow:-12px 0 40px #00000073}.export-layer.closing .export-panel{animation:.18s ease-in both panel-out}.export-layer.closing .export-scrim{animation:.18s ease-in reverse both fade-only}@keyframes panel-in{0%{opacity:0;transform:translate(40px)}}@keyframes panel-out{to{opacity:0;transform:translate(40px)}}.export-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.9rem 1.25rem .5rem;display:flex}.export-head h3{margin:0}.export-body{flex:1;padding:.75rem 1.25rem 1.5rem;overflow-y:auto}.export-step{margin:1.1rem 0}.export-step h4{align-items:center;gap:.5rem;margin:0 0 .55rem;display:flex}.step-n{border:1px solid var(--gold-dim);width:1.3rem;height:1.3rem;color:var(--gold);border-radius:50%;place-items:center;font-family:system-ui,sans-serif;font-size:.72rem;display:inline-grid}.step-aside{margin-left:auto;font-weight:400}.chip-row{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.range-chip,.preset-chip>button:first-child{border-radius:999px;padding:.28rem .65rem;font-size:.82rem;transition:border-color .15s,color .15s,background-color .15s}.range-chip.active,.preset-chip.active>button:first-child{border-color:var(--gold);color:var(--gold);background:#d4a24e14}.preset-chip{align-items:center;display:inline-flex}.preset-chip .preset-x{color:var(--muted);background:0 0;border:none;margin-left:-.15rem;padding:0 .3rem}.preset-chip .preset-x:hover{color:var(--burgundy)}.dataset-grid{grid-template-columns:repeat(auto-fill,minmax(12.5rem,1fr));gap:.5rem;display:grid}.dataset-card{text-align:left;background:var(--surface);flex-direction:column;align-items:flex-start;gap:.2rem;padding:.6rem .75rem;transition:border-color .15s,transform .15s,background-color .15s;display:flex}.dataset-card:hover{transform:translateY(-1px)}.dataset-card.active{border-color:var(--gold);background:#d4a24e12}.dataset-name{font-weight:600}.export-dates{margin-top:.5rem}.export-context{margin:-.25rem 0 .5rem}.context-chip{border:1px solid var(--gold-dim);color:var(--gold);border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .3rem .2rem .65rem;font-size:.82rem;animation:.2s both rise-in;display:inline-flex}.context-chip button{color:inherit;background:0 0;border:none;padding:0 .3rem}.export-filters{flex-wrap:wrap;align-items:center;gap:.45rem .75rem;animation:.22s both rise-in;display:flex}.export-filters input[type=search]{flex:14rem}.column-list{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.15rem .75rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.column-item{border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .3rem;font-size:.88rem;transition:background-color .15s,opacity .15s;display:flex}.column-item.on{background:var(--surface)}.column-item.off{color:var(--muted)}.column-item.dragging{opacity:.4}.column-item .checkbox{flex:1;align-items:center;gap:.35rem;display:inline-flex}.drag-handle{width:.8rem;color:var(--muted);cursor:grab}.column-moves{opacity:0;transition:opacity .15s;display:inline-flex}.column-item:hover .column-moves,.column-item:focus-within .column-moves{opacity:1}.column-moves button{color:var(--muted);background:0 0;border:none;padding:0 .2rem}.column-moves button:disabled{opacity:.3}.export-warn{color:var(--gold);margin:.4rem 0 0}.export-options{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:.25rem 0 .6rem;font-size:.88rem;display:flex}.export-filename{flex-direction:column;gap:.2rem;display:flex}.filename-input{align-items:center;gap:.3rem;display:flex}.filename-input input{flex:1}.export-preview h4{margin-bottom:.4rem}.preview-wrap{border:1px solid var(--border);border-radius:8px;transition:opacity .15s;overflow-x:auto}.preview-wrap.stale{opacity:.6}.preview-table{white-space:nowrap;margin:0;font-size:.78rem}.preview-table td,.preview-table th{text-overflow:ellipsis;max-width:16rem;overflow:hidden}.preview-table tbody tr{animation:.2s both fade-only}.export-history ul{margin:0;padding:0;list-style:none}.export-history li{border-bottom:1px solid var(--border);justify-content:space-between;gap:.75rem;padding:.3rem 0;font-size:.85rem;display:flex}.export-foot{border-top:1px solid var(--border);background:var(--surface);padding:.65rem 1.25rem .85rem}.export-status{color:var(--gold);margin:0 0 .45rem;font-size:.85rem;animation:.22s both rise-in}.export-summary{margin-bottom:.45rem;font-size:.9rem}.export-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.export-actions .spacer{flex:1}.export-actions button.primary{border-color:var(--gold);background:var(--gold);color:#1b140d;font-weight:600}.export-actions button.primary:disabled,.export-actions button:disabled{opacity:.5;cursor:default}.preset-form{align-items:center;gap:.35rem;animation:.2s both rise-in;display:inline-flex}.preset-form input{width:11rem}.feed-count,.with-action{align-items:baseline;gap:.75rem;display:flex}.normal{font-weight:400}@media (width<=640px){.export-panel{border-left:none;width:100vw}.export-head,.export-body,.export-foot{padding-left:.9rem;padding-right:.9rem}.export-actions .spacer{flex-basis:100%}.export-actions button.primary{flex:1}.column-moves{opacity:1}}@media (prefers-reduced-motion:reduce){.export-scrim,.export-panel,.export-layer.closing .export-panel,.export-layer.closing .export-scrim,.context-chip,.export-filters,.preview-table tbody tr,.export-status,.preset-form,.dataset-card{transition:none;animation:none}}.icon{vertical-align:-.15em;flex:none;display:inline-block}.cat-icon{color:var(--muted)}.delta .icon{vertical-align:-.1em;margin-right:.1em}.icon-button{justify-content:center;align-items:center;display:inline-flex}button.icon-text{align-items:center;gap:.4rem;display:inline-flex}button.syncing .sync-icon{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spend-header{grid-template-columns:auto 1fr auto;grid-template-areas:"title meta buttons";align-items:center;gap:.5rem .75rem;display:grid}.spend-header h2{grid-area:title;align-items:center;gap:.5rem;display:flex}.spend-meta{grid-area:meta;justify-self:end;align-items:center;gap:.6rem;min-width:0;display:flex}.spend-buttons{grid-area:buttons;gap:.4rem;display:flex}.spend-views{scrollbar-width:none}.spend-views::-webkit-scrollbar{display:none}.spend-views.more-right{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000)}.spend-views.more-left{-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.5rem);mask-image:linear-gradient(90deg,#0000,#000 2.5rem)}.spend-views.more-left.more-right{-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000);mask-image:linear-gradient(90deg,#0000,#000 2.5rem calc(100% - 2.5rem),#0000)}@media (width<=640px){.spend-header{grid-template-columns:1fr auto;grid-template-areas:"title buttons""meta meta"}.spend-meta{justify-content:space-between;justify-self:stretch}.spend-meta .exclude-select{max-width:12rem;padding-block:.3rem;font-size:16px}.spend-buttons .btn-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.spend-buttons button{justify-content:center}}.menu{display:inline-flex;position:relative}.menu-trigger{border-radius:6px;width:2rem;height:2rem}.menu-trigger[aria-expanded=true]{color:var(--gold);background:var(--surface-2)}.menu-list{z-index:20;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;min-width:12rem;margin:0;padding:.3rem;list-style:none;animation:.15s cubic-bezier(.23,1,.32,1) both menu-in;position:absolute;top:calc(100% + 4px);box-shadow:0 8px 24px #00000073}.menu-list.align-end{transform-origin:100% 0;right:0}.menu-list.align-start{transform-origin:0 0;left:0}@keyframes menu-in{0%{opacity:0;transform:scale(.95)}}.menu-list button{text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:5px;width:100%;padding:.5rem .7rem;font-size:.88rem;display:block}.menu-list button:hover,.menu-list button:focus-visible{background:var(--surface);color:var(--gold);outline:none}.menu-list button.danger:hover,.menu-list button.danger:focus-visible{color:#e08a7f}.trip-actions .spacer{flex:1}.trip-card>.trip-split{flex-wrap:wrap;margin-top:.5rem;display:flex}.review-summary{margin:0 0 .6rem}.review-accuracy{margin-top:1.5rem}@media (pointer:coarse){.spending button:not(.link-button):not(.icon-button),.spending select,.spending input:not([type=checkbox]):not([type=radio]),.spend-views a,.app nav[aria-label=Tools] a{box-sizing:border-box;min-height:44px}.spend-views a{padding-block:0}.app nav[aria-label=Tools] a{align-items:center;padding-block:0;display:inline-flex}.spend-views a{align-items:center;display:inline-flex}.spending .icon-button,.menu-trigger,.move-control{box-sizing:border-box;min-width:44px;min-height:44px}.spending .link-button,.spending .top-merchants a,.spending .stat-sub a{position:relative}.spending .link-button:before,.spending .top-merchants a:before,.spending .stat-sub a:before{content:"";position:absolute;inset:-14px -8px}.spending label.checkbox{align-items:center;min-height:44px;display:inline-flex}.menu-list button{min-height:44px}}@media (prefers-reduced-motion:reduce){button.syncing .sync-icon{animation:none}.menu-list{animation:.15s both fade-only}}
