:root{--bg: #faf8f5;--paper: #ffffff;--ink: #1f1b18;--ink-soft:#4a433e;--muted: #857a72;--line: #ebe4dc;--accent: #c2410c;--danger: #b42318;--danger-soft: #fdecea;--ok: #15803d;--ok-soft: #e7f6ec;--shadow: 0 1px 3px rgba(31,27,24,.06), 0 4px 14px rgba(31,27,24,.05);--radius: 14px;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #161311;--paper: #211d1a;--ink: #f3eee9;--ink-soft:#cfc6be;--muted: #9a8f86;--line: #36302b;--danger: #f2675a;--danger-soft: #3a1f1b;--ok: #4ade80;--ok-soft: #16281c;--shadow: 0 1px 3px rgba(0,0,0,.4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0}.app{max-width:720px;margin:0 auto;padding-bottom:calc(32px + env(safe-area-inset-bottom))}main{padding:0 16px}.center{min-height:100vh;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;padding:16px;text-align:center;color:var(--muted)}.topbar{position:sticky;top:0;z-index:10;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar h1{font-size:1.15rem;font-weight:700}.banner{margin-top:12px;padding:10px 14px;border-radius:10px;font-size:.9rem}.banner.error{background:var(--danger-soft);color:var(--danger)}.btn{background:var(--accent);color:#fff;font-weight:600;padding:9px 16px;border-radius:999px;font-size:.92rem}.link-btn{color:var(--accent);font-weight:600;font-size:.9rem}.list{margin-top:16px;list-style:none;display:flex;flex-direction:column;gap:10px}.card{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);overflow-wrap:anywhere}.empty{text-align:center;color:var(--muted);padding:32px 0}.footer{margin-top:24px;text-align:center;font-size:.85rem;color:var(--muted)}.btn:disabled,.link-btn:disabled{opacity:.5;cursor:default}a.btn{display:inline-block;text-decoration:none;align-self:flex-start}.banner.ok{background:var(--ok-soft);color:var(--ok)}.muted{color:var(--muted)}.small{font-size:.82rem}code{font-size:.9em}.instance{flex-direction:column;align-items:stretch;gap:12px}.inst-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.inst-head h2{font-size:1.05rem}.instance>.btn,.instance>.link-btn{align-self:flex-start}.instance .banner{margin-top:0}.states{display:flex;flex-direction:column;gap:6px;font-size:.95rem;color:var(--ink-soft)}.state{display:flex;align-items:center;gap:10px}.dot{width:10px;height:10px;border-radius:50%;flex:none}.dot.on{background:var(--ok)}.dot.off{background:var(--danger)}.login{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1px solid var(--line)}.login p{font-size:.92rem;color:var(--ink-soft);padding-top:6px}.login input{padding:10px 14px;font:inherit;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);min-width:0}.actions{display:flex;align-items:center;gap:16px}.output{margin-top:8px;white-space:pre-wrap;font-size:.8rem;max-height:160px;overflow:auto}
