:root{--bg:var(--tg-theme-secondary-bg-color,#f2f3f7);--section:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,#fff));--text:var(--tg-theme-text-color,#111318);--hint:var(--tg-theme-hint-color,#8a8f98);--subtitle:var(--tg-theme-subtitle-text-color,var(--hint));--link:var(--tg-theme-link-color,#2f6fe4);--accent:var(--tg-theme-accent-text-color,var(--link));--header-text:var(--tg-theme-section-header-text-color,var(--hint));--destructive:var(--tg-theme-destructive-text-color,#e5484d);--separator:var(--tg-theme-section-separator-color,#7f7f7f29);--bottom-bar:var(--tg-theme-bottom-bar-bg-color,var(--section));--soft:#2f6fe41a;--soft-strong:#2f6fe429;--brand-1:#2f6fe4;--brand-2:#6246e0;--brand-3:#a53fcf;--brand-grad:linear-gradient(135deg, var(--brand-1) 0%, var(--brand-2) 60%, var(--brand-3) 125%);--on-brand:#fff;--c-blue:#2a78d6;--c-orange:#eb6834;--c-aqua:#1baf7a;--c-yellow:#eda100;--c-magenta:#e87ba4;--c-green:#008300;--c-violet:#4a3aa7;--c-red:#e34948;--c-gray:#9a9ea6;--tint:.14;--success:#1a9b55;--warning:#c98500;--shadow-1:0 1px 2px #1018280a, 0 3px 10px #1018280d;--shadow-2:0 6px 16px #10182814, 0 16px 40px #10182814;--shadow-brand:0 10px 28px #5040e052;--radius-s:12px;--radius:16px;--radius-l:22px;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-spring:cubic-bezier(.34, 1.45, .64, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--d1:.12s;--d2:.2s;--d3:.3s;--d4:.52s;--tabbar-h:62px;--safe-bottom:env(safe-area-inset-bottom,0px);--vh:var(--tg-viewport-stable-height,100dvh);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--c-blue:#3987e5;--c-orange:#d95926;--c-aqua:#199e70;--c-yellow:#c98500;--c-magenta:#d55181;--c-green:#008300;--c-violet:#9085e9;--c-red:#e66767;--c-gray:#7d8189;--tint:.22;--soft:#5a8cf024;--soft-strong:#5a8cf038;--success:#3ec27a;--shadow-1:none;--shadow-2:0 10px 30px #00000073;--shadow-brand:0 10px 28px #3c28c859;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark]:not([data-tg]){--bg:#0e0f12;--section:#1a1b1f;--text:#f2f2f4;--hint:#8b8f97;--separator:#ffffff14}.tone-blue{--c:var(--c-blue);--c-bg:rgba(42, 120, 214, var(--tint))}.tone-orange{--c:var(--c-orange);--c-bg:rgba(235, 104, 52, var(--tint))}.tone-aqua{--c:var(--c-aqua);--c-bg:rgba(27, 175, 122, var(--tint))}.tone-yellow{--c:var(--c-yellow);--c-bg:rgba(237, 161, 0, var(--tint))}.tone-magenta{--c:var(--c-magenta);--c-bg:rgba(232, 123, 164, var(--tint))}.tone-green{--c:var(--c-green);--c-bg:rgba(0, 131, 0, var(--tint))}.tone-violet{--c:var(--c-violet);--c-bg:rgba(110, 96, 210, var(--tint))}.tone-red{--c:var(--c-red);--c-bg:rgba(227, 73, 72, var(--tint))}.tone-gray{--c:var(--c-gray);--c-bg:rgba(140, 145, 155, var(--tint))}.tone-brand{--c:var(--brand-2);--c-bg:rgba(98, 70, 224, var(--tint))}[data-theme=dark] .tone-brand{--c:#9c88ff}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{background:var(--bg);min-height:100%;color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.4}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--brand-1);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.muted{color:var(--hint)}.danger{color:var(--destructive)}@keyframes slide-in-fwd{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:none}}@keyframes slide-in-back{0%{opacity:0;transform:translate(-28px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:none}}@keyframes sheet-down{0%{transform:none}to{transform:translateY(100%)}}@keyframes fade-out{to{opacity:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes ring-out{0%{opacity:.55;transform:scale(.8)}to{opacity:0;transform:scale(1.8)}}@keyframes grow-up{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes spin{to{transform:rotate(360deg)}}.anim-fwd{animation:slide-in-fwd var(--d3) var(--ease-out) backwards}.anim-back{animation:slide-in-back var(--d3) var(--ease-out) backwards}.anim-fade{animation:fade-in var(--d2) var(--ease-out) backwards}.stagger>*{animation:fade-up var(--d3) var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 30ms)}.pressable{transition:transform var(--d1) var(--ease-out), background-color var(--d2) var(--ease-out), box-shadow var(--d2) var(--ease-out)}.pressable:active{transform:scale(.97)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.app{min-height:var(--vh);padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 8px)}.tab-pane{display:none}.tab-pane.active{animation:fade-in var(--d2) var(--ease-out);display:block}.screen{max-width:720px;margin:0 auto;padding:14px 16px 24px}.screen-header{align-items:center;gap:10px;min-height:40px;margin-bottom:12px;display:flex}.screen-header h1{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:24px;font-weight:750;overflow:hidden}.back-link{color:var(--link);align-items:center;gap:2px;padding:8px 8px 8px 0;font-size:15px;display:inline-flex}.header-chip{color:var(--subtitle);background:var(--section);box-shadow:var(--shadow-1);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:inline-flex}.tabbar{z-index:20;padding:6px 8px calc(6px + var(--safe-bottom));background:var(--bottom-bar);border-top:1px solid var(--separator);display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{height:50px;color:var(--hint);transition:color var(--d2) var(--ease-out);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;display:flex;position:relative}.tabbar .tab-icon{width:52px;height:28px;transition:background-color var(--d2) var(--ease-out), transform var(--d2) var(--ease-spring);border-radius:999px;place-items:center;display:grid}.tabbar button.active{color:var(--brand-2)}[data-theme=dark] .tabbar button.active{color:#a898ff}.tabbar button.active .tab-icon{background:var(--soft-strong);animation:pop-in var(--d3) var(--ease-spring)}.section{margin-bottom:18px}.section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--header-text);justify-content:space-between;align-items:center;margin:0 4px 8px;font-size:13px;font-weight:700;display:flex}.card,.section-body{background:var(--section);border-radius:var(--radius);box-shadow:var(--shadow-1);overflow:hidden}.card{padding:16px}.section-footer{color:var(--hint);margin:8px 4px 0;font-size:13px}.row{text-align:left;background:0 0;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;display:flex;position:relative}.row+.row:before,.row+.field:before,.field+.row:before,.field+.field:before,.field+.switch-row:before,.switch-row+.switch-row:before,.switch-row+.field:before,.row+.switch-row:before,.switch-row+.row:before{content:"";border-top:1px solid var(--separator);position:absolute;top:0;left:14px;right:0}.row.with-icon+.row.with-icon:before{left:66px}button.row{transition:background-color var(--d1) var(--ease-out)}button.row:active{background:var(--soft)}.row-main{flex:1;min-width:0}.row-title{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px;font-weight:550;display:flex}.row-sub{color:var(--subtitle);overflow-wrap:anywhere;align-items:center;gap:4px;margin-top:2px;font-size:13px;display:flex}.row-right{text-align:right;white-space:nowrap;flex-shrink:0}.row-right .row-sub{justify-content:flex-end}.amount{font-variant-numeric:tabular-nums;font-weight:700}.chevron{color:var(--hint);flex-shrink:0}.strike .row-title,.strike .amount{opacity:.6;text-decoration:line-through}.icon-tile{color:var(--c,var(--brand-2));background:var(--c-bg,var(--soft));flex-shrink:0;place-items:center;display:inline-grid}.avatar{color:var(--c);background:var(--c-bg);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:inline-grid}.badge{color:var(--text);background:var(--c-bg,var(--soft));white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:650;display:inline-flex}.badge .dot{background:var(--c);border-radius:50%;width:7px;height:7px}.swatch{background:var(--c);border-radius:3px;flex-shrink:0;width:10px;height:10px;display:inline-block}.field{padding:10px 14px 12px;display:block;position:relative}.field-label{color:var(--hint);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.input,.select,.textarea{background:0 0;border:none;outline:none;width:100%;padding:4px 0;font-size:16px}.select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--hint) 50%), linear-gradient(135deg, var(--hint) 50%, transparent 50%);background-position:calc(100% - 10px) 55%,calc(100% - 5px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:20px}.select option{color:#111}.textarea{resize:none;min-height:60px}.switch-row{cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:10px 14px;display:flex;position:relative}.switch-row>span:first-child{flex:1;align-items:center;gap:10px;display:flex}.switch{flex-shrink:0;width:50px;height:30px;position:relative}.switch input{opacity:0;cursor:pointer;margin:0;position:absolute;top:0;bottom:0;left:0;right:0}.switch .track{background:var(--separator);transition:background-color var(--d2) var(--ease-out);border-radius:999px;position:absolute;top:0;bottom:0;left:0;right:0}.switch .thumb{width:24px;height:24px;transition:transform var(--d3) var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0003}.switch input:checked~.track{background:var(--brand-grad)}.switch input:checked~.thumb{transform:translate(20px)}.switch input:disabled~.track,.switch input:disabled~.thumb{opacity:.5}.switch input:focus-visible~.track{outline:2px solid var(--brand-1);outline-offset:2px}.btn{border-radius:var(--radius);background:var(--brand-grad);width:100%;min-height:52px;color:var(--on-brand);box-shadow:var(--shadow-brand);transition:transform var(--d1) var(--ease-out), opacity var(--d2) var(--ease-out), box-shadow var(--d2);justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-size:16px;font-weight:700;display:flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{box-shadow:none}.btn.secondary{background:var(--soft);color:var(--accent);box-shadow:none}.btn.destructive{color:var(--destructive);box-shadow:none;background:#e5484d1f}.btn+.btn{margin-top:10px}.btn-row{gap:10px;display:flex}.btn-row .btn+.btn{margin-top:0}.icon-btn{width:40px;height:40px;color:var(--accent);background:var(--soft);transition:transform var(--d1) var(--ease-out), background-color var(--d2);border-radius:12px;flex-shrink:0;place-items:center;display:inline-grid}.icon-btn:active:not(:disabled){transform:scale(.92)}.icon-btn.brand{background:var(--brand-grad);color:#fff;box-shadow:var(--shadow-brand)}.link-btn{color:var(--link);padding:6px 0;font-size:15px;font-weight:600}.bottom-actions{bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 8px);z-index:5;padding:12px 0 4px;position:sticky}.bottom-actions:before{content:"";background:linear-gradient(to bottom, transparent, var(--bg) 40%);z-index:-1;position:absolute;top:-12px;bottom:-16px;left:-16px;right:-16px}.chips{scrollbar-width:none;gap:8px;margin:0 -2px;padding:2px 2px 4px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{background:var(--section);white-space:nowrap;min-height:38px;box-shadow:var(--shadow-1);transition:background-color var(--d2) var(--ease-out), color var(--d2) var(--ease-out), transform var(--d1);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.chip:active{transform:scale(.96)}.chip.active{background:var(--brand-grad);color:#fff;box-shadow:var(--shadow-brand)}.chip .count{background:#ffffff40;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:12px;display:inline-grid}.segmented{background:var(--section);border-radius:var(--radius);box-shadow:var(--shadow-1);grid-auto-columns:1fr;grid-auto-flow:column;padding:4px;display:grid;position:relative}.segmented .indicator{width:calc((100% - 8px) / var(--n));background:var(--brand-grad);box-shadow:var(--shadow-brand);transform:translateX(calc(var(--idx) * 100%));transition:transform var(--d3) var(--ease-spring);border-radius:12px;position:absolute;top:4px;bottom:4px;left:4px}.segmented button{z-index:1;min-height:44px;transition:color var(--d2) var(--ease-out);border-radius:12px;font-weight:700;position:relative}.segmented button.active{color:#fff}.hero{border-radius:var(--radius-l);color:var(--on-brand);background:var(--brand-grad);box-shadow:var(--shadow-brand);isolation:isolate;padding:18px;position:relative;overflow:hidden}.hero:before,.hero:after{content:"";z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.hero:before{background:radial-gradient(circle,#ffffff47,#0000 70%);width:180px;height:180px;top:-70px;right:-50px}.hero:after{background:radial-gradient(circle,#ffffff2e,#0000 70%);width:140px;height:140px;bottom:-70px;left:-40px}.hero-label{opacity:.88;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.hero-value{letter-spacing:-.02em;overflow-wrap:anywhere;margin:4px 0 2px;font-size:34px;font-weight:800}.hero-row{gap:10px;margin-top:12px;display:flex}.hero-stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff29;border-radius:14px;flex:1;min-width:0;padding:10px 12px}.hero-stat .v{white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:750;overflow:hidden}.hero-stat .l{opacity:.85;font-size:12px}.hero-list{background:#ffffff24;border-radius:14px;margin-top:12px;overflow:hidden}.hero-list>div{align-items:center;gap:10px;padding:9px 12px;display:flex}.hero-list>div+div{border-top:1px solid #ffffff24}.hero-list .glyph{background:#fff3;border-radius:9px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:grid}.hero-list .main{flex:1;min-width:0;font-weight:750}.hero-list .side{opacity:.88;white-space:nowrap;font-size:13px}.hero.compact{margin-bottom:14px;padding:14px 16px}.hero.compact .hero-row{margin-top:0}.entry{height:calc(var(--vh) - var(--tabbar-h) - var(--safe-bottom) - 8px);flex-direction:column;padding-bottom:0;display:flex}.picker{flex:1;gap:12px;min-height:260px;display:flex}.picker-col{overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;gap:8px;padding:2px 2px 16px;display:flex;overflow-y:auto}.picker-col::-webkit-scrollbar{display:none}.picker-sources{flex-shrink:0;width:36%;min-width:118px;max-width:210px}.picker-articles{flex:1;min-width:0}.picker-label{text-transform:uppercase;letter-spacing:.05em;color:var(--header-text);margin:0 4px 2px;font-size:12px;font-weight:700}.source-btn{text-align:left;border-radius:var(--radius);background:var(--section);overflow-wrap:anywhere;box-shadow:var(--shadow-1);transition:transform var(--d1) var(--ease-out), background-color var(--d2) var(--ease-out), box-shadow var(--d2) var(--ease-out);flex-direction:column;align-items:flex-start;gap:8px;padding:12px;font-size:15px;font-weight:650;display:flex;position:relative}.source-btn:active{transform:scale(.97)}.source-btn.active{background:var(--c-bg);box-shadow:inset 0 0 0 2px var(--c)}.source-btn .check{color:var(--c);animation:pop-in var(--d3) var(--ease-spring);position:absolute;top:10px;right:10px}.tiles{grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:8px;display:grid}.tile{border-radius:var(--radius);background:var(--section);box-shadow:var(--shadow-1);text-align:center;overflow-wrap:anywhere;min-height:104px;transition:transform var(--d1) var(--ease-out), box-shadow var(--d2);flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;padding:14px 8px 12px;font-size:13.5px;font-weight:600;line-height:1.25;display:flex}.tile:active{transform:scale(.95)}.add-btn{border-radius:var(--radius);color:var(--accent);min-height:64px;transition:transform var(--d1), background-color var(--d2);border:1.5px dashed #6246e073;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:13px;font-weight:650;display:flex}.add-btn:active{background:var(--soft);transform:scale(.96)}.tiles .add-btn{min-height:104px}.picker-empty{text-align:center;color:var(--hint);flex-direction:column;align-items:center;gap:10px;padding:28px 12px;font-size:14px;display:flex}.crumbs{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.crumb{background:var(--section);box-shadow:var(--shadow-1);border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:14px;font-weight:650;display:inline-flex}.amount-box{background:var(--section);border-radius:var(--radius-l);text-align:center;box-shadow:var(--shadow-1);margin-bottom:14px;padding:18px 16px 16px}.amount-line{justify-content:center;align-items:baseline;gap:8px;display:flex}.amount-input{text-align:right;letter-spacing:-.02em;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;width:100%;max-width:260px;padding:0;font-size:44px;font-weight:800}.amount-input::placeholder{color:var(--separator)}.amount-currency{background:var(--brand-grad);color:#0000;text-align:left;-webkit-background-clip:text;background-clip:text;min-width:28px;font-size:30px;font-weight:800}.amount-hint{color:var(--hint);margin-top:6px;font-size:13px}.receipt{background:var(--section);border-radius:var(--radius-l);box-shadow:var(--shadow-2);margin-bottom:14px;overflow:hidden}.receipt-head{text-align:center;border-bottom:1px dashed var(--separator);flex-direction:column;align-items:center;gap:8px;padding:22px 16px 16px;display:flex}.receipt-head .amount-big{letter-spacing:-.02em;font-size:34px;font-weight:800}.receipt-head .sub{color:var(--hint);font-size:14px}.receipt-head .icon-tile{animation:pop-in var(--d4) var(--ease-spring)}.center-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:58vh;padding:24px;display:flex}.center-state h2{margin:10px 0 0;font-size:22px;font-weight:750}.center-state p{color:var(--hint);max-width:320px;margin:0}.center-state .btn{max-width:300px;margin-top:18px}.state-icon{width:76px;height:76px;animation:pop-in var(--d4) var(--ease-spring);border-radius:26px;place-items:center;display:grid}.success-mark{place-items:center;width:96px;height:96px;display:grid;position:relative}.success-mark .disc{animation:pop-in var(--d4) var(--ease-spring) both;background:linear-gradient(135deg,#22c37a,#12a0a0);border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0;box-shadow:0 12px 30px #12a07866}.success-mark .ring{animation:ring-out .9s var(--ease-out) .25s both;border:3px solid #22c37a;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0}.success-mark svg{width:48px;height:48px;position:relative}.success-mark path{stroke-dasharray:48;stroke-dashoffset:48px;animation:draw .42s var(--ease-out) .26s forwards}.success-amount{animation:fade-up var(--d3) var(--ease-out) .2s both;font-size:28px;font-weight:800}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg, var(--section) 0%, var(--soft) 50%, var(--section) 100%);background-size:200% 100%;animation:1.4s linear infinite shimmer}.skeleton-list{flex-direction:column;gap:8px;display:flex}.spinner{border:3px solid var(--soft-strong);border-top-color:var(--brand-2);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.spinner.small{border-width:2px;width:18px;height:18px}.btn .spinner{border-color:#fff #ffffff59 #ffffff59}.error-box{color:var(--destructive);border-radius:var(--radius);animation:fade-up var(--d2) var(--ease-out);background:#e5484d1a;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:14px;font-weight:550;display:flex}.note{background:var(--soft);border-radius:var(--radius);align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:14px;display:flex}.note svg{color:var(--accent);flex-shrink:0;margin-top:1px}.toast{left:50%;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 18px);color:#fff;z-index:60;max-width:calc(100% - 32px);box-shadow:var(--shadow-2);animation:fade-up var(--d3) var(--ease-spring);background:#18181cf0;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:600;display:flex;position:fixed;transform:translate(-50%)}.sheet-backdrop{z-index:40;animation:fade-in var(--d2) var(--ease-out);background:#080a1473;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--bg);width:100%;max-width:560px;padding:8px 16px calc(18px + var(--safe-bottom));max-height:90vh;animation:sheet-up var(--d3) var(--ease-out);box-shadow:var(--shadow-2);border-radius:24px 24px 0 0;overflow-y:auto}.sheet-backdrop.closing{animation:fade-out var(--d2) var(--ease-in) forwards}.sheet-backdrop.closing .sheet{animation:sheet-down var(--d2) var(--ease-in) forwards}.sheet-grip{background:var(--separator);border-radius:3px;width:40px;height:5px;margin:4px auto 12px}.sheet h2{margin:0 0 14px;font-size:20px;font-weight:750}.sheet-preview{background:var(--section);border-radius:var(--radius);box-shadow:var(--shadow-1);align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;font-weight:650;display:flex}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px;max-height:212px;padding:12px;display:grid;overflow-y:auto}.icon-grid button{height:48px;color:var(--text);transition:background-color var(--d2), transform var(--d1);border-radius:14px;place-items:center;display:grid}.icon-grid button:active{transform:scale(.9)}.icon-grid button.active{background:var(--c-bg);color:var(--c);box-shadow:inset 0 0 0 2px var(--c)}.icon-grid .auto{color:var(--accent);font-size:12px;font-weight:700}.color-row{flex-wrap:wrap;gap:10px;padding:12px 14px;display:flex}.color-row button{background:var(--c);width:36px;height:36px;transition:transform var(--d2) var(--ease-spring);border-radius:50%;position:relative}.color-row button.auto{background:conic-gradient(var(--c-blue), var(--c-aqua), var(--c-yellow), var(--c-orange), var(--c-magenta), var(--c-violet), var(--c-blue))}.color-row button.active{box-shadow:0 0 0 3px var(--section), 0 0 0 5px var(--c,var(--brand-2));transform:scale(1.12)}.color-row button.auto.active{box-shadow:0 0 0 3px var(--section), 0 0 0 5px var(--brand-2)}.donut-wrap{justify-content:center;padding:6px 0 14px;display:flex}.donut{width:200px;height:200px;position:relative}.donut svg{width:100%;height:100%;transform:rotate(-90deg)}.donut circle.seg{fill:none;stroke-width:26px;cursor:pointer;transition:stroke-dashoffset .7s var(--ease-out), stroke-width var(--d2) var(--ease-out), opacity var(--d2)}.donut circle.seg.dim{opacity:.35}.donut circle.seg.sel{stroke-width:32px}.donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:34px;bottom:34px;left:34px;right:34px}.donut-center .v{white-space:nowrap;letter-spacing:-.01em;font-size:19px;font-weight:800}.donut-center .l{color:var(--hint);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:12px;overflow:hidden}.legend button.row.sel{background:var(--soft)}.bars{height:160px;margin:8px 0 0;padding-left:44px;position:relative}.bars-grid{pointer-events:none;position:absolute;top:0;bottom:0;left:44px;right:0}.bars-grid .gl{border-top:1px solid var(--separator);position:absolute;left:0;right:0}.bars-grid .gl span{color:var(--hint);white-space:nowrap;font-size:11px;position:absolute;top:-8px;right:calc(100% + 6px)}.bars-plot{align-items:flex-end;gap:2px;display:flex;position:absolute;top:0;bottom:0;left:44px;right:0}.bar{cursor:pointer;flex:1;justify-content:center;align-items:flex-end;height:100%;display:flex;position:relative}.bar span{background:var(--brand-grad);transform-origin:bottom;width:100%;max-width:24px;animation:grow-up .6s var(--ease-out) both;animation-delay:calc(var(--i,0) * 12ms);transition:opacity var(--d2);border-radius:4px 4px 0 0;display:block}.bars.has-sel .bar:not(.sel) span{opacity:.35}.bars-x{color:var(--hint);justify-content:space-between;margin:6px 0 0 44px;font-size:11px;display:flex}.bar-tip{border-radius:var(--radius-s);background:var(--soft);animation:fade-up var(--d2) var(--ease-out);justify-content:space-between;align-items:baseline;gap:12px;margin-top:10px;padding:10px 12px;font-size:14px;display:flex}.share-bar{background:var(--separator);border-radius:3px;height:6px;margin-top:6px;overflow:hidden}.share-bar>div{background:var(--c,var(--brand-2));transform-origin:0;height:100%;animation:grow-x .7s var(--ease-out) both;border-radius:3px}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.chart-hint{color:var(--hint);text-align:center;margin-top:8px;font-size:12px}.date-range{gap:8px;margin-top:10px;display:flex}.date-range label{background:var(--section);border-radius:var(--radius-s);box-shadow:var(--shadow-1);flex:1;padding:6px 12px}.date-range input{background:0 0;border:none;outline:none;width:100%;padding:2px 0}.group-head{color:var(--header-text);justify-content:space-between;align-items:baseline;margin:18px 4px 8px;font-size:13px;font-weight:700;display:flex}.group-head:first-child{margin-top:4px}.invite-link{word-break:break-all;-webkit-user-select:all;user-select:all;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.timeline{padding:6px 14px 6px 36px;position:relative}.timeline:before{content:"";background:var(--separator);width:2px;position:absolute;top:18px;bottom:18px;left:21px}.tl-item{padding:10px 0;position:relative}.tl-item .tl-dot{background:var(--c);width:12px;height:12px;box-shadow:0 0 0 3px var(--section);border-radius:50%;position:absolute;top:14px;left:-21px}.tl-change{color:var(--subtitle);overflow-wrap:anywhere;margin-top:2px;font-size:13px}.dev-bar{color:#664d03;text-align:center;background:#fff3cd;padding:4px 16px;font-size:12px}.attach-thumb{background:var(--soft);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.project-switch{border-radius:var(--radius);background:var(--section);width:100%;min-height:48px;box-shadow:var(--shadow-1);text-align:left;transition:transform var(--d1) var(--ease-out), background-color var(--d2) var(--ease-out);align-items:center;gap:10px;margin:0 0 12px;padding:8px 14px 8px 8px;font-weight:700;display:flex}.project-switch:active:not(:disabled){transform:scale(.98)}.project-switch:disabled{opacity:1;cursor:default}.project-switch .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-switch>svg{color:var(--hint);flex-shrink:0}.project-tiles{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.project-tile{justify-content:center;min-height:136px;padding:18px 10px 14px;font-size:15px;font-weight:700}.project-tile.active{background:var(--c-bg);box-shadow:inset 0 0 0 2px var(--c)}.project-tiles .add-btn{min-height:136px}.tile-sub{color:var(--hint);font-size:12px;font-weight:500}.chip .icon-tile{margin-left:-6px}.chip.active .icon-tile{color:#fff;background:#ffffff40}
