*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}@font-face{font-family:Nunito;src:local("Nunito");font-display:swap}:root{--cream: #fff4c7;--ink: #111827;--blue: #b9dbfb;--blue-deep: #79b8ef;--peach: #ffd7be;--red: #bd0505;--green: #087c48;--mint: #9bf2d1;--violet: #8b5cf6;--sun: #facc15;--tile-radius: clamp(10px, 2.6vw, 16px);font-family:Nunito,Arial Rounded MT Bold,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden;overscroll-behavior:none}button{font:inherit;background-color:none}.game-shell{width:100vw;height:100vh;height:100dvh;overflow:hidden;background-position:center;background-size:cover;touch-action:none;isolation:isolate}.game-shell:before,.game-shell:after{content:"";position:fixed;inset:auto;z-index:-1;pointer-events:none}.game-shell:before{width:min(70vw,520px);aspect-ratio:1;left:-18vw;top:12vh;border-radius:50%;background:radial-gradient(circle,#9bf2d185,#9bf2d100);animation:driftGlow 8s ease-in-out infinite alternate}.game-shell:after{width:min(65vw,480px);aspect-ratio:1;right:-22vw;bottom:-12vh;border-radius:50%;background:radial-gradient(circle,#facc1557,#facc1500);animation:driftGlow 9s ease-in-out infinite alternate-reverse}.game-stage{position:relative;width:min(100vw,720px);height:100%;min-height:0;margin:0 auto;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));display:grid;grid-template-rows:auto 1fr;gap:clamp(8px,2vh,18px)}.top-bar{display:grid;grid-template-columns:minmax(78px,.28fr) minmax(92px,1fr) minmax(72px,.24fr);gap:clamp(7px,2vw,16px);align-items:center;min-height:clamp(42px,8vh,62px);z-index:5}.status-chip{min-width:0;width:100%;min-height:clamp(38px,7.2vw,56px);display:grid;grid-template-rows:auto auto;place-items:center;gap:clamp(1px,.4vw,3px);padding:clamp(5px,1.6vw,8px) clamp(7px,2vw,12px);border:1px solid rgba(17,24,39,.2);border-radius:8px;background:#fffae0e0;box-shadow:0 2px #11182733,0 7px 14px #231f131a,inset 0 0 0 1px #ffffff73;text-transform:uppercase;line-height:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.chip-label{color:#7c2d12;font-size:clamp(.46rem,1.85vw,.68rem);font-weight:1000;letter-spacing:0}.status-chip strong{color:#0f172a;font-size:clamp(.82rem,4.8vw,1.42rem);font-weight:1000;line-height:.95}.score-chip{justify-self:end}.score-stack{position:relative;display:grid;justify-items:center}.progress-track{height:clamp(8px,2.4vw,12px);border-radius:999px;background:#ffffffb3;border:1px solid rgba(17,24,39,.12);overflow:hidden;box-shadow:inset 0 1px 2px #0f172a2e,0 2px 8px #0f172a14}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f97316,#22c55e,#38bdf8);transition:width .32s ease}.center-layout,.play-layout,.feedback-layout{min-height:0;height:100%}.center-layout{display:grid;place-items:center;padding-bottom:clamp(10px,4vh,34px)}.intro-panel{width:min(100%,520px);max-height:100%;padding:clamp(18px,5vw,34px);border:1.5px solid rgba(17,24,39,.72);border-radius:8px;background:linear-gradient(180deg,#fffce4f5,#e8f9fff5);box-shadow:0 6px #1118278c,0 18px 34px #141c2d24,inset 0 0 0 3px #ffffff73;display:grid;align-items:center;justify-items:center;gap:clamp(12px,2.8vh,24px);text-align:center}.quest-panel{position:relative;overflow:hidden}.quest-panel:before{content:"";position:absolute;inset:12px;border:1px dashed rgba(15,118,110,.28);border-radius:8px;pointer-events:none}.intro-hero-row{width:100%;min-height:clamp(132px,25vh,200px);display:grid;place-items:center;justify-content:center;z-index:1}.speech-bubble,.pattern-sign,.mission-title{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid rgba(17,24,39,.22);border-radius:8px;background:#ffffffd9;box-shadow:0 3px #11182738;font-weight:1000;color:#0f766e;line-height:1}.speech-bubble{align-self:center;min-height:clamp(42px,8vh,58px);padding:8px 10px;font-size:clamp(.9rem,3.6vw,1.1rem);text-transform:uppercase}.mission-card{width:min(100%,470px);padding:clamp(10px,3vw,16px);display:grid;justify-items:center;gap:clamp(8px,2vh,12px);border-radius:8px;border:1px solid rgba(17,24,39,.26);background:#ffffff94}.mission-title{min-height:34px;padding:7px 11px;font-size:clamp(.84rem,3.5vw,1rem);color:#6d28d9}.intro-actions{display:flex;align-items:center;justify-content:center;gap:clamp(10px,3vw,14px);z-index:2}.panel-icon,.icon-btn{border:1px solid rgba(17,24,39,.24);border-radius:8px;background:linear-gradient(180deg,#def0ff,#fff0c2);color:#b45309;box-shadow:0 3px #11182738}.panel-icon{width:clamp(52px,14vw,72px);aspect-ratio:1;display:grid;place-items:center}.intro-panel h1{max-width:12ch;margin:0;font-size:clamp(1.6rem,8vw,3rem);line-height:.96;text-transform:uppercase;font-weight:1000}.intro-panel p,.play-nudge,.micro-copy{margin:0;max-width:30ch;font-size:clamp(1rem,4.3vw,1.45rem);line-height:1.22}.micro-copy,.play-nudge{font-size:clamp(.78rem,3.4vw,1rem);color:#475569}.primary-btn{min-width:clamp(142px,42vw,210px);min-height:clamp(46px,7.5vh,60px);padding:0 clamp(16px,5vw,26px);border:1px solid rgba(17,24,39,.75);border-radius:8px;background:linear-gradient(180deg,#fb2c36,var(--red));color:#fff;box-shadow:0 4px #111827a6;display:inline-flex;align-items:center;justify-content:center;gap:.35em;text-transform:uppercase;font-size:clamp(1.15rem,5.6vw,1.8rem);font-weight:1000;line-height:1;touch-action:manipulation}.primary-btn:active,.number-tile:active,.icon-btn:active{transform:translateY(3px)}.play-layout{position:relative;display:grid;grid-template-rows:auto auto auto minmax(150px,1fr);align-items:center;gap:clamp(8px,2.4vh,18px);padding-bottom:clamp(6px,2vh,16px)}.tool-row{display:flex;justify-content:space-between;align-items:center}.icon-btn{width:clamp(48px,12vw,62px);aspect-ratio:1;display:grid;place-items:center;touch-action:manipulation;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.icon-btn:hover:not(:disabled){transform:translateY(-5px);box-shadow:0 8px 14px #0f172a33;filter:brightness(1.05)}.icon-btn:disabled{opacity:.45;filter:grayscale(.35)}.hint-btn{position:relative}.hint-btn span{position:absolute;right:-6px;bottom:-6px;min-width:22px;height:22px;display:grid;place-items:center;border-radius:999px;border:1px solid rgba(17,24,39,.24);background:#facc15;color:#7c2d12;font-size:.78rem;font-weight:1000}.hint-btn:after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 8px);z-index:12;width:-moz-max-content;width:max-content;max-width:min(250px,72vw);padding:7px 10px;border:1px solid rgba(17,24,39,.22);border-radius:8px;background:#fffffff0;color:#7c2d12;box-shadow:0 8px 18px #0f172a2e;font-size:clamp(.72rem,2.8vw,.88rem);font-weight:900;line-height:1.15;text-align:center;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .15s ease,transform .15s ease}.hint-btn:hover:after,.hint-btn:focus-visible:after{opacity:1;transform:translateY(0)}.play-scene{align-self:stretch;display:grid;place-items:center;position:relative;min-height:clamp(190px,36vh,310px)}.hero-platform{position:relative;display:grid;place-items:center;animation:heroBob 1.7s ease-in-out infinite alternate}.pattern-sign{position:absolute;bottom:clamp(2px,1vh,8px);left:50%;transform:translate(-50%);width:min(94vw,560px);min-height:36px;padding:7px 12px;color:#7c2d12;font-size:clamp(.7rem,2.85vw,.94rem);line-height:1.12;text-align:center;white-space:normal}.hero-sprite{width:clamp(116px,34vw,180px);aspect-ratio:1;background-repeat:no-repeat;image-rendering:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;filter:drop-shadow(0 10px 8px rgba(30,41,59,.26))}.intro-panel .hero-sprite{width:clamp(130px,40vw,210px);justify-self:center;margin-inline:auto}.play-scene .hero-sprite{width:clamp(150px,44vw,250px)}.feedback-banner .hero-sprite{width:clamp(82px,23vw,126px);filter:drop-shadow(0 8px 6px rgba(30,41,59,.22))}.option-zone{display:flex;justify-content:center;align-items:center;gap:clamp(8px,2.2vw,14px);min-height:clamp(78px,15vh,118px);pointer-events:none;z-index:4}.option-zone .option-tile{pointer-events:auto}.sequence-wrap{display:grid;justify-items:center;z-index:3}.sequence-row{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(6px,1.8vw,12px);align-items:center;justify-items:center}.sequence-row.compact{max-width:460px}.number-tile{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:clamp(54px,16vw,86px);max-width:clamp(54px,16vw,86px);background-color:transparent;aspect-ratio:.72;border:0;border-radius:0;background-repeat:no-repeat;padding:0;color:#05070a;display:grid;place-items:center;font-size:clamp(1.35rem,8vw,2.4rem);line-height:1;font-weight:1000;text-shadow:0 1px 0 rgba(255,255,255,.55);-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;overflow:visible}.number-tile.is-long-number{font-size:clamp(.95rem,5.6vw,1.68rem)}.option-tile{color:#f8fafc;text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 8px rgba(255,255,255,.18)}.sequence-row .number-tile{width:100%}.sequence-tile{opacity:0;animation:sequenceDeal .36s cubic-bezier(.18,.9,.24,1.18) forwards;animation-delay:calc(var(--tile-index, 0) * 105ms)}.option-tile{cursor:grab;--deal-delay: 0ms;--float-delay: .46s;animation:floatIn .36s ease var(--deal-delay) both,optionFloat 2.7s ease-in-out var(--float-delay) infinite;position:relative;transition:transform .16s ease;will-change:transform,translate}.option-tile:hover:not(:disabled){transform:translateY(-12px)}.option-tile:disabled{cursor:default;animation-play-state:paused}.answer-card:before{content:none}.option-tile:nth-child(2){--deal-delay: 45ms;--float-delay: .58s}.option-tile:nth-child(3){--deal-delay: 90ms;--float-delay: .7s}.option-tile:nth-child(4){--deal-delay: 135ms;--float-delay: .82s}.is-dragging-source{opacity:.35;transform:translateY(-8px);animation-play-state:paused}.slot-tile{position:relative;opacity:0;border:2px dashed rgba(45,212,191,.9);border-radius:12px;background:radial-gradient(circle at 50% 50%,#ffffffd1,#ecfeff47 54%,#22d3ee14),linear-gradient(180deg,#f0fdfab8,#dbeafe80);color:#0f172a;box-shadow:0 7px 12px #19223421,0 0 18px #22d3ee6b;animation:slotAppear .36s cubic-bezier(.18,.9,.24,1.18) calc(var(--tile-index, 0) * 105ms) forwards,slotGlow .9s ease-in-out calc(var(--tile-index, 0) * 105ms) infinite alternate,magicPulse 1.7s ease-in-out calc(var(--tile-index, 0) * 105ms) infinite}.slot-tile:before{content:none}.slot-tile:after{content:"";position:absolute;inset:18%;border-radius:999px;background:radial-gradient(circle,#ffffffb3,#fff0);pointer-events:none}.answer-correct{animation:correctPop .52s cubic-bezier(.2,1.45,.3,1) both}.answer-wrong{animation:wrongShake .36s ease both}.drag-ghost{position:fixed;z-index:20;pointer-events:none;width:clamp(54px,16vw,86px);max-width:clamp(54px,16vw,86px);opacity:.96;will-change:transform;color:#f8fafc;text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 8px rgba(255,255,255,.18);filter:brightness(1.08) saturate(1.05);box-shadow:0 22px 34px #0f172a52,0 0 18px #facc1538;transform-origin:center;transform:rotate(-2deg) scale(1.04)}.flying-card{position:fixed;z-index:30;pointer-events:none;max-width:none;color:#f8fafc;text-shadow:0 2px 0 rgba(0,0,0,.55),0 0 8px rgba(255,255,255,.18);filter:brightness(1.12) saturate(1.08);box-shadow:0 24px 36px #0f172a47,0 0 22px #facc154d;animation:flyToSlot .52s cubic-bezier(.2,.85,.24,1) forwards}.is-grabbing .slot-tile{border-style:solid;box-shadow:0 10px 18px #19223429,0 0 30px #a78bfa8f}.is-grabbing .option-tile:not(.is-dragging-source){transform:translateY(3px)}.play-nudge{justify-self:center;text-align:center;padding:4px 10px;border-radius:999px;background:#ffffff8c}.feedback-layout{position:relative;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-items:center;justify-items:center;gap:clamp(8px,2vh,16px);padding-bottom:clamp(8px,3vh,26px)}.feedback-banner{position:absolute;top:clamp(2px,.8vh,8px);left:50%;z-index:10;width:auto;min-width:clamp(150px,40vw,230px);min-height:38px;display:grid;grid-template-columns:1fr;align-items:center;justify-items:center;padding:6px 14px;border:1px solid rgba(17,24,39,.35);border-radius:999px;box-shadow:0 8px 16px #1e293b29;color:#fff;text-transform:uppercase;transform:translate(-50%);animation:feedbackToast 1.8s ease forwards}.feedback-copy{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap}.feedback-title{display:inline-flex;align-items:center;justify-content:center;gap:.34em;text-transform:uppercase;font-size:clamp(.9rem,3.7vw,1.15rem);font-weight:1000}.feedback-copy span{font-size:clamp(.78rem,3vw,.9rem);font-weight:900;opacity:.9}.feedback-banner.correct{background:linear-gradient(180deg,#0b8e55,var(--green))}.feedback-banner.wrong{background:linear-gradient(180deg,#ff2525,#e41111)}.explanation-box{display:grid;align-content:center;justify-items:center;gap:.25rem;text-align:center;width:min(100%,520px);min-height:0;padding:7px 10px;border-radius:8px;background:#ffffff8f;border:1px solid rgba(15,118,110,.14);box-shadow:none}.explanation-label{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:22px;padding:3px 8px;border-radius:999px;background:#0f766e1f;color:#0f766e;font-size:clamp(.68rem,2.4vw,.78rem);font-weight:1000;text-transform:uppercase}.explanation-box p{margin:0;max-width:42ch;font-size:clamp(.86rem,3.2vw,1.05rem);font-weight:1000;line-height:1.12}.explanation-box span{font-size:clamp(.94rem,4vw,1.15rem);color:#475569;font-weight:800}.feedback-hero{display:grid;place-items:center;align-self:end;min-height:0}.feedback-hero .hero-sprite{width:clamp(126px,38vw,210px)}.feedback-hero.is-correct{animation:popIn .26s cubic-bezier(.2,1.2,.4,1) both}.feedback-hero.is-wrong{opacity:.82}.summary-grid{width:min(100%,420px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(7px,2vw,12px)}.summary-grid div{min-height:clamp(70px,12vh,96px);padding:clamp(8px,2.4vw,12px);border-radius:8px;background:#ffffffb8;border:1px solid rgba(17,24,39,.22);box-shadow:0 4px #1118272e;display:grid;place-items:center;gap:4px;text-align:center}.summary-grid span{color:#475569;font-size:clamp(.7rem,2.7vw,.86rem);font-weight:900;line-height:1.05}.summary-grid strong{color:#0f172a;font-size:clamp(1.25rem,6vw,2rem);font-weight:1000;line-height:1}.pop-in{animation:popIn .3s cubic-bezier(.2,1.2,.4,1) both}@keyframes popIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes driftGlow{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(8vw,-3vh,0) scale(1.08)}}@keyframes floatIn{0%{opacity:0;transform:translateY(-18px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes optionFloat{0%,to{translate:0 0}50%{translate:0 -6px}}@keyframes sequenceDeal{0%{opacity:0;transform:translateY(-16px) rotate(-3deg) scale(.92)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@keyframes slotAppear{0%{opacity:0;transform:translateY(-12px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tileIdle{0%{transform:translateY(0)}to{transform:translateY(-5px)}}@keyframes heroBob{0%{transform:translateY(0)}to{transform:translateY(-6px)}}@keyframes slotGlow{0%{filter:brightness(1)}to{filter:brightness(1.08)}}@keyframes magicPulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.1)}}@keyframes flyToSlot{0%{transform:translateZ(0) scale(1) rotate(0)}68%{transform:translate3d(var(--fly-x),var(--fly-y),0) scale(1.08) rotate(-3deg)}to{transform:translate3d(var(--fly-x),var(--fly-y),0) scale(.98) rotate(0)}}@keyframes correctPop{0%{transform:scale(1)}55%{transform:scale(1.15) rotate(-2deg)}to{transform:scale(1)}}@keyframes wrongShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes dropBanner{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes feedbackToast{0%{opacity:0;transform:translate(-50%,-8px) scale(.96)}14%,72%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-8px) scale(.98)}}@media(min-width:620px){.game-stage{padding-left:clamp(24px,6vw,48px);padding-right:clamp(24px,6vw,48px)}.play-layout{grid-template-rows:auto auto auto minmax(150px,1fr)}}@media(orientation:landscape)and (min-width:700px)and (max-height:820px){.game-stage{gap:8px;padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}.top-bar{min-height:52px}.status-chip{min-height:50px}.center-layout{align-items:start;padding-bottom:0}.intro-panel{width:min(100%,520px);max-height:100%;padding:10px 14px;gap:8px}.quest-panel:before{inset:9px}.intro-hero-row{min-height:102px}.intro-panel .hero-sprite{width:clamp(98px,14vh,116px)}.intro-panel h1{font-size:clamp(1.55rem,4.6vw,2.15rem);line-height:.94}.intro-panel p{max-width:34ch;font-size:clamp(.9rem,2.4vw,1.05rem);line-height:1.1}.mission-card{padding:7px 9px;gap:6px}.intro-actions{gap:10px}.primary-btn{min-height:44px;min-width:176px;font-size:clamp(1.02rem,3vw,1.3rem)}.icon-btn{width:52px}.sequence-row{gap:9px}.sequence-row.compact{max-width:450px}.number-tile{width:clamp(56px,10.5vh,78px);max-width:clamp(56px,10.5vh,78px);font-size:clamp(1.35rem,5.5vh,2.2rem)}.number-tile.is-long-number{font-size:clamp(.95rem,3.8vh,1.45rem)}.play-layout,.feedback-layout{gap:8px;padding-bottom:6px}.option-zone{min-height:98px}.play-scene{min-height:210px}.play-scene .hero-sprite{width:clamp(150px,28vh,200px)}.pattern-sign{min-height:34px;padding:6px 10px;font-size:clamp(.72rem,2.1vh,.86rem)}.feedback-layout{grid-template-rows:auto auto minmax(86px,auto) minmax(0,1fr) auto}.feedback-hero .hero-sprite{width:clamp(116px,25vh,168px)}.summary-grid div{min-height:68px}}@media(max-height:650px){.intro-panel{gap:10px;padding:14px}.micro-copy{display:none}.play-layout,.feedback-layout{gap:8px}.option-zone{min-height:82px}.number-tile{max-width:clamp(48px,14vw,70px)}.hero-sprite{width:clamp(88px,24vw,122px)}.play-scene{min-height:112px}.feedback-banner{min-height:38px}}@media(max-width:380px){.speech-bubble,.pattern-sign{font-size:.72rem}}
