:root{--g-kinds:#94600a;--g-quality:#8b3d8f;--g-practice:#0b7285}:root[data-theme=dark]{--g-kinds:#e3a94b;--g-quality:#d391d6;--g-practice:#4fc3d3}[data-group=kinds]{--accent:var(--g-kinds)}[data-group=quality]{--accent:var(--g-quality)}[data-group=practice]{--accent:var(--g-practice)}@keyframes fill-up{to{width:100%}}@keyframes slide-in{0%{opacity:0;transform:translate(-8px)}}@keyframes pulse{50%{transform:scale(1.15)}}textarea{font-size:13px}.key{vertical-align:0;width:10px;height:10px;margin:0 2px 0 8px;display:inline-block}.grid-2.wide-left{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}.slider{flex-direction:column;gap:4px;display:flex}.slider .label{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;display:flex}.slider .label strong{font:600 13px var(--mono);color:var(--ink);letter-spacing:0}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.legend-inline{font:11px var(--mono);color:var(--ink-3);align-items:center;gap:6px;display:inline-flex}@media (width<=1100px){.grid-2.wide-left{grid-template-columns:minmax(0,1fr)}}.check{font:12px var(--mono);color:var(--ink-2);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.check input{width:auto;accent-color:var(--accent)}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.grid-2+.grid-2,.runner{margin-top:24px}.grid-2{align-items:start}.card-title{display:block}.card .label{font:500 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.note code,.note strong{font-style:normal}.note code{font:14px var(--mono)}@media (width<=1000px){.grid-3{grid-template-columns:minmax(0,1fr)}}.code{counter-reset:ln;font:13px/1.7 var(--mono);background:var(--paper);border:1px solid var(--rule);margin:0;padding:8px 0;list-style:none;overflow-x:auto}.code li{counter-increment:ln;border-left:3px solid #0000;align-items:baseline;gap:10px;padding:0 12px 0 0;display:flex}.code li:before{content:counter(ln);text-align:right;width:2.4em;color:var(--ink-3);flex:none;font-size:11px}.code code{font:inherit;white-space:pre;flex:1}.code li.hit{background:color-mix(in srgb, var(--ok) 13%, transparent);border-left-color:var(--ok)}.code li.miss{background:var(--bad-tint);border-left-color:var(--bad)}.code li.partial{background:color-mix(in srgb, var(--mark) 55%, transparent);border-left-color:#b8860b}.code li.mutated,.code li.changed{background:color-mix(in srgb, var(--mark) 55%, transparent);border-left-color:var(--accent)}.code li.current{background:var(--accent-tint);border-left-color:var(--accent)}.code li.del{background:var(--bad-tint);color:var(--bad)}.code li.add{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}.code.diff code{white-space:pre-wrap;overflow-wrap:anywhere}.branch-badge{flex:none;gap:3px;display:inline-flex}.branch-badge b{width:18px;height:18px;font:600 10px var(--mono);color:var(--bad);border:1px solid var(--bad);place-items:center;display:inline-grid}.branch-badge b.on{color:var(--sheet);background:var(--ok);border-color:var(--ok)}.results{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.results li{border:1px solid var(--rule);background:var(--paper);grid-template-columns:22px minmax(0,1fr) auto;align-items:baseline;gap:2px 8px;padding:6px 8px;display:grid}.results li .tick{font:600 13px var(--mono)}.results li.ok .tick{color:var(--ok)}.results li.bad{border-color:color-mix(in srgb, var(--bad) 50%, transparent);background:var(--bad-tint)}.results li.bad .tick{color:var(--bad)}.results code{font:13px var(--mono);overflow-wrap:anywhere}.results small{font:12px var(--mono);color:var(--bad);grid-column:2/-1}.results li.ok small{color:var(--ink-3)}.results .link-btn{margin:0;font-size:16px;text-decoration:none}.stage-bars{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.stage-bars button,.kind-bars li{width:100%;font:14px var(--sans);color:var(--ink);text-align:left;background:var(--sheet);border:1px solid var(--rule);grid-template-columns:minmax(0,10rem) minmax(0,1fr) 4.2rem;align-items:center;gap:12px;padding:8px 10px;display:grid}.stage-bars button{cursor:pointer}.stage-bars button:hover,.stage-bars button.on{border-color:var(--accent);background:var(--accent-tint)}.stage-bars .bar,.kind-bars .bar,.flaky-list .bar{width:100%;margin:0}.stage-bars .num,.kind-bars .num{font:500 13px var(--mono);text-align:right}.big-num{font:400 48px/1 var(--serif);color:var(--accent)}.kind-bars{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.kind-bars li{background:0 0;border:0;padding:4px 0;font-size:13px}.chart .series.muted{stroke:var(--ink-3);stroke-dasharray:5 4}.key.you,.key.base{vertical-align:middle;width:16px;height:3px;margin-left:10px}.key.you{background:var(--accent)}.key.base{background:repeating-linear-gradient(90deg, var(--ink-3) 0 5px, transparent 5px 8px)}.numline{width:100%;height:auto;display:block}.numline .zone{stroke:var(--sheet);stroke-width:1px}.numline .zone.a{fill:color-mix(in srgb, var(--accent) 30%, var(--paper))}.numline .zone.b{fill:color-mix(in srgb, var(--accent) 55%, var(--paper))}.numline .zone.c{fill:color-mix(in srgb, var(--accent) 80%, var(--paper))}.numline .zone.bad{fill:var(--bad-tint)}.numline .tick{fill:var(--ink-3);font:11px var(--mono);text-anchor:middle}.numline .probe{fill:var(--ink);stroke:var(--sheet);stroke-width:2px}.numline .probe.bad{fill:var(--bad)}.probe-form{align-items:flex-end;gap:8px;display:flex}.probe-form .field{flex:1}.table.spec td{padding:6px 12px 6px 0}.table.spec td:first-child{width:40%}.segmented.wrap button{flex:auto}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;display:grid}.choice-grid button,.choice-list button{font:14px var(--sans);color:var(--ink);text-align:left;background:var(--paper);border:1px solid var(--rule);cursor:pointer;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.choice-grid button small{color:var(--ink-3);font-size:12px}.choice-grid button:hover,.choice-list button:hover{border-color:var(--accent)}.choice-grid button[aria-pressed=true],.choice-list button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.choice-grid button[aria-pressed=true] small{color:var(--on-accent)}.choice-list{flex-direction:column;gap:4px;display:flex}.busy-bar{background:var(--rule);height:4px;overflow:hidden}.busy-bar span{background:var(--accent);width:0;height:100%;animation:2.4s linear forwards fill-up;display:block}.table.matrix td{white-space:nowrap}.table.matrix td:last-child{white-space:nowrap;width:auto}.components{align-items:stretch;gap:0;display:flex}.component{border:1px solid var(--rule-strong);background:var(--paper);flex-direction:column;flex:1 1 0;gap:4px;min-width:0;padding:12px;display:flex}.component strong{font:400 20px/1.2 var(--serif);color:var(--accent)}.component small{font:12px var(--mono);color:var(--ink-2);overflow-wrap:anywhere}.link-line{border-top:2px dashed var(--ink-3);flex:1.2 1 0;justify-content:center;align-items:center;min-width:0;margin-top:30px;padding:8px;display:flex}.link-line.real{border-top:2px solid var(--accent)}.wire{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.wire .label{font-size:10px}.results-card{margin-top:24px}.table tr.bad-row td{background:var(--bad-tint)}@media (width<=860px){.components{flex-direction:column}.link-line{border-top:0;border-left:2px dashed var(--ink-3);justify-content:flex-start;margin:0 0 0 24px;padding:10px 16px}.link-line.real{border-left:2px solid var(--accent);border-top:0}.wire{text-align:left;align-items:flex-start}}.browser{border:1px solid var(--rule-strong);background:var(--paper)}.browser-bar{border-bottom:1px solid var(--rule);font:11px var(--mono);color:var(--ink-3);align-items:center;gap:5px;padding:6px 10px;display:flex}.browser-bar i{background:var(--rule);border-radius:50%;width:8px;height:8px}.browser-bar span{white-space:nowrap;text-overflow:ellipsis;margin-left:8px;overflow:hidden}.browser-body{flex-direction:column;gap:8px;min-height:150px;padding:18px;display:flex}.fake-input{height:34px;font:14px var(--mono);border:1px solid var(--rule-strong);background:var(--sheet);padding:6px 10px;display:block}.fake-btn{font:500 12px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-accent);background:var(--accent);align-self:flex-start;padding:8px 16px}.fake-btn.busy{opacity:.6}.welcome{font:400 28px var(--serif);color:var(--ok);margin:auto 0}.timeline{margin:0;padding:26px 0 6px}.timeline .track{background:var(--rule);height:8px;position:relative}.timeline .fill{background:var(--accent);position:absolute;top:0;bottom:0;left:0}.timeline .mark{background:var(--ink);width:2px;height:20px;position:absolute;top:-6px}.timeline .mark small{white-space:nowrap;font:11px var(--mono);color:var(--ink-2);position:absolute;left:4px}.timeline .mark.server small{top:-18px}.timeline .mark.check{background:var(--accent)}.timeline .mark.check small{top:20px}.timeline .mark.check.ok{background:var(--ok)}.timeline .mark.check.bad{background:var(--bad)}.timeline{padding-bottom:26px}.timeline .mark.right small{left:auto;right:4px}.dots{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.dots span{background:var(--ok);width:14px;height:14px}.dots span.bad{background:var(--bad);border-radius:50%}.shape{width:100%;max-width:420px;height:auto;margin:0 auto;display:block}.shape .layer{stroke:var(--sheet);stroke-width:2px}.shape .layer-label{fill:var(--ink);font:600 14px var(--mono);text-anchor:middle;paint-order:stroke;stroke:var(--sheet);stroke-width:3px}.mutants{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.mutant{text-align:left;width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--rule);cursor:pointer;grid-template-columns:2.4rem minmax(0,1fr);gap:2px 8px;padding:6px 10px;display:grid}.mutant code{font:12px var(--mono);overflow-wrap:anywhere}.mutant small{font:11px var(--mono);color:var(--ink-3);grid-column:2}.mutant del{color:var(--ink-3)}.mutant ins{background:color-mix(in srgb, var(--mark) 60%, transparent);text-decoration:none}.mutant.killed{border-color:color-mix(in srgb, var(--ok) 50%, transparent)}.mutant.killed small{color:var(--ok)}.mutant.alive{border-color:var(--bad);background:var(--bad-tint)}.mutant.alive small{color:var(--bad);font-weight:600}.mutant.on{outline:2px solid var(--accent);outline-offset:1px}.mutant:disabled{cursor:default;opacity:.6}.chips-list{font:13px var(--mono);color:var(--ink-2);flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.shrink{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.shrink li{flex-wrap:wrap;gap:4px;animation:.3s ease-out slide-in;display:flex}.shrink .chip{cursor:default;font-family:var(--mono)}.shrink li.final .chip{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.cycle{width:100%;max-width:260px;height:auto;margin:0 auto;display:block}.cycle-arrow{fill:none;stroke:var(--rule-strong);stroke-width:1.5px;stroke-dasharray:4 4}.cycle .phase circle{fill:var(--paper);stroke-width:3px}.cycle .phase.red circle{stroke:var(--bad)}.cycle .phase.green circle{stroke:var(--ok)}.cycle .phase.refactor circle{stroke:var(--accent)}.cycle .phase.red.on circle{fill:var(--bad)}.cycle .phase.green.on circle{fill:var(--ok)}.cycle .phase.refactor.on circle{fill:var(--accent)}.cycle text{fill:var(--ink);font:600 12px var(--mono);text-anchor:middle;letter-spacing:.06em}.cycle .phase.on circle{transform-box:fill-box;transform-origin:50%;animation:.5s ease-out pulse}.options-code{flex-direction:column;gap:8px;display:flex}.code-option{text-align:left;border:2px solid var(--rule);cursor:pointer;background:0 0;width:100%;padding:0;display:block}.code-option .code{border:0}.code-option:hover,.code-option.on{border-color:var(--accent)}.flaky-list{border-top:1px solid var(--rule);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.flaky-list li{border-bottom:1px solid var(--rule);grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:4px 10px;padding:8px 0;display:grid}.flaky-list li>div{flex-direction:column;gap:4px;min-width:0;display:flex}.flaky-list code{font:13px var(--mono)}.flaky-list small{color:var(--bad);font-size:12px}.flaky-list .tick{font:600 13px var(--mono);color:var(--ink-3)}.flaky-list .tick.ok{color:var(--ok)}.flaky-list .tick.bad{color:var(--bad)}.flaky-list .num{font:12px var(--mono);color:var(--ink-3)}.flaky-list .bar{height:6px}.flaky-list .bar span{background:var(--bad)}.flaky-list li.quarantined{opacity:.6;background:repeating-linear-gradient(-45deg, var(--paper) 0 6px, var(--sheet) 6px 12px)}.card .check{padding:4px 0;font-size:13px}.price-tag{background:var(--paper);border:1px solid var(--rule-strong);flex-direction:column;align-items:flex-start;gap:6px;padding:16px;display:flex}.price-tag h3{font:400 22px var(--serif);margin:0}.price-tag .badge{font:600 12px var(--mono);color:#fff;background:var(--bad);padding:2px 8px}.price-tag .price{font:500 20px var(--mono)}.big-clock{color:var(--accent);font-size:20px}.gantt{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.gantt li{color:var(--ink-3);grid-template-columns:minmax(0,9rem) minmax(0,1fr) 1.4rem;align-items:center;gap:10px;font-size:13px;display:grid}.gantt .lane{background:var(--paper);border:1px solid var(--rule);height:16px;position:relative}.gantt .bar-fill{background:var(--accent);position:absolute;top:0;bottom:0}.gantt li.running,.gantt li.pass{color:var(--ink)}.gantt li.pass .bar-fill{background:var(--ok)}.gantt li.fail{color:var(--bad);font-weight:600}.gantt li.fail .bar-fill{background:var(--bad)}.gantt li.skip{text-decoration:line-through}.gantt .num{font:600 13px var(--mono)}.gantt li.pass .num{color:var(--ok)}.sort-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;margin:0 0 16px;padding:0;list-style:none;display:grid}.sort-cards .card{gap:10px;padding:16px}.sort-claim{font:400 19px/1.35 var(--serif);margin:0}.sort-cards .card.is-right{border-left:4px solid var(--ok)}.sort-cards .card.is-wrong{border-left:4px solid var(--bad)}.sort-cards .feedback{margin:0;font-size:14px}.code code{white-space:pre-wrap;overflow-wrap:anywhere}.field .check,.card .check{font:14px/1.4 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);align-items:flex-start}.check input{margin-top:3px}.table.spec td:last-child,.table.history td,.table.matrix td:last-child{white-space:normal;width:auto}.table.spec td:first-child{white-space:normal}@media (pointer:coarse){.stage-bars button,.choice-list button,.choice-grid button,.mutant,.results .link-btn,.btn.small{min-height:44px}.results .link-btn{min-width:44px;padding:0}}
