:root{--color-bg: #eaf8ff;--color-sky: #8bd8ff;--color-panel: #07345e;--color-panel-2: #0b4a83;--color-text: #102033;--color-white: #ffffff;--color-paper: #147ad6;--color-plastic: #f5c21b;--color-glass: #39a844;--color-organic: #8a5128;--color-battery: #d94335;--color-success: #62d84e;--color-warning: #ffb020;--shadow-pop: 0 10px 24px rgba(0, 36, 78, .22);--radius-ui: 8px;--radius-bin: 14px;--font-ui: "Nunito Sans", "Baloo 2", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{overflow-x:hidden;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui)}button,input{font:inherit}button{cursor:pointer}.app-shell{position:relative;display:grid;grid-template-rows:auto minmax(340px,1fr);min-height:100dvh;overflow:hidden;background:radial-gradient(circle at 50% 16%,rgba(255,255,255,.88),transparent 30%),linear-gradient(180deg,#bceeff,#eaf8ff 52%,#d9f3ff),var(--color-bg)}.start-shell{min-height:100dvh;overflow:hidden;background:#dff5ff}.start-screen{position:relative;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(440px,1.35fr);grid-template-rows:1fr auto;gap:clamp(18px,3vw,48px);align-items:center;min-height:100dvh;padding:clamp(24px,4vw,64px);background:linear-gradient(0deg,#60b832 0 18%,transparent 18%),linear-gradient(180deg,#70cff5,#dff7ff 70%,#b7e988);isolation:isolate}.start-screen:before{content:"";position:absolute;inset:auto 0 18%;z-index:-1;height:38px;background:#328d35;box-shadow:0 8px #145b2a38}.start-brand{align-self:start;display:grid;width:min-content;color:#fff;line-height:.78;filter:drop-shadow(0 7px 0 #063761);transform:rotate(-3deg)}.start-brand span,.start-brand strong{letter-spacing:0;white-space:nowrap;-webkit-text-stroke:3px #063761}.start-brand span{color:#84e11f;font-size:clamp(48px,6vw,92px);font-weight:1000}.start-brand strong{justify-self:end;color:#ffb31b;font-size:clamp(54px,7vw,104px)}.start-menu{grid-column:2;grid-row:1;display:grid;gap:16px;justify-items:center;width:min(720px,100%);padding:clamp(18px,2.6vw,34px);color:#103d68;background:#fffffff0;border:4px solid #ffffff;border-radius:var(--radius-ui);box-shadow:0 10px #2075a83d,var(--shadow-pop)}.start-heading{text-align:center}.start-heading span{color:#168b3b;font-size:14px;font-weight:1000;text-transform:uppercase}.start-heading h1{margin:2px 0 0;font-size:clamp(30px,4vw,50px);line-height:1}.start-character{display:grid;gap:4px;place-items:center;color:#155a20;font-size:18px;font-weight:1000}.start-character .character-sprite{width:min(210px,24vh)}.start-play-button{margin:2px 0 4px}.start-play-button:disabled{cursor:wait;opacity:.72}.start-screen .start-meta{color:#123e69}.start-screen .start-meta strong,.start-screen .start-meta span,.start-screen .start-meta button{padding:8px 12px;color:#123e69;background:#e8f5fc;border:2px solid #a7c7dc;border-radius:var(--radius-ui)}.start-levels{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px;width:min(1080px,100%);margin:0 auto}.start-levels>span{display:grid;grid-template-columns:46px 1fr;gap:0 10px;align-items:center;min-height:72px;padding:10px 14px;color:#123e69;background:#fffffff0;border:3px solid #ffffff;border-radius:var(--radius-ui);box-shadow:0 6px #1b689938}.start-levels b{grid-row:1 / 3;display:grid;place-items:center;width:42px;aspect-ratio:1;color:#fff;font-size:22px;background:#168b3b;border-radius:999px}.start-levels strong,.start-levels small{line-height:1.1}.start-levels .endless{color:#fff;background:#07345e;border-color:#49bfff}.start-levels .endless b{color:#07345e;background:#ffcf22}.hud{position:relative;z-index:8;display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(128px,190px)) auto;gap:12px;align-items:center;padding:10px 20px 12px;color:#113b68;background:linear-gradient(180deg,#fffffffa,#e7f7fff5);border-bottom:4px solid rgba(53,167,242,.74);border-radius:0 0 24px 24px;box-shadow:0 8px #4389b933,var(--shadow-pop)}.brand-lockup{display:grid;width:min-content;min-width:184px;line-height:.77;filter:drop-shadow(0 5px 0 #031326);transform:rotate(-3deg)}.brand-lockup span{font-weight:1000;letter-spacing:0;-webkit-text-stroke:2px #05264a;text-shadow:0 2px 0 #ffffff,0 5px 0 rgba(0,0,0,.24)}.brand-eco{color:#8be51e;font-size:clamp(34px,5vw,60px)}.brand-sorter{color:#fff;font-size:clamp(30px,4vw,52px);margin-left:52px;margin-top:-30px}.brand-rush{color:#ffb31b;font-size:clamp(36px,5vw,62px);margin-left:74px;margin-top:-18px}.hud-card{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:1px 9px;min-height:70px;padding:8px 14px;background:linear-gradient(180deg,#fff,#edf7ff);border:2px solid #a9c5df;border-radius:var(--radius-ui);box-shadow:inset 0 2px #fff,0 5px #2e598038}.hud-label{grid-column:2;color:#176fb6;font-size:17px;font-weight:900;line-height:1}.hud-card strong{grid-column:2;color:#123e69;font-size:clamp(28px,3vw,42px);font-weight:1000;line-height:.95;text-shadow:0 2px 0 rgba(255,255,255,.8)}.hud-icon{grid-row:1 / 3;color:#ffb81c;font-size:34px;text-shadow:0 2px 0 #9a5f00}.clock{width:38px;height:38px;border:5px solid #1d7f34;border-radius:999px}.clock:before{content:"";position:absolute;width:4px;height:14px;margin:8px 0 0 16px;background:#1d7f34;border-radius:2px;transform-origin:bottom center}.combo-card{text-align:center}.combo-card .hud-label,.combo-card strong{grid-column:1 / -1}.hud-stage{grid-column:1 / -1;color:#176fb6;font-size:13px;font-weight:1000;line-height:1;text-transform:uppercase}.combo-card strong{color:#e46a00;font-size:clamp(36px,4vw,54px)}.combo-bars,.timer-track{grid-column:1 / -1;display:flex;gap:4px;height:11px;margin-top:3px}.combo-bars span{flex:1;border-radius:999px;background:#b9d9ef}.combo-bars .active{background:linear-gradient(90deg,#8df13c,#36cfff)}.timer-track{overflow:hidden;background:#d9eaf6;border:1px solid #95b8d3;border-radius:999px}.timer-track span{display:block;border-radius:999px;background:linear-gradient(90deg,#21b8ff,#36d2ff);transition:width .16s linear}.lives-card{grid-template-columns:repeat(auto-fit,minmax(24px,1fr));justify-items:center;min-width:140px}.heart{color:#bfc8d0;font-size:42px;line-height:1;text-shadow:0 3px 0 rgba(90,62,62,.18)}.heart.on{color:#ff3d34}.hud-actions{display:grid;grid-template-columns:repeat(2,42px);gap:8px}.icon-button{width:42px;height:42px;color:#fff;font-size:18px;font-weight:900;background:#0b4a83;border:2px solid #1a70b5;border-radius:var(--radius-ui);box-shadow:0 4px #021a31}.best-score,.key-strip{position:absolute;right:20px;bottom:-25px;color:#0d3a63;font-size:13px;font-weight:900}.boost-strip{position:absolute;left:50%;bottom:-31px;z-index:4;display:flex;gap:6px;transform:translate(-50%)}.boost-strip span{padding:5px 10px;color:#fff;font-size:13px;font-weight:1000;border:2px solid rgba(255,255,255,.8);border-radius:999px;box-shadow:0 4px #0425443d}.boost-shield{background:#48a82c}.boost-slow{background:#7350c5}.key-strip{display:none;left:20px;right:auto}.game-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) clamp(220px,15vw,300px);gap:clamp(12px,1.2vw,20px);align-items:stretch;width:min(1740px,calc(100vw - 24px));margin:0 auto;padding:clamp(10px,1.5dvh,18px) 0 0}.game-stage{position:relative;min-height:min(760px,calc(100dvh - 136px))}.playfield{position:relative;width:100%;height:clamp(520px,calc(100dvh - 150px),780px);min-height:0;overflow:hidden;touch-action:none;border:5px solid rgba(255,255,255,.92);border-radius:10px;box-shadow:0 9px #2a5b7e38,0 22px 40px #1f5d8f33}.park-scene{position:absolute;inset:0;background:linear-gradient(180deg,#ffffff0f,#0314261a),var(--scene-image);background-position:center;background-size:cover;transition:filter .22s ease}.level-badge{position:absolute;top:68px;left:18px;z-index:5;display:grid;grid-template-columns:auto auto;gap:2px 10px;align-items:center;min-width:174px;padding:9px 12px;color:#fff;background:#05345de0;border:3px solid rgba(72,188,255,.86);border-radius:var(--radius-ui);box-shadow:var(--shadow-pop)}.level-badge span{grid-column:1;color:#ffcf22;font-size:18px;font-weight:1000;line-height:1}.level-badge strong{grid-column:1 / -1;font-size:15px;line-height:1}.level-badge small{grid-column:1 / -1;max-width:220px;color:#cfeeff;font-size:11px;font-weight:800;line-height:1.15}.level-badge em{grid-row:1;grid-column:2;justify-self:end;min-width:48px;padding:3px 7px;color:#07345e;font-size:15px;font-style:normal;font-weight:1000;text-align:center;background:#fff;border-radius:999px}.level-transition{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:#021c335c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;animation:transitionFade 2.7s ease forwards}.level-transition-card{display:grid;min-width:min(420px,calc(100% - 32px));padding:18px 24px;color:#fff;text-align:center;background:linear-gradient(180deg,#0b5b9e,#07345e);border:4px solid #6fd1ff;border-radius:var(--radius-ui);box-shadow:0 9px #021a3261,var(--shadow-pop)}.level-transition-card.final-round{background:#07345e;border-color:#ffcf22}.level-transition-card small{margin-top:10px;color:#fff;font-size:13px;font-weight:1000;text-transform:uppercase}.level-transition-track{display:grid;grid-template-columns:repeat(4,42px);gap:10px;justify-content:center;margin:12px 0 4px}.level-transition-track i{display:grid;place-items:center;width:42px;aspect-ratio:1;color:#8fb9d8;font-size:18px;font-style:normal;font-weight:1000;background:#052746;border:3px solid #1c6ca6;border-radius:999px}.level-transition-track i.active{color:#07345e;background:#ffcf22;border-color:#fff}.level-transition-card span{color:#a9eeff;font-size:18px;font-weight:1000;text-transform:uppercase}.level-transition-card strong{color:#ffcf22;font-size:clamp(42px,7vw,72px);line-height:1;text-shadow:0 4px 0 rgba(0,0,0,.25)}.level-transition-card p,.level-transition-card em{margin:5px 0 0;font-style:normal;font-weight:900}.level-transition-card em{color:#cfeeff}.playfield:after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:1;height:clamp(78px,11vw,132px);background:linear-gradient(180deg,#fff0,#0a213533),linear-gradient(180deg,#3b4651,#171d24);border-top:5px solid rgba(255,209,54,.72);box-shadow:inset 0 12px #ffffff14;pointer-events:none}.cloud{position:absolute;width:160px;height:48px;background:#ffffffc7;border-radius:999px;filter:blur(.2px)}.cloud:before,.cloud:after{content:"";position:absolute;bottom:12px;width:70px;height:70px;background:inherit;border-radius:999px}.cloud:before{left:24px}.cloud:after{right:24px}.cloud-a{top:36px;left:7%}.cloud-b{top:70px;right:7%;transform:scale(.8)}.skyline{position:absolute;right:8%;bottom:34%;width:48%;height:34%;opacity:.22;background:linear-gradient(90deg,transparent 0 5%,#116ca1 5% 12%,transparent 12% 17%,#116ca1 17% 25%,transparent 25% 30%,#116ca1 30% 38%,transparent 38% 43%,#116ca1 43% 50%,transparent 50% 56%,#116ca1 56% 68%,transparent 68% 74%,#116ca1 74% 82%,transparent 82%);clip-path:polygon(0 100%,0 55%,8% 55%,8% 35%,17% 35%,17% 62%,27% 62%,27% 18%,39% 18%,39% 58%,50% 58%,50% 30%,60% 30%,60% 67%,73% 67%,73% 43%,84% 43%,84% 74%,100% 74%,100% 100%)}.trees{position:absolute;inset:auto 0 28%;height:25%;background:radial-gradient(circle at 6% 55%,#48a13b 0 8%,transparent 8.5%),radial-gradient(circle at 14% 48%,#69bd43 0 9%,transparent 9.5%),radial-gradient(circle at 78% 52%,#4a9f39 0 10%,transparent 10.5%),radial-gradient(circle at 88% 48%,#73c34f 0 9%,transparent 9.5%),linear-gradient(180deg,transparent,rgba(42,107,42,.3))}.path{position:absolute;left:35%;bottom:0;width:30%;height:46%;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.42) 35%,rgba(255,255,255,.42) 65%,transparent 100%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%)}.recycle-sign{position:absolute;right:4%;bottom:32%;display:grid;place-items:center;width:80px;height:70px;color:var(--color-white);font-size:44px;background:#248a45;border:4px solid rgba(255,255,255,.7);border-radius:var(--radius-ui);box-shadow:var(--shadow-pop)}.conveyor{position:absolute;top:18px;left:13%;right:13%;z-index:2;height:34px;background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 42%),repeating-linear-gradient(90deg,#29323c 0 64px,#3d4650 64px 72px),linear-gradient(180deg,#59636d,#202832);border:3px solid #121b24;border-radius:0 0 10px 10px;box-shadow:0 7px 14px #0021423d;opacity:.94}.conveyor span{position:absolute;top:30px;display:block;width:0;height:0;border-right:12px solid transparent;border-left:12px solid transparent;border-top:20px solid #28d4ff;filter:drop-shadow(0 2px 0 #0873a3)}.conveyor span:nth-child(1){left:8%}.conveyor span:nth-child(2){left:28%}.conveyor span:nth-child(3){left:48%}.conveyor span:nth-child(4){left:68%}.conveyor span:nth-child(5){left:88%}.waste-item{position:absolute;left:var(--x);top:var(--y);z-index:3;display:grid;place-items:center;width:clamp(76px,9vw,118px);height:clamp(76px,9vw,118px);padding:0;background:transparent;border:0;transform:translate(-50%,-50%) rotate(var(--rotation));filter:drop-shadow(0 10px 7px rgba(0,26,50,.26))}.preview-items span{position:absolute;left:var(--x);top:var(--y);z-index:2;display:grid;width:clamp(72px,8vw,110px);height:clamp(72px,8vw,110px);transform:translate(-50%,-50%) rotate(var(--rotation));filter:drop-shadow(0 10px 7px rgba(0,26,50,.22));animation:previewBob 2.8s ease-in-out infinite}.mascot-preview{position:absolute;left:49%;bottom:1%;z-index:2;width:clamp(115px,15vw,210px);max-height:38%;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 12px 10px rgba(0,26,50,.26));transform:translate(-50%)}.character-sprite{position:relative;display:block;aspect-ratio:1;overflow:visible}.character-sprite>img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.character-held-waste{position:absolute;left:var(--socket-x);top:var(--socket-y);z-index:2;display:block;width:16%;aspect-ratio:1;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--object-rotation));transform-origin:center}.character-held-waste .waste-sprite-img,.character-held-waste svg{width:100%;height:100%;object-fit:contain}.character-held-waste.pose-drop{animation:heldWasteDrop .42s ease-in forwards}@keyframes heldWasteDrop{to{opacity:0;transform:translate(-50%,110%) rotate(calc(var(--object-rotation) + 14deg)) scale(.82)}}.player-character{position:absolute;left:var(--player-x);bottom:var(--player-feet-bottom, clamp(82px, 9vw, 130px));z-index:6;width:clamp(140px,16vw,245px);pointer-events:none;transform:translate(-50%,9%);transition:left .46s ease-in-out,bottom .26s ease}.preview-items span:nth-child(2n){animation-delay:-1s}.preview-items svg{width:100%;height:100%}.waste-item svg,.waste-sprite-img{width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.waste-sprite-img{transform:scale(var(--sprite-scale, 1));transform-origin:center}.waste-item span{position:absolute;top:calc(100% - 10px);padding:3px 7px;color:var(--color-panel);font-size:11px;font-weight:900;white-space:nowrap;background:#ffffffd6;border-radius:999px;opacity:0;transform:translateY(-4px)}.waste-item:hover span,.waste-item:focus-visible span,.waste-item.selected span{opacity:1}.waste-item.selected{outline:5px solid #fff273;outline-offset:4px;border-radius:999px}.waste-item.being-carried{opacity:0;pointer-events:none}.bonus-item{position:absolute;left:var(--x);top:var(--y);z-index:5;display:grid;place-items:center;width:clamp(58px,6.5vw,82px);aspect-ratio:1;padding:0;color:#fff;background:#168ecb;border:5px solid #ffffff;border-radius:999px;box-shadow:0 6px #00274c47,0 0 22px currentColor;transform:translate(-50%,-50%);animation:bonusPulse .82s ease-in-out infinite alternate}.bonus-item span{font-size:clamp(18px,2.4vw,28px);font-weight:1000;letter-spacing:0}.bonus-shield{background:#48a82c}.bonus-slow{background:#7350c5}.game-burst{position:absolute;left:var(--x);top:var(--y);z-index:12;width:1px;height:1px;pointer-events:none}.game-burst i{position:absolute;width:12px;height:12px;background:var(--burst-color);border:2px solid #ffffff;border-radius:3px;box-shadow:0 0 10px var(--burst-color);animation:burstParticle .72s ease-out forwards}.float-feedback{position:absolute;z-index:6;left:var(--x);top:var(--y);max-width:min(340px,70vw);padding:8px 12px;color:var(--color-white);font-size:clamp(14px,1.8vw,18px);font-weight:900;text-align:center;border-radius:999px;box-shadow:var(--shadow-pop);animation:floatUp 1.5s ease forwards;transform:translate(-50%,-50%)}.float-feedback.success{background:#168a2b}.float-feedback.error{background:var(--color-battery)}.float-feedback.info{background:#7350c5}.overlay{position:absolute;inset:0;z-index:7;display:grid;place-items:center;pointer-events:none}.play-button{display:inline-grid;grid-template-columns:58px auto;gap:18px;align-items:center;min-width:260px;min-height:86px;padding:10px 32px;color:var(--color-white);font-size:clamp(42px,5vw,62px);font-weight:1000;line-height:1;background:linear-gradient(180deg,#58d416,#14a400);border:6px solid #a4ff56;border-radius:22px;box-shadow:0 8px #087b00,0 0 30px #99ff47d9;pointer-events:auto;text-shadow:0 4px 0 rgba(0,0,0,.3)}.play-button span{width:0;height:0;border-top:24px solid transparent;border-bottom:24px solid transparent;border-left:38px solid var(--color-white);filter:drop-shadow(0 3px 0 rgba(0,0,0,.25))}.start-meta{position:static;grid-row:4;display:flex;gap:12px;align-items:center;color:var(--color-white);font-weight:900;pointer-events:auto}.start-meta strong,.start-meta button{padding:8px 12px;color:var(--color-white);background:#07345ec7;border:2px solid rgba(255,255,255,.28);border-radius:var(--radius-ui)}.countdown-overlay strong{display:grid;place-items:center;width:150px;height:150px;color:var(--color-white);font-size:68px;font-weight:1000;background:linear-gradient(180deg,#ffca22,#ff8f00);border:6px solid var(--color-white);border-radius:999px;box-shadow:var(--shadow-pop);text-shadow:0 4px 0 rgba(0,0,0,.25);transform:translateY(-32%)}.mission-panel{align-self:center;min-height:310px;padding:12px;color:#18334b;background:linear-gradient(180deg,#fff,#f3fbff);border:4px solid #108f43;border-radius:var(--radius-ui);box-shadow:inset 0 2px #fff,0 8px #1f6a332e}.mission-panel h2{margin:-1px -1px 12px;padding:7px;color:#fff;font-size:clamp(26px,3vw,34px);line-height:1;text-align:center;background:linear-gradient(180deg,#25a540,#0c792e);border-radius:8px 8px 4px 4px;text-shadow:0 3px 0 rgba(0,0,0,.24)}.level-challenge{display:grid;gap:2px;margin-bottom:10px;padding:9px 10px;color:#fff;background:#0b4a83;border:2px solid #49bfff;border-radius:var(--radius-ui)}.level-challenge span{color:#ffcf22;font-size:13px;font-weight:1000;text-transform:uppercase}.level-challenge strong{font-size:14px;line-height:1.15}.mission-list{display:grid;gap:10px}.mission-row{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;padding-bottom:8px;border-bottom:2px solid #d7e4ed}.mission-row.inactive{opacity:.42;filter:grayscale(.8)}.mission-row.inactive strong{font-size:11px}.mission-icon{display:grid;place-items:center;width:42px;height:42px;border:2px solid rgba(255,255,255,.75);border-radius:999px}.mission-icon svg{width:25px;height:25px;color:var(--color-white)}.mission-name,.mission-row strong{font-size:18px;font-weight:1000}.mission-track{grid-column:2 / 4;overflow:hidden;height:11px;background:#e8f1f7;border:1px solid #aac3d7;border-radius:999px}.mission-track span{display:block;height:100%;border-radius:999px;transition:width .22s ease}.mission-shortcuts{display:none}.feedback-panel{display:grid;gap:3px;min-height:58px;margin-top:12px;padding:9px 11px;color:#fff;background:#0b4a83;border:3px solid #49bfff;border-radius:var(--radius-ui)}.feedback-panel span{color:#bfe9ff;font-size:11px;font-weight:1000;text-transform:uppercase}.feedback-panel strong{font-size:14px;line-height:1.15}.feedback-panel.success{background:#14762d;border-color:#75e84b}.feedback-panel.error{background:#a72620;border-color:#ff8b7f}.bin-dock{position:absolute;left:50%;bottom:clamp(8px,1.2vw,16px);z-index:9;display:grid;grid-template-columns:repeat(5,minmax(96px,175px));gap:clamp(7px,1vw,12px);justify-content:center;width:min(980px,calc(100% - 32px));margin:0;padding-bottom:0;transform:translate(-50%)}.bin{position:relative;display:grid;place-items:center;min-height:clamp(126px,15vw,176px);padding:32px 8px 12px;color:var(--color-white);background:linear-gradient(180deg,rgba(255,255,255,.2),transparent 20%),linear-gradient(180deg,var(--bin-color),color-mix(in srgb,var(--bin-color),black 34%));border:0;border-radius:var(--radius-bin) var(--radius-bin) 6px 6px;box-shadow:inset 0 -9px #00000029,0 10px #0000003d;transition:transform .14s ease,filter .14s ease}.bin-with-art{min-height:clamp(98px,10.5vw,148px);padding:0;background:transparent;box-shadow:none;filter:drop-shadow(0 10px 0 rgba(0,0,0,.18))}.bin-with-art:hover,.bin-with-art:focus-visible{transform:translateY(-6px) scale(1.02)}.bin-with-art.react-success{animation:binSuccess .58s ease;filter:drop-shadow(0 10px 0 rgba(0,0,0,.18)) drop-shadow(0 0 18px #75e84b)}.bin-with-art.react-error{animation:binError .52s ease;filter:drop-shadow(0 10px 0 rgba(0,0,0,.18)) drop-shadow(0 0 18px #ff5b4f)}.bin-art{display:block;width:100%;max-height:100%;object-fit:contain;pointer-events:none}.bin-with-art .bin-lip,.bin-with-art .bin-icon,.bin-with-art .bin-label{display:none}.bin:hover,.bin:focus-visible{transform:translateY(-6px);filter:brightness(1.08)}.bin-lip{position:absolute;top:0;left:-6px;right:-6px;height:30px;background:linear-gradient(180deg,#ffffff6b,#ffffff14),var(--bin-color);border-radius:var(--radius-bin) var(--radius-bin) 4px 4px;box-shadow:inset 0 -7px #00000038,0 4px #00000029}.bin-icon svg{width:clamp(44px,6vw,68px);height:clamp(44px,6vw,68px);color:var(--color-white);filter:drop-shadow(0 3px 0 rgba(0,0,0,.2))}.bin-label{margin-top:4px;font-size:clamp(17px,2.2vw,26px);font-weight:1000;line-height:1;text-shadow:0 3px 0 rgba(0,0,0,.28)}.bin-key{position:absolute;top:36px;right:8px;display:grid;place-items:center;width:25px;height:25px;color:var(--color-panel);font-size:14px;font-weight:1000;background:#fffc;border-radius:999px}.modal-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#02162b7a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-panel{width:min(620px,100%);max-height:min(760px,calc(100dvh - 36px));overflow:auto;padding:22px;color:var(--color-white);background:linear-gradient(180deg,#0b4a83,#062847);border:4px solid #35a7f2;border-radius:var(--radius-ui);box-shadow:var(--shadow-pop),0 10px #00000047}.modal-panel.compact{width:min(360px,100%)}.modal-panel h2{margin:0 0 14px;font-size:34px;line-height:1;text-align:center}.result-score{margin:4px 0 14px;color:#ffcf22;font-size:clamp(50px,9vw,78px);font-weight:1000;line-height:1;text-align:center;text-shadow:0 5px 0 rgba(0,0,0,.26)}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.result-grid span,.review-strip span,.clean-result,.learning-list article,.region-row,.toggle-row{padding:10px;background:#021c3380;border:1px solid rgba(107,201,255,.25);border-radius:var(--radius-ui)}.result-grid strong{display:block;color:var(--color-white);font-size:24px}.review-strip,.learning-list{display:grid;gap:8px;margin-top:12px}.clean-result{margin:12px 0 0;text-align:center}.learning-list article{display:grid;grid-template-columns:112px 1fr;gap:4px 10px;align-items:center}.learning-list span{grid-row:1 / 3;padding:7px 9px;color:var(--color-white);font-weight:1000;text-align:center;border-radius:var(--radius-ui)}.learning-list strong{font-size:20px}.learning-list p{margin:0;color:#d9f2ff}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:18px}.modal-actions button,.start-meta button{color:var(--color-white);font-weight:1000;background:#0d63a9;border:2px solid #4abbff;border-radius:var(--radius-ui);box-shadow:0 4px #0000003d}.modal-actions button{min-height:42px;padding:9px 16px}.modal-actions .primary{color:var(--color-white);background:linear-gradient(180deg,#56d817,#149e02);border-color:#a5ff58}.settings-panel{width:min(430px,100%)}.toggle-row,.region-row,.select-row{display:flex;align-items:center;justify-content:space-between;margin-top:10px;color:var(--color-white);font-size:18px;font-weight:900}.toggle-row input{width:48px;height:26px;accent-color:var(--color-success)}.select-row select{max-width:190px;padding:7px 8px;color:var(--color-panel);font-weight:900;background:var(--color-white);border:2px solid #4abbff;border-radius:var(--radius-ui)}.result-panel{position:relative;overflow:visible}.learning-panel{position:relative}.result-mascot{position:absolute;right:-36px;bottom:-22px;width:clamp(90px,14vw,150px);pointer-events:none}.learning-mascot{position:absolute;right:-28px;top:-48px;width:clamp(82px,12vw,128px);pointer-events:none}.settings-colors{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:16px}.settings-colors span{height:10px;border-radius:999px}html[data-color-blind=true] .bin{background:repeating-linear-gradient(45deg,rgba(255,255,255,.16) 0 6px,transparent 6px 12px),linear-gradient(180deg,var(--bin-color),color-mix(in srgb,var(--bin-color),black 34%))}html[data-reduced-motion=true] *,html[data-reduced-motion=true] *:before,html[data-reduced-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,12px) scale(.96)}18%{opacity:1}to{opacity:0;transform:translate(-50%,-70px) scale(1.03)}}@keyframes previewBob{0%,to{margin-top:-5px}50%{margin-top:7px}}@keyframes characterIdle{0%,to{translate:0 0}50%{translate:0 -5px}}@keyframes characterWalk{0%,to{translate:0 0}25%{translate:-3px -4px}50%{translate:0 1px}75%{translate:3px -4px}}@keyframes characterWork{0%,to{translate:0 0}50%{translate:0 6px}}@keyframes levelFlash{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}22%{opacity:1;transform:translate(-50%,-50%) scale(1.03)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-62%) scale(1.12)}}@keyframes transitionFade{0%{opacity:0}16%,78%{opacity:1}to{opacity:0}}@keyframes bonusPulse{0%{transform:translate(-50%,-50%) scale(.94) rotate(-4deg)}to{transform:translate(-50%,-50%) scale(1.08) rotate(4deg)}}@keyframes burstParticle{0%{opacity:1;transform:translate(-50%,-50%) scale(.7) rotate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2) rotate(180deg)}}@keyframes binSuccess{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(-14px) scale(1.08)}62%{transform:translateY(2px) scale(.98)}}@keyframes binError{0%,to{transform:translate(0)}22%{transform:translate(-8px) rotate(-2deg)}46%{transform:translate(8px) rotate(2deg)}70%{transform:translate(-4px)}}@media(max-width:1080px){.start-screen{grid-template-columns:minmax(210px,.65fr) minmax(430px,1.35fr);padding:28px}.start-levels{grid-template-columns:repeat(2,minmax(180px,1fr))}.hud{grid-template-columns:minmax(150px,1fr) repeat(4,minmax(110px,1fr)) auto;padding-inline:10px}.hud-card{min-height:66px;padding:8px 10px}.hud-icon{display:none}.hud-label,.hud-card strong{grid-column:1 / -1}.game-layout{grid-template-columns:1fr;padding-top:12px}.mission-panel{order:2;min-height:auto;padding:10px}.mission-panel h2{display:none}.mission-list{grid-template-columns:repeat(5,1fr)}.mission-row{grid-template-columns:1fr;justify-items:center;gap:4px;padding:0;border:0}.mission-track{grid-column:auto;width:100%}.mission-name{font-size:13px}.bin-dock{width:calc(100% - 18px)}}@media(min-width:761px)and (max-height:820px){.game-layout{padding-top:10px}.playfield{height:calc(100dvh - 142px);min-height:410px}.bin-dock{grid-template-columns:repeat(5,minmax(92px,150px))}.bin-with-art{min-height:104px}.player-character{bottom:var(--player-feet-bottom, 76px);width:clamp(126px,14vw,190px)}}@media(max-width:760px){.start-shell{overflow:auto}.start-screen{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:18px;min-height:100dvh;padding:20px 12px 28px}.start-screen:before{bottom:0}.start-brand{grid-column:1;grid-row:1;justify-self:center;transform:rotate(-2deg)}.start-brand span{font-size:clamp(46px,14vw,72px)}.start-brand strong{font-size:clamp(52px,16vw,82px)}.start-menu{grid-column:1;grid-row:2;padding:16px 10px}.start-heading h1{font-size:30px}.start-character .character-sprite{width:132px}.start-screen .start-meta{display:flex;flex-wrap:wrap;justify-content:center}.start-levels{grid-column:1;grid-row:3;grid-template-columns:repeat(2,minmax(0,1fr))}.start-levels>span{grid-template-columns:36px 1fr;min-height:62px;padding:8px}.start-levels b{width:34px;font-size:17px}.start-levels strong{font-size:13px}.start-levels small{font-size:11px}.app-shell{grid-template-rows:auto 1fr}.hud{grid-template-columns:1fr 1fr 1fr;border-radius:0 0 16px 16px}.brand-lockup{grid-column:1 / -1;min-width:148px;transform:none}.brand-eco{font-size:34px}.brand-sorter{font-size:30px;margin-left:46px;margin-top:-24px}.brand-rush{font-size:36px;margin-left:65px;margin-top:-14px}.hud-card{min-height:56px;padding:6px}.hud-label{font-size:13px}.hud-card strong{font-size:25px}.combo-card strong{font-size:30px}.lives-card{min-width:0}.heart{font-size:29px}.timer-card,.lives-card{grid-column:auto}.hud-actions{position:absolute;right:8px;top:10px}.best-score{top:18px;bottom:auto;right:104px;color:var(--color-white)}.key-strip{display:none;inset:40px 104px auto auto;color:#cdefff}.game-layout{width:calc(100vw - 12px);gap:6px;padding-top:6px}.game-stage{min-height:0}.playfield{height:48dvh;min-height:330px}.conveyor{left:12%;right:12%;height:24px}.level-badge{top:48px;left:8px;min-width:128px;padding:6px 8px}.level-badge span{font-size:14px}.level-badge strong,.level-badge em{font-size:12px}.conveyor span{top:22px;border-right-width:8px;border-left-width:8px;border-top-width:14px}.recycle-sign{display:none}.mission-list{grid-template-columns:repeat(5,minmax(48px,1fr))}.mission-panel{padding:8px}.mission-icon{width:30px;height:30px}.mission-icon svg{width:18px;height:18px}.mission-row strong{font-size:12px}.mission-track{height:8px}.bin-dock{grid-template-columns:repeat(3,minmax(88px,1fr));width:calc(100% - 10px);gap:5px;padding-bottom:4px}.bin{min-height:62px;padding:18px 4px 5px}.bin-with-art{min-height:66px;padding:0}.bin:nth-child(4){grid-column:1 / 2}.bin:nth-child(5){grid-column:2 / 3}.bin-icon svg{width:28px;height:28px}.bin-label{font-size:12px}.bin-key{top:23px;width:20px;height:20px;font-size:12px}.play-button{grid-template-columns:38px auto;min-width:190px;min-height:62px;font-size:34px}.player-character{bottom:var(--player-feet-bottom, 78px);width:clamp(104px,28vw,148px)}.play-button span{border-top-width:18px;border-bottom-width:18px;border-left-width:28px}.result-grid{grid-template-columns:1fr}.learning-list article{grid-template-columns:1fr}}
