:root{--ThemeColorOne:#003;--ThemeColorTwo:#5f3dc4;--ThemeColorThree:#fff}*{margin:0;padding:0}html,body{background-color:var(--ThemeColorOne);min-height:100vh;margin:0;padding:0}a,p{color:var(--ThemeColorThree)}:root{--TopMenuHeight:30px;--TopMenuLogoHeight:calc(var(--TopMenuHeight) * .8);--TopMenuLogoHoverScale:1.05;--TopMenuItemGap:calc(var(--TopMenuHeight) * .5);--TopMenuItemFontSize:1rem;--TopMenuItemHoverColor:#9775fa;--TopMenuLangButtonPadding:calc(var(--TopMenuHeight) * .1) calc(var(--TopMenuHeight) * .3);--TopMenuLangButtonBorderRadius:calc(var(--TopMenuHeight) * .1);--TopMenuLangButtonFontSize:.9rem;--TopMenuDropdownArrowFontSize:.7rem;--TopMenuLangOptionPadding:calc(var(--TopMenuHeight) * .17) calc(var(--TopMenuHeight) * .4);--TopMenuMobileBreakpoint:1024px;--TopMenuMobilePadding:calc(var(--TopMenuHeight) * .5);--TopMenuMobileGap:calc(var(--TopMenuHeight) * .5);--TopMenuTransitionDuration:.3s}.TopMenu.svelte-qmj1rc{background-color:var(--ThemeColorTwo);width:100%}.MenuContainer.svelte-qmj1rc{max-width:1200px;padding:0 calc(var(--TopMenuHeight) * .33);height:var(--TopMenuHeight);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.Logo.svelte-qmj1rc a:where(.svelte-qmj1rc){align-items:center;text-decoration:none;display:flex}.LogoImage.svelte-qmj1rc{height:var(--TopMenuLogoHeight);width:auto;transition:transform var(--TopMenuTransitionDuration)}.LogoImage.svelte-qmj1rc:hover{transform:scale(var(--TopMenuLogoHoverScale))}.MenuToggle.svelte-qmj1rc{cursor:pointer;background:0 0;border:none;padding:10px;display:none}.MenuIcon.svelte-qmj1rc{background-color:var(--ThemeColorThree);width:25px;height:3px;display:block;position:relative}.MenuIcon.svelte-qmj1rc:before,.MenuIcon.svelte-qmj1rc:after{content:"";background-color:var(--ThemeColorThree);width:25px;height:3px;position:absolute;left:0}.MenuIcon.svelte-qmj1rc:before{top:-8px}.MenuIcon.svelte-qmj1rc:after{top:8px}.MenuItems.svelte-qmj1rc{align-items:center;gap:var(--TopMenuItemGap);display:flex}.MenuItem.svelte-qmj1rc{color:var(--ThemeColorThree);font-size:var(--TopMenuItemFontSize);transition:color var(--TopMenuTransitionDuration);text-decoration:none;position:relative}.MenuItem.svelte-qmj1rc:hover{color:var(--TopMenuItemHoverColor)}.MenuItem.svelte-qmj1rc:after{content:"";background-color:var(--TopMenuItemHoverColor);width:0;height:2px;transition:width var(--TopMenuTransitionDuration);position:absolute;bottom:-5px;left:0}.MenuItem.svelte-qmj1rc:hover:after{width:100%}.LanguageDropdown.svelte-qmj1rc{margin-left:20px;position:relative}.LangToggle.svelte-qmj1rc{border:1px solid var(--ThemeColorThree);color:var(--ThemeColorThree);padding:var(--TopMenuLangButtonPadding);border-radius:var(--TopMenuLangButtonBorderRadius);cursor:pointer;transition:all var(--TopMenuTransitionDuration);font-size:var(--TopMenuLangButtonFontSize);background:0 0;align-items:center;gap:5px;display:flex}.LangToggle.svelte-qmj1rc:hover{background-color:#ffffff1a}.DropdownArrow.svelte-qmj1rc{font-size:var(--TopMenuDropdownArrowFontSize);transition:transform var(--TopMenuTransitionDuration)}.DropdownArrow.open.svelte-qmj1rc{transform:rotate(180deg)}.LanguageOptions.svelte-qmj1rc{background-color:var(--ThemeColorTwo);border-radius:var(--TopMenuLangButtonBorderRadius);border:1px solid #ffffff4d;margin-top:5px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 5px 15px #0000004d}.LangOption.svelte-qmj1rc{width:100%;color:var(--ThemeColorThree);padding:var(--TopMenuLangOptionPadding);cursor:pointer;transition:all var(--TopMenuTransitionDuration);font-size:var(--TopMenuLangButtonFontSize);text-align:left;background:0 0;border:none;display:block}.LangOption.svelte-qmj1rc:hover{background-color:#ffffff1a}.LangOption.active.svelte-qmj1rc{background-color:var(--TopMenuItemHoverColor)}@media screen and (width>=1200px){.MenuContainer.svelte-qmj1rc{max-width:100%;padding:0 calc(var(--TopMenuHeight) * .5)}}@media screen and (width<=768px){.MenuToggle.svelte-qmj1rc{display:block}.MenuItems.svelte-qmj1rc{top:var(--TopMenuHeight);right:calc(var(--TopMenuHeight) * .33);background-color:var(--ThemeColorTwo);padding:var(--TopMenuMobilePadding);gap:var(--TopMenuMobileGap);border-radius:var(--TopMenuLangButtonBorderRadius);z-index:1000;flex-direction:column;width:max-content;display:none;position:absolute;box-shadow:0 5px 10px #0000004d}.MenuItems.open.svelte-qmj1rc{display:flex}.LanguageDropdown.svelte-qmj1rc{width:100%;margin-left:0}.LangToggle.svelte-qmj1rc{justify-content:center;width:100%}.LanguageOptions.svelte-qmj1rc{width:100%;margin-top:10px;position:static}}.canvas-container.svelte-1nb36tq{width:100%;height:100%;overflow:hidden}.pattern-canvas.svelte-1nb36tq{touch-action:none;display:block}.PatternCanvasPage.svelte-yn1vrt{z-index:1000;background:var(--ThemeColorOne);flex-direction:column;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.FloatingToolbar.svelte-yn1vrt{z-index:1001;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141ee6;border:1px solid #ffffff1a;border-radius:12px;gap:10px;padding:10px;display:flex;position:fixed;top:20px;right:20px}.ToolButton.svelte-yn1vrt{background:linear-gradient(135deg, var(--ThemeColorOne), var(--ThemeColorTwo));cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s;display:flex}.ToolButton.svelte-yn1vrt:hover{transform:scale(1.1);box-shadow:0 5px 15px #0006}.ToolButton.svelte-yn1vrt .Icon:where(.svelte-yn1vrt){font-size:20px}.FloatingSettingsPanel.svelte-yn1vrt{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1002;background:#14141ef2;border:1px solid #ffffff1a;border-radius:12px;width:320px;max-height:calc(100vh - 100px);position:fixed;top:80px;right:20px;overflow-y:auto;box-shadow:0 10px 30px #00000080}.SettingsHeader.svelte-yn1vrt{background:#14141ef2;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:15px;display:flex;position:sticky;top:0}.SettingsHeader.svelte-yn1vrt h3:where(.svelte-yn1vrt){color:var(--ThemeColorThree);margin:0;font-size:1rem}.CloseButton.svelte-yn1vrt{color:var(--ThemeColorThree);cursor:pointer;opacity:.7;background:0 0;border:none;padding:5px;font-size:1.2rem;transition:opacity .3s}.CloseButton.svelte-yn1vrt:hover{opacity:1}.SettingsContent.svelte-yn1vrt{padding:15px}.Section.svelte-yn1vrt{margin-bottom:20px}.Section.svelte-yn1vrt:last-child{margin-bottom:0}.SectionTitle.svelte-yn1vrt{color:var(--ThemeColorThree);border-bottom:1px solid #ffffff1a;margin-bottom:12px;padding-bottom:8px;font-size:.9rem;font-weight:700}.ControlRow.svelte-yn1vrt{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.ControlRow.svelte-yn1vrt label:where(.svelte-yn1vrt){color:var(--ThemeColorThree);flex-shrink:0;font-size:.85rem}.ControlRow.Checkbox.svelte-yn1vrt{justify-content:flex-start}.ControlRow.Checkbox.svelte-yn1vrt label:where(.svelte-yn1vrt){cursor:pointer;align-items:center;gap:8px;display:flex}.InputGroup.svelte-yn1vrt{align-items:center;gap:8px;display:flex}.InputGroup.svelte-yn1vrt input[type=range]:where(.svelte-yn1vrt){width:80px;accent-color:var(--ThemeColorTwo)}.InputGroup.svelte-yn1vrt input[type=number]:where(.svelte-yn1vrt){width:50px;color:var(--ThemeColorThree);text-align:center;background:#0000004d;border:1px solid #ffffff1a;border-radius:4px;padding:4px 6px;font-size:.8rem}.ControlRow.svelte-yn1vrt input[type=color]:where(.svelte-yn1vrt){cursor:pointer;background:0 0;border:none;border-radius:4px;width:40px;height:28px}.ControlRow.svelte-yn1vrt input[type=checkbox]:where(.svelte-yn1vrt){cursor:pointer;width:16px;height:16px;accent-color:var(--ThemeColorOne)}.CanvasContainer.svelte-yn1vrt{flex:1;width:100%;min-height:0}.BottomPanel.svelte-yn1vrt{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141ef2;border-top:1px solid #ffffff1a;align-items:center;gap:20px;padding:15px 20px;display:flex}.Stats.svelte-yn1vrt{flex-shrink:0;gap:20px;display:flex}.StatItem.svelte-yn1vrt{flex-direction:column;align-items:center;gap:2px;display:flex}.StatValue.svelte-yn1vrt{color:var(--ThemeColorThree);font-size:1.5rem;font-weight:700}.StatLabel.svelte-yn1vrt{color:var(--ThemeColorThree);opacity:.7;font-size:.75rem}.PatternCode.svelte-yn1vrt{white-space:nowrap;background:#0000004d;border-radius:8px;flex:1;min-width:0;padding:10px 15px;overflow-x:auto}.PatternCode.svelte-yn1vrt code:where(.svelte-yn1vrt){color:var(--ThemeColorThree);font-family:Fira Code,Consolas,monospace;font-size:.9rem}.PatternCode.svelte-yn1vrt .Placeholder:where(.svelte-yn1vrt){color:var(--ThemeColorThree);opacity:.5;font-size:.9rem}.Hint.svelte-yn1vrt{color:var(--ThemeColorThree);opacity:.6;flex-shrink:0;font-size:.85rem}@media screen and (width<=768px){.FloatingToolbar.svelte-yn1vrt{padding:8px;top:10px;right:10px}.ToolButton.svelte-yn1vrt{width:40px;height:40px}.FloatingSettingsPanel.svelte-yn1vrt{width:calc(100vw - 20px);max-width:320px;max-height:calc(100vh - 90px);top:70px;right:10px}.BottomPanel.svelte-yn1vrt{flex-direction:column;gap:10px;padding:10px 15px}.Stats.svelte-yn1vrt{justify-content:center;width:100%}.PatternCode.svelte-yn1vrt{width:100%}.Hint.svelte-yn1vrt{text-align:center;width:100%}}.ClosePatternCanvas.svelte-16ycvnw{width:44px;height:44px;color:var(--ThemeColorThree);cursor:pointer;z-index:1003;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#14141ee6;border:1px solid #ffffff1a;border-radius:8px;justify-content:center;align-items:center;font-size:1.5rem;transition:all .3s;display:flex;position:fixed;top:20px;left:20px}.ClosePatternCanvas.svelte-16ycvnw:hover{background:#ffffff1a;transform:scale(1.1)}.ToolsPage.svelte-16ycvnw{max-width:1200px;margin:0 auto;padding:40px 20px}.PageTitle.svelte-16ycvnw{color:var(--ThemeColorThree);text-align:center;margin-bottom:10px;font-size:2.5rem}.PageDescription.svelte-16ycvnw{color:var(--ThemeColorThree);text-align:center;opacity:.8;margin-bottom:40px;font-size:1.1rem}.ToolsGrid.svelte-16ycvnw{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;display:grid}.ToolCard.svelte-16ycvnw{cursor:pointer;background-color:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:15px;padding:20px;transition:all .3s;display:flex}.PatternToolCard.svelte-16ycvnw{background:linear-gradient(135deg,#7fffe61a,#fecbe61a);border-color:#7fffe64d}.ToolCard.svelte-16ycvnw:hover{border-color:var(--ThemeColorOne);background-color:#ffffff1a;transform:translateY(-5px);box-shadow:0 10px 20px #0000004d}.PatternToolCard.svelte-16ycvnw:hover{background:linear-gradient(135deg,#7fffe633,#fecbe633)}.ToolCard.svelte-16ycvnw:focus{outline:2px solid var(--ThemeColorOne);outline-offset:2px}.ToolCardHeader.svelte-16ycvnw{align-items:center;gap:15px;display:flex}.ToolIconPlaceholder.svelte-16ycvnw{background:linear-gradient(135deg, var(--ThemeColorOne), var(--ThemeColorTwo));border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.ToolIconText.svelte-16ycvnw{font-size:24px}.ToolName.svelte-16ycvnw{color:var(--ThemeColorThree);flex:1;margin:0;font-size:1.3rem}.ToolDescription.svelte-16ycvnw{color:var(--ThemeColorThree);opacity:.7;margin:0;font-size:.95rem;line-height:1.5}.ToolFooter.svelte-16ycvnw{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;display:flex}.OpenLink.svelte-16ycvnw{color:var(--ThemeColorThree);font-size:.9rem;font-weight:500}.ExternalIcon.svelte-16ycvnw{color:var(--ThemeColorThree);font-size:1.2rem}@media screen and (width<=768px){.ToolsPage.svelte-16ycvnw{padding:20px 15px}.PageTitle.svelte-16ycvnw{font-size:2rem}.PageDescription.svelte-16ycvnw{margin-bottom:30px;font-size:1rem}.ToolsGrid.svelte-16ycvnw{grid-template-columns:1fr;gap:15px}.ClosePatternCanvas.svelte-16ycvnw{width:40px;height:40px;top:10px;left:10px}}.IntroductionInformation.svelte-1n46o8q{flex-direction:column;justify-content:center;align-items:center;display:flex;transform:translateY(30vh)}@media screen and (width<=767px){.IntroductionInformation.svelte-1n46o8q{transform:translate(0)}.IntroductionInformation.svelte-1n46o8q .Description:where(.svelte-1n46o8q){display:none}}.IntroductionInformation.svelte-1n46o8q .Title:where(.svelte-1n46o8q){color:var(--ThemeColorThree)}.IntroductionInformation.svelte-1n46o8q .Description:where(.svelte-1n46o8q){color:var(--ThemeColorThree);text-align:center;max-width:80vw;margin-top:20px;padding:0 20px;font-size:clamp(14px,2.5vw,24px)}.LogoBackgroundImage.svelte-1n46o8q{width:80vw;height:auto;aspect-ratio:attr(width) / attr(height)}@media screen and (width<=768px){.IntroductionInformation.svelte-1n46o8q .LogoBackgroundImage:where(.svelte-1n46o8q){width:100vw}}@media screen and (width>=1024px){.IntroductionInformation.svelte-1n46o8q .LogoBackgroundImage:where(.svelte-1n46o8q){width:auto;max-width:100%}}
