.topo-frame.svelte-pim8en{--topo-land:#fffdf8;--topo-line:#b9ad9b;--topo-ink:var(--normal-font-color,#1f1b17);--topo-right:var(--correct,oklch(52% .09 152));--topo-accent:var(--primary,oklch(72% .13 85));--topo-wrong:var(--danger,oklch(50% .12 40));max-width:calc(max(280px, var(--topo-room,100svh - 280px)) * var(--topo-ratio));-webkit-print-color-adjust:exact;print-color-adjust:exact;background:oklch(94% .028 235)}.topo-map.svelte-pim8en{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.topo-pinchable.svelte-pim8en{touch-action:pan-x pan-y}.topo-zoomed.svelte-pim8en{touch-action:none;cursor:grab}.topo-placing.svelte-pim8en{cursor:crosshair}.topo-sea.svelte-pim8en{fill:oklch(94% .028 235)}.topo-inset.svelte-pim8en{fill:none;stroke:var(--topo-line);stroke-width:1.5px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;pointer-events:none}.topo-lake.svelte-pim8en{fill:oklch(94% .028 235);stroke:var(--topo-line);stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.topo-abroad.svelte-pim8en{fill:#ece6da}.topo-river.svelte-pim8en{--topo-water:oklch(66% .085 235);outline:none}.topo-river-line.svelte-pim8en{fill:none;stroke:var(--topo-water);stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none;transition:stroke .2s,stroke-width .2s}.topo-river-hit.svelte-pim8en{fill:none;stroke:#0000;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:stroke}.topo-river.topo-on.svelte-pim8en .topo-river-line:where(.svelte-pim8en),.topo-river.topo-done.svelte-pim8en .topo-river-line:where(.svelte-pim8en){stroke:var(--topo-right);stroke-width:3.5px}.topo-river.topo-answered.svelte-pim8en .topo-river-line:where(.svelte-pim8en){stroke:color-mix(in srgb, var(--topo-ink) 55%, var(--topo-land));stroke-width:3px}.topo-river.topo-target.svelte-pim8en .topo-river-line:where(.svelte-pim8en),.topo-river.topo-hint.svelte-pim8en .topo-river-line:where(.svelte-pim8en){stroke:var(--topo-accent);stroke-width:4px}.topo-river.topo-flash.svelte-pim8en .topo-river-line:where(.svelte-pim8en){stroke:var(--topo-wrong);stroke-width:3.5px}.topo-river.topo-flash.svelte-pim8en{animation:.42s ease-in-out svelte-pim8en-topo-shudder}.topo-river.topo-faint.svelte-pim8en .topo-river-line:where(.svelte-pim8en){stroke:color-mix(in srgb, var(--topo-water) 45%, var(--topo-land))}.topo-river.topo-found.svelte-pim8en .topo-river-line:where(.svelte-pim8en){animation:.9s ease-out svelte-pim8en-topo-river-settle}@keyframes svelte-pim8en-topo-river-settle{0%{stroke-width:6px}}.topo-river.svelte-pim8en:focus-visible .topo-river-line:where(.svelte-pim8en){stroke:var(--topo-ink);stroke-width:3px}.topo-unit.svelte-pim8en{fill:var(--topo-land);stroke:var(--topo-line);stroke-width:1px;stroke-linejoin:round;vector-effect:non-scaling-stroke;outline:none;transition:fill .2s}.topo-unit.topo-compound.svelte-pim8en{paint-order:stroke;stroke-width:2px}.topo-unit.topo-slot.svelte-pim8en{fill:color-mix(in srgb, var(--topo-ink) 15%, var(--topo-land))}.topo-can.svelte-pim8en{cursor:pointer}.topo-placing.svelte-pim8en .topo-can:where(.svelte-pim8en){cursor:crosshair}@media (hover:hover){.topo-unit.topo-can.svelte-pim8en:hover{fill:color-mix(in srgb, var(--topo-ink) 9%, var(--topo-land))}.topo-point.topo-can.svelte-pim8en:hover .topo-dot:where(.svelte-pim8en){stroke:var(--topo-ink)}.topo-river.topo-can.topo-plain.svelte-pim8en:hover .topo-river-line:where(.svelte-pim8en),.topo-river.topo-can.topo-faint.svelte-pim8en:hover .topo-river-line:where(.svelte-pim8en){stroke:color-mix(in srgb, var(--topo-ink) 60%, var(--topo-water));stroke-width:3px}}.topo-unit.svelte-pim8en:focus-visible{stroke:var(--topo-ink);stroke-width:2.5px}.topo-point.svelte-pim8en:focus-visible{outline:none}.topo-point.svelte-pim8en:focus-visible .topo-ring:where(.svelte-pim8en){stroke:var(--topo-ink);stroke-width:2px}.topo-unit.topo-on.svelte-pim8en,.topo-unit.topo-done.svelte-pim8en{fill:color-mix(in srgb, var(--topo-right) 24%, var(--topo-land));stroke:var(--topo-right)}.topo-unit.topo-answered.svelte-pim8en{fill:color-mix(in srgb, var(--topo-ink) 13%, var(--topo-land));stroke:color-mix(in srgb, var(--topo-ink) 55%, var(--topo-land))}.topo-point.topo-answered.svelte-pim8en .topo-ring:where(.svelte-pim8en){fill:color-mix(in srgb, var(--topo-ink) 13%, var(--topo-land));stroke:color-mix(in srgb, var(--topo-ink) 55%, var(--topo-land));stroke-width:1.5px}.topo-unit.topo-target.svelte-pim8en{fill:color-mix(in srgb, var(--topo-accent) 36%, var(--topo-land));stroke:var(--topo-accent);stroke-width:2.5px}.topo-unit.topo-hint.svelte-pim8en{stroke:var(--topo-accent);stroke-width:3px}.topo-unit.topo-flash.svelte-pim8en{fill:color-mix(in srgb, var(--topo-wrong) 34%, var(--topo-land));stroke:var(--topo-wrong);stroke-width:2px;animation:.42s ease-in-out svelte-pim8en-topo-shudder}.topo-unit.topo-found.svelte-pim8en{animation:.9s ease-out svelte-pim8en-topo-settle}.topo-celebrate.svelte-pim8en .topo-unit.topo-done:where(.svelte-pim8en){animation:.9s ease-out both svelte-pim8en-topo-settle;animation-delay:calc(var(--topo-i,0) * 40ms)}@keyframes svelte-pim8en-topo-settle{0%{fill:var(--topo-right)}35%{fill:color-mix(in srgb, var(--topo-right) 70%, var(--topo-land))}}@keyframes svelte-pim8en-topo-shudder{20%{transform:translateX(calc(var(--topo-u,1) * -7px))}45%{transform:translateX(calc(var(--topo-u,1) * 6px))}70%{transform:translateX(calc(var(--topo-u,1) * -3px))}}.topo-bubble.svelte-pim8en{fill-opacity:.3;stroke:color-mix(in srgb, var(--topo-ink) 45%, var(--topo-land));stroke-width:1.25px;transition:fill .2s,fill-opacity .15s}.topo-unit.topo-bubble-open.svelte-pim8en{fill-opacity:0;stroke:var(--topo-ink)}.topo-contour.svelte-pim8en{fill:none;stroke:var(--topo-ink);stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}.topo-ring.svelte-pim8en{fill:none;stroke:none;vector-effect:non-scaling-stroke}.topo-dot.svelte-pim8en{fill:var(--topo-ink);stroke:var(--topo-land);stroke-width:1.5px;vector-effect:non-scaling-stroke}.topo-own.svelte-pim8en .topo-dot:where(.svelte-pim8en){stroke-width:2.5px}.topo-hit.svelte-pim8en{fill:#0000}.topo-point.topo-on.svelte-pim8en .topo-dot:where(.svelte-pim8en),.topo-point.topo-done.svelte-pim8en .topo-dot:where(.svelte-pim8en){fill:var(--topo-right)}.topo-point.topo-faint.svelte-pim8en .topo-dot:where(.svelte-pim8en){fill:var(--topo-land);stroke:var(--topo-line)}.topo-point.topo-flash.svelte-pim8en .topo-dot:where(.svelte-pim8en){fill:var(--topo-wrong)}.topo-point.topo-flash.svelte-pim8en{animation:.42s ease-in-out svelte-pim8en-topo-shudder}.topo-point.topo-found.svelte-pim8en .topo-dot:where(.svelte-pim8en){transform-box:fill-box;transform-origin:50%;animation:.5s ease-out svelte-pim8en-topo-dot-pop}@keyframes svelte-pim8en-topo-dot-pop{40%{transform:scale(2.1)}}.topo-ripple.svelte-pim8en,.topo-beacon.svelte-pim8en circle:where(.svelte-pim8en){fill:none;pointer-events:none;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%}.topo-ripple.svelte-pim8en{stroke-width:3px;animation:.6s ease-out both svelte-pim8en-topo-ripple}.topo-ripple-right.svelte-pim8en{stroke:var(--topo-right)}.topo-ripple-wrong.svelte-pim8en{stroke:var(--topo-wrong)}.topo-ripple-neutral.svelte-pim8en{stroke:var(--topo-ink)}.topo-beacon.svelte-pim8en circle:where(.svelte-pim8en){stroke:var(--topo-accent);stroke-width:2.5px;animation:1.6s ease-out infinite both svelte-pim8en-topo-ripple}.topo-beacon.svelte-pim8en .topo-beacon-late:where(.svelte-pim8en){animation-delay:.8s}@keyframes svelte-pim8en-topo-ripple{0%{opacity:1;transform:scale(.15)}to{opacity:0;transform:scale(1)}}.topo-point.topo-target.svelte-pim8en .topo-ring:where(.svelte-pim8en),.topo-point.topo-hint.svelte-pim8en .topo-ring:where(.svelte-pim8en){fill:color-mix(in srgb, var(--topo-accent) 36%, var(--topo-land));stroke:var(--topo-accent);stroke-width:2.5px}.topo-target.svelte-pim8en,.topo-hint.svelte-pim8en{animation:1.1s ease-in-out infinite svelte-pim8en-topo-pulse}@keyframes svelte-pim8en-topo-pulse{50%{opacity:.55}}.topo-label.svelte-pim8en{pointer-events:none;fill:var(--topo-ink);font-family:var(--cell-font-family,var(--font-primary,inherit));paint-order:stroke;stroke:var(--topo-land);stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke;font-weight:600}.topo-number.svelte-pim8en{pointer-events:none}.topo-number.svelte-pim8en circle:where(.svelte-pim8en){fill:#fff;stroke:var(--topo-ink);stroke-width:1px;vector-effect:non-scaling-stroke}.topo-number.svelte-pim8en text:where(.svelte-pim8en){fill:var(--topo-ink);font-family:var(--font-primary,inherit);font-weight:700}.topo-label-unit.svelte-pim8en{letter-spacing:.07em;text-transform:uppercase;opacity:.8}.topo-dense.svelte-pim8en .topo-label-unit:where(.svelte-pim8en){letter-spacing:.01em;text-transform:none}.topo-label-point.svelte-pim8en{stroke-width:4px}.topo-label-river.svelte-pim8en{fill:color-mix(in srgb, oklch(42% .09 235) 80%, var(--topo-ink));stroke-width:4px;font-style:italic;font-weight:500}.topo-label.svelte-pim8en{animation:.3s ease-out svelte-pim8en-topo-name-in}@keyframes svelte-pim8en-topo-name-in{0%{opacity:0}}.topo-label.topo-label-flash.svelte-pim8en{fill:var(--topo-wrong);opacity:1;stroke-width:4px}.topo-label-plain.svelte-pim8en,.topo-label-faint.svelte-pim8en{opacity:.45}.topo-own-editor.svelte-pim8en{z-index:1;position:absolute;transform:translate(12px,-50%)}.topo-own-editor-left.svelte-pim8en{transform:translate(calc(-100% - 12px),-50%)}.topo-zoom.svelte-pim8en{color:#1f1b17;background:#fff;border:1px solid #cbbfae;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;line-height:1;display:flex}.topo-caption.svelte-pim8en{background:color-mix(in srgb, var(--topo-land) 85%, transparent);max-width:calc(100% - 16px);color:var(--topo-ink);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;border-radius:8px;padding:3px 8px;font-size:10px;line-height:1.4;position:absolute;bottom:8px;left:8px}.topo-zoom.svelte-pim8en:disabled{opacity:.4}.topo-zoom.svelte-pim8en:focus-visible{outline:2px solid var(--topo-ink);outline-offset:2px}@media print{.topo-frame.svelte-pim8en{background:#fff;border:1px solid #b5b5b5;border-radius:0}.topo-sea.svelte-pim8en,.topo-lake.svelte-pim8en{fill:#fff}.topo-abroad.svelte-pim8en{fill:#ededed}.topo-unit.svelte-pim8en{stroke:#6f6f6f}.topo-label.svelte-pim8en{animation:none}}@media (prefers-reduced-motion:reduce){.topo-target.svelte-pim8en,.topo-hint.svelte-pim8en,.topo-unit.topo-flash.svelte-pim8en,.topo-unit.topo-found.svelte-pim8en,.topo-celebrate.svelte-pim8en .topo-unit.topo-done:where(.svelte-pim8en),.topo-point.topo-flash.svelte-pim8en,.topo-point.topo-found.svelte-pim8en .topo-dot:where(.svelte-pim8en),.topo-river.topo-flash.svelte-pim8en,.topo-river.topo-found.svelte-pim8en .topo-river-line:where(.svelte-pim8en),.topo-label.svelte-pim8en{animation:none}.topo-ripple.svelte-pim8en,.topo-beacon.svelte-pim8en{display:none}.topo-unit.svelte-pim8en,.topo-dot.svelte-pim8en,.topo-river-line.svelte-pim8en{transition:none}}.topo-outline-frame.svelte-a95263{--topo-land:#fffdf8;--topo-ink:var(--normal-font-color,#1f1b17);--topo-right:var(--correct,oklch(52% .09 152));--topo-accent:var(--primary,oklch(72% .13 85));aspect-ratio:4/3;background:var(--topo-land);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--topo-ink) 16%, transparent);max-width:min(640px, calc(max(280px, var(--topo-room,100svh - 280px)) * 4 / 3));-webkit-print-color-adjust:exact;print-color-adjust:exact}.topo-caption.svelte-a95263{background:color-mix(in srgb, var(--topo-land) 85%, transparent);max-width:calc(100% - 16px);color:var(--topo-ink);font-family:var(--font-mono,ui-monospace, monospace);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;border-radius:8px;padding:3px 8px;font-size:10px;line-height:1.4;position:absolute;bottom:8px;left:8px}.topo-outline.svelte-a95263{-webkit-user-select:none;user-select:none;animation:.3s ease-out svelte-a95263-topo-outline-in}.topo-outline-shape.svelte-a95263{fill:color-mix(in srgb, var(--topo-accent) 36%, var(--topo-land));stroke:var(--topo-accent);stroke-width:4px;stroke-linejoin:round;paint-order:stroke;vector-effect:non-scaling-stroke;transition:fill .25s,stroke .25s}.topo-outline-lake.svelte-a95263{fill:var(--topo-land)}.topo-outline-right.svelte-a95263 .topo-outline-shape:where(.svelte-a95263){fill:color-mix(in srgb, var(--topo-right) 24%, var(--topo-land));stroke:var(--topo-right);animation:.8s ease-out svelte-a95263-topo-outline-settle}.topo-outline-answered.svelte-a95263 .topo-outline-shape:where(.svelte-a95263){fill:color-mix(in srgb, var(--topo-ink) 13%, var(--topo-land));stroke:color-mix(in srgb, var(--topo-ink) 55%, var(--topo-land))}@keyframes svelte-a95263-topo-outline-in{0%{opacity:0;transform:scale(.94)}}@keyframes svelte-a95263-topo-outline-settle{0%{fill:var(--topo-right)}40%{fill:color-mix(in srgb, var(--topo-right) 70%, var(--topo-land))}}@media (prefers-reduced-motion:reduce){.topo-outline.svelte-a95263,.topo-outline-right.svelte-a95263 .topo-outline-shape:where(.svelte-a95263){animation:none}.topo-outline-shape.svelte-a95263{transition:none}}.topo-tray.svelte-1soqlz8{--topo-piece:color-mix(in srgb, var(--primary,oklch(72% .13 85)) 38%, #fffdf8);--topo-piece-line:#5d5449;grid-template-columns:repeat(min(3, var(--topo-spots)), minmax(0, 1fr))}@media (width>=640px){.topo-tray.svelte-1soqlz8{grid-template-columns:repeat(var(--topo-spots), minmax(0, 1fr))}.topo-tray.topo-tray-beside.svelte-1soqlz8{grid-template-columns:repeat(2,minmax(0,1fr))}}.topo-piece.svelte-1soqlz8,.topo-piece-gone.svelte-1soqlz8{border-radius:14px;height:84px}@media (width>=640px) and (height>=501px){.topo-piece.svelte-1soqlz8,.topo-piece-gone.svelte-1soqlz8{height:104px}}.topo-piece.svelte-1soqlz8{border:1px solid color-mix(in srgb, var(--normal-font-color,#1f1b17) 28%, transparent);color:#1f1b17;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:grab;background:#fff;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:8px 6px 6px;transition:border-color .15s,box-shadow .15s,transform .15s;animation:.28s ease-out svelte-1soqlz8-topo-piece-in;display:flex}.topo-piece.svelte-1soqlz8:disabled{cursor:default}@media (hover:hover){.topo-piece.svelte-1soqlz8:enabled:hover{border-color:var(--normal-font-color,#1f1b17)}}.topo-piece.svelte-1soqlz8:focus-visible{outline:2px solid var(--primary,#1f1b17);outline-offset:2px}.topo-piece-held.svelte-1soqlz8{border-color:var(--primary,#1f1b17);box-shadow:0 0 0 2px var(--primary,#1f1b17);transform:translateY(-3px)}.topo-piece-away.svelte-1soqlz8{box-shadow:none;transform:none}.topo-piece-away.svelte-1soqlz8 .topo-piece-art:where(.svelte-1soqlz8){opacity:.25}.topo-piece-gone.svelte-1soqlz8{border:1px dashed color-mix(in srgb, var(--normal-font-color,#1f1b17) 22%, transparent)}.topo-piece-over.svelte-1soqlz8{border-color:#0000}.topo-piece-art.svelte-1soqlz8{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.topo-piece-shape.svelte-1soqlz8{width:100%;height:100%;display:block;overflow:hidden}.topo-piece-land.svelte-1soqlz8{fill:var(--topo-piece);stroke:var(--topo-piece-line);stroke-width:1.25px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.topo-piece-land.topo-piece-compound.svelte-1soqlz8{paint-order:stroke;stroke-width:2px}.topo-piece-shore.svelte-1soqlz8{fill:none;stroke:var(--topo-piece-line);stroke-width:1.25px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.topo-piece-dot.svelte-1soqlz8{width:18px;height:18px;box-shadow:0 0 0 1.5px var(--topo-piece-line);background:#1f1b17;border:3px solid #fff;border-radius:999px}.topo-piece-name.svelte-1soqlz8{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12.5px;font-weight:600;line-height:1.2;overflow:hidden}.topo-piece-flying.svelte-1soqlz8{z-index:30;pointer-events:none;filter:drop-shadow(0 6px 10px #1f1b174d);justify-content:center;align-items:center;display:flex;position:absolute}.topo-piece-shape.topo-piece-loose.svelte-1soqlz8{overflow:visible}.topo-piece-loose.svelte-1soqlz8 .topo-piece-land:where(.svelte-1soqlz8){fill-opacity:.92;stroke-width:1.5px}.topo-piece-dot.topo-piece-loose.svelte-1soqlz8{width:22px;height:22px}@keyframes svelte-1soqlz8-topo-piece-in{0%{opacity:0;transform:scale(.9)}}@media (prefers-reduced-motion:reduce){.topo-piece.svelte-1soqlz8{transition:none;animation:none}}
