: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 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;top:calc(62px + env(safe-area-inset-top,0px));flex-direction:column;gap:2px;width:min(300px,100% - 20px);padding:8px;display:flex;position:fixed;right:10px}#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}#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}}#ops{flex-direction:column;order:1;gap:10px;padding:14px;display:flex}#opform{align-items:flex-end;gap:8px;margin:0;display:flex}#val{border:1px solid var(--line-strong);height:44px;font:600 18px var(--sans);font-variant-numeric:tabular-nums;color:var(--ink);background:#fff;border-radius:10px;width:100%;min-width:0;padding:0 12px}#val[aria-invalid=true]{border-color:var(--red)}#err{color:#b02a15;margin:-2px 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}#bDemo{grid-column:span 2}#legend{z-index:2;border-radius:22px;align-items:center;gap:14px;height:44px;padding:0 16px 0 10px;display:flex;position:fixed;top:24px;right:188px}#legend .lg span{display:none}#legend .lg b{white-space:nowrap;font-size:12.5px}.lg{align-items:center;gap:6px;display:flex}.lg svg{flex:none}.lg b{font-size:13px;display:block}.lg span{color:var(--graphite);font-size:12px;display:block}#help .lgwrap{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;display:grid}@media (max-width:1260px){#legend{display:none}}@media (max-width:760px){#ops{order:3;gap:8px;padding:0}#opbtns{scrollbar-width:none;gap:6px;margin:0 -14px;padding:0 14px;display:flex;overflow-x:auto}#opbtns::-webkit-scrollbar{display:none}#opbtns .btn{flex:1 0 auto;height:44px;padding:0 9px}#bDemo .long{display:none}}
