:root,[data-theme=dark]{color-scheme:dark;--bg: #0b0c0f;--panel: #111318;--sunken: #08090b;--raised: #171a20;--line: #23262d;--line-strong: #2f333c;--text: #edeef2;--dim: #9096a1;--faint: #62676f;--on-accent: #fff;--hover: rgba(255, 255, 255, .045);--row-hover: rgba(255, 255, 255, .028);--hairline: rgba(255, 255, 255, .06);--ok: #3fd88a;--bad: #ff5a5d;--warn: #f5c451;--accent: #6874ff;--accent-fill: #5a66f1;--accent-soft: rgba(104, 116, 255, .14);--glow: 0 0 0 1px rgba(104, 116, 255, .28), 0 8px 28px -12px rgba(104, 116, 255, .5);--card-shadow: 0 1px 2px rgba(0, 0, 0, .4);--ok-soft: rgba(63, 216, 138, .13);--bad-soft: rgba(255, 90, 93, .13);--bad-softer: rgba(255, 90, 93, .09);--bad-edge: rgba(255, 90, 93, .3);--warn-soft: rgba(245, 196, 81, .13);--warn-softer: rgba(245, 196, 81, .09);--warn-edge: rgba(245, 196, 81, .3)}[data-theme=light]{color-scheme:light;--bg: #f6f7f9;--panel: #ffffff;--sunken: #f1f2f5;--raised: #fbfcfd;--line: #e2e5ea;--line-strong: #cfd4dc;--text: #14161a;--dim: #5b616b;--faint: #848b95;--on-accent: #fff;--hover: rgba(0, 0, 0, .035);--row-hover: rgba(0, 0, 0, .022);--hairline: rgba(0, 0, 0, .06);--ok: #0f7a41;--bad: #c0272b;--warn: #7a5c00;--accent: #4a4fd4;--accent-fill: #4a4fd4;--accent-soft: rgba(74, 79, 212, .1);--glow: 0 0 0 1px rgba(74, 79, 212, .25), 0 8px 24px -14px rgba(74, 79, 212, .45);--card-shadow: 0 1px 2px rgba(16, 24, 40, .06);--ok-soft: rgba(15, 122, 65, .11);--bad-soft: rgba(192, 39, 43, .11);--bad-softer: rgba(192, 39, 43, .07);--bad-edge: rgba(192, 39, 43, .26);--warn-soft: rgba(122, 92, 0, .12);--warn-softer: rgba(122, 92, 0, .08);--warn-edge: rgba(122, 92, 0, .28)}@media(prefers-color-scheme:light){:root:not([data-theme]){color-scheme:light;--bg: #f6f7f9;--panel: #ffffff;--sunken: #f1f2f5;--raised: #fbfcfd;--line: #e2e5ea;--line-strong: #cfd4dc;--text: #14161a;--dim: #5b616b;--faint: #848b95;--hover: rgba(0, 0, 0, .035);--row-hover: rgba(0, 0, 0, .022);--hairline: rgba(0, 0, 0, .06);--ok: #0f7a41;--bad: #c0272b;--warn: #7a5c00;--accent: #4a4fd4;--accent-fill: #4a4fd4;--accent-soft: rgba(74, 79, 212, .1);--glow: 0 0 0 1px rgba(74, 79, 212, .25), 0 8px 24px -14px rgba(74, 79, 212, .45);--card-shadow: 0 1px 2px rgba(16, 24, 40, .06);--ok-soft: rgba(15, 122, 65, .11);--bad-soft: rgba(192, 39, 43, .11);--bad-softer: rgba(192, 39, 43, .07);--bad-edge: rgba(192, 39, 43, .26);--warn-soft: rgba(122, 92, 0, .12);--warn-softer: rgba(122, 92, 0, .08);--warn-edge: rgba(122, 92, 0, .28)}}:root{--sans: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", "Cascadia Code", Menlo, Consolas, "Liberation Mono", monospace;--radius: 7px;--radius-lg: 10px;--fast: .15s cubic-bezier(.2, .6, .3, 1);--medium: .22s cubic-bezier(.2, .6, .3, 1)}body,button,input,select,textarea,article,.log,.config-editor,.rules-preview,.chip,.pill{transition:background-color var(--fast),color var(--fast),border-color var(--fast)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.centered{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:1rem;text-align:center}.layout{max-width:1120px;margin:0 auto;padding:1.5rem 1.25rem 5rem}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}h1{font-size:1.3rem;margin:0;font-weight:650;letter-spacing:-.021em}h2{font-size:1.02rem;margin:0;font-weight:620;letter-spacing:-.014em}h3{font-size:.74rem;margin:0 0 .5rem;color:var(--dim);font-weight:600;text-transform:uppercase;letter-spacing:.07em}.who{display:flex;align-items:center;gap:.6rem}.who img{border-radius:50%;border:1px solid var(--line)}.theme-toggle{background:var(--panel);color:var(--dim);border:1px solid var(--line);width:2.05rem;height:2.05rem;padding:0;border-radius:var(--radius);display:grid;place-items:center;font-size:.95rem;line-height:1}.theme-toggle:hover{background:var(--raised);color:var(--text);filter:none}.theme-toggle.floating{position:fixed;top:1.25rem;right:1.25rem;z-index:5}button,.button{background:var(--accent-fill);color:var(--on-accent);border:1px solid transparent;border-radius:var(--radius);padding:.44rem .85rem;font:inherit;font-weight:520;letter-spacing:-.006em;cursor:pointer;text-decoration:none;display:inline-block;transition:background-color var(--fast),border-color var(--fast),box-shadow var(--fast),transform var(--fast),filter var(--fast)}button:hover,.button:hover{filter:brightness(1.09);box-shadow:var(--glow)}button:active,.button:active{transform:translateY(.5px)}button:focus-visible,.button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.38rem .55rem;font:inherit}select:hover{border-color:var(--line-strong)}.cards{display:grid;gap:.9rem;margin-bottom:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.05rem 1.1rem;box-shadow:var(--card-shadow);transition:border-color var(--fast),box-shadow var(--fast),background-color var(--fast)}article:hover{border-color:var(--line-strong);box-shadow:var(--glow)}article>p{margin:0 0 .75rem;font-size:1.05rem;font-weight:620;letter-spacing:-.012em}dl{display:grid;grid-template-columns:auto 1fr;gap:.32rem .75rem;margin:0;font-size:.855rem}dt{color:var(--dim)}dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}table{width:100%;border-collapse:collapse;font-size:.855rem}th{text-align:left;color:var(--faint);font-weight:600;padding:.5rem .55rem;border-bottom:1px solid var(--line);text-transform:uppercase;font-size:.67rem;letter-spacing:.08em}td{padding:.55rem;border-bottom:1px solid var(--hairline);vertical-align:top}tr:hover td{background:var(--row-hover)}.mono{font-family:var(--mono);font-size:.79rem;font-variant-ligatures:none}.detail{color:var(--dim);max-width:20rem;word-break:break-word}.pill{display:inline-block;padding:.1rem .48rem;border-radius:5px;font-size:.72rem;font-weight:500;background:var(--line);color:var(--dim);font-family:var(--mono)}.pill.posted{background:var(--ok-soft);color:var(--ok)}.pill.failed{background:var(--bad-soft);color:var(--bad)}.pill.skipped{background:var(--warn-soft);color:var(--warn)}.tabs{display:flex;gap:.15rem;flex-wrap:wrap;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.tab{background:transparent;color:var(--dim);border:1px solid transparent;border-radius:var(--radius) var(--radius) 0 0;padding:.5rem .85rem;font-size:.875rem;font-weight:500;letter-spacing:-.006em;border-bottom:2px solid transparent;margin-bottom:-1px}.tab:hover{background:var(--hover);color:var(--text);filter:none;box-shadow:none}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.status-grid{display:flex;flex-wrap:wrap;gap:.5rem}.status-choice{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:.5rem .8rem}.status-choice.active{border-width:2px;cursor:default;opacity:.9}.status-choice:disabled{cursor:default}.status-choice:not(.active):disabled{opacity:.5}.log{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius-lg);font-variant-ligatures:none;padding:.75rem;max-height:28rem;overflow:auto;margin:0;font-family:var(--mono);font-size:.78rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.checkbox{display:flex;align-items:center;gap:.35rem;color:var(--dim);font-size:.875rem}.todo-list{margin:0 0 .75rem;padding:0;list-style:none;font-size:.875rem}.todo-list li{display:flex;align-items:flex-start;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--hairline)}.todo-list li.done .todo-text{color:var(--dim);text-decoration:line-through}.todo-text{flex:1;word-break:break-word}.todo-actions{display:flex;gap:.25rem;flex-shrink:0}.mini{padding:.1rem .45rem;font-size:.8rem;line-height:1.4;background:var(--line);color:var(--text)}.mini:disabled{opacity:.4;cursor:default}.mini.danger{background:var(--bad-soft);color:var(--bad)}.add-todo{display:flex;gap:.4rem}.add-todo input{flex:1;min-width:0;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.4rem .55rem;font:inherit;font-size:.875rem}.add-todo input:focus{outline:2px solid var(--accent);outline-offset:-1px}.add-todo button{padding:.4rem .8rem;font-size:.875rem}.add-todo button:disabled{opacity:.5;cursor:default}.badge{margin-left:.4rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ok)}.status-choice.staged{box-shadow:0 0 0 1px var(--accent) inset}.confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}.confirm-bar p{margin:0;font-size:.875rem}.confirm{padding:.55rem 1.1rem;font-weight:600}.confirm:disabled{opacity:.45;cursor:default}.button-row{display:flex;gap:.5rem;flex-wrap:wrap}.secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.secondary:hover{background:var(--hover);border-color:var(--line-strong)}.secondary:disabled{opacity:.45;cursor:default}.config-editor{width:100%;min-height:26rem;resize:vertical;background:var(--sunken);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.75rem;font-family:var(--mono);font-size:.82rem;line-height:1.55;tab-size:2}.config-editor:focus{outline:2px solid var(--accent);outline-offset:-1px}.config-editor:disabled{opacity:.6}.restart-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-lg);background:var(--warn-softer);border:1px solid var(--warn-edge)}.restart-bar p{margin:0;color:var(--warn);font-size:.875rem}.backups-title{margin-top:1.75rem}.lg-heading{margin-top:1.75rem;margin-bottom:.5rem}.lg-add{margin:.5rem 0 .25rem;max-width:22rem}.lg-check{margin:.4rem 0;color:var(--text)}.lg-grid{display:grid;gap:1rem;margin-top:.5rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.lg-grid .field{margin-bottom:0}.lg-grid select,.lg-grid input[type=number]{width:100%;background:var(--sunken);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .55rem;font:inherit}.lg-expiry{flex:1.3!important}.chips{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0 0 .5rem;padding:0}.chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:.18rem .3rem .18rem .55rem;font-size:.8rem;font-family:var(--mono)}.chip:hover{border-color:var(--line-strong)}.chip-note{color:var(--dim);font-size:.75rem;font-style:normal}.chip-remove{background:transparent;color:var(--dim);border:0;padding:0 .25rem;font-size:.8rem;line-height:1;cursor:pointer}.chip-remove:hover{color:var(--bad);filter:none}.pill.delete{background:var(--bad-soft);color:var(--bad)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.timeout{background:var(--bad-soft);color:var(--bad)}.pill.log_only{background:var(--line);color:var(--dim)}.field{display:block;margin-bottom:1.25rem}.field>span{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.35rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--dim)}.field input[type=text]{width:100%;background:var(--sunken);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .6rem;font:inherit}.field input[type=text]:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.field .hint{margin:0 0 .6rem;font-size:.8rem;text-transform:none;letter-spacing:0}.field code{background:var(--line);padding:.05rem .3rem;border-radius:.2rem;font-size:.95em}.counter{font-style:normal;font-variant-numeric:tabular-nums;color:var(--dim)}.counter.over{color:var(--bad);font-weight:600}.rule-row{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.rule-number{flex-shrink:0;width:1.6rem;height:1.6rem;margin-top:.45rem;display:grid;place-items:center;border-radius:50%;background:var(--line);color:var(--dim);font-size:.75rem}.rule-row textarea{flex:1;min-width:0;resize:vertical;background:var(--sunken);color:var(--text);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .6rem;font:inherit;font-size:.875rem;line-height:1.5}.rule-actions{display:flex;flex-direction:column;gap:.2rem;flex-shrink:0}.rules-preview{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.85rem 1rem;margin:0;white-space:pre-wrap;word-break:break-word;font-size:.875rem;line-height:1.6}.pill.open{background:var(--ok-soft);color:var(--ok)}.pill.archived,.pill.deleted{background:var(--line);color:var(--dim)}.pill.closing,.pill.pending{background:var(--warn-soft);color:var(--warn)}.ok{color:var(--ok)}.bad{color:var(--bad)}.muted{color:var(--dim)}.error{color:var(--bad);background:var(--bad-softer);border:1px solid var(--bad-edge);padding:.6rem .8rem;border-radius:var(--radius)}.signin{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:1.5rem;padding:2rem 1.25rem;text-align:center}.signin-mascot{width:132px;height:132px;border-radius:24px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--card-shadow)}.signin-button{display:inline-flex;align-items:center;gap:.5rem;padding:.62rem 1.15rem;font-size:.95rem}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line)}.uptime{display:inline-flex;align-items:center;gap:.45rem;font-size:.8rem;color:var(--dim);letter-spacing:-.004em}.uptime strong{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.dot{width:.44rem;height:.44rem;border-radius:50%;display:inline-block}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot.bad{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.footer-note{margin:0;color:var(--faint);font-size:.8rem}.brand{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;letter-spacing:-.018em}.brand img{border-radius:5px}.brand-sub{color:var(--faint);font-weight:450}@media(max-width:640px){.app-footer{flex-direction:column;align-items:flex-start}}
