*,*:before,*:after{box-sizing:border-box}:root{--bg-main: #fdf2f8;--bg-panel: rgba(252, 231, 243, .85);--bg-panel-solid: #fce7f3;--bg-control: #fbcfe8;--bg-control-hover: #f9a8d4;--panel-border: rgba(131, 24, 67, .2);--text-light: #500724;--text-dark: #ffffff;--text-muted: #9d174d;--accent: #db2777;--accent-hover: #be185d;--pro-color: #831843;--pro-color-light: #9d174d;--border-light: #f9a8d4;--shadow: 0 4px 6px -1px rgba(131,24,67,.1), 0 2px 4px -2px rgba(131,24,67,.1);--shadow-panel: 0 10px 30px rgba(131,24,67,.2);--input-height: 34px;--panel-width: 280px}*{box-sizing:border-box}body{margin:0;background:var(--bg-main);color:var(--text-light);font:13px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";height:100vh;overflow:hidden;display:grid;grid-template-rows:auto 1fr;grid-template-columns:52px 1fr}body.main-ui-hidden header,body.main-ui-hidden #left-toolbar,body.main-ui-hidden main,body.main-ui-hidden #sketch-hud,body.main-ui-hidden #kids-hud{display:none!important}header{grid-column:1 / -1;grid-row:1 / 2;background:var(--bg-panel-solid);border-bottom:1px solid var(--border-light);z-index:100;display:flex;align-items:center;padding:6px 16px}.header-title{display:flex;align-items:center;gap:10px}.header-logo{width:24px;height:24px;color:var(--accent)}h1{margin:0;font-size:16px;font-weight:700}header .toolbar{display:flex;gap:6px;align-items:center;margin-left:auto}#backToMenuBtn{padding:4px 12px;margin-right:8px;gap:8px}.back-to-menu-icon{font-size:22px;line-height:1}.language-switcher{display:flex;gap:4px;background-color:var(--bg-control);border-radius:6px;padding:2px}.lang-btn{background:transparent;border:none;color:var(--text-muted);font-weight:600;padding:4px 8px;border-radius:4px;cursor:pointer;transition:all .2s ease}.lang-btn:hover{color:var(--text-light);background:var(--bg-control-hover)}.lang-btn.active{background:var(--pro-color);color:var(--text-dark)}#left-toolbar{grid-column:1 / 2;grid-row:2 / 3;background:var(--bg-panel-solid);border-right:1px solid var(--border-light);padding:8px 0;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:99;position:relative}.toolbar-btn{width:40px;height:40px;border-radius:8px;border:none;background:transparent;cursor:pointer;font-size:22px;color:var(--text-muted);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.toolbar-btn:hover{background:var(--bg-control);color:var(--text-light);transform:translateY(-2px);box-shadow:0 4px 8px #0000004d}.toolbar-btn.active{background:var(--accent);color:var(--text-dark);transform:translateY(-2px);box-shadow:0 0 15px #a78bfa99}main{grid-column:2 / 3;grid-row:2 / 3;padding-top:5vh;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;background:#fbcfe8}#container{position:relative;width:100%;height:100%;max-width:75vh;max-height:75vh;aspect-ratio:1 / 1;background:transparent;border:1px solid var(--border-light);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;cursor:none}#container.panning{cursor:grabbing}#container.fill-cursor{cursor:crosshair}#canvas-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:0 0}canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none}.layer-canvas{cursor:inherit}#overlay{pointer-events:none}.badge{position:absolute;top:8px;left:8px;background:#0009;color:#fff;padding:4px 8px;border-radius:999px;font-size:12px;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:5;display:inline-block;opacity:0;transform:scale(.8);transition:opacity .2s ease,transform .2s ease}.badge.show{opacity:1;transform:scale(1)}.shortcut-key{display:inline-block;background:var(--pro-color);color:var(--text-dark);font-size:11px;font-weight:700;padding:1px 5px;border-radius:4px;margin-left:6px;border-bottom:2px solid #be185d;line-height:1.2}#floating-panels-container{position:absolute;top:60px;left:70px;pointer-events:none;z-index:80}.floating-panel{position:absolute;width:var(--panel-width);background:var(--bg-panel);color:var(--text-light);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;-webkit-user-select:none;user-select:none;z-index:90;opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transition:opacity .2s ease,transform .2s ease,visibility .2s}.floating-panel.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.panel-header{padding:10px 14px;cursor:move;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--panel-border);background:#5007240d}.panel-header h3{margin:0;font-size:13px;font-weight:600}.panel-header-controls{display:flex;align-items:center;gap:8px}.collapse-panel-btn{background:none;border:none;cursor:pointer;padding:0;color:var(--text-muted);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.collapse-panel-btn svg{transition:transform .2s ease}.collapse-panel-btn:hover{color:var(--text-light)}.close-panel-btn{background:none;border:none;font-size:20px;color:var(--text-muted);cursor:pointer;line-height:1;padding:0}.close-panel-btn:hover{color:var(--text-light)}.panel-content{padding:14px;max-height:calc(100vh - 150px);overflow-y:auto}.floating-panel.collapsed .panel-content{display:none}.floating-panel.collapsed .collapse-panel-btn svg{transform:rotate(-90deg)}.control-group{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.control-group label{font-size:12px;font-weight:500;color:var(--text-muted);display:flex;align-items:center;gap:8px}.checkbox-group{flex-direction:column;align-items:flex-start;gap:10px}.panel-section{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--panel-border)}.panel-section:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}hr{border:none;height:1px;background-color:var(--panel-border);margin:16px 0}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-light);background:var(--bg-control);border-radius:6px;padding:4px 10px;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;color:var(--text-light);transition:all .15s ease}.btn:hover:not(:disabled){background:var(--bg-control-hover);transform:translateY(-1px);box-shadow:0 2px 4px #83184333}.btn.secondary{background-color:transparent;border-color:var(--bg-control)}.btn.secondary:hover:not(:disabled){background-color:var(--bg-control)}.btn:disabled{opacity:.5;cursor:not-allowed}header .toolbar .btn.active{background:var(--accent);color:var(--text-dark);border-color:var(--accent)}header .toolbar .btn:disabled{opacity:.5;cursor:not-allowed}.floating-panel .btn{background:var(--bg-control);border-color:var(--bg-control-hover);color:var(--text-light);width:100%}.floating-panel .btn:hover{background:var(--bg-control-hover)}.floating-panel .btn.secondary{background:var(--bg-panel-solid);border-color:var(--bg-control)}.floating-panel .btn.secondary:hover{background:var(--bg-control)}.floating-panel .btn:disabled{background:var(--bg-panel-solid);color:var(--text-muted);cursor:not-allowed}select,.mini-input,textarea,.pro-key-input{width:100%;padding:6px 10px;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-control);color:var(--text-light);font-family:inherit;font-size:13px;resize:vertical}.floating-panel select,.floating-panel .mini-input,.floating-panel textarea{border-color:var(--bg-control);background:var(--bg-panel-solid);color:var(--text-light)}select{height:var(--input-height);padding:0 10px}.floating-panel select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%239d174d' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .7rem center;background-repeat:no-repeat;background-size:1.25em}#customSizeWrapper{flex-direction:row;align-items:center;gap:8px}#customSizeWrapper .mini-input{background:var(--bg-control);text-align:center}input[type=color]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:var(--input-height);background-color:transparent;border:1px solid var(--bg-control);border-radius:6px;cursor:pointer}input[type=color]::-webkit-color-swatch{border-radius:5px;border:none}input[type=color]::-moz-color-swatch{border-radius:5px;border:none}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:4px;background:var(--bg-control);border-radius:2px;outline:none;transition:opacity .2s;margin:6px 0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--text-light);border-radius:50%;cursor:pointer;border:2px solid var(--accent)}input[type=range]::-moz-range-thumb{width:12px;height:12px;background:var(--text-light);border-radius:50%;cursor:pointer;border:2px solid var(--accent)}.button-group{display:flex;gap:8px;margin-top:16px}.swatches{display:flex;gap:4px;flex-wrap:wrap}.swatches button{width:22px;height:22px;border-radius:4px;border:2px solid var(--bg-control);cursor:pointer;padding:0;transition:transform .1s ease}.swatches button:hover{transform:scale(1.1)}.swatches button:focus{outline:2px solid var(--accent)}.mini{font-size:11px;color:var(--text-muted)}.when-gradient{display:flex;flex-direction:column;gap:8px;width:100%}#backgroundPanel:not(:has(#bgMode [value=gradient]:checked)) .when-gradient{display:none}.when-custom{display:none}#canvasSizePanel:has(#canvasSizePreset [value=custom]:checked) .when-custom{display:flex}.segmented-control{display:flex;flex-wrap:wrap;width:100%;border:1px solid var(--bg-control);border-radius:6px;overflow:hidden}.segmented-control input[type=radio]{display:none}.segmented-control label{position:relative;text-align:center;padding:6px 4px;cursor:pointer;background-color:var(--bg-panel-solid);color:var(--text-muted);font-weight:500;-webkit-user-select:none;user-select:none;transition:background-color .2s,color .2s;font-size:11px;justify-content:center;flex-grow:1}.segmented-control.main-tools label{border-right:1px solid var(--bg-control)}.segmented-control.main-tools label:last-of-type{border-right:none}.segmented-control input[type=radio]:checked+label{background-color:var(--accent);color:var(--text-dark)}.segmented-control label:hover{background-color:var(--bg-control)}.segmented-control input[type=radio]:checked+label:hover{background-color:var(--accent)}.segmented-control label.core-tool{color:var(--text-light);font-weight:600}header .mode-selector{border-radius:6px;border:1px solid var(--border-light);display:flex;overflow:hidden;height:var(--input-height)}header .mode-selector label{padding:0 10px;cursor:pointer;background-color:var(--bg-control);color:var(--text-light);font-weight:500;font-size:12px;transition:all .15s ease;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}header .mode-selector label:hover{background:var(--bg-control-hover)}header .mode-selector input[type=radio]:checked+label{background-color:var(--accent);color:var(--text-dark)}header .mode-selector input[type=radio]{display:none}.main-controls-group{display:flex;flex-direction:column;gap:4px}.sub-controls-group{display:flex;gap:8px;justify-content:center}.tool-options{border-left:2px solid var(--panel-border);padding-left:12px;margin:12px 0 20px}#brushSymmetryPanel:not(:has(#toolStable:checked)) .when-stable,#brushSymmetryPanel:not(:has(#toolFill:checked)) .when-fill,#brushSymmetryPanel:not(:has(#toolPolygon:checked)) .when-polygon{display:none}.when-autoclean{display:none}#brushSymmetryPanel.autoclean-active .when-autoclean{display:block}.brush-cursor{position:absolute;left:0;top:0;pointer-events:none;border:1px solid rgba(80,7,36,.85);border-radius:50%;transform:translate(-50%,-50%);box-sizing:border-box;transition:width .05s ease,height .05s ease;--spray-spread-size: 0px;box-shadow:none;z-index:10}.brush-cursor:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--spray-spread-size);height:var(--spray-spread-size);border:1px dotted rgba(80,7,36,.5);border-radius:50%;box-sizing:border-box;transition:width .05s ease,height .05s ease}#guidesPanel:not(:has(#showGuides:checked)) .guide-options{display:none}.layer-controls{display:flex;gap:4px}.layer-controls .btn{padding:4px 8px;font-size:16px;line-height:1;border-radius:8px;flex-grow:1}#layerList{display:flex;flex-direction:column;gap:6px;margin:16px 0}.layer-item{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;border:1px solid var(--bg-control);cursor:pointer;-webkit-user-select:none;user-select:none;background-color:var(--bg-control-hover)}.layer-item:hover{background-color:var(--bg-control)}.layer-item.active{background:var(--accent);border-color:var(--accent);font-weight:600;color:var(--text-dark)}.layer-item .visibility-toggle{background:none;border:none;cursor:pointer;padding:2px;opacity:.7;color:var(--text-light)}.layer-item.active .visibility-toggle{opacity:1;color:var(--text-dark)}.layer-item .visibility-toggle:hover{opacity:1}.layer-item .layer-name{flex-grow:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}.modal-overlay.visible{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s 0s}.modal-content{background:var(--bg-main);padding:24px;border-radius:16px;width:90%;max-width:1200px;height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 25px #0003;transform:scale(.95);transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.modal-overlay.visible .modal-content{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-light);padding-bottom:16px;margin-bottom:16px}.modal-header h2{margin:0;font-size:20px}.close-btn{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--text-muted)}.close-btn:hover{color:var(--text-light)}.modal-content .panel-content{padding:16px 0 0}.text-muted{color:var(--text-muted);font-size:13px}.gallery-grid{flex-grow:1;overflow-y:auto;padding:8px;column-count:6;column-gap:16px}@media(max-width:1600px){.gallery-grid{column-count:5}}@media(max-width:1200px){.gallery-grid{column-count:4}}@media(max-width:900px){.gallery-grid{column-count:3}}@media(max-width:600px){.gallery-grid{column-count:2}}.gallery-item{position:relative;border-radius:8px;overflow:hidden;box-shadow:var(--shadow);cursor:zoom-in;margin-bottom:16px;break-inside:avoid}.gallery-item img{width:100%;height:auto;display:block}.gallery-item-author{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,#000c,#0000);color:#fff;font-size:12px;padding:16px 8px 6px;text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.gallery-item .delete-btn,.gallery-item .export-btn{position:absolute;top:6px;color:#fff;border:none;border-radius:50%;width:24px;height:24px;font-size:14px;line-height:24px;text-align:center;cursor:pointer;opacity:0;transition:opacity .2s;background:#00000080}.gallery-item .delete-btn{right:6px}.gallery-item .export-btn{left:6px}.gallery-item:hover .delete-btn,.gallery-item:hover .export-btn{opacity:1}.gallery-item .delete-btn:hover{background:#ff0000b3}.gallery-item .export-btn:hover{background:#22c55eb3}.gallery-grid-empty{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:16px}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-item{position:relative;aspect-ratio:1 / 1;border-radius:8px;background-color:var(--bg-control);overflow:hidden}.skeleton-item:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(80,7,36,.08),transparent);animation:shimmer 1.5s infinite linear;transform:translate(-100%)}#imageLightbox{z-index:1100;cursor:zoom-out;padding:2vw;background:#000000d9}#imageLightbox img{display:block;max-width:95vw;max-height:95vh;object-fit:contain;border-radius:8px;box-shadow:0 10px 40px #000000b3;cursor:default;opacity:0;transform:scale(.95);transition:opacity .3s ease,transform .3s cubic-bezier(.175,.885,.32,1.275)}#imageLightbox.visible img{opacity:1;transform:scale(1)}#imageLightbox .close-btn{position:absolute;top:1vh;right:2vw;font-size:48px;color:#fff;text-shadow:0 0 8px rgba(0,0,0,.8);transition:transform .2s ease;line-height:1}#imageLightbox .close-btn:hover{transform:scale(1.1)}.mandala-layout-options{display:none;margin-top:16px}#mandalaCountPanel:has(#mandalaCount2:checked) #layout-options-2,#mandalaCountPanel:has(#mandalaCount3:checked) #layout-options-3,#mandalaCountPanel:has(#mandalaCount4:checked) #layout-options-4,#mandalaCountPanel:has(#mandalaCount5:checked) #layout-options-5,#mandalaCountPanel:has(#mandalaCount6:checked) #layout-options-6,#mandalaCountPanel:has(#mandalaCount7:checked) #layout-options-7{display:block}#mandalaCountPanel .segmented-control label{flex-basis:25%;border-right:1px solid var(--bg-control);border-bottom:1px solid var(--bg-control)}#mandalaCountPanel .segmented-control label:nth-child(4n){border-right:none}#mandalaCountPanel .segmented-control label:nth-last-child(-n+3){border-bottom:none}.mandala-layout-options .segmented-control label{flex-basis:50%}#layout-options-3 .segmented-control label{border-bottom:1px solid var(--bg-control)}#layout-options-3 .segmented-control label:nth-child(2n){border-right:none}#layout-options-3 .segmented-control label:nth-last-child(-n+2){border-bottom:none}.when-multiple-mandalas{display:none}#mandalaCountPanel:has(#mandalaCount2:checked) .when-multiple-mandalas,#mandalaCountPanel:has(#mandalaCount3:checked) .when-multiple-mandalas,#mandalaCountPanel:has(#mandalaCount4:checked) .when-multiple-mandalas,#mandalaCountPanel:has(#mandalaCount5:checked) .when-multiple-mandalas,#mandalaCountPanel:has(#mandalaCount6:checked) .when-multiple-mandalas,#mandalaCountPanel:has(#mandalaCount7:checked) .when-multiple-mandalas{display:flex}#zoomDisplay{min-width:50px;text-align:center;font-weight:500;color:var(--text-light);padding:0 8px;display:flex;align-items:center;justify-content:center;cursor:default}#resetViewBtn{font-size:18px;line-height:1;padding:6px 10px}.toolbar-btn,#floating-panels-container,#sketch-hud{display:none}body.sketch-mode{grid-template-columns:52px 1fr 280px}body.sketch-mode .toolbar-btn[data-mode~=sketch]{display:flex}body.sketch-mode #floating-panels-container{display:block}body.sketch-mode #left-toolbar,body.sketch-mode header{display:flex}body.sketch-mode #sketch-hud{display:flex;grid-column:3 / 4;grid-row:2 / 3}body.sketch-mode #container{height:100%}body.kids-mode .toolbar-btn[data-mode~=kids]{display:flex}body.kids-mode #floating-panels-container{display:none}body.kids-mode #left-toolbar,body.kids-mode header{display:flex}body.kids-mode #container{border-color:#ddd;height:100%;max-width:60vh;max-height:60vh}body.kids-mode header #saveBtn,body.kids-mode header #viewMyGalleryBtn,body.kids-mode header #viewCommunityGalleryBtn,body.kids-mode header #export{display:none}body.kids-mode #kids-hud{display:flex}@keyframes wiggle{0%,to{transform:rotate(-3deg) scale(1.1)}50%{transform:rotate(3deg) scale(1.1)}}#sketch-hud{background:var(--bg-panel);border-left:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:85;flex-direction:column;padding:12px;gap:12px;-webkit-user-select:none;user-select:none;overflow:hidden}.sketch-hud-group{background:var(--bg-panel-solid);border:1px solid var(--panel-border);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;flex-shrink:0}.sketch-hud-group:last-child{flex-grow:1;flex-shrink:1;min-height:0;overflow:hidden}.sketch-hud-title{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--text-muted)}.sketch-hud-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:6px}.sketch-hud-btn{width:100%;height:40px;border-radius:8px;border:none;background:var(--bg-control);cursor:pointer;font-size:22px;color:var(--text-muted);transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sketch-hud-btn:hover{background:var(--bg-control-hover);color:var(--text-light)}.sketch-hud-btn.active{background:var(--accent);color:var(--text-dark)}.sketch-hud-btn:disabled{opacity:.5;cursor:not-allowed;background-color:var(--bg-panel-solid)}#sketch-hud .control-group{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;margin-bottom:0}#sketch-hud .control-group label{margin-bottom:0;font-size:18px;color:var(--text-light);font-variant-numeric:tabular-nums;min-width:55px}#sketch-hud .control-group label span{font-size:13px}#sketch-hud .control-group input[type=range]{margin:0}.color-tabs{display:flex;border:1px solid var(--bg-control);border-radius:6px;overflow:hidden}.color-tab-btn{flex-grow:1;padding:8px;border:none;background:var(--bg-panel-solid);color:var(--text-muted);cursor:pointer;font-weight:500;transition:all .2s ease}.color-tab-btn:hover{background:var(--bg-control)}.color-tab-btn.active{background:var(--accent);color:var(--text-dark)}.color-tab-content{display:none;padding-top:10px}.color-tab-content.active{display:block}#sketch-hud .swatches{gap:6px;justify-content:flex-start}#sketch-hud .swatches button{width:24px;height:24px}#kids-hud{position:fixed;bottom:0;left:0;right:0;height:120px;background:#fdf2f8;border-top:3px solid #f9a8d4;z-index:100;display:none;align-items:center;justify-content:space-between;padding:10px 24px 0;gap:16px;-webkit-user-select:none;user-select:none;box-shadow:0 -5px 20px #83184333;border-top-left-radius:50% 20px;border-top-right-radius:50% 20px}.kids-hud-section{display:flex;align-items:center;gap:16px;height:100%}#kids-tools-center{flex-direction:column;justify-content:center;gap:4px}.kids-hud-divider{width:3px;height:60%;background:repeating-linear-gradient(45deg,#db2777,#db2777 5px,#f9a8d4 5px,#f9a8d4 10px);border-radius:3px}#kids-colors{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.kids-color-swatch{width:44px;height:44px;cursor:pointer;border:4px solid #fff;box-shadow:0 4px 6px #83184333,inset 0 2px 3px #fff3;background:none;padding:0;transition:all .2s cubic-bezier(.175,.885,.32,1.275);border-radius:50% 45% 55% 48%}.kids-color-swatch:hover{transform:scale(1.15) rotate(5deg)}.kids-color-swatch.active{border-color:var(--accent);animation:wiggle .4s ease-in-out infinite;box-shadow:0 0 15px var(--accent),0 4px 6px #83184333,inset 0 2px 3px #fff3}.kids-tool-group{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.kids-tool-group.wide{min-width:250px}.kids-tool-group label{font-size:14px;font-weight:500;color:var(--text-muted)}.kids-button-group{display:flex;gap:8px;align-items:center}.kids-tool-btn,.kids-size-btn{width:58px;height:58px;border-radius:16px;border:none;background:linear-gradient(145deg,#fef3c7,#fde68a);color:var(--text-light);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease-out;font-size:28px;box-shadow:0 5px #f9a8d4,0 6px 10px #83184333;text-shadow:0 -1px 1px rgba(0,0,0,.1)}.kids-tool-btn:hover:not(:disabled),.kids-size-btn:hover{transform:translateY(-2px);box-shadow:0 7px #f9a8d4,0 8px 12px #83184333}.kids-tool-btn:active:not(:disabled),.kids-size-btn:active{transform:translateY(3px);box-shadow:0 2px #f9a8d4,0 3px 6px #83184333}.kids-tool-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;background:#fbcfe8;box-shadow:0 5px #f9a8d4}.kids-tool-btn.active,.kids-size-btn.active{background:linear-gradient(145deg,#a78bfa,#8b5cf6);transform:translateY(3px);box-shadow:0 2px #7c3aed,0 3px 6px #0006,0 0 10px #a78bfa}#kids-eraser-btn.active{background:linear-gradient(145deg,#f87171,#ef4444);box-shadow:0 2px #b91c1c,0 3px 6px #0006,0 0 10px #f87171}.kids-size-btn{width:44px;height:44px}.size-dot{display:block;background-color:var(--text-light);border-radius:50%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.size-dot.s{width:8px;height:8px}.size-dot.m{width:14px;height:14px}.size-dot.l{width:22px;height:22px}.size-dot.xl{width:32px;height:32px}#kids-symmetry-slider,#kids-opacity-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:20px;background:linear-gradient(90deg,red,orange,#ff0,green,#00f,indigo,violet);border-radius:10px;outline:none;border:2px solid #fff;box-shadow:inset 0 1px 3px #0006}#kids-opacity-slider{background:linear-gradient(90deg,#5007241a,#500724)}#kids-symmetry-slider::-webkit-slider-thumb,#kids-opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="yellow" stroke="orange" stroke-width="2"><path d="M12 2 L15.09 8.26 L22 9.27 L17 14.14 L18.18 21.02 L12 17.77 L5.82 21.02 L7 14.14 L2 9.27 L8.91 8.26 Z"/></svg>');cursor:pointer;border-radius:50%;transform:translateY(-6px);transition:transform .1s ease}#kids-symmetry-slider::-webkit-slider-thumb:hover,#kids-opacity-slider::-webkit-slider-thumb:hover{transform:translateY(-6px) scale(1.1)}#kids-symmetry-slider::-moz-range-thumb,#kids-opacity-slider::-moz-range-thumb{width:32px;height:32px;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="yellow" stroke="orange" stroke-width="2"><path d="M12 2 L15.09 8.26 L22 9.27 L17 14.14 L18.18 21.02 L12 17.77 L5.82 21.02 L7 14.14 L2 9.27 L8.91 8.26 Z"/></svg>');cursor:pointer;border-radius:50%;border:none}#kids-opacity-slider::-webkit-slider-thumb{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%239d174d" stroke="%23f9a8d4" stroke-width="1.5"><path fill-rule="evenodd" d="M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25zM12.75 9a.75.75 0 00-1.5 0v6a.75.75 0 001.5 0V9z" clip-rule="evenodd" /></svg>')}#kids-opacity-slider::-moz-range-thumb{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%239d174d" stroke="%23f9a8d4" stroke-width="1.5"><path fill-rule="evenodd" d="M12 2.25c-5.385 0-9.75 4.365-9.75 9.75s4.365 9.75 9.75 9.75 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25zM12.75 9a.75.75 0 00-1.5 0v6a.75.75 0 001.5 0V9z" clip-rule="evenodd" /></svg>')}body.zen-mode header,body.zen-mode #left-toolbar,body.zen-mode #floating-panels-container,body.zen-mode #kids-hud,body.zen-mode #sketch-hud{display:none}body.zen-mode main{grid-column:1 / -1;padding:0;background-color:#000}body.zen-mode #container{max-width:none;max-height:none;border-radius:0;border:none;height:100%}#exitZenBtn{position:fixed;top:16px;left:16px;z-index:1100}body.zen-mode #exitZenBtn{background-color:#000;color:#fff;border-color:#333}body.zen-mode #exitZenBtn:hover{background-color:#222;border-color:#555}.mixer-preview{height:50px;border-radius:8px;margin-bottom:16px;border:1px solid var(--panel-border);transition:background-color .1s}.mixer-inputs{display:flex;gap:16px;margin-bottom:8px}.mixer-inputs .control-group{flex:1;margin-bottom:0}#applyMixBtn{margin-top:16px}.donation-options{display:flex;flex-direction:column;gap:24px}.donation-option{background:var(--bg-control);padding:16px;border-radius:8px;border:1px solid var(--border-light)}.donation-logo{display:block;height:40px;max-width:100%;object-fit:contain;margin:0 auto 16px}.donation-option p{margin-top:0;margin-bottom:12px;color:var(--text-muted);font-size:13px}.donation-details{display:flex;gap:8px}.donation-details input{flex-grow:1;background-color:var(--bg-panel-solid);border-color:var(--bg-control);text-align:center;font-weight:500}.donation-details button{flex-shrink:0}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(28px,1fr));gap:8px}.favorite-color-swatch{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:6px;border:2px solid var(--bg-control);cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.favorite-color-swatch:hover{transform:scale(1.1);box-shadow:0 0 0 2px var(--accent)}.favorite-delete-btn{position:absolute;top:-6px;right:-6px;width:16px;height:16px;background:var(--bg-control-hover);color:var(--text-light);border:1px solid var(--bg-panel-solid);border-radius:50%;font-size:12px;line-height:14px;text-align:center;cursor:pointer;opacity:0;transform:scale(.8);transition:opacity .1s,transform .1s}.favorite-color-swatch:hover .favorite-delete-btn{opacity:1;transform:scale(1)}.favorites-empty{color:var(--text-muted);font-size:13px;text-align:center;grid-column:1 / -1}.favorites-list{display:flex;flex-direction:column;gap:8px}.favorite-brush-item{display:flex;align-items:center;gap:8px;background:var(--bg-control);padding:8px 12px;border-radius:8px;cursor:pointer;transition:background-color .15s}.favorite-brush-item:hover{background:var(--bg-control-hover)}.favorite-brush-item span{flex-grow:1}.favorite-brush-item .favorite-delete-btn{position:static;opacity:1;transform:none;width:20px;height:20px;line-height:18px;font-size:14px;flex-shrink:0}.add-favorite-form{display:flex;gap:8px;margin-top:16px}.add-favorite-form .mini-input{flex-grow:1}.add-favorite-form .btn{flex-shrink:0;width:auto}.btn-text{margin-left:.25em}@media(max-width:1024px){header{padding:8px 12px}header .toolbar{flex-wrap:wrap;justify-content:flex-end}.btn .btn-text,#saveBtn .shortcut-key{display:none}}@media(max-width:820px){header{padding:8px;gap:8px}h1{display:none}.header-logo{margin-right:0}header .toolbar{gap:4px}.btn,header .mode-selector label{padding:6px}}#authBtn{background:var(--pro-color);color:var(--text-dark);border-color:var(--pro-color-light)}#authBtn:hover:not(:disabled){background:var(--pro-color-light)}.toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background-color:var(--accent);color:var(--text-dark);padding:12px 24px;border-radius:8px;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility 0s .3s;box-shadow:var(--shadow-panel);font-weight:500;text-align:center;pointer-events:none}.toast.show{opacity:1;visibility:visible;transform:translate(-50%);transition:opacity .3s ease,transform .3s ease,visibility 0s 0s}.tooltip{position:fixed;background-color:var(--bg-panel-solid);color:var(--text-light);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;z-index:2100;pointer-events:none;opacity:0;transform:translateY(5px);transition:opacity .15s ease,transform .15s ease;box-shadow:var(--shadow-panel);white-space:nowrap}.tooltip.visible{opacity:1;transform:translateY(0)}body.header-hidden header{display:none}body.left-toolbar-hidden #left-toolbar{display:none}body.left-toolbar-hidden main{grid-column:1 / 3}body.sketch-hud-hidden #sketch-hud{display:none}body.sketch-mode.sketch-hud-hidden #container{height:100%}#ui-toggle-toolbar{position:absolute;top:12px;left:12px;z-index:70;display:none;flex-direction:column;gap:8px}body.sketch-mode #ui-toggle-toolbar{display:flex}.ui-toggle-btn{width:56px;height:36px;background:var(--bg-panel);border:1px solid var(--panel-border);color:var(--text-muted);border-radius:8px;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:space-between;padding:4px 8px;transition:all .2s ease;box-shadow:var(--shadow);gap:6px}.ui-toggle-btn .shortcut-key-icon{font-family:system-ui,sans-serif;font-size:13px;font-weight:700;color:var(--text-light)}.ui-toggle-btn.active .shortcut-key-icon{color:var(--text-dark)}.ui-toggle-btn svg{width:20px;height:20px;fill:currentColor;flex-shrink:0}.ui-toggle-btn:hover{background:var(--bg-control-hover);color:var(--text-light)}.ui-toggle-btn.active,body.header-hidden #toggleHeaderBtn,body.left-toolbar-hidden #toggleToolbarBtn{background:var(--accent);color:var(--text-dark);border-color:var(--accent-hover)}#mobileResizeBtn{display:none}.mobile-menu-btn{display:none;position:fixed;top:10px;right:10px;z-index:1200;width:44px;height:44px;background:var(--bg-panel);border:1px solid var(--panel-border);color:var(--text-light);border-radius:10px;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);align-items:center;justify-content:center;padding:0}.mobile-menu-btn svg{width:28px;height:28px}.mobile-menu-btn .icon-close,body.mobile-menu-open .mobile-menu-btn .icon-menu{display:none}body.mobile-menu-open .mobile-menu-btn .icon-close{display:block}@media(max-width:767px){.mobile-menu-btn{display:flex}body:not(.mobile-menu-open) header,body:not(.mobile-menu-open) #left-toolbar,body:not(.mobile-menu-open) #floating-panels-container{display:none!important}body:not(.mobile-menu-open) main{grid-column:1 / -1;grid-row:1 / -1;padding:12px;background-color:var(--bg-main);display:flex;flex-direction:column;align-items:center;justify-content:center}body:not(.mobile-menu-open) #container{position:relative;width:100%;height:auto;max-width:50%;max-height:calc(100vh - 200px);aspect-ratio:1 / 1;border-radius:12px;border:1px solid var(--border-light)}body.sketch-mode #container,body.kids-mode #container{height:auto!important;margin-bottom:0!important}#sketch-hud,#kids-hud{position:fixed;bottom:12px;left:12px;right:12px;width:auto;height:auto;background:var(--bg-panel);border-top:1px solid var(--panel-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:var(--shadow-panel);flex-wrap:wrap;justify-content:center;padding:8px;gap:6px}#sketch-hud{padding:8px 10px;gap:8px;flex-direction:row;align-items:center}.sketch-hud-group{flex-direction:row;gap:6px;height:auto;padding:6px;flex-grow:1;align-items:center}.sketch-hud-group .sketch-hud-title{display:none}.sketch-hud-group .control-group{flex-basis:100%;width:100%}.sketch-hud-btn{width:34px;height:34px;font-size:18px}.sketch-hud-group .swatches button{width:26px;height:26px}.sketch-hud-group .control-group label{font-size:16px;min-width:36px}#kids-hud{border-top-left-radius:16px;border-top-right-radius:16px}.kids-hud-divider{display:none}#kids-colors{display:flex;flex-wrap:wrap;gap:6px}.kids-color-swatch{width:30px;height:30px;border-width:2px}.kids-tool-btn,.kids-size-btn{width:40px;height:40px;font-size:20px;box-shadow:0 2px #f9a8d4,0 3px 5px #83184333;border-radius:10px}.kids-tool-btn:hover:not(:disabled),.kids-size-btn:hover{transform:translateY(-1px);box-shadow:0 3px #f9a8d4,0 4px 7px #83184333}.kids-tool-btn:active:not(:disabled),.kids-size-btn:active{transform:translateY(1px);box-shadow:0 1px #f9a8d4,0 2px 4px #83184333}.kids-size-btn{width:32px;height:32px}.kids-tool-group.wide{min-width:160px}#kids-symmetry-slider,#kids-opacity-slider{height:16px}#kids-symmetry-slider::-webkit-slider-thumb,#kids-opacity-slider::-webkit-slider-thumb{width:28px;height:28px}body.mobile-menu-open main{padding:12px}#toggleHeaderBtn,#toggleToolbarBtn,#mobileResizeBtn{display:none}}#welcomeModal .welcome-modal-content{background:var(--bg-main);color:var(--text-light);border:none;text-align:center;max-width:900px;height:auto;padding:48px;position:relative}#welcomeModal .welcome-header{margin-bottom:40px}#welcomeModal .welcome-header h2{font-size:32px;color:var(--text-light);margin:16px 0 8px}#welcomeModal .welcome-header .text-muted{font-size:16px;color:var(--text-muted)}.mode-selection-container{display:flex;gap:24px;justify-content:center}.mode-card{flex:1;background:var(--bg-panel-solid);border:2px solid var(--border-light);border-radius:16px;padding:24px;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);text-align:center;font-family:inherit;color:inherit}.mode-card:hover{transform:translateY(-8px) scale(1.05);border-color:var(--accent);box-shadow:0 10px 20px #83184326}.mode-card .mode-icon{font-size:48px;display:block;margin-bottom:16px;line-height:1}.mode-card img.mode-icon{width:100%;height:120px;object-fit:cover;border-radius:8px;background:var(--bg-control);font-size:inherit}.mode-card h3{font-size:20px;font-weight:700;margin:0 0 8px;color:var(--text-light)}.mode-card p{font-size:14px;color:var(--text-muted);margin:0;line-height:1.4}#selectKidsMode:hover{border-color:#f59e0b}#selectZenMode:hover{border-color:#a855f7}#selectCommunityBtn:hover{border-color:#22c55e}.welcome-language-switcher{position:absolute;top:24px;right:24px;display:flex;gap:4px;background-color:var(--bg-control);border-radius:6px;padding:2px}.welcome-language-switcher .lang-btn{padding:6px 12px}@media(max-width:767px){#welcomeModal .welcome-modal-content{padding:24px;max-width:95vw}.mode-selection-container{flex-direction:column;gap:16px}#welcomeModal .welcome-header h2{font-size:24px}.welcome-language-switcher{top:16px;right:16px}}#loginModal .modal-content{background:#831843;color:#fce7f3;border:1px solid #be185d}#loginModal .modal-header{border-bottom:1px solid #be185d}#loginModal h2{color:#fff}#loginModal .close-btn{color:#f9a8d4}#loginModal .close-btn:hover{color:#fff}#loginModal .text-muted{color:#fbcfe8}#loginModal .mini-input{background-color:#9d174d;border-color:#be185d;color:#fff}#loginModal .mini-input:focus{border-color:#f472b6;box-shadow:0 0 0 2px #fbcfe880}#loginModal .mini-input::placeholder{color:#f9a8d4;opacity:.8}#loginModal .btn{background:#f472b6;color:#500724;border:none}#loginModal .btn:hover:not(:disabled){background:#ec4899}.toolbar-eraser-icon,.kids-eraser-icon{display:block;width:28px;height:28px;background-color:currentColor;-webkit-mask-image:url(https://raw.githubusercontent.com/veilstudio/Mandala/main/eraser.png);mask-image:url(https://raw.githubusercontent.com/veilstudio/Mandala/main/eraser.png);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.clear-all-icon-img{display:block}#clearAllBtn .clear-all-icon-img{width:24px;height:24px}#kids-clear-all-btn .clear-all-icon-img{width:28px;height:28px}
