.canvas-container.svelte-o4ydsk{position:fixed;inset:0;overflow:hidden;background:#0d0d12}canvas.svelte-o4ydsk{width:100%;height:100%;display:block;cursor:crosshair;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}canvas.pan-ready.svelte-o4ydsk{cursor:grab}canvas.panning.svelte-o4ydsk{cursor:grabbing}canvas.hidden.svelte-o4ydsk{display:none}.error.svelte-o4ydsk{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#e0e0e0;text-align:center;padding:2rem}.error-icon.svelte-o4ydsk{font-size:4rem;margin-bottom:1rem}.error.svelte-o4ydsk h2:where(.svelte-o4ydsk){font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:#ff6b6b}.error.svelte-o4ydsk p:where(.svelte-o4ydsk){margin:.5rem 0;max-width:500px;line-height:1.6}.error.svelte-o4ydsk .hint:where(.svelte-o4ydsk){color:#888;font-size:.9rem}.popup-backdrop.svelte-d1h2e2{position:fixed;inset:0;z-index:99;background:transparent}.controls.svelte-d1h2e2{position:fixed;top:1rem;right:1rem;display:flex;gap:.35rem;align-items:center;background:var(--toolbar-bg, rgba(12, 12, 18, .5));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.35rem;border-radius:9999px;border:1px solid var(--toolbar-border, rgba(255, 255, 255, .08));z-index:100;transition:gap .2s ease,padding .2s ease,background .2s ease}.controls.collapsed.svelte-d1h2e2{padding:.35rem;gap:0}.button-group.svelte-d1h2e2{display:flex;gap:0;align-items:center;background:var(--group-bg, rgba(255, 255, 255, .04));padding:.2rem .35rem;border-radius:9999px;border:1px solid var(--group-border, rgba(255, 255, 255, .06));transition:background .15s,border-color .15s}.button-group.svelte-d1h2e2:hover{background:var(--group-bg-hover, rgba(255, 255, 255, .06));border-color:var(--group-border-hover, rgba(255, 255, 255, .1))}.controls.collapsed.svelte-d1h2e2 .button-group:where(.svelte-d1h2e2):not(.collapse-group){opacity:0;max-width:0;max-height:0;padding:0;margin:0;border-width:0;overflow:hidden;pointer-events:none}.button-group.svelte-d1h2e2{transition:opacity .2s ease,max-width .2s ease,max-height .2s ease,padding .2s ease,margin .2s ease,border-width .2s ease,background .15s,border-color .15s;max-width:200px;max-height:50px}.control-btn.svelte-d1h2e2:not(.collapse-btn),.control-group.svelte-d1h2e2{max-width:50px;max-height:50px}.control-btn.svelte-d1h2e2{width:26px;height:26px;border:none;outline:none;background:transparent;color:var(--ui-text, #888);cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color .15s;-webkit-tap-highlight-color:transparent}.control-btn.svelte-d1h2e2:focus{outline:none}.control-btn.svelte-d1h2e2:focus-visible{outline:none}.control-btn.svelte-d1h2e2:hover:not(:disabled){color:var(--ui-text-hover, #fff)}.control-btn.svelte-d1h2e2:disabled{opacity:.35;cursor:not-allowed}.control-btn.primary.svelte-d1h2e2{color:var(--ui-accent, #2dd4bf)}.control-btn.primary.svelte-d1h2e2:hover{filter:brightness(1.2)}.control-btn.active.svelte-d1h2e2{color:var(--ui-accent, #2dd4bf)}.control-btn.active.svelte-d1h2e2:hover:not(:disabled){filter:brightness(1.2)}.control-btn.svelte-d1h2e2 svg:where(.svelte-d1h2e2){width:16px;height:16px}.button-group.collapse-group.svelte-d1h2e2{background:transparent;border:none;padding:.25rem;width:36px;height:36px;flex-shrink:0;justify-content:center}.button-group.collapse-group.svelte-d1h2e2:hover{background:transparent;border:none}.collapse-btn.svelte-d1h2e2 svg:where(.svelte-d1h2e2){width:22px;height:22px}.controls.collapsed.svelte-d1h2e2 .button-group.collapse-group:where(.svelte-d1h2e2){opacity:1;max-width:none;max-height:none;padding:.25rem;margin:0;pointer-events:auto;overflow:visible}.collapse-btn.svelte-d1h2e2{opacity:.7;transition:opacity .15s,color .15s}.collapse-btn.svelte-d1h2e2:hover{opacity:1}.collapse-btn.collapsed.svelte-d1h2e2{opacity:1;color:var(--ui-accent, #2dd4bf)}.collapse-btn.svelte-d1h2e2 svg:where(.svelte-d1h2e2){transition:transform .2s ease}.collapse-btn.svelte-d1h2e2:not(.collapsed) svg:where(.svelte-d1h2e2){transform:rotate(45deg)}.control-group.svelte-d1h2e2{position:relative}.slider-popup.svelte-d1h2e2{position:absolute;top:calc(100% + .4rem);right:0;background:var(--ui-bg, rgba(12, 12, 18, .95));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:.5rem .7rem;border-radius:6px;border:1px solid var(--ui-border, rgba(255, 255, 255, .1));min-width:120px;display:flex;flex-direction:column;gap:.4rem;box-shadow:0 8px 32px #00000080}.app .slider-popup.svelte-d1h2e2{background:#0c0c12f2}.app.light-theme .slider-popup.svelte-d1h2e2{background:#fffffff2}.slider-popup.svelte-d1h2e2 span:where(.svelte-d1h2e2){font-size:.7rem;color:var(--ui-text, #888);text-align:center}.slider-popup.svelte-d1h2e2 input[type=range]:where(.svelte-d1h2e2){width:100%;height:20px;-webkit-appearance:none;appearance:none;background:transparent;outline:none;margin:0;padding:0}.slider-popup.svelte-d1h2e2 input[type=range]:where(.svelte-d1h2e2)::-webkit-slider-runnable-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.slider-popup.svelte-d1h2e2 input[type=range]:where(.svelte-d1h2e2)::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);margin-top:-6px;box-shadow:0 1px 4px #0006}.slider-popup.svelte-d1h2e2 input[type=range]:where(.svelte-d1h2e2)::-moz-range-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.slider-popup.svelte-d1h2e2 input[type=range]:where(.svelte-d1h2e2)::-moz-range-thumb{width:16px;height:16px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);box-shadow:0 1px 4px #0006}.brush-popup.svelte-d1h2e2{min-width:140px;gap:.5rem}.mode-toggle.svelte-d1h2e2{display:flex;gap:.25rem;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border-radius:5px;padding:.2rem}.mode-btn.svelte-d1h2e2{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.35rem .5rem;border:none;background:transparent;color:var(--ui-text, #888);border-radius:4px;cursor:pointer;font-size:.65rem;transition:all .15s}.mode-btn.svelte-d1h2e2 svg:where(.svelte-d1h2e2){width:12px;height:12px}.mode-btn.svelte-d1h2e2:hover{color:var(--ui-text-hover, #fff)}.mode-btn.active.svelte-d1h2e2{background:var(--ui-accent-bg, rgba(45, 212, 191, .2));color:var(--ui-accent, #2dd4bf)}.brush-type-toggle.svelte-d1h2e2{display:flex;gap:.25rem;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border-radius:5px;padding:.2rem}.brush-type-btn.svelte-d1h2e2{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.35rem .5rem;border:none;background:transparent;color:var(--ui-text, #888);border-radius:4px;cursor:pointer;font-size:.65rem;transition:all .15s}.brush-type-btn.svelte-d1h2e2 svg:where(.svelte-d1h2e2){width:12px;height:12px}.brush-type-btn.svelte-d1h2e2:hover{color:var(--ui-text-hover, #fff)}.brush-type-btn.active.svelte-d1h2e2{background:var(--ui-accent-bg, rgba(45, 212, 191, .2));color:var(--ui-accent, #2dd4bf)}.size-control.svelte-d1h2e2{display:flex;flex-direction:column;gap:.3rem}.size-control.svelte-d1h2e2 span:where(.svelte-d1h2e2){font-size:.65rem;color:var(--ui-text, #888);text-align:center}.control-btn[data-tooltip].svelte-d1h2e2{position:relative}.control-btn[data-tooltip].svelte-d1h2e2:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:#0c0c12f2;color:#e0e0e0;padding:.35rem .6rem;border-radius:5px;font-size:.65rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:200;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 12px #0000004d}.control-btn[data-tooltip].svelte-d1h2e2:before{content:"";position:absolute;top:calc(100% + 3px);left:50%;transform:translate(-50%);border:5px solid transparent;border-bottom-color:#0c0c12f2;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;pointer-events:none;z-index:201}.control-btn[data-tooltip].svelte-d1h2e2:hover:after,.control-btn[data-tooltip].svelte-d1h2e2:hover:before{opacity:1;visibility:visible}.control-btn[data-tooltip].svelte-d1h2e2:disabled:after,.control-btn[data-tooltip].svelte-d1h2e2:disabled:before{display:none}@media(max-width:768px){.controls.svelte-d1h2e2{top:auto;bottom:1rem;right:1rem;flex-direction:column;padding:.35rem;gap:.35rem}.controls.collapsed.svelte-d1h2e2{padding:.35rem;gap:0}.button-group.svelte-d1h2e2{flex-direction:column;padding:.25rem;gap:.1rem;max-height:none;max-width:50px}.button-group.collapse-group.svelte-d1h2e2{order:100;width:40px;height:40px;padding:.25rem;gap:0}.controls.collapsed.svelte-d1h2e2 .button-group:where(.svelte-d1h2e2):not(.collapse-group){opacity:0;max-width:0;max-height:0;padding:0;margin:0;overflow:hidden;pointer-events:none}.control-btn.svelte-d1h2e2{width:28px;height:28px;flex-shrink:0}.control-btn.svelte-d1h2e2 svg:where(.svelte-d1h2e2){width:16px;height:16px}.collapse-btn.svelte-d1h2e2 svg:where(.svelte-d1h2e2){width:20px;height:20px}.slider-popup.svelte-d1h2e2{top:50%;right:calc(100% + .4rem);transform:translateY(-50%)}.control-btn[data-tooltip].svelte-d1h2e2:after,.control-btn[data-tooltip].svelte-d1h2e2:before{display:none}}.modal-backdrop.svelte-nlnkkl{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:none}.editor.svelte-nlnkkl{background:var(--ui-bg, rgba(12, 12, 18, .9));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:12px;padding:.8rem;display:flex;pointer-events:auto;flex-direction:column;gap:.6rem;box-shadow:0 12px 48px #0006;max-width:520px;position:relative;will-change:transform}.editor.svelte-nlnkkl.dragging{box-shadow:0 16px 64px #00000080}.header.svelte-nlnkkl{display:flex;align-items:center;justify-content:space-between}.title.svelte-nlnkkl{font-size:.9rem;font-weight:600;color:var(--ui-text-hover, #e0e0e0);display:flex;align-items:center;gap:.4rem}.header-icon.svelte-nlnkkl{width:18px;height:18px;color:var(--ui-accent, #33e6f2);flex-shrink:0}.apply-btn.svelte-nlnkkl{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--ui-accent-bg, rgba(45, 212, 191, .15));border:1px solid var(--ui-accent-border, rgba(45, 212, 191, .4));color:var(--ui-accent, #2dd4bf);cursor:pointer;border-radius:6px;margin-left:auto;transition:all .15s}.apply-btn.svelte-nlnkkl:hover{background:var(--ui-accent-bg-hover, rgba(45, 212, 191, .25));border-color:var(--ui-accent, #2dd4bf);transform:scale(1.05)}.apply-btn.svelte-nlnkkl svg:where(.svelte-nlnkkl){width:16px;height:16px}.close-btn.svelte-nlnkkl{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--ui-text, #666);font-size:.9rem;cursor:pointer;border-radius:4px;margin-left:.3rem}.close-btn.svelte-nlnkkl:hover{background:var(--ui-border, rgba(255,255,255,.1));color:var(--ui-text-hover, #fff)}.grid-type-toggle.svelte-nlnkkl{display:flex;gap:.4rem}.grid-type-btn.svelte-nlnkkl{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .8rem;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:6px;color:var(--ui-text, #888);font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s}.grid-type-btn.svelte-nlnkkl:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .08));border-color:var(--ui-border-hover, rgba(255, 255, 255, .2));color:var(--ui-text-hover, #ccc)}.grid-type-btn.active.svelte-nlnkkl{background:var(--ui-accent-bg, rgba(45, 212, 191, .15));border-color:var(--ui-accent-border, rgba(45, 212, 191, .4));color:var(--ui-accent, #2dd4bf)}.grid-type-btn.svelte-nlnkkl svg:where(.svelte-nlnkkl){width:16px;height:16px}.selectors-row.svelte-nlnkkl{display:flex;align-items:stretch;gap:.5rem}.dropdown-wrapper.svelte-nlnkkl{position:relative;display:flex}.dropdown-wrapper.flex-1.svelte-nlnkkl{flex:1}.select-btn.svelte-nlnkkl{display:flex;align-items:center;gap:.4rem;padding:.4rem .6rem;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:5px;color:var(--ui-text-hover, #ccc);font-size:.7rem;cursor:pointer;width:100%;text-align:left}.select-btn.svelte-nlnkkl .select-value:where(.svelte-nlnkkl){flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-btn.svelte-nlnkkl .chevron:where(.svelte-nlnkkl){margin-left:auto}.select-btn.svelte-nlnkkl:hover{border-color:var(--ui-border-hover, rgba(255, 255, 255, .2))}.select-btn.compact.svelte-nlnkkl{padding:.4rem .5rem;gap:.3rem}.select-num.svelte-nlnkkl{color:var(--ui-accent, #2dd4bf);font-family:SF Mono,Monaco,monospace;font-size:.65rem}.select-label.svelte-nlnkkl{font-size:.55rem;color:var(--ui-text, #666);text-transform:uppercase;letter-spacing:.03em}.select-value.svelte-nlnkkl{color:var(--ui-text-hover, #e0e0e0);font-weight:500}.select-code.svelte-nlnkkl{margin-left:auto;color:var(--ui-accent, #2dd4bf);font-family:SF Mono,Monaco,monospace;font-size:.65rem}.chevron.svelte-nlnkkl{width:12px;height:12px;color:var(--ui-text, #666);transition:transform .15s;flex-shrink:0}.chevron.open.svelte-nlnkkl{transform:rotate(180deg)}.dropdown-backdrop.svelte-nlnkkl{position:fixed;inset:0;z-index:10}.dropdown-menu.svelte-nlnkkl{position:absolute;top:calc(100% + 4px);left:0;min-width:100%;background:var(--ui-bg, rgba(16, 16, 24, .98));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--ui-border, rgba(255, 255, 255, .15));border-radius:6px;max-height:220px;overflow-y:auto;z-index:20;box-shadow:0 8px 32px #0003}.dropdown-menu.svelte-nlnkkl::-webkit-scrollbar{width:6px}.dropdown-menu.svelte-nlnkkl::-webkit-scrollbar-track{background:transparent}.dropdown-menu.svelte-nlnkkl::-webkit-scrollbar-thumb{background:var(--ui-border, rgba(255, 255, 255, .2));border-radius:3px}.dropdown-menu.svelte-nlnkkl::-webkit-scrollbar-thumb:hover{background:var(--ui-text, rgba(255, 255, 255, .3))}.preset-menu.svelte-nlnkkl{min-width:280px;max-width:320px;display:flex;flex-direction:column;overflow:hidden}.search-bar.svelte-nlnkkl{display:flex;align-items:center;gap:.4rem;padding:.4rem .5rem;border-bottom:1px solid var(--ui-border, rgba(255, 255, 255, .1));background:var(--ui-input-bg, rgba(0, 0, 0, .2))}.search-bar.active.svelte-nlnkkl{background:var(--ui-input-bg, rgba(0, 0, 0, .3))}.search-icon.svelte-nlnkkl{width:14px;height:14px;color:var(--ui-text, #888);flex-shrink:0}.search-input.svelte-nlnkkl{flex:1;background:transparent;border:none;outline:none;color:var(--ui-text-hover, #fff);font-size:.75rem;padding:.2rem 0;min-width:0}.search-input.svelte-nlnkkl::placeholder{color:var(--ui-text, #666)}.search-clear.svelte-nlnkkl{display:flex;align-items:center;justify-content:center;width:18px;height:18px;background:#ffffff1a;border:none;border-radius:50%;color:var(--ui-text, #888);cursor:pointer;flex-shrink:0}.search-clear.svelte-nlnkkl:hover{background:#fff3;color:#fff}.search-clear.svelte-nlnkkl svg:where(.svelte-nlnkkl){width:10px;height:10px}.preset-list.svelte-nlnkkl{overflow-y:auto;max-height:180px}.preset-list.svelte-nlnkkl::-webkit-scrollbar{width:6px}.preset-list.svelte-nlnkkl::-webkit-scrollbar-track{background:transparent}.preset-list.svelte-nlnkkl::-webkit-scrollbar-thumb{background:var(--ui-border, rgba(255, 255, 255, .2));border-radius:3px}.preset-list.svelte-nlnkkl::-webkit-scrollbar-thumb:hover{background:var(--ui-text, rgba(255, 255, 255, .3))}.no-results.svelte-nlnkkl{padding:1rem;text-align:center;color:var(--ui-text, #666);font-size:.75rem}.filter-menu.svelte-nlnkkl{min-width:180px}.neighborhood-menu.svelte-nlnkkl{min-width:200px;right:0;left:auto}.dropdown-divider.svelte-nlnkkl{height:1px;background:var(--ui-border, rgba(255, 255, 255, .1));margin:.3rem 0}.dropdown-section.svelte-nlnkkl{padding:.3rem .7rem;font-size:.55rem;color:var(--ui-text, #666);text-transform:uppercase;letter-spacing:.05em}.filter-count.svelte-nlnkkl{color:var(--ui-accent, #2dd4bf);font-weight:500;margin-left:.2rem}.dropdown-item.svelte-nlnkkl{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;padding:.5rem .7rem;background:transparent;border:none;color:var(--ui-text-hover, #d0d0d0);font-size:.7rem;cursor:pointer;text-align:left;overflow:hidden}.dropdown-item.svelte-nlnkkl:hover{background:var(--ui-bg-hover, rgba(255, 255, 255, .08));color:var(--ui-text-hover, #fff)}.dropdown-item.selected.svelte-nlnkkl{background:var(--ui-accent-bg, rgba(45, 212, 191, .15));color:var(--ui-accent, #2dd4bf)}.item-name.svelte-nlnkkl{font-weight:500}.item-code.svelte-nlnkkl{margin-left:auto;font-family:SF Mono,Monaco,monospace;font-size:.6rem;color:var(--ui-text, #888);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:1}.dropdown-item.selected.svelte-nlnkkl .item-code:where(.svelte-nlnkkl){color:var(--ui-accent, #2dd4bf);opacity:.8}.item-desc.svelte-nlnkkl{width:100%;font-size:.55rem;color:var(--ui-text, #666);margin-top:.1rem;text-align:left}.dropdown-item.selected.svelte-nlnkkl .item-desc:where(.svelte-nlnkkl){color:var(--ui-accent, #2dd4bf);opacity:.6}.main-row.svelte-nlnkkl{display:flex;justify-content:center;gap:1.2rem;padding:.3rem 0;flex-wrap:nowrap}.grid-col.svelte-nlnkkl,.preview-col.svelte-nlnkkl{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex-shrink:0}.label.svelte-nlnkkl{font-size:.7rem;font-weight:600}.label.birth.svelte-nlnkkl{color:#4ade80}.label.survive.svelte-nlnkkl{color:#60a5fa}.label.preview.svelte-nlnkkl{color:var(--ui-accent, #f472b6)}.hint.svelte-nlnkkl{font-size:.5rem;color:var(--ui-text, #555);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.15rem}.grid.svelte-nlnkkl{display:grid;gap:2px;width:108px;height:108px;flex-shrink:0}.grid.grid-moore.svelte-nlnkkl{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.grid.grid-vonNeumann.svelte-nlnkkl{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr)}.grid.grid-extendedMoore.svelte-nlnkkl{grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr)}.grid.grid-hexagonal.svelte-nlnkkl{--hex-w: 35px;--hex-gap: 4px;--hex-dx: calc(var(--hex-w) + var(--hex-gap));--hex-dy: calc(var(--hex-dx) * .866);--hex-h: calc(var(--hex-w) * 1.1547);display:block;position:relative;width:calc(var(--hex-dx) * 2 + var(--hex-w));height:calc(var(--hex-dy) * 2 + var(--hex-h))}.grid.grid-hexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl){position:absolute;width:var(--hex-w);height:var(--hex-h);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);border-radius:0;border:none}.grid.grid-hexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(1){left:calc(var(--hex-dx) * 1);top:calc(var(--hex-dy) * 1)}.grid.grid-hexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(2){left:calc(var(--hex-dx) * 1.5);top:calc(var(--hex-dy) * 0)}.grid.grid-hexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(3){left:calc(var(--hex-dx) * 2);top:calc(var(--hex-dy) * 1)}.grid.grid-hexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(4){left:calc(var(--hex-dx) * 1.5);top:calc(var(--hex-dy) * 2)}.grid.grid-hexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(5){left:calc(var(--hex-dx) * .5);top:calc(var(--hex-dy) * 2)}.grid.grid-hexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(6){left:calc(var(--hex-dx) * 0);top:calc(var(--hex-dy) * 1)}.grid.grid-hexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(7){left:calc(var(--hex-dx) * .5);top:calc(var(--hex-dy) * 0)}.grid.grid-extendedHexagonal.svelte-nlnkkl{--hex-w: 22px;--hex-gap: 2px;--hex-dx: calc(var(--hex-w) + var(--hex-gap));--hex-dy: calc(var(--hex-dx) * .866);--hex-h: calc(var(--hex-w) * 1.1547);display:block;position:relative;width:calc(var(--hex-dx) * 4 + var(--hex-w));height:calc(var(--hex-dy) * 4 + var(--hex-h))}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl){position:absolute;width:var(--hex-w);height:var(--hex-h);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);border-radius:0;border:none;font-size:.5rem}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(1){left:calc(var(--hex-dx) * 2);top:calc(var(--hex-dy) * 2)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(2){left:calc(var(--hex-dx) * 2.5);top:calc(var(--hex-dy) * 1)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(3){left:calc(var(--hex-dx) * 3);top:calc(var(--hex-dy) * 2)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(4){left:calc(var(--hex-dx) * 2.5);top:calc(var(--hex-dy) * 3)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(5){left:calc(var(--hex-dx) * 1.5);top:calc(var(--hex-dy) * 3)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(6){left:calc(var(--hex-dx) * 1);top:calc(var(--hex-dy) * 2)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(7){left:calc(var(--hex-dx) * 1.5);top:calc(var(--hex-dy) * 1)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(8){left:calc(var(--hex-dx) * 3.5);top:calc(var(--hex-dy) * 1)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(9){left:calc(var(--hex-dx) * 4);top:calc(var(--hex-dy) * 2)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(10){left:calc(var(--hex-dx) * 3.5);top:calc(var(--hex-dy) * 3)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(11){left:calc(var(--hex-dx) * 3);top:calc(var(--hex-dy) * 4)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(12){left:calc(var(--hex-dx) * 2);top:calc(var(--hex-dy) * 4)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(13){left:calc(var(--hex-dx) * 1);top:calc(var(--hex-dy) * 4)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(14){left:calc(var(--hex-dx) * .5);top:calc(var(--hex-dy) * 3)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(15){left:calc(var(--hex-dx) * 0);top:calc(var(--hex-dy) * 2)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(16){left:calc(var(--hex-dx) * .5);top:calc(var(--hex-dy) * 1)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(17){left:calc(var(--hex-dx) * 1);top:calc(var(--hex-dy) * 0)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(18){left:calc(var(--hex-dx) * 2);top:calc(var(--hex-dy) * 0)}.grid.grid-extendedHexagonal.svelte-nlnkkl .cell:where(.svelte-nlnkkl):nth-child(19){left:calc(var(--hex-dx) * 3);top:calc(var(--hex-dy) * 0)}.cell.svelte-nlnkkl{display:flex;align-items:center;justify-content:center;background:var(--ui-border, rgba(255, 255, 255, .04));border:1px solid var(--ui-border, rgba(255, 255, 255, .08));border-radius:4px;color:var(--ui-text, #555);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .1s}.grid.grid-extendedMoore.svelte-nlnkkl .cell:where(.svelte-nlnkkl){font-size:.6rem;border-radius:3px}.cell.svelte-nlnkkl:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .08))}.cell.on.svelte-nlnkkl{background:var(--ui-accent-bg, rgba(45, 212, 191, .2));border-color:var(--ui-accent-border, rgba(45, 212, 191, .5));color:var(--ui-accent, #2dd4bf)}.cell.svelte-nlnkkl input:where(.svelte-nlnkkl){position:absolute;opacity:0;pointer-events:none}.preview-area.svelte-nlnkkl{display:flex;gap:.4rem;align-items:stretch;flex-shrink:0}.canvas.svelte-nlnkkl{width:108px;height:108px;border-radius:5px;background:var(--ui-canvas-bg, #0a0a0f);flex-shrink:0}.preview-btns.svelte-nlnkkl{display:flex;flex-direction:column;justify-content:space-between}.pbtn.svelte-nlnkkl{width:28px;height:28px;border:none;background:var(--ui-border, rgba(255, 255, 255, .06));color:var(--ui-text, #666);border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.pbtn.svelte-nlnkkl:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .12));color:var(--ui-text-hover, #fff)}.pbtn.active.svelte-nlnkkl{background:var(--ui-accent-bg, rgba(45, 212, 191, .2));color:var(--ui-accent, #2dd4bf)}.pbtn.svelte-nlnkkl svg:where(.svelte-nlnkkl){width:12px;height:12px}.footer.svelte-nlnkkl{display:flex;align-items:center;gap:.8rem;padding-top:.5rem;border-top:1px solid var(--ui-border, rgba(255, 255, 255, .06))}.boundary-section.svelte-nlnkkl{display:flex;flex-direction:column;gap:.4rem;padding-top:.5rem;border-top:1px solid var(--ui-border, rgba(255, 255, 255, .06))}.boundary-header.svelte-nlnkkl{display:flex;align-items:center;justify-content:space-between}.boundary-label.svelte-nlnkkl{font-size:.6rem;color:var(--ui-text, #555);text-transform:uppercase}.boundary-name.svelte-nlnkkl{font-size:.6rem;color:var(--ui-text-hover, #aaa)}.boundary-grid.svelte-nlnkkl{display:flex;justify-content:space-between;gap:.25rem}.boundary-btn.svelte-nlnkkl{width:42px;height:42px;padding:0;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:4px;cursor:pointer;transition:all .1s;display:flex;align-items:center;justify-content:center;color:var(--ui-text, #666)}.boundary-btn.svelte-nlnkkl:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .08));border-color:var(--ui-border-hover, rgba(255, 255, 255, .15));color:var(--ui-text-hover, #fff)}.boundary-btn.active.svelte-nlnkkl{background:var(--ui-accent-bg, rgba(45, 212, 191, .15));border-color:var(--ui-accent-border, rgba(45, 212, 191, .3));color:var(--ui-accent, #2dd4bf)}.vitality-section.svelte-nlnkkl{display:flex;flex-direction:column;gap:.35rem;padding-top:.4rem;border-top:1px solid var(--ui-border, rgba(255, 255, 255, .06))}.vitality-header.svelte-nlnkkl{display:flex;align-items:center}.vitality-label.svelte-nlnkkl{font-size:.55rem;color:var(--ui-text, #555);text-transform:uppercase}.vitality-modes.svelte-nlnkkl{display:flex;gap:.2rem}.vitality-mode-btn.svelte-nlnkkl{flex:1;padding:.25rem .15rem;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:4px;cursor:pointer;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:.15rem}.vitality-mode-btn.svelte-nlnkkl svg:where(.svelte-nlnkkl){width:16px;height:16px}.vitality-mode-btn.svelte-nlnkkl span:where(.svelte-nlnkkl){font-size:.5rem;color:var(--ui-text, #666)}.vitality-mode-btn.svelte-nlnkkl:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .08));border-color:var(--ui-border-hover, rgba(255, 255, 255, .15))}.vitality-mode-btn.svelte-nlnkkl:hover svg:where(.svelte-nlnkkl){color:var(--ui-text-hover, #fff)}.vitality-mode-btn.svelte-nlnkkl:hover span:where(.svelte-nlnkkl){color:var(--ui-text-hover, #fff)}.vitality-mode-btn.active.svelte-nlnkkl{background:var(--ui-accent-bg, rgba(45, 212, 191, .15));border-color:var(--ui-accent-border, rgba(45, 212, 191, .3))}.vitality-mode-btn.active.svelte-nlnkkl svg:where(.svelte-nlnkkl){color:var(--ui-accent, #2dd4bf)}.vitality-mode-btn.active.svelte-nlnkkl span:where(.svelte-nlnkkl){color:var(--ui-accent, #2dd4bf)}.vitality-sliders.svelte-nlnkkl{display:flex;gap:.5rem}.vitality-slider-item.svelte-nlnkkl{flex:1;display:flex;align-items:center;gap:.3rem}.vitality-slider-item.svelte-nlnkkl .slider-label:where(.svelte-nlnkkl){font-size:.5rem;color:var(--ui-text, #666);min-width:2.2rem}.vitality-slider-item.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl){flex:1;height:3px;-webkit-appearance:none;appearance:none;background:var(--ui-border, rgba(255, 255, 255, .15));border-radius:2px;outline:none;cursor:pointer}.vitality-slider-item.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl)::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:none;transition:transform .1s}.vitality-slider-item.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl)::-webkit-slider-thumb:hover{transform:scale(1.2)}.vitality-slider-item.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl)::-moz-range-thumb{width:10px;height:10px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:none;transition:transform .1s}.vitality-slider-item.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl)::-moz-range-thumb:hover{transform:scale(1.2)}.vitality-slider-item.svelte-nlnkkl .slider-value:where(.svelte-nlnkkl){font-size:.5rem;color:var(--ui-text-hover, #aaa);min-width:1.5rem;text-align:right;font-variant-numeric:tabular-nums}.foot-label.svelte-nlnkkl{font-size:.55rem;color:var(--ui-text, #555);text-transform:uppercase;margin-right:.25rem}.states.svelte-nlnkkl{display:flex;align-items:center;gap:.25rem}.states.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl){width:60px;height:6px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;outline:none;margin:0;padding:0}.states.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl)::-webkit-slider-runnable-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.states.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl)::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);margin-top:-5px;box-shadow:0 1px 4px #0006}.states.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl)::-moz-range-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.states.svelte-nlnkkl input[type=range]:where(.svelte-nlnkkl)::-moz-range-thumb{width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);box-shadow:0 1px 4px #0006}.states-val.svelte-nlnkkl{font-size:.65rem;color:var(--ui-accent, #2dd4bf);font-family:SF Mono,Monaco,monospace;min-width:1rem}.rule-input.svelte-nlnkkl{display:flex;align-items:center;flex:1}.rule-input.svelte-nlnkkl input:where(.svelte-nlnkkl){flex:1;min-width:120px;padding:.25rem .4rem;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:4px;color:var(--ui-accent, #2dd4bf);font-family:SF Mono,Monaco,monospace;font-size:.7rem;outline:none}.rule-input.svelte-nlnkkl input:where(.svelte-nlnkkl):focus{border-color:var(--ui-accent-border, rgba(45, 212, 191, .5))}.rule-input.svelte-nlnkkl input.error:where(.svelte-nlnkkl){border-color:#ef4444}.reinit-btn.svelte-nlnkkl{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:4px;color:var(--ui-text, #666);cursor:pointer;transition:all .15s;flex-shrink:0}.reinit-btn.svelte-nlnkkl:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .08));border-color:var(--ui-border-hover, rgba(255, 255, 255, .15));color:var(--ui-text-hover, #fff)}.reinit-btn.svelte-nlnkkl svg:where(.svelte-nlnkkl){width:14px;height:14px}@media(max-width:540px){.editor.svelte-nlnkkl{max-width:95vw;padding:.6rem;gap:.5rem}.header.svelte-nlnkkl{margin-bottom:0}.grid-type-toggle.svelte-nlnkkl{gap:.3rem}.grid-type-btn.svelte-nlnkkl{padding:.4rem .5rem;font-size:.65rem}.grid-type-btn.svelte-nlnkkl svg:where(.svelte-nlnkkl){width:14px;height:14px}.selectors-row.svelte-nlnkkl{flex-wrap:nowrap;gap:.3rem}.select-btn.svelte-nlnkkl{padding:.3rem .4rem;gap:.2rem;font-size:.65rem}.select-label.svelte-nlnkkl{display:none}.select-value.svelte-nlnkkl{font-size:.7rem}.select-num.svelte-nlnkkl{font-size:.6rem}.chevron.svelte-nlnkkl{width:10px;height:10px}.dropdown-wrapper.flex-1.svelte-nlnkkl{flex:1;min-width:0}.dropdown-wrapper.flex-1.svelte-nlnkkl .select-value:where(.svelte-nlnkkl){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.main-row.svelte-nlnkkl{justify-content:center;gap:.5rem}.grid.svelte-nlnkkl{width:80px;height:80px;gap:1px}.grid.grid-hexagonal.svelte-nlnkkl{--hex-w: 26px;--hex-gap: 3px}.grid.grid-extendedHexagonal.svelte-nlnkkl{--hex-w: 16px;--hex-gap: 1.5px}.canvas.svelte-nlnkkl{width:80px;height:80px}.cell.svelte-nlnkkl{font-size:.55rem}.pbtn.svelte-nlnkkl{width:22px;height:22px;padding:4px}.pbtn.svelte-nlnkkl svg:where(.svelte-nlnkkl){width:10px;height:10px}.footer.svelte-nlnkkl{flex-wrap:wrap;gap:.4rem}.rule-input.svelte-nlnkkl{flex:1;min-width:0}.rule-input.svelte-nlnkkl input:where(.svelte-nlnkkl){min-width:80px}}.help-overlay.svelte-286xo5{position:fixed;inset:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:500;pointer-events:none}.help-panel.svelte-286xo5{background:var(--ui-bg, rgba(12, 12, 18, .75));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--ui-border, rgba(255, 255, 255, .08));border-radius:10px;width:380px;box-shadow:0 8px 32px #0000004d;pointer-events:auto;position:relative;will-change:transform}.help-panel.svelte-286xo5.dragging{box-shadow:0 12px 48px #0006}.help-header.svelte-286xo5{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem;border-bottom:1px solid var(--ui-border, rgba(255, 255, 255, .06))}.help-header.svelte-286xo5 h2:where(.svelte-286xo5){margin:0;font-size:.8rem;font-weight:600;color:var(--ui-text-hover, #e0e0e0);display:flex;align-items:center;gap:.4rem}.header-icon.svelte-286xo5{width:16px;height:16px;color:var(--ui-accent, #33e6f2);flex-shrink:0}.header-actions.svelte-286xo5{display:flex;align-items:center;gap:.5rem}.tour-btn.svelte-286xo5{display:flex;align-items:center;gap:.3rem;padding:.25rem .5rem;background:var(--ui-accent-bg, rgba(45, 212, 191, .1));color:var(--ui-accent, #2dd4bf);border:1px solid var(--ui-accent-border, rgba(45, 212, 191, .2));border-radius:5px;font-size:.65rem;font-weight:500;cursor:pointer;transition:all .15s}.tour-btn.svelte-286xo5:hover{background:var(--ui-accent-bg-hover, rgba(45, 212, 191, .2));border-color:var(--ui-accent-border, rgba(45, 212, 191, .35))}.tour-btn.svelte-286xo5 svg:where(.svelte-286xo5){width:12px;height:12px}.close-btn.svelte-286xo5{background:none;border:none;color:var(--ui-text, #666);cursor:pointer;padding:.15rem;display:flex;transition:color .15s}.close-btn.svelte-286xo5:hover{color:var(--ui-text-hover, #fff)}.close-btn.svelte-286xo5 svg:where(.svelte-286xo5){width:14px;height:14px}.help-content.svelte-286xo5{padding:.6rem .9rem}.columns.svelte-286xo5{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.shortcut-group.svelte-286xo5{margin-bottom:.7rem}.shortcut-group.svelte-286xo5:last-child{margin-bottom:0}.shortcut-group.svelte-286xo5 h3:where(.svelte-286xo5){margin:0 0 .35rem;font-size:.6rem;font-weight:600;color:var(--ui-accent, #2dd4bf);text-transform:uppercase;letter-spacing:.04em}.shortcut.svelte-286xo5{display:flex;align-items:center;gap:.3rem;font-size:.7rem;margin-bottom:.25rem}.shortcut.svelte-286xo5 span:where(.svelte-286xo5){color:var(--ui-text, #888);margin-left:auto}kbd.svelte-286xo5{display:inline-block;padding:.1rem .3rem;background:var(--ui-border, rgba(255, 255, 255, .08));border:1px solid var(--ui-border-hover, rgba(255, 255, 255, .1));border-radius:3px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.6rem;color:var(--ui-text-hover, #ccc);min-width:1.1rem;text-align:center}.touch-controls.svelte-286xo5{display:flex;flex-direction:column;gap:.5rem}.shortcut-row.svelte-286xo5{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.gesture-icon.svelte-286xo5{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--ui-accent, #2dd4bf);flex-shrink:0}.gesture-icon.svelte-286xo5 svg:where(.svelte-286xo5){width:16px;height:16px}.gesture-label.svelte-286xo5{font-size:.7rem;font-weight:500;color:var(--ui-text-hover, #e0e0e0);min-width:90px}.gesture-desc.svelte-286xo5{font-size:.65rem;color:var(--ui-text, #888);margin-left:auto}.tip.svelte-286xo5{font-size:.65rem;color:var(--ui-text, #888);border-left:2px solid var(--ui-accent, #2dd4bf);padding:.25rem 0 .25rem .5rem;margin-bottom:.25rem}@media(max-width:768px){.help-panel.svelte-286xo5{width:90vw;max-width:320px}.help-header.svelte-286xo5 h2:where(.svelte-286xo5){font-size:.85rem}}.backdrop.svelte-anx9w7{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:none}.panel.svelte-anx9w7{background:var(--ui-bg, rgba(12, 12, 18, .85));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:10px;padding:.6rem;min-width:240px;box-shadow:0 12px 48px #0006;pointer-events:auto;position:relative;will-change:transform}.panel.svelte-anx9w7.dragging{box-shadow:0 16px 64px #00000080}.header.svelte-anx9w7{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--ui-border, rgba(255, 255, 255, .06));margin-bottom:.5rem}.title.svelte-anx9w7{font-size:.8rem;font-weight:600;color:var(--ui-text-hover, #e0e0e0);display:flex;align-items:center;gap:.4rem}.header-icon.svelte-anx9w7{width:16px;height:16px;color:var(--ui-accent, #33e6f2);flex-shrink:0}.close-btn.svelte-anx9w7{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--ui-text, #555);font-size:.8rem;cursor:pointer;border-radius:3px}.close-btn.svelte-anx9w7:hover{background:var(--ui-border, rgba(255, 255, 255, .1));color:var(--ui-text-hover, #fff)}.content.svelte-anx9w7{display:flex;flex-direction:column;gap:.5rem}.row.svelte-anx9w7{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.label.svelte-anx9w7{font-size:.7rem;color:var(--ui-text, #888)}.toggle.svelte-anx9w7{display:flex;align-items:center;padding:0;background:none;border:none;cursor:pointer}.track.svelte-anx9w7{width:32px;height:18px;background:var(--ui-border, rgba(255, 255, 255, .1));border-radius:9px;position:relative;transition:background .15s}.toggle.on.svelte-anx9w7 .track:where(.svelte-anx9w7){background:var(--ui-accent-bg, rgba(45, 212, 191, .4))}.thumb.svelte-anx9w7{position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--ui-text, #555);border-radius:50%;transition:all .15s}.toggle.on.svelte-anx9w7 .thumb:where(.svelte-anx9w7){left:16px;background:var(--ui-accent, #2dd4bf)}.theme-btns.svelte-anx9w7{display:flex;gap:.3rem}.theme-btn.svelte-anx9w7{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--ui-border, rgba(255, 255, 255, .05));border:1px solid var(--ui-border, rgba(255, 255, 255, .08));border-radius:5px;color:var(--ui-text, #666);cursor:pointer;transition:all .1s}.theme-btn.svelte-anx9w7 svg:where(.svelte-anx9w7){width:14px;height:14px}.theme-btn.svelte-anx9w7:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .08));color:var(--ui-text-hover, #fff)}.theme-btn.active.svelte-anx9w7{background:var(--ui-accent-bg, rgba(45, 212, 191, .15));border-color:var(--ui-accent-border, rgba(45, 212, 191, .3));color:var(--ui-accent, #2dd4bf)}.spectrum-grid.svelte-anx9w7{display:flex;flex-wrap:wrap;gap:.3rem}.spectrum-grid.svelte-anx9w7 .spectrum-btn:where(.svelte-anx9w7){flex:1 1 calc(16.66% - .3rem);min-width:36px;max-width:calc(20% - .3rem)}.spectrum-btn.svelte-anx9w7{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.2rem;background:var(--ui-border, rgba(255, 255, 255, .05));border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .1s}.spectrum-btn.svelte-anx9w7:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .1))}.spectrum-btn.active.svelte-anx9w7{border-color:var(--ui-accent, #2dd4bf);background:var(--ui-accent-bg, rgba(45, 212, 191, .1))}.spectrum-preview.svelte-anx9w7{width:100%;height:10px;border-radius:2px;box-shadow:inset 0 0 0 1px #0003}.spectrum-label.svelte-anx9w7{font-size:.4rem;color:var(--ui-text, #888);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.spectrum-btn.active.svelte-anx9w7 .spectrum-label:where(.svelte-anx9w7){color:var(--ui-accent, #2dd4bf)}.spectrum-row-extra.svelte-anx9w7{margin-top:-.2rem}.row.col.svelte-anx9w7{flex-direction:column;align-items:flex-start;gap:.3rem}.row.col.svelte-anx9w7 .label:where(.svelte-anx9w7){margin-bottom:0}.row.col.svelte-anx9w7 .spectrum-grid:where(.svelte-anx9w7){width:100%}.shading-toggle.svelte-anx9w7{display:flex;align-items:center;gap:0;padding:0;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:4px;overflow:hidden}.shading-option.svelte-anx9w7{font-size:.6rem;font-weight:500;padding:.2rem .4rem;color:var(--ui-text, #666);background:transparent;border:none;cursor:pointer;transition:all .15s;-webkit-user-select:none;user-select:none;line-height:1}.shading-option.svelte-anx9w7:hover{color:var(--ui-text-hover, #fff)}.shading-option.active.svelte-anx9w7{color:var(--ui-accent, #2dd4bf);background:var(--ui-accent-bg, rgba(45, 212, 191, .2))}.colors.svelte-anx9w7{display:grid;grid-template-columns:repeat(10,1fr);gap:.3rem}.swatch.svelte-anx9w7{width:20px;height:20px;background:var(--c);border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .1s}.swatch.svelte-anx9w7:hover{transform:scale(1.1)}.swatch.selected.svelte-anx9w7{border-color:#fff;box-shadow:0 0 6px var(--c)}.slider-container.svelte-anx9w7{display:flex;align-items:center;gap:.5rem;flex:1}.slider.svelte-anx9w7{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:var(--ui-border, rgba(255, 255, 255, .1));border-radius:2px;outline:none;cursor:pointer}.slider.svelte-anx9w7::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;transition:transform .1s}.slider.svelte-anx9w7::-webkit-slider-thumb:hover{transform:scale(1.15)}.slider.svelte-anx9w7::-moz-range-thumb{width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;border:none;cursor:pointer;transition:transform .1s}.slider.svelte-anx9w7::-moz-range-thumb:hover{transform:scale(1.15)}.slider-value.svelte-anx9w7{font-size:.7rem;color:var(--ui-text, #888);min-width:2.5rem;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:768px){.panel.svelte-anx9w7{max-width:95vw;padding:.8rem}.colors.svelte-anx9w7{gap:.4rem}.swatch.svelte-anx9w7{width:24px;height:24px}.title.svelte-anx9w7{font-size:.9rem}}.modal-backdrop.svelte-z66ng7{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:none}.modal.svelte-z66ng7{background:var(--ui-bg, rgba(12, 12, 18, .85));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:12px;padding:.8rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:0 12px 48px #0006;min-width:480px;pointer-events:auto;position:relative;will-change:transform}.modal.svelte-z66ng7.dragging{box-shadow:0 16px 64px #00000080}.header.svelte-z66ng7{display:flex;align-items:center;gap:.5rem}.title.svelte-z66ng7{font-size:.85rem;font-weight:600;color:var(--ui-text-hover, #e0e0e0);display:flex;align-items:center;gap:.4rem}.header-icon.svelte-z66ng7{width:16px;height:16px;color:var(--ui-accent, #33e6f2);flex-shrink:0}.rule-badge.svelte-z66ng7{font-size:.6rem;padding:.2rem .4rem;background:var(--ui-accent-bg, rgba(45, 212, 191, .15));color:var(--ui-accent, #2dd4bf);border-radius:4px;margin-left:auto;margin-right:.5rem}.init-btn.svelte-z66ng7{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--ui-accent-bg, rgba(45, 212, 191, .15));border:1px solid var(--ui-accent-border, rgba(45, 212, 191, .4));color:var(--ui-accent, #2dd4bf);cursor:pointer;border-radius:6px;margin-left:auto;transition:all .15s}.init-btn.svelte-z66ng7:hover{background:var(--ui-accent-bg-hover, rgba(45, 212, 191, .25));border-color:var(--ui-accent, #2dd4bf);transform:scale(1.05)}.init-btn.svelte-z66ng7 svg:where(.svelte-z66ng7){width:16px;height:16px}.close-btn.svelte-z66ng7{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--ui-text, #666);font-size:.9rem;cursor:pointer;border-radius:4px;margin-left:.3rem}.close-btn.svelte-z66ng7:hover{background:var(--ui-border, rgba(255, 255, 255, .1));color:var(--ui-text-hover, #fff)}.content.svelte-z66ng7{display:flex;flex-direction:column;gap:.6rem}.main-row.svelte-z66ng7{display:flex;gap:1rem}.patterns-col.svelte-z66ng7{flex:1;display:flex;flex-direction:column;gap:.5rem}.preview-col.svelte-z66ng7{display:flex;flex-direction:column;align-items:center;gap:.3rem}.preview-label.svelte-z66ng7{font-size:.65rem;color:var(--ui-text, #888);text-transform:uppercase;letter-spacing:.05em}.preview-area.svelte-z66ng7{display:flex;gap:.4rem;align-items:center}.preview-canvas.svelte-z66ng7{border-radius:6px;background:var(--ui-canvas-bg, #0a0a0f);border:1px solid var(--ui-border, rgba(255, 255, 255, .08))}.preview-btns.svelte-z66ng7{display:flex;flex-direction:column;gap:.3rem}.pbtn.svelte-z66ng7{width:28px;height:28px;border:none;background:var(--ui-input-bg, rgba(0, 0, 0, .2));color:var(--ui-text, #666);border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.pbtn.svelte-z66ng7:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .12));color:var(--ui-text-hover, #fff)}.pbtn.active.svelte-z66ng7{background:var(--ui-accent-bg, rgba(45, 212, 191, .2));color:var(--ui-accent, #2dd4bf)}.pbtn.svelte-z66ng7 svg:where(.svelte-z66ng7){width:12px;height:12px}.tabs.svelte-z66ng7{display:flex;gap:.2rem;background:var(--ui-input-bg, rgba(0, 0, 0, .2));padding:.15rem;border-radius:5px}.tab.svelte-z66ng7{flex:1;padding:.35rem .4rem;background:transparent;border:none;color:var(--ui-text, #888);font-size:.65rem;font-weight:500;cursor:pointer;border-radius:4px;transition:all .15s}.tab.svelte-z66ng7:hover{color:var(--ui-text-hover, #fff)}.tab.active.svelte-z66ng7{background:var(--ui-accent-bg, rgba(45, 212, 191, .2));color:var(--ui-accent, #2dd4bf)}.patterns.svelte-z66ng7{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem}.pattern-btn.svelte-z66ng7{display:flex;flex-direction:column;align-items:flex-start;padding:.4rem .5rem;background:var(--ui-input-bg, rgba(0, 0, 0, .2));border:1px solid var(--ui-border, rgba(255, 255, 255, .08));border-radius:5px;cursor:pointer;transition:all .15s}.pattern-btn.svelte-z66ng7:hover{border-color:var(--ui-border-hover, rgba(255, 255, 255, .15));background:var(--ui-bg-hover, rgba(20, 20, 30, .5))}.pattern-btn.selected.svelte-z66ng7{background:var(--ui-accent-bg, rgba(45, 212, 191, .2));border-color:var(--ui-accent, rgba(45, 212, 191, .6));box-shadow:0 0 0 1px var(--ui-accent-border, rgba(45, 212, 191, .3))}.pattern-name.svelte-z66ng7{font-size:.7rem;font-weight:600;color:var(--ui-text-hover, #e0e0e0)}.pattern-btn.selected.svelte-z66ng7 .pattern-name:where(.svelte-z66ng7){color:var(--ui-accent, #2dd4bf)}.pattern-btn.foreign.svelte-z66ng7{opacity:.8}.pattern-btn.foreign.svelte-z66ng7 .pattern-name:where(.svelte-z66ng7){color:var(--ui-text, #aaa)}.pattern-btn.optimal.svelte-z66ng7:not(.selected){border-color:var(--ui-accent-border, rgba(45, 212, 191, .15))}.pattern-btn.optimal.svelte-z66ng7:not(.selected) .pattern-name:where(.svelte-z66ng7){color:var(--ui-accent, #2dd4bf);opacity:.8}.origin-badge.svelte-z66ng7{font-size:.5rem;padding:.1rem .3rem;background:#ffffff14;border-radius:3px;color:var(--ui-text, #888);margin-left:auto;align-self:flex-start}.pattern-btn.selected.svelte-z66ng7 .origin-badge:where(.svelte-z66ng7){background:var(--ui-accent-bg, rgba(45, 212, 191, .2));color:var(--ui-accent, #2dd4bf)}.pattern-desc.svelte-z66ng7{font-size:.55rem;color:var(--ui-text, #666);margin-top:.1rem;width:100%}.density-slider.svelte-z66ng7{grid-column:span 2;width:100%;height:6px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;outline:none;margin:.3rem 0;padding:0}.density-slider.svelte-z66ng7::-webkit-slider-runnable-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.density-slider.svelte-z66ng7::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);margin-top:-5px;box-shadow:0 1px 4px #0006}.density-slider.svelte-z66ng7::-moz-range-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.density-slider.svelte-z66ng7::-moz-range-thumb{width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);box-shadow:0 1px 4px #0006}.tiling-row.svelte-z66ng7{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;background:var(--ui-input-bg, rgba(0, 0, 0, .2));border-radius:5px}.tile-checkbox.svelte-z66ng7{display:flex;align-items:center;gap:.3rem;font-size:.65rem;color:var(--ui-text-hover, #e0e0e0);cursor:pointer;white-space:nowrap}.tile-checkbox.svelte-z66ng7 input:where(.svelte-z66ng7){accent-color:var(--ui-accent, #2dd4bf);width:12px;height:12px}.spacing-slider.svelte-z66ng7{flex:1;height:6px;min-width:60px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;outline:none;margin:0;padding:0}.spacing-slider.svelte-z66ng7::-webkit-slider-runnable-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.spacing-slider.svelte-z66ng7::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);margin-top:-5px;box-shadow:0 1px 4px #0006}.spacing-slider.svelte-z66ng7::-moz-range-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.spacing-slider.svelte-z66ng7::-moz-range-thumb{width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);box-shadow:0 1px 4px #0006}.spacing-val.svelte-z66ng7{font-size:.6rem;color:var(--ui-accent, #2dd4bf);min-width:24px;text-align:right;font-family:SF Mono,Monaco,monospace}.seeding-row.svelte-z66ng7{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.4rem .5rem;background:var(--ui-input-bg, rgba(0, 0, 0, .2));border-radius:5px}.scale-row.svelte-z66ng7{display:flex;flex-direction:column;gap:.4rem;padding:.4rem .5rem;background:var(--ui-input-bg, rgba(0, 0, 0, .2));border-radius:5px}.scale-header.svelte-z66ng7{display:flex;align-items:center;justify-content:space-between}.scale-label.svelte-z66ng7{font-size:.65rem;color:var(--ui-text-hover, #e0e0e0)}.scale-dims.svelte-z66ng7{font-size:.6rem;color:var(--ui-text, #888);font-family:SF Mono,Monaco,monospace}.scale-btns.svelte-z66ng7{display:flex;gap:.25rem}.scale-btn.svelte-z66ng7{flex:1;padding:.3rem .4rem;background:var(--ui-border, rgba(255, 255, 255, .05));border:1px solid var(--ui-border, rgba(255, 255, 255, .08));border-radius:4px;color:var(--ui-text, #888);font-size:.6rem;cursor:pointer;transition:all .1s}.scale-btn.svelte-z66ng7:hover{background:var(--ui-border-hover, rgba(255, 255, 255, .08));color:var(--ui-text-hover, #fff)}.scale-btn.selected.svelte-z66ng7{background:var(--ui-accent-bg, rgba(45, 212, 191, .15));border-color:var(--ui-accent-border, rgba(45, 212, 191, .3));color:var(--ui-accent, #2dd4bf)}.seed-checkbox.svelte-z66ng7{display:flex;align-items:center;gap:.3rem;font-size:.65rem;color:var(--ui-text-hover, #e0e0e0);cursor:pointer;white-space:nowrap}.seed-checkbox.svelte-z66ng7 input:where(.svelte-z66ng7){accent-color:var(--ui-accent, #2dd4bf);width:12px;height:12px}.seed-control-group.svelte-z66ng7{display:flex;align-items:center;gap:.3rem}.seed-control-label.svelte-z66ng7{font-size:.55rem;color:var(--ui-text, #666);text-transform:uppercase;letter-spacing:.02em}.seed-mode-toggle.svelte-z66ng7{display:flex;align-items:center;gap:0;padding:0;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:4px;cursor:pointer;transition:all .15s;overflow:hidden;flex-shrink:0}.seed-mode-toggle.svelte-z66ng7:hover{border-color:var(--ui-border-hover, rgba(255, 255, 255, .2))}.mode-option.svelte-z66ng7{font-size:.7rem;font-weight:600;padding:.2rem .35rem;color:var(--ui-text, #666);transition:all .15s;-webkit-user-select:none;user-select:none;background:transparent;line-height:1}.mode-option.active.svelte-z66ng7{color:var(--ui-accent, #2dd4bf);background:var(--ui-accent-bg, rgba(45, 212, 191, .2))}.seeding-slider.svelte-z66ng7{width:60px;height:6px;-webkit-appearance:none;appearance:none;background:transparent;cursor:pointer;outline:none;margin:0;padding:0;flex-shrink:0}.seeding-slider.svelte-z66ng7::-webkit-slider-runnable-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.seeding-slider.svelte-z66ng7::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);margin-top:-5px;box-shadow:0 1px 4px #0006}.seeding-slider.svelte-z66ng7::-moz-range-track{width:100%;height:6px;background:var(--slider-track-bg, rgba(255, 255, 255, .25));border-radius:3px;border:1px solid var(--slider-track-border, rgba(255, 255, 255, .1))}.seeding-slider.svelte-z66ng7::-moz-range-thumb{width:14px;height:14px;background:var(--ui-accent, #2dd4bf);border-radius:50%;cursor:pointer;border:2px solid rgba(255,255,255,.9);box-shadow:0 1px 4px #0006}.seeding-val.svelte-z66ng7{font-size:.6rem;color:var(--ui-accent, #2dd4bf);min-width:28px;text-align:right;font-family:SF Mono,Monaco,monospace}.seed-pattern-wrapper.svelte-z66ng7{position:relative}.seed-pattern-btn.svelte-z66ng7{display:flex;align-items:center;gap:.2rem;padding:.15rem .25rem;background:var(--ui-input-bg, rgba(0, 0, 0, .3));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:4px;cursor:pointer;transition:all .15s}.seed-pattern-btn.svelte-z66ng7:hover{border-color:var(--ui-border-hover, rgba(255, 255, 255, .2))}.seed-pattern-preview.svelte-z66ng7{width:18px;height:18px;border-radius:2px}.seed-pattern-btn.svelte-z66ng7 .chevron:where(.svelte-z66ng7){width:10px;height:10px;color:var(--ui-text, #666);transition:transform .15s}.seed-pattern-btn.svelte-z66ng7 .chevron.open:where(.svelte-z66ng7){transform:rotate(180deg)}.dropdown-backdrop.svelte-z66ng7{position:fixed;inset:0;z-index:10}.seed-pattern-dropdown.svelte-z66ng7{position:absolute;bottom:calc(100% + 4px);left:0;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;padding:4px;background:var(--ui-bg, rgba(16, 16, 24, .98));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--ui-border, rgba(255, 255, 255, .15));border-radius:6px;z-index:20;box-shadow:0 -4px 16px #0000004d}.seed-pattern-item.svelte-z66ng7{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px 4px;background:transparent;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .1s}.seed-pattern-item.svelte-z66ng7:hover{background:var(--ui-bg-hover, rgba(255, 255, 255, .08));border-color:var(--ui-border, rgba(255, 255, 255, .1))}.seed-pattern-item.selected.svelte-z66ng7{background:var(--ui-accent-bg, rgba(45, 212, 191, .15));border-color:var(--ui-accent-border, rgba(45, 212, 191, .4))}.seed-pattern-preview-item.svelte-z66ng7{width:24px;height:24px;border-radius:3px;flex-shrink:0}.seed-pattern-name.svelte-z66ng7{font-size:.5rem;color:var(--ui-text, #888);white-space:nowrap}.seed-pattern-item.selected.svelte-z66ng7 .seed-pattern-name:where(.svelte-z66ng7){color:var(--ui-accent, #2dd4bf)}.note.svelte-z66ng7{display:flex;align-items:center;gap:.4rem;padding:.5rem;background:var(--ui-input-bg, rgba(0, 0, 0, .2));border-radius:6px;font-size:.6rem;color:var(--ui-text, #888)}.note.warning.svelte-z66ng7{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:#fbbf24}.note.warning.svelte-z66ng7 svg:where(.svelte-z66ng7){color:#fbbf24}.note.svelte-z66ng7 svg:where(.svelte-z66ng7){width:14px;height:14px;flex-shrink:0}@media(max-width:768px){.modal.svelte-z66ng7{max-width:95vw;min-width:unset;padding:.8rem}.tabs.svelte-z66ng7{flex-wrap:wrap}.tab.svelte-z66ng7{padding:.35rem .6rem;font-size:.6rem}}.info-icon.svelte-1vt60dg{position:fixed;bottom:1rem;left:1rem;width:32px;height:32px;background:var(--toolbar-bg, rgba(12, 12, 18, .4));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--toolbar-border, rgba(255, 255, 255, .06));border-radius:8px;color:var(--ui-accent, #2dd4bf);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;z-index:100}.info-icon.svelte-1vt60dg:hover{background:var(--btn-bg-hover, rgba(20, 20, 30, .5));border-color:var(--ui-border-hover, rgba(255, 255, 255, .12))}.i-icon.svelte-1vt60dg{font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:700;font-size:16px;line-height:1}.i-icon.small.svelte-1vt60dg{font-size:12px;color:var(--ui-accent, #2dd4bf)}.info-panel.svelte-1vt60dg{position:fixed;bottom:1rem;left:1rem;background:var(--toolbar-bg, rgba(12, 12, 18, .45));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--toolbar-border, rgba(255, 255, 255, .06));border-radius:10px;min-width:170px;z-index:100;overflow:hidden}.info-header.svelte-1vt60dg{display:flex;align-items:center;justify-content:space-between;padding:.35rem .5rem;border-bottom:1px solid var(--ui-border, rgba(255, 255, 255, .05))}.header-left.svelte-1vt60dg{display:flex;align-items:center;gap:.35rem}.info-title.svelte-1vt60dg{font-size:.65rem;font-weight:600;color:var(--ui-text-hover, #e0e0e0);text-transform:uppercase;letter-spacing:.05em}.collapse-btn.svelte-1vt60dg{width:18px;height:18px;background:transparent;border:none;color:var(--ui-text, #666);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s}.collapse-btn.svelte-1vt60dg:hover{background:var(--btn-bg-hover, rgba(255, 255, 255, .1));color:var(--ui-text-hover, #fff)}.collapse-btn.svelte-1vt60dg svg:where(.svelte-1vt60dg){width:12px;height:12px}.info-content.svelte-1vt60dg{padding:.4rem .5rem;display:flex;flex-direction:column;gap:.3rem}.info-row.svelte-1vt60dg{display:flex;align-items:center;gap:.5rem}.info-label.svelte-1vt60dg{width:14px;height:14px;display:flex;align-items:center;justify-content:center;color:var(--ui-text, #666);flex-shrink:0}.info-label.svelte-1vt60dg svg:where(.svelte-1vt60dg){width:12px;height:12px}.info-label.accent.svelte-1vt60dg{color:var(--ui-accent, #2dd4bf)}.info-label.dim.svelte-1vt60dg{color:var(--ui-text, #666)}.info-value.svelte-1vt60dg{font-size:.68rem;color:var(--ui-text-hover, #e0e0e0);flex:1;text-align:right}.info-value.rule.svelte-1vt60dg{color:var(--ui-accent, #2dd4bf);font-weight:500}.info-value.code.svelte-1vt60dg{font-family:SF Mono,Monaco,Consolas,monospace;font-size:.6rem;color:var(--ui-text, #888)}.info-value.mono.svelte-1vt60dg{font-family:SF Mono,Monaco,Consolas,monospace}.info-value.svelte-1vt60dg .actual:where(.svelte-1vt60dg){font-size:.58rem;color:var(--ui-text, #666)}.info-value.status.svelte-1vt60dg{font-size:.62rem}.info-value.status.playing.svelte-1vt60dg,.info-value.alive.svelte-1vt60dg{color:var(--ui-accent, #2dd4bf)}@media(max-width:768px),(pointer:coarse){.info-icon.svelte-1vt60dg,.info-panel.svelte-1vt60dg{display:none}}.click-hint.svelte-l3cbax{position:fixed;top:calc(50% - 30px);left:50%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:0;pointer-events:none;z-index:100;opacity:0;animation:svelte-l3cbax-fadeIn .4s ease-out .3s forwards}@keyframes svelte-l3cbax-fadeIn{0%{opacity:0}to{opacity:1}}.hint-text.svelte-l3cbax{font-family:Shadows Into Light,cursive;font-size:1.4rem;font-weight:300;color:#ffffffbf;text-shadow:0 1px 6px rgba(0,0,0,.25);letter-spacing:.03em}.light.svelte-l3cbax .hint-text:where(.svelte-l3cbax){color:#3c3c46bf;text-shadow:0 2px 8px rgba(255,255,255,.5)}.hint-arrow.svelte-l3cbax{width:50px;height:50px;color:#ffffffa6;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.light.svelte-l3cbax .hint-arrow:where(.svelte-l3cbax){color:#3c3c46a6;filter:drop-shadow(0 2px 4px rgba(255,255,255,.3))}.arrow-line.svelte-l3cbax{stroke-dasharray:55;stroke-dashoffset:55;animation:svelte-l3cbax-drawLine .5s ease-out .5s forwards}@keyframes svelte-l3cbax-drawLine{to{stroke-dashoffset:0}}.arrow-head.svelte-l3cbax{opacity:0;animation:svelte-l3cbax-showHead .2s ease-out 1s forwards}@keyframes svelte-l3cbax-showHead{to{opacity:1}}.modal-backdrop.svelte-1ae5xi6{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000;pointer-events:none}.modal.svelte-1ae5xi6{background:var(--ui-bg, rgba(12, 12, 18, .9));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:12px;padding:1.2rem;max-width:580px;box-shadow:0 12px 48px #00000080;pointer-events:auto;position:relative;will-change:transform}.modal.svelte-1ae5xi6.dragging{box-shadow:0 16px 64px #00000080}.header.svelte-1ae5xi6{display:flex;align-items:center;gap:.5rem;margin-bottom:.8rem}.title.svelte-1ae5xi6{flex:1;font-size:1rem;font-weight:700;color:var(--ui-text-hover, #fff);letter-spacing:-.02em}.close-btn.svelte-1ae5xi6{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--ui-text, #666);font-size:.9rem;cursor:pointer;border-radius:4px}.close-btn.svelte-1ae5xi6:hover{background:var(--ui-border, rgba(255, 255, 255, .1));color:var(--ui-text-hover, #fff)}.content.svelte-1ae5xi6{display:flex;flex-direction:column;gap:.8rem}.intro-section.svelte-1ae5xi6{background:var(--ui-input-bg, rgba(0, 0, 0, .2));border-radius:8px;padding:.8rem}.intro-section.svelte-1ae5xi6 p:where(.svelte-1ae5xi6){margin:0;font-size:.75rem;color:var(--ui-text-hover, #ccc);line-height:1.5}.intro-section.svelte-1ae5xi6 p:where(.svelte-1ae5xi6)+p:where(.svelte-1ae5xi6){margin-top:.5rem}.intro-section.svelte-1ae5xi6 strong:where(.svelte-1ae5xi6){color:var(--ui-accent, #2dd4bf)}.columns.svelte-1ae5xi6{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.column.svelte-1ae5xi6{display:flex;flex-direction:column;gap:.7rem}.section.svelte-1ae5xi6{background:var(--ui-input-bg, rgba(0, 0, 0, .2));border-radius:8px;padding:.7rem}.section.svelte-1ae5xi6 h3:where(.svelte-1ae5xi6){display:flex;align-items:center;gap:.4rem;margin:0 0 .5rem;font-size:.7rem;font-weight:600;color:var(--ui-accent, #2dd4bf);text-transform:uppercase;letter-spacing:.05em}.section.svelte-1ae5xi6 h3:where(.svelte-1ae5xi6) svg:where(.svelte-1ae5xi6){width:14px;height:14px}.section.svelte-1ae5xi6 ul:where(.svelte-1ae5xi6){margin:0;padding:0;list-style:none}.section.svelte-1ae5xi6 li:where(.svelte-1ae5xi6){font-size:.7rem;color:var(--ui-text-hover, #ccc);padding:.2rem 0 .2rem .8rem;position:relative;line-height:1.4}.section.svelte-1ae5xi6 li:where(.svelte-1ae5xi6):before{content:"•";position:absolute;left:0;color:var(--ui-accent, #2dd4bf)}.section.svelte-1ae5xi6 li:where(.svelte-1ae5xi6) strong:where(.svelte-1ae5xi6){color:var(--ui-text-hover, #fff)}kbd.svelte-1ae5xi6{display:inline-block;padding:.1rem .3rem;background:var(--ui-border, rgba(255, 255, 255, .1));border:1px solid var(--ui-border-hover, rgba(255, 255, 255, .15));border-radius:3px;font-family:SF Mono,Monaco,monospace;font-size:.6rem;color:var(--ui-text-hover, #ccc)}.footer.svelte-1ae5xi6{display:flex;align-items:center;justify-content:space-between;margin-top:.3rem}.author.svelte-1ae5xi6{font-size:.7rem;color:var(--ui-text, #888)}.author.svelte-1ae5xi6 strong:where(.svelte-1ae5xi6){color:var(--ui-text-hover, #e0e0e0)}.footer-buttons.svelte-1ae5xi6{display:flex;align-items:center;gap:.5rem}.github-link.svelte-1ae5xi6{display:flex;align-items:center;gap:.4rem;padding:.4rem .7rem;background:var(--ui-border, rgba(255, 255, 255, .08));border:1px solid var(--ui-border, rgba(255, 255, 255, .1));border-radius:6px;color:var(--ui-text-hover, #e0e0e0);font-size:.7rem;font-weight:500;text-decoration:none;transition:all .15s}.github-link.svelte-1ae5xi6:hover{background:var(--ui-accent-bg, rgba(45, 212, 191, .15));border-color:var(--ui-accent-border, rgba(45, 212, 191, .3));color:var(--ui-accent, #2dd4bf)}.github-link.svelte-1ae5xi6 svg:where(.svelte-1ae5xi6){width:16px;height:16px}.tour-btn.svelte-1ae5xi6{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .7rem;background:var(--ui-accent-bg, rgba(45, 212, 191, .1));color:var(--ui-accent, #2dd4bf);border:1px solid var(--ui-accent-border, rgba(45, 212, 191, .2));border-radius:6px;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s}.tour-btn.svelte-1ae5xi6:hover{background:var(--ui-accent-bg-hover, rgba(45, 212, 191, .2));border-color:var(--ui-accent-border, rgba(45, 212, 191, .35));filter:brightness(1.1)}.tour-btn.svelte-1ae5xi6 svg:where(.svelte-1ae5xi6){width:14px;height:14px}@media(max-width:768px){.modal.svelte-1ae5xi6{max-width:95vw;padding:1rem;max-height:85vh;overflow-y:auto}.columns.svelte-1ae5xi6{grid-template-columns:1fr}.title.svelte-1ae5xi6{font-size:1rem}.intro-section.svelte-1ae5xi6 p:where(.svelte-1ae5xi6){font-size:.7rem}.section.svelte-1ae5xi6 li:where(.svelte-1ae5xi6){font-size:.65rem}.section.svelte-1ae5xi6 h3:where(.svelte-1ae5xi6){font-size:.65rem}.column.svelte-1ae5xi6:last-child .section:where(.svelte-1ae5xi6):has(kbd:where(.svelte-1ae5xi6)){display:none}}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.app.svelte-1uha8ag{position:fixed;inset:0;overflow:hidden;--ui-bg: rgba(12, 12, 18, .7);--ui-bg-hover: rgba(20, 20, 30, .8);--ui-border: rgba(255, 255, 255, .08);--ui-border-hover: rgba(255, 255, 255, .15);--ui-text: #888;--ui-text-hover: #fff;--ui-input-bg: rgba(0, 0, 0, .3);--ui-canvas-bg: #0a0a0f;--ui-apply-text: #0a0a0f;--slider-track-bg: rgba(255, 255, 255, .2);--slider-track-border: rgba(255, 255, 255, .15)}.app.light-theme.svelte-1uha8ag{--ui-bg: rgba(255, 255, 255, .85);--ui-bg-hover: rgba(240, 240, 245, .95);--ui-border: rgba(0, 0, 0, .1);--ui-border-hover: rgba(0, 0, 0, .2);--ui-text: #555;--ui-text-hover: #1a1a1a;--ui-input-bg: rgba(255, 255, 255, .5);--ui-canvas-bg: #f0f0f3;--ui-apply-text: #ffffff;--slider-track-bg: rgba(0, 0, 0, .15);--slider-track-border: rgba(0, 0, 0, .1)}
