﻿*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;height:100%;overflow:hidden;background:#020816;font-family:'Courier New',monospace}

#scene{
  position:relative;width:100%;height:100vh;min-height:380px;
  overflow:hidden;cursor:grab;background:#0481eb;
  image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;
}
#scene:active{cursor:grabbing}

#sky-bg{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}
#stars{position:absolute;top:0;left:0;width:100%;height:60%;z-index:1;pointer-events:none;opacity:0}
.star{position:absolute;background:#fff;width:2px;height:2px}
.star.big{width:3px;height:3px;background:#ffe}

#celestial{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}

#sun-wrap{position:absolute;width:120px;height:120px;margin-left:-36px;margin-top:-36px;pointer-events:none}
#sun-glow-outer{position:absolute;inset:0;background:radial-gradient(circle,rgba(255,220,100,0.35) 0%,rgba(255,180,60,0.15) 35%,rgba(255,150,40,0) 65%);border-radius:50%;animation:sun-pulse 4s ease-in-out infinite}
#sun-glow-mid{position:absolute;inset:18px;background:radial-gradient(circle,rgba(255,235,140,0.6) 0%,rgba(255,200,80,0.3) 50%,rgba(255,180,40,0) 80%);border-radius:50%;animation:sun-pulse 3s ease-in-out infinite reverse}
#sun-rays{position:absolute;inset:0;animation:sun-rotate 30s linear infinite}
#sun-core{position:absolute;left:36px;top:36px;width:48px;height:48px;filter:drop-shadow(0 0 16px #ffeb78) drop-shadow(0 0 28px rgba(255,200,80,0.7))}
@keyframes sun-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.7;transform:scale(1.08)}}
@keyframes sun-rotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
#moon{position:absolute;width:48px;height:48px;filter:drop-shadow(0 0 8px rgba(220,230,255,0.7)) drop-shadow(0 0 16px rgba(180,200,255,0.4))}

.plx{position:absolute;left:0;display:flex;flex-wrap:nowrap;will-change:transform,filter}
.plx img{height:100%;width:auto;display:block;flex-shrink:0;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;pointer-events:none;user-select:none;-webkit-user-drag:none}

#L-clouds{bottom:359px;height:160px;z-index:2}
#L-bgcity{bottom:89px;height:200px;z-index:3}
#L-city{bottom:106px;height:243px;z-index:4}
#L-trees{bottom:39px;height:120px;z-index:5}
#L-ground{bottom:0;height:55px;z-index:6}
#L-foreground{bottom:0;height:160px;z-index:8}
#L-extra-buildings{position:absolute;left:0;bottom:55px;width:100%;height:220px;z-index:7;pointer-events:none;overflow:visible;will-change:filter}
.bld{position:absolute;bottom:0;display:block;pointer-events:none;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}
#L-bg-buildings{position:absolute;left:0;bottom:55px;width:100%;height:240px;z-index:4;pointer-events:none;overflow:visible;will-change:filter}
.bgbld{position:absolute;bottom:0;display:block;pointer-events:none;opacity:0.92;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}

#city-lights{position:absolute;bottom:106px;left:0;height:243px;z-index:4;pointer-events:none;opacity:0;display:flex;flex-wrap:nowrap;will-change:transform,opacity;mix-blend-mode:screen}
#city-lights img{height:100%;width:auto;display:block;flex-shrink:0;image-rendering:pixelated;pointer-events:none}
#lamp-glows{position:absolute;bottom:0;left:0;height:160px;z-index:8;pointer-events:none;opacity:0;display:flex;flex-wrap:nowrap;will-change:transform,opacity;mix-blend-mode:screen}
#lamp-glows canvas{display:block;flex-shrink:0}

