:root{color-scheme:light dark;--bg:#f6f8f8;--surface:#fff;--text:#152e32;--muted:#4e6367;--line:#c4d1d2;--brand:#075762;--on-brand:#fff;--danger:#a12525}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 system-ui,sans-serif}header,main,footer{max-width:780px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}header a{font-weight:650}nav{display:flex;gap:20px;flex-wrap:wrap}a{color:var(--brand);text-underline-offset:4px}h1{font-size:clamp(28px,5vw,40px);line-height:1.2;margin:28px 0 24px}h2{font-size:23px;line-height:1.3;margin:32px 0 12px}p,li{max-width:70ch}section.panel{background:var(--surface);padding:24px;border:1px solid var(--line);border-radius:12px;margin:24px 0}label{display:block;margin:16px 0 8px;font-weight:600}input[type=text]{width:100%;padding:14px;font:inherit;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--text)}input[type=checkbox]{width:22px;height:22px;flex-shrink:0;accent-color:var(--brand)}label.check{display:flex;gap:12px;align-items:start;font-weight:400}button{font:600 16px/1.5 system-ui,sans-serif;min-height:48px;padding:12px 20px;border:1px solid var(--brand);border-radius:6px;background:var(--brand);color:var(--on-brand);cursor:pointer;margin:12px 0}button.danger{background:var(--danger);border-color:var(--danger)}button.secondary{background:transparent;color:var(--brand)}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--brand);outline-offset:4px}.muted{color:var(--muted)}#status{white-space:pre-line;overflow-wrap:anywhere}footer{border-top:1px solid var(--line);font-size:15px}.hidden,[hidden]{display:none!important}@media(prefers-color-scheme:dark){:root{--bg:#102428;--surface:#183238;--text:#e9f2f3;--muted:#b4c7cb;--line:#526b70;--brand:#a0dfe5;--on-brand:#102428;--danger:#b42f35}}@media(max-width:480px){header{align-items:start;flex-direction:column;gap:12px}header,main,footer{padding:20px}section.panel{padding:20px}}
