@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Nunito:wght@600;700;800;900&display=swap');
:root{--ink:#303c46;--muted:#6c7480;--cream:#fff9ed;--blue:#3067d1}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream)}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #3067d1;outline-offset:4px}[hidden]{display:none!important}h1,h2,h3{font-family:Nunito,sans-serif}button{color:inherit}button:disabled{opacity:.35;cursor:default}.screen{max-width:1150px;margin:auto;padding:48px 32px}.home{position:relative}.little-label{font-size:10px;font-weight:700;letter-spacing:2px;color:#897254}.welcome{margin:6px 0 30px}.welcome h1{font-size:48px;line-height:1.2;letter-spacing:-1.6px;margin:10px 0}.welcome h1 span{color:#dc684e}.welcome h1 svg{height:44px;width:44px;margin-left:10px;vertical-align:middle;transform:rotate(12deg)}.welcome p,.subtext{margin:8px 0;color:var(--muted);font-size:16px}.sound{border:1px solid #deded7;background:#fffdf7;border-radius:15px;min-width:46px;min-height:46px;font-size:21px;display:grid;place-items:center;padding:8px}.corner{position:absolute;right:32px;top:44px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.category-card,.drawing-card{border:0;border-radius:23px;overflow:hidden;background:var(--card);padding:12px;box-shadow:0 5px 0 color-mix(in srgb,var(--card),#333 13%);text-align:left;transition:transform .18s}.category-card:hover,.drawing-card:hover{transform:translateY(-4px)}.category-image{aspect-ratio:1.32;overflow:hidden;border-radius:15px;background:white;display:grid;place-items:center;position:relative}.category-image img{width:100%;height:100%;object-fit:cover;display:block}.category-image .placeholder{font-size:64px}.card-caption{display:flex;align-items:center;justify-content:space-between;padding:13px 4px 5px;gap:6px}.card-caption strong{font:900 21px/1.15 Nunito,sans-serif;color:#273239}.card-caption small{font-size:11px;display:block;margin-top:5px;color:#3d484d}.card-arrow{background:#ffffff9c;border-radius:50%;height:31px;width:31px;display:grid;place-items:center;flex-shrink:0;font-size:20px}.home-note{font-size:13px;color:#7d7468;text-align:center;margin:35px 0 5px}.home-note span{display:block;margin-top:9px;font-size:11px;color:#a08a77}.loading-note{text-align:center;color:#8c7969;font-size:12px}.gallery-top{display:flex;justify-content:space-between;align-items:center}.plain-button{border:0;background:none;padding:12px 0;font-weight:700;font-size:14px;color:#5f6d79;min-height:46px}.gallery h1{font-size:38px;margin:25px 0 4px;letter-spacing:-1px}#category-tabs{display:flex;overflow:auto;gap:8px;margin:24px 0;padding:3px 3px 8px;scrollbar-width:thin}#category-tabs button{border:1px solid #deded7;background:white;min-height:43px;padding:9px 14px;border-radius:24px;white-space:nowrap;font-size:12px;font-weight:700}#category-tabs button[aria-pressed=true]{border-color:var(--ink);background:#fce2a0}.drawing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.drawing-card{background:#fff;border:1px solid #e9e3d9;box-shadow:0 4px 0 #e9e3d9}.drawing-card .category-image{aspect-ratio:1}.drawing-card .card-caption strong{font-size:18px}.drawing-card .card-caption small{font-size:11px}.drawing-card .card-arrow{background:#ffdd78}.editor{height:100svh;height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;background:#e9efef;max-width:1600px;margin:auto}.editor-top{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));background:#fffdf7;border-bottom:1px solid #e3e6e1}.editor-top>div{text-align:center;min-width:0}.editor-top strong{display:block;font:900 17px Nunito,sans-serif}.editor-top small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.back-button{background:white;border:1px solid #dddeda;border-radius:14px;min-height:44px;padding:8px 12px;font-size:18px;display:flex;gap:7px;align-items:center}.back-button span{font-size:12px;font-weight:700}.editor .sound{min-height:44px;min-width:44px;font-size:19px}.encouragement{text-align:center;font:800 13px Nunito,sans-serif;background:#fff4cf;padding:7px 12px;color:#7d5d26;min-height:32px}.stage{display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0;position:relative;background:#f2f5f4;padding:5px}.stage canvas{display:block;background:#fff;box-shadow:0 2px 15px #263e4212;touch-action:manipulation;cursor:crosshair;max-width:100%;max-height:100%;outline:none;user-select:none;-webkit-user-select:none}.drawing-loading{position:absolute;inset:0;display:grid;place-items:center;background:#f2f5f4;font-size:14px}.drawing-loading.error{padding:20px;text-align:center}.editor-tools{background:white;display:flex;align-items:center;justify-content:center;gap:24px;border-top:1px solid #e3e6e1;padding:2px 12px}.editor-tools button{background:none;border:0;min-height:42px;padding:6px 12px;display:flex;gap:6px;align-items:center;color:#526672;font-size:23px}.editor-tools span{font-size:12px;font-weight:600}.color-tray{background:#fffdf7;border-top:1px solid #e9e8df;padding:10px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.tray-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#77818b;max-width:760px;margin:0 auto 10px}.tray-title strong{color:#34434d;font-size:12px}.color-grid{max-width:760px;margin:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px}.color-button{aspect-ratio:1;width:100%;max-width:54px;min-height:44px;background:var(--swatch);border:3px solid #0000000c;border-radius:50%;box-shadow:inset 0 -3px 0 #0000000b;position:relative;justify-self:center}.color-button[aria-pressed=true]{outline:3px solid #34434d;outline-offset:3px}.color-button[aria-pressed=true]:after{content:'✓';font-size:25px;font-weight:800;color:var(--check,#fff);position:absolute;inset:0;display:grid;place-items:center}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#303c46;color:white;padding:12px 20px;border-radius:14px;z-index:10;font-size:13px;max-width:90%;text-align:center}#sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.sparkle{position:absolute;font-size:25px;animation:celebrate .85s ease-out forwards}@keyframes celebrate{from{opacity:1;transform:translateY(0) scale(.6)}to{opacity:0;transform:translateY(-80px) rotate(20deg) scale(1.4)}}@media(max-width:700px){.screen{padding:28px 16px}.corner{top:22px;right:16px}.welcome{margin:8px 0 25px;padding-right:30px}.little-label{font-size:8px;letter-spacing:1.3px}.welcome h1{font-size:35px;margin:10px 0 7px}.welcome h1 svg{width:30px;height:30px;margin-left:4px}.welcome p{font-size:14px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}.category-card{padding:8px;border-radius:18px;box-shadow:0 4px 0 color-mix(in srgb,var(--card),#333 13%)}.category-image{aspect-ratio:1.05;border-radius:12px}.card-caption{padding:10px 2px 3px;gap:4px}.card-caption strong{font-size:18px}.card-caption small{font-size:10px;margin-top:5px}.card-arrow{width:24px;height:24px;font-size:16px}.home-note{font-size:11px;margin-top:30px;line-height:1.6}.gallery h1{font-size:30px;margin-top:20px}.subtext{font-size:13px}.drawing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 12px}.drawing-card{padding:7px;border-radius:17px}.drawing-card .card-caption strong{font-size:16px}.drawing-card .card-caption small{font-size:10px}.drawing-card:last-child{grid-column:1/-1;max-width:calc(50% - 6px)}.editor-top strong{font-size:15px}.editor-top{padding-top:max(7px,env(safe-area-inset-top));padding-bottom:7px}.color-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:11px 10px;max-width:470px}.color-button{max-width:47px;min-height:44px}.color-tray{padding:9px 14px max(12px,env(safe-area-inset-bottom))}.tray-title{font-size:10px;margin-bottom:10px}.color-button[aria-pressed=true]{outline-width:2px;outline-offset:2px}.stage{padding:0}.editor-tools{gap:15px}.encouragement{font-size:12px;min-height:30px;padding:6px 10px}.home .sound{min-width:40px;min-height:40px;font-size:18px}}
@media(max-width:350px){.screen{padding-left:12px;padding-right:12px}.welcome h1{font-size:30px}.welcome h1 svg{display:none}.card-caption strong{font-size:16px}.card-arrow{display:none}.color-grid{gap:10px 7px}.color-tray{padding-left:10px;padding-right:10px}.editor-top strong{font-size:13px}.editor-top small{font-size:9px}.back-button{padding:7px 9px}.back-button span{font-size:10px}.color-button{max-width:44px}.editor-tools{gap:6px}}
@media(orientation:landscape) and (max-height:520px){.editor{grid-template-columns:minmax(0,1fr) 186px;grid-template-rows:48px minmax(0,1fr) 40px}.editor-top{grid-column:1/-1;padding:4px 10px}.encouragement{display:none}.stage{grid-column:1;grid-row:2}.editor-tools{grid-column:1;grid-row:3}.color-tray{grid-column:2;grid-row:2/4;border-left:1px solid #e9e8df;padding:10px;display:flex;flex-direction:column;justify-content:center}.tray-title{display:block;text-align:center;margin-bottom:13px}.tray-title>span{display:none}.color-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px 8px;width:100%}.color-button{min-height:40px;max-width:42px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
