.carrier-layer{--board-gap:1px;--board-edge:1px;position:absolute;inset:0}.playback-cell{width:calc(( 100% - 2 * var(--board-edge) - (var(--board-columns) - 1) * var(--board-gap) ) / var(--board-columns));height:calc(( 100% - 2 * var(--board-edge) - (var(--board-rows) - 1) * var(--board-gap) ) / var(--board-rows));transform:translate(calc(var(--cell-x) * (100% + var(--board-gap)) + var(--board-edge)), calc(var(--cell-y) * (100% + var(--board-gap)) + var(--board-edge)));place-items:center;transition:transform .26s ease-in-out;display:grid;position:absolute;top:0;left:0}.playback-carrier{color:var(--ink)}.playback-carrier .carrier{width:66%;height:66%}.playback-mark{fill:none;stroke:currentColor;width:92%;height:92%;stroke-width:var(--stroke-weight);vector-effect:non-scaling-stroke}.playback-mark rect,.playback-mark path,.playback-mark polygon{vector-effect:non-scaling-stroke}.playback-mark-bar,.playback-mark-loop polygon{fill:currentColor}.playback-mark-burst path,.playback-mark-held path{stroke-width:calc(var(--stroke-weight) * 1.5)}.playback-banner{text-align:center;letter-spacing:.2em;margin:0;font-size:.8rem;position:absolute;bottom:0;left:0;right:0}.playback-banner:empty{display:none}.playback-said{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.playback-cell{transition:none}}.carrier-layer[data-motion=reduced] .playback-cell{transition:none}.board{box-sizing:border-box;width:100%;padding:1rem;position:relative}.board-grid{grid-template-columns:repeat(var(--board-columns), 1fr);grid-template-rows:repeat(var(--board-rows), 1fr);aspect-ratio:var(--board-columns) / var(--board-rows);background:var(--rule);border:1px solid var(--rule);touch-action:none;gap:1px;display:grid}.board-row{display:contents}.board-cell{background:var(--ground);aspect-ratio:1;place-items:center;min-width:0;min-height:0;display:grid}.board-cell :focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.board-glyph{width:78%;height:78%}.board-atom{opacity:.85;font-size:1.5rem;line-height:1}.board-sink{fill:none;stroke:currentColor;width:62%;height:62%;stroke-width:var(--stroke-weight);vector-effect:non-scaling-stroke;opacity:.55}.board-sink rect{vector-effect:non-scaling-stroke}.board-grid{position:relative}.board-overlay{pointer-events:none;position:absolute;inset:0}.placement{grid-template-rows:1fr auto;display:grid}.placement[data-carrying=true] .board-grid{cursor:copy}.board-drop{width:100%;height:100%;color:inherit;border:1px dashed color-mix(in srgb, var(--ink) 45%, transparent);cursor:pointer;touch-action:none;background:0 0;border-radius:2px;place-items:center;padding:0;transition:background-color .12s ease-out;display:grid}.board-drop:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}.board-cell[data-over=true] .board-drop{border-style:solid;border-color:var(--ink);background:color-mix(in srgb, var(--ink) 14%, transparent)}.board-lift{width:100%;height:100%;color:inherit;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:2px;place-items:center;padding:0;display:grid}.board-lift:hover{border-color:color-mix(in srgb, var(--ink) 40%, transparent)}.composer-carry{color:inherit;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:3px;padding:0}.composer-carry:hover:not(:disabled){border-color:color-mix(in srgb, var(--ink) 40%, transparent)}.composer-carry:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.composer-carry:disabled{cursor:default;opacity:.45}.composer-carry[aria-pressed=true]{border-style:dashed;border-color:var(--ink);opacity:.4}.palette-take-apart{color:var(--ink);border:1px dashed var(--rule);font:inherit;letter-spacing:.15em;cursor:pointer;background:0 0;border-radius:3px;padding:.3rem .6rem;font-size:.7rem}.palette-take-apart:hover{border-color:var(--ink)}.palette-take-apart:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.drag-ghost{pointer-events:none;z-index:10;position:fixed;top:0;left:0}.drag-ghost .glyph-svg{opacity:.9;filter:drop-shadow(0 2px 6px #0009);transform:translate(-50%,-50%)}.placement-status{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.board-drop,.board-lift,.composer-carry{transition:none}.drag-ghost .glyph-svg{filter:none}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--stroke-size:2.25rem;--stroke-weight:1.5px;--composed-size:5.5rem;--ink:#e8e4dc;--ground:#101010;--rule:#3a3a38;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}body{background:var(--ground);min-height:100vh;color:var(--ink);margin:0}.app{grid-template-rows:auto auto 1fr;max-width:34rem;min-height:100vh;margin:0 auto;display:grid}.app-header{border-bottom:1px solid var(--rule);letter-spacing:.2em;opacity:.7;justify-content:space-between;padding:.75rem 1rem;font-size:.8rem;display:flex}.board-picker{flex-wrap:wrap;gap:.35rem;padding:.6rem 1rem;display:flex}.board-pick{color:var(--ink);border:1px solid var(--rule);font:inherit;letter-spacing:.16em;cursor:pointer;background:0 0;border-radius:3px;min-height:2.25rem;padding:.3rem .55rem;font-size:.7rem}.board-pick:hover{border-color:var(--ink)}.board-pick:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.board-pick[aria-pressed=true]{border-color:var(--ink);background:color-mix(in srgb, var(--ink) 12%, transparent)}.glyph-svg{width:var(--stroke-size);height:var(--stroke-size);fill:none;stroke:currentColor;stroke-width:var(--stroke-weight);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;display:block}.glyph-path{vector-effect:non-scaling-stroke}.glyph-composed{width:var(--composed-size);height:var(--composed-size)}.palette{border-top:1px solid var(--rule);grid-template-columns:1fr auto;align-items:start;gap:1rem;padding:1rem;display:grid}.palette-side{justify-items:stretch;gap:.6rem;display:grid}.trays{gap:.6rem;display:grid}.tray{grid-template-columns:5.5rem 1fr;align-items:center;gap:.5rem;display:grid}.tray-label{letter-spacing:.22em;text-transform:uppercase;opacity:.6;margin:0;font-size:.7rem;font-weight:400}.tray-slots,.composer-slots{gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tray-empty{letter-spacing:.2em;opacity:.3;font-size:.7rem}.stroke-button{color:var(--ink);border:1px solid var(--rule);cursor:pointer;touch-action:none;background:0 0;border-radius:3px;place-items:center;padding:.3rem;display:grid}.stroke-button:hover:not(:disabled){border-color:var(--ink)}.stroke-button:focus-visible,.composer-clear:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.stroke-button[data-spent=true]{opacity:.16;cursor:default;border-style:dashed}.stroke-button:disabled:not([data-spent=true]){opacity:.4;cursor:default}.composer{border:1px solid var(--rule);border-radius:3px;justify-items:center;gap:.5rem;padding:.6rem;display:grid}.composer-label{letter-spacing:.22em;text-transform:uppercase;opacity:.6;margin:0;font-size:.7rem;font-weight:400}.composer-preview{width:var(--composed-size);height:var(--composed-size);place-items:center;display:grid}.composer-slot{place-items:center;min-width:3rem;min-height:2.6rem;display:grid}.composer-slot.is-empty{border:1px dashed var(--rule);border-radius:3px}.composer-slot.is-refused{opacity:.5;border-style:none}.composer-slot-label{letter-spacing:.12em;text-transform:uppercase;opacity:.45;font-size:.55rem}.composer-clear{color:var(--ink);border:1px solid var(--rule);font:inherit;letter-spacing:.15em;cursor:pointer;background:0 0;border-radius:3px;padding:.3rem .6rem;font-size:.7rem}.composer-clear:disabled{opacity:.3;cursor:default}@media (width<=26rem){:root{--stroke-size:2rem;--composed-size:4.5rem}.palette{grid-template-columns:1fr;justify-items:stretch}}:root{--carrier-size:2.6rem;--carrier-turn:.18s}.carrier{width:var(--carrier-size);height:var(--carrier-size);color:var(--ink);display:block}.carrier-hold path,.carrier-sunk rect{vector-effect:non-scaling-stroke}.carrier-rotor{transform-box:view-box;transform-origin:50%;transition:transform var(--carrier-turn) ease-in-out}@media (prefers-reduced-motion:reduce){.carrier-rotor{transition:none}}.run-count{font-variant-numeric:tabular-nums}.run-button{color:var(--ink);border:1px solid var(--rule);font:inherit;cursor:pointer;touch-action:none;background:0 0;border-radius:3px;grid-template-columns:auto auto;justify-content:center;align-items:center;gap:0 .55rem;padding:.5rem 1rem;display:grid}.run-button[data-tier=gold]{--tier-ink:#d9b25a}.run-button[data-tier=silver]{--tier-ink:#c9ccd1}.run-button[data-tier=bronze]{--tier-ink:#b3773f}.run-button[data-tier=none]{--tier-ink:#7a776f}.run-star{width:1.6rem;height:1.6rem;color:var(--tier-ink,var(--ink));fill:none;stroke-linejoin:round;vector-effect:non-scaling-stroke;grid-row:1/span 2}.run-word{letter-spacing:.25em;font-size:.85rem}.run-tier{letter-spacing:.16em;color:var(--tier-ink,var(--ink));font-size:.55rem}.run-button:hover:not(:disabled){border-color:var(--ink)}.run-button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.run-button:disabled{opacity:.5;cursor:default}.run-refusal{text-wrap:pretty;color:var(--ink);border:1px dashed var(--rule);border-radius:3px;margin:0;padding:.4rem .6rem;font-size:.7rem;line-height:1.4}