#player{
  position:absolute;left:25%;bottom:50px;
  width:43.7px;height:85px;z-index:9;pointer-events:none;
  background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAACMCAMAAADoSh/XAAAB/lBMVEUAAAAxKCxPNzI4MjeviWltRjl3VUdNRUWMaFFHKiZqOS4tGReDWEZMQT0YFBeDVDwlHSUcGiN7Ujy3k2+Wc1eLNi5OJhptSkNKGhQ1Ih1rKSRtZ2loJhuWd2hGPUFYVFYOCg2kemWPRTepeFp4Y1eFKiXKqIh3c3ZsNBuKhYWpg16np66UhHajOS4+PERZMhWpa1SuopWztLqJa2OWk5PEpX0jDgaJS0Ksl4zEjGxfXGNiHBZuXGOFLh2sXVGrjIO3usPFnYTOuapKHSBdYW2eqa2hn6DQsozezcPj0cUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEiSj+AAAAgHRSTlMA/////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOZG33IAAAeiSURBVHja7Vlpc9s4EhVuEAAp3pdEnbZ8JrGdZJLMfezO7P7/P7TdpBQfu+UQmqr9pLZsSqriY/fr140GPJmc7GQnO9nJTnayk53sZI+2XNnVYhJF3y3J30BRSlEwQgL8e3YsjLUh3G4PSCEh0ewYnFkzeDP8wQ8BbY6JzzZksIaiQ4DUkIAwf36ahljwpAEQMvw24NPSOzBiG2vBmYYAFJBE8BoQ5YnDSIyRBdRicAEQRQbGGk8guBvSFTQN3gzWJ46AR2TmDQRBEYxs/3YPRyI/ILrPGLhgyTPzBMIcIQrpdbS3/jPzD603S42RvTknaBCQyZFAlBo3TdPpFF5TEZALX1kfGDYCAKabFFyCK/UvEToAQWQAkaabtDdK/SttnzWosDIIpJs6KcuSkGOaSE9R0BsFIAFX3+T3RRIjjjFD5gEI2wg9Agh6Y9VQYWjQBYFBIHCMWn8gWdGgokKIjgZGYGgV/eUYoDMJEQGOdH3m3VRUQlZHkE0riA2AQD0ydc6lIO1UHNNqJdADQKBoJwUWCLwT8VGrCHREYTAsIQ2YAyA7OQoJ9AgkTdEnLFoAOnKVjFBJIk2FEcIYxDsOJ7A1aAf4AapElUKI/nqExVrJoIUyAxGBTwbFLStPaiqz+fncmKCdaxSTQTGlQgrfpchq187nxszbYs6HWsPYvDNGNee55l3bFsUl58CyoRDizDdhXQVAPE+7+fl5sdnmO/CFltr4LvpL+nvIs0xzXZ4jEt9JyFipN+990/X+3//KM/BoXZclMKVzrFa+Kwq/LkvOqJzJIuMpz3MhnClTDf1D6/a89UlaZH+h+jMEBECcbwHN/Jan0JL03LQ+sp7J7uzzJ8DR7vJ6y12emctsJ3LTaWMqnyoNb6Xe3GXX0hU/b+6mU27q7KNOTZYLJzyA3msqq2221pX78mXLt1NRTv/afQS0tZbjgWwJEtJdluXUtT/9tCmKu5ROdxkCpbWHR1coRVSjk649fwM2d7wW2a6up7kHEKF5DjAZ11S/E/OiePOmACDDbV1rXstwdGRS51rza1dWuuStMUVhNm1tdFm6eV1WYxW5lFis8IPDUMfd1jmtTc1F+Xu5Lopajpweo1BnGXCdayGlyXnOr3l+Z0o+vbxv120h5MXowDKITOsS+jxFsq751kCJTC+5WbetkGo8Q+jSFhzSlGu+hfdtGzAYHvQ7LfR3Y8tM6LxPPqyGGup13XGhi5Le399bBHJjgSZSo4yybF06zfso+Roovs8+WAhXy2Zs9UcVImWg6wESbN7W8ub2isgSFiV9O16QkDKgKTMDzjUv6t9ulfo+1EBaxrvPY5Eap6+RbyEHtr4U73b8ls1CWelr8LUbu44o6bDQIKDepeyyeJcTpWYLCYmAB2RrO24pUaXQHGqshbq449m2aHfy5h+zixsZpJBSA+2gHoVkcZ0viuKHsjaGZ66Yfzy7efj14SEGkWk33xTz2ko6QpKC0vZ8Xjtra3PJi4Lrswcll7+SCkSKrsKaKyt7+80l1sDc0NYch+KgNufznT67kdWP/7TEVrQt2nUgaAVaeN2pmdayMkHdBTAvVBUs1WmWnz0sK3UDWqTwCNNRUwaydMGr442FMQi2CYHFkSEVIqgbEtKbqw8fbmLoICGEi4cJZVV9Eq+tTNI6Kp3OqcUZDYEoU+rth4vZ7McABRTNKos7CgNUylcdAiDZpbyEi0jlfleckDgIRNc3NaZgPAV/K/t6ZFJSCe0jL4VMJW5hbJQksCP5o12X3aGKwCfx+q5thR1WCFAwVChsQWhgCcM9LInrT/psT2/YBOJb4z8UlNBdarq1xX2Q7UH2G1vRdV83hPabirSB7pvQmtd22K2xr1vk91deM00MJIGa+dzUA0AMFC36owy/wW9mCQ5+l8UPcZ8xxCEqRCT2p9e4FgMD2hlT0x4nwU1kCD+wC/TbqPekxNYGiqkFvOuJomGoQkWZD00k6qkJcfBXe44IVSHYwu+gZoW34o2KqEPOGOuR4PPCAykBXhREgkBsNUiSoU/4HfPwadnzC0aYIlcrDDUGl3psRaLxY3sfjEIPCGUgHvCp96oPN/Q5GyH721hM8bYDTwiOZ5pe532QthAezmifJ7bqnULKex/9tNQjDUCTaJUw1BRDRfgeQmGBscVBOSTqBcUY8yu5KMGTrJApdvFMp0iV104rgYSDdsCji6+HSfGA5FNwV8k+Cnjtexi83QP57JBWh4bGWPR44DrIyedEAx05nIMens/YHttn339FvhJ7uG25B/KjOto368fAJqvBSbrwiUxFfdUCUPTsK5AW86I6YtjJsKmRJz7G6CG8xuM0WO2AQ8lq8hxIeeZ+wFmoJ8RC6mOsYK+jmhU2I+iOi8enK9KriEU+QEnv0GJBn4TxfS9roG7pV/joEBT+i063QLTxOG/7pgNePRXMoYH49KLVPvXx8kXHRKDIT9VAD9b6ky8vhsHNa3lMogjzE7P/PrQHpGgZje5oJEF7JuDkyb8y2NKj7TNsPi+L+NGtUVCLw5AWqRdAyeDXW9TGmOzvPYIcqafTQJK8jYC+aIAbFVoyLNhKRf9jusBReWSzZWRgO0lWk79p5MX1/2v/AXgBfOZ4pyguAAAAAElFTkSuQmCC");
  background-repeat:no-repeat;
  background-size:43.7px 85px;
  background-position:0 0;
  image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;
  transform-origin:50% 100%;will-change:bottom,transform,filter;
}
#player.face-left{transform:scaleX(-1)}

