
:root{color-scheme:light dark;--ink:#1a1a1a;--muted:#555;--brand:#0b4f8a;--bg:#fff;--card:#f4f6f8;--bad:#b00020;--btn-text:#fff}
@media (prefers-color-scheme:dark){:root{--ink:#eee;--muted:#bbb;--brand:#7fb8ff;--bg:#121417;--card:#1e2226;--bad:#ff8a8a;--btn-text:#0b1620}}
:root[data-theme="dark"]{--ink:#eee;--muted:#bbb;--brand:#7fb8ff;--bg:#121417;--card:#1e2226;--bad:#ff8a8a;--btn-text:#0b1620}
*{box-sizing:border-box}body{margin:0;font:18px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--brand)}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px}
.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;border-bottom:1px solid var(--card)}
.brand{font-weight:700}nav{display:flex;flex-wrap:wrap;gap:16px;align-items:center}nav form{margin:0}
main{max-width:640px;margin:0 auto;padding:24px 16px}
label{display:block;font-weight:600;margin:16px 0 4px}input{width:100%;font:inherit;padding:12px;border:1px solid var(--muted);border-radius:8px;background:var(--bg);color:var(--ink)}
input[type=checkbox]{width:auto;margin-right:8px}
button{font:inherit;padding:12px 20px;border:0;border-radius:8px;background:var(--brand);color:var(--btn-text);margin-top:16px;cursor:pointer}
button.link{background:none;color:var(--brand);padding:0;margin:0;min-height:44px;text-decoration:underline}
.error{color:var(--bad);font-weight:600}.or{margin:32px 0 8px;color:var(--muted)}
.cards{list-style:none;padding:0;display:grid;gap:16px}.cards a,.cards .down{display:block;padding:20px;border-radius:12px;background:var(--card);color:var(--ink);text-decoration:none}
.cards a:hover,.cards a:focus{outline:3px solid var(--brand)}.cards h2{margin:0 0 4px;font-size:1.2em}.cards p{margin:0;color:var(--muted)}
.notice{padding:16px 20px;border-radius:12px;background:var(--card);border:2px solid var(--brand)}.notice a{color:var(--brand)}
.hub-page a{color:var(--brand)}
.not-allowed{border:3px solid var(--bad);border-radius:12px;padding:20px}.not-allowed h1{color:var(--bad);font-size:1.3em}
