:root{font-family:Nunito,Avenir Next,Avenir,system-ui,sans-serif;color:#263149;background:#fff9ed;font-synthesis:none;--ink: #25304a;--navy: #244b78;--cream: #fff9ed;--paper: #fffdf8;--coral: #f87370}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 18%,#fff2d8 0 2px,transparent 3px),var(--cream)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}.app-shell{min-height:100vh;overflow:hidden}.topbar{height:82px;display:grid;grid-template-columns:1fr minmax(240px,390px) 1fr;align-items:center;gap:32px;padding:0 max(32px,5vw);border-bottom:1px solid #eadfca;background:#fffdf8d6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.journey{display:flex;align-items:center;gap:14px}.journey-copy{display:flex;gap:8px;align-items:baseline;white-space:nowrap;font-size:12px;color:#767b88}.journey-copy strong{color:var(--navy)}.journey-track{flex:1;height:8px;border-radius:99px;background:#e9e3d8;overflow:hidden}.journey-track span{display:block;width:20%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f87370,#f59c68);transition:width .5s cubic-bezier(.2,.8,.3,1)}.sound-button{justify-self:end;display:grid;place-items:center;width:42px;height:42px;border:1px solid #e4dac9;border-radius:50%;color:var(--navy);background:#fff;cursor:pointer;transition:.2s ease}.sound-button:hover{transform:translateY(-2px);box-shadow:0 5px 12px #cbbfa744}.icon,.tool-icon svg,.reset-button svg{width:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.game{width:min(1120px,calc(100% - 40px));margin:0 auto;padding:34px 0 28px}.intro{text-align:center;margin-bottom:24px}.eyebrow{display:inline-flex;padding:7px 13px;border-radius:99px;color:#c55b55;background:#ffe2dc;font-size:11px;letter-spacing:.1em;font-weight:800}h1{margin:9px 0 0;color:var(--navy);font-family:Arial Rounded MT Bold,Trebuchet MS,sans-serif;font-size:clamp(34px,4vw,48px);line-height:1;letter-spacing:-.025em}.intro p{margin:7px 0 0;color:#6f7480;font-size:15px}.workspace{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:start;gap:16px}.tools-panel,.canvas-card{border:1px solid #eadfcd;background:#ffffffb8;box-shadow:0 16px 45px #53402614}.tools-panel{position:relative;z-index:3;display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:14px 10px;border-radius:25px}.tools-title{margin:3px 0 5px;text-align:center;text-transform:uppercase;font-size:9px;letter-spacing:.12em;font-weight:800;color:#8f8d89}.tool{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 4px 7px;border:0;border-radius:16px;color:#7b7c82;background:transparent;font-size:11px;font-weight:800;cursor:pointer;transition:.18s ease}.tool:hover:not(:disabled){background:#fff3e9;color:var(--navy)}.tool.active{color:#c95352;background:#ffe2dc;box-shadow:inset 0 0 0 1px #ffcfc7}.tool:disabled{opacity:.35;cursor:not-allowed}.tool-icon{display:grid;place-items:center;width:34px;height:30px}.tool-icon svg{width:25px;height:25px}.tool-divider{height:1px;margin:3px 10px;background:#e9e1d5}.canvas-card{border-radius:30px;overflow:hidden}.canvas-topline{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px 0 24px;color:#85827d;font-size:12px;font-weight:700;border-bottom:1px solid #ece4d8}.reset-button{display:flex;align-items:center;gap:6px;border:0;color:#777a80;background:transparent;font-size:11px;font-weight:800;cursor:pointer}.reset-button:hover{color:#c95352}.reset-button svg{width:16px}.artboard{position:relative;display:grid;place-items:center;height:min(48vh,480px);min-height:350px;overflow:hidden;background-color:var(--paper);background-image:linear-gradient(#eee7da 1px,transparent 1px),linear-gradient(90deg,#eee7da 1px,transparent 1px);background-size:28px 28px}.artboard:before{content:"";position:absolute;width:430px;aspect-ratio:1;border-radius:50%;background:#fff3da;opacity:.75}.coloring-canvas{position:relative;z-index:2;display:block;width:auto;height:auto;max-width:min(82vw,900px);max-height:92%;filter:drop-shadow(0 12px 7px rgba(68,49,36,.12));cursor:crosshair}.coloring-canvas.pop{animation:canvas-pop .32s ease}.color-zone{fill:#fffdfa;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath fill='%23F87370' stroke='%2325304a' stroke-width='2' d='m7 23 4 2 15-15-4-4L7 21v2Z'/%3E%3Cpath fill='%23fff' d='m7 21 4 4-6 2 2-6Z'/%3E%3C/svg%3E") 3 28,pointer;transition:fill .2s ease,filter .2s ease}.color-zone:hover{filter:brightness(.97)}.color-zone.pop{animation:zone-pop .34s ease;transform-origin:center;transform-box:fill-box}.outline path:not(.face-eye):not(.face-mouth):not(.shine){fill:none;stroke:var(--ink);stroke-width:10;stroke-linecap:round;stroke-linejoin:round}.outline .face-eye,.outline .face-mouth{fill:none;stroke:var(--ink);stroke-width:7;stroke-linecap:round}.outline .cheek{fill:#f69b9b;stroke:none;opacity:.7}.outline .shine{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;opacity:.9}.anatomy-notes path{fill:none;stroke:#55719c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.anatomy-notes text{fill:#55719c;font-size:14px;font-weight:800}.anatomy-notes g{opacity:.18;transition:opacity .3s ease,transform .3s cubic-bezier(.2,.9,.3,1.3);transform-origin:center}.anatomy-notes g.revealed{opacity:1;animation:label-bounce .45s ease}.doodle{position:absolute;z-index:1;color:#e1ae61;font-family:Arial Rounded MT Bold,sans-serif;font-weight:800}.doodle-one{top:25%;left:16%;font-size:30px;transform:rotate(-12deg)}.doodle-two{right:17%;top:20%;font-size:38px}.doodle-three{right:19%;bottom:20%;font-size:44px;transform:rotate(-18deg)}.palette-area{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:22px;min-height:98px;padding:15px 28px;border-top:1px solid #ece4d8;background:#fff}.palette-label{display:flex;flex-direction:column;gap:2px}.palette-label strong{color:var(--navy);font-family:Arial Rounded MT Bold,Trebuchet MS,sans-serif;font-size:17px}.palette-label span{color:#92908d;font-size:11px}.palette{display:flex;justify-content:space-between;gap:clamp(9px,2vw,20px)}.swatch{position:relative;flex:0 1 52px;aspect-ratio:1;max-width:52px;min-width:34px;border:5px solid white;border-radius:50%;background:var(--color);box-shadow:0 0 0 1px #ddd5ca,inset 0 -4px #00000014;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.swatch:hover{transform:translateY(-4px) scale(1.05)}.swatch.selected{transform:translateY(-5px) scale(1.08);box-shadow:0 0 0 3px var(--ink),inset 0 -4px #00000014,0 7px 10px #272f4333}.swatch.selected:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:18px;font-weight:900;text-shadow:0 1px 2px #0006}.helper{margin:15px 0 0 120px;text-align:center;color:#888783;font-size:11px;font-weight:700}.helper span{margin-right:5px}.celebration{position:absolute;z-index:4;display:flex;flex-direction:column;align-items:center;padding:18px 34px;border:2px solid #f5c66a;border-radius:24px;background:#fffaf0ef;box-shadow:0 18px 50px #7c5f3150;opacity:0;pointer-events:none;transform:scale(.7) rotate(-3deg);transition:.35s cubic-bezier(.2,.9,.3,1.3)}.celebration.show{opacity:1;transform:scale(1) rotate(-3deg)}.celebration span{color:#f5b83e;font-size:32px}.celebration strong{color:var(--navy);font-family:Arial Rounded MT Bold,Trebuchet MS,sans-serif;font-size:28px;line-height:1}.celebration small{color:#777;font-weight:800}@keyframes zone-pop{50%{transform:scale(1.045)}}@keyframes canvas-pop{50%{filter:drop-shadow(0 12px 7px rgba(68,49,36,.12)) brightness(1.05)}}@keyframes label-bounce{50%{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}@media(max-width:720px){.topbar{height:68px;grid-template-columns:1fr auto;padding:0 18px}.journey{display:none}.game{width:min(100% - 20px,560px);padding-top:24px}.intro{margin-bottom:18px}.intro p{font-size:13px}.workspace{display:flex;flex-direction:column-reverse;gap:10px}.tools-panel{width:100%;flex-direction:row;justify-content:center;padding:7px;border-radius:20px}.tools-title,.tool-divider{display:none}.tool{flex:1;max-width:110px;flex-direction:row;justify-content:center;padding:8px 6px}.tool-icon{width:27px}.tool-icon svg{width:21px}.canvas-card{border-radius:24px}.canvas-topline{height:46px;padding:0 14px}.artboard{height:43vh;min-height:310px}.coloring-canvas{width:auto;height:auto;max-width:94%;max-height:78%}.anatomy-notes text{font-size:16px}.doodle-one{left:5%}.doodle-two,.doodle-three{right:6%}.palette-area{grid-template-columns:1fr;gap:9px;padding:12px 15px 16px}.palette-label{flex-direction:row;align-items:baseline;justify-content:space-between}.palette{gap:5px}.swatch{border-width:3px;min-width:29px}.helper{margin-left:0}}@media(max-height:700px)and (min-width:721px){.game{padding-top:20px}.intro{margin-bottom:14px}.artboard{height:390px}}html,body{height:100%;overflow:hidden}.app-shell{height:100dvh;min-height:560px;display:flex;flex-direction:column}.topbar{position:relative;z-index:20;flex:0 0 76px;height:76px}.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}.header-button{display:flex;align-items:center;gap:7px;min-height:42px;padding:0 14px;border:1px solid #e4dac9;border-radius:99px;color:var(--navy);background:#fff;font-size:11px;font-weight:800;cursor:pointer;transition:.2s ease}.header-button:hover,.sound-button:hover{transform:translateY(-2px);box-shadow:0 5px 12px #cbbfa744}.header-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.game{flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:0 0 92px;display:flex;flex-direction:column}.intro{position:relative;z-index:5;flex:0 0 auto;margin:0;padding:13px 20px 11px;background:#fff9ede6;border-bottom:1px solid #eadfca}.eyebrow{padding:4px 10px;font-size:9px}h1{margin-top:4px;font-size:clamp(26px,3vw,36px)}.intro p{margin-top:3px;font-size:12px}.workspace{position:relative;flex:1;min-height:0;display:block}.tools-panel{position:absolute;z-index:12;left:22px;top:50%;width:108px;max-height:calc(100% - 32px);transform:translateY(-50%);padding:10px 8px;gap:3px;border:1px solid #e6dac5;border-radius:24px;background:#fffdf8eb;box-shadow:0 14px 32px #49361f29;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tools-title{margin:2px 0 4px;padding-left:.06em;letter-spacing:.06em;white-space:nowrap}.tool{padding:7px 4px 6px}.tool-icon{height:26px}.tool-icon svg{width:22px;height:22px}.tool-divider{margin:1px 10px}.canvas-card{position:absolute;inset:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.canvas-topline{position:absolute;z-index:8;top:14px;left:50%;width:auto;height:auto;min-height:32px;transform:translate(-50%);padding:7px 15px;border:1px solid #e8dece;border-radius:99px;color:#727681;background:#fffdf8e0;box-shadow:0 5px 16px #48351d1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap}.artboard{width:100%;height:100%;min-height:0;overflow:hidden;cursor:default;touch-action:none;background-color:var(--paper);background-size:32px 32px}.artboard:before{width:min(55vw,590px);pointer-events:none}.artboard.pan-mode{cursor:grab}.artboard.pan-mode.dragging{cursor:grabbing}.canvas-stage{position:absolute;inset:0;display:grid;place-items:center;will-change:transform;transform-origin:center center;transition:transform .18s ease-out;touch-action:none}.canvas-stage.dragging,.canvas-stage.pinching{transition:none}.doodle{pointer-events:none}.zoom-panel{position:absolute;z-index:12;right:22px;bottom:22px;display:flex;flex-direction:column;gap:7px;padding:8px;border:1px solid #e3d7c4;border-radius:20px;background:#fffdf8eb;box-shadow:0 12px 28px #49361f29;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.zoom-panel button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:13px;color:var(--navy);background:transparent;cursor:pointer;transition:.18s ease}.zoom-panel button:hover{color:#c95352;background:#ffe7df;transform:scale(1.05)}.zoom-panel button:active{transform:scale(.94)}.zoom-panel svg{width:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.zoom-status{position:absolute;z-index:10;right:84px;bottom:31px;min-width:54px;padding:6px 9px;border-radius:99px;color:#687083;background:#ffffffdb;font-size:11px;font-weight:800;text-align:center;pointer-events:none}.palette-area{position:fixed;z-index:30;left:0;right:0;bottom:0;display:flex;justify-content:center;min-height:92px;padding:13px max(22px,env(safe-area-inset-right)) calc(13px + env(safe-area-inset-bottom));border:0;border-top:1px solid #ded4c4;background:#fffdf8f5;box-shadow:0 -10px 30px #46341f1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.palette-label{display:none}.palette{width:min(740px,100%);justify-content:center;gap:clamp(12px,2.2vw,26px)}.swatch{flex:0 1 62px;width:clamp(44px,6.3vh,62px);max-width:62px;min-width:42px;border-width:5px}.helper{display:none}@media(max-width:720px){.app-shell{min-height:500px}.topbar{flex-basis:64px;height:64px;padding:0 14px}.header-button{width:40px;padding:0;justify-content:center}.header-button span{display:none}.game{width:100%;padding:0 0 78px}.intro{margin:0;padding:8px 12px 7px}.eyebrow{display:none}h1{margin:0;font-size:25px}.intro p{margin-top:2px;font-size:11px}.workspace{display:block}.tools-panel{left:10px;top:12px;width:auto;max-width:calc(100% - 90px);height:58px;transform:none;flex-direction:row;justify-content:flex-start;padding:6px;border-radius:18px}.tools-title,.tool-divider{display:none}.tool{flex:0 0 auto;width:54px;flex-direction:column;gap:0;padding:3px 4px;font-size:9px}.tool-icon{width:25px;height:27px}.canvas-card{border-radius:0}.canvas-topline{top:78px;max-width:calc(100% - 30px);overflow:hidden;text-overflow:ellipsis;font-size:10px}.artboard{height:100%;min-height:0}.anatomy-notes text{font-size:16px}.zoom-panel{right:10px;bottom:10px;gap:4px;padding:6px;border-radius:17px}.zoom-panel button{width:38px;height:38px}.zoom-status{right:62px;bottom:17px}.palette-area{min-height:78px;padding:11px 10px calc(11px + env(safe-area-inset-bottom))}.palette{gap:clamp(5px,1.8vw,12px)}.swatch{width:clamp(34px,10vw,48px);min-width:32px;border-width:3px}}@media(max-height:620px)and (min-width:721px){.topbar{flex-basis:62px;height:62px}.intro{padding-block:6px}.intro .eyebrow,.intro p{display:none}h1{margin:0;font-size:27px}.game{padding-bottom:74px}.palette-area{min-height:74px;padding-block:8px}.swatch{max-width:50px}.tools-panel{transform:translateY(-50%) scale(.9)}}.palette{width:min(1200px,100%);gap:clamp(5px,.8vw,14px)}.swatch{flex:0 0 auto;width:clamp(28px,4vw,50px);min-width:0;max-width:50px;border-width:4px}@media(max-width:720px){.game{padding-bottom:122px}.palette{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;justify-items:center}.swatch{width:100%;max-width:44px;border-width:3px}.swatch.selected:after{font-size:14px}}.app-shell{position:relative;min-height:500px}.status-overlay{position:absolute;inset:0;z-index:60;display:grid;place-items:center;padding:20px;background:#fff9ede0;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s}.status-overlay.show{opacity:1;visibility:visible}.status-card{display:flex;flex-direction:column;align-items:center;gap:8px;width:min(420px,100%);padding:28px 26px 24px;border:1px solid #eadfcd;border-radius:26px;text-align:center;background:#fffdf8;box-shadow:0 18px 50px #53402629}.status-card strong{color:var(--navy);font-family:Arial Rounded MT Bold,Trebuchet MS,sans-serif;font-size:22px;line-height:1.15}.status-card p{margin:0;color:#6f6c68;font-size:14px;line-height:1.45}.status-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:4px;border-radius:50%;color:#fff;font-size:26px;font-weight:900}.status-overlay[data-kind=loading] .status-icon{border:5px solid #f3e2c8;border-top-color:#f87370;animation:status-spin .9s linear infinite}.status-overlay[data-kind=error] .status-icon{background:#e5484d}.status-overlay[data-kind=success] .status-icon{background:#f5b83e}.status-overlay[data-kind=info] .status-icon{background:#3f9e6a}.status-button,.done-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 22px;border:0;border-radius:99px;color:#fff;background:#f87370;box-shadow:0 4px #e55d5e;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.status-button{margin-top:10px}.status-button:hover:not(:disabled),.done-button:hover{transform:translateY(-2px)}.status-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.done-button{position:absolute;z-index:13;right:22px;top:22px}.done-button[hidden],.status-button[hidden],#fullscreenButton[hidden]{display:none}.done-button svg{width:18px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}@keyframes status-spin{to{transform:rotate(360deg)}}@media(max-width:720px){.done-button{inset:auto auto 14px 12px}}.swatch[data-name=Hueso].selected:after{color:var(--ink);text-shadow:none}