#bird-cv{position:absolute;top:0;left:0;width:100%;height:100%;z-index:7;pointer-events:none}

#hud{position:absolute;top:14px;left:16px;z-index:50;font-size:10px;letter-spacing:3px;color:rgba(255,255,255,0.95);background:rgba(8,30,80,0.55);padding:6px 14px;border-radius:2px;pointer-events:none;text-transform:uppercase;text-shadow:1px 1px 0 rgba(0,0,0,0.6);border-left:2px solid #4ac8ff}
#hud .sub{display:block;font-size:8px;letter-spacing:2px;color:rgba(180,220,255,0.75);margin-top:2px}
#hud .time{display:inline-block;margin-left:6px;color:#ffd478;font-weight:bold}

#ctrl{position:absolute;top:14px;right:16px;z-index:50;display:flex;align-items:center;gap:14px;background:rgba(8,30,80,0.55);padding:8px 18px;border-radius:24px;border:1px solid rgba(120,200,255,0.2)}
#ctrl button{margin:0}
#ctrl button{background:rgba(74,200,255,0.18);border:1px solid rgba(120,200,255,0.4);color:#bfe8ff;font-family:'Courier New',monospace;font-size:11px;font-weight:bold;padding:3px 10px;border-radius:3px;cursor:pointer;letter-spacing:1px;transition:all 0.15s}
#ctrl button:hover{background:rgba(74,200,255,0.35);color:#fff}

