@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/Baloo2-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:400 800;font-display:swap;src:url(../fonts/Baloo2-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/Nunito-vietnamese.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../fonts/Nunito-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page:#168ca6;--paper:#fff3d2;--ink:#173e54;--muted:#607b85;--orange:#f46950;--coral:#ff6886;--line:#c6d9cd;--gold:#ffd34d;--mint:#61d6ab;--route-green:#20775c;font-family:Nunito,sans-serif;color:var(--ink);background:var(--page);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--page);padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px)}body:before,body:after{content:"";position:fixed;z-index:-1;pointer-events:none;border:45px solid #ffffff0b;border-radius:50%;width:560px;height:560px;left:-340px;top:20%}body:after{left:auto;right:-280px;top:-210px;width:700px;height:700px;border-width:90px}button,input{font:inherit}button{color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.44}button:not(:disabled){transition:transform .14s ease,background-color .14s ease}button:not(:disabled):active{transform:translateY(2px) scale(.94)}button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #ffda55;outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:"Baloo 2",sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.1}p{line-height:1.55}.hidden{display:none!important}.icon{width:23px;height:23px;flex-shrink:0;stroke-width:2.3}.full{width:100%}.muted{color:var(--muted)}.site-header{max-width:1040px;margin:auto;padding:13px 26px;height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{display:flex;align-items:center;gap:8px;text-align:left;font-family:"Baloo 2";font-size:12px;color:#fff6d6;font-weight:800;line-height:1.1;min-height:44px;transform:rotate(-3deg)}.brand-sort{display:block;font-size:34px;letter-spacing:-.04em;line-height:.9;color:#ffda55}.brand-dot{color:#ff8b92}.brand-mark{width:37px;height:39px;display:block;position:relative;transform:rotate(-8deg)}.brand-mark i{position:absolute;width:21px;height:19px;border:2px solid #173e54;border-radius:5px;background:#ff6886;left:0;top:0;box-shadow:0 2px #173e54}.brand-mark i:nth-child(2){left:17px;top:19px;background:#4cc7f1}.brand-mark i:nth-child(3){left:2px;top:29px;width:10px;height:5px;background:#ffda55;border:0;box-shadow:none;transform:rotate(-32deg)}.header-note{display:none}.header-actions{display:flex;align-items:center;gap:13px}.icon-button{width:44px;height:44px;min-width:44px;min-height:44px;display:grid;place-items:center;position:relative;color:#173e54;isolation:isolate}.icon-button:before{content:"";position:absolute;inset:4px;background:#fff1c8;border:2px solid #174858;border-radius:13px;box-shadow:0 2px #174858;z-index:-1}.icon-button:hover:before{background:#ffdc6b}.icon-button .icon{width:20px;height:20px}.star-total{display:flex;align-items:center;gap:6px;color:#fff6d6;background:#116477;border:2px solid #105565;border-radius:18px;padding:5px 12px;font-weight:900;font-size:17px}.star-total>.icon{width:22px;height:22px;fill:#ffda55;stroke:#c98728;stroke-width:1.5}.star-total>span{display:none}#content{max-width:1080px;margin:auto;padding:0 24px}.eyebrow{font-weight:900;font-size:10px;line-height:1.5;letter-spacing:.08em;text-transform:uppercase;color:#b4e8e8}.site-footer{display:none}.home-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;align-items:center;gap:0 20px;min-height:560px;max-width:940px;margin:auto;padding:24px 0 22px}.home-copy{grid-column:1;grid-row:1;text-align:center;align-self:end}.home-copy .eyebrow{display:inline-block;padding:5px 15px;background:#116477;border-radius:14px;font-size:10px;color:#bcf3e8;transform:rotate(-3deg)}.home-copy h1{font-family:"Baloo 2";font-weight:800;font-size:49px;letter-spacing:-.035em;line-height:.93;color:#fff5d6;margin:27px 0 10px;transform:rotate(-4deg);-webkit-text-stroke:1px #173e54;paint-order:stroke fill;text-shadow:0 4px 0 #173e54}.home-copy h1 span{display:block;font-size:110px;color:#ffda55;letter-spacing:-.045em;line-height:.95}.home-description{font-family:"Baloo 2";font-size:20px;color:#e2fff3;font-weight:600;margin-top:20px}.home-art{grid-column:2;grid-row:1/3;position:relative;padding:5px 0}.diorama{display:block;width:100%;height:auto;overflow:visible}.home-cta{grid-column:1;grid-row:2;align-self:start;display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:28px}.primary{min-height:48px;display:flex;align-items:center;justify-content:center;gap:11px;padding:10px 22px;border:2px solid #204957;border-radius:17px;background:#ffda55;color:#234b58;box-shadow:0 4px #1b5364;font-family:"Baloo 2";font-weight:800;font-size:19px;line-height:1.2}.primary:hover{background:#ffe37d}.primary.big{min-width:258px;min-height:58px;font-size:24px;transform:rotate(-2deg);border-radius:20px}.primary.big>.icon:last-child{margin-left:auto}.primary.big>.icon:first-child{fill:currentColor;width:18px}.secondary{display:flex;align-items:center;justify-content:center;gap:7px;border:2px solid #bed2cd;border-radius:13px;min-height:44px;padding:10px 13px;background:#fff9e8;font-size:12px;font-weight:900}.secondary:hover{background:#ffebad}.text-button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 0;font-size:13px;font-weight:900;color:inherit}.text-button .icon{width:18px;height:18px}.home-cta .text-button{color:#ecfff5}.home-cta .text-button:hover{color:#ffdf67}.home-bottom{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:800px;margin:10px auto 35px}.feature-tile{display:flex;align-items:center;gap:14px;text-align:left;min-height:110px;padding:17px 20px;background:#146e86;border:2px solid #12586e;border-radius:23px;box-shadow:0 4px #12586e;color:#fff4d5;transform:rotate(-1deg)}.feature-tile:last-child{transform:rotate(1deg);background:#217d82;border-color:#1b5e68;box-shadow:0 4px #1b5e68}.feature-tile .eyebrow{font-size:8px;color:#a9e8e8}.feature-tile>.icon{margin-left:auto;width:17px}.feature-tile h2{font-size:21px;color:#ffda55;margin:4px 0}.feature-tile p:not(.eyebrow){font-size:11px;color:#dcf7ed}.tile-icon{width:45px;height:45px;border:2px solid #174858;border-radius:15px;background:#ffbf80;display:grid;place-items:center;flex-shrink:0;color:#924a3d;transform:rotate(-7deg)}.workshop-tile .tile-icon{background:#bce99a;color:#287260}.art-tag{position:absolute;right:0;top:0;color:#dfefc4;font-size:10px;font-weight:900}.art-caption,.home-proof{display:none}.page-heading{padding:12px 0 22px;text-align:center;color:#fff4d5}.page-heading>.text-button{justify-content:flex-start;margin-bottom:14px}.page-heading h1{font-size:45px;margin:12px 0;color:#fff4d5;text-shadow:0 3px 0 #145369}.page-heading h1 span{color:#ffda55}.page-heading>p:not(.eyebrow){font-size:13px;color:#dbf6eb;max-width:420px;margin:auto}.map-navigation{display:flex;justify-content:center;align-items:center;gap:12px;max-width:420px;margin:0 auto 12px;padding:5px 12px;background:#11697e;border:2px solid #10586b;border-radius:19px;position:sticky;top:3px;z-index:3}.map-navigation .text-button{font-size:12px;color:#e9ffef}.journey-map{position:relative;max-width:560px;margin:auto;padding:20px 0 40px;overflow:hidden}.map-track{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-track path{stroke:#80c8c5;stroke-width:8;stroke-dasharray:4 13}.map-stop{height:110px;display:flex;justify-content:center;align-items:center;position:relative;transform:translate(var(--offset))}.level-button{width:71px;height:71px;min-height:71px;border:3px solid #4a9ba7;border-radius:24px;background:#77b7ba;box-shadow:0 4px #32798b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:#2d727e;padding:3px;position:relative;z-index:1}.level-button strong{font-family:"Baloo 2";font-size:29px;line-height:1}.level-button.completed{background:#8ee4b0;border-color:#287f72;color:#195b55;box-shadow:0 4px #246e67}.level-button.current{background:#ffda55;border-color:#704f31;color:#684727;box-shadow:0 4px #6f5435;outline:3px solid #ffefb2;outline-offset:5px;animation:node-hop 3s ease-in-out infinite}.level-button:disabled{opacity:1}.level-button:not(:disabled):hover{transform:translateY(-3px) rotate(-4deg)}.level-button .icon{width:18px;height:18px}.mini-stars{font-size:12px;letter-spacing:1px;line-height:1.1;color:inherit}.level-routes{font-size:9px;font-weight:900}.map-landmark{position:absolute;left:calc(50% + 51px);width:125px;font-family:"Baloo 2";font-size:16px;line-height:1.1;font-weight:700;color:#fff1bd}.map-stop:nth-child(4n+1) .map-landmark{left:auto;right:calc(50% + 51px);text-align:right}.map-bottom{display:grid;justify-items:center;gap:16px;padding:20px 0 35px;color:#d7f0e6}.map-bottom p{font-size:12px}.workshop-view{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;padding:20px 0 45px}.workshop-art{position:relative;padding-top:25px}.growth-pieces{display:flex;gap:10px;justify-content:center;margin-top:20px}.growth-pieces>span{width:37px;height:40px;border:2px solid #317c71;border-radius:12px;background:#92df98;display:grid;place-items:center;transform:rotate(calc((var(--grow) - 2)*4deg))}.workshop-info{padding:25px;background:#fff3d2;border:3px solid #17596c;border-radius:27px;box-shadow:0 5px #17596c}.workshop-info .eyebrow{color:#609280}.workshop-info h2{font-size:32px;color:#276c79;margin:12px 0}.workshop-info>p:not(.eyebrow){font-size:13px;color:#617d7b}.theme-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.theme-option{display:flex;align-items:center;gap:9px;padding:10px;border:2px solid #d7d9b8;border-radius:14px;min-height:65px;text-align:left;background:#fff9e8}.theme-option>i{display:block;width:26px;height:30px;border:2px solid #27516c;border-radius:8px}.theme-option>span{font-size:11px;font-weight:900;flex:1}.theme-option small{display:block;font-size:10px;font-weight:600;color:#66837e;margin-top:4px}.theme-option>.icon{width:16px}.theme-option.selected{border-color:#2da58d;background:#e0f4ca}.achievement-row{display:flex;gap:18px;margin-top:22px}.achievement-row>span{display:flex;align-items:center;gap:4px;font-size:11px}.achievement-row .icon{width:18px;color:#c88b2e}.collection-total{margin-top:18px;font-size:14px;color:#2a8b75}body[data-screen=play] .site-header{height:56px;max-width:510px;padding:5px 17px}.play-screen{display:flex;justify-content:center;margin:auto;padding:4px 12px 12px}.chapter-rail,.workshop-rail{display:none}.game-column{width:min(460px,calc((100dvh - 240px)*.72727));max-width:100%;min-width:0;margin:0;display:flex;flex-direction:column}.level-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;height:54px;min-height:54px}.level-toolbar>div{flex:1;text-align:center}.level-toolbar h1{font-size:21px;color:#fff4d0;line-height:1.1;text-shadow:0 2px 0 #17556b;margin-top:2px}.level-toolbar .eyebrow{font-size:11px;letter-spacing:.06em;color:#aee9e5;font-family:"Baloo 2";font-weight:700}.level-toolbar .icon-button:before{background:#74d2d4;border-color:#1a6174;box-shadow:0 2px #1a6174}.goal-row{display:flex;justify-content:space-between;align-items:center;gap:8px;height:34px;min-height:34px;padding:3px 5px 6px;font-size:11px;color:#e6fff1;font-weight:900}.goal-row>span{display:flex;align-items:center;gap:5px}.goal-row b{font-family:"Baloo 2";font-size:19px;font-weight:800;line-height:1;color:#ffdf68}.goal-row .muted{font-size:10px;color:#c9eee4}.status-dot{width:7px;height:7px;border-radius:50%;background:#8bedad;border:1px solid #14566b}.board-shell{position:relative;width:100%;aspect-ratio:480/660;flex:none;border:3px solid #17586c;border-radius:24px;box-shadow:0 5px #17586c;overflow:hidden;background:#fff3d2;isolation:isolate}#phaser-game{width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}#phaser-game canvas{display:block!important;touch-action:none}.hint-toast{position:absolute;bottom:12px;left:5%;right:5%;font-size:12px;font-weight:900;line-height:1.5;padding:10px 12px;background:#ffe38a;border:2px solid #cf983f;border-radius:15px;pointer-events:none;text-align:center;color:#755523}.game-tools{display:flex;align-items:start;justify-content:center;gap:14px;margin-top:12px}.game-tools>button{position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:5px;width:58px;height:65px;min-width:44px;min-height:44px;padding:9px 0 0;color:#e5fff3;font-size:10px;font-weight:900;background:none;border:0;border-radius:14px}.game-tools>button:before{content:"";position:absolute;width:36px;height:36px;left:calc(50% - 18px);top:2px;z-index:-1;background:#bde9d5;border:2px solid #15586d;border-radius:13px;box-shadow:0 3px #15586d}.game-tools>button:nth-child(2):before{background:#8dd6ed}.game-tools>button:nth-child(3):before{background:#ffda55}.game-tools>button:nth-child(4):before{background:#ffb3bb}.game-tools>button:hover:before{border-color:#fff0b8}.game-tools .icon{width:22px;height:22px;color:#22566a}.game-tools>button>span{margin-top:5px}.game-tools kbd{display:none}.route-count{position:absolute;right:-1px;top:0;font-family:"Baloo 2";font-size:10px;line-height:1;background:#ffefb1;color:#8d5a31;border:1px solid #865d3e;border-radius:7px;padding:2px 4px}.lesson{font-size:11px;line-height:1.4;text-align:center;padding:3px 7px 0;min-height:30px;color:#c4e7de;font-weight:700}.keyboard-actions{font-size:10px;text-align:center;color:#c5e4df}.keyboard-actions summary{cursor:pointer;padding:5px}#target-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;padding:8px}#target-buttons button{display:flex;align-items:center;gap:5px;min-height:44px;border:1px solid #29828d;border-radius:9px;padding:8px;background:#17677d;color:#e8f5e1;font-size:11px}kbd{font-size:10px}dialog{width:min(415px,calc(100% - 28px));border:3px solid #17576a;border-radius:28px;background:#fff3d2;color:#285365;padding:25px;box-shadow:0 6px #17576a;max-height:calc(100dvh - 28px);overflow:auto}dialog::backdrop{background:#063c58a1}dialog h2{font-size:33px;color:#267d8b;margin:9px 0 13px;line-height:1.05}dialog p:not(.eyebrow){font-size:13px;color:#69847e;margin-bottom:20px}dialog .eyebrow{color:#7c9b89;font-size:9px}dialog .full{margin-top:19px}.modal-row{display:flex;gap:9px;margin-top:15px}.modal-row>*{flex:1}.centered{margin:13px auto 0}.modal-title{display:flex;align-items:start;justify-content:space-between;gap:9px}.modal-title .icon-button{flex-shrink:0}.settings-list{margin:8px 0 20px}.setting{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #d9dcb8;cursor:pointer;position:relative}.setting>span{flex:1}.setting b{font-size:14px;font-weight:900}.setting small{display:block;font-size:11px;line-height:1.45;color:#6e877e;margin-top:3px;max-width:260px}.setting input{position:absolute;right:0;opacity:0;width:44px;height:44px;cursor:pointer;z-index:1}.switch{display:block;width:41px;height:25px;background:#c1c8b2;border:2px solid #a8b69e;border-radius:20px;position:relative;flex-shrink:0;pointer-events:none}.switch:after{content:"";position:absolute;background:#fff9df;width:17px;height:17px;left:2px;top:2px;border-radius:50%;transition:transform .18s}.setting input:checked+.switch{background:#61cc9a;border-color:#318b77}.setting input:checked+.switch:after{transform:translate(15px)}.setting input:focus-visible+.switch{outline:3px solid #e5b137;outline-offset:3px}.settings-note{font-size:11px!important;line-height:1.7}.result-emblem{width:59px;height:59px;margin:0 auto 17px;border:2px solid #388f78;border-radius:21px;background:#99e4a3;color:#24735e;box-shadow:0 3px #388f78;display:grid;place-items:center;transform:rotate(-8deg)}.result-emblem>.icon{width:32px;height:32px;stroke-width:3}.result-emblem.retry{background:#ffc28e;color:#a95d39;border-color:#d58a55;box-shadow:0 3px #d58a55}dialog:has(.result-emblem){text-align:center}.result-stars{display:flex;align-items:center;justify-content:center;gap:12px;margin:19px 0 23px}.result-stars>span{font-family:Nunito;font-size:40px;line-height:1;color:#d9ddbc;transform:rotate(-12deg)}.result-stars>span:nth-child(2){font-size:55px;margin-top:-9px;transform:rotate(0)}.result-stars>span:last-child{transform:rotate(12deg)}.result-stars>.earned{color:#ffca43;text-shadow:0 3px 0 #cf9236;animation:star-pop .38s cubic-bezier(.2,.8,.3,1.4) both}.result-stars>.earned:nth-child(2){animation-delay:.1s}.result-stars>.earned:nth-child(3){animation-delay:.2s}.result-stats{display:flex;justify-content:center;gap:25px;padding:12px 0;background:#ffebae;border:1px solid #ebcf82;border-radius:17px;font-size:11px;font-weight:700;color:#8b7851}.result-stats b{display:block;font-family:"Baloo 2";font-size:28px;line-height:1;color:#3e7477;margin-bottom:5px}.mastery-badge{display:inline-block;background:#dcedb5;color:#5b8a54!important;font-size:11px!important;font-weight:900;padding:6px 13px;border-radius:12px;margin:14px 0 0!important}.result-note{font-size:11px!important;margin:14px 0 0!important}.route-discovery{display:flex;flex-direction:column;gap:3px;padding:11px;border:2px dashed #b9cfa3;border-radius:16px;margin-top:15px;transform:rotate(-1deg)}.route-discovery span{font-size:8px;letter-spacing:.06em;font-weight:900;color:#70a08a}.route-discovery strong{font-family:"Baloo 2";font-size:22px;line-height:1.1;color:#308f85}.route-discovery small{font-size:10px;font-weight:700;color:#7a9479}.route-discovery.new-route{background:#e4f0c1;border-color:#a8c98b}.route-cards{display:grid;gap:12px;margin:20px 0;text-align:left}.route-card{display:flex;gap:12px;align-items:start;padding:15px;border:2px solid #e0d9b3;border-radius:17px;background:#fff9e5}.route-card.found{background:#e6f3ca;border-color:#b6d699}.route-card h3{font-size:22px;color:#3b8b86;margin:0 0 6px}.route-card p{margin:0!important;font-size:12px}.route-card .text-button{font-size:12px;margin-top:5px;justify-content:flex-start}.route-seal{flex:0 0 31px;height:31px;border:2px solid #3b8f83;border-radius:11px;background:#90d9bb;display:grid;place-items:center;color:#286f68;transform:rotate(-7deg)}.notice{position:fixed;bottom:23px;left:50%;transform:translate(-50%);max-width:calc(100% - 24px);width:max-content;z-index:200;background:#fff2c7;color:#376b75;border:2px solid #1a6373;box-shadow:0 3px #1a6373;font-size:12px;font-weight:900;line-height:1.5;padding:12px 17px;border-radius:15px}.debug{position:fixed;top:5px;left:5px;z-index:500;background:#133c50;color:#aff2d2;font:11px/1.5 monospace;padding:10px;pointer-events:none}.loading-workshop{display:grid;justify-items:center;align-content:center;gap:20px;min-height:70dvh;text-align:center;color:#fff5d6;padding:50px 10px}.loading-gear{font-size:68px;color:#ffda55;animation:gear-turn 3s linear infinite}.loading-workshop h2{font-size:30px}.loading-workshop p{font-size:13px;color:#c4eee5}.loading-workshop .secondary{color:#376b75;min-width:160px}@keyframes gear-turn{to{transform:rotate(360deg)}}@keyframes node-hop{0%,75%,to{transform:translateY(0) rotate(-4deg)}85%{transform:translateY(-5px) rotate(3deg)}}@keyframes star-pop{0%{scale:.3;opacity:0}to{scale:1;opacity:1}}@keyframes toy-bob{0%,to{translate:0 0}50%{translate:0 -7px}}.art-bob{animation:toy-bob 3.5s ease-in-out infinite}.art-bob.late{animation-delay:-1.7s}@media(min-width:901px){.game-column{width:min(460px,calc((100dvh - 259px)*.72727))}}@media(max-width:900px){.home-grid{gap:0;min-height:500px}.home-copy h1{font-size:39px}.home-copy h1 span{font-size:90px}.home-description{font-size:17px}.workshop-view{gap:25px}.home-bottom{gap:14px}.feature-tile{gap:10px;padding:15px}.feature-tile h2{font-size:19px}.feature-tile>.icon{display:none}}@media(max-width:650px){.site-header{height:66px;padding:10px 18px}.wordmark{font-size:10px}.brand-sort{font-size:28px}.brand-mark{scale:.85;margin-right:-4px}.header-actions{gap:9px}.star-total{font-size:16px;padding:4px 9px}#content{padding:0 17px}.home-grid{display:flex;flex-direction:column;gap:0;min-height:0;padding:13px 0 10px}.home-copy{align-self:center}.home-copy .eyebrow{font-size:8px}.home-copy h1{font-size:37px;margin-top:21px}.home-copy h1 span{font-size:83px;line-height:.83;margin-top:4px}.home-description{font-size:17px;margin-top:15px}.home-art{width:min(340px,90%);padding:0;margin:-2px auto -8px}.home-cta{align-self:center;margin-top:2px;gap:9px}.primary.big{min-height:52px;min-width:243px;font-size:23px}.home-bottom{grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 28px}.feature-tile{display:flex;flex-direction:column;justify-content:center;gap:8px;text-align:center;min-height:127px;padding:12px 7px;border-radius:20px}.feature-tile .eyebrow{font-size:7px;letter-spacing:.03em}.feature-tile h2{font-size:17px;line-height:1.05;margin:4px 0}.feature-tile p:not(.eyebrow){font-size:10px}.tile-icon{width:36px;height:36px;border-radius:11px}.tile-icon .icon{width:20px;height:20px}.page-heading h1{font-size:36px}.page-heading .eyebrow{font-size:9px}.page-heading>p:not(.eyebrow){font-size:12px}.map-navigation{gap:7px;padding:4px 7px}.map-navigation .text-button{font-size:10px}.map-landmark{width:84px;font-size:14px;left:calc(50% + 46px)}.map-stop:nth-child(4n+1) .map-landmark{right:calc(50% + 46px)}.map-stop{transform:translate(calc(var(--offset)*.65))}.workshop-view{grid-template-columns:1fr;gap:25px;padding-top:5px}.workshop-art{max-width:340px;margin:auto}.workshop-info{padding:19px;border-radius:23px}.workshop-info h2{font-size:29px}.theme-list{gap:8px}.theme-option{padding:9px;gap:7px}.achievement-row{gap:15px}body[data-screen=play]{height:100dvh;overflow:hidden;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}body[data-screen=play] .site-header{height:50px;min-height:50px;padding:3px 12px;max-width:480px}body[data-screen=play] .wordmark{font-size:7px;gap:4px;min-height:44px}body[data-screen=play] .brand-sort{font-size:22px}body[data-screen=play] .brand-mark{display:none}body[data-screen=play] .star-total{font-size:14px;padding:3px 9px}body[data-screen=play] .star-total>.icon{width:18px;height:18px}.play-screen{height:calc(100dvh - 50px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:2px 8px 8px;overflow:hidden}.game-column{width:min(100%,calc((100dvh - 244px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*.72727));max-width:430px}.level-toolbar{height:52px;min-height:52px;gap:6px}.level-toolbar h1{font-size:18px;max-width:250px}.level-toolbar .eyebrow{font-size:10px}.goal-row{height:32px;min-height:32px;font-size:10px;padding:4px 4px 6px}.goal-row b{font-size:17px}.goal-row .muted{font-size:9px}.board-shell{border-radius:21px}.game-tools{gap:12px;margin-top:10px}.game-tools>button{height:62px;width:53px;font-size:10px}.lesson{font-size:10px;line-height:1.4;padding:2px 5px 0;min-height:28px}.keyboard-actions{display:none}.hint-toast{font-size:10px;padding:8px;bottom:9px}dialog{padding:22px 17px;border-radius:25px;max-width:calc(100vw - 24px)}dialog h2{font-size:30px}.result-emblem{width:52px;height:52px;margin-bottom:14px}.result-stars{margin:16px 0 20px}.result-stats{gap:24px;padding:11px 0}.result-stats b{font-size:25px}.result-stats span{font-size:10px}.route-discovery{padding:10px}.route-discovery strong{font-size:21px}.modal-row .secondary{font-size:11px;padding:8px;min-height:44px}.route-card{padding:12px;gap:10px}.route-card h3{font-size:20px}.route-card p{font-size:11px}.primary.full{min-height:46px;font-size:18px}.setting small{max-width:230px}}@media(max-height:650px)and (max-width:650px){.game-column{width:min(100%,calc((100dvh - 220px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*.72727))}.lesson{display:none}.level-toolbar h1{font-size:15px}.level-toolbar .eyebrow{font-size:9px}.goal-row .muted{display:none}.game-tools{gap:5px}.game-tools>button{font-size:9px;width:50px}.home-copy h1{font-size:32px}.home-copy h1 span{font-size:70px}.home-art{max-width:265px}.home-grid{padding-top:5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}[data-motion=reduced] *{transition:none!important;animation:none!important}.machine-entry{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;width:fit-content;align-self:center;border:0;border-radius:12px;background:#fff3d2;color:var(--ink);font-family:"Baloo 2";font-weight:800;font-size:18px;padding:4px 12px}.machine-entry>span{background:#ff6685;border-radius:6px;padding:2px 6px;font:800 9px Nunito;color:#102631;transform:rotate(-5deg)}.machine-entry>.icon{width:18px;height:18px}.map-machine-entry{margin:0 auto 12px}.machine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:900px;margin:0 auto;padding:0 20px}.machine-card{display:flex;align-items:center;gap:17px;text-align:left;border:2px solid #32798c;border-radius:24px;background:#f6f5dc;padding:16px;color:var(--ink);box-shadow:0 4px #32798c;min-width:0;transition:transform .15s}.machine-card:nth-child(2){background:#ffedda;border-color:#bc794a;box-shadow:0 4px #bc794a}.machine-card:nth-child(3){background:#eaf6e5;border-color:#468868;box-shadow:0 4px #468868}.machine-card:nth-child(4){background:#f4edff;border-color:#9566b8;box-shadow:0 4px #9566b8}.machine-card:active{transform:translateY(3px);box-shadow:none}.machine-preview{width:105px;flex:0 0 105px;height:145px;border-radius:14px}.machine-card>div{flex:1;min-width:0}.machine-card h2{font:800 25px/1.1 "Baloo 2";margin:8px 0 6px}.machine-card p{font-size:12px;margin:0 0 8px;line-height:1.4}.machine-number{font:900 10px Nunito;letter-spacing:.7px}.machine-stars{display:block;color:#bc7e26;font:800 22px Nunito;letter-spacing:3px}.machine-card small{display:block;font-size:10px;margin-top:4px}.machine-card>.icon{width:19px;height:19px;flex:0 0 19px}.machine-note{max-width:520px;text-align:center;margin:25px auto;font-size:12px;padding:0 22px;color:#fff3d2}@media(max-width:650px){.machine-entry{font-size:17px}.machine-grid{grid-template-columns:1fr;gap:15px;padding:0 13px}.machine-card{gap:15px;padding:13px}.machine-preview{width:78px;flex-basis:78px;height:108px}.machine-card h2{font-size:22px}.machine-card p{font-size:11px}.machine-stars{font-size:18px}.machine-number{font-size:9px}}
