:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131312;--surface:#1c1c1b;--line:#2d2d2b;--text:#f0efec;--text-2:#c3c2b7;--muted:#9a998f;--accent:#86b9f8;--accent-solid:#2b6cc4;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-7:#9085e9;--good:#5cc98f;--warn:#e0b24a;--bad:#f08a83;--radius:14px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f4f2;--surface:#fcfcfb;--line:#e4e3df;--text:#0b0b0b;--text-2:#52514e;--muted:#6c6b65;--accent:#1d5db0;--accent-solid:#1f63bd;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-7:#6250d6;--good:#0c6b3c;--warn:#8a5a00;--bad:#b3261e}@media (prefers-color-scheme:light){:root[data-theme=system]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f4f2;--surface:#fcfcfb;--line:#e4e3df;--text:#0b0b0b;--text-2:#52514e;--muted:#6c6b65;--accent:#1d5db0;--accent-solid:#1f63bd;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-7:#6250d6;--good:#0c6b3c;--warn:#8a5a00;--bad:#b3261e}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}.num{font-variant-numeric:tabular-nums}.shell{min-height:100dvh;padding:0 16px calc(76px + env(safe-area-inset-bottom))}.main{gap:16px;max-width:980px;margin:0 auto;padding:16px 0 24px;display:grid}.nav{z-index:10;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:0;right:0}.nav .brand{display:none}.nav a{color:var(--muted);flex-direction:column;flex:1;align-items:center;gap:2px;min-height:56px;padding:10px 0 8px;font-size:12px;text-decoration:none;display:flex}.nav a[aria-current=page]{color:var(--accent);font-weight:600}.nav svg{width:22px;height:22px}@media (width>=900px){.shell{padding:0 24px 24px 232px}.nav{border-top:0;border-right:1px solid var(--line);flex-direction:column;gap:4px;width:208px;padding:20px 12px;top:0;bottom:auto;right:auto}.nav .brand{align-items:center;gap:10px;padding:4px 10px 16px;font-size:18px;font-weight:700;display:flex}.nav .brand img{border-radius:7px;width:28px;height:28px}.nav a{border-radius:10px;flex-direction:row;flex:0;gap:12px;min-height:0;padding:10px 12px;font-size:15px}.nav a[aria-current=page]{background:color-mix(in srgb, var(--accent) 12%, transparent)}.main{padding-top:28px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.card h2{color:var(--text-2);margin-bottom:8px;font-size:15px;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spread{justify-content:space-between}.muted{color:var(--muted);font-size:14px}.grid2{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=700px){.grid2{grid-template-columns:1fr 1fr}}.hero{gap:16px;display:grid}.hero-w{letter-spacing:-.03em;font-size:clamp(44px,12vw,64px);font-weight:700;line-height:1}.hero-w small{color:var(--muted);letter-spacing:0;margin-left:6px;font-size:.35em;font-weight:500}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat{min-width:0}.stat b{font-size:18px;display:block}.stat span{color:var(--muted);font-size:12px}@media (width>=700px){.hero{grid-template-columns:auto 1fr;align-items:end;gap:40px}}.chip{border:1px solid var(--line);color:var(--text-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;display:inline-flex}.chip.good{color:var(--good)}.chip.warn{color:var(--warn)}.chip.bad{color:var(--bad)}.seg{border:1px solid var(--line);background:var(--surface);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;min-height:44px;color:var(--text-2);background:0 0;border:0;padding:8px 14px}.seg button[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);font-weight:650}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;min-height:44px;padding:10px 16px}.btn.primary{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff;font-weight:600}.btn.danger{color:var(--bad)}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.seg button:focus-visible,a:focus-visible,svg:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chart{touch-action:pan-y;width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart svg:focus{outline:none}.chart svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.grid{stroke:var(--line);stroke-width:1px}.axis{fill:var(--muted);font-size:11px}.goal{stroke:var(--muted);stroke-width:1px;stroke-dasharray:4 4}.cross{stroke:var(--muted);stroke-width:1px}.ring{stroke:var(--surface);stroke-width:2px}.tip{background:var(--surface);border:1px solid var(--line);pointer-events:none;white-space:nowrap;border-radius:10px;padding:6px 10px;position:absolute;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.tip-v{font-size:16px;font-weight:700}.tip-s{color:var(--muted);font-size:12px}.empty{color:var(--muted);text-align:center;place-items:center;padding:16px;font-size:14px;display:grid}.mini-head{justify-content:space-between;align-items:baseline;margin-bottom:4px;display:flex}.mini-head b{font-size:22px}.delta-up,.delta-down,.delta-flat{color:var(--text-2);font-size:13px}label{color:var(--text-2);gap:4px;font-size:14px;display:grid}input,select{background:var(--bg);border:1px solid var(--line);border-radius:10px;width:100%;min-height:44px;padding:10px 12px}.form{gap:12px;max-width:460px;display:grid}.form2{grid-template-columns:1fr 1fr;gap:12px;display:grid}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}th{color:var(--muted);font-size:12px;font-weight:600}td.r,th.r{text-align:right}.tablewrap{overflow-x:auto}.login{place-items:center;min-height:100dvh;padding:16px;display:grid}.login form{gap:14px;width:min(380px,100%);display:grid}.err{color:var(--bad);font-size:14px}.ok{color:var(--good);font-size:14px}pre.log{background:var(--bg);border:1px solid var(--line);white-space:pre-wrap;word-break:break-all;border-radius:10px;max-height:180px;margin:8px 0 0;padding:10px;font-size:12px;overflow:auto}.banner{border-left:4px solid var(--accent)}.livew{font-size:40px;font-weight:700}.insights{gap:8px;margin:0;padding:0;list-style:none;display:grid}.insights li{grid-template-columns:22px 1fr;align-items:start;gap:6px;display:grid}.insights .ico{text-align:center;color:var(--muted);font-weight:700}.insights li.win .ico{color:var(--good)}.insights li.watch .ico{color:var(--warn)}.ai{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.ai-out{gap:8px;margin-top:12px;display:grid}.ai-out h3{margin:4px 0 0;font-size:16px}.ai-out p{margin:0}.ideas{gap:6px;margin:0;padding-left:18px;display:grid}.callout{border-left:4px solid var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent);border-radius:6px;padding:8px 12px}label.check{color:var(--text);align-items:center;gap:10px;font-size:15px;display:flex}label.check input{width:20px;height:20px;min-height:20px}hr.sep{border:0;border-top:1px solid var(--line);margin:16px 0}.seg.days{width:100%;display:flex}.seg.days button{flex:1;min-width:0;padding:8px 0!important}pre.log{word-break:normal;overflow-wrap:anywhere}.zero{stroke:var(--muted);stroke-width:1px}.cal0{fill:var(--line);background:var(--line)}.cal1{fill:color-mix(in srgb, var(--series-1) 55%, var(--surface));background:color-mix(in srgb, var(--series-1) 55%, var(--surface))}.cal2{fill:var(--series-1);background:var(--series-1)}svg rect.cal0:focus,svg rect.cal1:focus,svg rect.cal2:focus{outline:2px solid var(--accent)}.legend{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.legend.wrap{color:var(--text-2);flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:13px}.legend.wrap span{align-items:center;gap:6px;display:inline-flex}.stack{border-radius:10px;gap:2px;height:34px;display:flex;overflow:hidden}.stack>div{color:#fff;place-items:center;min-width:6px;font-size:12px;font-weight:650;display:grid}.grid-body{grid-template-columns:1fr;gap:16px;display:grid}.grid1{align-content:start;gap:16px;display:grid}@media (width>=900px){.grid-body{grid-template-columns:420px 1fr}}.tiles{grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:12px;display:grid}.tile{align-content:start;gap:2px;padding:12px 14px;display:grid}.tile-v{letter-spacing:-.02em;font-size:26px;font-weight:700}.tile-v small{color:var(--muted);margin-left:4px;font-size:13px;font-weight:500}.tile-d{color:var(--text-2);min-height:20px;font-size:13px}.tile-s{margin-top:4px}.tile-n{margin-top:2px;font-size:12px}.chip.good,.chip.warn,.chip.bad{margin:2px 0}.print-title{color:var(--text)!important;margin-bottom:2px!important;font-size:20px!important}@media print{.nav,.no-print,.tip{display:none!important}.shell{padding:0!important}html,body{color:#000!important;background:#fff!important}.card{break-inside:avoid;background:#fff!important;border:1px solid #ccc!important}:root,:root[data-theme]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#fff!important;--bg:#fff!important;--text:#000!important;--text-2:#333!important;--muted:#555!important;--line:#ddd!important}}.warn-text{color:var(--warn)}.main>*,.grid2>*,.grid-body>*,.grid1>*,.hero>*{min-width:0}.chart{min-width:0;max-width:100%}.guide-body h3{margin:14px 0 6px;font-size:15px}.guide-body h3:first-child{margin-top:0}.badges{flex-wrap:wrap;gap:4px;display:flex}.badge{border:1px solid var(--line);color:var(--text-2);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11px}.badge.warn{color:var(--warn)}a,a:visited{color:var(--accent)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--accent-solid);border-radius:10px;align-items:center;min-height:44px;padding:10px 16px;text-decoration:none;transition:top .15s;display:inline-flex;position:fixed;top:-60px;left:12px;color:#fff!important}.skip-link:focus{top:12px}main:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}label.check{cursor:pointer;min-height:44px;padding:4px 0}label.check input{flex:none;width:24px;height:24px;min-height:24px}.icon-btn{width:44px;height:44px;color:var(--text-2);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;display:inline-grid}.icon-btn:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.icon-btn.danger{color:var(--bad)}.icon-btn svg{width:20px;height:20px}.btn.ghost{color:var(--accent);background:0 0;border-color:#0000}.link-btn{align-items:center;min-height:44px;display:inline-flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.page-head h1{font-size:24px;line-height:1.2}.page-head .sub{color:var(--muted);margin-top:2px;font-size:14px}.page-head .actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toasts{z-index:60;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed}.toast{pointer-events:auto;background:var(--text);width:100%;max-width:520px;color:var(--bg);border-radius:12px;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;box-shadow:0 8px 24px #00000059}.toast .btn{min-height:40px;color:var(--bg);border-color:color-mix(in srgb, var(--bg) 40%, transparent);background:0 0;padding:6px 12px}.toast .t-text{flex:1}.toast.err{background:var(--bad);color:#000}@media (width>=900px){.toasts{bottom:24px;left:232px}}dialog.dlg{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:16px;width:min(420px,100vw - 32px);padding:20px}dialog.dlg::backdrop{background:#0000008c}dialog.dlg h2{color:var(--text);margin-bottom:8px;font-size:18px}dialog.dlg .dlg-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.btn.danger-solid{background:var(--bad);border-color:var(--bad);color:#000;font-weight:650}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-top:12px;display:flex}.pager .summary{color:var(--muted);font-size:14px}.pager nav ul{align-items:center;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pager .pg{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:10px;min-width:44px;height:44px;padding:0 10px}.pager .pg[aria-current=page]{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff;font-weight:650}.pager .pg:disabled{opacity:.4;cursor:default}.pager .gap{color:var(--muted);padding:0 4px}.pager .per{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.pager .per select{width:auto}.pager .num-only{display:none}@media (width<=600px){.pager .nums{display:none}.pager .num-only{color:var(--text-2);padding:0 8px;display:inline}}.skel{background:linear-gradient(90deg, var(--line), color-mix(in srgb, var(--line) 50%, var(--surface)), var(--line));background-size:200% 100%;border-radius:10px;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.state{text-align:center;justify-items:center;gap:8px;padding:28px 16px;display:grid}.state h2{color:var(--text);margin:0;font-size:17px}.state p{color:var(--muted);max-width:46ch;margin:0}.net-banner{z-index:20;background:var(--warn);color:#000;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 16px;font-size:14px;display:flex;position:sticky;top:0}.net-banner .btn{color:#000;background:0 0;border-color:#000;min-height:36px;padding:2px 12px}.subnav{flex-wrap:wrap;gap:8px;display:flex}.subnav a{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--text-2);border-radius:999px;flex:none;align-items:center;padding:0 16px;text-decoration:none;display:inline-flex}.subnav a[aria-current=page]{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff;font-weight:650}.filters{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.filters label{min-width:140px}th button.sort{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;min-height:44px;padding:0;display:inline-flex}.hist-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hist-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:4px 8px;padding:10px 4px 10px 12px;display:grid}.hist-w{letter-spacing:-.02em;font-size:22px;font-weight:700}.hist-w small{color:var(--muted);font-size:13px;font-weight:500}.hist-meta{color:var(--text-2);grid-column:1;font-size:13px}.hist-item .icon-btn{grid-area:1/2/span 2}.hist-when{color:var(--muted);font-size:13px}.card-flush{padding:0;overflow:hidden}.card-pad{padding:16px}.status-line{background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.status-line.ok{background:color-mix(in srgb, var(--good) 12%, transparent)}.status-line.bad{background:color-mix(in srgb, var(--bad) 12%, transparent)}.field-err{color:var(--bad);font-size:13px}details>summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:600;list-style:none;display:flex}details>summary::-webkit-details-marker{display:none}details>summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;margin-top:-3px;margin-left:auto;transition:transform .15s;transform:rotate(45deg)}details[open]>summary:after{margin-top:3px;transform:rotate(-135deg)}details>summary .muted{font-size:13px;font-weight:400}a.btn{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.field{gap:4px;display:grid}.field>label{color:var(--text-2);font-size:14px}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--bad)}fieldset.fieldset{border:0;gap:4px;min-width:0;margin:0;padding:0;display:grid}fieldset.fieldset legend{color:var(--text-2);margin-bottom:6px;padding:0;font-size:14px}fieldset.fieldset:disabled{opacity:.55}
