:root{--bg:#e9efee;--panel:#fff;--ink:#18212e;--muted:#5a6874;--line:#d3dddb;--grid:#e3ebe9;--turtle:#22a04b;--finish:#e0392b;--trail:#cdebd6;--wall:#5b6672;--loop:#3a61c4;--cond:#b9770c;--act:#2a7768;--ok:#1c7f40;--err:#c2382d;--caret:#d63a78;--ff-d:"Unbounded",system-ui,sans-serif;--ff:"Manrope",system-ui,sans-serif;--ff-m:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121920;--panel:#1a232c;--ink:#e4ecef;--muted:#9aa9b3;--line:#2c3843;--grid:#202b35;--turtle:#37c463;--finish:#f0574a;--trail:#1f4a2f;--wall:#7d8b98;--loop:#4f78da;--cond:#c98a1e;--act:#2f8c7a;--ok:#4cc274;--err:#f0695c;--caret:#f06a9d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121920;--panel:#1a232c;--ink:#e4ecef;--muted:#9aa9b3;--line:#2c3843;--grid:#202b35;--turtle:#37c463;--finish:#f0574a;--trail:#1f4a2f;--wall:#7d8b98;--loop:#4f78da;--cond:#c98a1e;--act:#2f8c7a;--ok:#4cc274;--err:#f0695c;--caret:#f06a9d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--ff);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px 32px;font-size:14px;line-height:1.45}header{flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:14px;display:flex}h1{font-family:var(--ff-d);letter-spacing:.01em;text-wrap:balance;margin:0;font-size:20px;font-weight:600}header p{color:var(--muted);margin:0}h2{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:700}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:14px}.pitem{font-family:var(--ff-m);color:#fff;text-align:left;cursor:grab;letter-spacing:.02em;border:0;border-radius:6px;padding:8px 10px;font-size:12px;font-weight:700}.pitem:active{cursor:grabbing}.pitem.act{background:var(--act)}.pitem.cond{background:var(--cond)}.pitem.loop{background:var(--loop)}.pitem:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--caret);outline-offset:2px}.hint{color:var(--muted);margin:0;font-size:12px}.howto{flex-direction:column;gap:2px;margin:0;font-size:12px;display:flex}.howto dt{margin-top:6px;font-weight:700}.howto dt:first-child{margin-top:0}.howto dd{color:var(--muted);margin:0}.coords{font-family:var(--ff-m);flex-direction:column;gap:4px;margin-bottom:10px;font-size:13px;display:flex}.coords div{align-items:center;gap:8px;display:flex}.coords i{border-radius:3px;flex:none;width:12px;height:12px}.coords b{font-family:var(--ff);min-width:84px}kbd{font-family:var(--ff-m);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:11px}#edp{grid-area:ed}.edhead{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.edhead h2{margin:0}.tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.count{font-family:var(--ff-m);color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.btn{font-family:var(--ff);border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:7px;padding:6px 11px;font-size:13px;font-weight:600}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--turtle);border-color:var(--turtle);color:#fff}.btn:disabled{opacity:.45;cursor:default}#editor{border:1px dashed var(--line);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:22px 22px;border-radius:8px;min-height:260px;padding:10px 12px 14px;overflow-x:auto}.app.running #editor{pointer-events:none}.list{flex-direction:column;min-width:min-content;display:flex}.dz{cursor:text;border-radius:4px;flex:none;height:7px;position:relative}.dz:hover{background:color-mix(in srgb,var(--caret) 18%,transparent)}.dz.over{background:color-mix(in srgb,var(--caret) 25%,transparent);outline:2px dashed var(--caret);height:22px}.dz.cursor:before{content:"";background:var(--caret);border-radius:2px;height:3px;position:absolute;top:2px;left:0;right:0}.dz.empty{border:1px dashed color-mix(in srgb,var(--ink) 25%,transparent);height:30px;color:var(--muted);font-size:12px;font-family:var(--ff);background:color-mix(in srgb,var(--panel) 70%,transparent);align-items:center;padding:0 10px;display:flex}.dz.empty.cursor{border-color:var(--caret);color:var(--caret)}.dz.empty.cursor:before{display:none}.blk{font-family:var(--ff-m);color:#fff;letter-spacing:.02em;width:max-content;min-width:220px;font-size:13px;font-weight:700}.row{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:7px;padding:5px 6px 5px 4px;display:flex}.act>.row{background:var(--act);border-radius:6px}.c{--k:var(--loop)}.c.cond{--k:var(--cond)}.c>.row{background:var(--k);border-radius:6px 6px 6px 0}.c>.mid{background:var(--k)}.c>.bd{border-left:16px solid var(--k);padding:2px 0 2px 8px}.c>.ft{background:var(--k);border-radius:0 0 6px 6px;width:70px;height:10px}.grip{cursor:grab;opacity:.75;-webkit-user-select:none;user-select:none;padding:0 3px;font-size:15px;line-height:1}.grip:hover{opacity:1}.blk select,.blk input{font:inherit;color:#fff;background:#ffffff24;border:1px solid #ffffff73;border-radius:5px;padding:2px 4px}.blk input{text-align:center;width:46px}.blk option{color:var(--ink);background:var(--panel)}.sp{flex:1}.ib{font:inherit;color:#fff;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:5px;padding:1px 6px;font-size:11px;font-weight:700}.ib.del{opacity:.75;border-color:#0000;padding:0 5px;font-size:15px;line-height:1}.ib:hover{opacity:1;background:#ffffff2e}.blk.sel>.row{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--caret)}.blk.now>.row{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--turtle)}.blk.bad>.row{box-shadow:0 0 0 2px var(--panel),0 0 0 4px var(--err)}#codep{grid-area:code}.tabs{gap:4px;display:flex}.tab{font:600 13px var(--ff);border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:7px;padding:5px 10px}.tab[aria-selected=true]{background:var(--ink);color:var(--panel);border-color:var(--ink)}#code{font-family:var(--ff-m);background:color-mix(in srgb,var(--bg) 60%,var(--panel));border-radius:8px;min-height:80px;margin:0;padding:10px 0;font-size:13px;line-height:1.65;overflow-x:auto}.ln{white-space:pre;padding:0 14px;display:block}.ln.hl{background:color-mix(in srgb,var(--turtle) 22%,transparent)}.ln.bad{background:color-mix(in srgb,var(--err) 22%,transparent)}.k{color:var(--loop);font-weight:700}.kc{color:var(--cond);font-weight:700}.ka{color:var(--act);font-weight:700}.n{color:var(--caret)}.cm{color:var(--muted)}.field{aspect-ratio:1;width:100%;max-width:100%;font-family:var(--ff-m);color:var(--muted);grid-template-columns:18px repeat(10,1fr);gap:2px;font-size:10px;display:grid}.fwrap{grid-template-rows:auto auto;grid-template-columns:22px minmax(0,1fr);gap:4px 2px;display:grid}.ax{font-family:var(--ff-m);color:var(--muted);font-size:12px;font-weight:700}.ax span{color:var(--ink);font-size:15px}.ax-x{grid-column:2;padding-left:20px}.ax-y{flex-direction:column;grid-area:2/1;align-items:center;gap:2px;padding-top:24px;display:flex}.ax-y em{font-size:14px;font-style:normal}.field{grid-area:2/2}.lab{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;display:flex}.cell{background:color-mix(in srgb,var(--bg) 70%,var(--panel));border-radius:3px;position:relative}.cell.trail{background:var(--trail)}.cell.wall{background:var(--wall);background-image:repeating-linear-gradient(45deg,#0000 0 4px,#ffffff1f 4px 6px)}.cell.fin:after{content:"";background:var(--finish);border-radius:3px;position:absolute;inset:18%}.cell.tur:before{content:"";background:var(--turtle);z-index:1;border-radius:4px;transition:none;position:absolute;inset:8%}.cell.tur.fin:before{box-shadow:inset 0 0 0 3px var(--finish);inset:4%}.controls{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;display:flex}.sliders{flex-wrap:wrap;gap:6px 14px;margin-left:auto;display:flex}.speed{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.speed input{width:90px}.speed output{font-family:var(--ff-m);color:var(--ink);min-width:1ch;font-weight:700}#status{background:color-mix(in srgb,var(--bg) 70%,var(--panel));border-radius:7px;margin-top:10px;padding:8px 10px;font-size:13px}#status.ok{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok);font-weight:600}#status.err{background:color-mix(in srgb,var(--err) 14%,transparent);color:var(--err);font-weight:600}.vars{grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px;display:grid}.var{border:1px solid var(--line);text-align:center;border-radius:7px;padding:5px 6px}.var b{font-family:var(--ff-m);font-variant-numeric:tabular-nums;font-size:18px;display:block}.var span{letter-spacing:.07em;color:var(--muted);font-size:10px;font-weight:700}.flags{grid-template-columns:1fr 1fr;gap:4px 10px;display:grid}.flag{font-family:var(--ff-m);border-radius:5px;justify-content:space-between;align-items:center;gap:6px;padding:3px 6px;font-size:11.5px;display:flex}.flag.chk{outline:2px solid var(--caret)}.pill{border-radius:20px;padding:1px 7px;font-size:10.5px;font-weight:700}.pill.t{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.pill.f{background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted)}#tests{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.tchip{font:600 12px var(--ff);cursor:pointer;background:0 0;border:1px solid;border-radius:20px;padding:4px 10px}.tchip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.tchip.err{color:var(--err);border-color:color-mix(in srgb,var(--err) 50%,transparent)}#tsum{margin-top:8px;font-size:13px;font-weight:600}@media (width<=420px){.vars{grid-template-columns:repeat(3,1fr)}.flags{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.app{grid-template-columns:200px minmax(0,1fr) minmax(320px,430px);grid-template-areas:"left ed side""left code side";align-items:start;gap:16px;display:grid}#left{border-radius:10px;flex-direction:column;grid-area:left;gap:16px;max-height:calc(100vh - 24px);display:flex;position:sticky;top:12px;overflow-y:auto}#side{border-radius:10px;flex-direction:column;grid-area:side;gap:14px;max-height:calc(100vh - 24px);display:flex;position:sticky;top:12px;overflow-y:auto}#pal{flex-direction:column;grid-area:pal;gap:14px;display:flex}#help{grid-area:help}#fieldp{grid-area:field}#infop{grid-area:info}#checkp{grid-area:check}.pgroup{flex-direction:column;gap:6px;display:flex}#help summary{cursor:pointer;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);align-items:center;gap:8px;font-size:11px;font-weight:700;list-style:none;display:flex}#help summary::-webkit-details-marker{display:none}#help summary:before{content:"?";border:1.5px solid var(--muted);letter-spacing:0;border-radius:50%;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;display:inline-flex}#help summary:after{content:"▸";letter-spacing:0;margin-left:auto;font-size:12px}#help[open] summary:after{content:"▾"}#help[open] summary{margin-bottom:10px}@media (width<=1279px){.app{grid-template-columns:minmax(0,1fr) minmax(300px,400px);grid-template-areas:"pal side""help side""ed side""code side"}#left{display:contents}#pal{z-index:5;box-shadow:0 6px 12px -10px color-mix(in srgb,var(--ink) 40%,transparent);flex-flow:wrap;gap:8px 18px;padding:10px 14px;position:sticky;top:0}#pal .pgroup{flex-flow:wrap;align-items:center;gap:6px}#pal .pgroup h2{margin:0 4px 0 0}#pal .pitem{padding:6px 9px}#help{padding-block:10px}}@media (width<=899px){.app{grid-template-columns:minmax(0,1fr);grid-template-areas:"field""pal""help""ed""code""info""check"}#side{display:contents}#fieldp .fwrap,#fieldp .controls,#fieldp #status{max-width:400px;margin-inline:auto}#fieldp .controls{margin-top:12px}}
