:root{--bg: #11131a;--card: #1b1f2a;--line: #2c3342;--fg: #eef1f7;--muted: #9aa4b8;--accent: #5b8cff;--ok: #3fae6b;--bad: #d1515a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100vh;display:flex;flex-direction:column}.bar{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}.bar a{color:var(--fg);text-decoration:none}.brand{font-weight:600;letter-spacing:.02em}#app{flex:1;width:100%;max-width:520px;margin:0 auto;padding:14px}footer{max-width:520px;margin:0 auto;padding:14px;color:var(--muted);font-size:12px}h1{font-size:20px;margin:0 0 10px}h2{font-size:16px;margin:18px 0 8px}p{margin:8px 0}.muted{color:var(--muted);font-size:14px}.err{color:var(--bad);font-size:14px}button,.btn{display:block;width:100%;margin:8px 0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--fg);font:inherit;text-align:left;text-decoration:none;cursor:pointer}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;text-align:center}button.small{width:auto;display:inline-block;padding:7px 12px;font-size:14px;margin-right:8px}button.sel{border-color:var(--accent)}button.ok{border-color:var(--ok)}button.bad{border-color:var(--bad)}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0}.score{display:flex;justify-content:space-between;font-size:15px}.score b{font-size:22px}.grid{display:grid;grid-template-columns:26px repeat(6,1fr);gap:4px;align-items:center}.grid .lbl{color:var(--muted);font-size:12px}.dot{height:12px;border-radius:3px;background:var(--line)}.dot.ok{background:var(--ok)}.dot.bad{background:var(--bad)}.dot.hidden{background:repeating-linear-gradient(45deg,#2c3342,#2c3342 3px,#222836 3px 6px)}.bar-wrap{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:6px 0 12px}.bar-fill{height:100%;background:var(--accent);transition:width .25s linear}.link{word-break:break-all;font-size:13px;color:var(--accent)}textarea{width:100%;min-height:72px;background:var(--card);color:var(--fg);border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit}.tag{font-size:12px;color:var(--muted)}ul{list-style:none;padding:0;margin:0}
