.color-venn.svelte-my7je8{position:relative;display:inline-block}.venn-btn.svelte-my7je8{width:2rem;height:2rem;border-radius:50%;border:2px solid #6366f1;background:#fff;padding:.2rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .15s,box-shadow .15s}.venn-btn.svelte-my7je8:hover,.venn-btn.expanded.svelte-my7je8{background:#eef2ff;box-shadow:0 0 0 2px #6366f133}.venn-icon.svelte-my7je8{width:1.25rem;height:1.25rem}.venn-backdrop.svelte-my7je8{position:fixed;inset:0;background:#00000040;z-index:999}.venn-panel.svelte-my7je8{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;width:min(28rem,calc(100vw - 2rem));max-height:min(92vh,36rem);overflow:visible;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem 1.125rem;box-shadow:0 20px 40px -12px #0003}.venn-diagram-wrap.svelte-my7je8{--venn-max-h: min(30rem, calc(88vh - 5rem) );--venn-max-w: calc(min(28rem, 100vw - 2.5rem) - 2.25rem) ;width:min(var(--venn-max-w),calc(var(--venn-max-h) * 440 / 435));height:min(var(--venn-max-h),calc(var(--venn-max-w) * 435 / 440));margin-inline:auto}.venn-diagram.svelte-my7je8{display:block;width:100%;height:100%}.venn-diagram.svelte-my7je8 .label:where(.svelte-my7je8){font-family:system-ui,-apple-system,sans-serif;font-size:11px;font-weight:700;fill:#fff;stroke:#00000059;stroke-width:.45px;paint-order:stroke fill;pointer-events:none}.venn-diagram.svelte-my7je8 .label-prism:where(.svelte-my7je8){fill:#1e1b4b;stroke:#ffffffd9;stroke-width:.6px}.how-to-play.svelte-tdbmp8{display:inline-block}.help-btn.svelte-tdbmp8{width:2rem;height:2rem;border-radius:50%;border:2px solid #6366f1;background:#fff;color:#6366f1;font-weight:700;font-size:1rem;cursor:pointer;transition:background .15s,color .15s}.help-btn.svelte-tdbmp8:hover{background:#6366f1;color:#fff}.help-backdrop.svelte-tdbmp8{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.help-modal.svelte-tdbmp8{position:relative;width:100%;max-width:22rem;max-height:min(85vh,32rem);overflow-y:auto;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1.25rem;box-shadow:0 25px 50px -12px #00000040}.close-btn.svelte-tdbmp8{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.25rem;cursor:pointer;color:#6b7280;line-height:1}.close-btn.svelte-tdbmp8:hover{color:#111827}.help-modal.svelte-tdbmp8 h3:where(.svelte-tdbmp8){margin:0 0 .75rem;font-size:1rem;font-weight:700;color:#111827}.help-modal.svelte-tdbmp8 ol:where(.svelte-tdbmp8){padding-left:1.25rem;margin:0 0 .75rem;display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;color:#374151}.help-modal.svelte-tdbmp8 li:where(.svelte-tdbmp8){line-height:1.55}.action-preview.svelte-tdbmp8{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;margin:0 .2rem;pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0}.undo-preview.svelte-tdbmp8{width:1.625rem;height:1.625rem;border:1px solid #d1d5db;border-radius:50%;background:#fff;color:#374151;line-height:0}.hint-preview.svelte-tdbmp8{padding:.2rem .55rem;border-radius:999px;border:1px solid #6366f1;background:#eef2ff;color:#4338ca;font-size:.65rem;font-weight:600;line-height:1.2}.reset-preview.svelte-tdbmp8{padding:.18rem .55rem;border:1px solid #fecaca;border-radius:9999px;background:#fff;color:#dc2626;font-size:.65rem;font-weight:600;line-height:1.2}.prism-frame.svelte-9zffs9{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:1.75rem;border:1px solid var(--glass-border);border-radius:0;background:#ffffff4d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-medium);isolation:isolate}.prism-connectors.svelte-9zffs9{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:visible}.prism-frame-content.svelte-9zffs9{position:relative;z-index:1;display:flex;align-items:center;justify-content:center}.prism-light-stack.svelte-5ac64a{position:relative;flex-shrink:0;box-sizing:border-box;mix-blend-mode:screen;opacity:1}.prism-light-map.svelte-5ac64a{position:absolute;inset:0;display:grid;grid-template-columns:repeat(var(--light-cols, 3),var(--light-cell, 48px));gap:2px;padding:4px;box-sizing:border-box;pointer-events:none}.prism-light-map-diffuse.svelte-5ac64a{filter:blur(14px);opacity:1}.prism-light-map-diffuse.svelte-5ac64a .prism-light-cell:where(.svelte-5ac64a):before{content:"";position:absolute;left:50%;top:50%;transform:none;clip-path:none;width:340%;height:340%;margin-left:-170%;margin-top:-170%;background:radial-gradient(ellipse 100% 100% at 50% 50%,var(--glow-color) 0%,color-mix(in srgb,var(--glow-color) 72%,transparent) 32%,color-mix(in srgb,var(--glow-color) 28%,transparent) 55%,transparent 78%)}.prism-light-map-halo.svelte-5ac64a{filter:blur(14px);opacity:1}.prism-light-map-core.svelte-5ac64a{filter:blur(4px);opacity:1}.prism-light-cell.svelte-5ac64a{position:relative;overflow:visible}.prism-light-cell-empty.svelte-5ac64a{visibility:hidden}.prism-light-map-halo.svelte-5ac64a .prism-light-cell:where(.svelte-5ac64a):before,.prism-light-map-core.svelte-5ac64a .prism-light-cell:where(.svelte-5ac64a):before{content:"";position:absolute;left:50%;top:50%;width:520%;height:520%;margin-left:-260%;margin-top:-260%;transform:rotate(calc(var(--beam-angle) - 45deg));pointer-events:none;clip-path:polygon(50% 50%,36% 3%,46% 0%,58% 0%,70% 2%,80% 6%,90% 12%,96% 20%,100% 30%,100% 42%,100% 52%,97% 62%);background:var(--glow-color);-webkit-mask-image:radial-gradient(ellipse 160% 50% at 50% 50%,#000 0%,#000 22%,rgba(0,0,0,.88) 36%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.22) 64%,transparent calc(38% + var(--beam-reach) * 54%)),conic-gradient(from -105deg at 50% 50%,transparent 0deg,rgba(0,0,0,.55) 14deg,#000 38deg,#000 82deg,rgba(0,0,0,.55) 106deg,transparent 120deg);mask-image:radial-gradient(ellipse 160% 50% at 50% 50%,#000 0%,#000 22%,rgba(0,0,0,.88) 36%,rgba(0,0,0,.55) 50%,rgba(0,0,0,.22) 64%,transparent calc(38% + var(--beam-reach) * 54%)),conic-gradient(from -105deg at 50% 50%,transparent 0deg,rgba(0,0,0,.55) 14deg,#000 38deg,#000 82deg,rgba(0,0,0,.55) 106deg,transparent 120deg);-webkit-mask-composite:source-in;mask-composite:intersect}.prism-light-map-halo.svelte-5ac64a .prism-light-cell.center-cell:where(.svelte-5ac64a):before,.prism-light-map-core.svelte-5ac64a .prism-light-cell.center-cell:where(.svelte-5ac64a):before{transform:none;clip-path:none;width:420%;height:420%;margin-left:-210%;margin-top:-210%;background:radial-gradient(circle at 50% 50%,var(--glow-color) 0%,color-mix(in srgb,var(--glow-color) 88%,transparent) 22%,color-mix(in srgb,var(--glow-color) 48%,transparent) 42%,color-mix(in srgb,var(--glow-color) 16%,transparent) 58%,transparent calc(34% + var(--beam-reach) * 48%))}.solve-badge.svelte-fs4w66{text-align:center}.badge-icon.svelte-fs4w66{font-size:2rem;line-height:1}.badge-icon.optimal.svelte-fs4w66{color:#f59e0b}.badge-icon.svelte-fs4w66:not(.optimal){color:#10b981}.badge-info.svelte-fs4w66{margin-top:.25rem;font-size:.875rem}.optimal.svelte-fs4w66{color:#10b981;font-weight:600}.completed.svelte-fs4w66{color:#6b7280}.puzzle-shell.svelte-yvabct{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.5rem;width:100%;height:100%;min-height:0;overflow-x:visible;overflow-y:hidden}.puzzle-shell.suppress-win-transitions.svelte-yvabct .win-card:where(.svelte-yvabct),.puzzle-shell.suppress-win-transitions.svelte-yvabct .win-content:where(.svelte-yvabct),.puzzle-shell.suppress-win-transitions.svelte-yvabct .templates-section:where(.svelte-yvabct),.puzzle-shell.suppress-win-transitions.svelte-yvabct .puzzle-action-bar:where(.svelte-yvabct),.puzzle-shell.suppress-win-transitions.svelte-yvabct .prism-arena-glow:where(.svelte-yvabct),.puzzle-shell.suppress-win-transitions.svelte-yvabct .prism-frame{transition:none!important;animation:none!important}.puzzle-shell.win-active.svelte-yvabct{overflow-y:auto}.puzzle-grid-section.svelte-yvabct{display:flex;flex-direction:column;align-items:center;gap:.375rem;flex:1 1 0;min-height:0;position:relative;z-index:1;width:100%;overflow:hidden}.puzzle-grid-section.win-overflow.svelte-yvabct,.win-stage.win-overflow.svelte-yvabct{overflow:visible}.win-stage.svelte-yvabct{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;flex:1 1 0;min-height:0;gap:.375rem;overflow:hidden}.puzzle-header.svelte-yvabct{display:flex;align-items:center;gap:.75rem;width:100%;flex-shrink:0;position:relative;z-index:2}.puzzle-header.header-hidden.svelte-yvabct{visibility:hidden;opacity:0;pointer-events:none}.move-counter.svelte-yvabct{font-size:.9rem;font-weight:600;color:#374151;flex:1}.header-actions.svelte-yvabct{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.grid-arena.svelte-yvabct{position:relative;display:flex;justify-content:center;align-items:center;width:100%;flex:1 1 0;min-height:0;padding:.5rem;border-radius:14px;background:transparent;overflow:hidden;isolation:isolate}.grid-arena.win-mode.svelte-yvabct{overflow:visible}.grid-arena.svelte-yvabct>.prism-frame{position:relative;z-index:1}.play-area.svelte-yvabct{display:flex;justify-content:center;align-items:center}.prism-arena-glow.svelte-yvabct{position:absolute;inset:4% 2%;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(ellipse at 50% 45%,rgba(129,140,248,.08) 0%,rgba(99,102,241,.04) 42%,transparent 72%)}.prism-arena-glow.has-prism-light.svelte-yvabct{inset:0;display:flex;align-items:center;justify-content:center;border-radius:inherit;background:radial-gradient(ellipse 88% 82% at 50% 50%,#f8fafceb,#f1f5f98c 55%,#e2e8f033);opacity:1;overflow:hidden}.grid-arena.svelte-yvabct:has(.prism-arena-glow.has-prism-light:where(.svelte-yvabct)) .prism-frame{background:#ffffff0f}.prism-light-anchor.svelte-yvabct{position:relative;flex-shrink:0;pointer-events:none}.win-card.svelte-yvabct{position:relative;flex:0 0 auto;box-sizing:border-box;background:#fff;border-radius:14px;border:1px solid rgba(99,102,241,.14);box-shadow:0 12px 40px #6366f124,0 4px 12px #0f172a0f;overflow:hidden;padding:0;max-width:100%}.win-card.square.svelte-yvabct{aspect-ratio:1}.win-card.padded.svelte-yvabct{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.25rem 1rem}.win-card.resizing.svelte-yvabct{transition:width var(--win-resize-duration, 2s) cubic-bezier(.22,1,.36,1),height var(--win-resize-duration, 2s) cubic-bezier(.22,1,.36,1)}.win-content.svelte-yvabct{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.win-content.svelte-yvabct:not(.visible){opacity:0}.win-content.visible.svelte-yvabct{opacity:1;transition:opacity var(--win-content-fade-duration, .6s) ease}.win-title.svelte-yvabct{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.02em;color:#4338ca}.win-rating.svelte-yvabct{width:100%}.win-rating.svelte-yvabct .badge-icon{font-size:1.75rem}.win-rating.svelte-yvabct .badge-info{margin-top:.125rem}.share-btn.svelte-yvabct{display:inline-flex;align-items:center;gap:.2rem;margin:0;padding:.2rem .35rem;border:none;border-radius:6px;background:transparent;color:#6366f1;font-size:.8125rem;font-weight:600;cursor:pointer;transition:color .15s,background .15s;min-width:auto;justify-content:center}.share-btn.svelte-yvabct:hover:not(:disabled){background:#eef2ff;color:#4f46e5}.share-btn.svelte-yvabct:disabled{cursor:default;opacity:.55}.win-actions.svelte-yvabct{display:flex;flex-direction:column;align-items:center;gap:.375rem;width:100%;margin:0}.win-actions-row.svelte-yvabct{display:inline-grid;grid-auto-flow:column;gap:.5rem;align-items:stretch}.btn-primary.svelte-yvabct{padding:.5rem .875rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:.8125rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s}.btn-primary.svelte-yvabct:hover:not(:disabled){background:#4338ca}.btn-primary.svelte-yvabct:disabled,.btn-secondary.svelte-yvabct:disabled{opacity:.55;cursor:default}.btn-secondary.svelte-yvabct{padding:.5rem .875rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.8125rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,border-color .15s}.btn-secondary.svelte-yvabct:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.templates-section.svelte-yvabct{display:flex;flex-direction:column;align-items:center;gap:.375rem;flex:0 0 auto;flex-shrink:0;min-height:0;max-width:100%;width:100%;padding-bottom:.125rem;overflow-x:visible;overflow-y:visible;transition:opacity var(--win-template-hide-duration, .9s) ease}.templates-section.win-fade.svelte-yvabct{opacity:0;pointer-events:none}.puzzle-action-bar.svelte-yvabct{display:flex;align-items:center;justify-content:center;gap:.5rem;flex:0 0 auto;width:100%;padding:.5rem 0;padding-bottom:max(.5rem,env(safe-area-inset-bottom,0px));margin-top:auto;transition:opacity .32s ease}.puzzle-action-bar.win-fade.svelte-yvabct{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.win-card.svelte-yvabct,.win-content.svelte-yvabct,.templates-section.svelte-yvabct,.puzzle-action-bar.svelte-yvabct{transition:none!important}.win-content.visible.svelte-yvabct{opacity:1}}.hint-btn.svelte-yvabct{padding:.4rem .8rem;border-radius:999px;border:1px solid #6366f1;background:#eef2ff;color:#4338ca;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.hint-btn.svelte-yvabct:disabled{opacity:.6;cursor:default}.hint-btn.svelte-yvabct:not(:disabled):hover{background:#6366f1;color:#fff;border-color:#4f46e5}.undo-btn.svelte-yvabct{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid #d1d5db;border-radius:50%;background:#fff;color:#374151;cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0}.undo-btn.svelte-yvabct:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.undo-btn.svelte-yvabct:disabled{opacity:.4;cursor:not-allowed}.undo-btn-icon.svelte-yvabct{display:inline-flex;line-height:0}.reset-btn.svelte-yvabct{padding:.35rem .9rem;border:1px solid #fecaca;border-radius:9999px;background:#fff;color:#dc2626;font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s}.reset-btn.svelte-yvabct:hover{background:#fef2f2;border-color:#fca5a5}
