:root{--paper:#f3efe4;--paper-raised:#faf7ef;--paper-inset:#ebe6d9;--ink:#162b35;--ink-soft:#506069;--ink-faint:#7e898d;--graph-line:#1f404c14;--rule:#162b3524;--proof:#a84732;--proof-soft:#f2e0d9;--focus:#2b6879;--success:#49715b;--shadow-paper:0 0 0 1px #162b350f, 0 1px 2px #162b350d, 0 12px 36px #162b350e;--sidebar-width:284px;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif}:root[data-theme=dark]{--paper:#172228;--paper-raised:#1d2a30;--paper-inset:#121c21;--ink:#e8e5da;--ink-soft:#b0b6b3;--ink-faint:#7f8c8d;--graph-line:#e8e5da0e;--rule:#e8e5da1f;--proof:#df8069;--proof-soft:#3b2928;--focus:#72aabd;--success:#82ae91;--shadow-paper:0 0 0 1px #ffffff12}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar-width);background:var(--paper);border-right:1px solid var(--rule);z-index:20;flex-direction:column;padding:20px 16px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{justify-content:space-between;align-items:center;height:56px;margin-bottom:24px;display:flex}.brand>a{align-items:center;gap:12px;display:flex}.brand-mark{border:1px solid var(--rule);width:36px;height:36px;color:var(--proof);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:21px;display:grid}.brand strong{letter-spacing:-.02em;font-family:Libre Caslon Text,serif;font-size:18px;display:block}.brand small{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.09em;margin-top:2px;font-size:10px;display:block}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;transition:background-color .16s,transform .12s;display:inline-grid}.icon-button:hover{background:var(--paper-inset)}.icon-button:active{transform:scale(.97)}.close-sidebar,.menu-button,.mobile-search{display:none}nav{font-size:13px}.nav-main{min-height:44px;color:var(--ink-soft);border-radius:7px;align-items:center;gap:11px;padding:0 12px;font-weight:500;display:flex}.nav-main:hover,.nav-main.active{background:var(--paper-inset);color:var(--ink)}.nav-count{color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:11px}.nav-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;margin:28px 12px 12px;font-size:10px;font-weight:600}.course-nav+.course-nav{margin-top:14px}.course-heading{border-radius:7px;grid-template-columns:30px 1fr auto;align-items:center;gap:7px;min-height:42px;padding:0 8px;font-weight:600;display:grid}.course-heading:hover,.course-heading.active{background:var(--paper-inset)}.course-number{color:var(--proof);font-family:Libre Caslon Text,serif;font-size:12px}.course-progress{color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:11px;font-weight:400}.lesson-links a{border-left:1px solid var(--rule);min-height:37px;color:var(--ink-faint);grid-template-columns:18px 1fr;align-items:center;gap:7px;margin-left:10px;padding:3px 8px;display:grid}.lesson-links a:hover,.lesson-links a.active{color:var(--ink);border-left-color:var(--proof)}.progress-mark{border:1px solid var(--rule);border-radius:50%;flex:none;place-items:center;width:14px;height:14px;display:inline-grid}.progress-mark.complete{color:var(--paper-raised);background:var(--success);border-color:var(--success)}.sidebar-foot{color:var(--ink-faint);margin:auto 10px 0;padding-top:24px;font-size:10px}.main-shell{margin-left:var(--sidebar-width);min-height:100vh}.topbar{z-index:12;background:color-mix(in srgb, var(--paper) 90%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--rule);align-items:center;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.search{background:var(--paper-inset);width:min(420px,46vw);height:40px;color:var(--ink-faint);border-radius:7px;align-items:center;gap:10px;padding:0 12px;display:flex}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px}.search input::placeholder{color:var(--ink-faint)}kbd{background:var(--paper-raised);border:1px solid var(--rule);border-radius:4px;padding:2px 6px;font-size:10px}.top-actions{margin-left:auto;display:flex}.page{width:min(1240px,100%);margin:0 auto;padding:64px 56px 96px}.page.narrow{width:min(900px,100%)}.eyebrow{color:var(--proof);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:600}h1,h2,h3{text-wrap:balance;font-family:Libre Caslon Text,serif}h1{letter-spacing:-.045em;margin:14px 0 20px;font-size:clamp(38px,5vw,64px);line-height:1.03}h2{letter-spacing:-.03em;font-size:30px}h3{font-size:21px}.lede{max-width:670px;color:var(--ink-soft);text-wrap:pretty;font-family:Libre Caslon Text,serif;font-size:17px;line-height:1.7}.primary-button,.secondary-button{border-radius:6px;justify-content:center;align-items:center;gap:10px;min-height:44px;font-size:13px;font-weight:600;transition:background-color .16s,transform .12s;display:inline-flex}.primary-button{background:var(--ink);color:var(--paper-raised);padding:0 18px}.primary-button:hover{background:var(--proof)}.secondary-button{border:1px solid var(--rule);background:var(--paper-raised);padding:0 16px}.secondary-button:hover{border-color:var(--ink-faint)}.primary-button:active,.secondary-button:active{transform:scale(.97)}.home-hero{grid-template-columns:1.35fr .75fr;align-items:center;gap:72px;min-height:450px;display:grid}.home-hero h1 em{color:var(--proof);font-weight:400}.home-hero .primary-button{margin-top:20px}.progress-sheet{background:var(--paper-raised);box-shadow:var(--shadow-paper);padding:28px;position:relative;transform:rotate(1deg)}.progress-sheet:before{content:"";pointer-events:none;background-image:linear-gradient(var(--graph-line) 1px, transparent 1px), linear-gradient(90deg, var(--graph-line) 1px, transparent 1px);background-size:24px 24px;position:absolute;inset:0}.progress-sheet>*{position:relative}.sheet-top{color:var(--ink-soft);justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.sheet-top strong{color:var(--ink);font-variant-numeric:tabular-nums;font-family:Libre Caslon Text,serif;font-size:36px}.large-progress{background:var(--paper-inset);height:3px;margin:24px 0 12px}.large-progress i,.mini-progress i{background:var(--proof);height:100%;display:block}.progress-sheet p{color:var(--ink-soft);font-size:12px}.formula-note{border-top:1px solid var(--rule);margin-top:48px;padding-top:18px}.formula-note span{color:var(--proof);text-transform:uppercase;letter-spacing:.12em;font-size:9px}.formula-note div{margin-top:12px;font-family:Libre Caslon Text,serif;font-style:italic}.formula-note b{color:var(--proof);padding:0 4px}.course-section{margin-top:72px}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:28px;display:flex}.section-heading h2{margin:8px 0 0}.section-heading>p{max-width:300px;color:var(--ink-soft);margin:0;font-size:13px}.course-grid{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-template-columns:repeat(3,1fr);display:grid}.course-card{min-width:0;padding:28px}.course-card+.course-card{border-left:1px solid var(--rule)}.card-index{color:var(--proof);justify-content:space-between;font-family:Libre Caslon Text,serif;font-size:13px;display:flex}.card-index span{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.12em;font-family:DM Sans,sans-serif;font-size:9px}.course-card h3{margin:32px 0 7px}.course-card>p{min-height:38px;color:var(--ink-soft);margin:0;font-size:12px;line-height:1.5}.mini-progress{background:var(--paper-inset);height:2px;margin:28px 0 12px}.card-foot{color:var(--ink-faint);justify-content:space-between;font-size:10px;display:flex}.card-foot a{color:var(--ink);align-items:center;gap:4px;font-weight:600;display:flex}.desk-callout{background:var(--proof-soft);grid-template-columns:64px 1fr auto;align-items:center;gap:28px;margin-top:96px;padding:40px;display:grid}.callout-symbol{color:var(--proof);font-family:Libre Caslon Text,serif;font-size:46px}.desk-callout h2{margin:6px 0 8px}.desk-callout p{max-width:570px;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.6}.lesson-header{border-bottom:1px solid var(--rule);max-width:790px;padding-bottom:44px}.breadcrumb{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;gap:9px;font-size:10px;display:flex}.breadcrumb a{color:var(--proof)}.lesson-header h1{font-size:clamp(40px,5vw,58px)}.lesson-header>p{max-width:700px;color:var(--ink-soft);font-family:Libre Caslon Text,serif;font-size:18px;line-height:1.55}.lesson-meta{color:var(--ink-faint);gap:18px;margin-top:24px;font-size:11px;display:flex}.lesson-meta span+span:before{content:"·";margin-right:18px}.lesson-layout{grid-template-columns:minmax(0,790px) 190px;gap:64px;display:grid}.lesson-body{min-width:0;padding-top:44px}.objective{background:var(--paper-inset);border-radius:7px;gap:14px;padding:18px;display:flex}.objective svg{color:var(--proof);flex:none}.objective span{color:var(--proof);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:600}.objective p{color:var(--ink-soft);margin:5px 0 0;font-size:13px;line-height:1.5}.markdown{overflow-wrap:break-word;min-width:0;font-family:Libre Caslon Text,serif;font-size:16px;line-height:1.8}.lesson-body>.markdown{margin-top:36px}.markdown p{text-wrap:pretty}.markdown strong{color:var(--ink)}.markdown h1{font-size:32px}.markdown h2{margin-top:48px;font-size:26px}.markdown h3{margin-top:36px}.markdown blockquote{border-left:2px solid var(--proof);color:var(--ink-soft);margin:24px 0;padding:4px 0 4px 20px}.markdown .katex-display{background:var(--paper-raised);max-width:100%;box-shadow:var(--shadow-paper);margin:28px 0;padding:18px 12px;font-size:1.05em;overflow:auto hidden}.markdown ul,.markdown ol{padding-left:24px}.terms{border-top:1px solid var(--rule);margin-top:48px}.terms>.eyebrow{padding:22px 0 10px}.term-row{border-bottom:1px solid var(--rule);grid-template-columns:180px 1fr;align-items:baseline;gap:24px;padding:16px 0;display:grid}.term-row strong{font-family:Libre Caslon Text,serif}.term-row .markdown{color:var(--ink-soft);font-family:DM Sans,sans-serif;font-size:13px}.term-row p{margin:0}.checkpoint{background:var(--proof-soft);margin-top:56px;padding:34px 34px 28px;position:relative}.checkpoint .margin-label{color:var(--proof);text-transform:uppercase;letter-spacing:.13em;font-size:9px;font-weight:600;display:block}.checkpoint h2{margin:10px 0 20px;font-size:23px}details summary{cursor:pointer;color:var(--proof);font-size:12px;font-weight:600}details p{color:var(--ink-soft);font-size:13px;line-height:1.6}.lesson-exercises{margin-top:64px}.section-heading.compact{margin-bottom:18px}.exercise{background:var(--paper-raised);box-shadow:var(--shadow-paper);margin-bottom:20px;padding:24px}.exercise.complete{opacity:.74}.exercise-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.source-tag{color:var(--proof);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:600}.exercise-top button{min-height:40px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-size:10px;display:flex}.exercise .question{margin:14px 0 20px}.exercise .question p{margin:0}.reveal-row{border-top:1px solid var(--rule);flex-wrap:wrap;gap:24px;padding-top:16px;display:flex}.reveal-row details{flex:1;min-width:180px}.reveal-row .markdown{color:var(--ink-soft);font-family:DM Sans,sans-serif;font-size:12px}.complete-button{border:1px solid var(--rule);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:28px;font-weight:600;display:flex}.complete-button:hover{background:var(--paper-inset)}.complete-button.complete{color:var(--success);border-color:var(--success)}.lesson-pagination{border-top:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:24px;margin-top:64px;padding-top:28px;display:grid}.lesson-pagination a{flex-direction:column;gap:7px;display:flex}.lesson-pagination a.next{text-align:right;align-items:end}.lesson-pagination small{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.lesson-pagination span{font-family:Libre Caslon Text,serif;font-size:14px}.study-margin{color:var(--ink-faint);align-self:start;margin-top:44px;padding-left:20px;font-size:10px;position:sticky;top:104px}.margin-rule{background:var(--proof);opacity:.45;width:1px;position:absolute;top:0;bottom:0;left:0}.study-margin>span{text-transform:uppercase;letter-spacing:.1em;display:block}.study-margin>strong{color:var(--ink);margin:7px 0 20px;font-family:Libre Caslon Text,serif;font-size:13px;display:block}.study-margin>a{grid-template-columns:22px 1fr;gap:5px;padding:6px 0;line-height:1.3;display:grid}.study-margin>a i{color:var(--proof);font-variant-numeric:tabular-nums;font-style:normal}.study-margin>a.active{color:var(--ink);font-weight:600}.study-margin .source-link{border-top:1px solid var(--rule);color:var(--proof);align-items:center;margin-top:20px;padding-top:16px;display:flex}.desk-header{padding-bottom:44px;position:relative}.desk-header h1{margin-bottom:12px}.desk-stat{text-align:right;position:absolute;bottom:44px;right:0}.desk-stat strong{font-family:Libre Caslon Text,serif;font-size:26px;display:block}.desk-stat span{color:var(--ink-faint);font-size:10px}.filter-tabs{background:var(--paper-inset);border-radius:8px;gap:4px;margin-bottom:32px;padding:4px;display:flex}.filter-tabs button{cursor:pointer;min-height:38px;color:var(--ink-soft);background:0 0;border:0;border-radius:5px;flex:1;font-size:12px}.filter-tabs button.active{background:var(--paper-raised);color:var(--ink);box-shadow:0 1px 2px #162b3514}.exercise-list>div+div{margin-top:32px}.exercise-lesson{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.1em;margin:0 0 8px 4px;font-size:9px;display:block}.notes-page{width:min(1040px,100%)}.notes-header{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:end;gap:40px;padding-bottom:40px;display:flex}.notes-header h1{margin-bottom:12px}.notes-header p{max-width:660px;color:var(--ink-soft);font-family:Libre Caslon Text,serif;line-height:1.6}.notes-header .secondary-button{flex:none}.raw-note{background:var(--paper-raised);box-shadow:var(--shadow-paper);margin-top:32px;padding:48px 64px}.raw-note .markdown>h1:first-child{display:none}.raw-note .markdown{font-size:14px}.raw-note .markdown h2{border-top:1px solid var(--rule);padding-top:30px}.result-list{border-top:1px solid var(--rule);margin-top:48px}.result-list a{border-bottom:1px solid var(--rule);padding:24px 48px 24px 0;display:block;position:relative}.result-list a:hover strong{color:var(--proof)}.result-list .result-course{color:var(--proof);text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px;font-size:9px;display:block}.result-list strong{font-family:Libre Caslon Text,serif;font-size:19px}.result-list p{color:var(--ink-soft);margin:7px 0 0;font-size:12px}.result-list svg{position:absolute;top:50%;right:8px;transform:translateY(-50%)}footer{border-top:1px solid var(--rule);min-height:72px;color:var(--ink-faint);justify-content:space-between;align-items:center;padding:0 56px;font-size:10px;display:flex}@media (max-width:1040px){.sidebar{transition:transform .22s cubic-bezier(.23,1,.32,1);transform:translate(-100%);box-shadow:20px 0 60px #00000026}.sidebar.open{transform:translate(0)}.close-sidebar,.menu-button{display:inline-grid}.scrim{z-index:18;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c14186b;border:0;position:fixed;inset:0}.main-shell{margin-left:0}.topbar{padding-left:20px}.menu-button{margin-right:12px}.lesson-layout{grid-template-columns:minmax(0,1fr)}.study-margin{display:none}}@media (max-width:760px){.topbar{height:64px;padding:0 12px}.search{width:auto;box-shadow:var(--shadow-paper);background:var(--paper-raised);display:none;position:absolute;top:70px;left:12px;right:12px}.search.mobile-open{display:flex}.mobile-search{display:inline-grid}.page{padding:44px 20px 72px}.home-hero{grid-template-columns:1fr;gap:44px;min-height:0}.home-hero h1{font-size:46px}.progress-sheet{transform:none}.course-section{margin-top:72px}.section-heading{display:block}.section-heading>p{margin-top:12px}.course-grid{grid-template-columns:1fr}.course-card+.course-card{border-left:0;border-top:1px solid var(--rule)}.desk-callout{grid-template-columns:42px 1fr;padding:28px 20px}.desk-callout .secondary-button{grid-column:1/-1}.lesson-header h1{overflow-wrap:anywhere;max-width:100%;font-size:38px}.term-row{grid-template-columns:1fr;gap:4px}.checkpoint{padding:28px 22px}.exercise{padding:20px}.lesson-pagination{gap:12px}.desk-stat{text-align:left;margin-top:24px;position:static}.filter-tabs{overflow-x:auto}.filter-tabs button{min-width:105px}.notes-header{display:block}.notes-header .secondary-button{margin-top:20px}.raw-note{padding:28px 18px}.raw-note .markdown{font-size:13px}footer{padding:24px 20px;line-height:2;display:block}footer span{display:block}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sidebar{transition:none}}[data-sensitive=true]{min-height:100vh}.top-actions{align-items:center;gap:10px}.top-actions form{margin:0}.top-actions .secondary-button{min-height:40px}.login-page,.finance-page{width:min(900px,100%);margin:0 auto;padding:64px 24px}.card,.finance-card{background:var(--paper-raised);box-shadow:var(--shadow-paper);margin:18px 0;padding:24px}input,textarea,select{font:inherit;color:var(--ink);background:var(--paper-raised);border:1px solid var(--rule);border-radius:6px;padding:.7rem}button{font:inherit}.meta{color:var(--ink-faint);font-size:12px}.hide{z-index:1000;color:#115e59;cursor:pointer;background:#fff;border:1px solid #115e59;border-radius:8px;min-height:44px;padding:10px 16px;position:fixed;bottom:16px;right:16px}.curtain.active{text-align:center;color:#e5e7eb;z-index:9999;cursor:pointer;background:#020617;border:0;border-radius:0;place-content:center;gap:1rem;width:100%;height:100%;display:grid;position:fixed;inset:0}.curtain span{color:#9ca3af}@media print{body{display:none}}.landing-page,.login-page{place-items:center;min-height:100vh;padding:32px;display:grid}.landing-hero{width:min(980px,100%)}.landing-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:34px;display:grid}.landing-card{background:var(--paper-raised);border:1px solid var(--rule);box-shadow:var(--shadow-paper);border-radius:22px;min-height:190px;padding:28px}.landing-card span{font-family:Libre Caslon Text,serif;font-size:34px}.landing-card p{color:var(--ink-soft);line-height:1.6}.finance-app{--finance-bg:#f5f7fb;--finance-surface:#fff;--finance-ink:#172033;--finance-muted:#526277;--finance-line:#e2e8f0;--finance-accent:#0f766e;background:var(--finance-bg);min-height:100vh;color:var(--finance-ink);font-family:DM Sans,sans-serif;line-height:1.45}.finance-app :is(h1,h2,h3){color:var(--finance-ink)}.finance-app h1{margin:6px 0 10px;font-size:clamp(28px,3.2vw,44px)}.finance-app h2{margin:0;font-size:24px}.finance-app h3{font-size:18px}.finance-app .eyebrow{color:var(--finance-accent);margin:0 0 6px}.finance-app :is(label,form,section,article,details){min-width:0}.finance-app :is(input,select,textarea){background:var(--finance-surface);width:100%;min-width:0;max-width:100%;min-height:48px;color:var(--finance-ink);font:inherit;border:1px solid #b8c5d3;border-radius:10px;padding:11px 12px;font-size:16px}.finance-app input[type=date]{appearance:none}.finance-app input[type=date]::-webkit-date-and-time-value{text-align:left}.finance-app textarea{resize:vertical;min-height:88px}.finance-app :is(button,.secondary-button){background:var(--finance-accent);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:44px;padding:11px 14px;font-weight:600}.finance-app button:hover{background:#115e59}.finance-app .secondary-button{color:var(--finance-ink);border:1px solid var(--finance-line);background:#fff}.finance-app :is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid var(--finance-accent);outline-offset:3px}.finance-app label{align-content:start;gap:6px;display:grid}.finance-app label>span{color:var(--finance-muted);font-size:12px;font-weight:600}.finance-app .field-hint{color:var(--finance-muted);font-size:12px;font-weight:400;line-height:1.4}.finance-app [id]{scroll-margin-top:20px}.finance-sidebar{color:#fff;background:#115e59;flex-direction:column;gap:24px;width:230px;padding:28px 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.finance-logo{align-items:center;gap:12px;display:flex}.finance-logo>span{background:#ffffff1f;border-radius:12px;place-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:grid}.finance-logo strong,.finance-logo small{display:block}.finance-logo small{color:#c1e2df;font-size:12px}.finance-nav{gap:8px;display:grid}.finance-nav a{border-radius:10px;align-items:center;gap:10px;min-height:48px;padding:12px;font-size:14px;display:flex}.finance-nav .nav-icon{text-align:center;width:20px;font-size:17px;line-height:1}.finance-nav a[aria-current=page]{background:#ffffff1f;font-weight:600}.finance-nav a:hover{background:#ffffff2b}.finance-sidebar>form{margin-top:auto}.finance-sidebar button{background:#ffffff14;font-size:13px}.finance-sidebar :is(a,button):focus-visible{outline-color:#fff}.finance-main{gap:28px;max-width:1680px;margin-left:230px;padding:32px;display:grid}.finance-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.finance-header p:not(.eyebrow){color:var(--finance-muted);margin:0;font-size:14px}.finance-header>.secondary-button{flex-shrink:0}.finance-panel,.finance-cards article{background:var(--finance-surface);border:1px solid var(--finance-line);border-radius:16px;padding:24px}.quick-entry{border-color:#99cfc7;box-shadow:0 2px 8px #0f766e08}.quick-entry-heading{justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px;display:flex}.quick-entry-heading>small{color:var(--finance-muted);font-size:12px}.quick-entry-form{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:16px 12px;display:grid}.quick-entry-form .amount-field input{font-variant-numeric:tabular-nums;min-height:54px;font-size:26px;font-weight:600;line-height:1}.quick-entry-form .currency-field select{min-height:54px}.quick-entry-form .title-field{grid-column:span 2}.quick-details,.quick-save{grid-column:1/-1}.finance-app .quick-save{min-height:50px;font-size:16px}.quick-details{border-top:1px solid var(--finance-line)}.finance-app summary{cursor:pointer}.quick-details>summary{min-height:44px;color:var(--finance-muted);align-items:center;gap:8px;font-size:13px;list-style:none;display:flex}.quick-details>summary::-webkit-details-marker{display:none}.quick-details>summary:before{content:"+";color:var(--finance-accent);font-size:20px}.quick-details[open]>summary:before{content:"−"}.quick-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0;display:grid}.overview-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:14px;display:flex}.overview-heading small{color:var(--finance-muted);font-size:12px}.finance-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.finance-cards article{padding:18px}.finance-cards span,.finance-cards small{color:var(--finance-muted);font-size:12px;display:block}.finance-cards strong{color:var(--finance-accent);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:10px 0;font-size:clamp(20px,2vw,28px);line-height:1.25;display:block}.transactions-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.section-caption{color:var(--finance-muted);margin:6px 0 0;font-size:12px}.transaction-filters>summary{border:1px solid var(--finance-line);min-height:44px;color:var(--finance-accent);border-radius:10px;padding:11px 14px;font-size:13px;font-weight:600}.transactions-tools{gap:10px;margin-top:12px;display:grid}.sort-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sort-form button{grid-column:1/-1}.finance-table{overflow-x:auto}.finance-table table{border-collapse:collapse;width:100%}.finance-table :is(th,td){border-bottom:1px solid var(--finance-line);text-align:left;vertical-align:top;padding:14px 10px}.finance-table th{color:var(--finance-muted);font-size:11px;font-weight:600}.finance-table td{overflow-wrap:anywhere;font-size:14px}.finance-table td small{color:var(--finance-muted);margin-top:4px;display:block}.transaction-title{min-width:130px}.transaction-title strong{font-weight:600}.transaction-amount{font-variant-numeric:tabular-nums;min-width:110px;font-weight:600}.transaction-date{color:var(--finance-muted);white-space:nowrap}.pill{color:#166534;text-transform:capitalize;background:#ecfdf5;border-radius:6px;padding:3px 8px;font-size:11px;display:inline-block}.pill.expense{color:#475569;background:#f1f5f9}.transaction-actions>summary,.transaction-delete>summary{min-height:44px;color:var(--finance-accent);background:#edf7f5;border-radius:8px;place-items:center;padding:10px 14px;font-size:13px;font-weight:600;list-style:none;display:grid}.transaction-actions>summary::-webkit-details-marker{display:none}.transaction-delete>summary::-webkit-details-marker{display:none}.transaction-delete{margin-top:8px}.transaction-delete>summary{color:#9f352a;background:#fff;border:1px solid #eadedc}.transaction-delete p{color:#9f352a;font-size:13px}.finance-app .transaction-delete button{background:#9f352a}.transaction-edit-form{border:1px solid var(--finance-line);background:var(--finance-bg);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:340px;margin-top:12px;padding:14px;display:grid}.transaction-edit-form :is(.edit-title,.amount-field,.edit-notes,button){grid-column:1/-1}.finance-empty{border-top:1px solid var(--finance-line);padding:28px 0 12px}.finance-empty strong{font-size:18px}.finance-empty p{color:var(--finance-muted);max-width:440px;font-size:14px}.manage-grid,.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px;display:grid}.manage-grid form{background:var(--finance-bg);border-radius:10px;align-content:start;gap:12px;padding:16px;display:grid}.archive-grid .archive-row{border-bottom:1px solid var(--finance-line);justify-content:space-between;align-items:center;gap:12px;margin:1em 0;padding:10px 0;font-size:14px;display:flex}.archive-grid .archive-row>span{overflow-wrap:anywhere;min-width:0}.inline-form{flex-shrink:0}.finance-app .ghost-button{color:#1d4ed8;background:#eff6ff;font-size:12px}.overview-heading h2{margin:0}.overview-heading .eyebrow{margin-bottom:4px}.month-nav{flex-wrap:wrap;gap:8px;display:flex}.month-nav a{border:1px solid var(--finance-line);background:var(--finance-surface);min-height:40px;color:var(--finance-ink);white-space:nowrap;border-radius:10px;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.month-nav a:hover{border-color:var(--finance-accent);color:var(--finance-accent)}.month-nav .month-nav-today{color:var(--finance-accent);background:#edf7f5;border-color:#99cfc7}.month-cards{grid-template-columns:1.4fr 1fr 1fr}.finance-cards .spent-card{background:linear-gradient(#f2faf8,#fff);border-color:#99cfc7}.finance-cards .spent-card strong{font-size:clamp(26px,2.8vw,36px)}.finance-app .money,.finance-app .money-amount,.finance-app .money-sep{font-size:inherit;color:inherit;display:inline}.finance-app .money-amount{white-space:nowrap}.finance-app .money-sep{color:var(--finance-muted);font-weight:400}.overview-footnote{color:var(--finance-muted);margin:12px 2px 0;font-size:13px}.overview-footnote a,.breakdown-line a,.month-table a{color:var(--finance-accent);font-weight:600}.panel-heading{justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px;display:flex}.panel-heading h2{margin:0}.breakdown{gap:20px;display:grid}.breakdown-currency-head{border-bottom:1px solid var(--finance-line);color:var(--finance-muted);justify-content:space-between;gap:12px;padding-bottom:8px;font-size:13px;display:flex}.breakdown-currency-head strong{color:var(--finance-ink);letter-spacing:.04em}.breakdown-currency-head span{color:var(--finance-ink);font-variant-numeric:tabular-nums;font-weight:600}.breakdown-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.breakdown-currency-head+.breakdown-list{margin-top:12px}.breakdown-line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.breakdown-label{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:600}.breakdown-amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:15px}.breakdown-bar{background:#eef2f6;border-radius:99px;height:6px;margin:6px 0 4px;overflow:hidden}.breakdown-bar i{border-radius:inherit;background:var(--finance-accent);height:100%;display:block}.breakdown-meta{color:var(--finance-muted);font-variant-numeric:tabular-nums;font-size:12px}.breakdown-empty{color:var(--finance-muted);margin:0;font-size:14px}.total-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.month-table th[scope=row]{font-size:14px;font-weight:600}.month-table td{font-variant-numeric:tabular-nums}.settings-notice{color:#166534;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:10px;margin:0;padding:12px 16px;font-size:14px}.settings-notice.error{color:#9f352a;background:#fef2f2;border-color:#eadedc}.settings-jump{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.settings-jump a{background:var(--finance-surface);border:1px solid var(--finance-line);min-height:40px;color:var(--finance-ink);border-radius:99px;flex-shrink:0;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.settings-jump a:hover{border-color:var(--finance-accent);color:var(--finance-accent)}.settings-add{background:var(--finance-bg);border-radius:12px;flex-wrap:wrap;align-items:end;gap:12px;padding:14px;display:flex}.settings-add label{flex:200px}.settings-add .settings-code-field{flex:0 110px}.settings-add button{flex:none;min-height:48px}.settings-list{margin:8px 0 0;padding:0;list-style:none}.settings-row{border-bottom:1px solid var(--finance-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.settings-row:last-child{border-bottom:0}.settings-row-main{gap:4px;min-width:0;display:grid}.settings-row-main strong{overflow-wrap:anywhere;font-size:15px;font-weight:600}.settings-row-main small{color:var(--finance-muted);align-items:center;gap:8px;font-size:12px;display:flex}.settings-code{font-variant-numeric:tabular-nums;letter-spacing:.04em;min-width:3.4em;color:var(--finance-accent);display:inline-block}.settings-row-actions{flex-wrap:wrap;align-items:start;gap:8px;display:flex}.settings-edit>summary{min-height:44px;color:var(--finance-accent);background:#edf7f5;border-radius:10px;place-items:center;padding:10px 14px;font-size:12px;font-weight:600;list-style:none;display:grid}.settings-edit>summary::-webkit-details-marker{display:none}.settings-edit[open]{flex-basis:100%;order:2}.settings-edit-form{border:1px solid var(--finance-line);background:var(--finance-bg);border-radius:10px;flex-wrap:wrap;align-items:end;gap:10px;margin-top:10px;padding:12px;display:flex}.settings-edit-form label{flex:180px}.settings-row:has(.settings-edit[open]) .settings-row-actions{flex-basis:100%}.settings-archived{border-top:1px dashed var(--finance-line);margin-top:14px;padding-top:10px}.settings-archived>summary{min-height:40px;color:var(--finance-muted);align-items:center;font-size:13px;display:flex}.settings-row.archived strong{color:var(--finance-muted)}.settings-account{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.finance-app .settings-account .secondary-button{align-items:center;display:inline-flex}@media (max-width:1200px){.quick-entry-form{grid-template-columns:repeat(2,minmax(0,1fr))}.total-grid{grid-template-columns:1fr}.quick-entry-form .title-field{grid-column:1/-1}.finance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-heading{flex-wrap:wrap;align-items:end}.overview-heading small{margin-top:6px;display:block}}@media (max-width:1100px){.finance-table{overflow:visible}.finance-table :is(table,tbody){display:block}.finance-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.finance-table tbody{gap:14px;display:grid}.finance-table tbody tr{border:1px solid var(--finance-line);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;padding:16px;display:grid}.finance-table td{border:0;min-width:0;padding:0}.transaction-title{grid-area:1/1}.transaction-amount{grid-area:1/2;text-align:right!important}.transaction-kind{grid-area:2/1}.transaction-date{grid-area:2/2;text-align:right!important;font-size:12px!important}.transaction-details{color:var(--finance-muted);grid-column:1/-1;padding-top:4px!important}.finance-table .transaction-controls{grid-column:1/-1;padding-top:8px}.transaction-controls{flex-wrap:wrap;align-items:start;gap:8px;display:flex}.transaction-controls>details{flex:calc(50% - 4px);margin:0}.transaction-controls>details[open]{flex-basis:100%}.transaction-edit-form{width:100%}.transactions-heading{flex-wrap:wrap}.transaction-filters[open]{width:100%}.month-table tbody tr{grid-template-columns:repeat(3,minmax(0,1fr))}.month-table th[scope=row]{border:0;grid-column:1/-1;padding:0}.month-table td{gap:2px;font-size:13px;display:grid}.month-table td:before{content:attr(data-label);color:var(--finance-muted);font-size:11px;font-weight:600}}@media (max-width:900px){.landing-options{grid-template-columns:1fr}.finance-sidebar{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;width:auto;padding:12px 18px;position:static;overflow:visible}.finance-sidebar>form{margin:0}.finance-nav{z-index:30;padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));color:var(--finance-muted);border-top:1px solid var(--finance-line);background:#fff;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -4px 16px #17203308}.finance-nav a{text-align:center;flex-direction:column;justify-content:center;gap:2px;min-height:52px;padding:6px 2px;font-size:12px}.finance-nav .nav-icon{font-size:18px}.finance-nav a[aria-current=page],.finance-nav a:hover{color:var(--finance-accent);background:#e5f3f0}.finance-nav a:focus-visible{outline-color:var(--finance-accent);outline-offset:-3px}.finance-main{padding:24px max(18px,env(safe-area-inset-right)) calc(96px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));margin-left:0}.hide{bottom:calc(80px + env(safe-area-inset-bottom));right:max(12px,env(safe-area-inset-right))}.finance-app :is(input,select,textarea,button,summary){scroll-margin-bottom:100px}}@media (max-width:600px){.finance-logo>span{border-radius:8px;width:32px;height:32px;font-size:16px}.finance-logo{gap:8px}.finance-logo small{font-size:10px}.finance-sidebar{padding:10px 14px}.finance-sidebar button{padding:10px;font-size:12px}.finance-main{padding-top:20px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));gap:24px}.finance-header{align-items:start;gap:10px}.finance-header h1{font-size:26px;line-height:1.15}.finance-header .eyebrow{display:none}.finance-header p:not(.eyebrow){font-size:12px}.finance-header>.secondary-button{padding:10px;font-size:12px}.finance-panel{padding:16px}.finance-app h2{font-size:22px}.quick-entry-heading{margin-bottom:16px;display:block}.quick-entry-heading>small{margin-top:6px;display:block}.quick-entry-form{gap:12px}.quick-entry-form .amount-field{grid-column:1}.quick-entry-form .currency-field{grid-column:2}.quick-details-grid,.manage-grid,.archive-grid{grid-template-columns:1fr}.month-cards{grid-template-columns:1fr 1fr}.month-cards .spent-card{grid-column:1/-1}.panel-heading{flex-wrap:wrap}.settings-add{padding:12px}.settings-add button{flex:100%}.finance-cards{gap:10px}.finance-cards article{border-radius:12px;padding:14px}.finance-cards small{font-size:11px}.finance-table tbody tr{padding:12px}.transaction-edit-form{grid-template-columns:1fr;padding:12px}.transactions-heading{gap:12px}.transaction-filters{width:100%}.manage-grid form{padding:12px}}
