[hidden]{display:none!important}.play{max-width:850px;margin:auto;padding:26px 24px 190px}.play-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.quiet{border:2px solid #d9d5ed;border-radius:12px;background:white;padding:12px 18px;color:#493b83;font-weight:bold;min-height:48px}.stage{background:white;border:2px solid #e1e2ef;border-radius:26px;padding:30px;text-align:center}.stage h1{font-size:30px;letter-spacing:0;margin:10px 0 16px}.stage .scene{font-size:68px;margin:16px 0}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:22px 0}.choice{background:#f2effc;border:2px solid #d8d0f1;border-bottom-width:5px;border-radius:17px;padding:17px 12px;color:#292744;font-weight:bold;min-height:100px}.choice .pic{display:block;font-size:45px;margin-bottom:8px}.choice[aria-pressed=true]{background:#e3f4ca;border-color:#729e44}.choice:hover{border-color:#6650b5}.primary{background:#5845bc;color:#fff;border:0;border-bottom:5px solid #3a2b87;padding:15px 25px;border-radius:14px;font-weight:bold;min-height:54px}.primary:disabled{background:#e5e3ec;color:#676477;border-color:#cecadb;cursor:default}.feedback{min-height:32px;margin:15px 0;color:#47543b;font-weight:bold;font-size:20px}.task-word{display:inline-block;font-size:42px;letter-spacing:8px;background:#edf4df;padding:14px 26px;border-radius:16px;font-weight:bold}.bag{font-size:36px;min-height:58px;padding:12px;background:#f7f5fb;border-radius:15px;margin:15px 0}.letters{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:22px 0}.letter{font-size:30px;min-width:66px;min-height:66px}.slots{font-size:38px;letter-spacing:12px;min-height:60px;margin:20px}.help-step{display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;text-align:left;font-weight:bold;padding:0;width:100%;min-height:46px}.routine li{padding:9px 14px}.guide{margin-top:18px;font-size:15px;color:#5c6077;line-height:1.6}.guide summary{cursor:pointer;font-weight:bold}.guide p{margin-top:10px}.local-note{font-size:13px;color:#74778a;margin-top:12px}.progress{display:flex;gap:7px;justify-content:center;margin:0 0 20px}.progress span{width:40px;height:9px;border-radius:7px;background:#e7e3f4}.progress .done{background:#8171d4}.listen{margin:0 0 12px}.pause-screen{font-size:22px}.badge-earned{background:#fff0c3;border:2px solid #e1b75e;color:#75561a}.reward{font-size:90px}.speech-note{font-size:14px;line-height:1.4}.help-image{font-size:54px;margin-bottom:16px}@media(max-width:600px){.play{padding:20px 16px 210px}.stage{padding:20px 15px}.choices{gap:10px}.choice{padding:12px 6px;font-size:16px}.choice .pic{font-size:36px}.stage h1{font-size:25px}.play-top{flex-wrap:wrap}.help-step{flex-direction:column;text-align:center;font-size:14px;gap:3px}.routine li{padding:8px 4px}.task-word{font-size:34px}} 
.key-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 20px}.hero-pill{font-weight:bold;margin-right:auto}.key-pill{background:#e5e2f1;border-radius:24px;padding:8px 14px;font-size:15px}.key-pill.got{background:#e7f3cd;color:#425929}.instruction{font-size:22px;margin-bottom:16px!important}.voice-note{font-size:14px}.power-caption{display:block;margin-top:9px;line-height:1.5;font-weight:normal}.island-map{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:25px 0}.map-stop{min-height:190px}.map-stop small{display:block;margin-top:13px;font-size:14px}.choice:disabled{opacity:.65;cursor:default}.restart{margin:18px 8px 0}.round-label{color:#636b82;font-size:16px;margin:12px 0}.paper-toggle{display:flex;justify-content:center;gap:12px;margin:10px 0 24px}.paper-toggle [aria-pressed=true]{background:#e3f4ca;border-color:#729e44}.paper-model{font-size:68px;min-width:160px;background:#fff8e8;border:2px dashed #d4bc7c}.paper-steps{list-style:none;padding:0;margin:24px 0;display:grid;gap:15px;font-size:21px}.extra-action{margin-top:20px!important}.route-clue{display:flex;justify-content:center;gap:15px;align-items:center;font-size:30px;margin:20px 0}.route-clue span{font-size:45px}.route-track{display:flex;align-items:center;justify-content:space-between;border-bottom:7px solid #b0d7ea;margin:22px 0 30px;padding:10px 15px}.route-track span{font-size:40px;min-width:50px;min-height:55px}.power-scene{position:relative;height:190px;border-radius:20px;background:#e9f4fa;margin:25px 0;border-bottom:12px solid #c1daa3;overflow:hidden}.actor{position:absolute;left:8%;bottom:10px;font-size:65px;z-index:2}.obstacle{position:absolute;left:45%;bottom:7px;font-size:67px;transition:opacity .5s}.destination{position:absolute;right:8%;bottom:25px;font-size:42px}.roll .actor{animation:roll 1.4s forwards}.fly .actor{animation:fly 1.4s forwards}.sneak .actor{animation:sneak 1.4s forwards}.roll .obstacle,.sneak .obstacle{opacity:.18}@keyframes roll{to{left:78%;transform:rotate(8deg)}}@keyframes fly{40%{left:45%;bottom:90px}to{left:78%;bottom:10px}}@keyframes sneak{40%{left:40%;transform:scale(.65)}to{left:78%;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.roll .actor,.fly .actor,.sneak .actor{animation:none;left:78%}}@media(max-width:560px){.island-map{grid-template-columns:1fr}.map-stop{min-height:120px}.key-row{gap:6px}.key-pill{padding:7px;font-size:13px}.hero-pill{width:100%}.instruction{font-size:19px}.paper-model{font-size:52px}.power-caption{font-size:14px}.actor{font-size:50px}.power-scene{height:170px}}
.home-restart{display:block;margin:18px auto}.badges{flex-wrap:wrap}.celebration{background:linear-gradient(145deg,#fffdf5,#f2edff);border-color:#dfc76b}.code-star{margin:20px auto;animation:star-arrives .75s ease-out}.reward-copy{margin:16px 0!important;font-size:22px}.celebration .primary{margin-top:22px}.play-top .quiet{font-size:16px}.play-top{flex-wrap:wrap}@keyframes star-arrives{from{transform:scale(.5) rotate(-15deg);opacity:.2}to{transform:scale(1) rotate(0);opacity:1}}@media(prefers-reduced-motion:reduce){.code-star{animation:none}}
.success-banner{padding:20px;background:#e8f5d7;border:2px solid #8cba53;border-radius:18px;color:#304a18;font-size:24px;line-height:1.5;min-height:80px}.star-panel{margin-top:22px;padding:17px 10px;background:#fff4c4;border:2px solid #dfb64b;border-radius:18px}.star-panel strong{font-size:23px;color:#5a4003}.star-panel p{font-size:14px;margin-top:8px}.star-top{background:#fff1b6;border:2px solid #e1bd5c;padding:11px 15px;border-radius:16px;color:#5a4003;font-size:21px}.star-summary{background:#fff2bd;border:2px solid #dbb555;border-radius:20px;padding:22px;margin:22px 0;color:#5a4003}.star-summary strong{font-size:26px}.star-summary p{font-size:22px;margin-top:9px}.compact-word{font-size:28px;letter-spacing:3px}.portal-plan{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:15px 0}.portal-plan span{padding:12px;background:#f0eef8;border-radius:12px;font-size:16px}.portal-plan .plan-current{outline:3px solid #6d57b4;background:#e8defd}.rescue-end{font-size:62px;margin:20px 0}.key-row{justify-content:center}.key-pill{font-size:14px}.celebration h1{color:#513ba0}@media(max-width:560px){.star-top{font-size:18px}.success-banner{font-size:20px}.star-summary strong{font-size:23px}.compact-word{font-size:24px;letter-spacing:1px}}
header{flex-wrap:wrap}.player-switch{font-size:16px}.players-dialog{width:min(560px,calc(100% - 32px));max-height:88vh;overflow:auto;border:2px solid #dcd6ef;border-radius:24px;padding:28px;color:#252646;background:#fff}.players-dialog::backdrop{background:#1d214d80}.players-dialog h2{margin:0 0 12px}.players-dialog>p{font-size:16px;line-height:1.6}.players-list{display:grid;gap:10px;margin:22px 0}.player-option{padding:15px;border-radius:13px;border:2px solid #dcd6ef;background:#f3effc;text-align:left;color:#302851;min-height:52px}.new-player{display:grid;gap:12px;border-top:2px solid #e8e4f2;padding-top:20px}.new-player label{font-weight:bold}.new-player input{font:inherit;padding:14px;border:2px solid #aaa1c7;border-radius:12px;width:100%}.profile-error{color:#a62e36;margin:12px 0}.players-dialog .local-note{margin-bottom:18px}.players-dialog input:focus-visible{outline:3px solid #6b53be;outline-offset:3px}
.dialog.praise-dialog{border:3px solid #d7ad38;background:linear-gradient(150deg,#fff9db,#f1eaff);padding:38px 30px;max-width:490px}.praise-dialog .dialog-icon{font-size:92px;animation:star-arrives .65s ease-out}.praise-dialog h2{font-size:32px;color:#503a93}.praise-dialog p{font-size:23px;color:#3f3657;line-height:1.55}.praise-dialog .close{font-size:22px}@media(prefers-reduced-motion:reduce){.praise-dialog .dialog-icon{animation:none}}
