@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;600;700;800;900&display=swap";:root{font-family:Roboto,Arial,sans-serif;color:#17447a;font-synthesis:none;background:#9cd9fa}*{box-sizing:border-box}body{margin:0;min-width:300px;background:radial-gradient(ellipse at 50% 22%,#e6f8ff 0,#b5e8ff 38%,#83c9ef);min-height:100dvh}button{font:inherit;cursor:pointer;border:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;filter:grayscale(.65);opacity:.6}button:focus-visible,[role=button]:focus-visible{outline:3px solid #fff;outline-offset:4px}button:active:not(:disabled){transform:translateY(2px)}h1,h2,p{margin:0}.app{width:100%;max-width:560px;min-height:100dvh;margin:auto;position:relative;overflow:hidden;padding:env(safe-area-inset-top) 18px env(safe-area-inset-bottom)}.menu-top,.game-header,.construction-header{display:flex;align-items:center;justify-content:space-between;height:76px;gap:12px}.round{height:44px;width:44px;flex-shrink:0;border-radius:15px;background:linear-gradient(#fff,#dcefff);box-shadow:0 4px #6da8d4,0 5px 10px #2877ab24;color:#1f6aa4;font-size:24px;font-weight:1000}.coin-pill{display:flex;align-items:center;justify-content:center;gap:10px;min-width:105px;background:#fff8dd;border:3px solid #fff;border-radius:24px;padding:6px 16px;color:#a36a13;font-size:21px;font-weight:1000;box-shadow:0 3px #d7b256}.coin{display:inline-flex;align-items:center;justify-content:center;color:#ffe68d;background:linear-gradient(135deg,#ffe575,#ffb72b);width:27px;height:27px;border-radius:50%;border:3px solid #f5b127;box-shadow:inset 1px 1px #fff2b2;font-size:12px;vertical-align:middle}.game-logo{display:block;width:76%;max-width:330px;margin:0 auto;border-radius:26px;box-shadow:0 5px 18px #347ba622}.menu-house{position:relative;height:clamp(215px,31dvh,340px);margin-top:0;cursor:pointer}.construction-canvas{height:100%;width:100%;position:relative;touch-action:none}.start-house{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-weight:900;pointer-events:none;color:#3d81a6}.menu-bottom{max-width:345px;margin:0 auto}.project-label{display:flex;justify-content:space-between;font-size:13px;font-weight:1000;letter-spacing:.1em;color:#4181a7}.project-label span{letter-spacing:0}.progress-track{height:13px;background:#65add53b;border:2px solid #f0fbff;border-radius:10px;overflow:hidden;margin:8px 0 22px;box-shadow:inset 0 1px 3px #3f7eaa35}.progress-track>span{display:block;height:100%;background:linear-gradient(#c2f679,#71c839);border-radius:10px;transition:width .4s}.play-button{width:100%;min-height:66px;display:flex;align-items:center;justify-content:center;gap:15px;border:3px solid #fff4a8;border-radius:21px;background:linear-gradient(#a2e944,#75cd2d,#57b921);color:#fff;font-size:27px;font-weight:1000;letter-spacing:.025em;text-shadow:0 2px #398c25;box-shadow:0 5px #398e24,0 9px 15px #3f8b7740}.play-button small{font-size:13px;letter-spacing:.04em;border-left:1px solid #ffffff6b;padding-left:15px}.menu-links{display:flex;justify-content:center;gap:32px;margin-top:26px}.menu-links button,.text-button{background:none;color:#2874a4;font-size:13px;font-weight:1000;letter-spacing:.07em;padding:12px}.notification{display:inline-block;background:#ed5343;color:#fff;border:2px solid #fff;border-radius:50%;width:22px;height:22px;line-height:18px;margin-left:6px}.level-label{font-weight:1000;font-size:17px;letter-spacing:.07em;color:#3273a6}.moves-pill{background:#fff9e6;border:3px solid white;border-radius:17px;display:flex;flex-direction:column;align-items:center;min-width:74px;padding:3px 14px;box-shadow:0 3px #b8ced9}.moves-pill strong{font-size:27px;line-height:1.05;color:#ed7352}.moves-pill span{font-size:9px;font-weight:1000;letter-spacing:.08em}.objectives{display:flex;align-items:center;justify-content:center;gap:16px;min-height:67px;margin:4px 0 0}.objective{display:flex;align-items:center;gap:10px;min-width:86px;background:#fff9;border:2px solid #fff;border-radius:17px;padding:10px 14px;box-shadow:0 3px #75b6d330}.objective strong{font-weight:1000;font-size:23px}.objective.done{background:#dff9ae}.mini-brick{width:28px;height:25px;display:inline-block;border-radius:5px;box-shadow:inset -3px -5px #0002,1px 2px #17447a11;position:relative}.mini-brick:before{content:"";position:absolute;top:-5px;left:7px;width:14px;height:8px;border-radius:50%;background:inherit;box-shadow:inset 0 2px #fff6}.rainbow{background:conic-gradient(#ed3936,#ffd136,#38bd63,#217cdd,#9b4bda,#ed3936)}.window-icon{font-size:30px;color:#e5423b;line-height:1}.board-container{height:min(calc(100dvh - 260px),650px);min-height:330px;width:calc(100% + 36px);margin-left:-18px;touch-action:none;position:relative}.game{display:flex;flex-direction:column;height:100dvh;min-height:560px}.game-bottom{min-height:72px;display:flex;align-items:center;justify-content:center;padding:0 12px 12px;text-align:center;color:#4e87a8;font-size:12px;font-weight:800}.tutorial{background:#fff3d8;border:2px solid white;border-radius:18px;padding:13px 18px;color:#755d3b;box-shadow:0 3px #dbbc78;font-size:14px;max-width:370px}.tutorial small{display:block;color:#62953b;font-size:10px;font-weight:1000;margin-top:5px}.construction{display:flex;flex-direction:column;height:100dvh;min-height:600px}.construction-header h2{font-size:20px;font-weight:1000}.construction-header .coin-pill{font-size:17px;min-width:88px;padding:5px 9px}.construction-sub{text-align:center;font-size:13px;color:#4584a8;font-weight:800}.construction>.construction-canvas{flex:1;min-height:270px}.build-bottom{max-width:350px;width:100%;margin:0 auto;padding-bottom:24px;text-align:center}.build-bottom p{margin:20px 0 12px;font-size:12px;color:#4f81a1}.secondary{display:block;width:100%;background:linear-gradient(#fff,#e9f6ff);border:2px solid white;border-radius:16px;box-shadow:0 3px #80b5d4;color:#3876a3;font-size:14px;font-weight:1000;padding:15px;margin-top:14px}.finished{font-size:23px!important;font-weight:1000;color:#40972b!important}.scrim{position:fixed;inset:0;background:#143f70a8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:20;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:linear-gradient(#fffdf4,#e4f4ff);border:5px solid white;border-radius:30px;padding:34px 25px 23px;width:100%;max-width:380px;text-align:center;box-shadow:0 8px #1c50896b,0 18px 50px #12355e55;position:relative}.modal h1{font-size:31px;font-weight:1000;color:#246699;margin:8px 0 13px;line-height:1.1}.modal p{font-size:14px;color:#608aa4;line-height:1.5;margin:12px 0 22px}.modal .play-button{margin-top:22px}.result-stars{font-size:38px;letter-spacing:2px;color:#ffbe2c;text-shadow:0 3px #e2931e}.reward{font-size:34px;font-weight:1000;color:#d68d17;margin:22px 0}.reward .coin{width:35px;height:35px;margin-right:8px}.small{font-size:11px!important}.close{position:absolute;right:-12px;top:-12px;border:3px solid white;border-radius:50%;width:40px;height:40px;background:#ee6650;color:#fff;font-size:26px;font-weight:1000;line-height:30px}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:25px 0 12px}.level-grid button{background:linear-gradient(#69c9fa,#298bd2);border:2px solid white;border-radius:13px;color:#fff;font-size:21px;font-weight:1000;padding:10px 0;box-shadow:0 3px #1c639c}.level-grid small{display:block;font-size:9px;margin-top:3px}.level-grid .complete{background:linear-gradient(#9fe34b,#5fba29);box-shadow:0 3px #438f24}.loading-card{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:30px;text-align:center;font-size:15px;color:#3b7d9d}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);max-width:90%;padding:15px 22px;background:#fff2cf;color:#7b5526;border:3px solid white;box-shadow:0 5px 20px #16476944;border-radius:18px;z-index:50;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:800px){.app{max-width:530px}.menu .game-logo{max-width:300px}.menu-house{height:32dvh}.game{max-width:680px}.board-container{height:calc(100dvh - 240px);max-height:710px}.menu-bottom{max-width:325px}}@media(max-height:720px){.menu-top{height:62px}.game-logo{width:62%;max-height:180px;object-fit:contain}.menu-house{height:28dvh;min-height:175px}.menu-links{margin-top:18px}.menu-bottom .play-button{min-height:57px}.project-label{font-size:11px}.game-header{height:66px}.objectives{min-height:57px}.board-container{height:calc(100dvh - 215px)}.progress-track{margin-bottom:15px}}.toolbar-actions{display:flex;align-items:center;gap:8px}.fullscreen-button{display:inline-flex;align-items:center;justify-content:center}:fullscreen{background:radial-gradient(ellipse at 50% 22%,#e6f8ff 0,#b5e8ff 38%,#83c9ef)}@media(max-width:420px){.construction-header{gap:8px}.construction-header h2{font-size:17px;white-space:nowrap}.construction-header .round{width:36px;height:40px;border-radius:13px}.construction-header .coin-pill{min-width:76px;font-size:16px;padding:5px 7px}.construction-header .coin{width:23px;height:23px}}.blast-logo{height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-3deg);font-weight:1000;line-height:.92;filter:drop-shadow(0 7px 0 #2876a340);margin:0 auto}.blast-logo span{font-size:46px;color:#fff;text-shadow:3px 3px #d93427,-3px -3px #d93427,3px -3px #d93427,-3px 3px #d93427}.blast-logo strong{font-size:84px;color:#ffde36;-webkit-text-stroke:2px #bc7622;text-shadow:0 5px #d48925;letter-spacing:-3px}@media(max-height:720px){.blast-logo{height:160px}.blast-logo strong{font-size:70px}.blast-logo span{font-size:38px}}.restored-logo{height:200px;width:auto;max-width:100%;object-fit:contain;border-radius:20px}@media(max-height:720px){.restored-logo{height:160px;max-height:160px;width:auto}}.lab-entry{display:block;margin:16px auto 0!important;max-width:325px}.lab-message{text-align:center;font-size:13px;min-height:40px;padding:0 10px}.lab-board{height:calc(100dvh - 300px);min-height:240px;max-height:600px}.lab-tools{text-align:center;padding-bottom:20px}.lab-tools>span,.lab-tools small{display:block;font-size:11px;margin:8px}.lab-tools>div{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}.lab-tools>div button{padding:8px 10px;border-radius:12px;background:#fff8dd;color:#17447a;font-size:12px;font-weight:900}.lab-tools .secondary{margin:12px auto 0}.game,.lab{isolation:isolate;background:linear-gradient(#d1f3ff,#9cdef7)}.game:before,.lab:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:#21a5ad;opacity:.65;mask-image:url(/assets/branding/london-blueprint.png);mask-size:auto 110%;mask-position:center top;mask-repeat:no-repeat;-webkit-mask-image:url(/assets/branding/london-blueprint.png);-webkit-mask-size:auto 110%;-webkit-mask-position:center top;-webkit-mask-repeat:no-repeat}.menu{height:100dvh;min-height:560px;isolation:isolate}.menu .menu-house{position:absolute;inset:0;z-index:-1;height:100%;margin:0;cursor:grab}.menu .menu-top{position:relative;z-index:2}.menu .menu-bottom{position:absolute;bottom:150px;left:24px;right:24px;max-width:340px;z-index:2;pointer-events:none}.menu .menu-bottom .brick-button{pointer-events:auto}.menu .project-label{padding:0 10px;color:#175c8a}.menu .progress-track{margin:7px 10px 16px}.menu .start-house{top:90px;bottom:auto;font-size:12px}.menu .home-debug{position:absolute;bottom:52px;left:24px;right:24px;max-width:340px;margin:auto;z-index:2}.brick-button{position:relative;display:block;width:100%;height:88px;padding:0;background:none;isolation:isolate;--brick:#66c52c;--brick-light:#b2ef6b;--brick-dark:#34861c;color:#fff;filter:drop-shadow(0 7px 7px #164b7430)}.brick-stud-base{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,1fr);align-items:center;justify-items:center;background:var(--brick);border-radius:4px;box-shadow:0 7px 0 var(--brick-dark),inset 0 2px 0 var(--brick-light)}.brick-stud-base i{width:25px;height:14px;border-radius:50%;background:var(--brick-light);box-shadow:0 4px 0 var(--brick-dark),inset 0 2px 1px #fff8}.brick-smooth-plate{position:absolute;inset:9px 5px 12px;border-radius:4px;background:linear-gradient(155deg,var(--brick-light),var(--brick) 65%);border-top:2px solid #ffffff88;border-left:2px solid #ffffff55;box-shadow:0 5px 0 var(--brick-dark),0 7px 4px #0002}.brick-button-label{position:relative;display:flex;align-items:center;justify-content:center;gap:15px;height:100%;padding-bottom:4px;font-size:26px;font-weight:1000;text-shadow:0 2px 1px #0003;letter-spacing:.04em}.brick-button-label small{font-size:11px;letter-spacing:.03em}.brick-button-debug{--brick:#2d9cda;--brick-light:#89dcfa;--brick-dark:#1b65a3;height:70px}.brick-button-debug .brick-button-label{font-size:16px}.brick-button:active:not(:disabled) .brick-smooth-plate{transform:translateY(3px)}@media(min-width:800px){.menu .menu-bottom,.menu .home-debug{left:0;right:0;margin-left:auto;margin-right:auto}}@media(max-height:650px){.menu .menu-bottom{bottom:132px}.menu .home-debug{bottom:40px}.brick-button{height:72px}.brick-button-debug{height:58px}}.menu .brick-button{height:auto;aspect-ratio:3}.menu .brick-button-debug{max-width:240px;margin:auto}.menu .menu-bottom{bottom:160px}@media(max-height:650px){.menu .brick-button{height:72px;aspect-ratio:auto}.menu .brick-button-debug{height:58px}.menu .menu-bottom{bottom:132px}}button:not(.lego-button):not(.image-play-button):not(.close):not(.tutorial):not(.text-button):not(.home-tab):not(.tool-button){border-radius:7px;background:linear-gradient(150deg,#fff26a,#ffe013 24%,#ffd006 75%,#efb900);border:2px solid #ffe86c;box-shadow:inset 0 2px 1px #fff9a5,inset 2px 0 1px #fff39a,0 5px #c79400,0 8px #dda500,0 10px 8px #28456025;color:#fff;font-weight:1000;text-shadow:1px 1px 0 #171717,-1px -1px 0 #171717,1px -1px 0 #171717,-1px 1px 0 #171717,2px 2px 0 #e00012}.round{border-radius:8px!important}.brick-button .brick-stud-base{display:none}.brick-button .brick-smooth-plate{inset:0 0 6px;border-radius:6px;background:linear-gradient(145deg,#fff366,#ffdf08 35%,#ffcf00);border:2px solid #ffe76b;box-shadow:inset 0 2px 2px #fff9ba,0 5px #b88900,0 8px #d9a300}.brick-button-label{color:#fff;text-shadow:1px 1px #101010,-1px -1px #101010,1px -1px #101010,-1px 1px #101010,3px 3px #df0018}.image-play-button{position:relative;display:block;width:100%;padding:0;border:0;background:none;box-shadow:none;filter:drop-shadow(0 6px 7px #1b476d30)}.play-image-crop{position:relative;display:block;width:100%;aspect-ratio:3.46;overflow:hidden;border-radius:7px}.play-image-crop img{position:absolute;width:108.5%;max-width:none;height:auto;left:-4.3%;top:-30.5%;pointer-events:none}.play-level-caption{display:inline-block;margin-top:9px;padding:3px 10px;border-radius:5px;background:#eaf8ffcf;color:#1e5f88;font-size:10px;font-weight:1000;letter-spacing:.08em}.image-play-button:focus-visible{outline:3px solid #fff;outline-offset:6px}.image-play-button:active{transform:translateY(3px)}.menu .brick-button-debug{height:64px;aspect-ratio:auto}.text-button{color:#a56b00}.level-grid .complete{background:linear-gradient(145deg,#fff9a0,#ffe226)!important;box-shadow:0 4px #b88e00!important}.lab-tools>div button:disabled{opacity:.5}.menu .menu-bottom>button{pointer-events:auto;touch-action:manipulation}.image-play-button{user-select:none;-webkit-user-select:none;transition:transform .08s ease,filter .08s ease;transform-origin:center}.image-play-button>*{pointer-events:none}.image-play-button:active:not(:disabled){transform:translateY(5px) scale(.97);filter:brightness(.86) drop-shadow(0 1px 2px #173d6428)}.image-play-button:active .play-image-crop{box-shadow:inset 0 3px 8px #6a420044}.menu .home-debug button.brick-button-debug{background:linear-gradient(#e0e4e8,#a2aab4)!important;border-color:#d4dae1!important;box-shadow:inset 0 2px 1px #fff,0 5px #616b78,0 8px #7b8593,0 10px 8px #28456025!important}.brick-button.brick-button-debug .brick-smooth-plate{background:linear-gradient(145deg,#eef1f4,#c4ccd5 35%,#a4aeb9);border-color:#e1e6ec;box-shadow:inset 0 2px 2px #fff,0 5px #626e7d,0 8px #84909e}.brick-button-debug .brick-button-label{color:#fff;text-shadow:1px 1px #3a4554,-1px -1px #3a4554,1px -1px #3a4554,-1px 1px #3a4554,0 2px #3a4554}.brick-button-debug:active:not(:disabled){filter:brightness(.88);transform:translateY(3px)}.menu:before,.construction:before{content:"";position:absolute;inset:-20%;z-index:-2;pointer-events:none;background:#21a5ad;opacity:.55;mask-image:url(/assets/branding/london-blueprint.png);mask-size:auto 100%;mask-position:center;mask-repeat:no-repeat;-webkit-mask-image:url(/assets/branding/london-blueprint.png);-webkit-mask-size:auto 100%;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;transform:rotate(30deg);transform-origin:center}.game:before,.lab:before{inset:0;background:#268b77 url(/assets/branding/cutting-mat-portrait.png) center/cover no-repeat;opacity:1;mask:none;-webkit-mask:none}.game .level-label,.lab .game-header>strong{background:#eaf8ffe0;padding:6px 10px;border-radius:7px}.lab-message{background:#eaf8ffcc;border-radius:8px;padding:8px 10px}.game-bottom>p{display:inline-block;background:#eaf8ffcc;border-radius:6px;padding:5px 10px}.menu:before,.construction:before{transform:none;opacity:.15}.game:before,.lab:before{background-image:url(/assets/branding/cutting-mat-portrait.png);background-position:center;background-size:cover;background-repeat:no-repeat}.assembly-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}.assembly-tools .construction-sub{margin:0;text-align:left}.assembly-speed{flex-shrink:0;min-width:80px;min-height:40px;padding:7px 12px;font-size:16px;transition:filter .1s,transform .1s}.assembly-speed[aria-pressed=true]{filter:brightness(.78);transform:translateY(3px);box-shadow:inset 0 3px 6px #875b0066,0 2px #9b7400!important}.assembly-speed:focus-visible{outline:3px solid white;outline-offset:5px}.lab-pair{margin-top:10px}.lab-pair select{max-width:125px;padding:7px 4px;border:1px solid #7cbbd0;border-radius:6px;background:#f5fcff;color:#17447a;font:inherit;font-size:11px}.lab .lab-board{height:calc(100dvh - 365px);min-height:230px}.lab-pair>span{align-self:center;font-weight:900}.construction{isolation:isolate}.coin{display:inline-block;flex-shrink:0;width:32px;height:32px;border:0;border-radius:50%;box-shadow:none;background:transparent url(/assets/branding/lego-coin.jpg) center/158% auto no-repeat;mix-blend-mode:multiply;vertical-align:middle}.reward .coin{width:44px;height:44px}.game:before,.lab:before{inset:-14px;transform:translate(var(--shake-x,0px),var(--shake-y,0px));will-change:transform}@media(prefers-reduced-motion:reduce){.game:before,.lab:before{transform:none}}.character-topbar{position:relative;min-height:122px;height:122px;gap:8px;overflow:visible;background:linear-gradient(180deg,#ffffffb8,#dcf5ffb0);border:1px solid #ffffffb3;border-top:0;border-radius:0 0 24px 24px;box-shadow:0 4px 12px #1a6f9b12;padding:4px 10px;flex-shrink:0}.menu .menu-top.character-topbar{z-index:2}.character-topbar .toolbar-actions{gap:6px}.character-topbar .round{width:40px;height:42px}.character-topbar .coin-pill{min-width:95px;padding:6px 10px}.character-topbar .moves-pill{min-width:65px;padding:5px 10px}.emmet-avatar{position:relative;flex-shrink:0;width:96px;height:116px;pointer-events:none;overflow:visible;filter:drop-shadow(0 3px 2px #154d7630)}.emmet-rig{position:absolute;left:0;bottom:0;width:100px;height:116px;transform-origin:50% 90%;animation:emmet-idle 3.4s ease-in-out infinite}.emmet-bust,.emmet-arm{position:absolute;display:block;background-image:url(/assets/branding/emmet-rig.png);background-repeat:no-repeat;background-size:286.704px 95.568px;will-change:transform}.emmet-bust{left:20.5px;top:3px;width:58.872px;height:92.136px;background-position:-113.256px -1.584px;z-index:2}.emmet-arm{top:48px;width:35.904px;height:62.832px;z-index:1}.emmet-arm-left{left:-3px;background-position:-27.192px -25.476px;transform-origin:85% 8%;animation:emmet-wave-left 3.4s ease-in-out infinite}.emmet-arm-right{left:67px;background-position:-223.08px -25.476px;transform-origin:15% 8%;animation:emmet-wave-right 3.4s ease-in-out infinite}.emmet-game{position:absolute;left:50%;top:1px;transform:translate(-50%);width:112px;height:120px}.emmet-game .emmet-rig{left:6px;transform:scale(1.08)}.game .character-topbar{justify-content:space-between;margin-bottom:8px}.game .character-topbar .toolbar-actions,.game .character-topbar .moves-pill{position:relative;z-index:3}.is-cheering .emmet-rig{animation:emmet-cheer .32s ease-in-out infinite}.is-cheering .emmet-arm-left{animation:emmet-cheer-left .27s ease-in-out infinite alternate}.is-cheering .emmet-arm-right{animation:emmet-cheer-right .24s ease-in-out infinite alternate}@keyframes emmet-idle{0%,to{translate:0 0;rotate:-2deg}50%{translate:0 -2px;rotate:2deg}}@keyframes emmet-wave-left{0%,to{rotate:3deg}50%{rotate:12deg}}@keyframes emmet-wave-right{0%,to{rotate:-4deg}50%{rotate:-12deg}}@keyframes emmet-cheer{0%,to{translate:0 0;rotate:-4deg}50%{translate:0 -7px;rotate:4deg}}@keyframes emmet-cheer-left{0%{rotate:85deg}to{rotate:145deg}}@keyframes emmet-cheer-right{0%{rotate:-85deg}to{rotate:-145deg}}@media(max-width:360px){.character-topbar{padding:4px 5px}.emmet-home{width:85px;transform:scale(.9);transform-origin:left center}.character-topbar .toolbar-actions{gap:4px}.character-topbar .round{width:36px}.character-topbar .coin-pill{min-width:80px;font-size:18px;gap:4px}}@media(prefers-reduced-motion:reduce){.emmet-rig,.emmet-arm,.is-cheering .emmet-rig,.is-cheering .emmet-arm{animation:none}.is-cheering .emmet-arm-left{rotate:105deg}.is-cheering .emmet-arm-right{rotate:-105deg}}.emmet-game{top:6px;height:116px}.emmet-game .emmet-rig{transform:none}.emmet-avatar:before{content:"";position:absolute;left:2px;top:5px;width:96px;height:96px;box-sizing:border-box;border-radius:50%;border:5px solid #62c9f2;background:radial-gradient(circle at 40% 25%,#effcff,#b5eaff 70%);box-shadow:0 0 0 3px #fff,0 4px 7px #226c9d30;z-index:0}.emmet-bust{top:10px;clip-path:circle(44px at 29.5px 43px)}.emmet-arm{top:60px;width:25.851px;height:45.239px;background-size:206.427px 68.809px;z-index:3;filter:drop-shadow(0 2px 1px #164c7928)}.emmet-arm-left{left:3px;background-position:-19.578px -18.343px}.emmet-arm-right{left:71px;background-position:-160.618px -18.343px}.emmet-game:before{left:8px}.menu .menu-bottom{bottom:calc(94px + env(safe-area-inset-bottom));left:24px;right:24px;max-width:400px;margin-left:auto;margin-right:auto}.home-action-row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,1fr);gap:12px;align-items:start;pointer-events:auto}.home-action-row>button{pointer-events:auto;touch-action:manipulation;min-width:0}.home-action-row .play-image-crop{aspect-ratio:3}.home-action-row .play-image-crop img{height:162%;width:108.5%;object-fit:fill}.image-build-button{display:block;position:relative;width:100%;aspect-ratio:1;padding:0!important;border:0!important;background:none!important;box-shadow:none!important;filter:drop-shadow(0 6px 7px #1b476d30);transition:transform .08s,filter .08s}.image-build-button img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.image-build-button:active:not(:disabled){transform:translateY(5px) scale(.97);filter:brightness(.86) drop-shadow(0 1px 2px #173d6428)}.image-build-button:focus-visible{outline:3px solid white;outline-offset:4px}.settings-debug{background:linear-gradient(#dfe6ed,#a9b6c4)!important;border-color:#eef5ff!important;box-shadow:0 5px #6d7b8a!important;text-shadow:0 1px #43566b!important}@media(max-height:650px){.menu .menu-bottom{bottom:calc(82px + env(safe-area-inset-bottom))}}.home-action-row .image-build-button img{position:absolute;width:118%;height:118%;left:-9%;top:-10%;max-width:none}.home-action-row{grid-template-columns:minmax(0,.8fr) minmax(0,3fr) minmax(0,.8fr);gap:10px}.home-action-row .image-play-button{grid-column:2}.home-action-row .image-build-button{grid-column:3;margin-top:12px;border:2px solid #fff176!important;border-radius:7px;background:linear-gradient(145deg,#fff36b,#ffdb08 35%,#ffcd00)!important;box-shadow:inset 0 2px 2px #fff9b5,0 5px #c79400,0 8px #dda500!important}.home-action-row .image-build-button img{width:106%;height:106%;left:-3%;top:-4%;filter:drop-shadow(1px 2px 1px #875b0040)}.home-action-row .image-build-button{border:0!important;background:transparent!important;box-shadow:none!important;filter:none}.home-action-row .image-build-button:active:not(:disabled){filter:brightness(.88);transform:translateY(3px) scale(.95)}.home-action-row .play-image-crop{box-shadow:0 0 0 1.5px #111}.loading-splash{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background:radial-gradient(ellipse at center,#ff1518,#f90008 72%);color:#fff;opacity:1;transition:opacity .22s ease;touch-action:none}.loading-splash-leaving{opacity:0;pointer-events:none}.loading-logo-drop{width:min(92vw,620px);opacity:0;transform-origin:center 75%}.loading-logo-drop.is-ready{opacity:1;animation:logo-drop-bounce .88s both}.loading-logo-drop img{display:block;width:100%;height:auto;-webkit-user-select:none;user-select:none;pointer-events:none}.loading-splash-caption{display:flex;align-items:center;gap:7px;font-weight:900;font-size:15px;letter-spacing:.03em;margin-top:14px;text-shadow:0 2px 2px #79000088}.loading-dots{display:flex;gap:4px}.loading-dots i{width:4px;height:4px;border-radius:50%;background:#fff;animation:loading-dot .8s ease-in-out infinite}.loading-dots i:nth-child(2){animation-delay:.12s}.loading-dots i:nth-child(3){animation-delay:.24s}.loading-studs{display:flex;gap:7px;margin-top:22px}.loading-studs span{position:relative;width:24px;height:14px;border-radius:3px;background:#ffd524;box-shadow:0 4px #b78400;animation:loading-dot .9s ease-in-out infinite}.loading-studs span:before{content:"";position:absolute;width:10px;height:5px;left:7px;top:-3px;border-radius:50%;background:#fff28b;box-shadow:0 2px #e4ad00}@keyframes logo-drop-bounce{0%{transform:translateY(-75vh) rotate(-8deg) scale(.9)}48%{transform:translateY(0) rotate(1deg) scale(1.04,.94)}65%{transform:translateY(-48px) rotate(-2deg) scale(.98,1.02)}80%{transform:translateY(0) rotate(0) scale(1.015,.985)}91%{transform:translateY(-12px) scale(.995,1.005)}to{transform:translateY(0) scale(1)}}@keyframes loading-dot{0%,to{translate:0 0;opacity:.5}50%{translate:0 -5px;opacity:1}}@media(prefers-reduced-motion:reduce){.loading-logo-drop.is-ready,.loading-dots i,.loading-studs span{animation:none}.loading-splash{transition:none}}.game>:not(.scrim):not(.loading-splash),.lab>:not(.scrim):not(.loading-splash){translate:var(--shake-x,0px) var(--shake-y,0px)}@media(prefers-reduced-motion:reduce){.game>*,.lab>*{translate:none}}.app.menu .image-play-button{filter:drop-shadow(1px 0 0 #111) drop-shadow(-1px 0 0 #111) drop-shadow(0 1px 0 #111) drop-shadow(0 -1px 0 #111)}.build-bottom{max-width:340px;padding-bottom:max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.build-bottom .progress-track{margin:0 0 4px}.app.construction .build-bottom button.play-button{min-height:62px;border-radius:15px;padding:12px 18px;font-size:24px;line-height:1.1;gap:14px}.build-bottom .next-level-action{font-size:21px;margin:0;letter-spacing:0}.build-bottom p{margin:0}.build-action .coin{mix-blend-mode:normal}.loading-startup{background:#074b78}.startup-key-art{position:absolute;inset:0}.startup-key-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.loading-startup .loading-splash-caption{position:absolute;bottom:calc(54px + env(safe-area-inset-bottom));z-index:1;margin:0;padding:8px 14px;border-radius:12px;background:#002c4bc9;text-shadow:0 1px 3px #000}.loading-startup .loading-studs{position:absolute;bottom:calc(25px + env(safe-area-inset-bottom));z-index:1;margin:0}.progress-track{position:relative;overflow:visible}.progress-track>span{border-radius:inherit}.progress-stud{position:absolute;top:calc(50% - 4px);width:48px;height:48px;max-width:none;object-fit:contain;transform:translate(-50%,-50%);z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;transition:left .4s}@media(prefers-reduced-motion:reduce){.progress-stud{transition:none}}@font-face{font-family:LEGO;src:url(/assets/buttons/LEGO.TTF) format("truetype");font-weight:400;font-style:normal;font-display:swap}.app button.lego-button{position:relative;display:block;width:100%;aspect-ratio:829/310;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;outline:none;filter:none!important;isolation:isolate;overflow:visible;touch-action:manipulation;transform:none!important;container-type:inline-size}.app button.lego-button:disabled{opacity:1;cursor:default}.lego-button:disabled .lego-button-label{opacity:1}.app button.lego-button:focus-visible{outline:3px solid white;outline-offset:4px}.lego-base,.lego-top,.lego-top-art{position:absolute;inset:0;display:block;pointer-events:none}.lego-base,.lego-top-art{overflow:hidden}.lego-base img,.lego-top-art img{position:absolute;display:block;max-width:none;width:123.522316%;height:auto;left:-11.821472%;top:-117.741935%;-webkit-user-select:none;user-select:none;pointer-events:none}.lego-top{transition:transform .08s ease-out;transform:translateY(0)}.lego-button-label{position:absolute;inset:0 3% 17%;transform:translateY(-.04em);display:flex;align-items:center;justify-content:center;gap:12px;color:#fff;font-family:LEGO,Roboto,sans-serif;font-size:clamp(20px,12cqw,42px);font-weight:400;line-height:1;letter-spacing:0;text-shadow:none;-webkit-text-stroke:1.4px #111;paint-order:stroke fill}.lego-button-label small{font-family:LEGO,sans-serif;font-weight:400;font-size:.55em;letter-spacing:0;display:flex;align-items:center;gap:4px;padding-left:10px;border-left:1px solid #fff7}.lego-button-label .coin{mix-blend-mode:normal}.lego-button:active:not(:disabled) .lego-top{transform:translateY(5px)}.lego-assembling .lego-top{animation:lego-button-assemble .3s both ease-out}@keyframes lego-button-assemble{0%{opacity:0;transform:translateY(-70px)}20%{opacity:1}to{opacity:1;transform:translateY(0)}}.home-action-row .home-play-assembly{grid-column:2;pointer-events:auto;text-align:center}.home-play-assembly .lego-button-label,.build-bottom button.lego-button.next-level-action .lego-button-label{font-size:clamp(36px,23cqw,76px);-webkit-text-stroke:0}.modal button.lego-button.secondary{margin-top:12px}.modal button.lego-button.secondary .lego-button-label{font-size:clamp(18px,9cqw,32px)}@media(prefers-reduced-motion:reduce){.lego-top{transition:none}.lego-assembling .lego-top{animation:none}}.modal:has(.lego-button){max-height:calc(100dvh - 48px);overflow-y:auto;scrollbar-width:thin}.modal:has(.lego-button)>.close{top:8px;right:8px}.app{--primary-button-width:calc((min(100vw - 48px,400px) - 20px)/4.6*3)}.home-action-row .home-play-assembly{width:var(--primary-button-width);max-width:100%;justify-self:center}.app.construction .build-bottom button.lego-button{width:var(--primary-button-width);max-width:100%;align-self:center;flex-shrink:0}.lego-base,.lego-top,.lego-top-art,.lego-base img,.lego-top-art img{filter:none!important;mix-blend-mode:normal;opacity:1;background:transparent;box-shadow:none}.lego-waiting .lego-top{opacity:0}.build-bottom{gap:6px}.build-bottom .progress-track{margin-bottom:14px}.menu .project-label{margin-bottom:20px}.lego-button-label,.home-play-assembly .lego-button-label{text-shadow:none;-webkit-text-stroke:0;--outer-letter-stroke:clamp(5px,3cqw,8px);--inner-letter-stroke:clamp(2.5px,1.5cqw,4px)}.lego-letter-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:inherit;color:#fff;white-space:nowrap;paint-order:stroke fill}.lego-letter-red{-webkit-text-stroke:var(--outer-letter-stroke) #f00}.lego-letter-black{-webkit-text-stroke:var(--inner-letter-stroke) #000}.lego-letter-fill{-webkit-text-stroke:0}.home-build-action{grid-column:2;width:var(--primary-button-width);max-width:100%;justify-self:center;text-align:center}.home-build-action .finished{min-height:62px;display:grid;place-items:center}.home-assembly-speed{position:absolute;top:100%;right:0;margin-top:8px}.home-action-row .build-close-button{grid-column:3;width:100%;aspect-ratio:1;margin-top:12px;padding:0;font-size:clamp(24px,7vw,36px);line-height:1}input,select,textarea{font-family:inherit}.home-action-row{grid-template-columns:minmax(0,829fr) minmax(0,310fr);gap:6px;align-items:start}.home-action-row .home-play-assembly,.home-action-row .home-build-action{grid-column:1;width:100%;max-width:none}.home-action-row .build-close-button{grid-column:2;margin-top:0}.app button.home-build-entry{position:relative;display:block;grid-column:2;width:100%;aspect-ratio:1;padding:0;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;filter:none;overflow:visible;container-type:inline-size;transform:none}.home-build-face{position:absolute;inset:0;display:block;pointer-events:none;transition:transform .08s ease-out}.home-build-art{position:absolute;inset:0;overflow:hidden}.home-build-art img{position:absolute;width:330.322581%;height:auto;max-width:none;left:-115.483871%;top:-117.741935%;pointer-events:none;-webkit-user-select:none;user-select:none}.home-build-checklist{position:absolute;width:76%;height:auto;left:12%;top:-23%;pointer-events:none;-webkit-user-select:none;user-select:none}.home-build-caption{position:absolute;transform:translateY(-2px);inset:55% 0 14%;display:flex;align-items:center;justify-content:center;font-family:Roboto,Arial,sans-serif;font-weight:700;font-size:clamp(20px,30cqw,38px);line-height:1;letter-spacing:-.02em;color:#fff;-webkit-text-stroke:clamp(2px,.025em,3px) #000;paint-order:stroke fill;text-shadow:none}.app button.home-build-entry:active:not(:disabled){transform:none}.home-build-entry:active:not(:disabled) .home-build-face{transform:translateY(5px)}.home-build-entry:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(prefers-reduced-motion:reduce){.home-build-face{transition:none}}.menu .progress-track{margin-bottom:32px}.home-action-row{grid-template-columns:minmax(0,310fr) minmax(0,829fr) minmax(0,310fr)}.home-action-row .home-play-assembly{grid-column:2}.app .home-action-row button.home-build-entry{grid-column:3;grid-row:1}.app .home-action-row button.home-sets-entry{grid-column:1;grid-row:1}.home-sets-icon{position:absolute;width:66%;height:auto;left:17%;top:-22%;pointer-events:none;-webkit-user-select:none;user-select:none}.home-action-row .lego-button-label{font-size:clamp(28px,23cqw,76px)}.home-action-row .home-build-caption{font-size:clamp(16px,30cqw,38px)}.sets-journey{position:fixed;inset:0;z-index:30;max-width:560px;margin:auto;background:#b4e9fa;color:#17447a;display:flex;flex-direction:column;isolation:isolate}.sets-journey.sets-preview{background:#303030}.sets-preview-art{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.sets-preview-close{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px}.sets-journey:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/branding/london-blueprint.png) center/auto 100% no-repeat;opacity:.08;pointer-events:none}.sets-header{display:flex;align-items:center;justify-content:space-between;padding:calc(18px + env(safe-area-inset-top)) 24px 18px;border-bottom:2px solid #fff8;background:#a7e1f6ed;box-shadow:0 4px 14px #17678b15;z-index:1}.sets-header h1{font-size:32px;font-weight:900}.sets-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:28px 20px calc(28px + env(safe-area-inset-bottom));scrollbar-width:thin}.sets-path{max-width:440px;margin:auto}.set-card{position:relative;overflow:hidden;border:4px solid #555e70;border-radius:28px;background:linear-gradient(145deg,#303a4a,#182231);box-shadow:inset 3px 4px 5px #fff6,inset -4px -6px 6px #0009,0 5px #192c4540;padding:18px 18px 16px;color:#fff}.set-card footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:clamp(17px,4.8vw,25px);font-weight:700}.set-card h2{font-size:inherit;font-weight:900}.set-current{border-color:#ec1325}.set-current-badge{display:table;margin:0 auto 10px;padding:5px 14px;border-radius:6px;background:#ffe000;color:#172738;font-size:11px;font-weight:900;letter-spacing:.12em}.set-box{display:block;width:100%;aspect-ratio:1.22;object-fit:cover;object-position:center}.set-blueprint{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:contain;mix-blend-mode:screen;opacity:.75}.set-future{background:linear-gradient(140deg,#9299a5,#606b7c);border-color:#626a78;color:#e2e6ee}.set-coming{position:absolute;top:42%;left:0;right:0;padding:10px 4px;background:#d0d6e4ed;text-align:center;font-size:clamp(22px,6vw,34px);font-weight:900;color:#495974}.set-connector{width:86%;height:3px;background:#337cba;margin:28px auto;border-radius:3px;box-shadow:0 1px #fff8}.set-progress{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:16px;font-size:12px;color:#d6eafa}.set-progress progress{grid-column:1/-1;width:100%;height:12px;appearance:none;border:2px solid white;border-radius:10px;overflow:hidden;background:#51697c}.set-progress progress::-webkit-progress-bar{background:#51697c}.set-progress progress::-webkit-progress-value{background:linear-gradient(#c2f679,#71c839);border-radius:8px}.set-progress progress::-moz-progress-bar{background:#8edb48;border-radius:8px}.set-mystery{min-height:220px}.set-mystery-stud{display:grid;place-items:center;width:128px;height:128px;border-radius:50%;margin:0 auto;background:#c4ccd22e;box-shadow:inset 0 4px #fff4,0 8px #39434b40;font-size:100px;font-weight:900;color:#d0d7df55}@media(max-width:360px){.home-action-row{gap:4px}.home-action-row .home-build-caption{font-size:16px}.sets-scroll{padding-left:14px;padding-right:14px}}.home-action-row .home-build-action{grid-column:2}.home-action-row .build-close-button{grid-column:3}.home-action-row .home-play-assembly,.home-action-row .home-build-action,.home-action-row .build-close-button{grid-row:1;min-width:0}.game:before,.lab:before{filter:brightness(.9)}.music-volume{display:grid;grid-template-columns:1fr auto;gap:8px;margin:20px 2px;color:#246699;text-align:left;font-size:14px;font-weight:700}.music-volume input{grid-column:1/-1;width:100%;height:28px;margin:0;accent-color:#1489e8;cursor:pointer}.music-volume output{font-variant-numeric:tabular-nums}.coin{border:0;border-radius:0;box-shadow:none;background:transparent url(/assets/branding/gold-brick-1x1.svg) center/contain no-repeat;mix-blend-mode:normal}.colorbomb-screen-flash{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:0;translate:none!important;background:radial-gradient(ellipse at 50% 60%,#c6f6ff99,#9cdcff66,#8b87ff44)}.game>.board-container,.lab>.board-container{z-index:0}.game>.game-header,.game>.objectives,.game>.game-bottom,.lab>.game-header,.lab>.lab-message,.lab>.lab-tools{position:relative;z-index:2}.settings-debug-options{margin-top:22px;padding-top:18px;border-top:1px solid #24669933}.settings-debug-options h2{font-family:Roboto,Arial,sans-serif;font-size:12px;letter-spacing:.12em;color:#608aa4}.app .home-action-row button.home-build-back{grid-column:1;grid-row:1}.build-back-arrow{position:absolute;left:16%;top:18%;width:68%;aspect-ratio:835/695;overflow:hidden}.build-back-arrow img{position:absolute;width:119.161677%;height:auto;max-width:none;left:-7.664671%;top:-5.899281%;pointer-events:none;-webkit-user-select:none;user-select:none}.app button.compact-tile{--compact-size:clamp(30px, calc((100vw - 60px)*.107) ,42px);position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--compact-size)!important;height:var(--compact-size)!important;min-height:0;padding:0 0 2px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:#fff;font-size:24px;font-weight:900;line-height:1;text-shadow:none;filter:none!important}.compact-tile:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--compact-art);background-size:330.322581% auto;background-position:50% 51.12%;background-repeat:no-repeat}.compact-tile-blue{--compact-art:url(/assets/buttons/2x2-complete-blue-bright.png)}.compact-tile-red{--compact-art:url(/assets/buttons/2x2-complete-red.png);-webkit-text-stroke:1px #000;paint-order:stroke fill}.app button.close.compact-tile{position:absolute;top:10px;right:10px}.compact-tile svg{width:55%;height:55%;filter:drop-shadow(0 1px 0 #000)}.compact-tile:active:not(:disabled){transform:translateY(2px)}.compact-tile .options-gear{display:block;width:78%;height:78%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.level-shimmer.lego-ready:not(:disabled) .lego-top-art:after{content:"";position:absolute;inset:3% 1.5% 11%;pointer-events:none;background:linear-gradient(105deg,transparent 34%,#fff6 46%,#fffd 50%,#fff6 54%,transparent 66%);transform:translate(-150%);animation:level-light-sweep 6s ease-in-out infinite;animation-delay:2s}@keyframes level-light-sweep{0%,78%{transform:translate(-150%)}94%,to{transform:translate(150%)}}@media(prefers-reduced-motion:reduce){.level-shimmer .lego-top-art:after{display:none}}.app.menu{padding-top:0}.app.menu .home-topbar{position:relative;z-index:2;display:block;width:calc(100% + 16px);height:auto;min-height:0;aspect-ratio:1672/660;margin:0 -8px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;container-type:inline-size;overflow:visible;flex-shrink:0}.home-topbar-art{position:absolute;inset:0;overflow:hidden;pointer-events:none}.home-topbar-art img{position:absolute;display:block;width:114.832536%;max-width:none;height:auto;left:-7.416268%;top:-28.181818%;pointer-events:none;-webkit-user-select:none;user-select:none}.home-topbar .emmet-avatar{position:absolute;left:17.882775%;top:54.090909%;width:100px;height:116px;transform:translate(-50%,-50%) scale(calc(18cqw/100px));transform-origin:center;filter:none}.home-topbar .emmet-avatar:before{display:none}.home-topbar .emmet-rig{left:0;bottom:0;transform:none}.home-topbar .home-piece-count{position:absolute;left:32.057416%;top:36.060606%;width:35.885167%;height:36.363636%;display:flex;align-items:center;justify-content:center;gap:2cqw;padding:0 2cqw;color:#a36a13;font-family:Roboto,Arial,sans-serif;font-weight:900;font-size:clamp(16px,5cqw,30px);line-height:1;font-variant-numeric:tabular-nums;overflow:hidden}.home-piece-count .coin{width:7cqw;height:7cqw;max-width:38px;max-height:38px}.home-topbar-controls{display:contents}.app .home-topbar button.compact-tile{position:absolute;top:54.090909%;width:7.8%!important;height:auto!important;aspect-ratio:1;min-width:0;--compact-size:unset;transform:translateY(-50%);padding-bottom:2px!important}.app .home-topbar .fullscreen-button{left:74.628708%}.app .home-topbar .home-settings{left:85.33445%}.app .home-topbar button.compact-tile:active:not(:disabled){transform:translateY(calc(-50% + 2px))}.home-topbar .home-assembly-speed{right:8px}.menu .start-house{top:clamp(128px,40vw,230px)}.app.game{height:100dvh;min-height:560px;display:flex;flex-direction:column;padding-top:0}.app.game .level-topbar{position:relative;z-index:2;display:block;width:calc(100% + 16px);height:auto;min-height:0;aspect-ratio:1672/660;margin:0 -8px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;container-type:inline-size;overflow:visible;flex-shrink:0}.level-topbar .emmet-avatar{position:absolute;left:50%;top:54.090909%;width:100px;height:116px;transform:translate(-50%,-50%) scale(calc(24cqw/100px));transform-origin:center;filter:none}.level-topbar .emmet-avatar:before{display:none}.level-topbar .emmet-rig{left:0;bottom:0;transform:none}.level-goals,.level-moves{position:absolute;top:36.212121%;width:14.354067%;height:36.363636%;padding:.9cqw;font-family:Roboto,Arial,sans-serif}.level-goals{left:17.882775%;display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:minmax(0,1fr);gap:.8cqw;align-content:center}.level-goal-chip{display:flex;align-items:center;justify-content:center;gap:.8cqw;padding:.3cqw .6cqw;min-width:0;min-height:0;background:#e3f7ffcf;border:.4cqw solid #29a9ed;border-radius:2.5cqw;color:#17447a;font-size:2.8cqw;line-height:1;font-weight:900}.level-goal-icon{display:block;width:3.5cqw;height:3.5cqw;flex-shrink:0}.level-goal-chip.done{color:#31863e;border-color:#70bc69}.level-goals.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:.6cqw}.level-goals.is-grid .level-goal-chip{flex-direction:column;gap:.2cqw;padding:.3cqw .1cqw;border-width:.3cqw;border-radius:1.3cqw;font-size:2.1cqw}.level-goals.is-grid .level-goal-icon{width:2.7cqw;height:2.7cqw}.level-moves{left:68.062201%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7cqw;color:#17447a;line-height:1}.level-moves strong{font-size:7cqw;font-weight:900;color:#f04c17;font-variant-numeric:tabular-nums}.level-moves>span{font-size:2.25cqw;font-weight:900;letter-spacing:.04em}.app .level-topbar button.compact-tile{position:absolute;left:85.33445%;top:54.090909%;width:7.8%!important;height:auto!important;aspect-ratio:1;min-width:0;--compact-size:unset;transform:translateY(-50%);padding-bottom:2px!important}.app .level-topbar button.compact-tile:active:not(:disabled){transform:translateY(calc(-50% + 2px))}.game>.board-container{flex:1;min-height:220px;height:auto;max-height:none}.game>.game-bottom{flex-shrink:0}.pause-display-settings{display:flex;align-items:center;justify-content:center;gap:16px;margin:18px 0;color:#246699;font-weight:700}.home-topbar-art{overflow:visible;clip-path:inset(0 -3% -9% -3%)}.level-topbar .emmet-avatar{transform:translate(-50%,-50%) scale(calc(22cqw/100px))}.level-topbar .emmet-bust{clip-path:circle(49px at 29.5px 48px)}.game:before,.lab:before{background-color:#194353;filter:none}.home-content.is-hidden{visibility:hidden;pointer-events:none}.menu{--home-wall-height:calc(min(100vw,560px)*.361328125)}@media(min-width:800px){.menu{--home-wall-height:191.504px}}.home-navigation{position:absolute;z-index:4;bottom:0;left:0;right:0;height:calc(var(--home-wall-height) + env(safe-area-inset-bottom));padding:calc(var(--home-wall-height)*.221622) 0 env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr);background:none;isolation:isolate;container-type:inline-size}.home-navigation:before{content:"";position:absolute;left:0;right:0;top:0;height:100%;z-index:-1;background:url(/assets/navigation/home-wall-tall.png) 50% 52.829%/100% 276.757% no-repeat;pointer-events:none}.home-tab{position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:0;background:none;box-shadow:none;cursor:pointer;overflow:visible;padding:0}.home-tab.selected{background:#7000003a}.home-tab:active:not(:disabled){transform:none}.home-tab:focus-visible,.tool-button:focus-visible{outline:3px solid #fff39c;outline-offset:-3px}.navigation-icon{--icon-height:clamp(61.6px,18.634cqw,98.56px);position:relative;display:block;height:var(--icon-height);flex-shrink:0;overflow:clip;filter:drop-shadow(0 3px 1px #51000066);pointer-events:none;transform-origin:center;transform:translateY(-9px) scale(1);transition:transform .28s ease}.navigation-icon img{position:absolute;max-width:none;-webkit-user-select:none;user-select:none}.navigation-home{width:calc(var(--icon-height)*382/295)}.navigation-home img{width:106.283%;left:-2.618%;top:-23.729%}.navigation-shop{width:calc(var(--icon-height)*323/336)}.navigation-shop img{width:125.697%;left:-9.907%;top:-11.607%}.navigation-trophy{width:calc(var(--icon-height)*178/285)}.navigation-trophy img{width:228.09%;left:-64.045%;top:-28.07%}.home-tab.selected .navigation-icon{transform:translateY(-16px) scale(1.45);animation:home-tab-bounce .44s both}.home-tab-label{position:absolute;bottom:3px;left:0;right:0;opacity:0;transform:translateY(5px);transition:opacity .18s ease,transform .18s ease;color:#fff;font-family:Roboto,Arial,sans-serif;font-size:clamp(10px,2.9cqw,16px);font-weight:900;line-height:1.1;text-align:center;-webkit-text-stroke:2.5px #111;paint-order:stroke fill;text-shadow:0 2px 0 #111;pointer-events:none}.home-tab.selected .home-tab-label{opacity:1;transform:translateY(0)}@keyframes home-tab-bounce{0%{transform:translateY(-9px) scale(1)}50%{transform:translateY(-18px) scale(1.52)}75%{transform:translateY(-15px) scale(1.4)}to{transform:translateY(-16px) scale(1.45)}}@media(prefers-reduced-motion:reduce){.home-tab.selected .navigation-icon{animation:none}.navigation-icon,.home-tab-label{transition:none}}.menu.has-home-navigation .menu-bottom{bottom:calc(var(--home-wall-height) + 32px + env(safe-area-inset-bottom))}.home-coming-soon{position:absolute;inset:0;z-index:0;overflow:hidden}.home-coming-soon>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none}.game{--tools-wall-height:calc(min(100vw,560px)*.361328125)}@media(min-width:800px){.game{--tools-wall-height:245.703px}}.tool-tray{position:relative;isolation:isolate;flex-shrink:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:clamp(12px,3vw,24px);width:calc(100% + 36px);height:calc(var(--tools-wall-height) + env(safe-area-inset-bottom));margin:0 -18px;padding:calc(var(--tools-wall-height)*.3) clamp(22px,6vw,42px) calc(var(--tools-wall-height)*.1 + env(safe-area-inset-bottom));background:none;border:0}.tool-tray:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/tools/powerups-wall.png) 50% 52.829%/100% 276.757% no-repeat;pointer-events:none}.tool-button{position:relative;min-width:0;width:100%;max-width:106px;justify-self:center;aspect-ratio:1;border:0;border-radius:0;padding:0;background:transparent url(/assets/buttons/2x2-complete-blue-bright.png) 50% 51.12%/330.322581% auto no-repeat;cursor:pointer;touch-action:manipulation;transition:filter .15s,transform .15s}.tool-button.selected{background-image:url(/assets/buttons/2x2-complete-yellow.png)}.tool-button:active:not(:disabled){transform:translateY(3px)}.app .tool-button:disabled{opacity:1;filter:none;cursor:default}.tool-icon{position:absolute;display:block;pointer-events:none;overflow:hidden;filter:drop-shadow(1px 1px 0 #101820) drop-shadow(-1px -1px 0 #101820)}.tool-icon img{position:absolute;max-width:none;-webkit-user-select:none;user-select:none}.tool-hammer{width:70%;height:100%;left:15%;top:-12%}.tool-hammer img{width:314.11%;left:-103.83%;top:-72.37%}.tool-bow{width:100%;aspect-ratio:1132/934;left:0;top:-9%}.tool-bow img{width:180.92%;left:-37.37%;top:-44.65%}.tool-saw{width:78%;aspect-ratio:784/999;left:11%;top:-13%}.tool-saw img{width:261.22%;left:-86.22%;top:-41.14%}.tool-wrench{width:66%;aspect-ratio:761/1254;left:17%;top:-19%}.tool-wrench img{width:269.12%;left:-91.98%;top:-24.8%}.game .game-bottom{min-height:36px;padding:4px 12px;font-size:12px}.game .game-bottom p{margin:0;text-align:center}.game .game-bottom .tutorial{padding:6px 12px;font-size:12px}@media(max-height:740px){.tool-button{max-width:74px;justify-self:center;width:100%}}.app.menu,.navigation-icon,.tool-icon{overflow:clip}.tool-quantity{position:absolute;z-index:2;right:-7px;bottom:-5px;display:flex;align-items:center;justify-content:center;width:clamp(24px,6vw,32px);aspect-ratio:1;border-radius:50%;border:2px solid #172b49;background:#fff7d3;color:#17447a;font-family:Roboto,Arial,sans-serif;font-size:clamp(14px,3.5vw,20px);font-weight:900;line-height:1;text-shadow:none;box-shadow:0 2px #172b4980;pointer-events:none}.modal.pause-modal{isolation:isolate;width:min(380px,calc((100dvh - 40px)*.77183));max-width:100%;aspect-ratio:1326/1718;display:flex;flex-direction:column;justify-content:center;padding:28px clamp(22px,7vw,34px);border:0;border-radius:0;background:none;box-shadow:none;color:#17447a}.pause-modal:before{content:"";position:absolute;inset:0;z-index:-1;background:url(/assets/branding/pause-background-v2.png) center/154.449% 119.208% no-repeat;filter:drop-shadow(0 9px 16px #0005);pointer-events:none}.pause-modal h1{font-size:clamp(23px,6.5vw,31px);margin:0 0 10px}.pause-modal .pause-display-settings{margin:10px 0 12px;flex-shrink:0}.pause-modal button.lego-button{flex-shrink:0}.pause-modal .play-button{margin-top:14px}.pause-modal .secondary{margin-top:16px}.pause-modal .text-button{margin-top:10px;padding:12px 6px;color:#17447a}@media(max-height:580px){.modal.pause-modal{padding:18px 22px}.pause-modal h1{font-size:21px;margin-bottom:5px}.pause-modal .pause-display-settings{margin:3px 0}.pause-modal .play-button,.pause-modal .secondary{margin-top:8px}.pause-modal .text-button{margin-top:4px;padding:8px 0}}
