:root{font-family:'Arial Rounded MT Bold','Trebuchet MS',Arial,sans-serif;color:#17335f;background:#4db5f3;font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #fff;outline-offset:4px}button:disabled{opacity:.5;cursor:not-allowed}main,.game-shell{position:relative;width:100%;height:100dvh;overflow:hidden}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;outline:none!important}.hud{position:absolute;z-index:2;top:max(18px,env(safe-area-inset-top));left:20px;right:20px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none}.hud button{pointer-events:auto}.coin-pill{display:flex;align-items:center;gap:11px;background:linear-gradient(#25518b,#162e60);color:#fff;min-width:96px;padding:8px 18px 8px 7px;border:2px solid #ffffff90;border-radius:24px;font-size:23px;box-shadow:0 4px 0 #14294c40}.coin-icon{display:grid;place-items:center;border:3px solid #ffef8e;background:linear-gradient(#ffdf44,#ffa719);box-shadow:0 0 0 2px #b67421;border-radius:50%;width:31px;height:31px;font-size:22px;color:#fff7be;text-shadow:0 2px #be730f}.top-actions{display:flex;gap:9px}.icon-button{border:2px solid #f5fcffb3;border-radius:15px;background:linear-gradient(#3579b9,#193e79);color:white;font-weight:900;width:48px;height:48px;box-shadow:0 4px 0 #122c5a66,inset 0 2px 2px #ffffff66;font-size:25px}.scoreboard{text-align:center;position:absolute;left:50%;transform:translateX(-50%);top:1px;min-width:120px;color:white;text-shadow:0 3px 0 #1c477a,2px 0 #1c477a,-2px 0 #1c477a;pointer-events:none}.scoreboard small{font-size:11px;letter-spacing:2px;font-weight:bold}.scoreboard>span{display:block;font-size:70px;line-height:1.04;font-weight:1000;letter-spacing:-3px}.scoreboard>div{display:inline-block;background:#204d82d9;color:#ffdf56;padding:5px 13px;border-radius:15px;font-size:12px;text-shadow:none}.height-marker{position:absolute;right:18px;top:40%;z-index:1;display:flex;flex-direction:column;align-items:center;color:#fff;text-shadow:0 2px #275484;gap:6px;font-size:12px;pointer-events:none}.height-marker>span{font-size:26px}.height-track{height:90px;width:9px;border:2px solid #fff;border-radius:8px;overflow:hidden;background:#21538b88;display:flex;align-items:flex-end}.height-track i{width:100%;background:#a7ee40;transition:height .2s}.game-bottom{position:absolute;z-index:2;bottom:max(35px,calc(env(safe-area-inset-bottom) + 20px));left:50%;transform:translateX(-50%);width:min(290px,70vw);text-align:center;pointer-events:none}.game-bottom button{pointer-events:auto}.tier-pill{display:inline-flex;gap:8px;align-items:center;margin-bottom:13px;background:#163e72d9;color:white;padding:9px 16px;border:1px solid #d6f5ff8c;border-radius:22px;font-size:10px;box-shadow:0 3px 8px #17375b33}.tier-pill span{color:#ffda4c;font-size:17px}.primary{width:100%;border:3px solid #fff1a6;border-radius:22px;padding:18px 20px;color:#fff;background:linear-gradient(#ffd735 0%,#ffb409 48%,#ff8b05 50%,#ff8b05 100%);box-shadow:0 0 0 3px #183b6c,0 7px 0 3px #123064,inset 0 3px 1px #fff6bd;font-weight:1000;font-size:22px;text-shadow:0 3px 0 #a6560f,-1px 0 #a6560f;letter-spacing:.5px;transition:filter .15s,transform .15s}.primary:hover{filter:brightness(1.08)}.primary:active{transform:translateY(3px);box-shadow:0 0 0 3px #183b6c,0 3px 0 3px #123064}.primary>span{margin-left:13px}.drop-button{font-size:20px;padding:15px}.game-bottom>small{display:block;color:#fff;font-size:9px;font-weight:bold;letter-spacing:1.1px;text-shadow:0 1px 4px #123565;margin-top:16px}.game-overlay{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;padding:20px;background:#326aba16}.start-card{text-align:center;width:min(350px,84vw);margin-top:-6vh}.logo-skyline{color:#16488b;font-size:43px;line-height:.7;text-shadow:0 0 4px #fff;letter-spacing:-8px}.logo-skyline span{font-size:30px;letter-spacing:0}.game-logo{font-family:'Arial Black','Arial Rounded MT Bold',sans-serif;font-weight:1000;font-size:clamp(60px,11vw,86px);font-style:italic;line-height:.86;letter-spacing:-5px;color:#ffe041;margin:4px -15px 0;-webkit-text-stroke:3px #123874;paint-order:stroke fill;text-shadow:0 7px 0 #f09513,0 11px 0 #123874,4px 4px 0 #123874,-4px 4px 0 #123874;transform:rotate(-4deg)}.game-logo span{font-size:1.12em}.ribbon{position:relative;margin:20px auto 0;border:3px solid #214778;background:#ffd845;padding:9px 12px;border-radius:6px 6px 20px 20px;font-size:13px;font-weight:1000;transform:rotate(-4deg);width:95%;box-shadow:0 4px #d77a14}.tagline{font-size:18px;line-height:1.4;font-weight:800;color:#fff;text-shadow:0 2px 3px #1d5195;margin:28px 0}.start-actions{display:flex;gap:12px;margin-top:20px}.secondary{display:block;width:100%;border:2px solid #e1faff;border-radius:13px;padding:13px 12px;background:linear-gradient(#397abb,#24588e);color:#fff;font-size:13px;font-weight:bold;box-shadow:0 4px 0 #14345c77;min-height:46px}.secondary:hover{filter:brightness(1.1)}.start-card>small{display:block;font-size:9px;letter-spacing:1.1px;color:white;text-shadow:0 2px #244d83;margin-top:22px;font-weight:bold}.panel-card{width:min(365px,90vw);text-align:center;background:linear-gradient(#fffdf3,#f9edc9);padding:30px 24px;border:4px solid white;border-radius:25px;box-shadow:0 0 0 3px #214778,0 12px 0 #21477877}.panel-card h2{font-size:32px;margin:15px 0 8px;letter-spacing:-1px}.panel-card p{font-size:13px;margin:12px 0 24px;color:#57728d}.panel-card .secondary{margin-top:18px}.panel-card small{display:block;font-size:10px;line-height:1.5;margin-top:20px;color:#5b718b}.mini-label{font-size:10px;font-weight:bold;letter-spacing:1.5px;color:#7e6328}.result-score{font-weight:1000;font-size:80px;line-height:1;color:#f7a61e;-webkit-text-stroke:2px #204675;paint-order:stroke fill;text-shadow:0 5px #204675;margin:16px 0}.credit{position:absolute;bottom:8px;left:0;width:100%;text-align:center;z-index:2;color:#ffffffa8;font-size:7px;letter-spacing:1px;pointer-events:none}#feedback{position:absolute;z-index:3;top:26%;width:100%;text-align:center;font-size:42px;pointer-events:none;font-weight:1000;font-style:italic;color:#ffe333;-webkit-text-stroke:3px #173663;paint-order:stroke fill;text-shadow:0 5px #e55e21;transform:rotate(-7deg)}.hidden{display:none!important}body[data-state=ready] .game-bottom,body[data-state=ready] .height-marker,body[data-state=over] .game-bottom,body[data-state=paused] .game-bottom{visibility:hidden}body[data-state=ready] .scoreboard{opacity:0}.drawer{position:fixed;z-index:8;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 32px));max-height:85dvh;overflow:auto;border:4px solid #fff;border-radius:24px;padding:30px 24px;background:#fff9e9;box-shadow:0 0 0 3px #214778,0 0 0 100vmax #102d6388}.drawer h2{margin:12px 0 24px;font-size:27px}.drawer>.secondary{margin-top:14px}.close{position:absolute;right:10px;top:6px;background:transparent;border:0;font-size:29px;color:#254e7b;width:40px;height:40px}.table-labels{display:flex;justify-content:space-between;font-size:9px;font-weight:bold;padding-bottom:12px;border-bottom:2px solid #d8e1e7}ol{list-style:none;margin:0 0 20px;padding:0;max-height:50dvh;overflow:auto}ol li{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #d8e1e7;font-size:13px}ol li b{margin-left:auto;font-size:20px;color:#275d9d}.rank{font-size:10px;color:#889db0}.avatar{background:#e5eef0;border-radius:10px;padding:9px;font-size:11px}.empty{line-height:1.8;color:#657e94}.text-button{display:inline-block;background:none;border:0;color:#3a668a;font-size:12px;padding:18px 0;text-decoration:none}dialog{border:4px solid white;border-radius:22px;background:#fff9e9;color:#214778;padding:35px;max-width:520px;width:calc(100% - 28px);max-height:85dvh;box-shadow:0 0 0 3px #214778}dialog::backdrop{background:#102d6388}dialog h2{font-size:26px;margin:0 0 16px}dialog p,dialog li{font-size:12px;line-height:1.75;color:#55718b}dialog h3{font-size:14px}dialog label{display:block;font-size:12px;margin:15px 0}input:not([type=checkbox]){display:block;width:100%;padding:13px;border:2px solid #b3cbd9;border-radius:9px;margin-top:8px;font:inherit;background:white}input[type=checkbox]{width:18px;height:18px;accent-color:#2873a4;vertical-align:middle}.notice{max-height:250px;overflow:auto;background:#eaf0ee;border-radius:10px;padding:15px;margin:15px 0}.error{color:#c8442b!important}.key{font-family:monospace;overflow-wrap:anywhere;background:#eaf0ee;padding:12px;border-radius:8px}dialog .primary{font-size:15px;margin:10px 0;padding:14px}dialog .secondary{margin:10px 0}dialog a{color:#265b90}.howto{padding-left:20px}.howto li{margin:15px 0}.howto b{color:#214778}
@media(min-width:800px){.hud{left:35px;right:35px;top:28px}.scoreboard>span{font-size:84px}.start-card{width:350px}.height-marker{right:35px}.game-bottom{bottom:35px}.game-logo{font-size:85px}}
@media(max-width:370px){.hud{left:12px;right:12px}.coin-pill{min-width:77px;padding-right:12px;font-size:18px;gap:7px}.icon-button{width:42px;height:44px}.top-actions{gap:6px}.scoreboard>span{font-size:59px}.game-logo{font-size:65px}.tagline{font-size:16px}}
@media(max-height:650px){.start-card{margin-top:0}.game-logo{font-size:55px}.logo-skyline{font-size:28px}.ribbon{font-size:10px;margin-top:16px}.tagline{font-size:14px;margin:18px 0}.primary{padding:12px}.start-card>small{margin-top:15px}.start-actions{margin-top:16px}.game-bottom{bottom:25px}.scoreboard>span{font-size:48px}.height-marker{top:35%}.panel-card{padding:20px}.result-score{font-size:55px}.panel-card h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.game-overlay{pointer-events:none}.start-card,.panel-card{pointer-events:auto}.logo-skyline{height:45px;position:relative;letter-spacing:0}.logo-skyline svg{height:55px;width:140px;position:absolute;bottom:-8px;left:50%;transform:translateX(-50%)}.logo-skyline>span{position:absolute;left:67%;bottom:0;font-size:27px}
.share-preview{display:block;width:100%;max-height:45dvh;object-fit:contain;border-radius:16px;margin:12px auto}.share-download{display:block;text-align:center;text-decoration:none;margin:12px 0}#share-card .primary{width:100%}#modal-content details{margin-top:20px}#modal-content summary{cursor:pointer;font-weight:700}.share-status{font-size:14px}
