:root{--bg: #f6f7f9;--card: #ffffff;--ink: #1d2430;--muted: #6a7383;--line: #e1e5eb;--accent: #2e7d9a;--accent-ink: #ffffff;--s1: #2e7d9a;--s2: #c45c3c;--s3: #7a8b2e;--ok: #2f7d4a;--bad: #b3261e;--warn-bg: #fff6e0;--warn-ink: #6b4e00;--err-bg: #fdecea}@media (prefers-color-scheme: dark){:root{--bg: #12161c;--card: #1b2129;--ink: #e6e9ee;--muted: #9aa3b2;--line: #2c3440;--accent: #5fb1cf;--accent-ink: #0d1116;--s1: #5fb1cf;--s2: #e38b6d;--s3: #b7c66a;--ok: #6cc28a;--bad: #f28b82;--warn-bg: #3a3014;--warn-ink: #f2d68a;--err-bg: #3b1d1b}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--accent);text-decoration:none}h1{font-size:1.5rem;margin:.4rem 0 1rem}h2{font-size:1.1rem;margin:0 0 .5rem}h3{font-size:1rem;margin:0 0 .3rem}.top{display:flex;gap:1rem;align-items:center;padding:.6rem 1.2rem;border-bottom:1px solid var(--line);background:var(--card)}.top .brand{font-weight:700;color:var(--ink);margin-right:auto}.page{max-width:980px;margin:0 auto;padding:1rem 16px 4rem}.card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1rem 1.1rem;margin:0 0 1rem}.muted{color:var(--muted)}.small{font-size:.85rem}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.col{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}.tile{display:flex;flex-direction:column;gap:.3rem;color:var(--ink)}input,select{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:6px;padding:.35rem .5rem}input[type=checkbox],input[type=radio]{padding:0}button,.button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:6px;padding:.4rem .8rem;display:inline-block}button.primary,.button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.link{border:0;background:none;color:var(--accent);padding:0}button.tiny{padding:0 .3rem;font-size:.75rem;border:0;background:none;color:var(--muted)}.error{background:var(--err-bg);color:var(--bad);padding:.5rem .7rem;border-radius:6px;margin:.5rem 0}.warn{background:var(--warn-bg);color:var(--warn-ink);padding:.5rem .7rem;border-radius:6px;margin:.5rem 0;font-size:.9rem}.ok{color:var(--ok);font-size:.85rem;margin-left:.5rem}.bad{color:var(--bad);font-size:.85rem;margin-left:.5rem}.login{max-width:380px;margin:12vh auto;display:flex;flex-direction:column;gap:.7rem}.login label{display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}.form{display:flex;flex-direction:column;gap:.8rem;margin-bottom:.8rem}.form label{display:flex;flex-direction:column;gap:.2rem}.form label.small{flex-direction:row;gap:.4rem;align-items:center}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}table.design td{vertical-align:middle}.lvl{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:12px;padding:0 .4rem;margin:.1rem .2rem .1rem 0;font-size:.85rem}.lvl.ref{border-color:var(--accent)}.lvl em{color:var(--muted);font-size:.75rem;margin-left:.2rem}.stats{display:flex;gap:1.5rem;flex-wrap:wrap;margin:.3rem 0 .6rem}.stat .v{font-size:1.3rem;font-weight:600}.stat .k{color:var(--muted);font-size:.8rem}.fit{display:flex;gap:1rem;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:.6rem 0;border-top:1px solid var(--line)}.fit:first-of-type{border-top:0}.status{margin-left:.5rem;font-size:.75rem;padding:.05rem .45rem;border-radius:10px;background:var(--line)}.status.done{background:var(--ok);color:var(--card)}.status.failed{background:var(--bad);color:var(--card)}.tabs{display:flex;gap:.2rem;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:1rem}.tabs a{padding:.45rem .7rem;color:var(--muted);border-bottom:2px solid transparent}.tabs a.on{color:var(--ink);border-bottom-color:var(--accent)}.findings{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.8rem}.finding p{margin:0}svg.chart{width:100%;height:auto;display:block}svg.chart .axis{stroke:var(--line)}svg.chart .label,svg.chart .value,svg.chart .tick{fill:var(--ink);font-size:13px}svg.chart .tick{fill:var(--muted);font-size:11px}svg.chart .series rect{fill:var(--s1);opacity:.85}svg.chart .series.s1 rect{fill:var(--s2)}svg.chart .series.s2 rect{fill:var(--s3)}svg.chart .whisker{stroke:var(--ink);stroke-width:1.4}.legend{display:flex;gap:1rem;font-size:.85rem;margin-bottom:.4rem}.legend .chip i{display:inline-block;width:.8rem;height:.8rem;border-radius:2px;margin-right:.3rem;vertical-align:-1px;background:var(--s1)}.legend .chip.s1 i{background:var(--s2)}.legend .chip.s2 i{background:var(--s3)}.heatmap td,.heatmap th{text-align:center;font-size:.85rem}@media (max-width: 600px){.top{flex-wrap:wrap}.fit{flex-direction:column;align-items:flex-start}}svg.chart .line .ln{fill:none;stroke:var(--s1);stroke-width:2}svg.chart .line .band{fill:var(--s1);opacity:.15}svg.chart .line.s1 .ln{stroke:var(--s2)}svg.chart .line.s1 .band{fill:var(--s2)}svg.chart .line.s2 .ln{stroke:var(--s3)}svg.chart .line.s2 .band{fill:var(--s3)}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.7rem;margin-bottom:.8rem}.product{border:1px solid var(--line);border-radius:8px;padding:.6rem;display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.product label{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.product select{max-width:60%}.product input[type=range]{width:100%}.product .head{display:flex;justify-content:space-between;align-items:center;font-weight:600}.busy{opacity:.55;transition:opacity .2s}.tour{position:fixed;right:16px;bottom:16px;width:min(380px,calc(100vw - 32px));z-index:10;box-shadow:0 8px 28px #0000002e}.tour p{font-size:.9rem;margin:.3rem 0 .7rem}.tut-spot{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}.learn{display:grid;grid-template-columns:220px 1fr;gap:1rem;align-items:start}.toc{position:sticky;top:1rem;display:flex;flex-direction:column;gap:.5rem}.toc a{display:block;padding:.1rem 0;color:var(--ink)}.toc a.on{color:var(--accent);font-weight:600}.prose{line-height:1.6}.prose h1{margin-top:0}.prose h2{margin-top:1.4rem}.prose blockquote{margin:.8rem 0;padding:.4rem .8rem;border-left:3px solid var(--accent);color:var(--muted)}.prose table{margin:.6rem 0;font-size:.9rem}.prose a[href^="#/tour"]{font-weight:600}.prose a[href^="#/tour"]:before{content:"▶ "}@media (max-width: 760px){.learn{grid-template-columns:1fr}.toc{position:static}}.chip-check{display:inline-flex;align-items:center;gap:.2rem;margin-right:.7rem;white-space:nowrap}td.row input[type=number]{width:5.5rem}
