:root{--bg:#f6f7f9;--surface:#fff;--text:#16202b;--muted:#5c6b7a;--line:#d9dee5;--primary:#0b3d5c;--primary-text:#fff;--accent:#c8102e;--warn-bg:#fff4e5;--warn-line:#f0a500;--info-bg:#eaf3fb;--info-line:#3a7bd5;--ok:#1b7f3b;--danger:#b3261e;--radius:8px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4}@media (prefers-color-scheme:dark){:root{--bg:#0f1419;--surface:#182029;--text:#e8edf2;--muted:#9aa8b6;--line:#2b3642;--primary:#5aa9e6;--primary-text:#0b1620;--warn-bg:#3a2a08;--info-bg:#10233a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--primary)}.top{background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:1rem;padding:.6rem 1rem;display:flex}.brand{color:var(--text);font-weight:700;text-decoration:none}.brand span{color:var(--muted);margin-left:.3rem;font-weight:400}.nav{flex-wrap:wrap;gap:.25rem;display:flex}.nav a{border-radius:var(--radius);color:var(--text);padding:.35rem .6rem;text-decoration:none}.nav a.active,.nav a:hover{background:var(--bg)}.who{color:var(--muted);align-items:center;gap:.5rem;margin-left:auto;font-size:.9rem;display:flex}.app{max-width:1100px;margin:0 auto;padding:1rem}.muted{color:var(--muted)}h1{margin:.2rem 0 .8rem;font-size:1.4rem}h2{margin:1.2rem 0 .5rem;font-size:1.1rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:1rem;padding:1rem}.row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.9rem;display:flex}label.inline{color:var(--text);flex-direction:row;align-items:center;gap:.5rem}input,select,textarea{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:6px;min-width:0;padding:.45rem .55rem}textarea{min-height:7rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9rem}input[type=checkbox]{width:1.1rem;height:1.1rem}button{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:.45rem .9rem}button.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}button.danger{color:var(--danger);border-color:var(--danger)}button:disabled{opacity:.5;cursor:progress}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.45rem .5rem}th{color:var(--muted);font-weight:600}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.25rem;margin-bottom:1rem;display:flex}.tabs a{color:var(--text);border-bottom:2px solid #0000;padding:.45rem .7rem;text-decoration:none}.tabs a.active{border-bottom-color:var(--primary);font-weight:600}.pill{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:.1rem .5rem;font-size:.8rem;display:inline-block}.pill.ok{color:var(--ok);border-color:var(--ok)}.pill.warn{color:var(--warn-line);border-color:var(--warn-line)}.pill.off{color:var(--muted)}.notice{border-radius:var(--radius);border:1px solid var(--info-line);background:var(--info-bg);margin:.5rem 0;padding:.6rem .8rem}.notice.warning{border-color:var(--warn-line);background:var(--warn-bg)}.notice.error{border-color:var(--danger);background:var(--warn-bg)}.notice code{font-size:.85rem}.toasts{z-index:10;flex-direction:column;gap:.5rem;display:flex;position:fixed;bottom:1rem;right:1rem}.toast{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--ok);border-radius:var(--radius);max-width:26rem;padding:.6rem .9rem;box-shadow:0 4px 14px #00000026}.toast.error{border-left-color:var(--danger)}.actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.kv{grid-template-columns:max-content 1fr;gap:.25rem 1rem;font-size:.92rem;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}details summary{cursor:pointer;color:var(--primary)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.hint{color:var(--muted);font-size:.8rem}@media (width<=600px){.app{padding:.6rem}th,td{padding:.35rem}}
