@font-face{font-family:Nunito;src:url(/assets/ui/nunito/Nunito.ttf) format("truetype");font-weight:200 1000;font-display:swap}:root{font-family:Nunito,ui-rounded,Trebuchet MS,system-ui,sans-serif;color:#2f211b;background:#78503d;font-size:18px;line-height:1.45;font-synthesis:none;--cream: #f5e3be;--paper: #fff9e9;--coral: #f5a17b;--pandan: #d7e8b1;--sky: #dceef0;--wood: #68432e;--gold: #ffc857;--ink: #36251b;--sage: #86a77c}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}button{cursor:pointer;min-height:48px;border:3px solid var(--wood);border-radius:22px;background:var(--paper);padding:10px 18px;font-weight:900;box-shadow:0 5px #593827;transition:transform .15s,background .15s}button:hover{background:#ffe3a1;transform:translateY(-2px)}button:active{transform:translateY(3px);box-shadow:0 2px #593827}button:disabled{cursor:default;opacity:.6;transform:none}button.primary,.play-button{background:var(--gold);color:#542c1d}a{color:#71321f}*:focus-visible{outline:4px solid #1b6585;outline-offset:4px}h1,h2,h3,p{margin:0 0 16px}h2{font-size:clamp(23px,3vw,32px);line-height:1.2}h3{font-size:22px}button[aria-pressed=true]{background:#ffe39a}label{display:block;font-weight:700;margin:14px 0}input,select{min-height:48px;width:100%;padding:10px 12px;border:2px solid var(--wood);border-radius:12px;background:#fffaf0;margin-top:5px;max-width:100%}input{min-width:0}fieldset{border:2px solid #a37b58;border-radius:18px;padding:15px;margin:18px 0;min-width:0}legend{font-weight:900;padding:0 8px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip:focus{position:fixed;top:16px;left:16px;z-index:100;background:var(--cream);padding:10px}.game-shell{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;border:10px solid var(--wood);border-radius:22px;background:#78503d}.game-shell:after{content:"";position:absolute;inset:0;border:3px solid #c69855;border-radius:12px;pointer-events:none;z-index:10;box-shadow:inset 0 0 18px #45271655}.scene{position:absolute;left:50%;top:50%;width:min(100%,calc((100dvh - 20px)*1.776));aspect-ratio:1672/941;transform:translate(-50%,-50%);background-size:100% 100%;background-repeat:no-repeat;overflow:hidden}.welcome,.counter,.ambient-scene{background-image:url(/assets/environments/WORLD-COUNTER-01.webp)}.ambient-scene{position:absolute;inset:0;background-size:cover;background-position:center}.shelf{background-image:url(/assets/environments/WORLD-SHELF-01.webp)}.game-hud{position:absolute;z-index:15;top:18px;left:20px;right:20px;display:flex;gap:12px;align-items:flex-start;pointer-events:none}.game-hud button{pointer-events:auto}.hud-spacer{flex:1}.round-button{width:66px;height:66px;border-radius:50%;padding:3px;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1;box-shadow:0 5px #593827,0 0 0 3px #e6b96b}.round-button>span{font-size:27px}.round-button small{font-size:10px;margin-top:3px}.save-indicator{position:absolute;right:14px;bottom:8px;z-index:18;font-size:12px;color:#fff7dc;max-width:70%;background:#593827;border-radius:8px;padding:2px 7px}.save-indicator>span:first-child{color:#b5d38d}.hanging-sign{position:absolute;left:5%;top:8%;z-index:3;transform:rotate(-2deg);background:var(--cream);border:5px solid var(--wood);border-radius:20px;padding:24px 32px;box-shadow:0 9px #593827,0 0 0 3px #e7b75b;text-align:center;font-size:clamp(26px,4.1vw,58px);font-weight:900;line-height:1.05;text-shadow:0 3px #fff9e8}.hanging-sign:before,.hanging-sign:after{content:"";position:absolute;top:-100px;height:100px;width:7px;background:#c89b60;border:1px solid #593827}.hanging-sign:before{left:12%}.hanging-sign:after{right:12%}.hanging-sign em{display:block;font-size:.62em;color:#8d3c25;margin-top:8px}.home-character{position:absolute;height:125%;right:4%;top:4%;width:auto}.desk{position:absolute;inset:0;background:url(/assets/environments/WORLD-COUNTER-01.webp) center/100% 100%;clip-path:polygon(0 81%,100% 81%,100% 100%,0 100%)}.main-menu{position:absolute;left:6%;bottom:17%;z-index:5;width:min(44%,440px);display:grid;gap:17px}.play-button{font-size:clamp(26px,4vw,44px);border-width:5px;min-height:86px;border-radius:28px;letter-spacing:2px;box-shadow:0 8px #704222,0 0 0 4px #f7d88b}.menu-row{display:flex;gap:14px}.menu-row>*{flex:1;white-space:nowrap}.stage-medallions{position:absolute;right:5%;bottom:7%;display:flex;gap:14px;list-style:none;padding:0;margin:0;z-index:5}.stage-medallions li{display:grid;place-items:center;width:56px;height:56px;background:#fff2d6;border:4px solid var(--wood);border-radius:50%;font-size:24px;font-weight:900;box-shadow:0 4px #593827}.stage-medallions li[aria-current]{background:var(--gold);box-shadow:0 4px #593827,0 0 0 4px #ffecb8}.mission-sign{position:absolute;top:20px;left:110px;max-width:50%;z-index:5;background:#fff0ce;border:3px solid var(--wood);border-radius:18px;padding:10px 20px;font-weight:900;font-size:22px;box-shadow:0 5px #593827}.mission-sign span{display:block;font-size:14px;font-weight:600}.shelf-foods{position:absolute;inset:26% 15% 32%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:2%}.shelf-foods button{position:relative;min-height:0;border:0;box-shadow:none;background:transparent;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:15px}.shelf-foods button img{height:76%;max-width:90%;object-fit:contain;filter:drop-shadow(0 5px 2px #3c201955);transition:transform .2s}.shelf-foods button:hover img{transform:translateY(-5px) scale(1.1)}.shelf-foods button span{background:#fff1d5;border:2px solid var(--wood);padding:1px 6px;border-radius:8px;font-size:clamp(12px,1.3vw,18px);line-height:1.2;white-space:nowrap}.shelf-foods button[aria-pressed=true]{outline:3px solid #ffe6a7;outline-offset:0}.action-dock{position:absolute;bottom:8%;left:4%;right:4%;display:flex;justify-content:center;gap:12px;z-index:6;flex-wrap:wrap}.action-dock button{min-height:54px}.customer{position:absolute;height:130%;left:38%;top:3%;width:auto;animation:arrive .5s ease-out}.order-card{position:absolute;bottom:15%;left:5%;width:min(58%,660px);max-height:65%;overflow:auto;z-index:5;background:#fff3d9;border:5px solid var(--wood);border-radius:28px;padding:20px;box-shadow:0 6px #593827}.order-card:before{content:"";position:absolute;width:22px;height:22px;top:24px;right:-14px;background:var(--cream);transform:rotate(45deg)}.order-card h2{font-size:25px;margin-bottom:10px}.order-card p{margin-bottom:12px}.order-card button{font-size:16px;padding:8px 12px;margin:4px 6px 4px 0}.eyebrow{font-size:12px;letter-spacing:1px;font-weight:900;color:#73452a}.dialogue{font-size:22px}.feedback{position:absolute;left:50%;bottom:1.5%;transform:translate(-50%);max-width:75%;padding:6px 14px;z-index:8;background:#fff3d9;border:2px solid #78503d;border-radius:14px;font-size:14px;text-align:center;pointer-events:none}.mode-home>.feedback{display:none}.game-dialog{position:fixed;inset:0;width:min(760px,calc(100% - 36px));max-width:none;max-height:calc(100% - 36px);padding:0;margin:auto;border:5px solid var(--wood);border-radius:28px;background:var(--paper);color:var(--ink);box-shadow:0 10px #593827,0 0 0 4px var(--gold),0 20px 70px #29130d80;overflow:hidden}.game-dialog[open]{display:flex;flex-direction:column;animation:pop .18s ease-out}.game-dialog::backdrop{background:#3d211c88;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px;background:#edce93;border-bottom:3px solid var(--wood);flex-shrink:0}.dialog-header h2{margin:0}.close-button{border-radius:50%;width:48px;height:48px;flex-shrink:0;padding:0;font-size:30px;line-height:1}.dialog-body{padding:22px;overflow:auto;overscroll-behavior:contain;min-height:0}.dialog-body>button,.dialog-body>div>button{margin:5px 8px 7px 0}.dialog-feedback{background:#e2ecd8;border-top:2px solid #78906a;padding:12px 22px;font-size:16px;flex-shrink:0;max-height:25dvh;overflow:auto}.dialog-body p{margin-bottom:14px}.culture{display:grid;grid-template-columns:34% 1fr;gap:22px}.snack-photo img{width:100%;max-height:300px;object-fit:contain;border-radius:16px}.culture h2,.culture>.eyebrow{display:none}.culture button{margin:5px 6px 5px 0}.culture p{font-size:16px}.practice-food{height:140px;max-width:100%;object-fit:contain;float:right}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:25px 0}.choices button{min-height:90px;font-size:22px;background:var(--gold)}.field{margin:12px 0}.dictation{font-size:14px;margin:8px 0}.dictation button{padding:7px 12px;min-height:44px}.reward-star{color:#a85b0c;text-align:center;font-size:100px;line-height:1.2;text-shadow:0 5px #e7b75b}.departing{position:absolute;left:3%;bottom:19%;width:22%;height:60%;z-index:1}.departing img{width:100%;height:100%;object-fit:contain;object-position:bottom}.departing span{position:absolute;top:0;left:0;background:#fff6e5;padding:5px;border-radius:8px;font-size:15px}.departing.exit{animation:leave .45s forwards}.loading-screen{position:fixed;inset:0;width:100%;height:100%;display:grid;place-items:center;background:var(--cream);padding:20px}.loading-card{width:min(600px,90vw);max-height:95dvh;overflow:auto;text-align:center;background:var(--cream);border:8px solid var(--wood);border-radius:40px;padding:30px;box-shadow:0 12px #422618,0 0 0 5px var(--gold)}.loading-card h1{font-size:clamp(28px,5vw,48px);text-shadow:0 3px #fff9e6;line-height:1.1}.loading-card em{display:block;color:#8a3527}.loading-dots{height:100px;display:flex;justify-content:center;align-items:center;gap:18px}.loading-dots span{width:28px;height:28px;border:3px solid var(--wood);border-radius:50%;background:var(--gold);animation:loading-bounce 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){background:var(--pandan);animation-delay:.15s}.loading-dots span:nth-child(3){background:var(--coral);animation-delay:.3s}@keyframes loading-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-14px)}}.loading-card progress{width:100%;height:28px;accent-color:#678449}.small-label{font-weight:700;letter-spacing:3px;font-size:14px}@keyframes arrive{0%{transform:translate(-60px);opacity:.3}to{transform:none}}@keyframes leave{to{transform:translate(-200%);opacity:0}}@keyframes pop{0%{transform:scale(.96)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:760px){.game-shell{border-width:6px;border-radius:15px}.game-hud{top:12px;right:12px;left:12px;gap:8px}.round-button{width:53px;height:53px}.round-button>span{font-size:23px}.round-button small{font-size:8px}.hanging-sign{font-size:36px;top:18%;left:5%;padding:16px;width:65%}.main-menu{width:60%;bottom:17%;gap:12px}.play-button{min-height:70px;font-size:30px}.menu-row{gap:8px}.menu-row button{font-size:15px;padding:8px}.stage-medallions{gap:8px;bottom:7%}.stage-medallions li{width:42px;height:42px;font-size:20px}.mission-sign{left:75px;top:80px;max-width:75%;font-size:19px;padding:8px 14px}.action-dock{bottom:10%;gap:8px}.action-dock button{font-size:14px;padding:8px;min-height:44px}.order-card{width:88%;left:6%;padding:15px;bottom:11%;max-height:45%}.order-card h2{font-size:21px}.dialogue{font-size:18px}.feedback{font-size:12px;max-width:85%;bottom:2%}.culture{grid-template-columns:1fr}.snack-photo img{max-height:160px}.game-dialog{width:calc(100% - 24px);max-height:calc(100% - 24px);border-radius:22px}.dialog-body{padding:16px}.dialog-header{padding:12px 15px}.dialog-feedback{padding:10px 15px}.choices{grid-template-columns:1fr;gap:10px}.choices button{min-height:55px;font-size:20px}.practice-food{height:100px}}@media(max-aspect-ratio:4/5){.scene{width:150%;max-width:none}.welcome,.counter{width:180%;left:40%}.home-character{right:20%;top:17%;height:105%}.shelf{width:150%;left:50%}.shelf-foods{inset:26% 17% 32%;gap:1%}.shelf-foods button span{font-size:11px;padding:2px}.shelf-foods button{min-height:44px}.shelf-foods button img{height:68%}.hanging-sign{top:18%;width:84%;left:8%;font-size:36px}.main-menu{width:78%;left:11%;bottom:18%}.mission-sign{top:90px}.stage-medallions{right:50%;transform:translate(50%)}.action-dock{bottom:12%}.culture{grid-template-columns:1fr}}@media(max-height:550px)and (min-aspect-ratio:1/1){.hanging-sign{top:12%;font-size:30px;padding:12px 20px}.main-menu{bottom:17%;gap:10px;width:42%}.play-button{min-height:58px;font-size:26px}.round-button{width:48px;height:48px}.round-button small{font-size:8px}.game-hud{top:10px}.stage-medallions li{width:40px;height:40px}.mission-sign{top:12px;font-size:18px}.action-dock{bottom:9%}.feedback{font-size:12px}.order-card{max-height:60%;width:60%;bottom:10%;padding:12px}.order-card h2{font-size:20px}.order-card p{font-size:16px;margin-bottom:6px}}.feedback button{pointer-events:auto;min-width:44px;min-height:44px;padding:4px 8px;margin-left:8px}@media(max-width:480px)and (max-aspect-ratio:4/5){.shelf{width:180%}.shelf-foods{inset:26% 23% 32%}.shelf-foods button span{white-space:normal;max-width:100%;min-height:26px;display:grid;place-items:center;font-size:11px;line-height:1.05}.shelf-foods button img{height:55%}}.game-dialog{border-radius:36px;background:var(--paper);border-width:6px;box-shadow:0 10px #593827,0 0 0 5px var(--gold),0 20px 70px #29130d80}.dialog-header{background:var(--gold);border-bottom:3px dashed #a87e46;gap:12px}.dialog-header h2{flex:1}.dialog-emblem{display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;font-size:36px;color:#73411f;background:var(--paper);border:2px solid #78503d;border-radius:16px;transform:rotate(-8deg)}.close-button{background:var(--coral)}.short-instruction{font-size:20px;font-weight:900;text-align:center}.activity-actions{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin:18px 0}.icon-action{width:auto;min-height:64px;height:auto;min-width:64px;border-radius:22px;padding:12px 18px;font-size:18px;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:8px;vertical-align:middle}.icon-action.primary{background:var(--pandan);color:#2f4225;border-color:#516747;box-shadow:0 5px #3e5138}.next-action{float:right}.back-action{margin-top:14px}.voice-button{background:#e7b75b;min-width:76px;min-height:68px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;padding:5px 10px;font-size:14px}.voice-button span:first-child{font-size:27px}.voice-button.recording{background:#efb497;border-style:dashed}.activity-actions .dictation{margin:0}.activity-actions .dictation:has([role=status]),.activity-actions .dictation:has(p){flex-basis:100%;text-align:center}.practice-challenge{max-width:560px;margin:auto;text-align:center}.food-medallion{position:relative;width:185px;height:166px;margin:0 auto;border:4px solid var(--wood);border-radius:48% 52% 46% 54%;background:#fffaf0;box-shadow:0 7px #d8b678;display:grid;place-items:center}.food-medallion img{width:90%;height:140px;object-fit:contain;filter:drop-shadow(0 5px 2px #78503d30)}.quantity-badge{position:absolute;right:-20px;top:-6px;margin:0}.quantity-badge select{margin:0;width:75px;height:58px;padding:4px;border:3px solid var(--wood);border-radius:22px;background:var(--gold);font-size:24px;text-align:center;font-weight:900}.food-caption{font-weight:900;margin-top:16px}.challenge-levels{display:flex;gap:10px;margin:18px 0}.challenge-levels button{flex:1;font-size:15px;padding:8px;border-radius:16px}.challenge-levels button span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#78503d;color:#fff4dc;margin-right:5px}.challenge-levels button[aria-pressed=true]{background:var(--gold);outline:3px solid #78503d;outline-offset:1px}.practice-challenge .field{text-align:left}.practice-challenge input{font-size:24px;border-width:3px;min-height:62px}.culture{align-items:center}.snack-photo img{max-height:290px;border:4px solid #d9b775;border-radius:24px;background:#fffaf0}.unit-sticker{width:fit-content;margin:0 auto 16px;background:var(--gold);border:3px solid var(--wood);border-radius:22px;padding:10px 24px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;transform:rotate(-2deg)}.unit-sticker>span{font-size:38px;font-weight:900}.unit-sticker strong{font-size:23px}.unit-sticker small{font-size:14px}.culture .activity-actions button{margin:0}.question-count{display:inline-block;padding:6px 16px;background:var(--gold);border-radius:20px;border:2px solid #78503d;font-weight:900}.quiz-prompt{text-align:center;font-size:22px}.choices{margin:20px 0}.choices button{min-height:140px;border-radius:24px;background:#fff8e8;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:12px}.choices button:nth-child(2){background:#f1e0c8}.choices button:nth-child(3){background:#e2ecd8}.choices img{width:100%;height:115px;object-fit:contain}.choices button>span:last-child{font-size:18px}.unit-picture .game-icon{width:64px;height:64px;padding:10px;background:var(--gold);border-radius:22px}.item-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.item-editor.single-item{grid-template-columns:minmax(0,1fr);max-width:420px;margin-inline:auto}.snack-tile{position:relative;margin:0;padding:12px;background:#fff9e9;border:3px solid #b58b4e;border-radius:24px}.snack-tile legend{padding:3px 13px;color:#2f211b;background:var(--gold);border:2px solid var(--wood);border-radius:50%}.tile-food{display:block;width:100%;height:100px;object-fit:contain}.snack-tile label{font-size:15px;margin:8px 0}.snack-tile .field{margin:8px 0}.snack-tile input,.snack-tile select{padding:8px}.quantity-control{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;align-items:center}.quantity-control>button{font-size:25px;padding:0;width:44px;height:48px;margin-top:23px;border-radius:15px;background:var(--gold)}.quantity-control .field{min-width:0}.quantity-control input{text-align:center;font-size:23px;font-weight:900}.quantity-control:has(.dictation){align-items:start}.quantity-control:has(.dictation)>button{margin-top:36px}.remove-item{position:absolute;top:8px;right:8px;min-height:44px;width:44px;height:44px;padding:0;font-size:26px;border-radius:50%;background:#f1d5b6}.add-item{align-self:center;justify-self:center;width:140px;height:140px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:3px dashed #78503d;border-radius:30px;background:#f5e3be}.add-item>span{font-size:50px;line-height:1}.add-item small{font-size:15px}.add-item:disabled{display:none}.ticket-sticker{display:table;padding:8px 16px;border:2px dashed var(--wood);border-radius:12px;font-weight:900;background:var(--gold)}@media(max-width:760px){.dialog-header{padding:12px;gap:8px}.dialog-emblem{width:34px;height:38px;font-size:28px;border-radius:12px}.dialog-header h2{font-size:23px}.snack-photo img{max-height:180px}.culture{gap:16px}.item-editor{grid-template-columns:1fr}.snack-tile{padding:12px 18px}.add-item{width:100%;height:70px;flex-direction:row;gap:10px}.choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.choices button{min-height:115px;padding:5px}.choices img{height:75px}.choices button>span:last-child{font-size:14px}.challenge-levels{gap:8px}.challenge-levels button{font-size:13px;padding:8px 4px}.challenge-levels button span{display:none}.activity-actions{gap:10px}.icon-action{min-height:56px;min-width:56px;font-size:16px;padding:10px 14px}.food-medallion{width:155px;height:140px}.food-medallion img{height:120px}}@media(max-height:550px)and (min-aspect-ratio:1/1){.food-medallion{width:115px;height:95px}.food-medallion img{height:80px}}.game-icon{display:inline-block;width:1.35em;height:1.35em;flex-shrink:0;vertical-align:middle}.icon-action>.game-icon,.round-button>.game-icon{width:28px;height:28px}.dialog-emblem .game-icon{width:30px;height:30px}.close-button .game-icon{width:26px;height:26px}.dialog-body{background-image:radial-gradient(#c9835714 1px,transparent 1px);background-size:12px 12px}.dialog-header h2{font-weight:900;letter-spacing:-.025em}.info-card{margin:20px 0;padding:18px;border:2px solid #a37b58;border-radius:22px 22px 22px 6px;background:var(--sky);box-shadow:3px 4px #68432e18;overflow-wrap:anywhere}.info-card h3{display:flex;gap:8px;align-items:center;font-size:19px;margin-bottom:12px}.info-card p:last-child{margin-bottom:0}.snack-story{grid-column:1 / -1;background:var(--pandan);border-style:dashed}.snack-photo{margin:0;align-self:start;min-width:0}.snack-photo img{display:block;width:100%;height:240px;object-fit:contain}.example-phrase{background:var(--paper);border:2px dashed #a37b58;border-radius:16px;padding:12px;text-align:center;font-weight:800}.culture .example-phrase{font-size:22px}.listen-action{background:var(--sky)}.sound-setup{padding:6px 12px;font-size:14px;box-shadow:0 3px #593827}.activity-actions>button:has(span){min-width:112px}.reward-star>.game-icon{width:80px;height:80px;fill:var(--gold)}@media(max-width:560px){.snack-photo img{height:180px}.culture .example-phrase{font-size:20px}.info-card{padding:14px}}select{border:3px solid var(--wood);border-radius:18px;background:var(--cream);font-weight:800;box-shadow:0 3px #593827}@supports (appearance: base-select){select,select::picker(select){appearance:base-select}select::picker(select){color:var(--ink);background:var(--paper);border:3px solid var(--wood);border-radius:18px;padding:6px;box-shadow:0 5px #593827;max-height:min(340px,55dvh);overflow:auto}select::picker-icon{color:var(--wood)}option{padding:10px 12px;min-height:44px;border-radius:12px;white-space:normal}option:hover,option:focus,option:checked{background:var(--gold);color:var(--ink)}option::checkmark{color:#314b29}}.shelf-foods [data-food=es_dawet] img{translate:25% 0}.translation{margin:12px 0 20px;text-align:left}.translation .english-sentence{font-size:1.05em;font-weight:800;margin-bottom:8px}.translation .full-translation{padding:10px 12px;border-left:4px solid #47707b;border-radius:4px 12px 12px 4px;background:var(--sky);font-weight:600;font-size:.9em;margin-bottom:10px}.translation-label{display:block;font-size:.75em;font-weight:900;color:#375b63}.word-translations{display:flex;flex-wrap:wrap;gap:6px}.word-translation{display:flex;flex-direction:column;border:1px dashed #9c7957;border-radius:10px;padding:5px 8px;max-width:100%;background:#fff9e9;font-size:15px;overflow-wrap:anywhere}.word-translation>span{font-weight:900;border-bottom:2px dotted #9c7957}.word-translation small{color:#614b39;font-size:12px;margin-top:3px}.snack-story .translation+.translation{padding-top:14px;border-top:2px dashed #8c9f70}.culture .example-phrase{padding:12px;font-size:20px}.answer-feedback{display:flex;align-items:center;gap:12px;padding:14px;border:3px solid #87704c;border-radius:20px;background:var(--cream);color:var(--ink);text-align:left;box-shadow:0 4px #68432e33}.answer-feedback>div{min-width:0;flex:1}.answer-feedback p:last-child{margin-bottom:0}.feedback-mark{display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;width:40px;height:40px;flex-shrink:0}.answer-feedback.correct{background:var(--pandan);border-color:#516747}.answer-feedback.wrong{background:#ffe1cf;border-color:#995034}.answer-feedback.correct .feedback-mark{animation:answer-bounce .45s ease-out;color:#314b29}.answer-feedback.wrong .feedback-mark{animation:answer-shake .35s ease-in-out;color:#823d27}.correct-answer{margin-top:8px;font-size:24px;font-weight:900}.dialog-feedback{background:var(--paper);border-color:#b58b4e}.dialog-feedback .answer-feedback{padding:8px 12px}.feedback{background:none;border:0;padding:0}.feedback .answer-feedback{font-size:14px;padding:8px 12px}.game-shell:has(.game-dialog[open])>.feedback{display:none}[role=alert]{background:#ffe1cf;border:2px solid #995034;border-radius:16px;color:#602e1e;padding:12px 16px;overflow-wrap:anywhere}.speech-status{margin-top:16px;padding:12px;border:2px dashed #66808a;border-radius:18px;background:var(--sky);font-size:14px}.speech-status p{margin-bottom:8px}.speech-status button{margin:4px;font-size:14px;min-height:44px}.choices button:disabled{opacity:1}.choices button.choice-correct{background:var(--pandan);border:4px solid #516747}.choices button.choice-wrong{background:#ffe1cf;border:4px dashed #995034}.progress-checklist{list-style:none;padding:0;margin:0;display:grid;gap:12px}.progress-checklist li{display:flex;align-items:center;gap:14px;padding:14px;border:2px solid #b58b4e;border-radius:18px;background:var(--cream)}.progress-checklist li.complete{background:var(--pandan);border-color:#516747}.checklist-go{margin-left:auto;flex-shrink:0}.checklist-mark{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:3px solid var(--wood);border-radius:10px;background:var(--paper)}.progress-checklist small{display:block;font-size:14px;margin-top:3px}.progress-help,.pending-sign{margin-top:18px;font-size:15px}.danger-action{background:var(--coral)}@keyframes answer-bounce{0%{transform:scale(.5)}65%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes answer-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}@media(prefers-reduced-motion:reduce){.answer-feedback .feedback-mark{animation:none}}.dialog-audio{padding:0 16px 10px;max-height:30dvh;overflow:auto;flex-shrink:0}.dialog-audio .speech-status{margin-top:0}.translation{position:relative;padding-right:52px}.translation-toggle{position:absolute;top:0;right:0;width:44px;min-height:44px;padding:6px;border-radius:14px;background:var(--sky)}.translation>[hidden]{display:none}.translation>div{margin-right:-52px}.answer-feedback,.speech-status{position:relative;padding-right:58px}.dismiss-notice{position:absolute;top:6px;right:6px;display:grid;place-items:center;width:44px;min-height:44px;padding:5px;border-radius:14px;background:var(--paper);box-shadow:0 2px 0 var(--wood)}.dialog-feedback .answer-feedback,.feedback .answer-feedback{padding-right:58px;min-height:60px}.speech-status>.dismiss-notice{margin:0}.feedback{pointer-events:none}.quantity-badge select{display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:6px 10px;text-align:center}.quantity-badge select::picker-icon{margin-left:0}.quantity-badge{right:-8px}.translation.example-phrase{padding-right:64px}.food-narration{display:grid;grid-template-columns:minmax(100px,150px) 1fr;gap:1rem;align-items:center;margin-block:1rem}.food-narration video,.sign-practice video{display:block;width:100%;border:3px solid var(--wood, #78503d);border-radius:18px;background:#f5e3be}.food-narration video{max-height:240px;object-fit:contain}.sign-numbers{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1rem}.sign-numbers button{display:grid;gap:.2rem;min-width:65px}.sign-numbers strong{font-size:1.6rem}.sign-numbers [aria-pressed=true],.camera-source [aria-pressed=true]{background:#f6cd64;outline:3px solid #78503d}.sign-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}.sign-columns>section{min-width:0}.sign-columns video{max-height:300px;object-fit:contain}.camera-source{display:flex;gap:.5rem;margin-block:.5rem}.sign-camera{position:relative;aspect-ratio:4 / 3;background:#ead7af;border-radius:18px;overflow:hidden}.sign-camera video,.sign-camera canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border:0}.sign-camera.mirrored video,.sign-camera.mirrored canvas{transform:scaleX(-1)}.sign-note{font-size:.9rem}@media(max-width:600px){.sign-columns{grid-template-columns:1fr}.food-narration{grid-template-columns:100px 1fr}}.sign-hint-video{position:relative}.sign-hint-video video{display:block;width:100%;height:auto;border-radius:18px}.sign-hint-video canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.quantity-input{min-width:0;width:100%}.quantity-value{font-size:1.3rem}.quantity-input>button{margin-block:.5rem}.item-editor:has(.sign-camera-frame){grid-template-columns:minmax(0,1fr);max-width:none;width:100%}.sign-camera-frame{width:100%;padding:12px;border:3px solid var(--wood, #78503d);border-radius:22px;background:#fff9e9;box-shadow:0 4px #d9bc83}.sign-camera-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.7fr);gap:12px;align-items:center}.sign-camera-view,.sign-camera-controls{min-width:0}.sign-camera-frame .camera-source{flex-wrap:wrap;justify-content:center;border:0;padding:0;margin:0 0 10px}.sign-camera-frame .camera-source button{min-height:44px;padding:6px 15px;font-size:.9rem}.sign-camera-frame .sign-camera{width:min(100%,264px);margin-inline:auto;border:2px solid #b58b4e;border-radius:14px}.sign-camera-frame canvas{pointer-events:none}.sign-camera-off{position:absolute;inset:0;display:grid;align-content:center;justify-items:center;gap:8px;color:#593827;font-weight:800}.sign-camera-timing{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;width:min(100%,264px);margin:8px auto;font-size:.85rem;font-weight:800;font-variant-numeric:tabular-nums}.sign-camera-timing progress{min-width:0;flex:1;width:80px;height:12px;accent-color:#78503d}.sign-camera-instruction{margin:10px 0;font-size:.9rem;line-height:1.4;text-align:center}.sign-countdown{display:inline-grid;place-items:center;min-width:30px;min-height:30px;margin-left:5px;border:2px solid var(--wood, #78503d);border-radius:50%;background:#ffc857;font-size:1.1rem}.sign-camera-frame .sign-camera-actions{flex-direction:column;gap:8px;align-items:stretch;margin:0}.sign-camera-frame .icon-action{flex-direction:row;min-height:44px;min-width:0;padding:8px 10px;font-size:.85rem;gap:6px}.sign-camera-frame .sign-camera-actions>button{min-width:0}.sign-camera-frame .icon-action .game-icon{width:20px;height:20px}.sign-camera-frame>.answer-feedback{width:100%;margin:12px 0 0}.sign-hint-action{margin:18px 0}.sign-hint-action>button{margin:0}
