@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../assets/fonts/barlow-condensed-500.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../assets/fonts/barlow-condensed-600.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../assets/fonts/barlow-condensed-700.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:800;font-display:swap;src:url(../assets/fonts/barlow-condensed-800.ttf) format("truetype")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:900;font-display:swap;src:url(../assets/fonts/barlow-condensed-900.ttf) format("truetype")}@font-face{font-family:Permanent Marker;font-style:normal;font-weight:400;font-display:swap;src:url(../assets/fonts/permanent-marker.ttf) format("truetype")}:root{font-family:Barlow Condensed,Trebuchet MS,sans-serif;color:#f2f1df;background:#050b13;font-synthesis:none;--gold: #ffcf3e;--ink: #101c2d;--muted: #93abc0}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{display:grid;place-items:center}#game-shell{position:relative;width:min(100vw,177.777vh);height:min(100vh,56.25vw);overflow:hidden;box-shadow:0 0 120px #10244988}#game,#game canvas{width:100%;height:100%;display:block}#ui{position:absolute;left:0;top:0;width:1280px;height:720px;transform-origin:top left;pointer-events:none;overflow:hidden}button,input,a{pointer-events:auto}button{font-family:inherit;cursor:pointer;transition:transform .12s,filter .12s;border:1px solid #718392;color:#f5f1df;background:#101a26ed;min-height:49px;font-size:22px;font-weight:800;letter-spacing:.7px;border-radius:5px;box-shadow:0 4px #070d17}button:hover{filter:brightness(1.18);transform:translateY(-2px)}button:active{transform:translateY(2px);box-shadow:0 1px #070d17}button:focus-visible,input:focus-visible{outline:3px solid white;outline-offset:4px}.primary{background:var(--gold);color:#17202a;border-color:#ffe084;box-shadow:0 4px #b17d13}.eyebrow{font-size:17px;letter-spacing:3px;color:#a9c2d7;font-weight:700}.marker{font-family:Permanent Marker,Impact,cursive;font-weight:400}.menu{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#081020d9,#08102055 42%,transparent 70%)}.menu-content{position:absolute;left:85px;top:75px;width:340px}.brand{font-family:Permanent Marker,Impact,cursive;transform:rotate(-5deg);font-size:91px;line-height:.86;text-shadow:5px 5px 0 #0b1222;margin:30px 0 28px;letter-spacing:-3px}.brand span{display:block;color:var(--gold)}.tagline{font-size:20px;letter-spacing:1.5px;font-weight:800;margin-bottom:29px}.menu-actions{display:grid;gap:12px;width:302px}.menu-actions button{text-align:left;padding:0 22px;min-height:51px}.menu-actions .primary{min-height:61px;font-size:27px}.keybadge{float:right;font-size:16px;opacity:.6;font-weight:600;border:1px solid currentColor;padding:2px 7px;border-radius:2px}.footer{position:absolute;bottom:25px;left:40px;right:40px;display:flex;justify-content:space-between;font-size:15px;letter-spacing:2px;color:#aec0cb}.hero-label{position:absolute;left:745px;top:212px;font-size:17px;color:#ebce7e;letter-spacing:3px;transform:rotate(-4deg)}.best-panel{position:absolute;right:76px;top:403px;width:168px;background:#091522dd;border:1px solid #667e93;padding:18px 23px;transform:rotate(3deg);box-shadow:7px 7px #09111d99}.best-panel small{display:block;font-size:18px;font-weight:700;color:#d7dfdf}.best-panel strong{display:block;font-family:Permanent Marker,Impact,cursive;color:var(--gold);font-size:45px;line-height:1.15}.best-panel hr{border:0;border-top:1px solid #536579;margin:14px 0}.screen{position:absolute;top:0;right:0;bottom:0;left:0;background:#071121dd;padding:45px 76px}.screen h1{margin:0;font-size:48px}.screen-sub{font-size:22px;color:#9cb4c7;letter-spacing:.7px;margin:4px 0 28px}.top-back{position:absolute;right:76px;top:45px;width:125px}.characters{display:flex;gap:21px;margin-top:53px}.character-card{position:relative;width:245px;height:376px;border:1px solid #485e72;padding:16px;background:linear-gradient(180deg,color-mix(in srgb,var(--char) 23%,#112035),#101a28);text-align:center;cursor:pointer;pointer-events:auto;transition:.2s;box-shadow:0 8px #030a12}.character-card.selected{border:3px solid var(--char);box-shadow:0 0 30px color-mix(in srgb,var(--char) 20%,transparent),0 8px #030a12;transform:translateY(-8px)}.character-card canvas{width:220px;height:230px;object-fit:contain}.character-card strong{display:block;color:var(--char);font-size:31px}.character-card small{font-size:20px;color:#becddd;display:block;margin-top:4px}.screen-bottom{position:absolute;bottom:60px;left:76px;right:76px;display:flex;align-items:center;justify-content:space-between;font-size:20px;color:#c3d0d8}.screen-bottom button{width:230px}.how-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:51px}.how-card{height:375px;border:1px solid #476177;border-radius:7px;background:#101d2be0;text-align:center;padding:24px}.step{display:inline-grid;place-items:center;border-radius:50%;width:42px;height:42px;background:var(--gold);color:#152234;font-size:25px;font-weight:900}.how-card h2{font-size:26px;margin:18px 0}.how-demo{height:158px;position:relative;display:grid;place-items:center}.how-demo img{height:104px;width:110px;object-fit:contain;position:absolute;bottom:0}.how-demo .demo-trash{position:absolute;top:0;color:var(--gold);font-size:53px;animation:fall-demo 2.6s infinite}.how-demo .demo-arrows{font-size:68px;color:var(--gold);position:absolute;top:20px;letter-spacing:70px;padding-left:60px}.how-card p{font-size:22px;color:#a6bdcf}.settings-list{width:600px;margin:43px auto;display:grid;gap:14px}.setting{display:flex;align-items:center;justify-content:space-between;font-size:28px;border-bottom:1px solid #35465b;padding:13px 0}.setting button{min-width:112px}.setting button.on{color:var(--gold);border-color:var(--gold)}.settings-note{text-align:center;color:#94adbf;font-size:20px}.hud{position:absolute;top:0;right:0;bottom:0;left:0}.hud-top{position:absolute;top:24px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:flex-start}.player-hud{display:flex;align-items:center;gap:13px;padding:12px 20px 13px 10px;background:#0a1528dd;border:1px solid #49647f;border-radius:5px;min-width:238px}.portrait{height:70px;width:66px;border:2px solid var(--gold);background:#26323b;object-fit:cover}.trash-count{font-size:27px;font-weight:800;line-height:1}.trash-count strong{color:var(--gold);font-family:Permanent Marker,Impact,cursive;font-size:39px}.score{font-size:18px;color:#b9c9d3;margin-top:7px}.run-label{font-size:20px;font-weight:800;padding:10px 16px;background:#0a1425bb;letter-spacing:1px;text-align:center}.run-label small{display:block;font-size:15px;color:#9ab1c4;margin-top:5px}.next{background:#0b1628dd;border:1px solid #425a72;border-radius:5px;padding:11px 15px}.next-label{font-size:16px;letter-spacing:2px;color:#b1c1cf;font-weight:800}.next-items{position:relative;display:flex;gap:10px;margin-top:8px}.next-slot{flex:0 0 65px;width:65px;height:60px;background:#1b2a3b;border:1px solid #586879;display:grid;place-items:center;border-radius:3px}.next-slot img{max-width:53px;max-height:46px;object-fit:contain}.next-slot:first-child{border-color:var(--gold)}.balance-ui{position:absolute;bottom:27px;left:480px;width:320px;text-align:center}.balance-caption{font-size:16px;letter-spacing:2px;font-weight:800;text-shadow:1px 2px #071324}.meter{height:24px;border:3px solid #0b1420;outline:1px solid #a1afae;margin:9px 0 7px;border-radius:5px;position:relative;background:linear-gradient(90deg,#e6534b 0,#e6534b 15%,#efb84b 15%,#efb84b 32%,#69bb74 32%,#69bb74 68%,#efb84b 68%,#efb84b 85%,#e6534b 85%,#e6534b);box-shadow:0 3px 8px #0006}.meter-indicator{position:absolute;left:50%;top:-8px;width:7px;height:35px;border-radius:2px;background:#f7f2dd;box-shadow:0 0 0 2px #111d2c;transform:translate(-50%)}.meter-status{font-size:14px;letter-spacing:2px;color:#d3e7db}.move-hint{position:absolute;bottom:37px;left:30px;font-size:18px;color:#c6d2da}.move-hint kbd{font-family:inherit;border:1px solid #c4d5df;border-radius:3px;padding:4px 9px;margin:0 3px;background:#0d1a2d}.utilities{position:absolute;bottom:30px;right:30px;display:flex;gap:10px}.utilities button{min-width:53px;font-size:19px}.touch-controls{display:none;position:absolute;left:240px;right:240px;bottom:25px;justify-content:space-between;pointer-events:none}.touch-controls button{width:94px;height:69px;font-size:40px;opacity:.7;touch-action:none}.drop-announcement{position:absolute;top:146px;left:0;right:0;text-align:center;pointer-events:none;font-size:18px;letter-spacing:3px;color:#edcf84}.drop-count{position:absolute;font-family:Permanent Marker,Impact,cursive;font-size:44px;text-align:center;width:90px;transform:translate(-50%,-50%);text-shadow:3px 3px #0c1830}.toast{position:absolute;left:0;right:0;top:42%;text-align:center;color:var(--gold);font-family:Permanent Marker,Impact,cursive;font-size:37px;text-shadow:3px 3px #0b1426;opacity:0;pointer-events:none}.pop{animation:pop 1.6s ease-out}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 130px #e14f38;opacity:0;pointer-events:none}.pause,.over{position:absolute;top:0;right:0;bottom:0;left:0;background:#06101bad;display:flex;align-items:center;justify-content:center}.pause-panel{width:380px;padding:36px;background:#0b1829;border:1px solid #6c8293;text-align:center}.pause-panel h1{font-size:52px;margin:0 0 24px}.pause-panel button{display:block;width:100%;margin-top:12px}.over{background:linear-gradient(90deg,#071123ee 30%,#0711237f 68%,#07112322);justify-content:flex-start;padding:45px 84px;align-items:flex-start}.over-panel{width:440px}.over h1{font-size:76px;line-height:1.15;color:#f25c51;transform:rotate(-4deg);margin:24px 0 0}.over h2{font-size:25px;margin:15px 0 34px;letter-spacing:2px}.result-trash{font-size:38px;display:flex;align-items:center;gap:17px}.result-trash strong{font-family:Permanent Marker,Impact,cursive;color:var(--gold);font-size:80px}.new-best{font-size:16px;background:var(--gold);color:#17222a;padding:4px 8px;transform:rotate(-7deg);font-weight:900}.results{font-size:23px;width:350px;margin:10px 0 30px}.results div{display:flex;justify-content:space-between;border-bottom:1px solid #405161;padding:10px 0;color:#adbfce}.results strong{color:#fff4d9}.over-actions{display:flex;gap:12px}.over-actions button{padding:0 21px}.over-sub{display:flex;gap:16px;margin-top:18px}.over-sub button{font-size:16px;min-height:35px;border:0;background:transparent;box-shadow:none;color:#aec5d6;text-decoration:underline}.share-status{font-size:17px;color:var(--gold);margin-top:12px}.share-caption{font-size:17px;white-space:pre-line;color:#b6c5d5;margin-top:9px}.debug{position:absolute;top:140px;left:24px;font:14px/1.6 monospace;color:#8ff7c9;background:#071522e8;padding:12px;white-space:pre;pointer-events:none}.run-hint{position:absolute;left:0;right:0;top:176px;text-align:center;font-size:24px;text-shadow:2px 2px #071224}.storage-note{position:absolute;bottom:4px;left:0;right:0;text-align:center;font-size:13px;color:#ffc873}.mute-icon{font-size:16px}.rotate-hint{display:none}@keyframes pop{0%{opacity:0;transform:translateY(18px) scale(.8)}12%,65%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px)}}@keyframes fall-demo{0%,10%{transform:translateY(-7px);opacity:0}30%{opacity:1}65%,85%{transform:translateY(25px);opacity:1}to{transform:translateY(25px);opacity:0}}@media(pointer:coarse){.touch-controls{display:flex}.move-hint{display:none}.balance-ui{bottom:30px}.utilities button{min-height:68px;min-width:70px}.menu-actions button{min-height:64px}.menu-content{top:60px}.menu-actions{gap:9px}.footer{bottom:12px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(orientation:portrait)and (max-width:700px){body:after{content:"TURN YOUR PHONE SIDEWAYS FOR A BIGGER TOWER";position:fixed;left:20px;right:20px;bottom:18%;text-align:center;color:#a3b7c8;font-size:16px;letter-spacing:2px}}#game-shell:fullscreen{width:100vw;height:100vh;background:#050b13}#game-shell:fullscreen #game{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(100vw,177.777vh);height:min(100vh,56.25vw)}.character-card img{object-fit:contain;max-width:100%;height:230px}.over h1{font-size:64px;white-space:nowrap;line-height:1.1}.over h2{margin:12px 0 20px}.results{margin:8px 0 20px}.results div{padding:8px 0}.over-panel{max-height:100%}.over-sub{gap:8px}.share-caption{font-size:15px;line-height:1.15}@media(pointer:coarse){button{min-height:var(--touch-min-height, 82px)}.menu-content{top:25px}.brand{font-size:68px;margin:22px 0 19px}.tagline{font-size:19px;margin-bottom:18px}.menu-actions{gap:8px}.menu-actions button,.menu-actions .primary{min-height:var(--touch-min-height, 82px)}.utilities button,.touch-controls button{min-height:var(--touch-min-height, 82px);min-width:var(--touch-min-height, 82px)}.over{padding-top:22px}.over h1{margin-top:12px;font-size:60px}.over h2{margin:10px 0 12px}.result-trash strong{font-size:64px}.results{margin-bottom:15px}.results div{padding:6px 0}.over-actions button,.over-sub button{min-height:var(--touch-min-height, 82px)}.over-sub{margin-top:12px}.top-back{min-width:var(--touch-min-height, 82px)}.screen-bottom{bottom:25px}.pause-panel button,.setting button{min-height:var(--touch-min-height, 82px)}.settings-list{margin-top:25px;gap:5px}.setting{padding:7px 0}}.reduced-motion *{animation:none!important;transition:none!important}.footer a{color:inherit;text-decoration:none;padding:14px 0}.footer a:hover{color:#fbd852}.footer a:focus-visible{outline:2px solid #fbd852;outline-offset:4px}
