@font-face{font-family:Grandstander;src:url('/assets/Grandstander.ttf') format('truetype');font-weight:100 900;font-display:swap}@font-face{font-family:Rubik;src:url('/assets/Rubik-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
:root{--navy:#101b42;--yellow:#ffd43b;--teal:#087b78;--muted:#5f6881;--line:#e1e7ee;--blue:#dcecf6;--radius:28px;color:var(--navy);font-family:Grandstander,'Trebuchet MS',sans-serif;background:#fff;font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:4px solid #087b78;outline-offset:4px}button{touch-action:manipulation}svg.icon{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle;flex-shrink:0}.site-header{min-height:86px;border-bottom:2px solid var(--line);padding:15px max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{font-size:33px;font-weight:850;letter-spacing:-1px;white-space:nowrap;display:flex;align-items:center;gap:10px}.brand>span{display:inline-flex;align-items:center;justify-content:center;background:var(--yellow);width:64px;height:52px;border-radius:20px;transform:rotate(-3deg);font-size:34px}.site-header nav{display:flex;gap:30px}.site-header nav a{font-weight:750;font-size:22px;padding:13px 3px 9px;border-bottom:5px solid transparent}.site-header nav a.active{border-color:var(--yellow)}main{max-width:1280px;margin:auto;padding:28px 24px 50px}h1,h2,p{margin-top:0}h1{font-size:48px;line-height:1.12;letter-spacing:-1.6px;font-weight:850;margin-bottom:10px}h2{font-size:31px;font-weight:800;line-height:1.2}p{line-height:1.5}.back{display:inline-flex;align-items:center;gap:10px;font-size:18px;font-weight:700;margin-bottom:22px}.lesson-meta{font-size:16px;font-weight:650;margin-bottom:9px}.subtitle{font-size:22px;color:var(--muted);margin-bottom:22px}.game-surface{position:relative;border-radius:var(--radius);background:#bfefff url('/assets/science-landscape.webp') center bottom/cover no-repeat;overflow:hidden;box-shadow:0 4px 0 #b8e1e8}.game-heading{position:absolute;z-index:2;top:22px;left:26px;right:26px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;pointer-events:none}.game-heading h2{display:inline-block;margin:0 0 7px;padding:8px 18px 5px;border-radius:18px;background:var(--yellow);font-size:35px}.game-heading p{font-family:Rubik,sans-serif;font-size:17px;line-height:1.4;max-width:620px;margin:0;background:#ffffffdc;padding:7px 12px;border-radius:12px}.hud{display:flex;align-items:center;gap:10px;flex-shrink:0;pointer-events:auto}.score{background:#fff;border-radius:22px;padding:13px 20px;font-size:26px;font-weight:800;min-width:120px;box-shadow:0 3px 0 #8fc7d1}.icon-button{border:0;background:var(--yellow);border-radius:50%;width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 0 #d4ad20}.game-canvas{display:block;width:100%;aspect-ratio:1000/530;touch-action:none;user-select:none;outline-offset:-7px!important}.game-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:23px 0 0;flex-wrap:wrap}.control-buttons{display:flex;align-items:center;gap:12px}.move-button,.action-button,.secondary,.primary{border:0;border-radius:20px;min-height:56px;padding:15px 24px;font-size:20px;font-weight:750;display:inline-flex;align-items:center;justify-content:center;gap:10px}.move-button{background:var(--blue);width:78px;font-size:24px;user-select:none;touch-action:none}.action-button{background:var(--yellow);touch-action:none;min-width:120px}.primary{background:var(--yellow);box-shadow:0 4px 0 #d7af1d}.secondary{background:#edf2f7}.controls-hint{font-family:Rubik,sans-serif;font-size:14px;color:var(--muted);max-width:440px;margin:0}.overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;background:#e6faffb0;backdrop-filter:blur(4px);padding:22px}.overlay[hidden]{display:none}.start-panel{max-width:560px;width:100%;padding:28px 32px;text-align:center;background:#fff;border-radius:30px;box-shadow:0 8px 0 #087b7820}.start-panel h2{font-size:36px;margin-bottom:10px}.start-panel p{font-family:Rubik,sans-serif;font-size:18px;line-height:1.6;margin-bottom:20px}.start-panel .primary{font-size:25px;min-width:200px}.start-panel .sprite{margin:0 auto 8px}.success-star{font-size:52px;color:#c47b00;letter-spacing:8px}.next-link{display:block;color:var(--teal);font-weight:750;font-size:18px;margin-top:20px}.game-message{height:27px;margin:12px 0 0;text-align:center;font-size:18px;font-weight:700;color:var(--teal)}.sprite{display:inline-block;width:64px;height:64px;background-image:url('/assets/science-sprites-v2.webp');background-size:800% 600%;background-repeat:no-repeat;flex-shrink:0}.library-intro{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:40px;margin:14px 0 36px}.library-intro h1{font-size:57px;max-width:650px}.library-intro p{font-size:22px;color:var(--muted);max-width:570px}.library-art{height:270px;border-radius:45% 45% 30px 30px;background:#d7f5fc url('/assets/science-landscape.webp') center bottom/cover;display:flex;align-items:center;justify-content:center}.library-art .sprite{width:160px;height:160px;transform:rotate(-8deg);filter:drop-shadow(0 12px 5px #1533531a);animation:float 4s ease-in-out infinite}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.library-toolbar h2{margin:0;font-size:30px}.library-toolbar p{margin:5px 0 0;color:var(--muted);font-size:17px}.search{border:2px solid var(--line);border-radius:16px;padding:15px 18px;max-width:330px;width:100%;font-family:Rubik,sans-serif;font-size:16px}.lesson-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:42px}.lesson-row{display:flex;align-items:center;gap:17px;border-bottom:2px solid var(--line);padding:22px 3px;min-height:116px}.lesson-row:hover{background:#f7fbfd}.lesson-number{font-size:29px;font-weight:800;width:49px;flex-shrink:0;color:#087b78}.lesson-text{flex:1;min-width:0}.lesson-text h3{font-size:21px;line-height:1.25;margin:0 0 6px;font-weight:750}.lesson-text p{font-family:Rubik,sans-serif;font-size:14px;color:var(--muted);line-height:1.4;margin:0}.play-circle{border-radius:50%;background:var(--yellow);width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.completed .lesson-number{color:var(--teal)}.done-label{color:var(--teal);font-size:13px;white-space:nowrap}.empty{padding:40px 0;color:var(--muted)}footer{max-width:1280px;margin:auto;padding:25px 24px;border-top:2px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:14px;color:var(--muted)}footer span{font-family:Rubik,sans-serif;font-size:12px}.loading{padding:40px;text-align:center}.launch-controls{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.launch-controls label{font-size:15px;font-weight:650;display:flex;align-items:center;gap:9px}.launch-controls input{width:105px;accent-color:var(--teal);min-height:36px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes float{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-14px) rotate(2deg)}}
@media(min-width:1500px){main{max-width:1380px}.game-canvas{aspect-ratio:1000/500}}
@media(max-width:900px){h1{font-size:39px}.brand{font-size:28px}.site-header nav{gap:16px}.site-header nav a{font-size:19px}.game-heading h2{font-size:28px}.game-heading p{font-size:15px;max-width:440px}.score{font-size:22px;min-width:98px;padding:13px}.hud{gap:6px}.icon-button{width:46px;height:46px}.library-intro h1{font-size:44px}.lesson-list{column-gap:22px}}
@media(max-width:650px){.site-header{padding:13px 18px 0;gap:10px;flex-direction:column;align-items:flex-start}.brand{font-size:29px}.brand>span{width:53px;height:43px;font-size:29px}.site-header nav{width:100%;justify-content:space-between;gap:10px}.site-header nav a{padding:12px 9px 10px;font-size:19px}main{padding:22px 16px 34px}h1{font-size:33px;letter-spacing:-1px}.back{font-size:16px;margin-bottom:16px}.lesson-meta{font-size:14px}.subtitle{font-size:19px;margin-bottom:18px}.game-surface{border-radius:24px;background-size:auto 100%}.game-canvas{aspect-ratio:600/730}.game-heading{top:14px;left:13px;right:13px;display:block}.game-heading h2{font-size:24px;max-width:100%;padding:7px 12px 4px;margin-bottom:7px}.game-heading p{font-size:13px;line-height:1.4;padding:6px 9px;max-width:100%}.hud{margin-top:9px;gap:8px}.score{min-width:86px;font-size:20px;padding:9px 14px}.icon-button{width:39px;height:39px}.icon-button svg{width:22px;height:22px}.game-controls{margin-top:17px;gap:13px}.move-button{width:64px;min-height:54px;padding:12px;border-radius:17px}.control-buttons{gap:9px}.action-button{padding:13px 18px;font-size:18px;min-width:100px}.secondary{padding:13px 16px;font-size:16px;min-height:52px}.controls-hint{font-size:12px;width:100%;order:3}.start-panel{padding:22px 18px}.start-panel h2{font-size:29px}.start-panel p{font-size:15px;line-height:1.5}.start-panel .sprite{width:70px;height:70px}.start-panel .primary{font-size:23px;min-height:56px}.overlay{padding:18px}.library-intro{display:block;margin:7px 0 28px}.library-intro h1{font-size:40px}.library-intro p{font-size:19px;margin-bottom:20px}.library-art{height:155px;border-radius:26px}.library-art .sprite{width:110px;height:110px}.library-toolbar{display:block}.library-toolbar h2{font-size:27px}.search{margin-top:18px;max-width:none}.lesson-list{grid-template-columns:1fr}.lesson-row{padding:20px 2px;gap:13px;min-height:100px}.lesson-text h3{font-size:20px}.lesson-number{font-size:25px;width:39px}footer{display:block;padding:22px 16px;font-size:13px}footer span{display:block;margin-top:9px}.launch-controls{gap:9px}.launch-controls label{font-size:13px}.launch-controls input{width:85px}.game-message{height:auto;min-height:25px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.library-art .sprite{animation:none}*{scroll-behavior:auto!important}}
[hidden]{display:none!important}
@media(min-width:651px) and (max-height:900px){.game-view .site-header{min-height:70px;padding-top:9px;padding-bottom:9px}.game-view .brand{font-size:28px}.game-view .brand>span{width:55px;height:44px;font-size:29px}.game-view main{padding-top:16px;padding-bottom:25px}.game-view .back{font-size:16px;margin-bottom:9px}.game-view .lesson-meta{font-size:14px;margin-bottom:4px}.game-view h1{font-size:35px;line-height:1.15;margin-bottom:3px}.game-view .subtitle{font-size:18px;margin-bottom:12px}.game-view .game-surface{max-width:min(100%,calc((100dvh - 310px)*1.8868));margin-inline:auto}.game-view .game-controls{max-width:min(100%,calc((100dvh - 310px)*1.8868));margin:17px auto 0}.game-view .game-heading h2{font-size:28px}.game-view .game-heading p{font-size:14px;max-width:520px}.game-view .game-heading{top:16px;left:18px;right:18px}.game-view .score{font-size:21px;min-width:95px;padding:12px}.game-view .icon-button{width:44px;height:44px}.game-view .controls-hint{max-width:330px;font-size:12px}.game-view .move-button{width:64px;min-height:52px}.game-view .secondary{min-height:52px;padding:12px 18px;font-size:16px}}
