.me-root{--magic:#7A4AD8;--gold:#FFD84A}.me-sky{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse 70% 55% at 50% 42%,#5B3EC8 0,#3A2591 45%,#1E1458 100%);pointer-events:none}.me-stars{position:absolute;inset:0 0 25% 0;background:url(/images/literacy/magic-e/stars.png) 0 0/520px 520px repeat;animation:me-twinkle 5s ease-in-out infinite alternate}@keyframes me-twinkle{0%{opacity:.45}to{opacity:.8}}.me-moon{position:absolute;right:14%;top:11%;width:clamp(48px,8vmin,90px);aspect-ratio:1;background:url(/images/literacy/magic-e/moon.png) 50%/contain no-repeat;filter:drop-shadow(0 0 18px rgba(255,241,184,.45))}.me-curtain{position:absolute;top:0;width:clamp(60px,11vw,170px);height:72%;-o-object-fit:fill;object-fit:fill;-webkit-user-select:none;-moz-user-select:none;user-select:none}.me-curtain.is-left{left:0}.me-curtain.is-right{right:0;transform:scaleX(-1)}.me-floor{position:absolute;inset:auto 0 0 0;height:22%;background:url(/images/literacy/magic-e/stage-floor.png) top/100% 100% no-repeat,#A8693A}.me-pick-title{color:#B98CFF}.me-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:.7rem}.me-mode{--tone:#7A4AD8;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.8rem .8rem .9rem;border-radius:1.4rem;border:4px solid var(--outline);background:var(--tone);color:#fff;box-shadow:0 6px 0 0 color-mix(in srgb,var(--tone) 55%,black);transition:transform .2s var(--pl-soft),box-shadow .2s var(--pl-soft)}.me-mode.is-which{--tone:#16B6CE}.me-mode:hover{transform:translateY(-3px) rotate(-1deg)}.me-mode:active{transform:translateY(5px);box-shadow:0 1px 0 0 color-mix(in srgb,var(--tone) 55%,black)}.me-mode-show{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:6.6rem;padding:.5rem;border-radius:1rem;border:3px solid var(--outline);background:#FFFBF2}.me-mode-pic{width:4.2rem;height:4.2rem;-o-object-fit:contain;object-fit:contain}.me-mode-word{font-size:2.2rem;line-height:1;color:var(--ink)}.me-mode-e{color:var(--magic);text-shadow:0 0 10px rgba(255,216,74,.95)}.me-mode-cards{display:flex;flex-direction:column;gap:.3rem}.me-mode-cards span{padding:.05rem .7rem .15rem;border-radius:.7rem;border:3px solid var(--outline);background:#fff;color:var(--ink);font-size:1.6rem;line-height:1.15}.me-mode-name{font-family:var(--display);font-weight:700;font-size:1.4rem;line-height:1.1;-webkit-text-stroke:1.4px var(--outline);paint-order:stroke fill}.me-mode-hint{font-size:.95rem;font-weight:700;line-height:1.3;text-shadow:0 1px 0 rgba(0,0,0,.35)}@media (max-width:560px){.me-modes{grid-template-columns:minmax(0,1fr)}.me-mode-show{min-height:0}.me-mode-pic{width:3.2rem;height:3.2rem}}.me-play .pl-ridebar{--ride:#7A4AD8}.me-stage{--tile:clamp(52px,min(11cqw,15cqh),120px);--patchy:min(20cqw,36cqh);position:relative;flex:1;min-height:0;container-type:size;display:grid;grid-template-columns:minmax(0,22fr) minmax(0,54fr) minmax(0,24fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"pat board wand" "pat choice wand";gap:clamp(4px,1.4cqmin,14px) clamp(6px,1.6cqw,22px);padding:clamp(6px,1.6cqmin,18px) clamp(8px,1.8cqw,24px) clamp(10px,3cqmin,30px);pointer-events:none}.me-pat-area{grid-area:pat;z-index:6;flex-direction:column;justify-content:flex-end;gap:.7rem}.me-board-area,.me-pat-area{position:relative;display:flex;align-items:center;min-height:0}.me-board-area{grid-area:board;z-index:2;justify-content:center;min-width:0}.me-wand-area{grid-area:wand;z-index:4;align-items:center;min-height:0}.me-choice-area,.me-wand-area{position:relative;display:flex;justify-content:center}.me-choice-area{grid-area:choice;z-index:5;min-height:calc(var(--tile) * 1.7)}.me-stage.is-which .me-wand-area{opacity:.9}@media (max-aspect-ratio:1/1){.me-stage{--tile:clamp(48px,min(16cqw,10cqh),104px);--patchy:min(30cqw,20cqh);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;grid-template-areas:"board" "choice" "pat"}.me-pat-area{flex-direction:row-reverse;align-items:flex-end;justify-content:flex-end}.me-wand-area{grid-area:board;align-self:start;justify-self:end;width:calc(var(--tile) * 2);margin-top:2%}}.me-patchy{flex-shrink:0;width:var(--patchy);background:none;border:0;padding:0;pointer-events:auto}.me-patchy-pose{display:block;transform-origin:50% 85%}.me-patchy-pose.is-wave{animation:lit-wave .8s var(--pl-spring)}.me-patchy-pose.is-scratch{animation:lit-scratch .9s ease-in-out}.me-bubble{position:relative;width:100%;max-width:22rem;padding:.55rem .8rem .65rem;border-radius:1.3rem;border:4px solid var(--outline);background:#FFFBF2;box-shadow:0 6px 0 0 rgba(31,26,56,.3);font-family:var(--display);font-weight:700;font-size:clamp(1rem,min(1.9cqw,4.4cqh),1.55rem);line-height:1.25;color:#3720A3;margin-bottom:.8rem;text-align:center;animation:me-bubble-in .4s var(--pl-spring);transform-origin:60% 100%}.me-bubble:after{left:58%;top:calc(100% - 2px);width:1.5rem;height:.95rem;background:var(--outline)}.me-bubble:after,.me-bubble:before{content:"";position:absolute;clip-path:polygon(0 0,100% 0,30% 100%)}.me-bubble:before{z-index:1;left:calc(58% + 5px);top:calc(100% - 5px);width:calc(1.5rem - 12px);height:.6rem;background:#FFFBF2}@keyframes me-bubble-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}.me-bubble p{margin:0}.me-bubble .is-big{font-size:1.25em;color:#3E7A16}.me-bubble .lit-bubble-word{font-size:1.1em}@media (max-aspect-ratio:1/1){.me-bubble{max-width:none;flex:1;margin:0 0 calc(var(--patchy) * .4)}.me-bubble:after{left:-1.3rem;bottom:.8rem;width:1.4rem;height:1.4rem}.me-bubble:after,.me-bubble:before{top:auto;clip-path:polygon(100% 0,0 50%,100% 100%)}.me-bubble:before{left:-.75rem;bottom:calc(.8rem + 5px);width:.9rem;height:calc(1.4rem - 10px)}}.me-board{flex-direction:column;gap:clamp(8px,2.4cqmin,22px)}.me-board,.me-frame{display:flex;align-items:center}.me-frame{position:relative;justify-content:center;width:calc(var(--tile) * 2.3);aspect-ratio:1;border-radius:1.6rem;border:4px solid var(--outline);background:#FFFBF2;box-shadow:0 7px 0 0 rgba(31,26,56,.4),0 0 46px 6px rgba(255,216,74,.25)}.me-frame:before{content:"";position:absolute;inset:7px;border-radius:1.2rem;border:2.5px dashed #c6bafb;pointer-events:none}.me-frame-pic{width:84%;height:84%;-o-object-fit:contain;object-fit:contain;animation:me-flip-in .55s var(--pl-spring)}@keyframes me-flip-in{0%{transform:rotateY(90deg) scale(.8);opacity:0}to{transform:none;opacity:1}}.me-frame-mystery{width:46%;color:#B98CFF;animation:pl-bob 2.4s ease-in-out infinite}.me-tiles{display:flex;align-items:flex-end;gap:clamp(4px,1cqw,12px)}.me-tile{display:flex;align-items:center;justify-content:center;width:var(--tile);height:calc(var(--tile) * 1.15);border-radius:1rem;border:4px solid var(--outline);background:#FFFBF2;box-shadow:0 6px 0 0 rgba(31,26,56,.45);position:relative}.me-tile:after{content:"";position:absolute;inset:5px;border-radius:.7rem;border:2px dashed rgba(43,35,80,.18);pointer-events:none}.me-tile-face{display:block;font-size:calc(var(--tile) * .78);line-height:1;color:var(--ink)}.me-tile.is-vowel{background:#DDF4FF}.me-tile.is-long{background:var(--gold);box-shadow:0 6px 0 0 #B88A0C,0 0 30px 8px rgba(255,216,74,.65);transition:background .3s,box-shadow .3s}.me-tile.is-long .me-tile-face{animation:me-hop .75s var(--pl-spring) .35s both}@keyframes me-hop{0%{transform:none}40%{transform:translateY(-38%) scale(1.15)}70%{transform:translateY(4%) scale(1.05,.95)}to{transform:none}}.me-tile.is-e{background:var(--magic);box-shadow:0 6px 0 0 #4A2596,0 0 26px 6px rgba(185,140,255,.75);animation:me-land .5s var(--pl-spring)}.me-tile.is-e .me-tile-face{color:#fff;-webkit-text-stroke:2px var(--outline);paint-order:stroke fill}@keyframes me-land{0%{transform:translateY(-40%) scale(1.3) rotate(-14deg)}to{transform:none}}.me-slot{display:flex;align-items:center;justify-content:center;width:var(--tile);height:calc(var(--tile) * 1.15);border-radius:1rem;border:4px dashed #ffd84a;background:rgba(255,216,74,.12);transition:transform .2s var(--pl-soft),background .2s,box-shadow .2s;animation:me-wait 1.6s ease-in-out infinite}.me-slot.is-over{transform:scale(1.12);background:rgba(255,216,74,.35);box-shadow:0 0 30px 8px rgba(255,216,74,.6)}.me-slot.is-full{border:0;background:none;animation:none}.me-slot-hint{font-family:var(--display);font-weight:700;font-size:calc(var(--tile) * .55);color:#FFD84A;opacity:.85}@keyframes me-wait{0%,to{box-shadow:0 0 0 0 rgba(255,216,74,0)}50%{box-shadow:0 0 24px 4px rgba(255,216,74,.55)}}.me-wand{position:relative;width:min(100%,calc(var(--tile) * 2.6));aspect-ratio:1;background:none;border:0;padding:0;pointer-events:auto;transform:rotate(-8deg);transform-origin:20% 90%}.me-wand.is-ready{animation:me-wave 2.2s ease-in-out infinite}.me-wand:disabled{cursor:default}.me-wand.is-spent{opacity:.75}@keyframes me-wave{0%,to{transform:rotate(-8deg)}50%{transform:rotate(4deg)}}.me-wand-art{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 6px 0 rgba(0,0,0,.3))}.me-wand-e{position:absolute;left:calc(50% - var(--tile) * .475);top:calc(17% - var(--tile) * .525);display:flex;align-items:center;justify-content:center;width:calc(var(--tile) * .95);height:calc(var(--tile) * 1.05);border-radius:1rem;border:4px solid var(--outline);background:var(--magic);box-shadow:0 5px 0 0 #4A2596,0 0 30px 10px rgba(255,216,74,.7);cursor:grab;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;animation:me-glow 1.4s ease-in-out infinite}.me-wand-e .lit-word{font-size:calc(var(--tile) * .72);line-height:1;color:#fff;-webkit-text-stroke:2px var(--outline);paint-order:stroke fill}.me-wand-e.is-drag{cursor:grabbing;animation:none;z-index:20}.me-wand-e.is-fly{animation:none;transition:transform .55s cubic-bezier(.5,-.3,.4,1.2)}@keyframes me-glow{0%,to{box-shadow:0 5px 0 0 #4A2596,0 0 18px 6px rgba(255,216,74,.55)}50%{box-shadow:0 5px 0 0 #4A2596,0 0 36px 14px rgba(255,216,74,.9)}}@media (max-aspect-ratio:1/1){.me-wand{width:100%}}.me-pics,.me-words{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,2cqw,24px)}.me-pics li,.me-words li{animation:me-pop-in .45s var(--pl-spring) both;animation-delay:calc(var(--i) * .12s)}@keyframes me-pop-in{0%{opacity:0;transform:translateY(30px) scale(.6)}to{opacity:1;transform:none}}.me-pic{display:flex;align-items:center;justify-content:center;width:calc(var(--tile) * 1.6);aspect-ratio:1;border-radius:1.3rem;border:4px solid var(--outline);background:#FFFBF2;box-shadow:0 6px 0 0 rgba(31,26,56,.45);transition:transform .2s var(--pl-soft),box-shadow .2s var(--pl-soft),opacity .3s}.me-pic img{width:86%;height:86%;-o-object-fit:contain;object-fit:contain;pointer-events:none}.me-pic:not(:disabled):hover{transform:translateY(-4px) rotate(-1.5deg)}.me-word{min-width:calc(var(--tile) * 2.4);padding:.1em .5em .18em;border-radius:1.2rem;border:4px solid var(--outline);background:#FFFBF2;box-shadow:0 6px 0 0 rgba(31,26,56,.45);color:var(--ink);font-size:calc(var(--tile) * .78);line-height:1.15;transition:transform .2s var(--pl-soft),box-shadow .2s var(--pl-soft),opacity .3s}.me-word:not(:disabled):hover{transform:translateY(-4px) rotate(-1.5deg)}.me-word-e{color:var(--magic)}.me-pic.is-right,.me-word.is-right{transform:scale(1.1);box-shadow:0 6px 0 0 rgba(31,26,56,.45),0 0 34px 12px rgba(255,216,74,.85)}.me-pic.is-hint,.me-word.is-hint{animation:me-hint 1s ease-in-out infinite}@keyframes me-hint{0%,to{box-shadow:0 6px 0 0 rgba(31,26,56,.45),0 0 14px 4px rgba(255,216,74,.5)}50%{box-shadow:0 6px 0 0 rgba(31,26,56,.45),0 0 38px 14px rgba(255,216,74,.95)}}.me-pic.is-no,.me-word.is-no{opacity:.55;filter:grayscale(1);animation:me-no .5s ease-in-out}@keyframes me-no{0%,to{transform:none}20%{transform:translateX(-10px) rotate(-4deg)}50%{transform:translateX(9px) rotate(3deg)}80%{transform:translateX(-5px)}}@media (min-aspect-ratio:1/1) and (max-height:520px){.me-root .lit-pick-text{display:none}.me-root .lit-pick-label{margin-top:.4rem}.me-mode-show{min-height:0;padding:.35rem}.me-mode-pic{width:2.8rem;height:2.8rem}.me-mode-hint{display:none}.me-stage{--tile:clamp(40px,min(9cqw,13cqh),90px)}}@media (prefers-reduced-motion:reduce){.me-frame-mystery,.me-pic.is-hint,.me-slot,.me-stars,.me-wand,.me-wand-e,.me-word.is-hint{animation:none!important}.me-frame-pic,.me-tile.is-e,.me-tile.is-long .me-tile-face{animation:none}}