@font-face{font-family:Golos;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/golos-text-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/golos-text-400-latin.woff2) format("woff2")}@font-face{font-family:Golos;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/golos-text-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/golos-text-500-latin.woff2) format("woff2")}@font-face{font-family:Golos;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/golos-text-600-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos;font-weight:600;font-style:normal;font-display:swap;src:url(/fonts/golos-text-600-latin.woff2) format("woff2")}@font-face{font-family:Golos;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/golos-text-700-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/golos-text-700-latin.woff2) format("woff2")}@font-face{font-family:Golos;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/golos-text-800-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Golos;font-weight:800;font-style:normal;font-display:swap;src:url(/fonts/golos-text-800-latin.woff2) format("woff2")}@font-face{font-family:Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/jetbrains-mono-400-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Mono;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/jetbrains-mono-400-latin.woff2) format("woff2")}@font-face{font-family:Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/jetbrains-mono-500-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Mono;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/jetbrains-mono-500-latin.woff2) format("woff2")}:root{--bg: oklch(.16 .006 75);--bg-raise: oklch(.205 .007 75);--bg-sink: oklch(.135 .006 75);--ink: oklch(.965 .004 85);--ink-2: oklch(.775 .01 80);--ink-3: oklch(.645 .011 80);--line: oklch(.3 .008 75);--accent: oklch(.76 .14 72);--accent-ink: oklch(.2 .03 60);--accent-soft: oklch(.76 .14 72 / .14);--danger: oklch(.645 .185 25);--danger-soft: oklch(.645 .185 25 / .15);--ok: oklch(.72 .15 152);--r-card: 14px;--r-ctl: 10px;--r-pill: 999px;--pad: 16px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tab-h: 62px;color-scheme:dark}:root[data-theme=light]{--bg: oklch(.985 .004 85);--bg-raise: oklch(1 0 0);--bg-sink: oklch(.955 .005 85);--ink: oklch(.215 .01 70);--ink-2: oklch(.44 .014 75);--ink-3: oklch(.53 .014 75);--line: oklch(.895 .006 80);--accent: oklch(.63 .145 62);--accent-ink: oklch(.99 .01 85);--accent-soft: oklch(.63 .145 62 / .12);--danger: oklch(.545 .195 27);--danger-soft: oklch(.545 .195 27 / .1);--ok: oklch(.55 .14 152);color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Golos,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.45;overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}::-webkit-scrollbar-track{background:transparent}input,textarea,select,button{font:inherit;color:inherit;caret-color:var(--accent)}.num{font-family:Mono,ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em;word-spacing:-.2em}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{min-height:100%;display:flex;flex-direction:column}.stage{flex:1;position:relative;padding:calc(var(--safe-top) + 8px) var(--pad) calc(var(--tab-h) + var(--safe-bottom) + 20px)}.screen{will-change:transform,opacity}.head{padding:8px 0 18px}.head__row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.head__title{margin:0;font-size:30px;font-weight:700;letter-spacing:-.03em;line-height:1.1}.head__sub{margin:6px 0 0;color:var(--ink-2);font-size:14.5px}.section{margin-top:26px}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.section__title{margin:0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--r-ctl);cursor:pointer;font-weight:600;letter-spacing:-.01em;white-space:nowrap;transition:background-color .18s ease,color .18s ease,opacity .18s ease}.btn--md{height:46px;padding:0 18px;font-size:15.5px}.btn--sm{height:34px;padding:0 12px;font-size:13.5px;border-radius:8px}.btn--full{width:100%}.btn:disabled{opacity:.45;cursor:default}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--ghost{background:color-mix(in oklab,var(--ink) 7%,transparent);color:var(--ink)}.btn--quiet{background:transparent;color:var(--ink-2);padding:0 8px}.btn--danger{background:var(--danger-soft);color:var(--danger)}.spinner{display:inline-block;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--bg-raise);border-radius:var(--r-card);border:1px solid color-mix(in oklab,var(--ink) 8%,transparent);padding:14px}.pay{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;background:var(--bg-raise);border:1px solid color-mix(in oklab,var(--ink) 8%,transparent);border-radius:var(--r-card);text-align:left;cursor:pointer}.pay+.pay{margin-top:8px}.pay__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--ink-3)}.pay--overdue .pay__dot{background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}.pay--today .pay__dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.pay--soon .pay__dot{background:color-mix(in oklab,var(--accent) 70%,var(--ink-3))}.pay--paused{opacity:.58}.pay__main{flex:1;min-width:0}.pay__name{font-weight:600;font-size:15.5px;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pay__meta{margin-top:3px;font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}.pay__meta>*{flex-shrink:0}.pay__meta>b{overflow:hidden;text-overflow:ellipsis}.pay__meta b{color:var(--ink-2);font-weight:500}.pay--overdue .pay__meta b{color:var(--danger)}.pay--today .pay__meta b{color:var(--accent)}.pay__right{text-align:right;flex-shrink:0}.pay__amount{display:block;font-size:15.5px;font-weight:500}.pay__period{display:block;font-size:12px;color:var(--ink-3);margin-top:2px}.total{padding:20px 18px;background:var(--bg-raise);border-radius:var(--r-card);border:1px solid color-mix(in oklab,var(--ink) 8%,transparent)}.total__label{font-size:12.5px;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase}.total__value{margin-top:8px;font-size:38px;font-weight:600;letter-spacing:-.035em;line-height:1;display:flex;align-items:baseline;gap:2px}.hero-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.total__unit{font-size:22px;color:var(--ink-2);margin-left:4px}.total__row{margin-top:14px;display:flex;gap:16px;flex-wrap:wrap}.total__chip{font-size:13px;color:var(--ink-2)}.total__chip b{color:var(--ink);font-weight:500}.total__chip--hint{border:0;background:transparent;padding:0;cursor:pointer;color:var(--accent);font:inherit;font-size:13px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in oklab,var(--accent) 45%,transparent)}.field{display:block;margin-bottom:16px}.field__label{display:block;font-size:13px;font-weight:500;color:var(--ink-2);margin-bottom:7px}.field__hint{display:block;font-size:12.5px;color:var(--ink-3);margin-top:6px}.field__error{display:block;font-size:12.5px;color:var(--danger);margin-top:6px}.input{width:100%;height:48px;padding:0 14px;background:var(--bg-raise);color:var(--ink);border:1px solid color-mix(in oklab,var(--ink) 12%,transparent);border-radius:var(--r-ctl);outline:none;transition:border-color .18s ease,background-color .18s ease}.input:focus{border-color:var(--accent);background:var(--bg-sink)}.input::placeholder{color:var(--ink-3)}.input--area{height:auto;padding:12px 14px;resize:vertical;line-height:1.45}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid color-mix(in oklab,var(--ink) 12%,transparent);background:transparent;color:var(--ink-2);height:34px;padding:0 12px;border-radius:var(--r-pill);font-size:13.5px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.chip--on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.chip__emoji{font-size:14px}.toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;background:transparent;border:0;padding:13px 0;cursor:pointer;text-align:left}.toggle+.toggle{border-top:1px solid color-mix(in oklab,var(--ink) 8%,transparent)}.toggle__label{display:block;font-size:15px;font-weight:500}.toggle__hint{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px}.switch{width:46px;height:28px;border-radius:999px;background:color-mix(in oklab,var(--ink) 14%,transparent);flex-shrink:0;position:relative;transition:background-color .2s ease}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink);transition:transform .22s cubic-bezier(.32,.72,0,1),background-color .2s ease}.switch--on{background:var(--accent)}.switch--on i{transform:translate(18px);background:var(--accent-ink)}.seg{position:relative;display:flex;gap:2px;padding:3px;background:color-mix(in oklab,var(--ink) 6%,transparent);border-radius:12px}.seg__bar{position:absolute;top:3px;bottom:3px;left:0;border-radius:9px;background:var(--bg-raise);box-shadow:0 1px 3px #0000002e}.seg__btn{position:relative;flex:1;height:34px;border:0;background:transparent;color:var(--ink-2);font-size:13.5px;font-weight:500;cursor:pointer;border-radius:9px}.seg__btn--on{color:var(--ink);font-weight:600}.sheet{position:fixed;inset:0;z-index:60}.sheet__back{position:absolute;inset:0;background:#0000008c;backdrop-filter:blur(2px)}.sheet__panel{position:absolute;left:0;right:0;bottom:0;max-height:92%;display:flex;flex-direction:column;background:var(--bg);border-radius:20px 20px 0 0;box-shadow:0 -12px 40px #00000059;padding-bottom:var(--safe-bottom)}.sheet__grip{padding:10px 0 4px;display:flex;justify-content:center;cursor:grab;touch-action:none}.sheet__grip span{width:38px;height:4px;border-radius:999px;background:var(--ink-3);opacity:.5}.sheet__title{padding:6px 20px 12px;font-size:19px;font-weight:700;letter-spacing:-.02em}.sheet__body{padding:0 20px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.sheet__footer{padding:12px 20px 16px;border-top:1px solid color-mix(in oklab,var(--ink) 8%,transparent);display:flex;gap:8px}.toast{position:fixed;left:50%;transform:translate(-50%);top:calc(var(--safe-top) + 10px);z-index:90;display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:var(--r-pill);background:var(--bg-raise);color:var(--ink);font-size:14px;font-weight:500;border:1px solid color-mix(in oklab,var(--ink) 10%,transparent);box-shadow:0 8px 28px #0000004d;max-width:calc(100% - 32px)}.toast--ok{color:var(--ok)}.toast--error{color:var(--danger)}.empty{text-align:center;padding:46px 20px}.empty__badge{width:58px;height:58px;margin:0 auto 16px;border-radius:18px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.empty__title{font-size:18px;font-weight:600;letter-spacing:-.02em}.empty__text{margin:8px auto 18px;max-width:30ch;color:var(--ink-2);font-size:14.5px;line-height:1.5}.tabs{position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(var(--tab-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:color-mix(in oklab,var(--bg) 88%,transparent);backdrop-filter:blur(16px) saturate(160%);border-top:1px solid color-mix(in oklab,var(--ink) 8%,transparent)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:var(--ink-3);cursor:pointer;font-size:10.5px;font-weight:500;letter-spacing:-.005em;position:relative}.tab--on{color:var(--accent)}.tab__glyph{position:relative}.bar{display:flex;align-items:center;gap:12px;padding:11px 0}.bar+.bar{border-top:1px solid color-mix(in oklab,var(--ink) 7%,transparent)}.bar__label{flex:1;min-width:0;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar__value{flex-shrink:0}.bar__count{font-size:12px;color:var(--ink-3)}.bar__value{font-size:14.5px;font-weight:500}.comp{display:flex;gap:2px;height:10px;margin:2px 0 16px}.comp__seg{background:var(--accent);border-radius:2px;min-width:3px}.comp__seg:first-child{border-radius:5px 2px 2px 5px}.comp__seg:last-child{border-radius:2px 5px 5px 2px}.brk{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;column-gap:12px;padding:10px 0}.brk+.brk{border-top:1px solid color-mix(in oklab,var(--ink) 7%,transparent)}.brk__label{min-width:0;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brk__share{font-size:12.5px;color:var(--ink-3);font-variant-numeric:tabular-nums}.brk__value{font-size:14.5px;font-weight:500}.cal__head{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px}.cal__head span{text-align:center;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-3)}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal__cell{aspect-ratio:1;border-radius:8px;display:grid;place-items:center;font-size:12px;color:var(--ink-3);background:color-mix(in oklab,var(--ink) 4%,transparent)}.cal__cell--has{background:var(--accent-soft);color:var(--accent);font-weight:600}.cal__cell--today{outline:1.5px solid var(--accent)}.cal__cell--past{opacity:.45}.rank{display:flex;align-items:center;gap:12px;padding:12px 0}.rank+.rank{border-top:1px solid color-mix(in oklab,var(--ink) 7%,transparent)}.rank__place{width:26px;text-align:center;font-size:15px;font-weight:700;color:var(--ink-3)}.rank__place--1{color:var(--accent)}.rank__name{flex:1;font-size:15px}.rank__name--you{font-weight:700}.rank__subs{font-size:15px;font-weight:500}.rowlink{display:flex;align-items:center;gap:12px;width:100%;padding:14px 0;background:transparent;border:0;cursor:pointer;text-align:left;color:var(--ink)}.rowlink+.rowlink{border-top:1px solid color-mix(in oklab,var(--ink) 8%,transparent)}.rowlink__text{flex:1;min-width:0}.rowlink__title{display:block;font-size:15px;font-weight:500}.rowlink__sub{display:block;font-size:12.5px;color:var(--ink-3);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rowlink__chev{color:var(--ink-3)}.pill{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border-radius:var(--r-pill);font-size:12.5px;font-weight:500;background:color-mix(in oklab,var(--ink) 7%,transparent);color:var(--ink-2)}.pill--accent{background:var(--accent-soft);color:var(--accent)}.pill--danger{background:var(--danger-soft);color:var(--danger)}.stack{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:8px}.grow{flex:1}.muted{color:var(--ink-2)}.faint{color:var(--ink-3);font-size:13px}
