body{background:#102e32;color:#fff;min-height:100svh}.site-header{max-width:1260px;margin:auto}main{max-width:1200px;margin:auto;padding:5px 20px 20px}.stage-shell{border:1px solid #48645d;border-radius:16px;overflow:hidden;box-shadow:0 25px 70px #00171c70}#stage{position:relative;aspect-ratio:1.7;max-height:67svh;overflow:hidden;background:#bdebf0}.scenery{width:100%;height:100%;object-fit:fill;position:absolute;inset:0}.episode-label{position:absolute;top:16px;left:20px;color:#254b38;background:#fff4c7e8;padding:7px 12px;border-radius:20px;font-size:11px;letter-spacing:1.5px;font-weight:700;z-index:5}.actor{position:absolute;bottom:5%;width:23%;overflow:hidden;transform-origin:bottom center;z-index:3;transition:left 2s ease,transform .4s ease;filter:drop-shadow(2px 7px 2px #47511b30);opacity:0}.mother{left:1%;aspect-ratio:384/570}.mila{left:22%;width:18%;aspect-ratio:384/454}.sprite{width:100%;height:100%;background-image:url('../shared/characters.webp');background-size:400% 179.649%;background-position:0% 0%;background-repeat:no-repeat}.mila .sprite{background-size:400% 225.551%;background-position:0% 100%}.actor.entered{opacity:1;animation:arrive 2.1s ease both}.actor.entered.mila{animation-delay:.15s}@keyframes arrive{from{transform:translateX(-200%) translateY(0)}25%{transform:translateX(-140%) translateY(-8px)}50%{transform:translateX(-90%) translateY(0)}75%{transform:translateX(-35%) translateY(-8px)}to{transform:translateX(0)}}.actor.idle{animation:breathe 3.8s ease-in-out infinite}.actor.talking .sprite{animation:talk .9s steps(1,end) infinite}.actor.happy .sprite{background-position-x:100%!important}.actor.happy{animation:celebrate .8s ease-in-out 2}.actor.handing .sprite{background-position-x:66.6667%}.actor.pointing .sprite{background-position-x:66.6667%}.actor.paused,.actor.paused .sprite{animation-play-state:paused!important}@keyframes talk{0%,100%{background-position-x:0%}50%{background-position-x:33.3333%}}@keyframes breathe{50%{transform:translateY(-3px)}}@keyframes celebrate{50%{transform:translateY(-10px) rotate(-2deg)}}.prop{background-image:url('../shared/props.webp');background-size:400% 100%;background-repeat:no-repeat;aspect-ratio:543/724}.basket{position:absolute;width:12%;bottom:3%;left:37%;background-position:100% 0;z-index:4}.bag-item{position:absolute;width:5%;bottom:10%;left:39%;z-index:5}.fruit-target{position:absolute;z-index:6;background:transparent;border:3px solid #fffa;border-radius:50%;min-width:45px;min-height:45px;cursor:pointer;animation:invite 2s ease infinite}.fruit-target:hover,.fruit-target:focus-visible{background:#fff7;outline:3px solid #fcb936}.fruit-target span{position:absolute;bottom:-27px;left:50%;transform:translateX(-50%);background:#fff7cde8;color:#244331;border-radius:12px;padding:4px 8px;font-size:13px;white-space:nowrap}@keyframes invite{50%{box-shadow:0 0 0 6px #fff5}}.flying-fruit{position:absolute;z-index:7;width:10%;aspect-ratio:543/724;transition:all 1.1s cubic-bezier(.35,.03,.24,1);pointer-events:none}.dialogue{position:absolute;left:5%;top:17%;z-index:8;background:#fffdf0;border:2px solid #295237;border-radius:24px 24px 24px 4px;padding:16px 23px;color:#244333;max-width:43%;box-shadow:3px 5px 0 #42672b25;opacity:0;transform:translateY(12px);transition:opacity .25s,transform .25s}.dialogue.visible{opacity:1;transform:none}.dialogue.mila-says{left:27%;top:22%;background:#ffe49f;border-radius:24px 24px 4px 24px}.dialogue .who{font-size:11px;font-weight:700;letter-spacing:1.5px;display:block;margin-bottom:6px}.dialogue b{font:600 clamp(20px,2.6vw,33px)/1.1 Georgia,serif;display:block}.dialogue .fr{font-size:15px;margin-top:8px;display:block;line-height:1.4}.start{position:absolute;inset:0;z-index:10;background:linear-gradient(90deg,#153e357a,transparent);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:7%;text-shadow:0 2px 18px #184437}.start span{font-size:11px;letter-spacing:2px}.start h1{font:600 clamp(36px,5vw,68px)/1 Georgia,serif;margin:20px 0}.start p{font-size:17px}.start .gold{font-size:18px;margin-top:10px;padding:15px 25px}.interaction{background:#fff8df;color:#233e33;padding:17px 24px;min-height:82px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}#instruction{font-size:17px;font-weight:600}#actions{display:flex;flex-wrap:wrap;gap:9px}#actions button{border:0;background:#194b3d;color:white;border-radius:24px;padding:11px 16px;font-size:14px}#feedback{width:100%;font-size:14px;color:#496539}#feedback:empty{display:none}.player-bar{display:flex;align-items:center;justify-content:center;gap:20px;margin:16px 0 10px}#status{font-size:13px;min-width:140px;text-align:center}.notice{text-align:center;color:#c2d8ce;margin:0}.interaction audio{height:34px;max-width:230px}.paused-overlay{position:absolute;inset:0;z-index:9;background:#1b3d3550;display:grid;place-items:center;color:white;font:600 36px Georgia,serif;pointer-events:none}@media(max-width:650px){main{padding:6px 10px 15px}#stage{aspect-ratio:.92;max-height:none}.stage-shell{border-radius:12px}.scenery{object-fit:fill}.mother{width:31%;left:0%;bottom:4%}.mila{width:24%;left:29%;bottom:4%}.basket{left:52%;width:16%;bottom:2%}.bag-item{width:7%;left:55%;bottom:8%}.dialogue{max-width:71%;top:15%;left:5%;padding:13px 16px}.dialogue b{font-size:24px}.dialogue .fr{font-size:14px}.dialogue.mila-says{left:17%;top:19%}.dialogue .who{font-size:10px}.episode-label{font-size:10px;left:12px;top:12px}.start{padding:7%}.start span{font-size:10px;line-height:1.5;max-width:220px}.start h1{font-size:43px}.start p{max-width:220px;line-height:1.4}.interaction{padding:15px 16px;gap:10px;min-height:100px}#instruction{font-size:16px;line-height:1.35}#actions button{padding:11px 14px}.fruit-target span{font-size:11px;bottom:-23px}.player-bar{gap:10px}.player-bar button{font-size:13px;padding:10px 13px}#status{font-size:12px;min-width:90px}.notice{font-size:11px;line-height:1.35}.flying-fruit{width:15%}}
#stage{width:100%}.basket{left:44%;width:10%}.bag-item{left:46%}
@media(max-width:650px){#stage{aspect-ratio:1.05}.dialogue,.dialogue.mila-says{top:8%;left:5%;max-width:90%;padding:12px 15px}.dialogue b{font-size:22px}.dialogue .fr{font-size:13px;margin-top:6px}.mother{width:34%;bottom:3%}.mila{width:26%;left:29%;bottom:3%}.basket{left:58%;width:15%;bottom:2%}.bag-item{left:60%}}
@media(min-width:651px){.dialogue{top:9%}}
@media(max-width:650px){.dialogue,.dialogue.mila-says{top:4%}}
.dialogue{pointer-events:none}
@media(max-width:650px){.dialogue b{font-size:20px}}
.bag-item{left:calc(46% + var(--slot,0) * 2%);width:5%;bottom:9%;transform:rotate(var(--angle,0deg))}
@media(max-width:650px){.bag-item{left:calc(60% + var(--slot,0) * 3%);width:7%}}
.scenery{object-fit:cover}.actor{transition:left 1.3s ease,transform .5s ease}.actor.pointing{transform:rotate(-2deg)}.actor.handing{transform:translateX(4%)}
@media(max-width:650px){.scenery{object-fit:fill}.dialogue b{line-height:1.2}}
.party-scene .actor,.party-scene .basket{display:none}.party-scene .scenery{object-fit:contain;background:#e0b64d}.party-scene .dialogue{left:4%;top:5%;max-width:40%}.party-fruit{position:absolute;width:8%;bottom:34%;left:54%;z-index:5;filter:drop-shadow(2px 3px 2px #71491944)}
@media(max-width:650px){.party-scene .dialogue{max-width:85%;left:5%;top:2%}.party-fruit{width:12%;left:57%;bottom:39%}}
.actor.voice-driven.talking .sprite{animation:none;background-position-x:0%}.actor.voice-driven.talking.mouth-open .sprite{background-position-x:33.3333%}.hide-french .dialogue .fr{display:none}.dialogue:after{content:'';position:absolute;bottom:-18px;left:16%;width:20px;height:28px;background:inherit;border-right:2px solid #295237;border-bottom:2px solid #295237;transform:skewY(40deg);clip-path:polygon(0 0,100% 0,100% 100%)}.player-bar{flex-wrap:wrap}.fruit-target{border:0;animation:none}.fruit-target:hover{outline:3px solid #fcb936;background:#ffdf8033}.scenery{object-fit:fill}.dialogue{max-width:46%}.start .gold{margin-top:8px}.interaction{min-height:105px}
@media(max-width:650px){#stage{aspect-ratio:1.5}.mother{width:23%;left:1%}.mila{width:18%;left:24%}.basket{left:44%;width:10%}.bag-item{left:calc(46% + var(--slot,0) * 2%);width:5%;bottom:9%}.dialogue,.dialogue.mila-says{max-width:52%;top:3%;left:4%;padding:9px 11px}.dialogue.mila-says{left:21%}.dialogue b{font-size:17px}.dialogue .fr{font-size:11px}.dialogue .who{font-size:8px}.episode-label{font-size:8px;top:auto;bottom:5px;left:auto;right:7px;padding:4px 7px}.start h1{font-size:32px;margin:8px 0}.start span{font-size:8px}.start p{font-size:13px;margin:4px 0}.start .gold{font-size:13px;padding:9px 15px}.party-scene .dialogue{max-width:50%}.party-fruit{width:8%;left:54%;bottom:34%}}

#stage{aspect-ratio:1.5;max-height:none}
