:root{--bg:#0e1116;--panel:#151a21;--line:#242c37;--ink:#d8dee6;--dim:#8b95a3;--accent:#7cc4ff;--good:#6fcf8e;--bad:#e08a7a;--mono:ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, monospace;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Inter, Helvetica, Arial, sans-serif;--measure:34rem}@media (prefers-color-scheme:light){:root{--bg:#fbfcfd;--panel:#fff;--line:#dfe4ea;--ink:#1a2029;--dim:#64707f;--accent:#0b6bcb;--good:#217a45;--bad:#b23c26}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;margin:0}main{max-width:62rem;margin:0 auto;padding:0 1.25rem 5rem}h1,h2,h3,h4{letter-spacing:-.015em;margin:0 0 .6em;line-height:1.2}h1{font-size:clamp(2rem,5vw,3rem)}h2{margin-top:3.5rem;font-size:1.6rem}h3{font-size:1.05rem}p{max-width:var(--measure)}a{color:var(--accent);text-underline-offset:2px;text-decoration-thickness:1px}code{font:.9em var(--mono);background:color-mix(in srgb, var(--line) 55%, transparent);border-radius:3px;padding:.1em .35em}pre{font:.85rem/1.55 var(--mono);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:1rem 1.1rem;overflow-x:auto}pre code{font-size:inherit;background:0 0;padding:0}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.top{justify-content:space-between;align-items:center;gap:1rem;max-width:62rem;margin:0 auto;padding:1.25rem;display:flex}.wordmark{font:600 1.05rem var(--mono);color:var(--ink);text-decoration:none}.top nav{gap:1.25rem;font-size:.9rem;display:flex}.bottom{border-top:1px solid var(--line);color:var(--dim);padding:1.5rem 1.25rem;font-size:.88rem}.bottom p{max-width:62rem;margin:0 auto}.hero p.lede{color:var(--ink);font-size:1.15rem}.hero p{color:var(--dim)}.hero .cta{flex-wrap:wrap;align-items:center;gap:.75rem;max-width:none;margin:1.75rem 0 0;display:flex}.cta code{border:1px solid var(--line);background:var(--panel);padding:.5rem .8rem;font-size:.95rem}.button{border:1px solid var(--accent);color:var(--accent);border-radius:6px;padding:.5rem .9rem;font-size:.95rem;text-decoration:none;display:inline-block}.scorer{border:1px solid var(--line);background:var(--panel);border-radius:10px;margin:2rem 0 0;overflow:hidden}.controls{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.register{gap:.4rem;display:flex}.reg,.chip{font:.85rem var(--sans);color:var(--dim);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .7rem}.reg.active{color:var(--bg);background:var(--ink);border-color:var(--ink)}.reg.gamed{border-style:dashed}.reg:hover,.chip:hover{color:var(--ink)}.profile{color:var(--dim);align-items:center;gap:.4rem;font-size:.85rem;display:flex}select{font:.85rem var(--mono);background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:.3rem .4rem}.blurb{color:var(--dim);border-bottom:1px solid var(--line);max-width:none;margin:0;padding:.7rem 1rem;font-size:.9rem}.split{grid-template-columns:1fr 1fr;min-height:27rem;display:grid}@media (width<=52rem){.split{grid-template-columns:1fr}}.pane{min-width:0}.pane.doc{border-right:1px solid var(--line)}@media (width<=52rem){.pane.doc{border-right:0;border-bottom:1px solid var(--line)}}textarea{resize:vertical;width:100%;height:100%;min-height:27rem;color:var(--ink);font:.82rem/1.6 var(--mono);background:0 0;border:0;padding:1rem}textarea:focus{outline:2px solid var(--accent);outline-offset:-2px}.pane.out{max-height:40rem;padding:1rem;overflow-y:auto}.pane.out.busy,#panel.busy{opacity:.55;transition:opacity .12s}.headline{font:.9rem var(--mono);color:var(--dim);max-width:none;margin:0 0 .9rem}.headline b{color:var(--ink);font-size:1.5rem}.headline .of{color:var(--dim)}.headline .sep{opacity:.5;margin:0 .5rem}.verdict{border-radius:4px;margin-left:.5rem;padding:.1rem .4rem;font-size:.8rem}.verdict.pass{color:var(--good);border:1px solid}.verdict.fail{color:var(--bad);border:1px solid}table.dims{border-collapse:collapse;width:100%;font-size:.8rem}table.dims th,table.dims td{text-align:left;vertical-align:top;border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);padding:.3rem .4rem .3rem 0;font-weight:400}table.dims th[scope=row]{font-family:var(--mono);white-space:nowrap;width:1%}table.dims .num{white-space:nowrap;font-family:var(--mono);width:1%;padding-right:.7rem}table.dims .num b{text-align:right;min-width:2.2ch;display:inline-block}.bar{letter-spacing:-.12em;color:var(--accent);margin-right:.5rem}table.dims .detail{color:var(--dim)}tr.inactive th,tr.inactive td{color:color-mix(in srgb, var(--dim) 65%, transparent)}.clean-summary th{padding-top:.5rem}.clean-summary summary{cursor:pointer;color:var(--dim);font-family:var(--sans)}table.nested{margin-top:.4rem}.findings{margin-top:1.5rem}.findings h3{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);font-size:.8rem}.fgroup h4{font:.78rem var(--mono);color:var(--dim);margin:.9rem 0 .35rem}.finding{text-align:left;border:0;border-left:2px solid var(--line);cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;margin-bottom:.35rem;padding:.3rem 0 .3rem .7rem;display:block}.finding:hover{border-left-color:var(--accent);background:color-mix(in srgb, var(--line) 30%, transparent)}.finding .at{font:.72rem var(--mono);color:var(--dim);margin-right:.5rem}.finding .msg{font-size:.83rem}.finding .hint{color:var(--accent);margin-top:.1rem;font-size:.8rem;display:block}.no-findings,.error,.over-limit{color:var(--dim);font-size:.85rem}.error{color:var(--bad)}.more{border-top:1px solid var(--line);padding:.7rem 1rem}.more summary{cursor:pointer;color:var(--dim);font-size:.85rem}.chips{flex-wrap:wrap;gap:.4rem;margin-top:.7rem;display:flex}.note{border-top:1px solid var(--line);color:var(--dim);max-width:none;margin:0;padding:.7rem 1rem;font-size:.8rem}.cards{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.9rem;margin:1.5rem 0;display:grid}.card{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:.9rem 1rem}.card h3{margin-bottom:.35rem;font-size:.95rem}.card p{color:var(--dim);margin:0 0 .6rem;font-size:.85rem}.card pre{margin:0;padding:.5rem .6rem;font-size:.78rem}.claims{gap:1rem;margin:1.5rem 0;display:grid}.claim{border-left:2px solid var(--line);padding-left:1rem}.claim b{display:block}.claim p{color:var(--dim);margin:.2rem 0 0;font-size:.92rem}.claim .src{font:.78rem var(--mono);color:color-mix(in srgb, var(--dim) 80%, transparent)}
