@layer lab-base{.support{border:1px solid;border-radius:12px;align-items:center;gap:10px;margin:16px 0;padding:10px 15px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.support .dot{border-radius:50%;flex:none;width:11px;height:11px}.support.ok{background:var(--good-soft);color:#0f7a4d;border-color:#c7f0db}.support.ok .dot{background:var(--good)}.support.no{background:var(--bad-soft);color:#b32638;border-color:#f7c5cc}.support.no .dot{background:var(--bad)}.svgbox{border-radius:var(--radius-sm);max-width:100%;height:auto;display:block}.cols2{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}@media (width<=620px){.cols2{grid-template-columns:1fr}}.embed-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;display:grid}.embed-cell{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;flex-direction:column;display:flex;overflow:hidden}.embed-cell .ehead{font-family:var(--mono);background:var(--accent-soft);color:var(--accent-deep);border-bottom:1px solid var(--line-strong);text-align:center;padding:7px 10px;font-size:11.5px;font-weight:600}.embed-cell .ebody{place-items:center;min-height:96px;padding:14px;display:grid}.embed-cell .ebody svg,.embed-cell .ebody img,.embed-cell .ebody object{width:64px;height:64px;display:block}.embed-cell .ebody .bg{background-position:50%;background-repeat:no-repeat;background-size:contain;width:64px;height:64px}.embed-cell .everdict{text-align:center;border-top:1px solid var(--line);padding:6px 8px;font-size:11px;font-weight:600}.embed-cell .everdict.yes{background:var(--good-soft);color:#0f7a4d}.embed-cell .everdict.no{background:var(--bad-soft);color:#b32638}.embed-stage{color:var(--accent);transition:color .25s}.embed-stage .ic-inline .shape,.embed-stage .ic-use use{transition:fill .25s}.embed-stage.host-warm{color:var(--warn)}.embed-stage.try-css .ic-inline .shape,.embed-stage.try-css .ic-use use{fill:var(--good)}.vp-frame{border:1px solid var(--accent);background:repeating-linear-gradient(0deg, transparent 0 19px, var(--accent-pale) 19px 20px), repeating-linear-gradient(90deg, transparent 0 19px, var(--accent-pale) 19px 20px), #fff;border-radius:10px;line-height:0;display:inline-block;position:relative}.vp-frame .vp-tag{font-family:var(--mono);background:var(--accent);color:#fff;border-radius:999px;padding:1px 8px;font-size:10.5px;font-weight:600;position:absolute;top:-11px;left:10px}.vp-frame svg{background:#8175ee0f;display:block}.vp-frame .vb-grid line{stroke:var(--accent-line);stroke-width:.5px}.vp-frame .vb-shape{fill:var(--accent-2);stroke:var(--accent-press);stroke-width:2px}.vp-frame .vb-mark{fill:var(--warn)}.vp-frame .vb-label{fill:var(--accent-deep);font:600 9px var(--mono)}.vp-frame.nss .vb-shape{vector-effect:non-scaling-stroke}.par-svg{background:#8175ee0f}.par-svg .par-frame{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2px}.par-svg .par-diag{stroke:var(--accent-line);stroke-width:1.5px}.par-svg .par-disc{fill:var(--accent-2)}.par-svg .par-corner{fill:var(--warn)}.par-svg .par-text{fill:var(--accent-deep);font:600 16px var(--display);text-anchor:middle}.align-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:inline-grid}.align-grid button{font-family:var(--mono);cursor:pointer;border:1px solid var(--line-strong);color:var(--ink-soft);background:#fff;border-radius:8px;padding:7px 6px;font-size:10px;font-weight:600;transition:border-color .12s,background .12s,color .12s}.align-grid button:hover{border-color:var(--accent);color:var(--accent-press)}.align-grid button.on{background:var(--accent);border-color:var(--accent-press);color:#fff}.layers{gap:8px;display:grid}.layer{border:1px solid var(--line-strong);background:#fff;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:9px 14px;transition:border-color .14s,background .14s,opacity .14s;display:grid}.layer.off{opacity:.5}.layer.win{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-pale)}.layer .lname{font-family:var(--mono);color:var(--ink);font-size:12px;font-weight:600}.layer .lspec{font-family:var(--mono);color:var(--muted);font-size:11px}.layer .lwin{font-family:var(--mono);color:var(--accent);opacity:0;font-size:10.5px;font-weight:600}.layer.win .lwin{opacity:1}.layer .switch{cursor:pointer;background:var(--line-strong);border:none;border-radius:999px;width:42px;height:24px;transition:background .15s;position:relative}.layer .switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:left .15s;position:absolute;top:3px;left:3px}.layer.on .switch{background:var(--accent)}.layer.on .switch:after{left:21px}.icon-stage{place-items:center;padding:8px;display:grid}.icon-stage svg{width:120px;height:120px}.icon-stage .icon{transition:fill .3s}.icon-stage.l-css .icon{fill:#2f86eb}.icon-stage.l-imp .icon{fill:#f08c00!important}.geo-stage{place-items:center;display:grid}.geo-stage svg{width:220px;height:150px}.geo-stage .gdot{transition:r .45s cubic-bezier(.34,1.3,.5,1),cx .45s,fill .45s}.geo-stage .gdot.big{r:58px;cx:150px;fill:var(--accent-2)}.draw-stage{place-items:center;display:grid}.draw-stage svg{width:100%;max-width:460px;height:auto}.draw-stage .draw-bg{fill:none;stroke:var(--accent-pale);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.draw-stage .draw-fg{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.stroke-samples{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.stroke-samples figure{text-align:center;margin:0}.stroke-samples svg{border:1px solid var(--line);background:#fff;border-radius:10px;width:110px;height:90px}.stroke-samples figcaption{font-family:var(--mono);color:var(--accent-deep);margin-top:5px;font-size:11px;font-weight:600}.stroke-samples .s-stroke{stroke:var(--accent);stroke-width:16px;fill:none}.stroke-samples .s-core{stroke:#fff;stroke-width:2px;fill:none}.stroke-samples .s-fill{fill:var(--warn)}.stroke-samples .s-text{font:600 60px var(--display);fill:var(--accent-soft);stroke:var(--accent);stroke-width:6px}.star-demo{place-items:center;display:grid}.star-demo svg{width:200px;height:auto}.star-demo .star{fill:var(--accent-2);stroke:var(--accent-press);stroke-width:2px;stroke-linejoin:round}.grad-stage{place-items:center;display:grid}.grad-stage svg{width:100%;max-width:420px;height:auto}.grad-stage .gbox{stroke:var(--line-strong);stroke-width:1.5px}.stops{gap:10px;display:grid}.stop-row{grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;display:grid}.stop-row input[type=color]{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:8px;width:38px;height:30px;padding:2px}.stop-row .soff{font-family:var(--mono);color:var(--accent-deep);text-align:right;min-width:42px;font-size:11px;font-weight:600}.units-pair{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:18px;display:flex}.units-pair figure{text-align:center;margin:0}.units-pair figcaption{font-family:var(--mono);color:var(--muted);margin-top:6px;font-size:11px}.tf-stage{place-items:center;display:grid}.tf-stage svg{border-radius:var(--radius-sm);background:#8175ee0f;width:100%;max-width:360px;height:auto}.tf-grid line{stroke:var(--accent-line);stroke-width:.5px}.tf-ghost{fill:var(--accent-pale);stroke:var(--accent-line);stroke-width:1.5px;stroke-dasharray:4 3;opacity:.7}.tf-box{fill:var(--accent-2);stroke:var(--accent-press);stroke-width:2px;transition:transform .15s linear}.tf-pivot{fill:var(--warn)}.tf-pivot-ring{fill:none;stroke:var(--warn);stroke-width:1.5px}.gap-textbox{border-radius:var(--radius-sm);background:#8175ee0f;width:100%;max-width:230px;height:auto;overflow:hidden}.gap-textbox .fo-frame{fill:none;stroke:var(--accent-line);stroke-width:1.5px;stroke-dasharray:4 3}.gap-textbox text{fill:var(--accent-deep);font-size:12px;font-weight:600}.gap-textbox .fo-text{color:var(--accent-deep);padding:3px;font-size:12px;line-height:1.45}.sa-stage{place-items:center;display:grid}.sa-stage svg{border-radius:var(--radius-sm);background:#8175ee0f;width:100%;max-width:340px;height:auto}.sa-stage .sa-fill{fill:var(--accent-soft)}.sa-stage .sa-stroke{fill:none;stroke:var(--accent);opacity:.78}.sa-stage .sa-path{fill:none;stroke:var(--warn);stroke-width:1px}.gap-status{font-family:var(--mono);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:600;display:inline-block}.gap-status.no{background:var(--bad-soft);color:#b32638}.gap-status.wip{background:var(--accent-soft);color:var(--accent-deep)}.gap-status.ok{background:var(--good-soft);color:#0f7a4d}.toc{position:relative}.toc-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.toc-svg .thread{fill:none;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.toc-svg .node{stroke:#fff;stroke-width:1.5px}.track-svg .thread{stroke:var(--accent-pale)}.track-svg .node{fill:var(--accent-line)}.prog-svg .thread{stroke:var(--accent)}.prog-svg .node{fill:var(--accent)}.prog-svg{clip-path:inset(0 0 100%);transition:clip-path .3s}.toc-list{flex-direction:column;display:flex;position:relative}.toc-list.gap-driven .toc-item{padding-top:var(--gap,7px);padding-bottom:var(--gap,7px)}.toc-item{color:var(--ink-soft);border-radius:8px;padding:7px 10px 7px 28px;font-size:13.5px;font-weight:600;text-decoration:none;transition:color .2s,background .2s;display:block}.toc-item[data-depth="1"]{padding-left:44px;font-size:12.5px;font-weight:500}.toc-item[data-depth="2"]{padding-left:60px;font-size:12px}.toc-item.active{color:var(--accent-deep);background:var(--accent-soft)}.scroll-pair{grid-template-columns:1.2fr 1fr;align-items:start;gap:16px;display:grid}@media (width<=620px){.scroll-pair{grid-template-columns:1fr}}.doc-pane{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;height:320px;padding:4px 16px;overflow-y:auto}.doc-pane h4{font-family:var(--display);color:var(--accent-deep);margin:18px 0 6px;font-size:16px}.doc-pane h5{font-family:var(--display);color:var(--accent-press);margin:14px 0 5px;font-size:13.5px}.doc-pane h4:first-child{margin-top:8px}.doc-pane p{color:var(--ink-soft);margin:0 0 8px;font-size:12.5px;line-height:1.7}}
