@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(./andika-latin-400-normal-CFQEN4Ue.woff2) format("woff2"),url(./andika-latin-400-normal-CDApGPvA.woff) format("woff")}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(./andika-latin-700-normal-DvW8iDJd.woff2) format("woff2"),url(./andika-latin-700-normal-D1aqbIvl.woff) format("woff")}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:800;src:url(./grandstander-latin-800-normal-Cl8WUP_Z.woff2) format("woff2"),url(./grandstander-latin-800-normal-DH6SQX4F.woff) format("woff")}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:900;src:url(./grandstander-latin-900-normal-D3Fkwusx.woff2) format("woff2"),url(./grandstander-latin-900-normal-DZ8kewAK.woff) format("woff")}:root{--sea: #2a8cc0;--sea-deep: #0e3b5c;--sky: #bfe8ff;--sand: #f3d9a4;--grass: #5dbb63;--grass-dark: #2f8a4a;--lamp: #ffd84a;--lamp-dark: #c98e0b;--berry: #e8476a;--ink: #13243a;--cloud: #fffdf7;--go: #43b649;--go-dark: #2a7a33;--muted: #5b6b80;--font-display: "Grandstander", "Baloo 2", "Comic Sans MS", system-ui, sans-serif;--font-body: "Andika", "Trebuchet MS", system-ui, sans-serif;--chunk: 0 6px 0 var(--ink);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--sea);color:var(--ink);font-family:var(--font-body);font-size:16px;overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}button:focus-visible,[role=button]:focus-visible{outline:4px solid var(--lamp);outline-offset:4px}input,select{font:inherit;color:var(--ink);-webkit-user-select:text;user-select:text}.app{position:relative;height:100%;overflow:hidden}.screen{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;overflow:hidden}.round-btn{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--cloud);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);transition:transform .1s,box-shadow .1s}.round-btn:active{transform:translateY(4px);box-shadow:0 0 0 var(--ink)}.corner-left{position:absolute;top:max(16px,env(safe-area-inset-top,0px));left:max(16px,env(safe-area-inset-left,0px));z-index:3}.parent-btn{position:absolute;top:max(16px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));z-index:3;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:#13243ab8;color:var(--cloud);font-family:var(--font-body);font-size:14px;font-weight:700}.parent-btn.inline{position:static}.play-btn{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#7be07f,var(--go) 60%);color:var(--cloud);border:5px solid var(--ink);box-shadow:0 10px 0 var(--go-dark),0 10px 0 4px var(--ink);animation:breathe 2.2s ease-in-out infinite}.play-btn svg{transform:translate(5px);filter:drop-shadow(0 3px 0 rgba(19,36,58,.35))}.play-btn:active{transform:translateY(8px) scale(.98);box-shadow:0 2px 0 var(--go-dark),0 2px 0 4px var(--ink);animation:none}.play-btn.small{width:104px;height:104px}.title-screen{background:linear-gradient(#7fcdf1,#bfe8ff 45%,#fff1c9);justify-content:center}.title-sun{position:absolute;top:9%;right:12%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#fff6c2 0,#fff6c2 40%,#ffe27a 41%,#ffe27a 62%,#ffe27a00 63%);animation:glow 5s ease-in-out infinite}.title-hills{position:absolute;left:0;right:0;bottom:0;height:32%}.title-hills svg{width:100%;height:100%;display:block}.title-stack{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;padding-bottom:6vh}.wordmark{margin:0 0 22px;line-height:1;font-family:var(--font-display);font-weight:900;font-size:clamp(60px,13vw,128px);letter-spacing:-1px;display:flex}.wordmark span{display:inline-block;color:var(--cloud);-webkit-text-stroke:8px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink);animation:drop-in .7s cubic-bezier(.3,1.6,.5,1) both}.wordmark span:nth-child(-n+4){color:var(--lamp)}.wordmark span:nth-child(n+5){color:#7fe3e0}.mascot{overflow:visible}.mascot-float{animation:float 3.2s ease-in-out infinite}.mascot-puff{animation:puff 2.4s ease-out infinite}.mascot-puff.p2{animation-delay:1.1s}.mascot-star{transform-box:fill-box;transform-origin:center;animation:twirl 6s ease-in-out infinite}.mascot-eyes{transform-box:fill-box;transform-origin:center;animation:blink 5s infinite}.mascot.is-talking .mascot-mouth{transform-box:fill-box;transform-origin:top center;animation:talk .32s ease-in-out 8 alternate}.mascot.is-sleeping .mascot-float{animation-duration:5s}.sky-screen{background:radial-gradient(ellipse 30% 12% at 15% 18%,#ffffffe6,#fff0 70%),radial-gradient(ellipse 26% 10% at 82% 30%,#fffc,#fff0 70%),linear-gradient(#8fd6f6,#d6f1ff 55%,#fff4d6);padding:max(20px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 24px max(16px,env(safe-area-inset-left,0px));gap:18px;overflow-y:auto}.speech-row{display:flex;align-items:center;gap:8px;margin-top:8px;max-width:100%}.speech-bubble{position:relative;margin:0;background:var(--cloud);border:3px solid var(--ink);border-radius:26px;padding:14px 22px;box-shadow:0 5px 0 var(--ink);font-family:var(--font-display);font-weight:800;font-size:clamp(22px,4.5vw,32px);text-wrap:balance}.speech-bubble:before{content:"";position:absolute;left:-14px;top:50%;translate:0 -50%;border:10px solid transparent;border-right:14px solid var(--ink);border-left:0}.speech-bubble.small{font-size:18px;padding:8px 14px;border-radius:18px;box-shadow:0 4px 0 var(--ink)}.profile-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;padding:12px 0 40px;max-width:900px}.profile-tile{display:flex;flex-direction:column;align-items:center;gap:10px;transition:transform .15s}.profile-tile .avatar{border-radius:50%;border:5px solid var(--cloud);box-shadow:0 0 0 3px var(--ink),0 8px 0 3px var(--ink)}.profile-tile:active{transform:scale(.95)}.profile-name{font-family:var(--font-display);font-weight:800;font-size:22px;background:var(--cloud);border:3px solid var(--ink);border-radius:999px;padding:2px 16px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-circle{width:120px;height:120px;border-radius:50%;display:grid;place-items:center;background:#fffdf799;border:4px dashed var(--ink);color:var(--ink)}.step-dots{display:flex;gap:10px}.step-dots span{width:16px;height:16px;border-radius:50%;background:#13243a33;border:2px solid var(--ink)}.step-dots span.on{background:var(--lamp)}.choice-grid{display:grid;gap:18px;justify-content:center;padding-bottom:120px}.choice-grid.avatars{grid-template-columns:repeat(3,auto)}.choice-grid.ages{display:flex;flex-wrap:wrap;justify-content:center;max-width:640px}.choice{border-radius:28px;padding:8px;background:var(--cloud);border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);transition:transform .15s}.choice .avatar{display:block}.choice.picked{background:var(--lamp);transform:scale(1.06) rotate(-2deg)}.choice.age{width:104px;height:118px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px}.candles{width:76px;height:auto;max-height:52px}.age-num{font-family:var(--font-display);font-weight:900;font-size:44px;line-height:1}.name-step{display:flex;flex-direction:column;align-items:center;gap:12px;width:min(420px,100%);padding-bottom:120px}.name-label{font-size:15px;color:var(--muted);text-align:center}.name-input{width:100%;font-family:var(--font-display);font-weight:800;font-size:30px;text-align:center;padding:12px 16px;border-radius:20px;border:3px solid var(--ink);background:var(--cloud);box-shadow:inset 0 3px #13243a1f}.next-btn{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:max(20px,env(safe-area-inset-bottom,0px));width:100px;height:100px;border-radius:50%;display:grid;place-items:center;background:#c9d3dd;color:var(--cloud);border:4px solid var(--ink);box-shadow:0 7px 0 var(--ink);opacity:.55;transition:background .2s,opacity .2s}.next-btn.ready{background:var(--go);opacity:1;animation:nudge 1.4s ease-in-out infinite}.map-screen{background:var(--sea-deep)}.map-scroller{position:absolute;top:0;right:0;bottom:0;left:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior:contain;cursor:grab}.map-scroller::-webkit-scrollbar{display:none}.map{display:block;height:100%;width:auto;min-width:100%;aspect-ratio:1.5 / 1}.waves{animation:waves 12s linear infinite}.island{cursor:pointer;outline:none}.island-inner{animation:island-bob 5s ease-in-out infinite}.island.is-active .island-inner,.island:focus-visible .island-inner{transform-box:fill-box;transform-origin:center;animation:island-pop .55s cubic-bezier(.3,1.7,.5,1)}.island-name{font-family:var(--font-display);font-weight:800;font-size:25px;fill:var(--ink);text-anchor:middle}.island-stars{font-family:var(--font-display);font-weight:900;font-size:18px;fill:var(--ink);text-anchor:middle}.map-letter{font-family:var(--font-body);font-weight:700;font-size:14px;text-anchor:middle}.map-number{font-family:var(--font-display);font-weight:900;font-size:17px;fill:var(--ink);text-anchor:middle}.cloud{animation:drift 80s linear infinite;opacity:.85}.flag{transform-box:fill-box;transform-origin:left center;animation:wave 1.6s ease-in-out infinite}.bob{animation:bob 3s ease-in-out infinite}.dino-bob{animation:bob 2.4s ease-in-out infinite}.twinkle{transform-box:fill-box;transform-origin:center;animation:twinkle 2.2s ease-in-out infinite}.bubble{animation:rise 1.8s ease-out infinite}.smoke{animation:rise-smoke 3.2s ease-out infinite}.beat{transform-box:fill-box;transform-origin:center;animation:beat 1.4s ease-in-out infinite}.hud{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:max(12px,env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) 10px max(14px,env(safe-area-inset-left,0px));background:linear-gradient(#0e3b5c8c,#0e3b5c00);pointer-events:none}.hud>*{pointer-events:auto}.hud-player{display:flex;align-items:center;gap:10px;min-width:0;background:var(--cloud);border:3px solid var(--ink);border-radius:999px;padding:3px 16px 3px 3px;box-shadow:0 4px 0 var(--ink)}.hud-player .avatar{flex:none}.hud-name{display:flex;flex-direction:column;text-align:left;line-height:1.1;min-width:0}.hud-name strong{font-family:var(--font-display);font-weight:800;font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-name small{font-size:12px;color:var(--muted);white-space:nowrap}.hud-stars{display:flex;align-items:center;gap:6px;margin-inline:auto;background:var(--lamp);color:var(--ink);border:3px solid var(--ink);border-radius:999px;padding:4px 18px 4px 10px;box-shadow:0 4px 0 var(--ink);font-family:var(--font-display);font-weight:900;font-size:26px;font-variant-numeric:tabular-nums}.hud-stars .icon{color:var(--cloud);stroke:var(--ink)}.hud-stars .icon path{stroke:var(--ink);stroke-width:1.6}.hud-right{display:flex;align-items:center;gap:10px}.map-guide{position:absolute;z-index:3;left:max(10px,env(safe-area-inset-left,0px));bottom:max(8px,env(safe-area-inset-bottom,0px));display:flex;align-items:flex-end;gap:0}.map-guide .speech-bubble{margin-bottom:44px}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:#0e3b5c8c;animation:fade .2s ease-out}.island-card,.pause-card{position:relative;width:min(460px,100%);max-height:100%;overflow-y:auto;display:flex;flex-direction:column;align-items:center;gap:12px;padding:22px 22px 26px;background:var(--cloud);border:4px solid var(--ink);border-radius:36px;box-shadow:0 10px 0 var(--ink);animation:card-in .45s cubic-bezier(.3,1.6,.5,1)}.card-close{position:absolute;top:12px;right:12px;width:50px;height:50px;z-index:2}.card-art{width:100%;max-width:320px;height:auto;background:radial-gradient(ellipse at 50% 70%,#bfe8ff,#8fd6f6 70%);border-radius:26px;border:3px solid var(--ink)}.card-title{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(26px,6vw,34px);text-align:center;text-wrap:balance;line-height:1.1}.card-status{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px}.barrier{width:44px;height:16px;border:2px solid var(--ink);border-radius:4px;background:repeating-linear-gradient(-45deg,var(--ink) 0 6px,var(--lamp) 6px 12px)}.listen-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:999px;background:var(--lamp);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);font-family:var(--font-display);font-weight:800;font-size:20px}.listen-btn:active{transform:translateY(4px);box-shadow:none}.pause-text{margin:0;font-size:19px;text-align:center}.overlay.adult{background:#0e3b5ccc}.gate{position:relative;width:min(380px,100%);background:var(--cloud);border-radius:24px;border:3px solid var(--ink);padding:26px 22px 22px;display:flex;flex-direction:column;gap:12px;align-items:center}.gate-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.gate-reason{margin:0;font-weight:700}.gate-question{margin:0;text-align:center;font-size:17px;line-height:1.4}.gate-question strong{display:block;font-size:22px;margin-top:4px}.gate-display{display:flex;gap:8px}.gate-display span{width:46px;height:54px;border-radius:12px;border:2px solid var(--ink);display:grid;place-items:center;font-size:28px;font-weight:700;background:#fff;font-variant-numeric:tabular-nums}.gate-display.wrong span{border-color:var(--berry);animation:shake .4s}.keypad{display:grid;grid-template-columns:repeat(3,72px);gap:10px}.keypad button{height:58px;border-radius:14px;background:#e9eef4;font-size:24px;font-weight:700;display:grid;place-items:center}.keypad button:active{background:var(--lamp)}.parent-zone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;background:#f4f7fa;color:var(--ink);user-select:text;-webkit-user-select:text;font-size:16px}.pz-head{display:flex;align-items:center;justify-content:space-between;padding:max(14px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));background:var(--sea-deep);color:var(--cloud)}.pz-head h2{margin:0;font-family:var(--font-display);font-weight:800;font-size:24px}.pz-head .round-btn{width:44px;height:44px;box-shadow:none;color:var(--ink)}.pz-tabs{display:flex;gap:4px;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));background:var(--sea-deep)}.pz-tabs button{padding:10px 16px;border-radius:12px 12px 0 0;color:#c8dbe9;font-weight:700}.pz-tabs button.on{background:#f4f7fa;color:var(--ink)}.pz-body{flex:1;overflow-y:auto;padding:20px max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px))}.pz-body>*{max-width:980px;margin-inline:auto}.muted{color:var(--muted)}.small{font-size:14px}.child-list{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.child-card{background:#fff;border-radius:18px;border:1px solid #dbe3ec;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}.child-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.child-id{display:flex;flex-direction:column;gap:6px;flex:1;min-width:140px}.child-id input{font-weight:700;font-size:18px;padding:6px 10px;border:1px solid #c7d2de;border-radius:10px;width:100%}.age-select{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.age-select select,.settings select{padding:6px 8px;border-radius:10px;border:1px solid #c7d2de;background:#fff}.child-stats{display:flex;gap:16px;margin:0}.child-stats div{text-align:center}.child-stats dt{font-size:12px;color:var(--muted)}.child-stats dd{margin:0;font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.child-track{margin:0;font-size:14px;font-weight:700;color:var(--sea)}.child-progress{list-style:none;padding:0;margin:0;display:grid;gap:6px}.child-progress li{display:flex;justify-content:space-between;gap:8px}.pill{background:var(--lamp);border-radius:999px;padding:0 10px;font-weight:700;font-variant-numeric:tabular-nums}.child-actions,.confirm-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.confirm-row span{flex:1 1 100%;font-weight:700}.btn{padding:8px 14px;border-radius:10px;background:var(--sea-deep);color:#fff;font-weight:700;display:inline-flex;gap:6px;align-items:center}.btn:disabled{opacity:.4;cursor:default}.btn.ghost{background:#eef2f6;color:var(--ink)}.btn.danger{background:var(--berry)}.danger-text{color:#b3203f!important}.settings{display:flex;flex-direction:column;gap:12px}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid #dbe3ec;border-radius:16px;padding:14px 16px;flex-wrap:wrap}.toggle-row>span:first-child{display:flex;flex-direction:column;gap:2px;flex:1 1 260px;min-width:0}.toggle-row small{color:var(--muted);font-size:14px}.toggle-row input[type=checkbox]{width:26px;height:26px;accent-color:var(--go)}.code-set{display:flex;gap:8px}.code-set input{width:90px;padding:6px 10px;border-radius:10px;border:1px solid #c7d2de;font-size:18px;letter-spacing:.2em;text-align:center}.programme .table-wrap{overflow-x:auto;background:#fff;border-radius:16px;border:1px solid #dbe3ec}.programme table{border-collapse:collapse;min-width:760px;width:100%;font-size:14px}.programme th,.programme td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #e7edf3}.programme thead th{background:#eef4f9;font-size:13px;letter-spacing:.04em;text-transform:uppercase}.programme tbody th{font-weight:700;min-width:170px}.status{display:block;width:fit-content;margin-top:4px;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;background:#eef2f6;color:var(--muted)}.status.jouable{background:#dff3e1;color:var(--go-dark)}@media (min-width: 900px) and (min-height: 700px){.choice .avatar{width:136px;height:136px}.choice.age{width:118px;height:132px}.choice-grid.ages{max-width:720px}.age-num{font-size:50px}.profile-tile .avatar,.add-circle{width:150px;height:150px}}@media (max-width: 640px){.play-btn{width:128px;height:128px}.choice-grid{gap:12px}.choice{border-radius:22px;padding:6px}.choice .avatar{width:84px;height:84px}.choice.age{width:76px;height:92px}.candles{width:58px}.age-num{font-size:32px}.next-btn{width:84px;height:84px}.hud-name small{display:none}.hud-name strong{font-size:16px;max-width:80px}.hud-player{padding-right:10px}.hud-player .avatar{width:40px;height:40px}.hud-stars{font-size:21px;padding:3px 12px 3px 8px}.hud .round-btn{width:46px;height:46px}.hud .parent-btn span{display:none}.hud .parent-btn{padding:10px}.map-guide .mascot{width:70px;height:77px}.map-guide .speech-bubble{font-size:15px;margin-bottom:34px}.profile-tile .avatar,.add-circle{width:96px;height:96px}}@media (max-height: 560px){.title-stack .mascot{width:120px;height:132px}.wordmark{font-size:64px;margin-bottom:14px}.play-btn{width:110px;height:110px}}@keyframes float{50%{transform:translateY(-10px)}}@keyframes puff{0%{transform:translateY(0);opacity:.9}to{transform:translateY(14px);opacity:0}}@keyframes twirl{0%,80%,to{transform:rotate(0)}90%{transform:rotate(20deg) scale(1.15)}}@keyframes blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes talk{to{transform:scaleY(1.6)}}@keyframes breathe{50%{transform:scale(1.06)}}@keyframes glow{50%{transform:scale(1.08)}}@keyframes drop-in{0%{transform:translateY(-80px) scale(.6);opacity:0}}@keyframes nudge{50%{transform:translate(6px)}}@keyframes island-bob{50%{transform:translateY(-6px)}}@keyframes island-pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes waves{to{transform:translate(120px)}}@keyframes drift{0%{transform:translate(-300px)}to{transform:translate(1800px)}}@keyframes wave{50%{transform:skewY(-8deg) scaleX(.92)}}@keyframes bob{50%{transform:translateY(-7px)}}@keyframes twinkle{50%{transform:scale(.8);opacity:.7}}@keyframes rise{0%{transform:translateY(0);opacity:1}to{transform:translateY(-26px);opacity:0}}@keyframes rise-smoke{0%{transform:translateY(0);opacity:.9}to{transform:translate(10px,-40px);opacity:0}}@keyframes beat{50%{transform:scale(1.15)}}@keyframes fade{0%{opacity:0}}@keyframes card-in{0%{transform:translateY(40px) scale(.9);opacity:0}}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.game-screen{padding:max(14px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));gap:14px;overflow-y:auto}.letters-bg{background:radial-gradient(circle at 12% 88%,rgba(232,71,106,.1) 0 120px,transparent 121px),radial-gradient(circle at 92% 14%,rgba(79,123,217,.12) 0 160px,transparent 161px),linear-gradient(#fdf3df,#f6e4c3)}.game-top{width:100%;max-width:1100px;display:flex;align-items:center;justify-content:space-between;gap:12px}.top-spacer{width:58px;flex:none}.universe-title{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(24px,5vw,40px);text-align:center;text-wrap:balance}.hub{width:100%;max-width:1000px;display:flex;flex-direction:column;align-items:center;gap:16px}.hub-hero{display:flex;align-items:flex-end;gap:0}.hub-castle{width:min(240px,52vw);height:auto}.track-note{margin:0;max-width:560px;text-align:center;font-weight:700;background:var(--cloud);border:2px dashed var(--ink);border-radius:16px;padding:10px 16px}.missions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%}.mission{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px 14px;background:var(--cloud);border:4px solid var(--ink);border-radius:28px;box-shadow:0 8px 0 var(--ink);transition:transform .1s,box-shadow .1s}.mission:active{transform:translateY(6px);box-shadow:0 2px 0 var(--ink)}.mission-art{width:min(150px,100%);height:auto}.mission-glyph{font-family:var(--font-body);font-weight:700;font-size:28px;text-anchor:middle;fill:var(--ink)}.mission-glyph.big{font-size:86px;fill:#dde6ef;stroke:var(--ink);stroke-width:2}.mission-label{font-family:var(--font-display);font-weight:800;font-size:20px;text-align:center;line-height:1.15;text-wrap:balance}.mission-stars,.round-dots{display:flex;gap:2px}.mission-stars span,.round-dots span{color:#d7dee6}.mission-stars span.on,.round-dots span.on{color:var(--lamp);filter:drop-shadow(0 1px 0 var(--ink))}.find-hint{display:grid;place-items:center;width:150px;height:150px;border-radius:50%;background:var(--cloud);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink)}.find-cards{display:flex;gap:clamp(10px,3vw,36px);justify-content:center;margin-top:8px;max-width:100%}.find-card{width:clamp(88px,27vw,200px);aspect-ratio:4 / 5;max-width:100%;display:grid;place-items:center;font-family:var(--font-body);font-weight:700;font-size:clamp(80px,20vw,150px);line-height:1;background:var(--cloud);border:5px solid var(--ink);border-radius:30px;box-shadow:0 9px 0 var(--ink)}.find-card.good{background:#c9f0cc;animation:island-pop .6s cubic-bezier(.3,1.7,.5,1)}.find-card.bad{background:#ffe0e6;animation:shake .45s}.letter-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.letter-tab{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-family:var(--font-body);font-weight:700;font-size:30px;background:var(--cloud);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);position:relative}.letter-tab.on{background:var(--lamp)}.letter-tab.done:after{content:"";position:absolute;right:-6px;top:-6px;width:18px;height:18px;border-radius:50%;background:var(--go) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;border:2px solid var(--ink)}.trace-layout{flex:1;width:100%;max-width:1100px;min-height:0;display:flex;gap:20px;align-items:center;justify-content:center}.trace-side{display:flex;flex-direction:column;gap:14px;align-items:center}.word-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px;background:var(--cloud);border:4px solid var(--ink);border-radius:26px;box-shadow:0 6px 0 var(--ink)}.word-text{font-family:var(--font-display);font-weight:800;font-size:24px}.word-text b{font-family:var(--font-body);font-size:30px;color:var(--berry)}.trace-board{width:min(66vh,88vw,620px);height:auto;aspect-ratio:1;max-width:100%;background:#fff;border:5px solid var(--ink);border-radius:34px;box-shadow:0 9px 0 var(--ink);touch-action:none;cursor:crosshair}.start-dot{animation:beat 1.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.start-hint .start-dot{animation:beat .3s ease-in-out 4;fill:var(--lamp)}.start-num{font-family:var(--font-display);font-weight:900;font-size:7px;fill:#fff;text-anchor:middle;pointer-events:none}.celebration{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;background:#fffdf78c;animation:fade .2s}.celebration .spark{position:absolute;left:50%;top:50%;color:var(--lamp);filter:drop-shadow(0 2px 0 var(--ink));animation:burst 1.1s cubic-bezier(.2,.8,.3,1) both}.big-star{position:relative;color:var(--lamp);filter:drop-shadow(0 6px 0 var(--ink));animation:card-in .5s cubic-bezier(.3,1.7,.5,1);display:grid;place-items:center}.big-star-count{position:absolute;font-family:var(--font-display);font-weight:900;font-size:40px;color:var(--ink);padding-top:10px}@keyframes burst{0%{transform:translate(-50%,-50%) rotate(var(--a)) translateY(0) scale(.3);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--a)) translateY(calc(var(--d) * -1)) scale(1);opacity:0}}@media (max-width: 760px){.missions{grid-template-columns:1fr;max-width:420px}.mission{flex-direction:row;text-align:left;padding:10px 14px}.mission-art{width:76px;flex:none}.hub-castle{width:min(170px,40vw)}.hub-hero .mascot{width:72px;height:80px}.mission-label{text-align:left;flex:1;font-size:18px}.mission-stars{flex-direction:column}.mission-stars .icon{width:14px;height:14px}.trace-layout{flex-direction:column;gap:12px}.trace-side{flex-direction:row}.word-card{flex-direction:row;padding:6px 12px}.word-card .word-icon{width:56px;height:56px}.letter-tab{width:46px;height:46px;font-size:26px}}.racing-bg{background:linear-gradient(#7fcdf1,#d9f2ff 50%,#e9f6e1)}.missions.circuits .mission{padding:12px}.circuit-art{width:100%;height:auto;border-radius:18px;border:3px solid var(--ink);display:block}.circuit-done{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--go-dark);font-size:15px}.race-screen{background:#000}.race-stage{position:absolute;top:0;right:0;bottom:0;left:0;touch-action:none}.race-canvas{width:100%;height:100%;display:block}.race-hud{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:max(12px,env(safe-area-inset-top,0px)) max(14px,env(safe-area-inset-right,0px)) 10px max(14px,env(safe-area-inset-left,0px))}.pause-glyph{width:18px;height:20px;border-left:6px solid var(--ink);border-right:6px solid var(--ink)}.race-progress{position:relative;flex:1;height:18px;border-radius:999px;background:#fffdf7cc;border:3px solid var(--ink)}.race-progress-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:var(--go)}.race-progress-car{position:absolute;top:50%;width:26px;height:26px;translate:-50% -50%;border-radius:8px;background:var(--berry);border:3px solid var(--ink)}.race-progress-flag{position:absolute;right:-6px;top:50%;width:22px;height:22px;translate:0 -50%;border:2px solid var(--ink);border-radius:4px;background:conic-gradient(var(--ink) 0 25%,#fff 0 50%,var(--ink) 0 75%,#fff 0) 0 0 / 11px 11px}.hud-stars.small{margin:0;font-size:22px;padding:3px 14px 3px 8px}.round-btn.small{width:44px;height:44px;box-shadow:0 3px 0 var(--ink);flex:none}.race-question{position:absolute;z-index:6;top:calc(max(12px,env(safe-area-inset-top,0px)) + 66px);left:50%;translate:-50% 0;display:flex;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:10px 12px 10px 20px;background:var(--cloud);border:4px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink);animation:card-in .4s cubic-bezier(.3,1.6,.5,1)}.race-question.hint{background:#fff4c7}.race-q-text{font-family:var(--font-display);font-weight:800;font-size:clamp(17px,3.4vw,26px);text-wrap:balance}.race-cue-big{font-family:var(--font-body);font-weight:700;font-size:clamp(26px,5vw,40px);white-space:nowrap}.race-cue-stars{display:grid;grid-template-columns:repeat(5,auto);gap:0 2px;flex:none;color:var(--lamp);filter:drop-shadow(0 1px 0 var(--ink))}.race-question:has(.race-cue-big) .race-q-text{display:none}.race-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;animation:fade-out .7s forwards}.race-flash.good{box-shadow:inset 0 0 0 14px #43b649d9}.race-flash.bad{box-shadow:inset 0 0 0 14px #ffd84ae6}@keyframes fade-out{to{opacity:0}}.steer-btn{position:absolute;z-index:5;bottom:max(18px,env(safe-area-inset-bottom,0px));width:96px;height:96px;border-radius:50%;display:grid;place-items:center;background:#fffdf7eb;border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);color:var(--ink)}.steer-btn:active{translate:0 5px;box-shadow:0 1px 0 var(--ink)}.steer-btn.left{left:max(18px,env(safe-area-inset-left,0px))}.steer-btn.right{right:max(18px,env(safe-area-inset-right,0px))}.race-countdown{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;display:grid;place-items:center;pointer-events:none}.race-countdown span{font-family:var(--font-display);font-weight:900;font-size:clamp(90px,22vw,200px);color:var(--lamp);-webkit-text-stroke:10px var(--ink);paint-order:stroke fill;text-shadow:0 10px 0 var(--ink);animation:card-in .5s cubic-bezier(.3,1.7,.5,1)}.race-result .result-row{display:flex;gap:14px}.race-result .result-row>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 16px;border-radius:18px;background:#f3f6fa;min-width:120px;color:var(--lamp)}.race-result b{font-family:var(--font-display);font-weight:900;font-size:34px;color:var(--ink)}.race-result small{color:var(--muted);font-size:14px;text-align:center}.gate-glyph{width:34px;height:30px;border:5px solid var(--ink);border-bottom:0;border-top-color:var(--lamp);border-top-width:8px}.result-reward{margin:0;font-weight:700;font-size:18px}.result-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}@media (max-width: 640px){.steer-btn{width:78px;height:78px}.race-question{padding:8px 8px 8px 14px;gap:8px}}.maths-bg{background:radial-gradient(ellipse 60% 18% at 50% 100%,#f3d9a4 0 99%,transparent 100%),linear-gradient(#8fd6f6,#c7ecfb 16%,#4fb3d9 16.2%,#6cc4e6 27%,#f3d9a4 27.2%,#f6e2b8)}.maths-art{display:grid;place-items:center;min-height:110px}.maths-prompt{margin:0;max-width:680px;text-align:center;text-wrap:balance;font-family:var(--font-display);font-weight:800;font-size:clamp(20px,4vw,30px);background:var(--cloud);border:3px solid var(--ink);border-radius:22px;padding:10px 20px;box-shadow:0 5px 0 var(--ink)}.beach{position:relative;width:min(900px,100%);flex:1;min-height:240px;max-height:420px}.crab-btn{position:absolute;translate:-50% -50%;transition:transform .15s}.crab-btn.golden{animation:island-pop .45s cubic-bezier(.3,1.7,.5,1)}.crab-btn .crab{display:block;filter:drop-shadow(0 4px 0 rgba(19,36,58,.25))}.count-badge{position:absolute;right:4px;top:4px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:900;font-size:34px;background:var(--lamp);border:4px solid var(--ink);box-shadow:0 4px 0 var(--ink)}.answer-row{display:flex;gap:clamp(12px,3vw,28px);justify-content:center;flex-wrap:wrap;padding-bottom:8px;transition:opacity .2s}.answer-row.hidden-soft{opacity:.25}.answer-bubble{min-width:96px;height:96px;padding:0 18px;border-radius:48px;display:grid;place-items:center;font-family:var(--font-body);font-weight:700;font-size:44px;background:var(--cloud);border:4px solid var(--ink);box-shadow:0 7px 0 var(--ink)}.answer-bubble:disabled{cursor:default}.answer-bubble.good{background:#c9f0cc;animation:island-pop .5s cubic-bezier(.3,1.7,.5,1)}.answer-bubble.bad{background:#ffe0e6;animation:shake .45s}.coco-grid{display:flex;flex-direction:column;gap:8px;align-items:center;padding:10px}.coco-row{position:relative;display:flex;gap:6px;padding:6px 12px;border-radius:18px;border:3px dashed rgba(19,36,58,.35);background:#fffdf773}.coco-row.done{background:#fff4c7;border-style:solid;border-color:var(--ink)}.coco-sum{position:absolute;right:-54px;top:50%;translate:0 -50%;font-family:var(--font-display);font-weight:900;font-size:26px;background:var(--lamp);border:3px solid var(--ink);border-radius:14px;padding:0 8px}.bridge{position:relative;width:min(900px,100%);padding:18px 10px 26px}.bridge-water{position:absolute;top:30%;right:0;bottom:0;left:0;border-radius:30px;background:repeating-linear-gradient(90deg,#4fb3d9 0,#4fb3d9 40px,#63bfe2 40px,#63bfe2 80px);opacity:.7}.bridge-slots{position:relative;display:grid;gap:8px}.bridge-slot{height:96px;display:grid;place-items:center;border-radius:26px;border:4px dashed rgba(19,36,58,.45);background:#fffdf759}.stone-bank{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}.stone-btn .stone{display:block;filter:drop-shadow(0 5px 0 rgba(19,36,58,.3))}.stone.bad{animation:shake .45s}.stone-label,.coin-label{font-family:var(--font-body);font-weight:700;fill:var(--ink)}.chest-target{display:flex;align-items:center;gap:12px;background:var(--cloud);border:4px solid var(--ink);border-radius:22px;padding:6px 20px;box-shadow:0 5px 0 var(--ink)}.target-num{font-family:var(--font-display);font-weight:900;font-size:clamp(32px,6vw,48px)}.target-label{font-weight:700;color:var(--muted)}.chest-area{display:flex;flex-direction:column;align-items:center;gap:6px}.chest.open .chest-lid{transform:translateY(-26px) rotate(-8deg);transform-origin:20px 72px;transition:transform .4s}.chest-content{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;max-width:520px;min-height:40px}.chest-item{animation:drop-in .35s cubic-bezier(.3,1.6,.5,1)}.chest-total{font-size:20px;font-weight:700;background:#fffdf7d9;border-radius:14px;padding:4px 14px}.chest-total.more span{color:#b3203f}.chest-total.less span{color:var(--sea)}.wallet{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}.money-btn{padding:6px;border-radius:18px;background:#fffdf799;border:3px solid transparent}.money-btn:active{transform:scale(.92)}.money-btn .coin,.money-btn .note{display:block;filter:drop-shadow(0 4px 0 rgba(19,36,58,.3))}.chest-actions{display:flex;gap:16px;align-items:center}.listen-btn:disabled{opacity:.45}@media (max-width: 640px){.answer-bubble{min-width:78px;height:78px;font-size:34px}.bridge-slot{height:76px}.coco-sum{right:-44px;font-size:20px}}.dinos-bg{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 800' preserveAspectRatio='xMidYMax slice'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23FFCF94'/%3E%3Cstop offset='1' stop-color='%23FFF1D8'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1200' height='800' fill='url%28%23s%29'/%3E%3Ccircle cx='190' cy='120' r='54' fill='%23FFE28A'/%3E%3Cg fill='%23E9DCCB' opacity='.9'%3E%3Ccircle cx='912' cy='92' r='26'/%3E%3Ccircle cx='940' cy='62' r='34'/%3E%3Ccircle cx='978' cy='38' r='40'/%3E%3C/g%3E%3Cpath d='M740 360 L872 130 h56 L1080 360Z' fill='%239A7A5E' stroke='%2313243A' stroke-width='4' stroke-linejoin='round'/%3E%3Cpath d='M872 130 h56 l-10 20 q-18 10 -36 0z' fill='%23E8476A'/%3E%3Cpath d='M884 148 q8 50 -14 96 q22 -12 26 -44 q10 34 -4 66 q30 -36 18 -118z' fill='%23E8476A'/%3E%3Cpath d='M0 380 Q200 300 420 350 T860 340 T1200 320 V800 H0Z' fill='%23A6DB8C'/%3E%3Cpath d='M0 470 Q300 400 600 450 T1200 430 V800H0Z' fill='%2386CF73'/%3E%3Cpath d='M0 590 Q600 540 1200 590 V800 H0Z' fill='%2372BE5F'/%3E%3Cg stroke='%233F8A3C' stroke-width='9' stroke-linecap='round' fill='none'%3E%3Cpath d='M80 480 q-10 -50 6 -90'/%3E%3Cpath d='M80 480 q-40 -30 -60 -70'/%3E%3Cpath d='M80 480 q30 -40 70 -56'/%3E%3Cpath d='M1120 470 q10 -50 -6 -90'/%3E%3Cpath d='M1120 470 q40 -30 60 -70'/%3E%3Cpath d='M1120 470 q-30 -40 -70 -56'/%3E%3C/g%3E%3C/svg%3E") center bottom / cover no-repeat,#fff1d8}.dino{display:block;overflow:visible}.dino.fossil{filter:drop-shadow(0 2px 0 rgba(19,36,58,.25))}.titou{transform-origin:50% 90%;animation:bob 2.6s ease-in-out infinite}.titou.talking{animation:bob 2.6s ease-in-out infinite,nod .5s ease-in-out 3}@keyframes nod{50%{rotate:-3deg}}.mini-nest{position:relative;display:flex;flex-direction:column;align-items:center}.mini-eggs{display:flex;gap:2px;margin-bottom:-26px;position:relative;z-index:1}.mini-parade{display:flex;align-items:flex-end;gap:2px}.dino-prompt{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;max-width:760px;text-align:center;background:var(--cloud);border:4px solid var(--ink);border-radius:22px;padding:6px 20px;box-shadow:0 5px 0 var(--ink)}.dino-prompt .egg{display:block}.prompt-text{font-family:var(--font-display);font-weight:800;font-size:clamp(19px,3.6vw,28px);text-wrap:balance}.dino-hint{margin:0;font-weight:700;text-align:center;background:#fffdf7cc;border-radius:14px;padding:4px 12px}.dino-msg{margin:0;font-weight:700;font-size:20px;color:#b3203f;background:#fffdf7e6;border-radius:14px;padding:4px 14px;animation:shake .45s}.hidden-soft{opacity:.25;pointer-events:none}.egg-pile{flex:1;align-content:center;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:center;align-items:flex-end;max-width:720px;min-height:70px;padding:8px}.egg-btn{transition:transform .12s}.egg-btn:active{transform:scale(.9)}.egg-btn .egg{filter:drop-shadow(0 4px 0 rgba(19,36,58,.25));display:block}.egg-btn:disabled{cursor:default}.pile-empty{font-weight:700;color:var(--muted);align-self:center}.nests{display:flex;justify-content:center;align-items:flex-end;gap:10px;flex-wrap:wrap;width:100%;max-width:900px}.nest-box{position:relative;display:flex;flex-direction:column;align-items:center;border-radius:24px;padding:4px}.nests.multi .nest-box{cursor:pointer;background:#fffdf759;border:3px dashed rgba(19,36,58,.35)}.nests.multi .nest-box:active{transform:scale(.97)}.nest-eggs{display:flex;flex-wrap:wrap-reverse;justify-content:center;gap:0 2px;max-width:300px;min-height:48px;margin-bottom:-30px;position:relative;z-index:1}.nests.multi .nest-eggs{max-width:140px}.nest-egg{animation:drop-in .35s cubic-bezier(.3,1.6,.5,1)}.nest-egg .egg,.nest-egg .baby{display:block}.nest-box.won .nest-egg{animation:wiggle .5s ease-in-out 3}@keyframes wiggle{25%{rotate:-8deg}75%{rotate:8deg}}.nest{display:block}.dig-site{position:relative;width:min(560px,100%);aspect-ratio:16 / 10;border-radius:28px;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#c9a46a,#b48d55);border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink)}.dig-fossil{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:6%}.dig-fossil .dino{width:100%;height:auto}.dig-fossil.alive{animation:island-pop .6s cubic-bezier(.3,1.7,.5,1)}.sand-cover{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:grab}.dig-tip{position:absolute;left:50%;bottom:10px;translate:-50% 0;margin:0;pointer-events:none;font-family:var(--font-display);font-weight:800;font-size:20px;background:#fffdf7e0;border-radius:14px;padding:2px 14px}.dino-name{position:absolute;top:10px;left:50%;translate:-50% 0;font-family:var(--font-display);font-weight:900;font-size:clamp(20px,4vw,28px);background:var(--lamp);border:3px solid var(--ink);border-radius:16px;padding:2px 14px;box-shadow:0 4px 0 var(--ink)}.dig-question{width:100%;display:flex;justify-content:center;transition:opacity .25s}.dino-choices{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.dino-choice,.diet-choice,.size-choice{background:var(--cloud);border:4px solid var(--ink);border-radius:26px;padding:8px 14px;box-shadow:0 6px 0 var(--ink)}.dino-choice:active,.diet-choice:active,.size-choice:active,.period-choice:active,.fact-option:active,.parade-item:active{transform:translateY(5px);box-shadow:0 1px 0 var(--ink)}.diet-choice{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:800;font-size:22px;padding:10px 22px}.bad{animation:shake .45s;background:#ffe0e6!important}.good{background:#c9f0cc!important}.period-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(760px,100%)}.period-choice{display:flex;flex-direction:column;gap:2px;padding:12px 10px;border:4px solid var(--ink);border-radius:22px;box-shadow:0 6px 0 var(--ink);text-align:center}.period-choice b{font-family:var(--font-display);font-weight:900;font-size:clamp(20px,3.4vw,26px)}.period-choice small{font-size:14px;line-height:1.2}.period-choice.trias{background:#ffe1c9}.period-choice.jurassique{background:#d6f0c4}.period-choice.cretace{background:#d4e6fb}.fact-box{width:min(760px,100%);display:flex;flex-direction:column;gap:10px}.fact-q{margin:0;text-align:center;font-family:var(--font-display);font-weight:800;font-size:clamp(19px,3.4vw,26px);background:var(--cloud);border:3px solid var(--ink);border-radius:20px;padding:8px 16px;text-wrap:balance}.fact-options{display:grid;gap:10px}.fact-option{background:var(--cloud);border:4px solid var(--ink);border-radius:20px;padding:12px 16px;box-shadow:0 5px 0 var(--ink);font-weight:700;font-size:20px;text-align:left}.size-row{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:18px;flex-wrap:wrap;padding-bottom:20px}.size-choice{padding:10px}.size-choice.good{animation:island-pop .5s cubic-bezier(.3,1.7,.5,1)}.parade{width:min(960px,100%);display:flex;flex-direction:column;gap:4px}.parade-slots{display:grid;gap:8px;align-items:end}.parade-slot{min-height:150px;display:grid;place-items:end center;border-radius:22px;border:4px dashed rgba(19,36,58,.4);background:#fffdf759;padding:6px}.parade-slot.filled{border-style:solid;border-color:#13243a99;background:#fffdf799}.parade-slot>.dino,.parade-slot .parade-card{animation:drop-in .35s cubic-bezier(.3,1.6,.5,1);max-width:100%}.parade-slot>.dino{height:auto}.parade.go .parade-slot{animation:bob .6s ease-in-out 4}.parade-captions{display:flex;justify-content:space-between;font-weight:700;font-size:15px;color:var(--ink);padding:0 6px}.parade-captions span{background:#fffdf7cc;border-radius:10px;padding:1px 8px}.parade-bank{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:flex-end}.parade-item{background:var(--cloud);border:4px solid var(--ink);border-radius:24px;padding:8px;box-shadow:0 6px 0 var(--ink)}.parade-card{display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center}.parade-card b{font-family:var(--font-display);font-weight:900;font-size:22px}.parade-card small{font-weight:700;font-size:14px;line-height:1.15;max-width:140px}.parade-card.time b{font-size:16px;line-height:1.1;max-width:140px}.parade-slot .parade-card{gap:0}.parade-slot .parade-card b{font-size:16px}@media (max-width: 640px){.period-choices{grid-template-columns:1fr}.period-choice{flex-direction:row;justify-content:space-between;align-items:center;padding:8px 14px}.parade-slot{min-height:104px}.parade-card small{font-size:12px;max-width:96px}.parade-card.time b{font-size:13px;max-width:96px}.parade-slot .parade-card .dino{width:64px}.parade-slot .parade-card small{display:none}.diet-choice{font-size:18px;padding:8px 14px}.dino-choice .dino{width:130px}.fact-option{font-size:17px;padding:10px 12px}.nests.multi .nest .nest,.nests.multi svg.nest{width:110px}}.nest-minus{margin-top:4px;width:44px;height:36px;border-radius:14px;display:grid;place-items:center;background:var(--cloud);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink)}.nest-minus:disabled{opacity:.35}.dinos-bg>.game-top+*{margin-top:auto}.dinos-bg>:last-child:not(.celebration){margin-bottom:auto}.parade-slot{min-height:176px}.parade-card .dino{height:auto}@media (max-width: 640px){.parade-slot{min-height:120px}.parade-slot .parade-card .dino{width:60px}}.size-row{flex-wrap:nowrap}.size-choice{flex:0 1 auto;min-width:0}.size-choice .dino{max-width:100%;height:auto}@media (max-width: 640px){.dinos-bg .mission-art{width:112px}.dinos-bg .mission-art svg{max-width:100%;height:auto}.mini-eggs .egg{width:24px}.mini-parade .dino{width:30%}.dinos-bg .speech-row .titou{width:120px;height:auto}.size-row{gap:8px}.size-choice{padding:4px}}.parade-card .dino{margin-bottom:5px}.theatre-bg{background:repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 10px,transparent 10px 26px) left top / 9% 100% no-repeat,repeating-linear-gradient(90deg,rgba(0,0,0,.18) 0 10px,transparent 10px 26px) right top / 9% 100% no-repeat,linear-gradient(90deg,#b3203f 0 9%,transparent 9% 91%,#b3203f 91%),radial-gradient(ellipse 50% 14% at 50% 0,#ffd84a 0 30%,transparent 31%),linear-gradient(#c9283f 0 54px,#8a1a30 54px 62px,transparent 62px),linear-gradient(transparent 78%,#a0663a 78%,#8a5530),radial-gradient(ellipse 60% 50% at 50% 40%,#4a3570,#2a1d48)}.universe-title.on-dark{color:#fff;text-shadow:0 3px 0 var(--ink)}.coco{display:block;overflow:visible}.coco.talking .coco-beak{transform-origin:100px 52px;animation:beak .32s ease-in-out 6 alternate}.coco.happy{animation:island-pop .5s cubic-bezier(.3,1.7,.5,1)}.coco-wing{transform-origin:56px 82px}.coco.happy .coco-wing{animation:flap .25s ease-in-out 4 alternate}@keyframes beak{to{transform:rotate(12deg)}}@keyframes flap{to{transform:rotate(-24deg)}}.hub-letters{font-family:var(--font-display);font-weight:900;font-size:48px;color:var(--ink)}.hub-mask{font-size:72px;line-height:1}.picture{display:inline-block;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.theatre-guide{display:flex;align-items:center;gap:12px}.listen-btn.big{font-size:20px;padding:10px 20px}.choice-cards{display:flex;gap:clamp(10px,3vw,22px);justify-content:center;flex-wrap:wrap}.pic-card,.letter-card,.word-chip,.punct-card,.reply{background:var(--cloud);border:4px solid var(--ink);border-radius:26px;box-shadow:0 7px 0 var(--ink);transition:transform .1s}.pic-card:active,.letter-card:active,.word-chip:active,.punct-card:active,.reply:active,.tile:active{transform:translateY(5px);box-shadow:0 2px 0 var(--ink)}.pic-card{width:clamp(120px,26vw,170px);aspect-ratio:1;display:grid;place-items:center}.letter-card{width:clamp(96px,20vw,140px);aspect-ratio:1;display:grid;place-items:center;font-family:var(--font-body);font-weight:700;font-size:clamp(48px,9vw,72px)}.word-chip{min-width:110px;padding:14px 22px;font-weight:700;font-size:30px}.punct-card{width:clamp(110px,26vw,170px);padding:10px;display:flex;flex-direction:column;align-items:center;gap:2px}.punct-card b{font-family:var(--font-display);font-weight:900;font-size:64px;line-height:1}.punct-card small{font-weight:700;font-size:15px}.spell{display:flex;flex-direction:column;align-items:center;gap:14px;background:#fffdf71f;border-radius:28px;padding:10px 16px}.spell-slots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.spell-slot{width:52px;height:62px;border-radius:14px;border:3px dashed rgba(255,253,247,.8);display:grid;place-items:center;font-family:var(--font-body);font-weight:700;font-size:36px;color:var(--ink)}.spell-slot.on{background:var(--lamp);border:3px solid var(--ink);animation:drop-in .3s cubic-bezier(.3,1.6,.5,1)}.spell-tiles{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;max-width:560px}.tile{width:60px;height:64px;border-radius:16px;background:var(--cloud);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);font-family:var(--font-body);font-weight:700;font-size:34px}.tile.used{opacity:.25}.homo{display:flex;flex-direction:column;align-items:center;gap:18px;width:min(760px,100%)}.homo-sentence{margin:0;text-align:center;font-family:var(--font-display);font-weight:800;font-size:clamp(22px,4vw,32px);background:var(--cloud);border:4px solid var(--ink);border-radius:24px;padding:14px 20px;box-shadow:0 6px 0 var(--ink);text-wrap:balance}.homo-gap{display:inline-block;min-width:72px;border-bottom:4px solid var(--berry);color:var(--berry)}.homo-gap.filled{color:var(--go-dark);border-color:var(--go)}.puppet-stage{display:flex;align-items:flex-end;gap:6px;max-width:820px;width:100%;justify-content:center}.puppet-bubble{position:relative;flex:0 1 auto;display:flex;align-items:center;gap:12px;margin-bottom:40px;background:var(--cloud);border:4px solid var(--ink);border-radius:26px;padding:14px 18px;box-shadow:0 6px 0 var(--ink);font-family:var(--font-display);font-weight:800;font-size:clamp(20px,3.6vw,30px);text-wrap:balance}.puppet-bubble:before{content:"";position:absolute;left:-16px;bottom:18px;border:12px solid transparent;border-right:16px solid var(--ink)}.puppet-bubble.long{font-size:clamp(17px,3vw,24px)}.bubble-sound{font-size:1.2em;color:var(--berry)}.bubble-rhyme{display:flex;align-items:center;gap:8px}.punct-gap{display:inline-block;min-width:34px;margin-left:6px;text-align:center;color:var(--berry);border-bottom:4px solid var(--berry)}.round-btn.small{width:44px;height:44px;flex:none}.syl-big{font-family:var(--font-body);font-size:1.8em;letter-spacing:.04em}.reply-list{display:grid;gap:12px;width:min(680px,100%)}.reply{padding:14px 18px;font-weight:700;font-size:21px;text-align:left}.mic-zone{display:flex;flex-direction:column;align-items:center;gap:10px}.mic-btn{position:relative;width:132px;height:132px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--berry);border:5px solid var(--ink);box-shadow:0 8px 0 var(--ink);animation:glow 1.6s ease-in-out infinite}.mic-btn.on{background:var(--go);animation:none}.mic-btn.done{background:var(--lamp);color:var(--ink);animation:none}.mic-btn svg{position:relative;z-index:1}.mic-ring{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;border-radius:50%;border:6px solid #fff;transition:transform .08s,opacity .2s;pointer-events:none}.mic-tip{margin:0;color:#fff;font-family:var(--font-display);font-weight:800;font-size:22px;text-align:center;text-shadow:0 2px 0 var(--ink);max-width:520px;text-wrap:balance}.said-btn{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:18px;background:#c9f0cc;border:3px solid var(--ink);border-radius:18px;padding:8px 16px;box-shadow:0 4px 0 var(--ink)}.said-btn:disabled{opacity:.4}.mic-note{margin:0;color:#ffffffbf;font-size:13px;text-align:center}.theatre-bg>.game-top+*{margin-top:auto}.theatre-bg>:last-child:not(.celebration){margin-bottom:auto}.theatre-bg .round-dots span{color:#ffffff59}@media (max-width: 640px){.theatre-bg{background-size:6% 100%,6% 100%,auto,auto,auto,auto,auto}.puppet-stage .coco{width:80px;height:auto}.puppet-bubble{margin-bottom:20px;padding:10px 12px}.tile{width:46px;height:52px;font-size:26px}.spell-slot{width:38px;height:48px;font-size:26px}.reply{font-size:17px;padding:10px 14px}.mic-btn{width:110px;height:110px}.theatre-bg .speech-row .coco{width:90px;height:auto}}@media (max-width: 640px){.theatre-bg .mission-art{width:96px}.theatre-bg .mission-art .picture{font-size:56px!important}.theatre-bg .hub-mask{font-size:56px}.theatre-bg .mission-art .coco{width:64px;height:auto}.theatre-bg .hub-letters{font-size:32px}}.city-bg{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 800' preserveAspectRatio='xMidYMax slice'%3E%3Cdefs%3E%3ClinearGradient id='s' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%239ED8F5'/%3E%3Cstop offset='1' stop-color='%23E3F4FC'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='1200' height='800' fill='url%28%23s%29'/%3E%3Cg fill='%23fff' opacity='.9'%3E%3Cellipse cx='220' cy='110' rx='70' ry='24'/%3E%3Cellipse cx='260' cy='92' rx='44' ry='30'/%3E%3Cellipse cx='900' cy='140' rx='80' ry='26'/%3E%3Cellipse cx='940' cy='120' rx='46' ry='30'/%3E%3C/g%3E%3Cg stroke='%2313243A' stroke-width='4' stroke-linejoin='round'%3E%3Crect x='40' y='380' width='150' height='240' fill='%23F7B9C6'/%3E%3Cpath d='M30 384 L115 300 L200 384Z' fill='%23E8476A'/%3E%3Crect x='210' y='330' width='170' height='290' fill='%23FFE7A3'/%3E%3Crect x='200' y='318' width='190' height='22' fill='%23E3B04B'/%3E%3Crect x='400' y='400' width='140' height='220' fill='%23BFE3F5'/%3E%3Cpath d='M390 404 L470 330 L550 404Z' fill='%234F7BD9'/%3E%3Crect x='660' y='360' width='160' height='260' fill='%23D6F0C4'/%3E%3Crect x='650' y='348' width='180' height='22' fill='%2343B649'/%3E%3Crect x='840' y='400' width='150' height='220' fill='%23FFE1C9'/%3E%3Cpath d='M830 404 L915 320 L1000 404Z' fill='%23E8476A'/%3E%3Crect x='1010' y='350' width='170' height='270' fill='%23DCCDF5'/%3E%3Crect x='1000' y='338' width='190' height='22' fill='%239C7BD6'/%3E%3C/g%3E%3Cg fill='%23fff' stroke='%2313243A' stroke-width='3'%3E%3Crect x='70' y='420' width='36' height='40'/%3E%3Crect x='126' y='420' width='36' height='40'/%3E%3Crect x='240' y='370' width='40' height='44'/%3E%3Crect x='310' y='370' width='40' height='44'/%3E%3Crect x='240' y='450' width='40' height='44'/%3E%3Crect x='310' y='450' width='40' height='44'/%3E%3Crect x='430' y='440' width='34' height='40'/%3E%3Crect x='480' y='440' width='34' height='40'/%3E%3Crect x='690' y='400' width='40' height='44'/%3E%3Crect x='750' y='400' width='40' height='44'/%3E%3Crect x='870' y='440' width='36' height='40'/%3E%3Crect x='926' y='440' width='36' height='40'/%3E%3Crect x='1040' y='390' width='40' height='44'/%3E%3Crect x='1110' y='390' width='40' height='44'/%3E%3C/g%3E%3Cg fill='%238A5A33' stroke='%2313243A' stroke-width='3'%3E%3Crect x='96' y='540' width='40' height='80'/%3E%3Crect x='270' y='540' width='50' height='80'/%3E%3Crect x='450' y='550' width='40' height='70'/%3E%3Crect x='715' y='540' width='50' height='80'/%3E%3Crect x='895' y='550' width='40' height='70'/%3E%3Crect x='1070' y='540' width='50' height='80'/%3E%3C/g%3E%3Crect x='0' y='620' width='1200' height='50' fill='%23D9D2C6'/%3E%3Crect x='0' y='670' width='1200' height='130' fill='%236B7280'/%3E%3Cg fill='%23fff'%3E%3Crect x='40' y='730' width='80' height='10'/%3E%3Crect x='200' y='730' width='80' height='10'/%3E%3Crect x='360' y='730' width='80' height='10'/%3E%3Crect x='520' y='730' width='80' height='10'/%3E%3Crect x='680' y='730' width='80' height='10'/%3E%3Crect x='840' y='730' width='80' height='10'/%3E%3Crect x='1000' y='730' width='80' height='10'/%3E%3C/g%3E%3Cg%3E%3Ccircle cx='590' cy='560' r='46' fill='%235DBB63' stroke='%2313243A' stroke-width='4'/%3E%3Crect x='582' y='590' width='16' height='32' fill='%238A5A33' stroke='%2313243A' stroke-width='3'/%3E%3C/g%3E%3C/svg%3E") center bottom / cover no-repeat,#e3f4fc}.pompon{display:block;overflow:visible}.pompon.talking .pompon-mouth{transform-origin:60px 72px;animation:talk .25s ease-in-out 6 alternate}.pompon.happy{animation:island-pop .5s cubic-bezier(.3,1.7,.5,1)}.pompon .pompon-ears{transform-origin:60px 46px;animation:ears 3s ease-in-out infinite}@keyframes ears{50%{transform:rotate(-4deg)}}.pompon.walking .pompon-legs{animation:hop .3s ease-in-out infinite alternate}@keyframes hop{to{transform:translateY(-6px)}}.sv-scene{display:flex;align-items:flex-end;gap:8px;width:100%;max-width:820px;justify-content:center}.sv-card{position:relative;flex:0 1 auto;display:flex;align-items:center;gap:12px;margin-bottom:30px;background:var(--cloud);border:4px solid var(--ink);border-radius:26px;padding:12px 16px;box-shadow:0 6px 0 var(--ink)}.sv-card:before{content:"";position:absolute;left:-16px;bottom:18px;border:12px solid transparent;border-right:16px solid var(--ink)}.sv-emoji{font-size:52px;line-height:1;flex:none;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;letter-spacing:-4px}.sv-text{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(19px,3.4vw,27px);text-wrap:balance}.sv-options{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;width:100%;max-width:900px}.sv-option{background:var(--cloud);border:4px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink)}.sv-option:active{transform:translateY(5px);box-shadow:0 1px 0 var(--ink)}.sv-option:disabled{cursor:default}.sv-option.used{opacity:.3}.sv-options.cards .sv-option{width:clamp(150px,28vw,230px);padding:12px;display:flex;flex-direction:column;align-items:center;gap:6px;font-weight:700;font-size:19px;text-align:center;text-wrap:balance}.sv-options.faces .sv-option{width:clamp(120px,24vw,170px);padding:10px;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--font-display);font-weight:800;font-size:20px}.sv-options.list{display:grid;max-width:700px}.sv-options.list .sv-option{padding:14px 18px;font-weight:700;font-size:20px;text-align:left;display:flex;align-items:center;gap:10px}.sv-then{margin:0;display:flex;align-items:center;gap:12px;max-width:720px;font-family:var(--font-display);font-weight:800;font-size:clamp(20px,3.6vw,28px);background:#c9f0cc;border:4px solid var(--ink);border-radius:24px;padding:14px 20px;box-shadow:0 6px 0 var(--ink);animation:card-in .4s cubic-bezier(.3,1.5,.5,1);text-wrap:balance}.sv-then-emoji{font-size:48px;line-height:1}.city-bg>.game-top+*{margin-top:auto}.city-bg>:last-child:not(.celebration){margin-bottom:auto}.rt-slots{display:flex;gap:12px;justify-content:center}.rt-slot{position:relative;width:clamp(90px,20vw,130px);aspect-ratio:1;border-radius:24px;border:4px dashed rgba(19,36,58,.45);background:#fffdf799;display:grid;place-items:center}.rt-slot.on{border-style:solid;border-color:var(--ink);background:var(--lamp);animation:drop-in .3s cubic-bezier(.3,1.6,.5,1)}.rt-num{position:absolute;top:4px;left:10px;font-family:var(--font-display);font-weight:900;font-size:20px;color:var(--ink)}.street{position:relative;width:min(760px,100%);height:300px;border-radius:28px;overflow:hidden;border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);background:#6b7280}.sidewalk{position:absolute;left:0;right:0;height:22%;background:#d9d2c6}.sidewalk.far{top:0;border-bottom:4px solid #a8a092}.sidewalk.near{bottom:0;border-top:4px solid #a8a092}.road{position:absolute;left:0;right:0;top:22%;bottom:22%}.zebra{position:absolute;left:50%;translate:-50% 0;top:0;bottom:0;width:120px;background:repeating-linear-gradient(0deg,#fff 0 16px,transparent 16px 32px)}.car{position:absolute;font-size:54px;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}.car.c1{top:8%;animation:drive-l 2.4s linear infinite}.car.c2{bottom:8%;animation:drive-r 2.9s linear infinite}@keyframes drive-l{0%{left:105%}to{left:-20%}}@keyframes drive-r{0%{left:-20%;transform:scaleX(-1)}to{left:105%;transform:scaleX(-1)}}.ped-light{position:absolute;right:16px;top:10px;display:flex;flex-direction:column;gap:4px;background:#13243a;border-radius:14px;padding:6px}.lamp{width:54px;height:54px;border-radius:10px;display:grid;place-items:center;font-size:34px;opacity:.25;filter:grayscale(1)}.lamp.red.on{opacity:1;filter:none;background:#e8476a}.lamp.green.on{opacity:1;filter:none;background:#43b649}.walker{position:absolute;left:50%;bottom:2%;translate:-50% 0;transition:bottom 1.8s ease-in-out}.walker.across{bottom:74%}.cross-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}.look-btn{font-weight:700;font-size:20px;padding:12px 18px;border-radius:20px;background:var(--cloud);border:4px solid var(--ink);box-shadow:0 5px 0 var(--ink)}.look-btn.on{background:var(--lamp)}.go-label{font-size:48px;line-height:1;transform:none}@media (max-width: 640px){.sv-scene .pompon{width:70px;height:auto}.sv-emoji{font-size:38px}.sv-options.list .sv-option{font-size:17px;padding:10px 14px}.sv-options.cards .sv-option{width:calc(50% - 8px);font-size:16px}.street{height:240px}.look-btn{font-size:16px;padding:10px 12px}.city-bg .speech-row .pompon{width:80px;height:auto}.city-bg .mission-art{width:96px}.city-bg .mission-art .picture{font-size:52px!important}}.sv-options.list{justify-content:stretch;grid-template-columns:1fr}@media (max-width: 640px){.sv-card{flex:1 1 0;min-width:0;flex-wrap:wrap;gap:6px 10px;padding:10px 12px;margin-bottom:20px}.sv-card .sv-text{flex:1 1 160px;font-size:18px}.sv-emoji{font-size:32px}}.sv-option.reading{transform:scale(1.1);background:#fff4c7;box-shadow:0 0 0 6px var(--lamp),0 6px 0 var(--ink);z-index:1;transition:transform .2s}.sv-option.tried{background:#e3e6ea;color:#7a8596;box-shadow:0 3px #9aa3b0;border-color:#9aa3b0}.sv-option.tried .picture{filter:grayscale(1);opacity:.6}.sv-why{margin:0;max-width:720px;font-weight:700;font-size:clamp(17px,3vw,22px);background:#fff4c7;border:3px solid var(--ink);border-radius:20px;padding:10px 16px;box-shadow:0 4px 0 var(--ink);animation:card-in .35s cubic-bezier(.3,1.5,.5,1);text-wrap:balance}.missions.four{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width: 900px){.missions.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.missions.four{grid-template-columns:1fr}}.let-art{display:grid;place-items:center;min-height:100px;font-family:var(--font-display);font-weight:900;font-size:40px;color:var(--ink);text-align:center;line-height:1.1}.let-emoji{font-size:90px;line-height:1}.let-big{font-family:var(--font-body);font-weight:700;font-size:clamp(64px,14vw,120px);line-height:1;letter-spacing:.06em;background:var(--cloud);border:4px solid var(--ink);border-radius:28px;padding:6px 30px;box-shadow:0 6px 0 var(--ink)}.let-big.word{font-size:clamp(36px,7vw,56px);letter-spacing:0}.letter-card.lower{text-transform:none;font-size:clamp(56px,11vw,84px)}.let-word{font-size:clamp(20px,3.6vw,28px)}.let-line{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;min-height:64px}.let-line.join{gap:0}.let-slot{min-width:64px;height:64px;padding:0 12px;border-radius:16px;border:3px dashed rgba(19,36,58,.45);display:grid;place-items:center;font-family:var(--font-body);font-weight:700;font-size:28px;background:#fffdf799}.let-slot.on{background:var(--lamp);border:3px solid var(--ink);animation:drop-in .3s cubic-bezier(.3,1.6,.5,1)}.let-line.join .let-slot{border-radius:0}.let-line.join .let-slot:first-child{border-radius:16px 0 0 16px}.let-line.join .let-slot:last-child{border-radius:0 16px 16px 0}.let-tile.used{opacity:.3}.letters-bg>.game-top+*{margin-top:auto}.letters-bg>:last-child:not(.celebration){margin-bottom:auto}.let-tile{min-width:84px;min-height:76px;font-size:clamp(24px,4vw,34px)}.let-slot{min-width:76px;height:76px;font-size:clamp(24px,4vw,34px)}.letters-bg .maths-prompt{font-size:clamp(20px,3.6vw,28px)}@media (max-width: 640px){.let-tile{min-width:64px;min-height:60px}.let-slot{min-width:56px;height:60px}}.my-car{display:flex;align-items:center;gap:14px;background:var(--cloud);border:4px solid var(--ink);border-radius:26px;padding:10px 18px;box-shadow:0 6px 0 var(--ink);max-width:640px;width:100%;text-align:left}.my-car:active{transform:translateY(5px);box-shadow:0 1px 0 var(--ink)}.my-car-art .car-side{animation:idle-car 1.8s ease-in-out infinite}@keyframes idle-car{50%{transform:translateY(-3px) rotate(-.6deg)}}.my-car-info{display:flex;flex-direction:column;gap:2px}.my-car-info b{font-family:var(--font-display);font-weight:900;font-size:26px}.power{letter-spacing:-2px;font-size:20px}.power.small{font-size:15px}.garage-link{font-weight:700;color:var(--sea);font-size:17px}.garage-stage{display:flex;flex-direction:column;align-items:center;gap:2px}.garage-spot{position:relative;padding:10px 30px 0;background:radial-gradient(ellipse 60% 22% at 50% 92%,rgba(255,255,255,.75),transparent 70%);animation:card-in .45s cubic-bezier(.3,1.5,.5,1)}.garage-spot .car-side{max-width:82vw;height:auto}.garage-name{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(24px,4.4vw,34px)}.garage-desc{margin:0;font-weight:700;color:var(--ink);background:#fffdf7cc;border-radius:12px;padding:2px 12px}.paints{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.paint{width:46px;height:46px;border-radius:50%;border:4px solid var(--ink);box-shadow:0 4px 0 var(--ink)}.paint.on{transform:scale(1.2);box-shadow:0 0 0 4px var(--lamp),0 4px 0 var(--ink)}.car-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:min(820px,100%)}.car-card{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--cloud);border:4px solid var(--ink);border-radius:22px;padding:8px;box-shadow:0 5px 0 var(--ink)}.car-card .car-side{width:100%;height:auto}.car-card.on{background:#fff4c7;box-shadow:0 0 0 5px var(--lamp),0 5px 0 var(--ink)}.car-card.locked{filter:grayscale(1);opacity:.6}.car-card-name{font-family:var(--font-display);font-weight:800;font-size:16px;text-align:center}.car-lock{font-weight:700;font-size:13px}@media (max-width: 640px){.car-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.my-car-art .car-side{width:150px;height:auto}.my-car-info b{font-size:20px}}.sv-option{position:relative;animation:opt-in .5s cubic-bezier(.3,1.6,.5,1) both,opt-float 3s ease-in-out infinite}@keyframes opt-in{0%{transform:translateY(40px) scale(.6);opacity:0}}@keyframes opt-float{50%{transform:translateY(-5px) rotate(.6deg)}}.sv-options.list .sv-option{animation:opt-in .45s cubic-bezier(.3,1.6,.5,1) both}.sv-option.reading{animation:none}.sv-option.tried{animation:shake .45s}.sv-option.reveal{animation:reveal-blink .9s ease-in-out infinite;background:#d8f6dc;border-color:var(--go-dark);z-index:2}@keyframes reveal-blink{0%,to{transform:scale(1);box-shadow:0 0 #43b649e6,0 6px 0 var(--ink)}50%{transform:scale(1.12) translateY(-6px);box-shadow:0 0 0 12px #43b64900,0 6px 0 var(--ink)}}.reveal-hand{position:absolute;bottom:-34px;left:50%;translate:-50% 0;font-size:40px;animation:hand-tap .9s ease-in-out infinite;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}@keyframes hand-tap{50%{transform:translateY(-10px)}}.sv-option.good{animation:island-pop .5s cubic-bezier(.3,1.7,.5,1)}.emo{display:inline-flex;align-items:center;gap:4px}.flag-svg{display:block;filter:drop-shadow(0 3px 0 rgba(19,36,58,.25));transform-origin:left center;animation:flag-wave 2.4s ease-in-out infinite}@keyframes flag-wave{50%{transform:skewY(-3deg) scaleX(.97)}}.sv-then{position:relative;overflow:visible}.burst{position:absolute;left:36px;top:50%;width:0;height:0;pointer-events:none}.burst i{position:absolute;font-style:normal;color:var(--lamp);font-size:26px;text-shadow:0 2px 0 var(--ink);animation:burst-star .9s cubic-bezier(.2,.8,.3,1) both;transform:rotate(var(--a)) translateY(0)}@keyframes burst-star{0%{transform:rotate(var(--a)) translateY(0) scale(.4);opacity:1}to{transform:rotate(var(--a)) translateY(-90px) scale(1.2);opacity:0}}.scene{width:100%;height:100%;display:block}.scene text{font-family:Andika,sans-serif}.scene-label{font:700 22px Andika,sans-serif;fill:#13243a}.scene-small{font:700 15px Andika,sans-serif;fill:#13243a}.scene-letter{font:900 36px Grandstander,sans-serif;fill:#fff}.scene-chalk{font:700 30px Andika,sans-serif;fill:#f4f6fa}.scene-big{font:900 34px Grandstander,sans-serif;fill:#13243a}.scene-z{font:900 34px Grandstander,sans-serif;fill:#fffdf7;stroke:#13243a;stroke-width:1.5px}.scene-code text{font:700 20px ui-monospace,Menlo,monospace}.scene .actor,.scene .blink,.scene [class^=arm-],.scene .leg-step,.scene .head-bob,.scene .rexou{transform-box:view-box}.scene.live .actor{animation:actor-idle 3.2s ease-in-out infinite}@keyframes actor-idle{50%{transform:translateY(-3px)}}.scene .actor.jump{animation:actor-jump .6s cubic-bezier(.3,1.6,.5,1)}@keyframes actor-jump{40%{transform:translateY(-34px) scale(1.04,.96)}70%{transform:translateY(0) scale(1.06,.94)}}.scene .blink{transform-box:fill-box;transform-origin:center;animation:blink 4.6s infinite}@keyframes blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}.scene .arm-wave{animation:arm-wave 1s ease-in-out infinite}@keyframes arm-wave{50%{transform:rotate(-18deg)}}.scene .arm-cheer{animation:arm-cheer .9s ease-in-out infinite}@keyframes arm-cheer{50%{transform:rotate(6deg) translateY(-3px)}}.scene .arm-swing{animation:arm-swing .7s ease-in-out infinite}.scene .arm-swing.alt{animation-delay:-.35s}@keyframes arm-swing{0%,to{transform:rotate(14deg)}50%{transform:rotate(-14deg)}}.scene .leg-step{animation:leg-step .7s ease-in-out infinite}.scene .leg-step.alt{animation-delay:-.35s}@keyframes leg-step{0%,to{transform:rotate(10deg)}50%{transform:rotate(-10deg)}}.scene .rexou{transform-box:fill-box;transform-origin:bottom center}.scene.live .rexou{animation:rexou-breathe 2.6s ease-in-out infinite}@keyframes rexou-breathe{50%{transform:translate(-145px,-203px) scale(1.02,.98)}}.scene .twinkle,.scene .fx-twinkle{transform-box:fill-box;transform-origin:center;animation:twinkle 1.8s ease-in-out infinite}@keyframes twinkle{50%{opacity:.3;transform:scale(.6)}}.scene.live .drift{animation:drift 30s linear infinite alternate}@keyframes drift{to{transform:translate(60px)}}.scene .fx-rise{transform-box:fill-box;animation:fx-rise 2.4s ease-in-out infinite}@keyframes fx-rise{0%{transform:translateY(10px);opacity:0}30%{opacity:1}to{transform:translateY(-40px);opacity:0}}.scene .fx-pop{transform-box:fill-box;transform-origin:center;animation:fx-pop 1.4s cubic-bezier(.3,1.6,.5,1) infinite alternate}@keyframes fx-pop{0%{transform:scale(.8)}to{transform:scale(1.1)}}.scene .fx-ring{transform-box:fill-box;transform-origin:top center;animation:fx-ring .3s ease-in-out infinite alternate}@keyframes fx-ring{0%{transform:rotate(-14deg)}to{transform:rotate(14deg)}}.scene .fx-tear{animation:fx-tear 1.6s ease-in infinite}@keyframes fx-tear{0%{transform:translateY(0);opacity:0}20%{opacity:1}to{transform:translateY(40px);opacity:0}}.scene .fx-float{transform-box:fill-box;animation:fx-float 3s ease-in-out infinite}@keyframes fx-float{50%{transform:translateY(-14px) rotate(3deg)}}.scene .scene-z{animation:fx-rise 2.6s ease-in-out infinite}.scene .peek-zone{cursor:pointer}.scene .peek-hint{transform-box:fill-box;transform-origin:center;animation:fx-pop .8s ease-in-out infinite alternate}.scene .peek-pop{transform-box:fill-box;transform-origin:bottom center;animation:peek-pop .6s cubic-bezier(.3,1.7,.5,1) both}@keyframes peek-pop{0%{transform:scale(0) translateY(30px)}}.scene .flame{transform-box:fill-box;transform-origin:bottom center;animation:flame .4s ease-in-out infinite alternate}@keyframes flame{to{transform:scale(.8,1.15)}}.scene .caret{animation:blink-caret 1s steps(2) infinite}@keyframes blink-caret{50%{opacity:0}}.scene .fly-away{animation:fly-away 2.4s ease-in infinite}@keyframes fly-away{0%,15%{transform:translateY(0)}to{transform:translateY(-260px)}}.scene .game-jump{animation:game-jump 1.6s ease-in-out infinite}@keyframes game-jump{0%,30%,to{transform:translateY(0)}55%{transform:translateY(-70px)}}.scene .pulse-stroke{animation:blink-caret 1.2s steps(2) infinite}.scene .waves-move{animation:waves-move 4s linear infinite}@keyframes waves-move{to{transform:translate(-60px)}}.scene .bob{animation:fx-float 2s ease-in-out infinite}.map-sparkle{animation:twinkle 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.library-bg{background:radial-gradient(circle at 15% 10%,rgba(255,216,74,.25) 0 180px,transparent 181px),linear-gradient(#f7e2bf,#eccb95)}.library{width:100%;max-width:1100px;display:flex;flex-direction:column;gap:22px;padding-bottom:20px}.shelf{background:#b9773e;border:4px solid var(--ink);border-radius:22px;padding:14px 16px 0;box-shadow:0 6px 0 var(--ink)}.shelf header{display:flex;align-items:center;gap:12px;color:var(--cloud);margin-bottom:10px}.shelf h2{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(20px,3.4vw,28px);text-shadow:0 2px 0 var(--ink)}.shelf p{margin:0;font-weight:700;opacity:.92}.shelf-aventures{background:#2e4fa8}.shelf-dyroo{background:#3b6fd8}.shelf-avatar{width:64px;height:64px;border-radius:50%;border:3px solid var(--cloud);object-fit:cover;box-shadow:0 3px 0 var(--ink)}.books{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;border-bottom:14px solid #7a4a2a;margin:0 -16px;padding:4px 16px 0}.book-card{flex:none;width:clamp(170px,24vw,240px);scroll-snap-align:start;display:flex;flex-direction:column;gap:6px;align-items:stretch;text-align:left;padding-bottom:12px;animation:card-in .5s cubic-bezier(.3,1.5,.5,1) both;transition:transform .15s}.book-card:hover{transform:translateY(-4px) rotate(-1deg)}.book-card:active{transform:translateY(2px)}.book-cover{position:relative;display:block;aspect-ratio:4 / 3;border-radius:6px 14px 14px 6px;overflow:hidden;border:3px solid var(--ink);box-shadow:inset 10px 0 #13243a40,0 5px 0 var(--ink);background:var(--cloud)}.book-cover img,.book-cover .scene{width:100%;height:100%;object-fit:cover;display:block}.book-card.soon .book-cover img,.book-card.locked .book-cover>*:first-child{filter:saturate(.55) brightness(.92)}.book-badge{position:absolute;top:8px;right:8px;background:var(--lamp);border:2px solid var(--ink);border-radius:999px;padding:2px 10px;font-weight:800;font-size:14px;color:var(--ink)}.book-done{position:absolute;bottom:8px;right:8px;width:32px;height:32px;border-radius:50%;background:var(--go);color:#fff;border:2px solid var(--ink);display:grid;place-items:center}.book-title{color:var(--cloud);font-family:var(--font-display);font-weight:800;font-size:17px;line-height:1.15;text-shadow:0 2px 0 var(--ink);text-wrap:balance}.book-tags{color:var(--cloud);opacity:.85;font-size:13px;font-weight:700}.story-screen{background:radial-gradient(circle at 50% 40%,#6b4a8f,#2c2048);padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px));gap:10px}.st-progress{flex:1;max-width:520px;height:14px;background:#ffffff40;border:3px solid var(--ink);border-radius:999px;overflow:hidden}.st-progress span{display:block;height:100%;background:var(--lamp);transition:width .6s}.round-btn.pulse{animation:fx-pop .6s ease-in-out infinite alternate;background:var(--lamp)}.st-stage{position:relative;flex:1;width:100%;max-width:1240px;display:flex;align-items:center;justify-content:center;gap:10px;min-height:0;touch-action:pan-y}.st-book{position:relative;perspective:2200px;flex:1;height:100%;max-height:640px;min-height:0}.st-book.spread{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:16 / 10;height:auto;max-width:1100px;max-height:calc(100dvh - 110px);margin:auto}.st-page,.st-leaf-face{background:#fffaf0;border:4px solid var(--ink);overflow:hidden}.st-page.left{border-radius:18px 4px 4px 18px;border-right-width:2px}.st-page.right{border-radius:4px 18px 18px 4px;border-left-width:2px;box-shadow:inset 18px 0 22px -18px #13243a59}.st-book.spread{filter:drop-shadow(0 10px 0 rgba(0,0,0,.35))}.st-spine{position:absolute;left:50%;top:0;bottom:0;width:4px;translate:-2px 0;background:var(--ink)}.st-art{width:100%;height:100%;background:#e8f4fb}.st-photo{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none}.st-leaf{position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d;z-index:3}.st-leaf.next{left:50%;transform-origin:left center;animation:leaf-next .76s cubic-bezier(.4,.1,.3,1) forwards}.st-leaf.prev{left:0;transform-origin:right center;animation:leaf-prev .76s cubic-bezier(.4,.1,.3,1) forwards}.st-leaf.whole{width:100%;left:0}.st-leaf.whole.prev{transform-origin:right center}@keyframes leaf-next{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes leaf-prev{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}.st-leaf-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}.st-leaf.next .st-leaf-face.front{border-radius:4px 18px 18px 4px;background:linear-gradient(90deg,#f1e6cf,#fffaf0 30%)}.st-leaf.next .st-leaf-face.back{transform:rotateY(180deg);border-radius:18px 4px 4px 18px}.st-leaf.prev .st-leaf-face.front{border-radius:18px 4px 4px 18px}.st-leaf.prev .st-leaf-face.back{transform:rotateY(180deg);border-radius:4px 18px 18px 4px}.st-leaf.whole .st-leaf-face{border-radius:18px}.st-leaf-face.blank{background:linear-gradient(90deg,#fffaf0,#efe2c6)}.st-book.narrow{width:100%}.st-page.whole{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px}.st-single{display:flex;flex-direction:column;height:100%}.st-single .st-art{flex:0 0 auto;height:auto;aspect-ratio:16 / 10;max-height:48%;border-bottom:3px solid var(--ink)}.st-single .st-text{flex:1;min-height:0}.st-text{position:relative;height:100%;display:flex;flex-direction:column;justify-content:center;padding:clamp(14px,3vw,34px);overflow-y:auto}.st-words{display:flex;flex-direction:column;gap:.35em}.st-line{margin:0;line-height:1.5;text-wrap:pretty}.lvl-3-4 .st-words{font:700 clamp(26px,3.6vw,40px) var(--font-body);text-align:center}.lvl-5-6 .st-words{font:700 clamp(24px,3.2vw,36px) var(--font-body);text-align:center;letter-spacing:.02em}.lvl-7-9 .st-words{font:400 clamp(18px,2.2vw,25px) var(--font-body)}.lvl-10-12 .st-words{font:400 clamp(16px,1.9vw,21px) var(--font-body)}.lvl-all .st-words{font:400 clamp(16px,1.9vw,22px) var(--font-body);gap:.15em}.lvl-all{justify-content:flex-start}.st-word{border-radius:8px;padding:0 2px;cursor:pointer;transition:background .15s,box-shadow .15s}.st-word.on{background:var(--lamp);box-shadow:0 3px 0 var(--lamp-dark)}.st-word.vocab{color:#2e4fa8;font-weight:700;text-decoration:underline dotted 3px;text-underline-offset:4px}.st-word .s1{color:#1f4fbf}.st-word .s2{color:#d1344b}.st-word .mute{color:#a3adbb}.st-chapter{margin:0 0 10px;font-family:var(--font-display);font-weight:900;font-size:clamp(20px,2.6vw,30px);color:#2e4fa8}.st-folio{position:absolute;bottom:8px;right:14px;font-weight:800;color:var(--muted)}.st-titlepage{align-items:center;text-align:center;gap:12px;background:radial-gradient(circle at 50% 30%,#fff 0,#fffaf0 70%)}.st-titlepage h2{margin:0;font-family:var(--font-display);font-weight:900;font-size:clamp(26px,3.6vw,44px);line-height:1.1;text-wrap:balance}.st-collection{margin:0;font-weight:800;color:#2e4fa8;text-transform:uppercase;letter-spacing:.08em;font-size:14px}.st-summary{margin:0;font-size:clamp(16px,1.8vw,20px);max-width:30ch}.st-begin{margin:8px 0 0;font-weight:800;color:var(--muted);animation:fx-pop .9s ease-in-out infinite alternate}.st-arrow{flex:none;width:66px;height:66px;border-radius:50%;display:grid;place-items:center;background:var(--cloud);border:3px solid var(--ink);box-shadow:0 5px 0 var(--ink);z-index:4}.st-arrow.next svg{transform:scaleX(-1)}.st-arrow.finish svg{transform:none}.st-arrow.finish{background:var(--go);color:#fff}.st-arrow:disabled{opacity:.35}.st-arrow.nudge{animation:nudge 1.2s ease-in-out infinite}@keyframes nudge{50%{transform:translate(6px) scale(1.06)}}.st-vocab{position:absolute;left:50%;bottom:14px;translate:-50% 0;z-index:6;max-width:min(560px,92vw);background:#fff4c7;border:3px solid var(--ink);border-radius:18px;box-shadow:0 5px 0 var(--ink);padding:12px 16px;display:flex;flex-direction:column;gap:4px;animation:card-in .35s cubic-bezier(.3,1.5,.5,1);font-size:18px}.st-vocab strong{font-family:var(--font-display);font-size:22px;color:#2e4fa8}@media (max-aspect-ratio: 5/4),(max-width: 699px){.st-stage{flex-direction:column}.st-arrow{position:absolute;bottom:8px;width:58px;height:58px}.st-arrow.prev{left:8px}.st-arrow.next{right:8px}.st-book.narrow{height:100%}.lvl-3-4 .st-words{font-size:clamp(22px,6vw,32px)}.lvl-5-6 .st-words{font-size:clamp(21px,5.6vw,30px)}.st-text{padding-bottom:72px}}.st-quiz{width:100%;max-width:900px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.st-quiz-dots{display:flex;gap:6px;color:#ffffff59}.st-quiz-dots .on{color:var(--lamp)}.st-quiz-q{display:flex;align-items:center;gap:12px;background:var(--cloud);border:4px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink);padding:14px 18px;max-width:760px}.st-quiz-q p{margin:0;font-family:var(--font-display);font-weight:800;font-size:clamp(20px,3vw,28px);text-wrap:balance}.scene .swim{transform-box:fill-box;animation:swim 3.4s ease-in-out infinite}.scene .swim.slow{animation-duration:6s}@keyframes swim{50%{transform:translate(10px,-8px) rotate(-3deg)}}.scene .star-wiggle{transform-box:fill-box;transform-origin:center;animation:arm-cheer 1.4s ease-in-out infinite}.scene .ray-light{animation:twinkle 5s ease-in-out infinite}.scene .glow-pulse{transform-box:fill-box;transform-origin:center;animation:fx-pop 1s ease-in-out infinite alternate}.st-ask{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:10px;background:#fff4c7;border:3px dashed var(--ink);border-radius:18px;padding:12px}.st-ask p{margin:0;font-weight:800;text-align:center}.st-ask-opts{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.st-ask-opts button{min-width:84px;padding:8px 14px;font:800 22px var(--font-display);background:var(--cloud);border:3px solid var(--ink);border-radius:16px;box-shadow:0 4px 0 var(--ink)}.st-ask-opts button.tried{opacity:.45;animation:shake .45s}.st-ask-opts button.reveal{animation:reveal-blink .9s ease-in-out infinite;background:#d8f6dc}.st-ask-opts button.good{background:var(--go);color:#fff;animation:island-pop .5s}.st-art-wrap{position:relative;width:100%;height:100%;overflow:hidden}.st-art-bg{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;filter:blur(14px) saturate(1.15) brightness(.85)}.st-art-bg .scene,.st-art-bg .st-photo{width:100%;height:100%;object-fit:cover}.st-art-fg{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.st-art-fg .scene{width:100%;height:auto;max-height:100%;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}.st-photo.fit{object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}.st-text:has(.st-ask){justify-content:flex-start}.st-text:has(.st-ask) .st-folio{display:none}.st-ask-why{color:#2e4fa8}@media (max-aspect-ratio: 5/4),(max-width: 699px){.st-ask{padding:8px;gap:6px;font-size:15px}.st-ask-opts button{min-width:70px;font-size:18px;padding:6px 10px}}.scene .prop.jump{animation:actor-jump .6s cubic-bezier(.3,1.6,.5,1);transform-box:view-box}.scene .prop.drive{animation:drive 1.1s cubic-bezier(.5,0,.5,1)}@keyframes drive{40%{transform:translate(90px)}41%{transform:translate(90px) scaleX(-1)}80%{transform:translate(0) scaleX(-1)}81%,to{transform:none}}.scene .tappable{cursor:pointer}.st-photo-host{width:100%;height:100%;display:grid;place-items:center;container-type:size;background:#241a3a}.st-photo-box{position:relative;width:min(100cqw,calc(var(--ar, 1.5) * 100cqh));aspect-ratio:var(--ar, 1.5)}.st-photo-box .st-photo{width:100%;height:100%;object-fit:cover}.st-art-fg .st-photo-host{background:transparent}.st-art-fg .st-photo-box{filter:drop-shadow(0 6px 10px rgba(0,0,0,.35))}.spot{position:absolute;translate:-50% -50%;aspect-ratio:1;border-radius:50%;background:transparent;border:0;padding:0;cursor:pointer}.spot .hint{position:absolute;right:6%;top:6%;width:26px;height:26px;border-radius:50%;background:#fffdf7e6;border:2px solid var(--ink);display:grid;place-items:center;font-size:15px;animation:fx-pop .8s ease-in-out infinite alternate;pointer-events:none}.spot.found .hint{display:none}.spot-burst{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.spot-burst i{position:absolute;left:50%;top:50%;font-style:normal;font-size:30px;animation:spot-fly 1.1s ease-out forwards}@keyframes spot-fly{0%{transform:translate(-50%,-50%) scale(.4);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.3);opacity:0}}.spot.ring:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:5px solid var(--lamp);animation:ring-out .6s ease-out forwards}@keyframes ring-out{0%{transform:scale(.5);opacity:1}to{transform:scale(1.4);opacity:0}}.st-stars{display:flex;align-items:center;gap:4px;background:var(--lamp);border:3px solid var(--ink);border-radius:999px;padding:2px 12px 2px 8px;font:900 20px var(--font-display);box-shadow:0 3px 0 var(--ink)}.st-stars.bump{animation:island-pop .45s}.st-flystar{position:fixed;z-index:50;font-size:34px;pointer-events:none;animation:flystar .8s cubic-bezier(.5,0,.6,1) forwards}@keyframes flystar{to{left:var(--tx);top:var(--ty);transform:scale(.5);opacity:.4}}.st-ask-opts button.reading{background:var(--lamp);transform:scale(1.08)}.st-ask-opts .emo{display:inline-flex;vertical-align:middle;margin-right:6px}.scene .tail-wag{transform-box:fill-box;transform-origin:left center;animation:arm-wave .5s ease-in-out infinite}.st-resume{display:flex;flex-direction:column;align-items:center;gap:8px}.st-restart{font-weight:800;color:var(--muted);text-decoration:underline;background:none;border:0;font-size:16px}.book-progress{display:block;height:8px;border-radius:99px;background:#ffffff4d;border:2px solid var(--ink);overflow:hidden}.book-progress span{display:block;height:100%;background:var(--lamp)}.st-resume-btn{font:900 22px var(--font-display);color:#fff;background:var(--go);border:4px solid var(--ink);border-radius:999px;padding:12px 26px;box-shadow:0 6px 0 var(--ink);animation:fx-pop .9s ease-in-out infinite alternate}.picture.combo{position:relative;display:inline-flex;align-items:center;justify-content:center}.picture.combo .combo-main{position:relative;z-index:1}.picture.combo .combo-back,.picture.combo .combo-front{position:absolute;top:-.12em;font-size:.62em;filter:hue-rotate(250deg) saturate(1.2);animation:combo-flap .9s ease-in-out infinite alternate}.picture.combo .combo-back{right:.08em;top:-.34em;transform-origin:left bottom;opacity:.85}.picture.combo .combo-front{right:-.18em;z-index:2;transform-origin:left center;animation-delay:.45s}@keyframes combo-flap{0%{transform:scaleX(1) rotate(-8deg)}to{transform:scaleX(.7) rotate(6deg)}}@media (prefers-reduced-motion: reduce){.picture.combo span{animation:none}}.crea-bg{background:radial-gradient(circle at 12% 18%,rgba(255,214,102,.55) 0 70px,transparent 72px),radial-gradient(circle at 88% 14%,rgba(244,143,177,.5) 0 90px,transparent 92px),radial-gradient(circle at 92% 86%,rgba(129,212,250,.55) 0 110px,transparent 112px),radial-gradient(circle at 6% 90%,rgba(165,214,167,.6) 0 100px,transparent 102px),linear-gradient(180deg,#fff6e9,#fde9f3)}.crea-bg.music{background:radial-gradient(ellipse at 50% 120%,#4b3a8c 0,#2a2160 55%,#1b1640)}.crea-bg.music .universe-title,.crea-bg.music .round-dots span:not(.on){color:#fff}.crea-bg .missions{grid-template-columns:repeat(4,minmax(0,1fr))}.crea-art{display:grid;place-items:center;min-height:110px}.crea-art .crea-model-svg{width:110px;height:110px}.mini-xylo{display:flex;align-items:center;gap:5px;height:96px}.mini-xylo span{width:14px;border-radius:6px;border:3px solid var(--ink)}.mini-notes{font-size:54px;color:#8e24aa;letter-spacing:4px;animation:bob 2.4s ease-in-out infinite}.crea-board{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:8px 16px 16px;display:grid;grid-template-columns:1fr auto;grid-template-rows:1fr auto;gap:12px 18px;min-height:0}.crea-canvas{position:relative;display:grid;place-items:center;min-height:0;background:#fff;border:4px solid var(--ink);border-radius:32px;box-shadow:0 8px 0 var(--ink);padding:8px}.crea-canvas.done{animation:crea-pop .6s ease}@keyframes crea-pop{40%{transform:scale(1.03) rotate(-1deg)}}.crea-svg{width:100%;height:100%;max-height:min(62vh,560px);touch-action:none}.crea-region{cursor:pointer;transition:fill .25s ease}.crea-region.locked{cursor:default}.crea-region.wrong{animation:crea-wiggle .5s ease;transform-box:fill-box;transform-origin:center}@keyframes crea-wiggle{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.crea-axis{stroke:#8e24aa;stroke-width:4;stroke-dasharray:12 10;pointer-events:none}.crea-sparkles{position:absolute;top:10px;right:18px;font-size:54px;animation:bob 1s ease-in-out infinite}.crea-side{display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center}.crea-model{background:#fff;border:4px solid var(--ink);border-radius:22px;padding:6px 8px 8px;box-shadow:0 6px 0 var(--ink);text-align:center}.crea-model-label{display:block;font-family:var(--font-display);font-weight:800;font-size:16px}.crea-model-svg{width:150px;height:150px;display:block}.crea-mixer{display:flex;flex-direction:column;align-items:center;gap:8px}.crea-tubes{display:grid;grid-template-columns:repeat(2,auto);gap:8px}.crea-pot{position:relative;width:112px;height:92px;border:4px solid var(--ink);border-radius:12px 12px 46px 46px;background:#f4ede4;overflow:hidden;box-shadow:0 6px 0 var(--ink)}.crea-pot-paint{position:absolute;inset:auto 0 0 0;height:62%;background:var(--c);transition:background .3s;border-top:3px solid rgba(0,0,0,.15)}.crea-pot.ready{animation:crea-glow 1s ease-in-out infinite alternate}.crea-pot.bad .crea-pot-paint{filter:saturate(.3)}@keyframes crea-glow{to{box-shadow:0 6px 0 var(--ink),0 0 0 8px #fdd83599}}.crea-pot-hint{position:relative;font-family:var(--font-display);font-weight:800;font-size:15px;color:#8a7b6b}.crea-empty{width:40px;height:40px;border-radius:50%;border:3px solid var(--ink);background:#fff;display:grid;place-items:center}.crea-empty:disabled{opacity:.35}.crea-palette{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center}.crea-swatch{width:64px;height:64px;border-radius:50%;border:4px solid var(--ink);background:#fff;padding:5px;box-shadow:0 5px 0 var(--ink);transition:transform .1s}.crea-swatch span{display:block;width:100%;height:100%;border-radius:50%;background:var(--c)}.crea-swatch.white span{box-shadow:inset 0 0 0 2px #ddd}.crea-swatch.on{transform:translateY(-8px) scale(1.08);box-shadow:0 10px 0 var(--ink),0 0 0 6px #ffffffe6}.crea-swatch.tube{width:46px;height:46px;padding:3px;box-shadow:0 4px 0 var(--ink)}.crea-swatch.tube.on{transform:none;opacity:.45}.crea-swatch.blink{animation:crea-blink .7s ease-in-out 4}@keyframes crea-blink{50%{transform:translateY(-10px) scale(1.15);box-shadow:0 12px 0 var(--ink),0 0 0 8px #fdd835cc}}.crea-finish{display:inline-flex;align-items:center;gap:6px;height:60px;padding:0 20px;border-radius:30px;border:4px solid var(--ink);background:#a5d6a7;font-family:var(--font-display);font-weight:800;font-size:20px;box-shadow:0 5px 0 var(--ink)}.crea-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;width:100%;max-width:900px;margin:16px auto;padding:0 16px}.crea-thumb{background:#fff;border:4px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink);padding:8px}.crea-thumb .crea-model-svg{width:100%;height:auto}.simon{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;width:100%;padding:0 16px 16px}.simon-dots{display:flex;gap:8px;font-size:34px;color:#ffffff4d;min-height:44px}.simon-dots .on{color:#fdd835;text-shadow:0 0 12px rgba(253,216,53,.8)}.xylo{position:relative;display:flex;align-items:center;gap:10px;padding:22px 26px;width:min(100%,860px);height:min(46vh,340px)}.xylo-rail{position:absolute;left:10px;right:10px;height:18px;border-radius:9px;background:#8d5a3b;border:3px solid #13243A}.xylo-rail.top{top:22%;transform:rotate(4deg)}.xylo-rail.bottom{bottom:22%;transform:rotate(-4deg)}.xylo-bar{position:relative;z-index:1;flex:1;height:var(--h);border-radius:14px;border:4px solid #13243A;background:linear-gradient(90deg,rgba(255,255,255,.35),transparent 40%,rgba(0,0,0,.12)),var(--c);box-shadow:0 7px #13243a;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:10px 0;transition:transform .08s,filter .08s;touch-action:none}.xylo-bar.lit{transform:translateY(5px) scale(1.04);filter:brightness(1.35) drop-shadow(0 0 16px var(--c));box-shadow:0 2px #13243a}.xylo-bar.guide{animation:xylo-guide .9s ease-in-out infinite}@keyframes xylo-guide{50%{filter:brightness(1.3) drop-shadow(0 0 18px #fff);transform:translateY(-6px)}}.xylo.busy .xylo-bar:not(.lit){filter:saturate(.75)}.xylo-pin{width:12px;height:12px;border-radius:50%;background:#e0e0e0;border:2px solid #13243A}.xylo-name{font-family:var(--font-display);font-weight:800;font-size:20px;color:#fff;text-shadow:0 2px 0 #13243A}.replay-btn{display:inline-flex;align-items:center;gap:8px;height:54px;padding:0 20px;border-radius:27px;border:4px solid var(--ink);background:#fff;font-family:var(--font-display);font-weight:800;font-size:18px;box-shadow:0 5px 0 var(--ink)}.replay-btn:disabled{opacity:.5}.song-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;width:100%;max-width:900px;margin:auto;padding:16px}.song-card{display:flex;align-items:center;gap:12px;padding:18px 20px;border-radius:26px;border:4px solid #13243A;background:#fff;font-family:var(--font-display);font-weight:800;font-size:21px;text-align:left;box-shadow:0 7px #13243a;animation:crea-in .4s both}.song-card.free{background:#fff3b0}.song-note{font-size:36px;color:#8e24aa}.song-progress{width:min(90%,600px);height:16px;border-radius:8px;background:#fff3;border:3px solid #fff;overflow:hidden}.song-progress span{display:block;height:100%;background:#fdd835;transition:width .2s}@media (max-width: 760px){.crea-bg .missions{grid-template-columns:1fr}.crea-art{min-height:0}.crea-art .crea-model-svg{width:70px;height:70px}.mini-xylo{height:60px}.mini-xylo span{width:9px}.mini-notes{font-size:34px}.crea-board{grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:6px 12px 12px}.crea-side{flex-direction:row;order:-1}.crea-model-svg{width:84px;height:84px}.crea-mixer{flex-direction:row}.crea-pot{width:84px;height:70px}.crea-svg{max-height:46vh}.crea-swatch{width:52px;height:52px}.crea-swatch.tube{width:38px;height:38px}.xylo{gap:6px;padding:16px 10px;height:40vh}.xylo-name{font-size:15px}}@keyframes crea-in{0%{transform:scale(.7);opacity:0}}.title-credit{position:absolute;left:0;right:0;bottom:max(10px,env(safe-area-inset-bottom));margin:0;text-align:center;font-family:var(--font-display);font-weight:800;font-size:14px;letter-spacing:.04em;color:#fff;text-shadow:0 2px 0 rgba(10,35,62,.55);pointer-events:none}.pz-about{margin-top:24px;padding:16px 18px;border-radius:18px;background:#f2f6fa;border:2px solid #5C92B8}.pz-about h3{margin:0 0 6px;color:#0a233e}.pz-about p{margin:6px 0;line-height:1.45}.pz-credit{font-weight:700;color:#0a233e}.pz-credit a{color:#5c92b8}@media (max-height: 480px){.map-guide .mascot{width:52px;height:57px}.map-guide .speech-bubble{display:none}}
