@font-face{font-family:Round;src:url('../assets/kitty-round-mobile.woff2') format('woff2');font-display:swap}:root{font-family:Round,'Arial Rounded MT Bold',system-ui,sans-serif;color:#563a2e;background:#f5c6b6;font-synthesis:weight}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;justify-content:center;align-items:center;flex-direction:column}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,[role=button]:focus-visible{outline:3px dashed #ae7390;outline-offset:3px}button:disabled{cursor:default;opacity:.55}[hidden]{display:none!important}.orientation{display:none}.app{position:relative;isolation:isolate;width:min(100%,1600px);aspect-ratio:1586/992;container-type:inline-size;overflow:hidden}.background{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.receipt{position:absolute;left:6.15%;top:7.8%;width:12%;transform:rotate(-4deg)}.receipt h2{font-size:2.4cqw;line-height:1.15;margin:0 0 1.4cqw}.receipt button{background:none;border:0;font-size:1.65cqw;padding:0;text-align:left;white-space:nowrap}.receipt p{font-size:1.4cqw;margin:.5cqw 0}.receipt small{font-size:1cqw;font-weight:700}.order-cake{position:absolute;left:16.9%;top:6.65%;width:8.1%;height:13.4%;pointer-events:none}.progress{position:absolute;left:80.1%;top:8.6%;width:10%;font-size:2.2cqw;text-align:center}.sound{position:absolute;left:92.7%;top:4.8%;width:4.4%;height:6.8%;background:none;border:0;font-size:3.2cqw}.mode-menu{position:absolute;left:80.2%;top:17.5%;width:12%;border:1.5px solid #9b8068;background:#fff7e3;border-radius:1.4cqw;padding:.35cqw .5cqw;font-size:1.25cqw;font-weight:700}.stages{position:absolute;left:30.3%;top:16.15%;width:47%;height:5.55%;display:flex;gap:.8cqw;pointer-events:none}.stages span{width:32.7%;font-size:1.8cqw;display:flex;justify-content:center;align-items:center;border-radius:2cqw;transition:box-shadow .15s}.stages span.active{box-shadow:0 0 0 .2cqw #ad8058,inset 0 0 0 .25cqw #fff7e266}.task{position:absolute;left:12.5%;top:26.1%;width:28.5%;font-size:2.45cqw;line-height:1.3;margin:0;white-space:nowrap}.listen{position:absolute;left:41.6%;top:26.2%;width:12.5%;height:5.3%;background:none;border:0;font-size:1.8cqw;padding:0}.staff{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.staff [data-slot]{pointer-events:all;cursor:pointer;touch-action:none;outline:none}.staff .slot-surface{fill:transparent}.staff .empty-ring{fill:#fffaf0cc;stroke:#ae8053;stroke-width:2.5;stroke-dasharray:7 6}.staff .slot-label{fill:#92705a;font-family:Round,system-ui;font-size:19px;font-weight:700;text-anchor:middle}.staff .slot.selected .empty-ring,.staff .slot:focus-visible .empty-ring{stroke:#b17d9e;stroke-width:4}.staff .slot.wrong .note-halo{fill:#fa8f8d55;stroke:#cf7966;stroke-width:2}.staff .note-halo{fill:transparent;stroke:none}.staff .slot.playing .note-halo{fill:#ffe6a5aa;stroke:#bf9355;stroke-width:2}.staff .slot.correct .note-halo{fill:#d2e4b055}.staff .ledger{stroke:#604632;stroke-width:4;stroke-linecap:round}.staff .slot.hit-target .empty-ring{fill:#f7dfb3;stroke-width:4}.instruction{position:absolute;left:19.5%;top:55.1%;width:44%;text-align:center;font-size:1.4cqw;font-weight:700;line-height:1.3;margin:0;min-height:2em;color:#956445}.instruction.error{color:#a75c4c}.instruction.success{color:#5d7f4e}.ingredients{position:absolute;left:22.3%;top:62.1%;width:34.4%;height:16.6%;display:flex;gap:1.2cqw}.ingredient{background:none;border:0;width:32%;height:100%;padding:.5cqw .1cqw;display:flex;align-items:center;justify-content:center;flex-direction:column;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border-radius:1.6cqw}.ingredient svg{width:7.1cqw;height:6.8cqw;pointer-events:none;overflow:visible}.ingredient strong{font-size:2.2cqw;line-height:1.2;pointer-events:none}.ingredient[aria-pressed=true]{outline:.22cqw dashed #b57b59;outline-offset:-.5cqw;background:#ffe9b322}.ingredient:active{cursor:grabbing}.speech{position:absolute;left:79.6%;top:28.2%;width:16.3%;height:5%;font-size:1.7cqw;line-height:1.2;margin:0;text-align:center;display:flex;justify-content:center;align-items:center}.bake,.reset{position:absolute;top:72.2%;height:7.7%;background:none;border:0;border-radius:3cqw;padding:0;font-size:2.4cqw}.bake{left:62.3%;width:19.4%}.reset{left:83%;width:12.6%;font-size:2.1cqw}.your-melody,.help{position:absolute;border:1.4px solid #ae8b6e;border-radius:1.2cqw;background:#fff8e8;font-weight:700;font-size:1.05cqw;padding:.3cqw .7cqw}.your-melody{left:67%;top:82%;}.help{left:55.8%;top:28%}.collection{position:absolute;left:59.4%;top:89.2%;width:17%;font-size:1.3cqw;font-weight:700;text-align:center;margin:0;line-height:1.35}.plate-cake{position:absolute;left:47.5%;top:87.5%;width:7.8%;height:8.3%;pointer-events:none}.plate-cake svg,.oven-cake svg{width:100%;height:100%;overflow:visible}.oven-cake{position:absolute;left:85.6%;top:58.7%;width:6.4%;height:7.4%;pointer-events:none}.oven-glow{position:absolute;left:83.4%;top:55.9%;width:11.8%;height:10.9%;pointer-events:none;border-radius:1.4cqw;opacity:0;background:#ffd77277;mix-blend-mode:screen}.app[data-phase=baking] .oven-glow{animation:warm .6s ease-in-out infinite alternate}.app[data-phase=success] .oven-glow{opacity:.35}.app[data-phase=success] .plate-cake{animation:pop .6s ease-out}.app[data-mode=low] .mode-menu{background:#e2ecd8}.app[data-mode=low] .background{background:#e5ead9}dialog{border:2px solid #70533d;background:#fff8e8;border-radius:23px;padding:30px;width:min(760px,calc(100vw - 30px));color:#604634;max-height:90svh;overflow:auto;font-size:18px;box-shadow:0 10px 40px #63432e22}dialog::backdrop{background:#71554066}dialog h2{margin:8px 0 12px;font-size:28px}dialog p{font-size:18px;line-height:1.6}dialog .close{position:absolute;right:10px;top:7px;border:0;background:none;font-size:28px;padding:0 8px}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.mode-cards button{border:2px solid #8b6c56;border-radius:22px 18px 24px 19px;background:#f6d6ce;padding:20px 12px;display:grid;justify-items:center;gap:10px;box-shadow:inset 0 0 0 4px #fff9e977}.mode-cards button[data-mode=low]{background:#dfe9d3}.mode-icon{font-size:56px;line-height:1;font-family:'Apple Symbols','Segoe UI Symbol',serif}.mode-cards strong{font-size:25px}.mode-cards span:not(.mode-icon){font-size:16px}.mode-cards small{font-size:16px}.small{font-size:16px!important;color:#987557}.recipes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.recipes button{border:1.5px solid #bc9875;border-radius:14px;background:#fff2d7;padding:15px;font-size:20px;text-align:left}.recipes button.done{background:#e4edcf}.recipes small{display:block;font-size:15px;color:#8d6b52;margin-top:5px}.coral{border:1.5px solid #865d48;border-radius:25px;background:#f4ae9e;padding:12px 24px;font-size:19px}.app .bake:disabled,.app .listen:disabled{opacity:.65}.app .ingredient:disabled{opacity:.65}@keyframes warm{to{opacity:.8}}@keyframes pop{0%{transform:scale(.5) translateY(15px)}65%{transform:scale(1.1)}100%{transform:none}}@media(max-width:700px) and (orientation:portrait){.orientation{display:block;font-size:13px;padding:14px;margin:0;color:#906b58}.mode-cards,.recipes{grid-template-columns:1fr}.mode-icon{font-size:40px}.mode-cards button{gap:6px;padding:14px}dialog h2{font-size:23px}dialog p{font-size:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.receipt h2{margin-bottom:.8cqw}.receipt p{font-size:1.25cqw;margin:.4cqw 0}.receipt small{font-size:.95cqw}.collection{font-size:1.2cqw}

.stages{inset:0;width:100%;height:100%;display:block}.stages span{position:absolute;top:16.2%;height:5.5%;width:auto}.stages span:nth-child(1){left:30.3%;width:14.2%}.stages span:nth-child(2){left:45.5%;width:15.3%}.stages span:nth-child(3){left:61.7%;width:15.8%}.stages span.active{box-shadow:none;background:none;font-weight:700;color:#704a36}.stages span.active:after{content:'';position:absolute;bottom:.4cqw;left:38%;width:24%;border-bottom:.2cqw solid #9d6c42;border-radius:50%}.listen{font-size:1.45cqw}.task{font-size:2.3cqw}.staff .slot-label{font-size:19px;fill:#967353}.staff .guide-ledger{stroke:#9a7855;stroke-width:3}.instruction{left:14%;width:51%;font-size:1.25cqw}.guide-dialog{width:min(760px,calc(100vw - 30px))}.guide-goal{font-size:21px!important;font-weight:700}.guide-steps{padding-left:28px;display:grid;gap:18px}.guide-steps li::marker{font-weight:700;color:#ad725d}.guide-steps strong{display:block;font-size:21px}.guide-steps span{display:block;line-height:1.55;margin-top:6px;font-size:18px}.guide-caution{background:#fff0cc;padding:12px 16px;border-radius:13px;font-size:17px;line-height:1.5}.guide-pitches{display:flex;gap:10px;margin:16px 0 22px}.guide-pitches>div{flex:1;border:1px dashed #b59879;border-radius:12px;padding:10px;text-align:center}.guide-pitches strong{display:block;font-size:22px}.guide-pitches span{display:block;font-size:15px;margin-top:5px}.guide-pitches>div:nth-child(1){background:#fbe1d8}.guide-pitches>div:nth-child(2){background:#e7eed8}.guide-pitches>div:nth-child(3){background:#ddecf0}
.staff .empty-ring{fill:none}

.cat-listen{position:absolute;left:66.8%;top:39%;width:16%;height:29%;border:0;background:transparent;border-radius:45% 45% 25% 25%;padding:0;z-index:1}.cat-listen span{position:absolute;bottom:-.2cqw;left:5%;width:90%;border:1.5px solid #ae8b6e;border-radius:2cqw;background:#fff4db;font-size:1.05cqw;font-weight:700;padding:.3cqw .4cqw;box-shadow:0 .15cqw 0 #caa18a55}.cat-listen:hover span{background:#ffe5ac}.cat-listen:active span{transform:translateY(.15cqw)}.cat-listen:disabled{opacity:1}.cat-listen:disabled span{background:#eee3d1}.staff .slot.missing .slot-surface{fill:#ffe1b52b;stroke:#c49066;stroke-width:2;stroke-dasharray:7 6;rx:18}.staff .slot.missing .slot-label{fill:#ad614a}

/* One listening entry: the illustrated cat itself. The old drawn button is now help. */
.help{left:41.6%;top:26.2%;width:12.5%;height:5.3%;border:0;background:transparent;border-radius:2cqw;font-size:1.65cqw;padding:0}.cat-listen span{left:-7%;width:114%;font-size:1.6cqw;line-height:1.2;padding:.45cqw .3cqw;background:#fff0cb;border-width:2px}.ingredient-switch{position:absolute;left:39%;top:58.4%;width:17%;font-size:1.2cqw;font-weight:700;border:1.5px solid #ad8466;border-radius:2cqw;background:#fff3d9;padding:.2cqw .5cqw}.plate-cake img,.oven-cake img{width:100%;height:100%;object-fit:contain;display:block}.order-cake{object-fit:contain;left:17.2%;top:7.4%;width:7.8%;height:13.4%;overflow:visible}.plate-cake{left:47.9%;top:85.9%;width:7.5%;height:9.6%}.oven-cake{left:85.2%;top:58%;width:7%;height:8.3%}.receipt{top:7%;width:18%}.receipt h2{font-size:2.2cqw;margin-bottom:.65cqw}.receipt button{display:block;width:10cqw;white-space:normal;font-size:1.35cqw;line-height:1.3}.receipt p{width:10cqw;font-size:1.05cqw;line-height:1.25;margin:.45cqw 0}.receipt small{display:block;font-size:1cqw;line-height:1.2}.instruction{font-size:1.45cqw}.ingredient strong{font-size:2cqw;white-space:nowrap}

.staff .slot-label{font-size:17px}.cat-listen span{left:-2%;width:104%;font-size:1.55cqw}.order-cake{left:16.7%;top:7.1%;width:8.7%;height:14.5%}
.app[data-cake-tier="2"] .plate-cake{left:47%;top:84.6%;width:9.2%;height:11%}.app[data-cake-tier="3"] .plate-cake{left:46.5%;top:83.1%;width:10%;height:12.5%}.app[data-cake-tier="2"] .oven-cake{left:84.7%;top:57.2%;width:8%;height:9.3%}.app[data-cake-tier="3"] .oven-cake{left:84.4%;top:56.7%;width:8.6%;height:10.3%}
.teacher-open{position:absolute;left:80.2%;top:22.4%;width:12%;border:1.5px solid #aa8163;border-radius:1.4cqw;background:#fff0ce;font-size:1.15cqw;font-weight:700;padding:.25cqw .4cqw}.teacher-dialog{width:min(940px,calc(100vw - 28px));padding:30px;color:#624633}.teacher-intro{margin-bottom:18px!important}.teacher-dialog fieldset{border:1.5px solid #c5a582;border-radius:18px 14px 20px 15px;padding:17px;margin:22px 0;background:#fffdf455}.teacher-dialog legend{font-size:21px;font-weight:700;padding:0 8px}.teacher-settings{display:grid;grid-template-columns:1fr 1.5fr;gap:16px}.teacher-settings>label,.teacher-manual>label{display:flex;flex-direction:column;gap:7px;font-size:17px;font-weight:700}.teacher-dialog input:not([type=checkbox]):not([type=file]),.teacher-dialog select{font:inherit;color:#604532;min-width:0;width:100%;border:1.5px solid #b69573;border-radius:12px;background:#fffcf1;padding:10px;font-size:17px}.teacher-four{grid-template-columns:1.5fr 1fr 1fr 1fr}.teacher-pool{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.teacher-pool label{position:relative;cursor:pointer}.teacher-pool input{position:absolute;left:10px;top:12px;accent-color:#b57a64;width:18px;height:18px}.teacher-pool span{display:block;padding:12px 8px 12px 36px;border:1.5px solid #d1baa0;border-radius:15px 12px 17px 13px;background:#fffaf0;font-size:21px}.teacher-pool input:checked+span{background:color-mix(in srgb,var(--chip) 45%,#fffaf0);border-color:#9c735b;box-shadow:inset 0 0 0 2px #fff7e4}.teacher-pool input:focus-visible+span{outline:3px dashed #ad7390}.teacher-pool small{display:block;font-size:14px;margin-top:3px}.teacher-presets,.teacher-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:15px}.teacher-presets button,.soft-button,.teacher-questions button,.teacher-library button{border:1.5px solid #b28d6c;border-radius:16px;background:#fff1d6;padding:9px 15px;font:inherit;font-size:17px;color:#604532;cursor:pointer}.teacher-rule{font-size:17px!important;line-height:1.5!important;margin:14px 0}.teacher-note{display:block;font-size:15px!important;line-height:1.6!important;color:#896b53;margin:10px 0}.teacher-manual{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex:1}.manual-composer{display:flex;gap:12px;align-items:end}.teacher-questions{padding-left:26px;max-height:320px;overflow:auto}.teacher-questions li{padding:11px 6px;border-bottom:1px dashed #d3b89b;font-size:18px}.teacher-questions li>span{display:inline-block;width:calc(100% - 140px);vertical-align:middle}.teacher-questions li strong{font-weight:700}.teacher-questions small{display:block;font-size:14px;line-height:1.4}.teacher-questions button{padding:6px 10px;margin-left:6px;font-size:15px}.teacher-questions li.invalid{color:#b25b4d;background:#fde5da77}.teacher-message{font-size:17px!important;min-height:1.5em;color:#587a4e;font-weight:700}.teacher-message.error{color:#ad5849}.teacher-summary{background:#e8edcc;border:1.5px dashed #a2b17d;border-radius:14px;padding:14px;font-weight:700}.teacher-library article{display:flex;align-items:center;gap:8px;border-bottom:1px dashed #d3b89b;padding:12px 0}.teacher-library article>div{flex:1;overflow-wrap:anywhere}.teacher-library article strong{display:block;font-size:19px}.teacher-library article small{display:block;font-size:14px;margin-top:5px}.file-label{display:inline-block}.file-label input{display:none}.teacher-actions .coral{font-weight:700}.ingredient{flex-shrink:0}.teacher-dialog button:disabled{opacity:.5}.teacher-from-recipes{margin-bottom:10px}@media(max-width:700px){.teacher-settings,.teacher-four{grid-template-columns:1fr 1fr}.teacher-pool{grid-template-columns:repeat(2,1fr)}.manual-composer{display:block}.teacher-manual{grid-template-columns:1fr 1fr}.manual-composer>button{margin-top:10px}.teacher-library article{flex-wrap:wrap}.teacher-library article>div{flex-basis:100%}.teacher-questions li>span{width:100%;margin-bottom:8px}}
