@font-face{font-family:Fredoka;src:url('/fredoka-semibold.ttf')}*{box-sizing:border-box}body{margin:0;color:#51465f;background:#fcf8f3;font-family:system-ui,sans-serif}header{padding:20px 5%;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e4d8e9;background:#f0e7f5}a{color:#725983}header span,.eyebrow{font-size:12px;letter-spacing:2px}main{max-width:1250px;margin:auto;padding:28px 24px}h1,h2,h3{font-family:Fredoka,system-ui;font-weight:600}h1{font-size:clamp(30px,4vw,48px);margin:8px 0}h2{font-size:28px}p{line-height:1.65}.welcome{max-width:850px;margin-bottom:30px}.zh,.small{font-size:14px;color:#766b80}.characters{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.character{background:white;border:1px solid #e2d5e8;border-radius:24px;padding:18px;text-align:left;box-shadow:0 5px 16px #7864860b}.character img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:15px}.character.coco img{padding:17%}.character h3{font-size:25px;margin:10px 0}.badge{display:inline-block;background:#ece4f5;border-radius:20px;padding:5px 10px;font-size:12px}.character:first-child{border:2px solid #bba7cf}.character p{font-size:14px}.character button{width:100%;background:#e8efff}.studio-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0}.workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:28px;align-items:start}.paper{padding:10px;background:white;border:1px solid #e1d5e8;border-radius:24px;box-shadow:0 10px 30px #78648612}canvas{display:block;width:100%;aspect-ratio:1;border-radius:18px;cursor:crosshair;touch-action:manipulation}aside{background:#fff;border:1px solid #e2d5e8;border-radius:24px;padding:24px}aside h2{margin:8px 0}.guide{background:#fff5db;border-radius:12px;padding:12px;font-size:14px}.palette{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.swatch{padding:0;aspect-ratio:1;border:2px solid #d5cbdc;border-radius:50%}.swatch[aria-pressed=true]{outline:3px solid #725983;outline-offset:3px}.tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}button,select{font:inherit;color:inherit;border:1px solid #d6c7df;background:#f7f0fb;border-radius:12px;padding:11px 15px;cursor:pointer}button:hover{filter:brightness(.97)}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #725983;outline-offset:3px}button:disabled{opacity:.45;cursor:default}select{width:100%;margin:10px 0}details{font-size:14px}summary{cursor:pointer}footer{text-align:center;font-size:13px;padding:40px 0 10px}#status{min-height:26px}[hidden]{display:none!important}@media(max-width:760px){.characters{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:1fr}.studio-top{align-items:start;flex-direction:column}header{font-size:13px}main{padding:20px 14px}}@media(max-width:400px){.characters{grid-template-columns:1fr}}

/* Compact cards keep the choice screen easy to scan. */
.characters{gap:16px}.character{padding:14px;border-radius:20px;display:grid;grid-template-columns:105px 1fr;grid-template-rows:auto auto 1fr auto;gap:4px 14px;align-items:start}.character img{grid-column:1;grid-row:1/5;align-self:center;width:105px;height:145px;object-fit:contain}.character.coco img{padding:12px}.character .badge{grid-column:2;font-size:10px;letter-spacing:.5px;justify-self:start;padding:4px 8px}.character h3{grid-column:2;font-size:21px;margin:3px 0}.character p{grid-column:2;font-size:13px;line-height:1.4;margin:3px 0 9px}.character button{grid-column:2;font-size:13px;padding:9px 10px}.paper{position:relative;overflow:hidden}.fun-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.fun-tools button{font-size:14px;background:#fff1cd}#celebrate{background:#e3f1dd}#celebration{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}#celebration span{position:absolute;top:12%;animation:celebrate-drop 1.6s ease-out both}.save-highlight{outline:3px solid #b5cfa5;outline-offset:3px}@keyframes celebrate-drop{0%{opacity:0;transform:translateY(-30px) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translateY(420px) rotate(180deg)}}@media(max-width:1050px){.characters{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.character{grid-template-columns:80px 1fr;gap:4px 10px;padding:12px}.character img{width:80px;height:130px}.character h3{font-size:19px}.characters{grid-template-columns:1fr 1fr}.character{display:flex;flex-direction:column;align-items:center;text-align:center}.character img{width:100px;height:120px}.character .badge{align-self:center}.character p{flex:1}.character button{margin-top:auto}.fun-tools{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){#celebration span{animation:none}}

.stamp-tools{display:flex;gap:10px}.stamp-tools button{flex:1;padding:10px 8px;background:white;font-size:12px}.stamp-tools svg{display:block;width:38px;height:38px;margin:0 auto 5px;fill:white;stroke:#34313b;stroke-width:3}.stamp-tools button[aria-pressed=true],#fill-mode[aria-pressed=true]{outline:3px solid #bda6ce;outline-offset:2px}#stamp-size{padding:8px;font-size:13px}.paper.stamping canvas{cursor:copy}
