:root{--bg:#f6f5f2;--fg:#0b0b12;--muted:#5d6270;--card:#fff;--line:#e4e2dc;--accent:#2e56f5;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;--soft:#eef0fb}@media (prefers-color-scheme:dark){:root{--bg:#0b1236;--fg:#f3f4f8;--muted:#aab0c0;--card:#121a44;--line:#263062;--soft:#1a2358}}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 Inter,-apple-system,system-ui,sans-serif}a{color:inherit}main{max-width:1080px;margin:0 auto;padding:24px 16px 80px}header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:5}header.top .brand{font-family:Archivo Black,Inter,sans-serif;letter-spacing:-.045em;font-size:20px}header.top nav{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}h1{font-size:26px;margin:8px 0 4px}h2{font-size:20px;margin:44px 0 10px;display:flex;align-items:baseline;gap:10px}h2 small{font-size:13px;color:var(--muted);font-weight:400}h3{font-size:15px;margin:18px 0 6px}.muted,p.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:10px 0}.bar{height:14px;background:var(--soft);border-radius:999px;overflow:hidden;position:relative}.bar>i{background:var(--accent)}.bar>b,.bar>i{position:absolute;left:0;top:0;bottom:0;border-radius:999px}.bar>b{background:repeating-linear-gradient(45deg,#c6a8ef 0 6px,#a8b6f3 6px 12px);opacity:.6}.bar.big{height:26px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grid{display:grid;grid-template-columns:1fr;gap:10px}@media (min-width:760px){.grid.two{grid-template-columns:1fr 1fr}.grid.shots{grid-template-columns:360px 1fr}}.pill{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;padding:2px 9px;border-radius:999px;color:#fff;background:var(--muted)}.pill.ok{background:var(--ok)}.pill.warn{background:var(--warn)}.pill.bad{background:var(--bad)}.pill.accent{background:var(--accent)}.roadmap{display:flex;gap:8px;align-items:stretch;overflow-x:auto;padding-bottom:6px}.roadmap .ph{flex:1 0 220px;border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--card)}.roadmap .ph.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--soft) inset}.roadmap .ph h4{margin:0 0 6px;font-size:14px}.roadmap .ph ol{margin:0;padding-left:18px;font-size:13px}.roadmap .ph p{margin:0;font-size:13px;color:var(--muted)}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:600;font-size:12px}img.shot{width:100%;height:auto;border:1px solid var(--line);border-radius:8px;background:#fff;max-height:320px;object-fit:cover;object-position:top}.btn,button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:10px;padding:8px 14px;cursor:pointer}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}input,textarea{font:inherit;width:100%;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--card);color:var(--fg)}form.inline{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.ok-text{color:var(--ok)}.bad-text{color:var(--bad)}.warn-text{color:var(--warn)}.login{max-width:420px;margin:12vh auto}details summary{cursor:pointer}.small,code{font-size:13px}code{font-family:ui-monospace,Menlo,monospace}.navgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.thumb{display:block;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--card);text-decoration:none;color:inherit}.thumb img{width:100%;height:96px;object-fit:cover;object-position:top;display:block;background:#fff}.thumb span{display:block;font-size:12px;padding:6px 8px;line-height:1.3}.thumb.off{opacity:.4;filter:grayscale(1);cursor:not-allowed}