:root{--bg: #fafaf9;--fg: #1c1917;--muted: #57534e;--card: #ffffff;--line: #d6d3d1;--accent: #1d4ed8;--accent-fg: #ffffff;--ok: #166534;--warn: #92400e;--bad: #991b1b;--ok-bg: #dcfce7;--warn-bg: #fef3c7;--bad-bg: #fee2e2}@media(prefers-color-scheme:dark){:root{--bg: #0c0a09;--fg: #f5f5f4;--muted: #a8a29e;--card: #1c1917;--line: #44403c;--accent: #60a5fa;--accent-fg: #0c0a09;--ok: #86efac;--warn: #fcd34d;--bad: #fca5a5;--ok-bg: #052e16;--warn-bg: #451a03;--bad-bg: #450a0a}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,sans-serif}main{max-width:52rem;margin:0 auto;padding:1.5rem 1rem 4rem}h1{font-size:1.75rem;margin:.5rem 0 1rem}h2{font-size:1.25rem;margin:2rem 0 .75rem}.meta{color:var(--muted);font-size:.9rem;margin:.25rem 0}.card{background:var(--card);border:1px solid var(--line);border-radius:.75rem;padding:1rem 1.25rem;margin:.75rem 0}.verdict.ready{border-color:var(--ok)}.verdict.ready-with-warnings{border-color:var(--warn)}.verdict.not-ready{border-color:var(--bad)}.score strong{font-size:2.5rem}.score span{color:var(--muted)}.note{background:var(--warn-bg);color:var(--warn);padding:.5rem .75rem;border-radius:.5rem}.error{background:var(--bad-bg);color:var(--bad);padding:.5rem .75rem;border-radius:.5rem}.badge{font-size:.8rem;padding:.1rem .5rem;border-radius:999px;border:1px solid currentColor;text-transform:capitalize}.badge.pass{color:var(--ok)}.badge.warn,.badge.unknown{color:var(--warn)}.badge.fail{color:var(--bad)}.badge.not-applicable{color:var(--muted)}.sev{color:var(--muted);font-size:.8rem;text-transform:uppercase}button{font:inherit;cursor:pointer}button:disabled{cursor:progress;opacity:.7}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.primary{background:var(--accent);color:var(--accent-fg);border:0;border-radius:.5rem;padding:.6rem 1.1rem;font-weight:600}.link{background:none;border:0;color:var(--accent);text-decoration:underline;padding:0}.link.danger{color:var(--bad)}.upload{display:block;border:2px dashed var(--line);border-radius:.75rem;padding:2rem 1rem;text-align:center;margin:1rem 0}.upload input{display:block;margin:.75rem auto 0}.stages{list-style:none;padding:0;display:grid;gap:.5rem}.stages li{padding:.5rem .75rem;border:1px solid var(--line);border-radius:.5rem;color:var(--muted)}.stages li.current{color:var(--fg);border-color:var(--accent);font-weight:600}.stages li.done{color:var(--ok)}.plan{list-style:none;padding:0}.step{border-bottom:1px solid var(--line);padding:.75rem 0}.step-head{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.step.done strong,.step.skipped strong{text-decoration:line-through;color:var(--muted)}.status{border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:.5rem;padding:.25rem .75rem;min-width:6.5rem}.status.done{border-color:var(--ok);color:var(--ok)}.status.in-progress{border-color:var(--accent);color:var(--accent)}.setup{margin:.5rem 0 0 1rem}code{background:var(--bg);padding:0 .25rem;border-radius:.25rem;word-break:break-all}.md{white-space:pre-wrap;overflow-x:auto;background:var(--bg);padding:.75rem;border-radius:.5rem;font-size:.85rem}.checks{list-style:none;padding:0}.checks li{padding:.5rem 0;border-top:1px solid var(--line)}summary{cursor:pointer;font-weight:600}.projects{padding-left:1.25rem}.warnings{color:var(--warn)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
