@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Source+Serif+4:opsz,wght@8..60,500;8..60,700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap";:root{--ink: #1b1914;--paper: #f3efe4;--panel: #fffdf7;--line: #d9d1c1;--accent: #9a3412;--accent-2: #1d4e4a;--hl: #f6e27a;--ok: #166534;--err: #9f1239;--mono: "IBM Plex Mono", "Source Han Mono", ui-monospace, monospace;--serif: "Source Serif 4", "Iowan Old Style", Palatino, serif;--sans: "Zen Kaku Gothic New", "Hiragino Sans", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(1200px 500px at 10% -10%,#efe4cc,transparent),var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.65}a{color:var(--accent-2)}.shell{max-width:1180px;margin:0 auto;padding:0 1.25rem 4rem}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0 .8rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:color-mix(in srgb,var(--paper) 92%,white);z-index:5}.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink);font-family:var(--serif);font-weight:700;letter-spacing:.02em}.brand-mark{display:grid;place-items:center;width:2rem;height:2rem;background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:.85rem}.nav{display:flex;gap:1rem}.nav a{text-decoration:none;color:var(--ink);font-size:.92rem}.nav a.active{box-shadow:inset 0 -2px 0 var(--accent)}.nav a[href^=http]{color:var(--accent-2)}.page{padding-top:1.4rem}.hero h1,.workspace h1,.prose h1{font-family:var(--serif);font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:.2rem 0 .7rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--accent);margin:0}.lede{max-width:46rem;font-size:1.02rem}.filters{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.4rem 0}.filters label{display:flex;flex-direction:column;font-size:.75rem;gap:.25rem}.filters .grow{flex:1;min-width:12rem}select,input,textarea,button{font:inherit}select,input[type=text],input:not([type]),textarea{border:1px solid var(--line);background:var(--panel);padding:.4rem .5rem;border-radius:2px}button{border:1px solid var(--ink);background:transparent;padding:.35rem .7rem;cursor:pointer}button.primary{background:var(--ink);color:var(--paper)}button:disabled{opacity:.45;cursor:not-allowed}.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.9rem}.card{background:var(--panel);border:1px solid var(--line);padding:.9rem 1rem .75rem;display:flex;flex-direction:column;min-height:12rem}.card-ok{background:color-mix(in srgb,#166534 9%,var(--panel));border-color:color-mix(in srgb,#166534 30%,var(--line))}.card-ng{background:color-mix(in srgb,#9f1239 8%,var(--panel));border-color:color-mix(in srgb,#9f1239 26%,var(--line))}.tutorial-cta{display:inline-block;margin-top:.4rem;font-weight:700}.card h2{font-size:1.05rem;margin:.35rem 0}.card h2 a{color:inherit;text-decoration:none}.card p{flex:1;font-size:.9rem;color:#3f3a32}.card-meta,.card-foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.78rem}.pill{border:1px solid var(--line);padding:0 .35rem}.pill.run{border-color:var(--accent-2);color:var(--accent-2)}.star{border:none;background:none;padding:0}.star.on{color:var(--accent)}.count,.muted,.cite,.note{color:#5c564c;font-size:.9rem}.crumb{font-size:.85rem}.title-row{display:flex;align-items:center;gap:.8rem}.stem{background:var(--panel);border-left:3px solid var(--accent);padding:.7rem 1rem}.choices ul{list-style:none;padding:0}.choices li label{display:flex;gap:.6rem;padding:.25rem 0;cursor:pointer}.cid{font-family:var(--mono);min-width:1.6rem}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.7rem 0 1rem}.dbg-bar{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.6rem 0}.state{font-family:var(--mono);font-size:.8rem;margin-left:.4rem}.frame-tag,.entry-hint{font-family:var(--mono);font-size:.78rem;color:var(--accent-2)}.state.error,.err{color:var(--err)}.split{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);gap:.8rem}@media(max-width:800px){.split{grid-template-columns:1fr}}.code-pane,.vars,.steps,.choices,.variants{background:var(--panel);border:1px solid var(--line);padding:.6rem .7rem}.code-pane{overflow:auto;max-height:28rem}.code-pane table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.82rem}.gutter{width:2.4rem;text-align:right;color:#8a8273;cursor:pointer;-webkit-user-select:none;user-select:none;padding-right:.55rem}.gutter.bp{color:var(--accent);font-weight:700}.code pre{margin:0;white-space:pre}.code-pane tr.cur td{background:var(--hl)}.vars h3,.steps h3,.choices h3,.variants h3{margin:.2rem 0 .5rem;font-size:.95rem}.vars dl div{display:grid;grid-template-columns:7rem 1fr;gap:.4rem;font-family:var(--mono);font-size:.8rem}.vars dt{color:#6b6458}.out{font-family:var(--mono);font-size:.82rem;background:#1b1914;color:#f3efe4;padding:.5rem;min-height:3rem}.table-wrap{overflow:auto;max-height:22rem}.steps table,.choices table{border-collapse:collapse;font-family:var(--mono);font-size:.78rem;width:100%}.steps th,.steps td,.choices th,.choices td{border-bottom:1px solid var(--line);padding:.2rem .4rem;white-space:nowrap}td.changed{background:#dcfce7}tr.ans td{background:#ecfdf3}.editor{width:100%;min-height:12rem;font-family:var(--mono);font-size:.85rem;padding:.7rem}.prose{max-width:42rem}.prose table.ops{width:100%;border-collapse:collapse;margin:.8rem 0 1rem;font-size:.95rem}.prose table.ops th,.prose table.ops td{border:1px solid var(--line);padding:.35rem .6rem;text-align:left}.prose table.ops th{background:color-mix(in srgb,var(--panel) 70%,var(--line));font-weight:500}.prose code{font-family:var(--mono);font-size:.88em;background:color-mix(in srgb,var(--panel) 80%,var(--line));padding:.05em .35em;border-radius:3px}.msg{font-weight:700}.msg.ok{color:var(--ok)}.entry-bar,.tutorial-card{background:var(--panel);border:1px solid var(--line);padding:.7rem .85rem;margin:.8rem 0}.entry-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end}.presets{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0 0}.chip{font-size:.8rem;padding:.15rem .45rem}button.emphasize,.emphasize{outline:3px solid var(--accent);outline-offset:2px;background:#fff7ed}.hole{border-radius:3px;padding:0 .12em;text-decoration:underline;text-underline-offset:2px;font-style:normal}.hole.unfilled{border:1.5px dashed currentColor;text-decoration:none}.hole.filled{border:1.5px solid currentColor}.hole-a{background:#fef3c7;color:#92400e}.hole-b{background:#dbeafe;color:#1e3a8a}.hole-c{background:#ede9fe;color:#5b21b6}.hole-d{background:#dcfce7;color:#14532d}.hole-e{background:#ffe4e6;color:#9f1239}.hole-f{background:#ffedd5;color:#9a3412}.hole-legend{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .45rem;font-size:.78rem}.variant-list{padding-left:1.2rem}.variant-card{margin:.4rem 0 1rem}.restore-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:.5rem 0}.tutorial-steps{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;padding:0}.tutorial-steps button{font-size:.8rem}.tutorial-steps .on button{background:var(--ink);color:var(--paper)}.tutorial-steps .done button{border-color:var(--ok);color:var(--ok)}
