*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;touch-action:manipulation}body{font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;background:radial-gradient(ellipse at center,#b9d8ef,#759bbd);user-select:none}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:4px solid #fff;outline-offset:4px}#viewport{width:100%;height:100%;display:flex;align-items:center;justify-content:center}#game{width:576px;height:1280px;position:relative;flex-shrink:0;transform-origin:center;background:linear-gradient(#9cb8dd 0 48.2%,#d6effb 48.3% 96%,#426bd4 96%);overflow:hidden;box-shadow:0 0 70px #22406135}#scene{position:absolute;inset:0;width:576px;height:1280px;z-index:2;pointer-events:none}header{position:absolute;top:42px;left:8px;right:17px;height:60px;display:flex;align-items:center;z-index:4;gap:17px}.life,.money{height:31px;background:#20232f;border-radius:5px;color:white;display:flex;align-items:center;position:relative;font-size:19px;font-weight:900}.life{width:137px;margin-right:23px}.life strong{margin-left:64px}.heart{position:absolute;left:-3px;top:-15px;color:#f93657;font-family:Arial;font-size:53px;text-shadow:-2px -2px #92162b,2px 3px #891927}.heart b{position:absolute;left:15px;top:22px;color:white;font-size:19px;text-shadow:1px 2px #8b1b37}.money{width:148px;margin-right:auto;justify-content:center}.coin{position:absolute;left:-14px;top:-5px;width:36px;height:39px;border:3px solid #4c3b11;border-radius:50%;background:#ffe65e;color:#ffbd19;text-align:center;font-size:28px;line-height:32px;box-shadow:inset 2px 2px #fffbb0}.money b{margin-left:5px}.money button{position:absolute;right:-3px;top:-2px;width:32px;height:35px;border:2px solid #765221;border-radius:7px;background:linear-gradient(#ffde6e,#ff9c25);color:white;font-size:31px;font-weight:bold;line-height:25px;text-shadow:1px 2px #cf7a24}.square{width:63px;height:63px;background:linear-gradient(#41475e,#262d41);color:white;border:3px solid #101626;border-radius:10px;font-size:53px;font-weight:bold;line-height:45px;box-shadow:inset 2px 2px #7485ad,0 3px #102233}#settings{font-size:46px}h1{position:absolute;top:91px;left:0;width:100%;margin:0;text-align:center;color:white;font-size:35px;line-height:40px;font-weight:900;z-index:3;-webkit-text-stroke:1.4px #274d9b;text-shadow:0 3px #244b98}#boardFrame{position:absolute;left:108px;top:144px;width:360px;height:359px;border:10px solid #fff;border-radius:12px;background:#8c9698;box-shadow:-9px 44px 0 -20px #7899bf,0 5px #b7f2ff,0 9px 0 -2px #73a8d5;z-index:1}#slots{position:absolute;left:142px;top:627px;display:flex;gap:7px;z-index:4}.slot{width:68px;height:63px;border-radius:9px;background:#fffffb;border:2px solid #c9e1e9;box-shadow:0 5px #8babb6,inset 0 0 7px #fff;position:relative}.slot.occupied{background:#d8f5ff;border:5px solid #faffff;box-shadow:0 5px #95b9cb,0 0 0 4px #a7dfff}#trays{position:absolute;inset:0;z-index:5;pointer-events:none}.tray{position:absolute;width:82px;height:82px;border:0;border-radius:12px;background:#b0dfff;box-shadow:0 6px #9dc8df;pointer-events:auto;transition:filter .15s,transform .15s;background:transparent;box-shadow:none}.tray:hover{filter:brightness(1.04)}.tray:active{transform:translateY(3px)}.bucket-target{position:absolute;border:none;background:transparent;border-radius:50%;width:35px;height:35px;padding:0}.bucket-target:focus-visible{outline:3px solid white;outline-offset:1px}#tutorial{position:absolute;top:920px;left:0;width:100%;font-weight:900;color:#fff;font-size:25px;text-align:center;-webkit-text-stroke:1px #26322f;text-shadow:1px 2px #333;z-index:4;margin:0}#hint{position:absolute;top:1000px;left:55px;right:55px;text-align:center;color:#345373;font-weight:bold;font-size:21px;z-index:4;opacity:0;transition:opacity .2s}#hint.show{opacity:1}footer{position:absolute;bottom:21px;left:121px;right:120px;display:flex;justify-content:space-between;z-index:6}.booster{position:relative;width:88px;height:70px;background:#426bda;border:2px solid #2c52aa;border-radius:13px;box-shadow:0 7px #2c51ae,inset 2px 2px #7392ea;color:white}.booster span{position:absolute;top:-22px;left:20px;font-size:47px;line-height:50px}.booster b{position:absolute;left:0;bottom:11px;width:100%;font-size:16px;text-shadow:1px 2px #203e74}.shade{position:absolute;inset:0;background:#17233496;z-index:10;display:flex;align-items:center;justify-content:center}.shade[hidden]{display:none}#panel{position:relative;width:410px;border:4px solid #125270;border-radius:20px;background:linear-gradient(#2ccdf8,#02adf2);box-shadow:inset 3px 3px #9aefff,0 10px #26486155;padding:27px 25px 25px;text-align:center;color:white;font-weight:900}#panel h2{font-size:37px;margin:5px 0 28px;text-shadow:2px 3px #234b70;-webkit-text-stroke:.7px #284c60}#panel h3{font-size:25px;margin:14px}#panel .trophy{font-size:80px;line-height:95px;display:block;margin-top:-77px;filter:drop-shadow(0 3px 0 #ad682b)}.reward{background:#199bde99;border-radius:15px;margin:16px auto 28px;padding:25px;font-size:35px}.reward .bigcoin{font-size:74px;line-height:76px;display:block}.panel-btn{color:white;border:2px solid #168b7e;border-radius:10px;background:linear-gradient(#6cdec3,#24b49c);font-weight:bold;font-size:23px;padding:13px 20px;box-shadow:0 4px #157f81;text-shadow:1px 2px #2b6870}.panel-btn.secondary{background:linear-gradient(#a6cbec,#6b95bc);border-color:#396480;box-shadow:0 4px #446889}.panel-row{display:flex;gap:12px;justify-content:center;margin:15px 0}.settings-label{font-size:23px;margin:15px 0}.settings-label input{width:24px;height:24px}.level-select{width:100%;font:inherit;font-size:23px;padding:12px;border-radius:10px;color:#24577a;border:2px solid #4a9cb3;background:#e7faff}#panel p{font-size:20px;line-height:1.5;font-weight:600}.shake{animation:shake .3s}@keyframes shake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}#fallback{position:absolute;inset:150px 50px auto;z-index:9;padding:25px;background:white;color:#27445e;border-radius:15px;font-size:24px}
/* UI icons and the first three level headings are sampled from the supplied video. */
#restart,#settings{background:transparent url('assets/restart.png') center/contain no-repeat;border:0;box-shadow:none;font-size:0;width:65px;height:65px}#settings{background-image:url('assets/settings.png')}.heart{top:-10px;left:-3px;width:44px;height:45px;background:url('assets/heart.png') center/contain no-repeat;font-size:0;text-shadow:none}.heart b{display:none}.coin{width:40px;height:46px;top:-10px;left:-16px;background:transparent url('assets/coin.png') center/contain no-repeat;border:0;box-shadow:none;font-size:0}.money button{width:35px;height:37px;background:transparent url('assets/plus.png') center/contain no-repeat;border:0;box-shadow:none;font-size:0}.booster span.locked{width:47px;height:57px;background:url('assets/lock.png') center/contain no-repeat;font-size:0;left:20px;top:-23px}h1 img{width:126px;height:40px;display:block;margin:0 auto}
header{display:block}.life{position:absolute;left:0;top:15px;width:137px;margin:0}.money{position:absolute;left:177px;top:15px;width:148px;margin:0}#restart{position:absolute;left:408px;top:-2px}#settings{position:absolute;left:488px;top:-2px}
#boardFrame{display:none}.slot{visibility:hidden}.tray{width:82px;height:83px;cursor:pointer}.tray.blocked{cursor:not-allowed}.tray:focus-visible{outline:3px solid #fff;background:#ffffff15}.tray:hover{background:#ffffff0a}.tray:active{background:#ffffff20}#tutorial{top:922px}
#panel.victory-panel{position:absolute;left:70px;top:265px;width:438px;height:600px;border:0;padding:0;background:none;box-shadow:none}.victory-art{position:absolute;inset:0;width:438px;height:600px;pointer-events:none}.victory-continue,.victory-double{position:absolute;top:483px;width:162px;height:70px;background:transparent;border:0;border-radius:17px}.victory-continue{left:54px}.victory-double{left:225px}.victory-continue:hover,.victory-double:hover{background:#ffffff1a}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.volume-label{display:flex;align-items:center;gap:15px;justify-content:center;font-size:20px;margin:14px 0}.volume-label input{accent-color:#fff;width:190px}

/* Larger models and matching touch targets. */
.tray{width:116px;height:116px}.tray:active{transform:none}#tutorial{top:1080px;font-size:25px}#hint{top:1120px;font-size:19px}#slots{left:58px;top:671px;gap:14px}.slot{width:104px;height:106px}

#chapter{position:absolute;top:130px;left:0;width:100%;margin:0;text-align:center;font-size:12px;line-height:13px;font-weight:bold;color:#294966;z-index:4}#modeBadge{position:absolute;top:772px;left:40px;right:40px;text-align:center;font-size:16px;color:#3c617c;font-weight:bold;z-index:4}.tray-tag{display:block;margin:5px auto;color:white;font-size:45px;font-weight:900;text-shadow:0 2px 4px #234;pointer-events:none}.ice-tag{position:absolute;left:3px;right:3px;bottom:7px;border-radius:8px;background:#bef5fff0;color:#186682;font-size:13px;font-weight:900;padding:5px 2px;box-shadow:0 0 12px #ddffff;pointer-events:none}.lock-tag{position:absolute;left:5px;top:5px;color:white;font-size:24px}.hint-tray{outline:5px solid #fff370!important;box-shadow:0 0 20px #f5d52d!important;animation:hintPulse .8s infinite alternate}@keyframes hintPulse{to{outline-color:#fff;filter:brightness(1.15)}}.earned-stars{font-size:60px;color:#fff074;text-shadow:0 4px #ba8529}.text-btn{display:block;margin:16px auto 0;border:0;background:transparent;color:white;text-decoration:underline;font-size:20px;padding:8px;cursor:pointer}#panel.gallery-panel{width:520px;max-height:1120px;padding:20px;overflow:auto;background:linear-gradient(#eaf9ff,#cfedfa);color:#28506e;border-color:#6d9fc2}#panel.gallery-panel h2{color:#28506e;text-shadow:none;-webkit-text-stroke:0;margin:0 0 14px;font-size:30px}.gallery-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:20px}.gallery-nav button{border:0;background:#fff;border-radius:10px;color:#306080;font-size:32px;width:40px}.gallery-nav button:disabled{opacity:.3}#panel .gallery-summary{font-size:14px;margin:10px}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}.level-card{border:2px solid #9fc4db;border-radius:12px;padding:8px 5px;background:white;color:#315779;min-width:0}.level-card canvas{display:block;width:90px;height:90px;margin:auto;image-rendering:pixelated;border-radius:5px}.level-card b{display:block;font-size:13px;margin-top:5px}.level-card span{display:block;color:#dba42c;font-size:18px}

h1{top:90px;font-size:30px;line-height:34px}

#tutorial{top:1057px;font-size:22px}#album{position:absolute;top:1094px;left:166px;width:244px;height:34px;z-index:6;background:#eefaff;border:2px solid #8eb9d0;border-radius:18px;color:#315d7c;font-size:17px;font-weight:bold}#hint{top:1133px;font-size:17px}

.start-panel .start-emblem{font-size:80px;color:#ffdf66;text-shadow:0 5px #b77e2b;margin:-8px 0}.start-progress{font-size:17px!important}.play-start{width:100%;font-size:26px!important;padding:18px!important}.replay-win{display:block;margin:16px auto 0}.locked-level{opacity:.55;cursor:not-allowed;filter:grayscale(.7)}.locked-level span{font-size:10px;line-height:14px;color:#506479}.ad-break{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#102638cc;color:white;font-size:26px;font-weight:bold}.ad-break[hidden]{display:none}

#bootScreen[hidden],#saveStatus[hidden]{display:none}#bootScreen{z-index:30;text-align:center}.save-status{position:absolute;top:101px;right:14px;z-index:15;max-width:180px;border:0;border-radius:10px;background:#fff3c5;color:#755019;font-size:14px;padding:8px;cursor:pointer}

.platform-paused *{animation-play-state:paused!important;transition:none!important;pointer-events:none!important}
