:root{color-scheme:dark;--bg: #101215;--panel: #171a1f;--panel-2: #1d2128;--border: #272c35;--text: #e8eaed;--muted: #9aa3ad;--link: #6aa6f0;--primary: #2b6fd0;--primary-hover: #3a7fe0;--on-primary: #ffffff;--danger: #e66767;--good: #34d399;--danger-bg: rgba(230, 103, 103, .12);--series-1: #3987e5;--radius: 10px;--shadow: 0 8px 30px rgba(0, 0, 0, .45)}:root[data-theme=light]{color-scheme:light;--bg: #f5f6f8;--panel: #ffffff;--panel-2: #f0f2f5;--border: #dde1e7;--text: #14161a;--muted: #5a6370;--link: #1d5fc0;--primary: #2b6fd0;--primary-hover: #2260bd;--danger: #b3261e;--good: #0e7a52;--danger-bg: rgba(179, 38, 30, .08);--series-1: #2a78d6;--shadow: 0 8px 30px rgba(20, 22, 26, .15)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}h1,h2,h3{line-height:1.2;margin:0 0 .5em}a{color:var(--link)}img,svg{max-width:100%}:focus-visible{outline:2px solid var(--link);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip-link{position:absolute;left:8px;top:-48px;background:var(--primary);color:var(--on-primary);padding:8px 14px;border-radius:6px;z-index:100}.skip-link:focus{top:8px}.muted{color:var(--muted)}.small{font-size:.875rem}.clip{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nowrap{white-space:nowrap}.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 16px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--text);font:inherit;font-weight:500;text-decoration:none;cursor:pointer}.btn:hover{border-color:var(--muted)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.small{min-height:34px;padding:0 12px;font-size:.9rem}.btn.large{min-height:48px;padding:0 24px;font-size:1.05rem}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--panel-2)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#14161a}.btn.danger-text{color:var(--danger)}.field{display:block;margin-bottom:14px}.field>span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:4px}input,textarea,select{width:100%;min-height:42px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}input:focus,textarea:focus{border-color:var(--link)}.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin:0 0 14px;border-radius:8px;border:1px solid var(--danger);background:var(--danger-bg)}.state,.empty{color:var(--muted);padding:24px 4px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--link);border-radius:50%;animation:spin .8s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:3s}}.site-header,.app-header{display:flex;align-items:center;gap:20px;padding:12px max(16px,calc((100% - 1100px)/2));border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:10}.site-header nav,.app-header nav{display:flex;gap:4px;flex:1}.site-header nav a,.app-header nav a{color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:8px}.site-header nav a:hover,.app-header nav a:hover{color:var(--text);background:var(--panel-2)}.site-header nav a.active,.app-header nav a.active{color:var(--text);background:var(--panel-2)}.header-actions{display:flex;align-items:center;gap:8px}.user{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-weight:700;font-size:1.15rem;text-decoration:none}.logo{width:28px;height:28px;border-radius:7px;background:#14161a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath d='M22 14v36M22 32l22-18M22 32l22 18' fill='none' stroke='%233987e5' stroke-width='7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}.site-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:28px max(16px,calc((100% - 1100px)/2));border-top:1px solid var(--border);color:var(--muted);margin-top:56px}.site-footer p{margin:0}.site-footer nav{display:flex;gap:16px}.public main{max-width:1100px;margin:0 auto;padding:0 16px}.public main.narrow{max-width:460px}.hero{padding:72px 0 40px;text-align:center}.hero h1{font-size:clamp(2rem,6vw,3.25rem);letter-spacing:-.02em;max-width:22ch;margin:0 auto .4em;text-wrap:balance}.page-head{padding:48px 0 24px}.page-head h1{font-size:clamp(1.75rem,4vw,2.5rem)}.lead{color:var(--muted);font-size:1.15rem;max-width:60ch}.hero .lead{margin:0 auto 28px}.cta{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px}.card,.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.card h2{font-size:1.1rem}.card p{margin:0;color:var(--muted)}.panel.login{margin-top:56px}.panel.login h1{font-size:1.5rem}.panel.login .btn{width:100%;margin-top:4px}.app-main{max-width:1100px;margin:0 auto;padding:20px 16px 64px}.h1{font-size:1.6rem}.h2{font-size:1.1rem;margin-top:28px}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.toolbar-actions{display:flex;flex-wrap:wrap;gap:6px}.crumbs ol{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0;font-weight:600}.crumbs li+li:before{content:"/";color:var(--muted);margin-right:4px}.crumbs a{text-decoration:none}.crumbs [aria-current]{color:var(--text)}.folders{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.folder{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-decoration:none}.folder svg{color:var(--link);flex:none}.folder:hover{border-color:var(--muted)}.split{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:24px;align-items:start}.items{list-style:none;margin:0;padding:0;display:grid;gap:6px}.item{display:block;width:100%;text-align:left;padding:10px 14px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font:inherit;cursor:pointer}.item:hover,.item.active{border-color:var(--link)}.item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-pane{min-width:0}.editor{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.title-input{font-size:1.25rem;font-weight:600;margin-bottom:10px}.content-input{min-height:50vh;resize:vertical;line-height:1.6}.status{color:var(--muted);font-size:.875rem}.status.error{color:var(--danger)}.show-mobile{display:none}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}.table thead th{color:var(--muted);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.table tfoot th,.table tfoot td{border-bottom:0;font-weight:700}.table .num{text-align:right;font-variant-numeric:tabular-nums}.row-actions{text-align:right;white-space:nowrap}.range{display:flex;flex-wrap:wrap;gap:12px}.range .field{flex:0 1 200px;margin-bottom:4px}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:18px 0 0}.stat{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat strong{display:block;font-size:1.6rem;font-variant-numeric:tabular-nums}.bars{list-style:none;margin:0;padding:0}.bar-row{display:grid;grid-template-columns:minmax(90px,220px) 1fr auto;align-items:center;gap:14px;width:100%;min-height:44px;padding:4px 8px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.bar-row:hover{background:var(--panel)}.bar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-track{display:block;height:16px}.bar{display:block;height:100%;background:var(--series-1);border-radius:0 4px 4px 0}.bar-value{font-variant-numeric:tabular-nums;min-width:5ch;text-align:right}.breakdown{list-style:none;margin:0 8px 10px;padding:8px 14px;background:var(--panel);border:1px solid var(--border);border-radius:8px}.breakdown li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-variant-numeric:tabular-nums}.breakdown li span:first-child{color:var(--muted)}.backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#0009}.dialog{width:min(440px,100%);max-height:90vh;overflow-y:auto;padding:22px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.dialog h2{font-size:1.2rem}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media (max-width: 760px){.site-header,.app-header{flex-wrap:wrap;gap:8px 12px}.site-header nav,.app-header nav{order:3;flex-basis:100%;overflow-x:auto}.header-actions{margin-left:auto}.user{display:none}.hero{padding-top:40px}.split{grid-template-columns:1fr}.split.has-detail .list-pane,.hide-mobile{display:none}.show-mobile{display:inline-flex}.bar-row{grid-template-columns:1fr auto}.bar-label{grid-column:1}.bar-value{grid-column:2;grid-row:1}.bar-track{grid-column:1 / -1}.row-actions{white-space:normal}}.contact-form{max-width:640px;margin:0 auto 8px}.contact-form h2{font-size:1.3rem}.message-input{min-height:160px;resize:vertical;line-height:1.5}.counter{display:block;text-align:right;margin-top:4px}.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.dialog.wide{width:min(720px,100%)}.tabs{display:flex;gap:4px;margin:0 0 16px;border-bottom:1px solid var(--border);overflow-x:auto}.tab{appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-weight:600;padding:10px 14px;cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--link)}.filters{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:flex-end;margin-bottom:8px}.filters .field{margin-bottom:0;flex:0 1 170px}.filters .field.grow{flex:1 1 240px}.filters .field.narrow{flex:0 1 110px}.check{display:inline-flex;align-items:center;gap:8px;min-height:42px;cursor:pointer}.check input{width:auto;min-height:0}select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}.p-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.p-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:4px 14px;padding:8px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.p-row.paused{opacity:.65}.p-main{appearance:none;background:transparent;border:0;padding:4px 0;text-align:left;font:inherit;color:var(--text);cursor:pointer;min-width:0;display:grid;gap:2px}.p-main:hover .p-name{text-decoration:underline}.p-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.p-price{text-align:right;display:grid;gap:2px;justify-items:end;font-variant-numeric:tabular-nums}.star{appearance:none;background:transparent;border:0;font-size:1.5rem;line-height:1;color:var(--muted);cursor:pointer;min-width:40px;min-height:40px}.star.on{color:#fbbf24}.star:disabled{opacity:.5}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border);color:var(--muted)}.badge.sale{color:var(--good);border-color:var(--good)}.badge.out{color:var(--danger);border-color:var(--danger)}.badge.st-done{color:var(--good);border-color:var(--good)}.badge.st-failed{color:var(--danger);border-color:var(--danger)}.badge.st-running{color:var(--link);border-color:var(--link)}.badge.st-interrupted{color:var(--muted)}.delta{font-weight:700;font-size:.9rem}.delta.down{color:var(--good)}.delta.up{color:var(--danger)}.pager{display:flex;justify-content:center;align-items:center;gap:16px;margin:16px 0 0}.big-price{font-size:1.6rem;margin:4px 0}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:14px 0}.stat-row>div{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.stat-row dt{color:var(--muted);font-size:.8rem}.stat-row dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}.stat-row.big dd{font-size:1.5rem}.facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 16px;margin:12px 0}.facts dt{color:var(--muted);font-size:.8rem}.facts dd{margin:0}.chart{margin:12px 0;position:relative}.chart svg{width:100%;height:auto;display:block;touch-action:pan-y}.chart-grid{stroke:var(--border);stroke-width:1}.chart-text{fill:var(--muted);font-size:12px}.chart-line{stroke:var(--series-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-guide{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.chart-dot{fill:var(--series-1);stroke:var(--panel);stroke-width:2;cursor:pointer}.chart-dot.on,.chart-dot:focus-visible{stroke:var(--text)}.chart-tip{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline;padding:6px 2px;min-height:34px}.chart-table summary{cursor:pointer;color:var(--link);font-size:.9rem}.chart-table .table{margin-top:8px}.watch-box{margin-top:16px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.watch-box h3,.h3{font-size:1rem;margin:0 0 4px}.watch-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:10px}.actions.left{justify-content:flex-start;align-items:center;margin-bottom:12px}.banner.info{border-color:var(--link);background:transparent}.status-page .panel{margin-top:16px}.shop-list,.shop-list ul{list-style:none;margin:0;padding:0}.shop-list>li{margin-bottom:10px}.shop-list ul{padding-left:16px;margin-top:2px}.link-button{appearance:none;background:transparent;border:0;padding:0;font:inherit;color:var(--link);cursor:pointer}.run-detail td{background:var(--bg)}.run-detail ul{margin:4px 0;padding-left:18px}@media (max-width: 640px){.p-row{grid-template-columns:1fr auto}.p-price{grid-column:1;grid-row:2;justify-items:start;text-align:left;grid-auto-flow:column;gap:10px;align-items:baseline}.star,.p-row>.btn{grid-column:2;grid-row:1 / span 2}}.p-list.loading{opacity:.55;transition:opacity .15s}@media (max-width: 640px){.chart-text{font-size:21px}.chart-dot{stroke-width:3}}.wake-page .panel{max-width:520px}.wake-state{display:flex;align-items:center;gap:10px;margin:0 0 16px}.dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--muted)}.dot.on{background:var(--good)}.dot.off{background:var(--danger)}.wake-btn{width:100%}.banner.wake-msg{margin:14px 0 0}.banner.good{border-color:var(--good);background:transparent}.banner.wake-msg:not(.info):not(.good):not(.error){border-color:var(--border);background:transparent}.wake-note{margin:14px 0 0}.pc-events{list-style:none;margin:-6px 0 16px;padding:0 0 0 20px;border-left:2px solid var(--border);font-size:.92rem}.pc-events li{padding:2px 0 2px 10px}.sleep-btn{margin-top:14px}.wake-sub{margin:22px 0 4px;font-size:1rem}