#info{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:50;background:rgba(8,30,80,0.55);padding:5px 14px;border-radius:3px;font-size:9px;letter-spacing:2px;color:rgba(180,220,255,0.8);text-transform:uppercase;border:1px solid rgba(120,200,255,0.2);pointer-events:none}
#info kbd{background:rgba(74,200,255,0.25);padding:1px 6px;border-radius:2px;border:1px solid rgba(120,200,255,0.5);color:#fff;margin:0 2px}

#obstacles{
  position:absolute;left:0;bottom:30px;width:100%;height:40px;
  z-index:8;pointer-events:none;overflow:visible;
}
.obstacle{
  position:absolute;bottom:0;
  opacity:0.9;
}
#game-over{
  display:none;position:absolute;
  top:50%;left:50%;transform:translate(-50%,-50%);
  z-index:100;text-align:center;
  font-family:'Courier New',monospace;
  color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,0.8);
}
#game-over h1{font-size:28px;letter-spacing:6px;margin-bottom:12px}
#game-over .score{font-size:14px;letter-spacing:3px;color:#ffd478;margin-bottom:16px}
#game-over button{
  background:rgba(74,200,255,0.25);border:2px solid rgba(120,200,255,0.6);
  color:#fff;font-family:'Courier New',monospace;font-size:14px;
  padding:10px 30px;border-radius:4px;cursor:pointer;letter-spacing:3px;
  text-transform:uppercase;transition:all 0.15s;
}
#game-over button:hover{background:rgba(74,200,255,0.5)}
#score-hud{
  position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:50;
  font-size:16px;letter-spacing:4px;color:#fff;
  font-family:'Courier New',monospace;
  text-shadow:1px 1px 0 rgba(0,0,0,0.6);
  pointer-events:none;
}
#power-bar-wrap{margin-top:5px}
#power-bar-track{width:100px;height:6px;background:rgba(0,0,0,0.4);border-radius:3px;border:1px solid rgba(74,200,255,0.2);overflow:hidden}
#power-bar-fill{height:100%;width:0%;background:#c8102e;border-radius:3px;transition:width 0.25s}
#item-counts{font-size:9px;letter-spacing:1px;color:rgba(255,200,180,0.9);margin-top:4px}
#collectibles{position:absolute;left:0;bottom:50px;width:100%;height:85px;z-index:7;pointer-events:none;overflow:visible}
.collectible{position:absolute;bottom:4px;font-size:22px;line-height:1;user-select:none;pointer-events:none}
.collectible.sauce{animation:coll-pulse 0.8s ease-in-out infinite}
.collectible.ketchup{animation:coll-pulse 0.8s ease-in-out infinite 0.2s}
.collectible.burger{animation:coll-bob 1s ease-in-out infinite}
.collectible.collected{animation:coll-pop 0.25s ease-out forwards!important}
@keyframes coll-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}}
@keyframes coll-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes coll-pop{0%{transform:scale(1);opacity:1}100%{transform:scale(2);opacity:0}}
@keyframes player-flash{0%,100%{filter:none}33%,66%{filter:brightness(8) sepia(1) hue-rotate(-30deg) saturate(6)}}
#player.flashing{animation:player-flash 0.5s steps(1) 3}
#phase-overlay{display:none;position:absolute;inset:0;z-index:200;background:rgba(0,0,0,0.78);flex-direction:column;align-items:center;justify-content:center;font-family:'Courier New',monospace;color:#fff;text-align:center}
#phase-overlay.active{display:flex}
#phase-msg{font-size:13px;letter-spacing:2px;line-height:2;max-width:360px;text-shadow:1px 1px 0 rgba(0,0,0,0.8)}
#phase-msg .hl{color:#ffd478}
#phase2-btn{display:none;margin-top:22px;background:rgba(200,16,46,0.3);border:2px solid #c8102e;color:#fff;font-family:'Courier New',monospace;font-size:13px;padding:10px 28px;border-radius:4px;cursor:pointer;letter-spacing:3px;text-transform:uppercase;transition:all 0.15s}
#phase2-btn.visible{display:block}
#phase2-btn:hover{background:rgba(200,16,46,0.6)}
#phase2-scene{display:none;position:absolute;inset:0;z-index:20;background:linear-gradient(180deg,#020816 0%,#0a0420 45%,#0d0a1a 100%)}
#phase2-scene.active{display:block}
#kfc-building{position:absolute;right:80px;bottom:50px;width:260px;height:300px}
#kfc-roof{position:absolute;top:0;left:0;right:0;height:36px;background:#c8102e;border:3px solid #8b0000;image-rendering:pixelated}
#kfc-sign{position:absolute;top:6px;left:50%;transform:translateX(-50%);font-family:'Courier New',monospace;font-weight:bold;font-size:20px;color:#fff;letter-spacing:6px;text-shadow:0 0 8px #ff4444,0 0 20px #ff0000,0 0 35px #c8102e}
#kfc-stripes{position:absolute;top:36px;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,#c8102e 0,#c8102e 18px,#fff 18px,#fff 36px)}
#kfc-walls{position:absolute;top:46px;left:0;right:0;bottom:0;background:#e8e8e0;border:3px solid #aaa}
#kfc-door{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:56px;height:84px;background:#3a2010;border:3px solid #1a0e08;border-bottom:none}
#kfc-windows{position:absolute;top:16px;left:0;right:0;display:flex;justify-content:space-around;padding:0 16px}
.kfc-win{width:46px;height:46px;background:linear-gradient(135deg,#ffe082,#ffca28,#ffe082);border:3px solid #999;box-shadow:0 0 10px rgba(255,200,50,0.5)}
#enemy{position:absolute;right:220px;bottom:50px;z-index:22;width:56px;height:84px}
#phase2-hud{display:none;position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:210;background:rgba(8,30,80,0.7);padding:10px 22px;border-radius:4px;font-family:'Courier New',monospace;color:#fff;text-align:center;border:1px solid rgba(120,200,255,0.2);white-space:nowrap}
#phase2-hud.active{display:block}
#p2-inventory{font-size:12px;letter-spacing:2px;margin-bottom:5px}
.p2-bar{display:inline-block;width:80px;height:6px;background:rgba(0,0,0,0.4);border-radius:3px;border:1px solid rgba(74,200,255,0.2);overflow:hidden;vertical-align:middle;margin-left:6px}
.p2-bar-fill{height:100%;background:#c8102e;border-radius:3px}
#p2-msg{font-size:8px;letter-spacing:2px;color:rgba(180,220,255,0.55);margin-top:3px}
#play-again-btn{display:none;position:absolute;bottom:14px;right:16px;z-index:210;background:rgba(74,200,255,0.18);border:1px solid rgba(120,200,255,0.4);color:#bfe8ff;font-family:'Courier New',monospace;font-size:11px;padding:8px 18px;border-radius:3px;cursor:pointer;letter-spacing:2px;text-transform:uppercase;transition:all 0.15s}
#play-again-btn.active{display:block}
#play-again-btn:hover{background:rgba(74,200,255,0.35);color:#fff}
.mobile-hint{display:none}

/* ── Mobile optimisation ── */
@media (max-width:660px){
  /* Scene: zoom out by scaling down + expanding dimensions to still fill viewport */
  #scene{
    height:calc(100svh / 0.7)!important;max-height:none!important;min-height:0!important;
    width:calc(100% / 0.7)!important;
    transform:scale(0.7);transform-origin:top left;
    cursor:default;
  }

  /* Scale up player so they're more visible at zoomed-out view */
  #player{
    transform:scale(1.4);transform-origin:50% 100%;
    bottom:55px;
  }
  #player.face-left{transform:scale(1.4) scaleX(-1)}

  /* Scale up buildings & background layers to fill sky space */
  #L-bgcity{height:520px;bottom:110px}
  #L-city{height:580px;bottom:125px}
  #city-lights{height:580px;bottom:125px}
  #L-bg-buildings{height:520px;bottom:70px}
  #L-extra-buildings{height:500px;bottom:70px}
  #L-trees{height:230px;bottom:48px}
  #L-foreground{height:290px}
  #L-ground{height:72px}
  #L-clouds{height:240px;bottom:620px}
  #lamp-glows{height:290px}

  /* HUD top-left: tighter */
  #hud{top:6px;left:8px;font-size:8px;letter-spacing:1.5px;padding:5px 10px;border-left-width:2px}
  #hud .sub{font-size:7px;letter-spacing:1px}
  #power-bar-track{width:72px}
  #item-counts{font-size:8px}

  /* Controls top-right: enlarge icon buttons for fat fingers */
  #ctrl{top:6px;right:8px;padding:5px 10px;gap:10px;border-radius:20px}
  #ctrl button{width:46px;height:46px;font-size:19px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center}

  /* Score */
  #score-hud{font-size:16px;letter-spacing:3px;top:10px}

  /* Bottom info bar */
  #info{bottom:6px;font-size:8.5px;letter-spacing:1px;padding:5px 14px}
  #info .desktop-hint{display:none}
  #info .mobile-hint{display:inline}

  /* Game-over overlay */
  #game-over h1{font-size:22px;letter-spacing:4px;margin-bottom:10px}
  #game-over .score{font-size:12px;margin-bottom:14px}
  #game-over button{font-size:13px;padding:12px 26px;letter-spacing:2px}
}

/* ═══════════════════════════════════════════════
   SCREENS — Landing, End-run, Leaderboard, Credits
   ═══════════════════════════════════════════════ */

/* ── Shared overlay base ── */
.screen-overlay{
  display:none;position:fixed;inset:0;z-index:500;
  background:#0a0a12;
  overflow-y:auto;overflow-x:hidden;
  font-family:'Courier New',monospace;color:#fff;
}
.screen-overlay.active{display:flex;align-items:center;justify-content:center;flex-direction:column}

/* ── LANDING PAGE ── */
#landing-screen{
  background:rgba(0,0,0,0.55);
  backdrop-filter:blur(1px);
}
.landing-content{
  width:100%;max-width:420px;padding:32px 20px 20px;
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.landing-title{
  font-size:48px;font-weight:900;letter-spacing:6px;line-height:1.05;
  color:#fff;
  text-shadow:
    0 0 20px rgba(228,0,43,0.6),
    0 0 40px rgba(228,0,43,0.3),
    3px 3px 0 #8b0000;
  margin-bottom:18px;
}
.landing-prize-banner{
  background:linear-gradient(135deg,#c8102e 0%,#e4002b 50%,#c8102e 100%);
  border:2px solid #ff4444;
  border-radius:6px;padding:10px 26px;margin-bottom:16px;
  box-shadow:0 0 20px rgba(228,0,43,0.35),inset 0 1px 0 rgba(255,255,255,0.15);
}
.prize-text{
  display:block;font-size:16px;font-weight:bold;letter-spacing:4px;color:#fff;
}
.prize-sub{
  display:block;font-size:9px;letter-spacing:3px;color:rgba(255,200,200,0.8);margin-top:3px;
}
.landing-attempts{
  font-size:11px;letter-spacing:3px;color:rgba(255,160,160,0.7);margin:14px 0 22px;
}
.landing-attempts span{color:#ff6666;font-weight:bold}

/* ── Menu buttons ── */
.landing-menu{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px;margin-bottom:24px}
.menu-btn{
  background:rgba(200,16,46,0.15);
  border:2px solid rgba(200,16,46,0.5);
  color:#fff;font-family:'Courier New',monospace;
  font-size:16px;font-weight:bold;letter-spacing:5px;
  padding:14px 20px;border-radius:4px;cursor:pointer;
  text-transform:uppercase;transition:all 0.2s;
}
.menu-btn:hover,.menu-btn:active{
  background:rgba(200,16,46,0.4);
  border-color:#e4002b;
  box-shadow:0 0 16px rgba(228,0,43,0.3);
}
.menu-btn-start{
  background:rgba(200,16,46,0.3);
  border-color:#e4002b;
  font-size:18px;padding:16px 20px;
  box-shadow:0 0 12px rgba(228,0,43,0.2);
}
.menu-btn-start:hover{
  background:rgba(200,16,46,0.55);
  box-shadow:0 0 24px rgba(228,0,43,0.4);
}
.menu-arrow{
  color:rgba(255,100,100,0.5);font-size:14px;margin:0 6px;
}

/* ── Tap to start ── */
.landing-tap{
  font-size:11px;letter-spacing:4px;color:rgba(255,180,180,0.5);
  margin-bottom:28px;
  animation:tap-blink 2s ease-in-out infinite;
}
@keyframes tap-blink{0%,100%{opacity:0.5}50%{opacity:1}}

/* ── Footer buttons ── */
.landing-footer{
  display:flex;justify-content:space-between;width:100%;
  position:relative;padding:0 4px;
}
.footer-btn{
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.2);
  color:rgba(255,255,255,0.7);font-family:'Courier New',monospace;
  font-size:9px;letter-spacing:2px;padding:6px 14px;
  border-radius:3px;cursor:pointer;text-transform:uppercase;
  transition:all 0.15s;
}
.footer-btn:hover{background:rgba(255,255,255,0.15);color:#fff}

/* ── END RUN SCREEN ── */
#endrun-screen{
  background:rgba(0,0,0,0.65);
  backdrop-filter:blur(2px);
}
.endrun-card{
  width:100%;max-width:420px;padding:28px 24px;
  background:rgba(20,25,50,0.6);
  border:1px solid rgba(200,16,46,0.3);
  border-radius:8px;
  box-shadow:0 0 40px rgba(0,0,0,0.5);
}
.endrun-title{
  font-size:18px;letter-spacing:5px;color:rgba(255,200,180,0.9);
  text-align:center;margin-bottom:14px;font-weight:normal;
}
.endrun-prize-banner{
  background:linear-gradient(135deg,#c8102e 0%,#e4002b 50%,#c8102e 100%);
  border:2px solid #ff4444;border-radius:6px;
  padding:8px 20px;margin-bottom:16px;text-align:center;
  box-shadow:0 0 16px rgba(228,0,43,0.3),inset 0 1px 0 rgba(255,255,255,0.15);
}
.endrun-score{
  text-align:center;font-size:12px;letter-spacing:3px;
  color:rgba(255,180,180,0.9);margin-bottom:14px;
}
.endrun-score span{color:#ff6666;font-weight:bold}
.endrun-desc{
  font-size:10px;line-height:1.7;letter-spacing:0.5px;
  color:rgba(200,210,230,0.7);text-align:center;margin-bottom:18px;
}

/* ── Form ── */
.endrun-form{display:flex;flex-direction:column;gap:10px}
.endrun-input{
  background:rgba(10,15,35,0.8);
  border:1px solid rgba(200,16,46,0.4);
  color:#fff;font-family:'Courier New',monospace;
  font-size:12px;letter-spacing:2px;
  padding:12px 14px;border-radius:4px;
  outline:none;transition:border-color 0.2s;
}
.endrun-input::placeholder{color:rgba(200,200,220,0.35);letter-spacing:2px}
.endrun-input:focus{border-color:#e4002b;box-shadow:0 0 8px rgba(228,0,43,0.2)}
.endrun-consent{
  display:flex;gap:8px;align-items:flex-start;
  font-size:9px;line-height:1.6;color:rgba(200,210,230,0.6);
  margin:4px 0;cursor:pointer;
}
.endrun-consent input[type="checkbox"]{
  margin-top:3px;flex-shrink:0;accent-color:#e4002b;
}
.endrun-link{color:#ff6666;text-decoration:underline}
.endrun-btn{
  font-family:'Courier New',monospace;font-size:13px;
  letter-spacing:3px;padding:12px 20px;border-radius:4px;
  cursor:pointer;text-transform:uppercase;transition:all 0.2s;
  border:none;
}
.endrun-btn-submit{
  background:linear-gradient(135deg,#c8102e,#e4002b);
  color:#fff;
  box-shadow:0 0 12px rgba(228,0,43,0.3);
}
.endrun-btn-submit:hover{
  background:linear-gradient(135deg,#e4002b,#ff2244);
  box-shadow:0 0 20px rgba(228,0,43,0.5);
}
.endrun-btn-skip{
  background:rgba(60,60,90,0.4);
  border:1px solid rgba(100,100,140,0.4);
  color:rgba(200,200,220,0.7);
}
.endrun-btn-skip:hover{
  background:rgba(80,80,110,0.5);color:#fff;
}

/* ── LEADERBOARD & CREDITS OVERLAYS ── */
.overlay-card{
  width:100%;max-width:420px;padding:28px 24px;
  background:rgba(20,25,50,0.85);
  border:1px solid rgba(200,16,46,0.3);
  border-radius:8px;text-align:center;
  box-shadow:0 0 40px rgba(0,0,0,0.5);
}
.overlay-title{
  font-size:20px;letter-spacing:5px;color:#fff;
  margin-bottom:20px;font-weight:bold;
  text-shadow:0 0 10px rgba(228,0,43,0.3);
}
.overlay-close-btn{
  margin-top:20px;
  background:rgba(200,16,46,0.2);
  border:1px solid rgba(200,16,46,0.5);
  color:#fff;font-family:'Courier New',monospace;
  font-size:12px;letter-spacing:3px;padding:10px 30px;
  border-radius:4px;cursor:pointer;text-transform:uppercase;
  transition:all 0.15s;
}
.overlay-close-btn:hover{background:rgba(200,16,46,0.4)}

/* Leaderboard rows */
.leaderboard-list{margin-bottom:10px}
.lb-row{
  display:flex;justify-content:space-between;
  padding:6px 12px;font-size:11px;letter-spacing:2px;
  border-bottom:1px solid rgba(200,16,46,0.1);
}
.lb-header{color:#ff6666;font-weight:bold;border-bottom:1px solid rgba(200,16,46,0.3)}
.lb-rank{width:30px;text-align:left}
.lb-name{flex:1;text-align:left;padding-left:10px}
.lb-score{width:60px;text-align:right}
.lb-placeholder{
  font-size:10px;color:rgba(200,200,220,0.4);
  letter-spacing:2px;margin-top:12px;
}

/* Credits rows */
.credits-content{margin-bottom:10px}
.credit-row{
  display:flex;justify-content:space-between;
  padding:8px 12px;font-size:10px;letter-spacing:1px;
  border-bottom:1px solid rgba(200,16,46,0.08);
}
.credit-label{color:#ff6666;font-weight:bold}
.credit-val{color:rgba(200,210,230,0.7)}
.credits-tagline{
  font-size:10px;color:rgba(255,180,180,0.5);
  letter-spacing:2px;margin-top:16px;font-style:italic;
}

/* ── Mobile screen adjustments ── */
@media (max-width:660px){
  .landing-title{font-size:36px;letter-spacing:4px}
  .landing-content{padding:24px 16px 16px}
  .menu-btn{font-size:14px;padding:12px 16px;letter-spacing:4px}
  .menu-btn-start{font-size:16px;padding:14px 16px}
  .endrun-card{padding:22px 18px;margin:0 12px}
  .overlay-card{padding:22px 18px;margin:0 12px}
  .landing-footer{padding:0}
}
