:root{--plaster:#ece6da;--paper:#f8f5ee;--ink:#1b1a17;--graphite:#57524a;--faint:#8c857a;--line:#1b1a1724;--line-strong:#1b1a1742;--yellow:#e8a817;--yellow-deep:#c48a0a;--red:#d1361e;--cobalt:#2346a8;--cobalt-deep:#172f78;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:"Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Helvetica, sans-serif;--shadow:0 14px 34px -20px #3c2d1e73;--dock-w:360px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--plaster);color:var(--ink);font:14px/1.4 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden}#stage{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;appearance:none}:focus-visible{outline:2px solid var(--cobalt);outline-offset:2px}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--graphite);font-size:11px;font-weight:600}.icon{border:1px solid var(--line);background:var(--paper);width:44px;height:44px;color:var(--ink);border-radius:22px;flex:none;place-items:center;padding:0;transition:background .15s,transform .15s;display:inline-grid}.icon:hover{background:#fff}.icon:active{transform:scale(.95)}.icon:disabled{opacity:.35;cursor:default;transform:none}.btn{border:1px solid var(--line-strong);white-space:nowrap;background:0 0;border-radius:10px;height:40px;padding:0 12px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s}.btn:hover{background:#1b1a170d}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--paper);height:44px;padding:0 18px;font-size:15px}.btn.primary:hover{background:#000}.btn.accent{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.btn.accent:hover{background:var(--cobalt-deep)}.btn.quiet{color:var(--graphite);border-color:#0000}.btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}#dock{z-index:2;width:var(--dock-w);overscroll-behavior:contain;pointer-events:none;scrollbar-width:none;flex-direction:column;gap:16px;display:flex;position:fixed;top:24px;bottom:24px;left:28px;overflow-y:auto}#dock::-webkit-scrollbar{display:none}#dock>*{pointer-events:auto;flex:none}#masthead{flex-direction:column;order:0;gap:6px;padding:2px 2px 0;display:flex}#masthead h1{font:600 42px/1.02 var(--serif);letter-spacing:-.01em;margin:0}#masthead .sub{font:16px/1.4 var(--serif);color:var(--graphite);max-width:34ch;margin:0}#mstats{display:none}.field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.field label{color:var(--graphite);font-size:12px;font-weight:600}#placard{flex-direction:column;order:2;gap:8px;padding:16px 18px;display:flex}.prow{justify-content:space-between;align-items:center;gap:12px;display:flex}#stepno{font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap}#head{font:600 22px/1.22 var(--serif);text-wrap:balance}#body{font:15.5px/1.45 var(--serif);color:var(--graphite)}#body:empty{display:none}#chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}#chips:empty{display:none}.chip{letter-spacing:.05em;border:1px solid var(--line-strong);height:26px;color:var(--graphite);border-radius:13px;align-items:center;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.chip.hot{background:var(--red);border-color:var(--red);color:#fff}.chip.done{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip.cobalt{background:var(--cobalt);border-color:var(--cobalt);color:#fff}.chip-note{color:var(--graphite);font-size:13px}#complexity{flex-direction:column;order:3;gap:4px;padding:0 4px 4px;display:flex}.cx-title{font-size:13px;font-weight:600}.cx-title i{font:italic 15px var(--serif)}#cxline{color:var(--graphite);font-variant-numeric:tabular-nums;max-width:40ch;font-size:12.5px;line-height:1.45}.site-nav{border:1px solid var(--line);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f8f5eed1;border-radius:22px;order:-1;align-self:flex-start;align-items:center;gap:2px;max-width:100%;padding:3px;display:flex}.site-nav a{height:32px;color:var(--graphite);white-space:nowrap;border-radius:16px;align-items:center;gap:6px;padding:0 11px;font-size:12.5px;font-weight:600;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--ink);background:#1b1a170f}.site-nav .here{background:var(--ink);height:32px;color:var(--paper);white-space:nowrap;border:0;border-radius:16px;align-items:center;gap:5px;padding:0 10px 0 11px;font-size:12.5px;font-weight:600;display:inline-flex}.site-nav .here:hover{color:var(--paper);background:#000}.site-nav a.home{color:var(--ink);font-weight:700}.site-nav a[aria-current=page]{background:var(--ink);color:var(--paper)}#bNav{display:none}#navMenu{z-index:11;flex-direction:column;gap:2px;width:min(300px,100% - 20px);padding:8px;display:flex;position:fixed;top:70px;left:28px}#navMenu a{min-height:44px;color:var(--ink);border-radius:10px;flex-direction:column;justify-content:center;padding:8px 12px;text-decoration:none;display:flex}#navMenu a:hover,#navMenu a[aria-current=page]{background:#1b1a170f}#navMenu a b{font-size:14px}#navMenu a span{color:var(--graphite);font-size:12px}#navMenu .soon{opacity:.55;pointer-events:none}#transport{z-index:2;left:calc(28px + var(--dock-w) + 24px);pointer-events:none;justify-content:center;display:flex;position:fixed;bottom:24px;right:24px}#transport .bar{pointer-events:auto;border-radius:26px;align-items:center;gap:12px;padding:10px 14px;display:flex}#bPlay{background:var(--ink);width:52px;height:52px;color:var(--paper);border-color:var(--ink);border-radius:26px}#bPlay:hover{background:#000}#timeline{align-items:center;gap:3px;width:clamp(120px,17vw,300px);height:30px;display:flex}#timeline.dense{gap:1px}#timeline.xdense{gap:0}#timeline.xdense .tick{border-radius:0;min-width:0}.tick{cursor:pointer;background:#1b1a1733;border:0;border-radius:2px;flex:1 1 0;min-width:1px;height:10px;padding:0;transition:height .15s,background .15s}.tick.past{background:var(--ink)}.tick.rot{background:#d1361e6b;height:14px}.tick.rot.past{background:var(--red)}.tick.key{background:#2346a859;height:14px}.tick.key.past{background:var(--cobalt)}.tick.now{height:22px;box-shadow:0 0 0 2px var(--paper), 0 0 0 3.5px var(--cobalt)}.tick.gap{margin-left:5px}#speed{background:#1b1a170f;border-radius:12px;gap:2px;padding:3px;display:flex}#speed button{min-width:42px;height:38px;color:var(--graphite);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:9px;padding:0 4px;font-size:13px;font-weight:600}#speed button[aria-pressed=true]{background:var(--ink);color:var(--paper)}#speedCycle{font-variant-numeric:tabular-nums;border-radius:12px;width:auto;min-width:54px;font-size:14px;font-weight:700;display:none}#tools{z-index:3;gap:8px;display:flex;position:fixed;top:24px;right:24px}#bFrame.manual{border-color:var(--cobalt);color:var(--cobalt);box-shadow:0 0 0 3px #2346a824}#bSound[aria-pressed=false] .snd-on,#bSound[aria-pressed=true] .snd-off{display:none}#inspector{z-index:3;flex-direction:column;gap:12px;width:244px;padding:16px;display:flex;position:fixed;top:84px;right:24px}.ins-top{align-items:center;gap:14px;display:flex}#insState b{font-size:14px;display:block}#insState span{color:var(--graphite);font-size:12px;display:block}.ins-grid{font-variant-numeric:tabular-nums;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.ins-grid div div:first-child{color:var(--graphite);font-size:11px}.ins-grid div div:last-child{font-size:20px;font-weight:700}#insNote{color:var(--graphite);font-size:12px;line-height:1.45}.x{width:32px;height:32px;color:var(--graphite);background:0 0;border:0;border-radius:16px;padding:0;font-size:20px;line-height:1}.x:hover{background:#1b1a170f}#callout{z-index:1;pointer-events:none;background:var(--paper);border:1px solid var(--line-strong);font:600 13px/1.3 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap;opacity:0;will-change:transform, opacity;color:var(--ink);border-radius:12px;padding:4px 9px;position:fixed;top:0;left:0;box-shadow:0 6px 16px -10px #3c2d1e80}#callout.red{background:var(--red);border-color:var(--red);color:#fff}#callout.cobalt{background:var(--cobalt);border-color:var(--cobalt);color:#fff}#help{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ece6dab8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}#help .card{flex-direction:column;gap:12px;width:100%;max-width:540px;max-height:100%;padding:22px 24px;display:flex;overflow:auto}#help h2{font:600 26px/1.15 var(--serif);margin:0}#help p{font:15px/1.5 var(--serif);color:var(--graphite);margin:0}#help p b{color:var(--ink)}#help .keys{font:13px/1.6 var(--sans);color:var(--graphite)}#help kbd{font:600 12px var(--sans);border:1px solid var(--line-strong);color:var(--ink);background:#fff;border-bottom-width:2px;border-radius:5px;padding:1px 6px}.toggle{cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:600;display:flex}.toggle input{width:20px;height:20px;accent-color:var(--cobalt)}#noGL{font:17px/1.5 var(--serif);text-align:center;color:var(--graphite);place-items:center;padding:24px;display:grid;position:fixed;inset:0}@media (max-width:1180px) and (min-width:761px){:root{--dock-w:330px}#masthead h1{font-size:36px}#speed button{min-width:38px}}@media (max-height:760px) and (min-width:761px){#masthead .sub{display:none}#masthead h1{font-size:34px}}@media (max-width:760px){.site-nav{display:none}#bNav{display:inline-grid}#navMenu{top:calc(62px + env(safe-area-inset-top,0px));left:auto;right:10px}#masthead{top:calc(10px + env(safe-area-inset-top,0px));pointer-events:none;gap:1px;padding:0;position:fixed;left:14px;right:214px}#masthead h1{font-size:23px}#masthead .sub,#masthead>.eyebrow:not(#mstats){display:none}#mstats{font-size:10px;display:block}#tools{top:calc(8px + env(safe-area-inset-top,0px));gap:6px;right:10px}#dock{width:auto;max-height:58%;padding:8px 14px calc(12px + env(safe-area-inset-bottom,0px));background:var(--paper);border-top:1px solid var(--line);pointer-events:auto;border-radius:20px 20px 0 0;gap:10px;inset:auto 0 0;box-shadow:0 -14px 30px -24px #3c2d1e8c}#dock:before{content:"";background:#1b1a172e;border-radius:2px;flex:none;align-self:center;width:36px;height:4px}#dock .card{box-shadow:none;background:0 0;border:0;border-radius:0}#placard{order:1;gap:4px;padding:0}#head{font-size:18px}#body{font-size:14px;line-height:1.4}#transport{order:2;padding:0;position:static}#transport .bar{gap:8px;width:100%;padding:0}#timeline{flex:1;width:auto;min-width:0}#speed{display:none}#speedCycle{display:inline-grid}.field label{position:absolute;left:-9999px}#complexity{display:none}#inspector{width:auto;left:10px;right:10px;top:calc(60px + env(safe-area-inset-top,0px));gap:8px;padding:12px 14px}.ins-grid{grid-template-columns:repeat(4,minmax(0,1fr))}#insDisc svg{width:44px;height:44px;display:block}.ins-top{gap:10px}.ins-grid div div:last-child{font-size:17px}#insNote{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:root{--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}#setup{flex-direction:column;order:1;gap:12px;padding:14px;display:flex}.seg{background:#1b1a170f;border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:3px;display:grid}.seg button{height:38px;color:var(--graphite);background:0 0;border:0;border-radius:9px;padding:0 2px;font-size:13px;font-weight:600}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}#opform{align-items:flex-end;gap:8px;margin:0;display:flex}#opform .field{flex:1 1 0}#idxField{flex:.7 1 0}#opform input{border:1px solid var(--line-strong);height:44px;font:600 17px var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);background:#fff;border-radius:10px;width:100%;min-width:0;padding:0 11px}#opform input::placeholder{color:var(--faint);font-size:13.5px;font-weight:500}#opform input[aria-invalid=true]{border-color:var(--red)}#bMain{flex:none}#err{color:#b02a15;margin:-4px 2px 0;font-size:12.5px;line-height:1.35}#err:empty{display:none}#opbtns{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}#opbtns.box{grid-template-columns:repeat(2,minmax(0,1fr))}#opbtns .btn{height:38px;padding:0 6px;font-size:13px}.row2{justify-content:space-between;align-items:center;gap:8px;margin-top:-4px;display:flex}#bReset{height:34px}#memToggle{color:var(--graphite);gap:8px;font-size:13px}#memToggle input{width:18px;height:18px}.chip.hot{border-color:var(--red);color:#b02a15;background:0 0}a.chip{text-decoration:none}a.chip.link:hover{background:var(--cobalt-deep)}#side{z-index:2;overscroll-behavior:contain;scrollbar-width:none;pointer-events:none;flex-direction:column;gap:12px;width:284px;display:flex;position:fixed;top:84px;bottom:112px;right:24px;overflow-y:auto}#side::-webkit-scrollbar{display:none}#side>*{pointer-events:auto;flex:none}@media (min-width:761px){#side #inspector{width:auto;position:static}}#code,#cost{flex-direction:column;gap:9px;padding:14px;display:flex}.eyebrow.faint{color:var(--faint);letter-spacing:.08em}#codeTitle.mono{color:var(--ink);font-family:var(--mono);text-transform:none;letter-spacing:0;font-size:12.5px}#codeLines{counter-reset:line;font:12px/1.5 var(--mono);color:var(--graphite);margin:0;padding:0;list-style:none}#codeLines li{counter-increment:line;white-space:pre;text-overflow:ellipsis;border-radius:6px;padding:1px 6px 1px 26px;transition:background .18s,color .18s;position:relative;overflow:hidden}#codeLines li:before{content:counter(line);text-align:right;width:16px;color:var(--faint);font-size:10.5px;position:absolute;left:4px}#codeLines li i{color:var(--faint);font-style:normal}#codeLines li.on{background:var(--cobalt);color:#fff}#codeLines li.on:before,#codeLines li.on i{color:#ffffffb3}#codeLines li.none{white-space:normal;font-family:var(--sans);padding-left:6px}#codeLines li.none:before{content:none}#costTable table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:12px}#costTable th,#costTable td{text-align:left;white-space:nowrap;padding:3px 4px;font-weight:500}#costTable thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--graphite);font-size:10.5px;font-weight:700}#costTable tbody th{color:var(--graphite)}#costTable .col{background:#1b1a170d}#costTable thead .col{color:var(--ink);border-radius:6px 6px 0 0}#costTable tr.on th,#costTable tr.on td{color:var(--ink);background:#2346a81f}#costTable tr.on td.col{background:var(--cobalt);color:#fff}#costTable tr.on td.col .slow,#costTable tr.on td.col .fast{color:#fff}#costTable i{font:italic 13px var(--serif)}#costTable .fast{color:var(--cobalt);font-weight:700}#costTable .slow{color:var(--ink)}#costTable sup{color:var(--graphite);font-size:9px}.sr{position:absolute;left:-9999px}.cx-notes p{color:var(--graphite);margin:6px 0 0;font-size:11.5px;line-height:1.4}.ins-grid div div:last-child{overflow-wrap:anywhere;font-size:17px}#legend{z-index:2;border-radius:22px;align-items:center;gap:14px;height:44px;padding:0 16px 0 12px;display:flex;position:fixed;top:24px;right:188px}.lg{align-items:center;gap:6px;display:flex}.lg svg{flex:none}.lg b{white-space:nowrap;font-size:12.5px;display:block}.lg span{color:var(--graphite);font-size:12px;display:block}#legend .lg span{display:none}#help .lgwrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}@media (max-width:1440px){#legend{display:none}}@media (max-width:1180px) and (min-width:761px){#side{width:250px}#codeLines{font-size:11px}.seg button{font-size:12px}}@media (max-height:860px) and (min-width:761px){#masthead .sub{display:none}}@media (max-height:820px) and (min-width:761px){#cost .cx-notes{display:none}}@media (max-width:760px){#setup{order:3;gap:8px;padding:0}.seg button{height:40px;font-size:12.5px}#opbtns,#opbtns.box{scrollbar-width:none;gap:6px;margin:0 -14px;padding:0 14px;display:flex;overflow-x:auto}#opbtns::-webkit-scrollbar{display:none}#opbtns .btn{flex:none;height:44px;grid-column:auto!important}#side{width:auto;display:contents;position:static;overflow:visible}#code{order:4;padding:0}#cost{order:5;padding:0}#codeLines{font-size:11.5px}#inspector .ins-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#insNote{display:none}}
