body[data-minimal=true]{--row:#22703c;--col:#cc4f86;--depth:#b8860b;--world:#5b47c2;--galaxy:#1f8fb0;--universe:#6f695e;--hint-wash:#fff4d2;--hint-line:#d6a53a;--hint-ring:#9c6f12;--target-wash:#fbe6de;--target-line:#c7806a;--target-ring:#9a4a33;--wrong:#a14d35;--wrong-wash:#fff0ea;--wrong-line:#c58e7b}.view-switch{display:flex;justify-content:center;gap:16px;margin:0 0 14px}.view-switch button{border:0;background:none;padding:6px 4px;min-height:31px;border-radius:3px;font-size:13px;color:var(--ink-2)}.view-switch button:not([aria-pressed=true]):hover:not(:disabled){background:none;color:var(--ink)}.view-switch button[aria-pressed=true],.view-switch button[aria-pressed=true]:hover{color:var(--pen);background:var(--pen-wash);box-shadow:0 0 0 4px var(--pen-wash);font-weight:600}.play-screen:is([data-view=stack],[data-view=cube]) .ndim-board{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);border:0;box-shadow:none}.play-area:has(.ndim-cell:focus-visible) .scene-stage{outline:2px solid var(--pen);outline-offset:3px}.play-screen:is([data-view=stack],[data-view=cube]) .scene-panel{order:1}.play-screen:is([data-view=stack],[data-view=cube]) :is(#completion-actions,.play-footer){order:2}.scene-stage{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border:1px solid var(--line);background:radial-gradient(110% 80% at 50% 30%,var(--sheet),var(--paper))}.scene-svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.scene-stage.dragging .scene-svg{cursor:grabbing}.scene-legend{position:absolute;top:10px;left:12px;right:52px;display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;font-size:12px;line-height:1.4;color:var(--ink-2);pointer-events:none}.scene-legend li{display:flex;align-items:center;gap:6px}.swatch{width:10px;height:10px;flex:none}.swatch.row{background:var(--row)}.swatch.col{background:var(--col)}.swatch.depth{background:var(--depth)}.swatch.world{background:var(--world)}.swatch.galaxy{background:var(--galaxy)}.swatch.universe{background:repeating-linear-gradient(90deg,var(--universe) 0 3px,transparent 3px 5px)}.scene-zoom{position:absolute;top:8px;right:8px;display:grid;border:1px solid var(--line);border-radius:2px;background:var(--sheet)}.scene-zoom button{width:32px;height:32px;min-height:0;padding:0;border:0;border-radius:0;background:none;font-size:17px;line-height:1;color:var(--ink-2)}.scene-zoom button+button{border-top:1px solid var(--line)}.scene-zoom button:hover:not(:disabled){background:var(--hover);color:var(--ink)}.scene-tilt,.scene-turn{position:absolute;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.scene-tilt{right:8px;top:50%;transform:translateY(-50%);flex-direction:column-reverse;width:32px}.scene-turn{left:50%;bottom:6px;transform:translate(-50%);width:min(46%,320px)}.scene-tilt output,.scene-turn output{display:none}.scene-stage input,.scene-slider input{-webkit-appearance:none;appearance:none;margin:0;cursor:pointer;background:linear-gradient(var(--line),var(--line)) center/100% 2px no-repeat}.scene-turn input{flex:1;min-width:0;height:26px}.scene-tilt input{writing-mode:vertical-lr;direction:rtl;width:26px;height:140px;background-size:2px 100%}.scene-stage input::-webkit-slider-thumb,.scene-slider input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}.scene-stage input::-moz-range-thumb,.scene-slider input::-moz-range-thumb{width:9px;height:9px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}.scene-panel{display:grid;gap:12px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.scene-panel .control-label{margin:0}.scene-hint{margin:-8px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}.scene-show,.scene-options{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.scene-show .tools-name{margin-right:2px;font-size:12px;color:var(--muted)}.chip{min-height:32px;padding:4px 6px;border:0;border-radius:3px;background:none;font-size:12px;color:var(--ink-2)}.chip:not([aria-pressed=true]):hover:not(:disabled){background:var(--hover)}.chip[aria-pressed=true],.chip[aria-pressed=true]:hover{color:var(--pen);background:var(--pen-wash);font-weight:600}.scene-show .chip[data-show]:not([data-show="0"]){min-width:30px;font-family:var(--serif);font-size:18px;line-height:1;color:var(--pen)}.chip[data-option=places]:before{content:"";display:inline-block;width:9px;height:9px;margin-right:6px;border:1.5px dashed var(--mark);border-radius:50%;vertical-align:-1px}.scene-slider{display:grid;grid-template-columns:auto minmax(0,1fr) 36px;align-items:center;gap:10px;font-size:12px;color:var(--ink-2)}.scene-slider input{width:100%;height:26px}.scene-slider output{text-align:right;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.layer-control[data-line=depth]{--line-ink:var(--depth)}.layer-control[data-line=world]{--line-ink:var(--world)}.layer-control[data-line=galaxy]{--line-ink:var(--galaxy)}.layer-control[data-line=universe]{--line-ink:var(--universe)}.play-screen:is([data-view=stack],[data-view=cube]) .layer-title label:before{content:"";display:inline-block;width:8px;height:8px;margin-right:7px;background:var(--line-ink)}.scene text{font-family:var(--serif);font-variant-numeric:lining-nums tabular-nums;text-anchor:middle;dominant-baseline:central;pointer-events:none;paint-order:stroke;stroke:var(--sheet);stroke-width:.07;stroke-linejoin:round}.scene [data-index]{cursor:pointer}.shade-stop{stop-color:#3c2d14;stop-opacity:.16}.shade-end{stop-opacity:0}.scene .quad polygon{fill:var(--sheet);stroke:var(--cell-line);stroke-width:1;stroke-linejoin:round}.scene .plate polygon{fill:color-mix(in srgb,var(--sheet) 72%,transparent);stroke:var(--sheet-edge)}.scene .plate.active polygon{stroke:var(--rule);stroke-width:1.5}.scene .shadow polygon{fill:url(#scene-shade);stroke:none}.scene .bill circle{fill:var(--sheet);stroke:var(--cell-line);stroke-width:1;vector-effect:non-scaling-stroke}.scene .bill.empty circle{fill:transparent;stroke:var(--faint);stroke-dasharray:2 3}.scene .given text{fill:var(--ink);font-weight:600}.scene .entered text{fill:var(--pen);font-weight:500}.scene .quad.notes text{font-size:.22px;fill:var(--pencil)}.scene .bill.notes text{font-size:.17px;fill:var(--pencil)}.scene .on-row polygon,.scene .bill.on-row circle{fill:color-mix(in srgb,var(--row) 14%,var(--sheet));stroke:var(--row);stroke-dasharray:none}.scene .on-col polygon,.scene .bill.on-col circle{fill:color-mix(in srgb,var(--col) 14%,var(--sheet));stroke:var(--col);stroke-dasharray:none}.scene .on-depth polygon,.scene .bill.on-depth circle{fill:color-mix(in srgb,var(--depth) 16%,var(--sheet));stroke:var(--depth);stroke-dasharray:none}.scene .on-world polygon,.scene .bill.on-world circle{fill:color-mix(in srgb,var(--world) 14%,var(--sheet));stroke:var(--world);stroke-dasharray:none}.scene .on-galaxy polygon,.scene .bill.on-galaxy circle{fill:color-mix(in srgb,var(--galaxy) 14%,var(--sheet));stroke:var(--galaxy);stroke-dasharray:none}.scene .on-universe polygon,.scene .bill.on-universe circle{fill:color-mix(in srgb,var(--universe) 14%,var(--sheet));stroke:var(--universe);stroke-dasharray:4 3}.scene .match polygon,.scene .bill.match circle{fill:var(--same-wash);stroke:color-mix(in srgb,var(--pen) 40%,var(--sheet));stroke-dasharray:none}.scene .picked polygon,.scene .bill.picked circle{fill:var(--pen-wash);stroke:var(--pen);stroke-width:1.5;stroke-dasharray:none}.scene .unpicked text{opacity:.28}.scene .could polygon,.scene .bill.could circle{stroke:var(--mark);stroke-width:1.5;stroke-dasharray:4 3}.scene .could.only polygon,.scene .bill.could.only circle{stroke-width:2.25;stroke-dasharray:none}.scene .ctx-could{fill:color-mix(in srgb,var(--mark) 18%,var(--sheet));stroke:var(--mark);stroke-width:1}.scene .mini-could{fill:var(--sheet);stroke:var(--mark);stroke-width:1;stroke-dasharray:2 2}.scene .hinted polygon,.scene .bill.hinted circle{fill:var(--hint-wash);stroke:var(--hint-line);stroke-width:2;stroke-dasharray:none}.scene .hint-target polygon,.scene .bill.hint-target circle{fill:var(--target-wash);stroke:var(--target-line);stroke-width:2.5;stroke-dasharray:none}.scene .incorrect polygon,.scene .bill.incorrect circle{fill:var(--wrong-wash);stroke:var(--wrong-line);stroke-width:2;stroke-dasharray:none}.scene .incorrect text{fill:var(--wrong)}.scene .selected polygon,.scene .bill.selected circle{fill:var(--pen-wash);stroke:var(--pen);stroke-width:2.5;stroke-dasharray:none}.scene .selected text{fill:var(--pen)}.scene .selected.given text{fill:var(--ink)}.scene .selected.hinted polygon,.scene .bill.selected.hinted circle{fill:var(--hint-wash);stroke:var(--hint-ring);stroke-width:3}.scene .selected.hint-target polygon,.scene .bill.selected.hint-target circle{fill:var(--target-wash);stroke:var(--target-ring);stroke-width:3}.scene .selected.incorrect polygon,.scene .bill.selected.incorrect circle{stroke:var(--wrong);stroke-width:3}.scene .rod{stroke:var(--depth);stroke-width:3.5;stroke-linecap:round}.scene .axis{stroke-width:2.5;stroke-linecap:round}.scene .axis.row{stroke:var(--row)}.scene .axis.col{stroke:var(--col)}.scene .axis.depth{stroke:var(--depth)}.scene .axis.world{stroke:var(--world)}.scene .axis.galaxy{stroke:var(--galaxy)}.scene .axis.universe{stroke:var(--universe);stroke-dasharray:7 5}.scene .edge{fill:none;stroke:var(--sheet-edge);stroke-width:1;stroke-dasharray:3 5}.scene .ctx-filled{fill:var(--faint);fill-opacity:.6}.scene .ctx-empty{fill:none;stroke:var(--line);stroke-width:1}.scene .ctx-match{fill:var(--pen)}.scene .mini-filled{fill:var(--line);stroke:none}.scene .mini-empty{fill:var(--sheet);stroke:var(--cell-line);stroke-width:.75}.scene .mini-match{fill:var(--pen-wash);stroke:var(--pen);stroke-width:.75}@media(hover:hover){.scene .quad[data-index]:hover:not(.selected) polygon{stroke:var(--ink-2)}}@media(min-width:980px){.play-screen:is([data-view=stack],[data-view=cube]) .play-area{grid-template-columns:minmax(0,1fr) minmax(240px,300px)}.play-area>.view-3d{grid-column:1;grid-row:1/-1}.view-3d .scene-stage{aspect-ratio:auto;height:var(--play-board)}.view-switch{justify-content:flex-start;gap:20px;margin:0 0 22px}}@media(max-width:979px){.play-screen:is([data-view=stack],[data-view=cube]) .play-area{display:flex;flex-direction:column}.scene-tilt input{height:110px}.scene-turn{width:52%}}
