:root{--paper:#f6efe1;--paper-deep:#efe4cf;--card:#fbf6ea;--ink:#2e2620;--ink-soft:#6b5d4f;--rule:#d9c9ab;--accent:#a8432b;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:1.125rem/1.7 var(--serif);margin:0}.masthead{border-bottom:1px solid var(--rule);text-align:center;padding:.9rem 1rem}.masthead-name{font:600 .8rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:.7rem;margin:0;display:flex}.post{max-width:44rem;margin:0 auto;padding:2.5rem 1rem 3rem}.kicker{font:.85rem var(--sans);color:var(--accent);margin:0 0 .5rem}h1{margin:0 0 1rem;font-size:clamp(2.1rem,6vw,3rem);font-weight:700;line-height:1.1}.lede{color:var(--ink-soft);font-size:1.25rem}h2{align-items:baseline;gap:.6rem;margin:2.6rem 0 .6rem;font-size:1.5rem;line-height:1.25;display:flex}.step{background:var(--accent);width:1.8rem;height:1.8rem;color:var(--card);font:700 .95rem/1 var(--sans);border-radius:50%;flex:none;place-items:center;display:inline-grid}code{font:.9em var(--mono);background:var(--paper-deep);border-radius:4px;padding:.05em .3em}.colophon{border-top:1px solid var(--rule);text-align:center;font:.85rem var(--sans);color:var(--ink-soft);padding:1.2rem 1rem 2rem}morphic-editor{margin:1.8rem 0;display:block}.editor{background:var(--card);border:1px solid var(--rule);box-shadow:0 1px 0 var(--rule), 0 10px 24px -18px #462d1473;border-radius:10px;margin:0;overflow:hidden}.editor-toolbox{border-bottom:1px dashed var(--rule);background:var(--paper-deep);font-family:var(--sans);flex-wrap:wrap;align-items:flex-start;gap:.2rem .5rem;padding:.4rem .6rem;display:flex}.editor-toolbox [data-category]{display:contents}.editor-panes{height:var(--editor-height);grid-template-columns:1fr 1fr;display:grid}.editor-workspace{min-width:0;height:100%;position:relative}.editor-side{border-left:1px solid var(--rule);grid-template-rows:1fr 1fr;min-width:0;min-height:0;display:grid}.editor-preview{min-width:0;min-height:0;overflow:auto}.editor-run{border-top:1px dashed var(--rule);background:var(--paper-deep);flex-direction:column;min-height:0;display:flex}.editor-run-head{font:600 .72rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;padding:.3rem .4rem .3rem .8rem;display:flex}.editor-run-head button{font:600 .8rem/1 var(--sans);color:var(--card);background:var(--accent);cursor:pointer;border:0;border-radius:999px;padding:.35rem .9rem}.editor-run-head button:hover{background:#8e3522}.editor-run-head button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.editor-output{min-height:0;font:.85rem/1.45 var(--mono);color:var(--ink);white-space:pre-wrap;flex:1;margin:0;padding:.1rem .8rem .6rem;overflow:auto}.editor-preview .cm-editor{height:100%}.editor .blocklyMainBackground{fill:var(--card);stroke:none}.editor figcaption{border-top:1px solid var(--rule);font:italic .95rem/1.45 var(--serif);color:var(--ink-soft);padding:.55rem .9rem}@media (width<=44rem){body{font-size:1.05rem}.editor-panes{grid-template-columns:1fr;grid-template-rows:var(--editor-height) auto;height:auto}.editor-side{border-left:0;border-top:1px solid var(--rule);grid-template-rows:auto 10rem}.editor-preview{min-height:6rem}}
