@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/manrope-cyrillic-400-normal-BMzJvInZ.woff2) format("woff2"),url(/app/assets/manrope-cyrillic-400-normal-Dvx59UGC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url(/app/assets/manrope-latin-400-normal-PaqtzbVb.woff2) format("woff2"),url(/app/assets/manrope-latin-400-normal-8tf8FM3T.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/manrope-cyrillic-500-normal-B1OEZity.woff2) format("woff2"),url(/app/assets/manrope-cyrillic-500-normal-CNwnNrRC.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/app/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/app/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/manrope-cyrillic-600-normal-DvRl3Mj-.woff2) format("woff2"),url(/app/assets/manrope-cyrillic-600-normal-It4mZcQk.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/app/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/app/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/manrope-cyrillic-700-normal-Dw_fZAg2.woff2) format("woff2"),url(/app/assets/manrope-cyrillic-700-normal-7JNVKxyl.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/app/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/app/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/app/assets/manrope-cyrillic-800-normal-AvdZ5mAV.woff2) format("woff2"),url(/app/assets/manrope-cyrillic-800-normal-BuEMjQU-.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/app/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(/app/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}:root{--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--nav-height: 64px;--page-pad: 16px;--ease: cubic-bezier(.2, .7, .2, 1);--fast: .18s}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.4;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}body{min-height:100dvh}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}.num{font-variant-numeric:tabular-nums}.muted{color:var(--text-muted)}.small{font-size:13px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{max-width:480px;margin:0 auto;min-height:100dvh;padding-top:var(--safe-top)}.page{padding:12px var(--page-pad) calc(var(--nav-height) + var(--safe-bottom) + 28px);display:flex;flex-direction:column;gap:14px;animation:page-in var(--fast) var(--ease)}.page--plain{padding-bottom:calc(var(--safe-bottom) + 28px)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.page-header{display:flex;align-items:center;gap:8px;min-height:44px}.page-header h1{font-size:24px;font-weight:800;letter-spacing:-.01em;flex:1;min-width:0}.wordmark{font-weight:800;letter-spacing:.08em;font-size:18px}.section-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-top:6px}.row{display:flex;align-items:center;gap:10px;min-width:0}.row--between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}.card--hero{--accent: #7fd4f2;--accent-contrast: #0a0e13;--text: #f4f7fa;--text-muted: #a9b6c4;--surface-2: rgba(255, 255, 255, .1);--line: rgba(255, 255, 255, .14);background:linear-gradient(160deg,var(--navy) 0%,#0a131c 100%);border-color:transparent;color:var(--text)}.card--link{transition:transform var(--fast) var(--ease),border-color var(--fast) var(--ease)}.card--link:active{transform:scale(.985)}.card-title{font-weight:700;font-size:17px}.stat{display:flex;flex-direction:column;gap:2px;min-width:0}.stat__value{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.stat__label{font-size:13px;color:var(--text-muted)}.big-number{font-size:56px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.btn{min-height:48px;padding:0 18px;border-radius:var(--radius-button);border:1px solid transparent;background:var(--surface-2);color:var(--text);font-weight:700;font-size:16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:transform var(--fast) var(--ease),opacity var(--fast) var(--ease),background var(--fast) var(--ease);text-align:center}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.chip:focus-visible,.tab:focus-visible,.icon-btn:focus-visible,.nav a:focus-visible,.card--link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background:var(--accent);color:var(--accent-contrast)}.btn--ghost{background:transparent;border-color:var(--line)}.btn--danger{background:transparent;border-color:var(--line);color:var(--danger)}.btn--block{width:100%}.btn--lg{min-height:56px;font-size:17px}.btn--sm{min-height:44px;padding:0 14px;font-size:15px}.icon-btn{width:44px;height:44px;border-radius:12px;border:none;background:transparent;color:var(--text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.icon-btn--surface{background:var(--surface-2)}.segmented{display:flex;gap:4px;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-chip);overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.tab{flex:1 0 auto;min-height:40px;padding:0 14px;border:none;border-radius:var(--radius-chip);background:transparent;color:var(--text-muted);font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap;transition:background var(--fast) var(--ease),color var(--fast) var(--ease)}.tab[aria-selected=true]{background:var(--surface-2);color:var(--text)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border-radius:var(--radius-chip);background:var(--surface-2);font-size:13px;font-weight:700;white-space:nowrap}.chip--accent{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.chip--success{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.chip--warning{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}.field{display:flex;flex-direction:column;gap:6px}.field label,.field__label{font-size:14px;font-weight:600;color:var(--text-muted)}.input{min-height:48px;padding:0 14px;border-radius:var(--radius-button);border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:16px;width:100%;min-width:0}.input:focus{outline:none;border-color:var(--accent)}.field__error{color:var(--danger);font-size:14px}.toggle{position:relative;width:52px;height:32px;flex:none;appearance:none;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);cursor:pointer;transition:background var(--fast) var(--ease)}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:var(--text-muted);transition:transform var(--fast) var(--ease),background var(--fast) var(--ease)}.toggle:checked{background:var(--accent)}.toggle:checked:after{transform:translate(20px);background:var(--accent-contrast)}.setting{display:flex;align-items:center;gap:12px;min-height:52px}.bar{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.bar__fill{height:100%;border-radius:inherit;background:var(--accent);transition:width .25s var(--ease)}.bar__fill--done{background:var(--success)}.week-dots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}.week-dot{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px}.week-dot__mark{width:28px;height:28px;border-radius:50%;border:2px solid rgba(244,247,250,.25)}.week-dot__mark--active{background:var(--accent);border-color:var(--accent)}.week-dot__mark--today{border-color:#f4f7fa}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 0;border-bottom:1px solid var(--line);min-width:0}.list-item:last-child{border-bottom:none}.avatar{width:40px;height:40px;border-radius:50%;flex:none;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff;overflow:hidden;object-fit:cover}.avatar--lg{width:72px;height:72px;font-size:26px}.place{width:28px;text-align:center;font-weight:800;font-variant-numeric:tabular-nums;flex:none}.place--top{color:var(--accent)}.me-row{position:sticky;bottom:calc(var(--nav-height) + var(--safe-bottom) + 10px);background:var(--surface-2);border:1px solid var(--accent);border-radius:var(--radius-card);padding:8px 14px;z-index:2}.nav{position:fixed;left:0;right:0;bottom:0;z-index:10;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);padding-bottom:var(--safe-bottom)}.nav__inner{max-width:480px;margin:0 auto;height:var(--nav-height);display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600;color:var(--text-muted);min-height:44px;border-radius:12px}.nav a.active{color:var(--accent)}.fab{position:fixed;right:max(16px,calc(50vw - 224px));bottom:calc(var(--nav-height) + var(--safe-bottom) + 16px);width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #00000059;z-index:9;transition:transform var(--fast) var(--ease)}.fab:active{transform:scale(.94)}.page:has(.fab){padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 88px)}.skeleton{border-radius:var(--radius-card);background:linear-gradient(90deg,var(--surface) 0%,var(--surface-2) 50%,var(--surface) 100%);background-size:200% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:28px 12px;color:var(--text-muted)}.empty__icon{width:56px;height:56px;border-radius:50%;background:var(--surface-2);color:var(--accent);display:flex;align-items:center;justify-content:center}.empty__title{color:var(--text);font-weight:700;font-size:17px}.banner{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-card);background:var(--surface-2);font-size:14px}.banner--warning{background:color-mix(in srgb,var(--warning) 16%,var(--surface))}.banner--danger{background:color-mix(in srgb,var(--danger) 16%,var(--surface))}.offline{position:sticky;top:0;z-index:20;margin:0 var(--page-pad)}.toast{position:fixed;left:50%;bottom:calc(var(--nav-height) + var(--safe-bottom) + 20px);transform:translate(-50%);z-index:30;max-width:calc(100vw - 32px);padding:12px 16px;border-radius:var(--radius-button);background:var(--text);color:var(--bg);font-weight:600;font-size:14px;animation:page-in var(--fast) var(--ease)}.sheet-backdrop{position:fixed;inset:0;z-index:40;background:#00000080;display:flex;align-items:flex-end;justify-content:center;animation:fade-in var(--fast) var(--ease)}.sheet{width:100%;max-width:480px;max-height:85dvh;overflow-y:auto;background:var(--surface);border-radius:20px 20px 0 0;padding:10px var(--page-pad) calc(var(--safe-bottom) + 20px);display:flex;flex-direction:column;gap:14px;animation:sheet-in .22s var(--ease)}.sheet__handle{width:40px;height:4px;border-radius:2px;background:var(--line);align-self:center}.sheet h2{font-size:20px;font-weight:800}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-in{0%{transform:translateY(40px);opacity:0}}.temp-display{display:flex;align-items:center;justify-content:space-between;gap:12px}.temp-display .big-number{font-size:64px}.range{width:100%;height:44px;accent-color:var(--accent);cursor:pointer}.wheels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wheel{position:relative;height:180px;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;border-radius:var(--radius-card);background:var(--bg);border:1px solid var(--line);overscroll-behavior:contain}.wheel::-webkit-scrollbar{display:none}.wheel:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.wheel__pad{height:68px}.wheel__item{height:44px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-muted);cursor:pointer;user-select:none}.wheel__item--selected{color:var(--text);font-size:28px}.wheel__frame{position:absolute;left:8px;right:8px;top:68px;height:44px;border-radius:12px;border:1px solid var(--accent);pointer-events:none}.wheel-wrap{position:relative}.wheel-wrap .wheel__frame{top:68px}.wheel-caption{text-align:center;font-size:13px;color:var(--text-muted);margin-top:6px}.success{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding-top:24px}.wave{position:relative;width:200px;height:200px;display:flex;align-items:center;justify-content:center}.wave__ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--accent);opacity:0;animation:ring 1.6s var(--ease) infinite}.wave__ring:nth-child(2){animation-delay:.3s}.wave__ring:nth-child(3){animation-delay:.6s}.wave__core{width:96px;height:96px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);display:flex;align-items:center;justify-content:center;animation:pop .25s var(--ease)}@keyframes ring{0%{transform:scale(.45);opacity:.9}to{transform:scale(1);opacity:0}}@keyframes pop{0%{transform:scale(.6)}}.badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.badge{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 6px;border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line);min-width:0}.badge__icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.badge--locked{opacity:.72}.badge--locked .badge__icon{background:var(--surface-2);color:var(--text-muted)}.badge__title{font-size:13px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}.chart{width:100%;height:200px}.chart .recharts-cartesian-axis-tick-value{fill:var(--text-muted);font-size:11px}.chart .recharts-cartesian-grid line{stroke:var(--line)}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--text-muted)}.legend__swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}.lock{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;padding:32px 8px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
