@layer lab{:root{--cell-on:#a16207;--mark:#c2410c}@media (prefers-reduced-motion:reduce){.tmcell,.bfcell,.stepcard{transition:none!important;animation:none!important}}.tmwrap{flex-direction:column;align-items:center;gap:4px;padding:8px 0;display:flex}.tmhead{color:var(--accent);filter:drop-shadow(0 1px 0 var(--accent-line));font-size:16px;line-height:1}.tmhead .lbl{font-family:var(--mono);color:var(--muted);text-align:center;font-size:10px;font-weight:600;display:block}.tmtape{font-family:var(--mono);gap:4px;display:flex}.tmcell{width:34px;height:42px;color:var(--ink);border:1px solid var(--line-strong);background:var(--card);border-radius:9px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:600;transition:background .12s,border-color .12s,color .12s,transform .12s;display:flex}.tmcell.blank{color:var(--line-strong)}.tmcell.mark{color:var(--mark)}.tmcell.head{background:var(--hi);border-color:var(--accent);box-shadow:0 0 0 2px var(--hi);transform:translateY(1px)}.tmcell.head.halt-acc{background:var(--good-soft);border-color:var(--good);box-shadow:0 0 0 2px var(--good-soft)}.tmcell.head.halt-rej{background:var(--bad-soft);border-color:var(--bad);box-shadow:0 0 0 2px var(--bad-soft)}.tmstate{font-family:var(--mono);color:var(--muted);align-items:baseline;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.tmstate b{color:#fff;background:var(--accent);border-radius:999px;padding:2px 12px;font-size:16px}.tmstate b.acc{background:var(--good)}.tmstate b.rej{background:var(--bad)}table.dtab{border-collapse:separate;border-spacing:0;font-family:var(--mono);border:1px solid var(--line-strong);border-radius:10px;margin:6px auto;font-size:12.5px;overflow:hidden}table.dtab th,table.dtab td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);text-align:center;white-space:nowrap;min-width:40px;padding:5px 11px}table.dtab tr:last-child td{border-bottom:none}table.dtab th:last-child,table.dtab td:last-child{border-right:none}table.dtab th{background:var(--accent-soft);color:var(--accent-deep);font-weight:600}table.dtab td.stname{background:var(--accent-soft);color:var(--ink-soft);text-align:left;font-weight:600}table.dtab td.stname.acc{color:#166534}table.dtab td.stname.rej{color:#9b2533}table.dtab td.v{color:var(--ink-soft)}table.dtab td.dash{color:var(--line-strong)}table.dtab tr.cur td.stname{background:var(--accent-pale)}table.dtab td.hot{background:var(--hi);box-shadow:inset 0 0 0 2px var(--accent);color:var(--ink);font-weight:600}.tabwrap{overflow-x:auto}.bfcells{font-family:var(--mono);flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.bfcell{text-align:center;border:1px solid var(--line-strong);background:var(--card);border-radius:9px;flex:none;width:38px;transition:background .12s,border-color .12s,transform .12s}.bfcell .v{color:var(--ink);padding:5px 0 2px;font-size:15px;font-weight:600;display:block}.bfcell .i{color:var(--muted);border-top:1px solid var(--line);padding:1px 0;font-size:9px;display:block}.bfcell.nz .v{color:var(--accent-deep)}.bfcell.ptr{background:var(--hi);border-color:var(--accent);box-shadow:0 0 0 2px var(--hi);transform:translateY(-2px)}.bfprog{font-family:var(--mono);letter-spacing:1px;word-break:break-all;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;margin:4px 0;padding:12px 14px;font-size:17px;line-height:1.9}.bfprog .op{color:var(--ink-soft);border-radius:4px;padding:1px}.bfprog .op.io{color:var(--accent-deep);font-weight:600}.bfprog .op.lp{color:var(--mark);font-weight:600}.bfprog .op.cur{background:var(--accent);color:#fff;box-shadow:0 0 0 2px var(--accent)}.bfprog .op.match{background:var(--accent-pale);border-radius:4px}.bfout{font-family:var(--mono);background:var(--ink);color:#aef0c4;white-space:pre-wrap;word-break:break-all;border-radius:12px;min-height:22px;margin-top:12px;padding:12px 16px;font-size:14px;line-height:1.6}.bfout .cursor{color:var(--ink);background:#aef0c4}.bfout .empty{color:var(--muted);font-style:italic}.bfsrc{width:100%;font-family:var(--mono);border:1px solid var(--line-strong);color:var(--ink);resize:vertical;background:#fff;border-radius:10px;padding:10px 12px;font-size:13px}.cawrap{flex-direction:column;align-items:center;gap:10px;display:flex}canvas.ca{max-width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--line-strong);background:var(--card);cursor:crosshair;border-radius:10px;display:block}.rule8{flex-wrap:wrap;justify-content:center;gap:10px;margin:6px 0;display:flex}.r8{border:1px solid var(--line);background:var(--card);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px;display:flex}.r8 .nbr{gap:2px;display:flex}.r8 .out{margin-top:1px}.r8 .px{border:1px solid var(--line-strong);background:#fff;border-radius:3px;width:14px;height:14px}.r8 .px.on{background:var(--cell-on);border-color:var(--accent-press)}.r8 .arrow{color:var(--muted);font-size:10px;line-height:1}.capgrid{gap:10px;display:grid}.cap{border:1px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink-soft);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;transition:border-color .14s,background .14s;display:flex}.cap:hover{border-color:var(--accent-line)}.cap.on{border-color:var(--accent);background:var(--accent-soft);color:var(--ink)}.cap .box{border:1px solid var(--line-strong);color:#fff;border-radius:7px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;font-weight:600;display:flex}.cap.on .box{background:var(--accent);border-color:var(--accent-press)}.cap b{color:var(--ink)}.capverdict{text-align:center}.ticks{flex-wrap:wrap;gap:3px;margin:6px 0 2px;display:flex}.tick{border:1px solid var(--line-strong);background:var(--card);border-radius:4px;width:13px;height:13px}.tick.ran{background:var(--accent-pale);border-color:var(--accent-line)}.tick.stop{background:var(--good);border-color:#0e9e5e}.tick.over{background:var(--bad-soft);border-color:var(--bad)}.runningtag{font-family:var(--mono);color:var(--bad);align-self:center;margin-left:6px;font-size:12px;font-weight:600}.stepcard{border:1px solid var(--line);border-left:6px solid var(--accent-line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;margin:10px 0;padding:12px 16px;animation:.35s both vega-pop}.stepcard.final{border-left-color:var(--bad);background:var(--bad-soft)}.stepcard .n{font-family:var(--display);color:var(--accent-deep);font-size:13px;font-weight:600}.stepcard.final .n{color:#9b2533}.stepcard p{margin:4px 0 0;font-size:14px}}
