.login-wrap{min-height:100vh;display:grid;place-items:center;padding:40px 20px}.login-card{width:100%;max-width:380px;border-top:1px solid var(--ink);padding:28px 0 0}.login-title{font-family:Fraunces,serif;font-weight:400;font-size:32px;font-variation-settings:"opsz" 144,"SOFT" 40;letter-spacing:-.01em;margin:0 0 6px}.login-title em{font-style:italic;color:var(--gold)}.login-sub{color:var(--ink-dim);font-size:14px;margin:0 0 24px}.field{margin-bottom:14px}.field label{display:block;font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:6px}.field input{width:100%;padding:10px 12px;background:transparent;color:var(--ink);border:1px solid var(--rule);border-radius:2px;font-family:inherit;font-size:14px}.field input:focus{outline:none;border-color:var(--ink)}.btn-submit{width:100%;margin-top:6px;padding:11px 16px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.btn-submit:hover{background:var(--positive);border-color:var(--positive)}.login-err{color:var(--negative);font-size:13px;margin-top:10px}header.mast{display:flex;align-items:baseline;justify-content:space-between;padding:20px 0 14px;border-bottom:1px solid var(--ink)}.brand{display:flex;align-items:baseline;gap:14px}.brand .wordmark{font-family:Fraunces,serif;font-weight:600;font-size:22px;letter-spacing:-.01em;font-variation-settings:"opsz" 144,"SOFT" 30}.brand .wordmark em{font-style:italic;font-weight:400;color:var(--gold)}.brand .tag{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}nav.primary{display:flex;gap:28px}nav.primary a{color:var(--ink-dim);text-decoration:none;font-size:13.5px;letter-spacing:.01em;padding:4px 0;border-bottom:1px solid transparent;cursor:pointer}nav.primary a.on{color:var(--ink);border-bottom-color:var(--ink)}nav.primary a:hover{color:var(--ink)}.mast-right{display:flex;align-items:center;gap:22px}.sync{display:flex;align-items:center;gap:8px;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--ink-dim);text-transform:uppercase}.dot{width:6px;height:6px;border-radius:50%;background:var(--positive);box-shadow:0 0 color-mix(in srgb,var(--positive) 60%,transparent);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--positive) 50%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--positive) 0%,transparent)}}.icon-btn{width:32px;height:32px;display:grid;place-items:center;background:transparent;border:1px solid var(--rule);border-radius:var(--radius);color:var(--ink-dim);cursor:pointer}.icon-btn:hover{color:var(--ink);border-color:var(--ink-dim)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--positive-soft);color:var(--positive);display:grid;place-items:center;font-family:Geist Mono,monospace;font-size:11px;font-weight:600}.dateline{display:flex;justify-content:space-between;padding:10px 0;font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.12em;color:var(--ink-faint);text-transform:uppercase;border-bottom:1px solid var(--rule-faint)}.hero{display:grid;grid-template-columns:1.6fr 1fr;gap:60px;padding:48px 0 40px;border-bottom:1px solid var(--rule)}@media(max-width:980px){.hero{grid-template-columns:1fr;gap:28px}}.hero-main .label{margin-bottom:18px}.hero-num{font-family:Fraunces,serif;font-variation-settings:"opsz" 144,"SOFT" 20;font-weight:300;font-size:clamp(56px,8.4vw,116px);line-height:.92;letter-spacing:-.028em;color:var(--ink);font-feature-settings:"tnum";display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.hero-num .cur{font-size:.38em;color:var(--ink-dim);font-weight:400;font-style:italic}.hero-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 32px;margin-top:24px;font-size:13px;align-items:start}.hero-meta>.eyebrow{grid-row:1 / span 2;align-self:center}.hero-meta .chip{display:inline-flex;align-items:center;gap:6px}.delta-up{color:var(--positive)}.delta-down{color:var(--negative)}.accounts-panel{display:flex;flex-direction:column;justify-content:flex-end}.accounts-panel .label{margin-bottom:14px}.acct{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--rule-faint)}.acct:last-child{border-bottom:1px solid var(--rule-faint)}.acct-mark{display:flex;align-items:center;justify-content:flex-start}.acct-name{font-size:14px;color:var(--ink)}.acct-name .sub{display:block;font-family:Geist Mono,monospace;font-size:10px;letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;margin-top:2px}.acct-amt{font-family:Fraunces,serif;font-weight:400;font-size:21px;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.acct-amt .cur{font-size:12px;color:var(--ink-faint);margin-left:4px;font-style:italic}.acct-closed .acct-name,.acct-closed .acct-amt{opacity:.55}.acct-closed .acct-name:after{content:" · закрыт";font-family:Geist Mono,monospace;font-size:10px;color:var(--negative);letter-spacing:.08em;text-transform:uppercase;margin-left:6px}.section{padding:40px 0;border-bottom:1px solid var(--rule)}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px}.section-title{font-family:Fraunces,serif;font-weight:400;font-size:22px;font-variation-settings:"opsz" 40,"SOFT" 50;letter-spacing:-.01em}.section-title em{font-style:italic;color:var(--gold)}.periods{display:flex;gap:20px}.periods a{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;padding-bottom:4px;border-bottom:1px solid transparent}.periods a.on{color:var(--ink);border-bottom-color:var(--ink)}.periods a:hover{color:var(--ink)}.chart-wrap{display:grid;grid-template-columns:1fr 240px;gap:40px}@media(max-width:980px){.chart-wrap{grid-template-columns:1fr}}.chart-canvas{position:relative}.chart-svg{width:100%;height:320px;display:block;overflow:visible}.chart-svg .axis-lbl{font-family:Geist Mono,monospace;font-size:9.5px;fill:var(--ink-faint);letter-spacing:.06em}.chart-empty{height:320px;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.chart-tip{position:absolute;background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:10px 12px 8px;box-shadow:0 10px 28px #1e181226;pointer-events:none;font-size:12px;z-index:10;animation:chart-tip-in .12s ease-out}@keyframes chart-tip-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.chart-tip-date{font-family:Geist Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px}.chart-tip-grid{display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:4px;align-items:baseline}.chart-tip-lbl{font-family:Geist Mono,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim)}.chart-tip-val{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:12.5px;color:var(--ink);text-align:right;white-space:nowrap}.chart-tip-frac{color:var(--ink-dim)}.chart-tip-val.pos{color:var(--positive)}.chart-tip-val.neg{color:var(--negative)}.chart-tip-val.bal{color:var(--gold)}.chart-tip-sep-full{grid-column:1 / -1;height:1px;background:var(--rule-faint);margin:4px 0 2px}.chart-tip-note{margin-top:8px;padding-top:8px;border-top:1px solid var(--rule-faint);font-size:10.5px;color:var(--negative);line-height:1.35}.chart-legend{display:flex;flex-direction:column;gap:20px;padding:8px 0 0 16px;border-left:1px solid var(--rule-faint)}.legend-row{display:flex;flex-direction:column;gap:4px}.legend-row .mark{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);font-family:Geist Mono,monospace}.legend-row .mark:before{content:"";width:18px;height:2px;background:currentColor}.legend-row .v{font-family:Fraunces,serif;font-size:26px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-weight:400}.legend-row .v .cur{font-size:12px;color:var(--ink-faint);font-style:italic}.legend-row.pos .mark{color:var(--positive)}.legend-row.neg .mark{color:var(--negative)}.legend-row.net .mark{color:var(--ink-dim)}.periods-wrap{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.date-range{display:flex;align-items:center;gap:10px;font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-dim)}.date-range input[type=date]{background:transparent;border:1px solid var(--rule);padding:4px 8px;font-family:Geist Mono,monospace;font-size:11px;color:var(--ink);color-scheme:light}[data-theme=dark] .date-range input[type=date]{color-scheme:dark}.date-range input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.6}.date-range input[type=date]:focus{outline:none;border-color:var(--ink)}.ops-head{display:grid;grid-template-columns:74px 1fr 2fr 160px 160px;gap:16px;padding:10px 0;border-bottom:1px solid var(--ink);font-family:Geist Mono,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}.op{display:grid;grid-template-columns:74px 1fr 2fr 160px 160px;gap:16px;padding:14px 0;border-bottom:1px solid var(--rule-faint);align-items:baseline}.op:hover{background:color-mix(in srgb,var(--paper-dim) 60%,transparent)}.op .t{font-family:Geist Mono,monospace;font-size:12px;color:var(--ink-faint)}.op .ctr{font-size:14px;color:var(--ink)}.op .ctr .inn{font-family:Geist Mono,monospace;font-size:10.5px;color:var(--ink-faint);letter-spacing:.04em;margin-left:8px}.op .desc{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--ink-dim)}.op .op-cat{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.04em;color:var(--ink-faint);text-transform:uppercase}.op .op-cat-sep{color:var(--rule);margin:0 4px}.op .op-cat-missing{color:var(--negative);opacity:.75}.op .badge{display:inline-block;font-family:Geist Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border:1px solid var(--rule);color:var(--ink-dim)}.op .amt{font-family:Fraunces,serif;font-size:17px;text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.amt.pos{color:var(--positive)}.amt.neg{color:var(--negative)}.ops-filters{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--rule-faint)}.ops-filter-group{display:flex;gap:16px}.ops-filter-group a{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;padding-bottom:3px;border-bottom:1px solid transparent}.ops-filter-group a:hover{color:var(--ink)}.ops-filter-group a.on{color:var(--ink);border-bottom-color:var(--ink)}.ops-search{flex:1 1 240px;min-width:200px;background:transparent;border:0;border-bottom:1px solid var(--rule);padding:6px 0;font-family:inherit;font-size:13px;color:var(--ink)}.ops-search:focus{outline:none;border-bottom-color:var(--ink)}.ops-search::placeholder{color:var(--ink-faint)}.ops-select{background:transparent;border:1px solid var(--rule);padding:6px 10px;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.08em;color:var(--ink);cursor:pointer}.ops-select:hover{border-color:var(--ink-dim)}.set-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:28px}@media(max-width:980px){.set-grid{grid-template-columns:1fr;gap:32px}}.set-card{border-top:1px solid var(--ink);padding-top:20px}.set-card h3{font-family:Fraunces,serif;font-weight:400;font-size:24px;margin:0 0 4px;letter-spacing:-.01em}.set-card h3 em{font-style:italic;color:var(--gold)}.set-card p.lead{color:var(--ink-dim);font-size:14px;margin:0 0 20px}.conn{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule-faint)}.conn .info{flex:1 1 auto;min-width:0}.conn .right{display:flex;align-items:center;gap:10px;flex:0 0 auto;flex-wrap:nowrap}.conn .info .bank{font-size:15px}.conn .info .meta{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase;margin-top:3px}.conn-status{display:flex;align-items:center;gap:10px;font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase}.conn-status.ok{color:var(--positive)}.conn-status.warn{color:var(--negative)}.btn-ghost{background:transparent;border:1px solid var(--ink);color:var(--ink);font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:9px 16px;cursor:pointer;min-width:130px}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn-primary{background:var(--ink);border:1px solid var(--ink);color:var(--paper);font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:9px 16px;cursor:pointer}.btn-primary:hover{background:var(--positive);border-color:var(--positive)}@keyframes hourglassFlip{0%{transform:rotate(0)}40%{transform:rotate(0)}50%{transform:rotate(180deg)}90%{transform:rotate(180deg)}to{transform:rotate(360deg)}}.hourglass{animation:hourglassFlip 2s ease-in-out infinite;transform-origin:center;color:var(--gold)}.btn-syncing{background:var(--paper-deep);color:var(--ink-dim);border-color:var(--rule);cursor:default}@media(prefers-reduced-motion:reduce){.hourglass{animation:none}}.rules-add{display:flex;gap:10px;padding:16px 0;border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center}.rules-add input,.rules-add select{background:transparent;border:1px solid var(--rule);padding:6px 10px;font-family:inherit;font-size:13px;color:var(--ink);border-radius:4px}.rules-add input{flex:1 1 150px;min-width:120px}.rules-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--rule-faint)}.rules-count{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.08em;color:var(--ink-dim);text-transform:uppercase;margin-right:auto}.rules-filters{display:grid;grid-template-columns:60px 100px 1.3fr 1.2fr 1fr 140px;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule-faint);background:var(--paper-dim)}.rules-filters select,.rules-filters input{background:transparent;border:1px solid var(--rule);padding:4px 8px;font-family:Geist Mono,monospace;font-size:11px;color:var(--ink);width:100%;box-sizing:border-box}.rules-filters select:focus,.rules-filters input:focus{outline:none;border-color:var(--ink)}.rules-dir-tabs{display:flex;gap:16px}.rules-dir-tabs a{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;padding-bottom:3px;border-bottom:1px solid transparent}.rules-dir-tabs a:hover{color:var(--ink)}.rules-dir-tabs a.on{color:var(--ink);border-bottom-color:var(--ink)}.rules-msg{margin:12px 0;padding:10px 14px;font-size:13px;color:var(--ink-dim);background:var(--paper-dim);border:1px solid var(--rule)}.rules-rename-bar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--rule-faint);background:var(--paper-dim);flex-wrap:wrap}.rules-rename-label{font-size:12px;color:var(--ink-dim);font-family:Geist Mono,monospace;letter-spacing:.04em}.rules-rename-bar .btn-ghost{padding:4px 10px;font-size:10.5px;min-width:0}.rules-head,.rule-row{display:grid;grid-template-columns:60px 100px 1.3fr 1.2fr 1fr 140px;gap:12px;padding:10px 0;align-items:center;border-bottom:1px solid var(--rule-faint)}.rules-head{background:var(--paper-dim);border-bottom-color:var(--ink);font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);padding:10px 8px}.rules-head .sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.rules-head .sortable:hover{color:var(--ink)}.rule-row:hover{background:var(--paper-dim)}.rule-row .t{font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-faint);padding-left:8px}.rule-row .dir{font-family:Geist Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--ink-dim)}.rule-row .pattern{font-family:Geist Mono,monospace;font-size:12px;color:var(--ink)}.rule-row .cat{font-size:13px}.rule-row .block{font-size:13px;color:var(--ink-dim)}.rule-row.editing input,.rule-row.editing select{background:var(--paper);border:1px solid var(--ink);padding:4px 6px;font-family:inherit;font-size:12px;color:var(--ink);width:100%;box-sizing:border-box;border-radius:3px}.rule-row.editing{background:var(--paper-deep, var(--paper-dim))}.rule-row button.btn-primary,.rule-row button.btn-ghost{padding:4px 10px;font-size:10.5px;min-width:0}.taxonomy-wrap{padding:24px 0;display:flex;flex-direction:column;gap:32px}.tax-block{border-top:1px solid var(--ink);padding-top:16px}.tax-block-head{display:flex;align-items:baseline;gap:16px;margin-bottom:16px;flex-wrap:wrap}.tax-block-title{font-family:Fraunces,serif;font-weight:500;font-size:22px;margin:0;letter-spacing:-.005em}.tax-counts{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.08em;color:var(--ink-faint);text-transform:uppercase}.tax-actions{margin-left:auto;display:flex;gap:6px;align-items:center;flex-shrink:0;white-space:nowrap}.tax-actions .btn-ghost{padding:4px 10px;font-size:10.5px;letter-spacing:.06em;min-width:0;white-space:nowrap;line-height:1.3}.tax-cats{display:flex;flex-direction:column;border-top:1px solid var(--rule-faint)}.tax-cat{display:grid;grid-template-columns:1fr 220px 340px;gap:20px;padding:10px 4px;align-items:center;border-bottom:1px solid var(--rule-faint)}.tax-cat:hover{background:var(--paper-dim)}.tax-cat-name{font-size:14px;color:var(--ink);line-height:1.3}.tax-cat-counts{font-family:Geist Mono,monospace;font-size:10.5px;color:var(--ink-faint);letter-spacing:.04em;text-align:right;white-space:nowrap}@media(max-width:980px){.tax-cat{grid-template-columns:1fr;gap:6px}.tax-cat-counts{text-align:left}.tax-actions{margin-left:0}}.import-wrap{padding:28px 0;max-width:100%}.import-wrap .lead,.import-form{max-width:640px}.import-wrap .lead{color:var(--ink-dim);font-size:14px;margin:0 0 28px}.import-form{display:flex;flex-direction:column;gap:18px}.import-form label{display:flex;flex-direction:column;gap:6px;font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.import-form select,.import-form input[type=file]{background:transparent;border:1px solid var(--rule);padding:10px 12px;font-family:inherit;font-size:14px;color:var(--ink)}.import-form select:focus,.import-form input[type=file]:focus{outline:none;border-color:var(--ink)}.import-form .btn-primary{align-self:flex-start;margin-top:6px}.import-form-actions{display:flex;gap:12px;align-items:center;margin-top:6px}.import-filelist{font-family:Geist Mono,monospace;font-size:11px;color:var(--ink-dim);display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--paper-dim);border:1px solid var(--rule);max-height:200px;overflow-y:auto}.import-summary{margin:24px 0 12px;font-family:Geist Mono,monospace;font-size:11.5px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em}.import-results{width:100%;border-collapse:collapse;font-size:13px}.import-results th{text-align:left;padding:8px 10px;font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim);border-bottom:1px solid var(--ink)}.import-results td{padding:8px 10px;border-bottom:1px solid var(--rule-faint)}.import-results tr.err td{color:var(--negative)}.import-results tr.ok td:last-child{color:var(--positive)}.import-progress{margin:24px 0 12px;padding:14px 16px;background:var(--paper-dim);border:1px solid var(--rule);display:flex;flex-direction:column;gap:8px}.import-progress-head{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--ink)}.import-progress-head .mono{font-family:Geist Mono,monospace;color:var(--ink-dim)}.import-progress-bar{height:6px;background:var(--rule-faint);overflow:hidden;border-radius:1px}.import-progress-fill{height:100%;background:var(--ink);transition:width .16s ease-out}.import-progress-sub{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.decor-rr-watermark{position:fixed;right:24px;bottom:24px;width:140px;height:auto;opacity:.06;filter:grayscale(1) sepia(1) hue-rotate(-10deg) saturate(.7);pointer-events:none;z-index:0;-webkit-user-select:none;user-select:none}[data-theme=dark] .decor-rr-watermark{opacity:.1;filter:grayscale(1) invert(.9) sepia(.4) hue-rotate(20deg)}.decor-corner{position:fixed;left:16px;bottom:16px;width:72px;height:72px;opacity:.22;color:var(--gold);pointer-events:none;z-index:0}[data-theme=dark] .decor-corner{opacity:.28}@media(max-width:780px){.decor-rr-watermark{width:80px;right:12px;bottom:12px;opacity:.05}.decor-corner{width:48px;height:48px;left:8px;bottom:8px}}:root{--paper: #F8F4EC;--paper-dim: #EFE8DA;--paper-deep: #E5DCCA;--ink: #141110;--ink-dim: #5E564D;--ink-faint: #9A9082;--rule: #D5CAB5;--rule-faint: #E7DFCE;--positive: #1F5E43;--positive-soft:#C8D8CF;--negative: #9C4A2C;--negative-soft:#E9D3C5;--gold: #8A6A2A;--radius: 2px}[data-theme=dark]{--paper: #131110;--paper-dim: #1C1916;--paper-deep: #252019;--ink: #EFE8DA;--ink-dim: #9A9082;--ink-faint: #5E564D;--rule: #332C22;--rule-faint: #241F17;--positive: #82C1A2;--positive-soft:#24382E;--negative: #D89773;--negative-soft:#3A281F;--gold: #C8A264}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Geist,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";min-height:100vh;background-image:radial-gradient(circle at 20% 10%,color-mix(in srgb,var(--paper-dim) 40%,transparent) 0%,transparent 50%),radial-gradient(circle at 80% 60%,color-mix(in srgb,var(--paper-dim) 30%,transparent) 0%,transparent 50%)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1000;opacity:.035;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}[data-theme=dark] body:before{mix-blend-mode:screen;opacity:.06}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;opacity:.055;mix-blend-mode:multiply;background-image:url(/paper-pattern.svg);background-repeat:repeat;background-size:320px 320px}[data-theme=dark] body:after{opacity:.07;mix-blend-mode:screen;filter:invert(1) hue-rotate(180deg)}.page{position:relative;z-index:1}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum","cv11"}.mono{font-family:Geist Mono,ui-monospace,monospace}.serif{font-family:Fraunces,Times New Roman,serif;font-feature-settings:"ss01","ss03","tnum"}.eyebrow{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-weight:500}.hairline{height:1px;background:var(--rule);border:0;margin:0}.hairline-faint{height:1px;background:var(--rule-faint);border:0;margin:0}.page{max-width:1320px;margin:0 auto;padding:0 40px 64px}@media(max-width:780px){.page{padding:0 20px 40px}}.reveal{opacity:0;transform:translateY(6px);animation:reveal .7s cubic-bezier(.2,.7,.3,1) forwards}@keyframes reveal{to{opacity:1;transform:translateY(0)}}.d-1{animation-delay:.05s}.d-2{animation-delay:.15s}.d-3{animation-delay:.27s}.d-4{animation-delay:.4s}.d-5{animation-delay:.55s}.orn{display:flex;justify-content:center;padding:12px 0;color:var(--gold)}@media(prefers-reduced-motion:reduce){.reveal,.dot{animation:none!important}*{transition:none!important}}.busy-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#1e18128c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:busy-fade-in .18s ease-out}@keyframes busy-fade-in{0%{opacity:0}to{opacity:1}}.busy-card{background:var(--paper);border:1px solid var(--rule);border-radius:14px;padding:28px 32px;min-width:320px;max-width:480px;display:flex;flex-direction:column;align-items:center;gap:14px;box-shadow:0 20px 60px #00000040}.busy-spinner{width:28px;height:28px;border:2px solid var(--rule);border-top-color:var(--ink);border-radius:50%;animation:busy-spin .72s linear infinite}@keyframes busy-spin{to{transform:rotate(360deg)}}.busy-label{font-family:Fraunces,serif;font-size:18px;font-weight:400;color:var(--ink);text-align:center}.busy-detail{font-size:13px;color:var(--ink-dim);text-align:center;font-family:Geist Mono,monospace}.busy-progress{width:100%;display:flex;flex-direction:column;gap:4px;margin-top:4px}.busy-progress-bar{width:100%;height:4px;background:var(--rule-faint);overflow:hidden;border-radius:2px}.busy-progress-fill{height:100%;background:var(--ink);transition:width .16s ease-out}.busy-progress-pct{font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.08em;color:var(--ink-dim);align-self:flex-end}.busy-hint{font-family:Geist Mono,monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);text-align:center;margin-top:4px}.busy-cancel{margin-top:6px;background:transparent;border:1px solid var(--rule);color:var(--ink-dim);padding:8px 20px;font-family:Geist Mono,monospace;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:6px;transition:border-color .12s,color .12s}.busy-cancel:hover{border-color:var(--ink);color:var(--ink)}
