:root{--fb-bg:#efeff4;--fb-surface:#fff;--fb-ink:#0b0b0b;--fb-muted:#7d7d83;--fb-accent:#2a78d6;--fb-sep:#0b0b0b1a;--bg:var(--tg-theme-secondary-bg-color,var(--fb-bg));--surface:var(--tg-theme-section-bg-color,var(--tg-theme-bg-color,var(--fb-surface)));--ink:var(--tg-theme-text-color,var(--fb-ink));--muted:var(--tg-theme-hint-color,var(--fb-muted));--sub:var(--tg-theme-subtitle-text-color,var(--muted));--head:var(--tg-theme-section-header-text-color,var(--muted));--accent:var(--tg-theme-button-color,var(--fb-accent));--on-accent:var(--tg-theme-button-text-color,#fff);--accent-text:var(--tg-theme-accent-text-color,var(--accent));--link:var(--tg-theme-link-color,var(--accent));--sep:var(--tg-theme-section-separator-color,var(--fb-sep));--danger:var(--tg-theme-destructive-text-color,#d03b3b);--good:#0ca30c;--warn:#e5a000;--crit:#d03b3b;--tint:color-mix(in srgb, var(--ink) 6%, var(--surface));--tint-2:color-mix(in srgb, var(--ink) 11%, var(--surface));--r-lg:16px;--r-md:12px;--r-sm:10px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--ease:cubic-bezier(.2, .8, .2, 1);--m-in:.15s;--m-out:.12s;--m-press:90ms;--m-slide:.24s;--top:calc(var(--tg-safe-area-inset-top,0px) + var(--tg-content-safe-area-inset-top,0px));--bottom:max(env(safe-area-inset-bottom,0px), var(--tg-safe-area-inset-bottom,0px));--tabbar:calc(58px + var(--bottom));color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:dark){:root:not(.tg){--fb-bg:#0d0d0e;--fb-surface:#1a1a1b;--fb-ink:#f0efec;--fb-muted:#93939a;--fb-accent:#3987e5;--fb-sep:#f0efec1a}}*{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{overscroll-behavior-y:none;min-height:100vh}button,input,select{font:inherit;color:inherit}a{color:var(--link);text-decoration:none}code{background:var(--tint);overflow-wrap:anywhere;border-radius:4px;padding:1px 4px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.86em}.num{font-variant-numeric:tabular-nums}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.screen{padding:calc(var(--top) + var(--s-3)) var(--s-4) calc(var(--tabbar) + var(--s-6));max-width:640px;margin:0 auto}.screen--pushed{padding-bottom:calc(var(--bottom) + var(--s-6))}.title{letter-spacing:-.02em;margin:var(--s-2) 0 var(--s-4);font-size:28px;font-weight:700;line-height:1.15}.subtitle{color:var(--sub);margin:calc(-1 * var(--s-3)) 0 var(--s-4);font-size:15px}.section{margin:0 0 var(--s-5)}.section__head{min-height:28px;padding:0 var(--s-4) var(--s-2);color:var(--head);justify-content:space-between;align-items:center;font-size:13px;font-weight:500;display:flex}.section__head .link-btn{font-size:13px}.section__body{background:var(--surface);border-radius:var(--r-lg);overflow:hidden}.section__foot{color:var(--muted);padding:var(--s-2) var(--s-4) 0;font-size:13px;line-height:1.4}.cell{align-items:center;gap:var(--s-3);min-height:52px;padding:var(--s-2) var(--s-4);text-align:left;background:0 0;border:0;width:100%;display:flex;position:relative}.cell+.cell:before{content:"";top:0;right:0;left:var(--sep-inset,var(--s-4));border-top:1px solid var(--sep);position:absolute}.cell--icon{--sep-inset:56px}button.cell{cursor:pointer;transition:background-color var(--m-out) var(--ease)}button.cell:hover{background:var(--tint);transition-duration:var(--m-in)}button.cell:active{background:var(--tint-2)}.cell__main{flex:1;min-width:0}.cell__title{font-size:16px;line-height:1.3}.cell__sub{color:var(--sub);margin-top:2px;font-size:13px;line-height:1.35}.cell__after{color:var(--muted);text-align:right;white-space:nowrap;align-items:center;gap:var(--s-1);font-size:15px;display:flex}.cell__icon{background:var(--tint);width:32px;height:32px;color:var(--ink);border-radius:9px;flex:none;place-items:center;display:grid}.cell__icon--accent{background:var(--accent);color:var(--on-accent)}.chev{color:var(--muted);opacity:.7}.ic{width:var(--ic,20px);height:var(--ic,20px);flex:none;display:inline-flex}.ic svg{width:100%;height:100%}.token{width:var(--ic,28px);height:var(--ic,28px);border-radius:50%;flex:none;display:block}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:48px;padding:0 var(--s-5);border-radius:var(--r-md);cursor:pointer;width:100%;transition:transform var(--m-out) var(--ease), background-color var(--m-out) var(--ease), opacity var(--m-out);border:0;font-size:16px;font-weight:600;display:inline-flex}.btn:hover{transition-duration:var(--m-in);transform:translateY(-1px)}.btn:active{transition-duration:var(--m-press);transform:translateY(1px)scale(.985)}.btn--primary{background:var(--accent);color:var(--on-accent)}.btn--secondary{background:var(--tint);color:var(--accent-text)}.btn--danger{background:var(--tint);color:var(--danger)}.btn[disabled]{opacity:.45;pointer-events:none}.btn-row{gap:var(--s-2);grid-template-columns:1fr 1fr;display:grid}.btn-row .btn{padding:0 var(--s-3);white-space:nowrap;font-size:15px}.back{min-height:44px;margin-top:calc(-1 * var(--s-2));align-items:center;display:inline-flex}.link-btn{color:var(--accent-text);cursor:pointer;padding:var(--s-2);margin:calc(-1 * var(--s-2));background:0 0;border:0;min-height:44px;font-weight:500}.switch{background:var(--tint-2);cursor:pointer;width:51px;height:31px;transition:background-color .18s var(--ease);border:0;border-radius:16px;flex:none;padding:2px;position:relative}.switch:after{content:"";width:27px;height:27px;transition:transform .18s var(--ease);background:#fff;border-radius:50%;display:block;box-shadow:0 2px 6px #0000002e}.switch[aria-checked=true]{background:var(--good)}.switch[aria-checked=true]:after{transform:translate(20px)}.switch:active:after{transform:scaleX(1.12)}.switch[aria-checked=true]:active:after{transform:translate(17px)scaleX(1.12)}.switch[disabled]{opacity:.5}.seg{background:var(--tint);border-radius:var(--r-sm);margin-bottom:var(--s-4);grid-auto-columns:1fr;grid-auto-flow:column;padding:2px;display:grid;position:relative}.seg__pill{background:var(--surface);transition:transform var(--m-slide) cubic-bezier(.65, 0, .35, 1);border-radius:8px;position:absolute;top:2px;bottom:2px;left:2px;box-shadow:0 1px 4px #0000001f}.seg button{z-index:1;min-height:36px;color:var(--sub);cursor:pointer;padding:0 var(--s-1);white-space:nowrap;background:0 0;border:0;font-size:14px;font-weight:500;position:relative}.seg button[aria-checked=true]{color:var(--ink);font-weight:600}.chip{background:var(--tint);height:26px;color:var(--ink);white-space:nowrap;border-radius:13px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:500;display:inline-flex}.chip:before{content:"";background:var(--dot,var(--muted));border-radius:50%;width:8px;height:8px}.chip--good{--dot:var(--good)}.chip--warn{--dot:var(--warn)}.chip--crit{--dot:var(--crit)}.chip--accent{--dot:var(--accent)}.chip--plain:before{display:none}.hero{background:var(--surface);border-radius:var(--r-lg);padding:var(--s-5) var(--s-4) var(--s-4);margin-bottom:var(--s-5)}.hero__label{color:var(--sub);font-size:13px;font-weight:500}.hero__value{letter-spacing:-.03em;margin:var(--s-1) 0 var(--s-2);overflow-wrap:anywhere;font-size:44px;font-weight:700;line-height:1.1}.hero__value--md{font-size:36px}.hero__line{gap:var(--s-2) var(--s-4);color:var(--sub);flex-wrap:wrap;align-items:center;font-size:15px;display:flex}.up{color:var(--good)}.down{color:var(--crit)}.stats{background:var(--sep);border-radius:var(--r-lg);margin-bottom:var(--s-5);grid-template-columns:1fr 1fr;gap:2px;display:grid;overflow:hidden}.stat{background:var(--surface);padding:var(--s-3) var(--s-4);min-height:72px}.stat__label{color:var(--sub);font-size:13px}.stat__value{letter-spacing:-.01em;margin-top:2px;font-size:20px;font-weight:600}.stat__hint{color:var(--muted);font-size:13px}.alloc{height:8px;margin:var(--s-4) 0 var(--s-3);gap:2px;display:flex}.alloc span{border-radius:4px;min-width:4px}.legend{gap:6px;font-size:14px;display:grid}.legend__row{align-items:center;gap:var(--s-2);display:flex}.legend__row b{margin-left:auto;font-weight:600}.key{border-radius:3px;flex:none;width:10px;height:10px}.gcard{text-align:left;cursor:pointer;background:var(--surface);border-radius:var(--r-lg);width:100%;padding:var(--s-4);margin-bottom:var(--s-3);transition:transform .18s var(--ease), box-shadow .18s var(--ease);border:0;display:block}.gcard:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000014}.gcard:active{transition-duration:var(--m-press);transform:scale(.985)}.gcard__top{align-items:center;gap:var(--s-3);margin-bottom:var(--s-3);display:flex}.gcard__name{font-size:17px;font-weight:600;line-height:1.2}.gcard__meta{color:var(--sub);font-size:13px}.gcard__row{justify-content:space-between;gap:var(--s-3);color:var(--sub);margin-top:var(--s-2);font-size:14px;display:flex}.gcard__row b{color:var(--ink);font-weight:600}.meter{margin:var(--s-1) 0 var(--s-1)}.meter__top{justify-content:space-between;align-items:baseline;gap:var(--s-2);display:flex}.meter__value{letter-spacing:-.02em;white-space:nowrap;flex:none;font-size:26px;font-weight:700}.meter__value--lg{letter-spacing:-.03em;font-size:44px}.meter__note{color:var(--sub);text-align:right;flex:1;min-width:0;font-size:13px}.meter__track{background:var(--tint-2);height:10px;margin:var(--s-2) 0;border-radius:5px;position:relative}.meter__caption{color:var(--muted);margin-bottom:var(--s-1);font-size:13px}.meter__fill{background:var(--meter,var(--accent));border-radius:5px;position:absolute;top:0;bottom:0;left:0}.meter__tick{background:var(--ink);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.chart{background:var(--surface);border-radius:var(--r-lg);padding:var(--s-3) var(--s-2) var(--s-2);margin-bottom:var(--s-5);touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative}.chart svg{width:100%;display:block;overflow:visible}.chart__empty{height:180px;color:var(--muted);text-align:center;padding:0 var(--s-5);place-items:center;font-size:14px;display:grid}.chart__tip{top:var(--s-2);pointer-events:none;background:var(--ink);color:var(--surface);border-radius:var(--r-sm);white-space:nowrap;padding:6px 10px;font-size:13px;line-height:1.35;position:absolute;box-shadow:0 6px 18px #0000002e}.chart__tip b{font-size:15px;display:block}.chart__legend{gap:var(--s-1) var(--s-3);padding:var(--s-2) var(--s-2) 0;color:var(--muted);flex-wrap:wrap;font-size:12px;display:flex}.chart__legend span{align-items:center;gap:6px;display:inline-flex}.chart__legend i{border-radius:1px;width:12px;height:2px;display:inline-block}.chart__legend i.dot{border-radius:50%;width:8px;height:8px}.field{padding:var(--s-3) var(--s-4);position:relative}.field+.field:before,.cell+.field:before,.field+.cell:before{content:"";top:0;right:0;left:var(--s-4);border-top:1px solid var(--sep);position:absolute}.field label{color:var(--sub);margin-bottom:6px;font-size:13px;display:block}.field__row{align-items:center;gap:var(--s-2);display:flex}.input{border-radius:var(--r-sm);background:var(--tint);min-width:0;height:44px;padding:0 var(--s-3);transition:border-color .14s var(--ease), box-shadow .14s var(--ease);border:1px solid #0000;flex:1;font-size:16px}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);outline:none}.input[aria-invalid=true]{border-color:var(--crit)}select.input{appearance:none;background-image:none}.field>.input{width:100%;display:block}.suffix{color:var(--muted);min-width:24px;font-size:15px}.step{border-radius:var(--r-sm);background:var(--tint);cursor:pointer;width:44px;height:44px;color:var(--accent-text);border:0;font-size:22px;line-height:1}.step:active{transform:scale(.95)}.field__hint{color:var(--muted);margin-top:6px;font-size:13px}.field__error{color:var(--crit);margin-top:6px;font-size:13px}.banner{gap:var(--s-3);background:var(--surface);border-radius:var(--r-lg);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-3);align-items:flex-start;font-size:15px;display:flex}.banner .ic{color:var(--crit);margin-top:2px}.banner--warn .ic{color:var(--warn)}.banner--info .ic{color:var(--accent)}.toast{left:50%;bottom:calc(var(--tabbar) + var(--s-3));z-index:30;background:var(--ink);max-width:calc(100% - 32px);color:var(--surface);border-radius:var(--r-md);padding:10px var(--s-4);animation:toast-in .2s var(--ease);font-size:14px;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0003}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.feed__day{color:var(--head);padding:var(--s-4) var(--s-4) var(--s-2);font-size:13px;font-weight:500}.feed__item{gap:var(--s-3);padding:var(--s-3) var(--s-4);display:flex;position:relative}.feed__item+.feed__item:before{content:"";border-top:1px solid var(--sep);position:absolute;top:0;left:56px;right:0}.feed__body{white-space:pre-line;overflow-wrap:anywhere;flex:1;min-width:0;font-size:15px;line-height:1.45}.feed__time{color:var(--muted);margin-top:4px;font-size:12px}.tabbar{z-index:20;height:var(--tabbar);padding-bottom:var(--bottom);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(18px);border-top:1px solid var(--sep);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--muted);cursor:pointer;min-height:48px;transition:color var(--m-out) var(--ease);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:500;display:flex}.tabbar button .ic{--ic:24px;transition:transform var(--m-press) var(--ease)}.tabbar button:active .ic{transform:scale(.9)}.tabbar button[aria-current=page]{color:var(--accent-text)}.foot{color:var(--muted);text-align:center;padding:var(--s-2) 0;font-size:12px;line-height:1.6}.empty{text-align:center;color:var(--sub);padding:var(--s-6) var(--s-4);font-size:15px}.loading{opacity:.6;transition:opacity .2s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation:none!important}}
