:root{color:#2c2c3e;font-synthesis:none;text-rendering:optimizelegibility;--pink:#ff6b9d;--orange:#ff9f45;--yellow:#ffd93d;--blue:#4d96ff;--purple:#8b5cf6;--cream:#eaf7ff;--paper:#faf6ee;--ink:#263747;--sky:#dff4ff;--slate:#263747;--shadow:0 6px 20px #2c2c3e1f;background:#eaf7ff;font-family:Nunito,Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{background:radial-gradient(circle at 18% 16%,#fffc,#0000 22%),radial-gradient(circle at 82% 38%,#ffffffa6,#0000 26%),linear-gradient(#bfeaff 0,#eaf7ff 48%,#f8fbfd 100%)}button{font:inherit;color:inherit}button:focus-visible{outline-offset:3px;outline:4px solid #005fcc}.sp-gallery{height:100%;padding:clamp(16px,3vw,40px);overflow-y:auto}.sp-gallery-intro{text-align:center;color:var(--slate);margin:0 auto 18px}.sp-gallery-intro h1{color:var(--slate);letter-spacing:-2px;text-shadow:3px 3px #fff,7px 7px #4d96ff33;margin:0;font-size:clamp(38px,7vw,72px);font-weight:900}.sp-gallery-intro p{color:#526b80;margin:5px 0 0;font-size:clamp(16px,2.5vw,22px);font-weight:700}.sp-age-controls,.sp-category-controls{flex-wrap:wrap;justify-content:center;gap:10px;max-width:1100px;margin:0 auto 14px;display:flex}.sp-age-btn{max-width:320px;min-height:82px;color:var(--slate);cursor:pointer;box-shadow:var(--shadow);background:#ffffffc7;border:3px solid #26374726;border-radius:22px;flex-direction:column;flex:210px;justify-content:center;gap:3px;display:flex}.sp-age-btn strong{font-size:23px}.sp-age-btn span{color:#647b8e;font-size:14px;font-weight:700}.sp-age-btn[aria-pressed=true]{color:#fff;background:linear-gradient(145deg,#344b60,#203242);border-color:#fff;box-shadow:0 0 0 4px #65bff2,0 10px 24px #26374738}.sp-age-btn[aria-pressed=true] span{color:#dff4ff}.sp-category-btn{min-height:42px;color:var(--slate);cursor:pointer;background:#ffffffd9;border:2px solid #7fcaf1;border-radius:999px;padding:8px 18px;font-weight:900}.sp-category-btn[aria-pressed=true]{color:#fff;background:#4d96ff;border-color:#2d6fbd}.sp-gallery-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:clamp(14px,2.5vw,28px);max-width:1100px;margin:18px auto 0;display:grid}.sp-gallery-card{min-height:220px;box-shadow:var(--shadow);cursor:pointer;background:#fffc;border:3px solid #ffffffe6;border-radius:28px;flex-direction:column;align-items:center;gap:10px;padding:14px;transition:transform .15s,box-shadow .15s;display:flex}.sp-gallery-card:hover{transform:translateY(-5px)rotate(-.5deg);box-shadow:0 12px 30px #2c2c3e2e}.sp-gallery-card:nth-child(2n):hover{transform:translateY(-5px)rotate(.5deg)}.sp-gallery-mini{aspect-ratio:1;border-radius:18px;width:min(160px,90%);height:auto;box-shadow:inset 0 0 0 2px #2c2c3e0f}.sp-gallery-label{font-size:20px;font-weight:900}.sp-gallery-category{color:#5d7488;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:900}.sp-canvas-view{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 86px;gap:10px;width:100%;height:100%;padding:10px;display:grid;position:relative}.sp-back-to-gallery{z-index:20;background:var(--slate);color:#fff;cursor:pointer;border:3px solid #fff;border-radius:16px;min-width:176px;min-height:52px;padding:10px 18px;font-size:16px;font-weight:900;position:absolute;top:18px;left:18px;box-shadow:0 5px 16px #0000004d}.sp-back-to-gallery:hover{background:#0e2232}.sp-canvas-container{width:100%;min-width:0;height:100%;min-height:0;box-shadow:var(--shadow), inset 0 0 0 2px #ffffffe6;background:var(--paper);touch-action:none;border-radius:24px;position:relative;overflow:hidden}.sp-layer{width:100%;height:100%;position:absolute;inset:0}.sp-paint{z-index:2;touch-action:none;cursor:crosshair}.sp-texture{z-index:1;pointer-events:none}.sp-outline{z-index:3;pointer-events:none}.sp-cursor{z-index:4;pointer-events:none}.sp-tool-rail{box-shadow:var(--shadow);background:#ffffffe6;border-radius:22px;flex-direction:column;grid-area:1/2;align-items:center;gap:6px;padding:8px 4px;display:flex;overflow-y:auto}.sp-completion-group{z-index:2;background:#fffffffa;border-radius:18px;flex:none;align-items:center;gap:8px;padding:6px;display:flex;position:relative;box-shadow:0 -3px 12px #2c2c3e1a}.sp-tool-rail .sp-completion-group{width:100%;box-shadow:none;flex-direction:column;order:-1;padding:4px 0}.sp-tool-rail .sp-completion-group .sp-btn{width:52px;min-width:44px;min-height:40px;padding:2px}.sp-save-btn{background:linear-gradient(145deg,#fff8d8,#fff);border-color:#ff9f4573}.sp-bottom-tray{display:none}.sp-btn,.sp-color-swatch,.sp-size-btn{cursor:pointer;min-width:52px;min-height:52px;color:var(--slate);background:#fff;border:3px solid #0000;border-radius:16px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:900;display:inline-flex;box-shadow:0 2px 8px #2c2c3e1a}.sp-btn:hover,.sp-color-swatch:hover,.sp-size-btn:hover{transform:translateY(-1px)}.sp-btn.sp-active,.sp-selected{box-shadow:0 0 0 3px #005fcc38;border-color:#005fcc!important}.sp-palette-group,.sp-size-group{border-top:2px solid #2c2c3e14;border-bottom:2px solid #2c2c3e14;flex-direction:column;align-items:center;gap:6px;padding:6px 0;display:flex}.sp-tool-rail .sp-palette-group{gap:1px;padding:1px 0}.sp-tool-rail .sp-color-swatch{min-width:34px;min-height:34px}.sp-color-swatch{border-radius:50%;min-width:46px;min-height:46px;box-shadow:0 2px 6px #2c2c3e29,inset 0 0 0 2px #ffffff8c}.sp-size-btn{border-radius:14px;min-width:46px;min-height:46px}.sp-size-dot{background:var(--ink);border-radius:50%;display:block}.sp-status{z-index:100;color:#fff;pointer-events:none;background:#2c2c3ed1;border-radius:12px;max-width:min(90vw,640px);min-height:1px;padding:4px 12px;font-size:13px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=700px),(orientation:portrait) and (width<=900px){.sp-canvas-view{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;gap:6px;padding:6px}.sp-canvas-container{border-radius:18px;grid-area:1/1}.sp-back-to-gallery{min-width:164px;min-height:48px;padding:8px 13px;font-size:15px;top:12px;left:12px}.sp-tool-rail{display:none!important}.sp-bottom-tray{box-shadow:var(--shadow);background:#fffffff0;border-radius:18px;flex-direction:row;grid-area:2/1;align-items:center;gap:7px;min-height:66px;padding:7px;overflow-x:auto;display:flex!important}.sp-bottom-tray .sp-completion-group{flex-direction:row;order:-1;margin-right:2px;left:0;box-shadow:3px 0 12px #2c2c3e1f}.sp-bottom-tray .sp-palette-group{border:0;flex-direction:row;gap:6px;padding:0}.sp-bottom-tray .sp-size-group{border:0;flex-direction:row;flex:none;gap:6px;padding:0}.sp-bottom-tray .sp-size-btn,.sp-btn,.sp-bottom-tray .sp-color-swatch{min-width:50px;min-height:50px}.sp-gallery{padding:14px}.sp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.sp-gallery-card{border-radius:20px;min-height:170px;padding:10px}.sp-gallery-label{font-size:16px}.sp-age-controls{gap:7px}.sp-age-btn{flex-basis:100px;min-height:68px;padding:6px}.sp-age-btn strong{font-size:17px}.sp-age-btn span{font-size:11px}.sp-status{bottom:78px}}@media (width<=380px){.sp-gallery-grid{grid-template-columns:1fr 1fr;gap:8px}.sp-gallery-card{min-height:150px}.sp-gallery-label{font-size:14px}}@media (height<=500px) and (orientation:landscape){.sp-canvas-view{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) 72px}.sp-tool-rail{grid-area:1/2;display:flex!important}.sp-bottom-tray{display:none!important}.sp-btn,.sp-color-swatch,.sp-size-btn{min-width:46px;min-height:46px}.sp-status{bottom:4px}}:root.sp-reduced-motion *,:root.sp-reduced-motion :before,:root.sp-reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.sp-btn,.sp-color-swatch,.sp-size-btn,.sp-gallery-card{border:2px solid buttontext}.sp-selected,.sp-active{outline:3px solid highlight}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
