*{margin:0;padding:0;box-sizing:border-box;}
body{background:#000;overflow:hidden;font-family:'Courier New',monospace;}
canvas{display:block;}

/* ── HUD ─────────────────────────────────────────── */
#hud{position:fixed;top:0;left:0;right:0;display:flex;
    justify-content:space-between;align-items:flex-start;
    padding:10px 16px;pointer-events:none;z-index:20;}
.hud-box{background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.15);
    border-radius:7px;padding:5px 13px;color:#fff;}
#levelName{font-size:12px;color:#7ac;letter-spacing:1px;}
#timer{font-size:28px;font-weight:bold;line-height:1.1;}
#playerTag{font-size:11px;color:#2ecc40;margin-top:1px;}
#speedBox{font-size:23px;color:#3f3;min-width:110px;text-align:right;}
#coinHud{font-size:14px;color:#4ade60;text-align:right;margin-top:2px;}
#nitroHud{margin-top:5px;text-align:right;}
.nitro-label{font-size:10px;color:#6699bb;letter-spacing:.5px;margin-bottom:2px;}
.nitro-label.ready{color:#00ffcc;}
.nitro-label.active{color:#80efff;}
.nitro-track{height:6px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden;width:90px;margin-left:auto;}
.nitro-fill{height:100%;border-radius:3px;transition:width .1s linear;}
#cpFlash{position:fixed;inset:0;background:rgba(0,255,100,.08);
    pointer-events:none;opacity:0;z-index:19;transition:opacity .05s;}
#coinFlash{position:fixed;inset:0;background:rgba(255,220,0,.07);
    pointer-events:none;opacity:0;z-index:19;transition:opacity .05s;}

/* ── Btn styles ──────────────────────────────────── */
.ov-btn{padding:13px 44px;font-size:19px;font-family:'Courier New',monospace;
    font-weight:bold;letter-spacing:3px;width:100%;
    background:linear-gradient(135deg,#2ecc40,#1a9e28);
    border:none;border-radius:8px;cursor:pointer;color:#000;
    box-shadow:0 4px 20px rgba(46,204,64,.45);
    transition:transform .12s,box-shadow .12s;}
.ov-btn:disabled{background:#2a3a2a;color:#4a6a4a;cursor:default;box-shadow:none;transform:none;}
.ov-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 7px 30px rgba(46,204,64,.65);}
.btn-sec{background:rgba(255,255,255,.08);color:#aaa;border:1px solid #444;
    font-family:'Courier New',monospace;font-size:14px;padding:9px 22px;
    border-radius:7px;cursor:pointer;transition:all .12s;}
.btn-sec:hover{color:#fff;border-color:#888;}
.btn-danger{background:rgba(255,60,60,.08);color:#f66;border:1px solid rgba(255,60,60,.35);
    font-family:'Courier New',monospace;font-size:13px;padding:8px 18px;
    border-radius:7px;cursor:pointer;transition:all .12s;}
.btn-danger:hover{background:rgba(255,60,60,.18);color:#f88;border-color:#f66;}

/* ── START overlay ───────────────────────────────── */
#startOverlay{position:fixed;inset:0;
    background:radial-gradient(ellipse at 30% 50%, #0a1f0a 0%, #050d05 60%, #000 100%);
    display:flex;align-items:center;justify-content:center;z-index:100;overflow-y:auto;}
#startOverlay.hidden{display:none;}

.menu-wrap{display:flex;gap:36px;align-items:flex-start;padding:28px 20px;
    max-width:860px;width:100%;}
@media(max-width:640px){.menu-wrap{flex-direction:column;align-items:center;gap:20px;}}

.menu-left{display:flex;flex-direction:column;min-width:200px;flex-shrink:0;}
.menu-right{display:flex;flex-direction:column;flex:1;gap:14px;min-width:260px;}

.ov-title{font-size:clamp(32px,6vw,58px);color:#2ecc40;line-height:1.05;
    text-shadow:0 0 24px rgba(46,204,64,.6),0 0 60px rgba(46,204,64,.25);
    letter-spacing:4px;margin-bottom:8px;}
.ov-sub{font-size:13px;color:#4a6a4a;margin-bottom:18px;letter-spacing:1px;}

.name-box{background:rgba(46,204,64,.06);border:1px solid rgba(46,204,64,.3);
    border-radius:10px;padding:14px 18px;text-align:center;}
.name-box label{display:block;color:#2ecc40;font-size:12px;margin-bottom:8px;letter-spacing:2px;}
.name-input{background:rgba(0,0,0,.5);border:1px solid rgba(46,204,64,.4);
    border-radius:6px;padding:9px 14px;color:#fff;font-size:18px;
    font-family:'Courier New',monospace;width:100%;text-align:center;
    letter-spacing:2px;outline:none;box-sizing:border-box;}
.name-input:focus{border-color:#2ecc40;box-shadow:0 0 12px rgba(46,204,64,.3);}

.ov-ctrl{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
    border-radius:8px;padding:12px 16px;margin-bottom:4px;}
.ov-ctrl table td{color:#666;font-size:12px;padding:3px 12px 3px 0;}
.ov-ctrl table td:first-child{color:#2ecc40;font-weight:bold;}

/* ── menu dlaždice ───────────────────────────────── */
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.menu-tile{display:flex;flex-direction:column;align-items:center;gap:5px;
    background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
    border-radius:10px;padding:12px 8px;font-family:'Courier New',monospace;
    font-size:12px;color:#888;letter-spacing:1px;cursor:pointer;
    transition:all .15s;}
.menu-tile:hover{background:rgba(46,204,64,.1);border-color:rgba(46,204,64,.4);color:#2ecc40;}
.tile-icon{font-size:22px;line-height:1;}
.menu-bottom{display:flex;gap:8px;justify-content:space-between;}

/* ── LEVEL SELECT overlay ────────────────────────── */
#levelSelect{position:fixed;inset:0;background:rgba(0,0,0,.93);
    display:none;flex-direction:column;align-items:center;justify-content:center;z-index:95;}
#levelSelect.show{display:flex;}
.ls-title{font-size:clamp(20px,4vw,32px);color:#2ecc40;letter-spacing:4px;margin-bottom:6px;}
.ls-sub{font-size:13px;color:#666;margin-bottom:24px;}
.ls-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
    max-width:900px;width:96%;margin-bottom:22px;}
@media(min-width:700px){.ls-grid{grid-template-columns:repeat(6,1fr);}}
.ls-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
    border-radius:10px;padding:16px 12px;text-align:center;position:relative;
    cursor:pointer;transition:all .15s;}
.ls-card:hover:not(.locked){border-color:#2ecc40;background:rgba(46,204,64,.1);}
.ls-card.locked{opacity:.45;cursor:default;}
.ls-card.locked::after{content:'🔒';position:absolute;top:8px;right:10px;font-size:16px;}
.ls-card .lc-num{font-size:11px;color:#666;letter-spacing:2px;margin-bottom:4px;}
.ls-card .lc-name{font-size:13px;color:#ccc;margin-bottom:8px;line-height:1.3;}
.ls-card .lc-best{font-size:12px;color:#0cf;min-height:16px;}
.ls-card.unlocked-new{border-color:rgba(0,255,100,.4);background:rgba(0,255,80,.05);}
.ls-back{margin-top:4px;}

/* ── CRASH banner ────────────────────────────────── */
#crashMsg{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);
    background:rgba(0,0,0,.82);border:2px solid #f44;border-radius:12px;
    padding:22px 38px;text-align:center;z-index:50;display:none;pointer-events:none;}
#crashMsg.show{display:block;}
#crashMsg h2{font-size:40px;color:#f33;margin-bottom:8px;}
#crashMsg p{font-size:15px;color:#aaa;}

/* ── WIN overlay ─────────────────────────────────── */
#winOverlay{position:fixed;inset:0;background:rgba(0,0,0,.88);
    display:none;flex-direction:column;align-items:center;justify-content:center;z-index:80;}
#winOverlay.show{display:flex;}
.win-box{background:rgba(10,20,10,.97);border:1px solid rgba(0,255,100,.3);
    border-radius:14px;padding:26px 34px;max-width:520px;width:92%;
    box-shadow:0 0 40px rgba(0,255,80,.12);}
.win-title{font-size:34px;font-weight:bold;color:#ff0;text-align:center;margin-bottom:4px;}
.win-time{font-size:20px;color:#0ff;text-align:center;margin-bottom:4px;}
.win-coins-earned{font-size:15px;color:#4ade60;text-align:center;margin-bottom:6px;}
.win-medal{font-size:18px;font-weight:bold;text-align:center;margin-bottom:12px;
    letter-spacing:1px;min-height:22px;}
.lb-section-title{font-size:11px;color:#4af;letter-spacing:2px;
    text-align:center;margin-bottom:7px;}
.lb-table{width:100%;border-collapse:collapse;margin-bottom:18px;font-size:13px;}
.lb-table th{color:#555;font-size:11px;letter-spacing:1px;
    padding:3px 8px;border-bottom:1px solid #1a2a1a;text-align:left;}
.lb-table th:last-child{text-align:right;}
.lb-table td{padding:5px 8px;color:#bbb;border-bottom:1px solid #0d1a0d;}
.lb-table td:last-child{text-align:right;color:#0cf;font-weight:bold;}
.lb-table tr.lb-me td{color:#ff0;}
.lb-table tr.lb-me td:last-child{color:#0f0;}
.lb-table tr.lb-gold td:first-child::before{content:'🥇 ';}
.lb-table tr.lb-silver td:first-child::before{content:'🥈 ';}
.lb-table tr.lb-bronze td:first-child::before{content:'🥉 ';}
@keyframes flashRow{0%,100%{background:transparent}50%{background:rgba(255,255,0,.1)}}
.lb-table tr.lb-new td{animation:flashRow .55s ease 4;}
.lb-empty{color:#333;font-size:13px;text-align:center;padding:10px 0;font-style:italic;}
.win-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}
.win-btn{padding:9px 22px;font-size:14px;font-family:'Courier New',monospace;
    font-weight:bold;border:none;border-radius:7px;cursor:pointer;transition:transform .1s;}
.win-btn:hover{transform:translateY(-2px);}
.win-btn.primary{background:linear-gradient(135deg,#2ecc40,#1a9e28);color:#000;}
.win-btn.secondary{background:rgba(255,255,255,.08);color:#aaa;border:1px solid #333;}
.win-btn.shop{background:linear-gradient(135deg,#2ecc40,#1a9e28);color:#000;}

/* ── PAUSE overlay ───────────────────────────────── */
#pauseOverlay{position:fixed;inset:0;background:rgba(0,0,0,.75);
    display:none;flex-direction:column;align-items:center;justify-content:center;z-index:70;}
#pauseOverlay.show{display:flex;}
.pause-box{background:rgba(5,10,20,.97);border:1px solid rgba(100,150,255,.25);
    border-radius:14px;padding:32px 48px;text-align:center;
    box-shadow:0 0 40px rgba(80,120,255,.15);}
.pause-title{font-size:42px;color:#8af;letter-spacing:4px;margin-bottom:6px;}
.pause-sub{font-size:13px;color:#555;margin-bottom:24px;}
.pause-btns{display:flex;flex-direction:column;gap:10px;min-width:200px;}
.pause-btn{padding:11px 0;font-size:14px;font-family:'Courier New',monospace;
    font-weight:bold;border:1px solid #333;border-radius:8px;cursor:pointer;
    letter-spacing:1px;transition:all .12s;
    background:rgba(255,255,255,.05);color:#aaa;}
.pause-btn:hover{background:rgba(255,255,255,.1);color:#fff;border-color:#666;transform:translateY(-1px);}
.pb-continue{background:linear-gradient(135deg,#2ecc40,#1a9e28);color:#000;border-color:transparent;}
.pb-continue:hover{background:linear-gradient(135deg,#3ddd50,#22b030);color:#000;transform:translateY(-1px);}
.pb-restart,.pb-shop,.pb-scores,.pb-menu,.pb-home{}

/* ── Full scores overlay ─────────────────────────── */
#scoresOverlay{position:fixed;inset:0;background:rgba(0,0,0,.92);
    display:none;flex-direction:column;align-items:center;justify-content:center;z-index:120;
    overflow-y:auto;}
#scoresOverlay.show{display:flex;}
.scores-box{background:rgba(5,15,5,.97);border:1px solid rgba(0,200,80,.2);
    border-radius:14px;padding:26px 34px;max-width:580px;width:92%;
    max-height:85vh;overflow-y:auto;}
.scores-box::-webkit-scrollbar{width:5px;}
.scores-box::-webkit-scrollbar-thumb{background:#2a3a2a;border-radius:3px;}
.scores-hdr{font-size:20px;color:#2ecc40;letter-spacing:3px;text-align:center;margin-bottom:18px;}
.scores-lvl-title{font-size:12px;color:#4af;letter-spacing:2px;
    margin:14px 0 5px;padding-bottom:3px;border-bottom:1px solid #1a2a1a;}
.no-scores{color:#2a3a2a;font-style:italic;font-size:12px;padding:4px 0;}
.scores-filter{display:flex;gap:8px;justify-content:center;margin-bottom:16px;}
.sf-btn{background:rgba(255,255,255,.06);color:#888;border:1px solid #333;
    font-family:'Courier New',monospace;font-size:12px;padding:6px 16px;
    border-radius:6px;cursor:pointer;transition:all .12s;}
.sf-btn:hover{color:#fff;border-color:#888;}
.sf-btn.sf-active{color:#2ecc40;border-color:#2ecc40;background:rgba(46,204,64,.1);}

/* ── In-game scores button ───────────────────────── */
#scoresBtn{position:fixed;bottom:12px;right:16px;z-index:25;
    background:rgba(0,0,0,.65);border:1px solid rgba(255,255,255,.2);
    border-radius:7px;padding:6px 12px;color:#666;font-size:11px;
    cursor:pointer;font-family:'Courier New',monospace;letter-spacing:1px;display:none;}
#scoresBtn:hover{color:#fff;border-color:#2ecc40;}
@media (pointer:coarse){#scoresBtn{display:none !important;}}

/* ── SHOP overlay ────────────────────────────────── */
#shopOverlay{position:fixed;inset:0;background:rgba(0,0,0,.92);
    display:none;flex-direction:column;align-items:center;justify-content:center;z-index:110;}
#shopOverlay.show{display:flex;}
.shop-box{background:rgba(15,10,5,.98);border:1px solid rgba(46,204,64,.25);
    border-radius:14px;padding:28px 36px;max-width:560px;width:94%;
    box-shadow:0 0 50px rgba(46,204,64,.12);}
.shop-hdr{font-size:26px;color:#4ade60;letter-spacing:4px;text-align:center;margin-bottom:4px;}
.shop-coins{font-size:16px;color:#4ade60;text-align:center;margin-bottom:20px;}
.shop-item{display:flex;align-items:center;gap:14px;padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.07);}
.shop-item:last-of-type{border-bottom:none;}
.shop-icon{font-size:28px;width:40px;text-align:center;flex-shrink:0;}
.shop-info{flex:1;}
.shop-name{font-size:14px;color:#fff;font-weight:bold;margin-bottom:2px;}
.shop-desc{font-size:11px;color:#777;margin-bottom:4px;}
.shop-level{font-size:12px;color:#0cf;}
.shop-stats{margin-top:6px;display:flex;flex-direction:column;gap:4px;}
.stat-row{display:flex;align-items:center;gap:7px;}
.stat-label{font-size:10px;color:#555;width:90px;flex-shrink:0;letter-spacing:.5px;}
.stat-track{flex:1;height:6px;background:rgba(255,255,255,.07);border-radius:3px;position:relative;overflow:visible;}
.stat-fill{height:100%;background:#2a6a30;border-radius:3px;position:absolute;top:0;left:0;transition:width .3s;}
.stat-fill-next{height:100%;background:#2ecc40;border-radius:3px;position:absolute;top:0;left:0;opacity:.55;transition:width .3s;}
body.light .stat-track{background:rgba(0,0,0,.08);}
body.light .stat-label{color:#888;}
body.light .stat-fill{background:#5a9e60;}
body.light .stat-fill-next{background:#1a9e28;}
.shop-buy{padding:7px 18px;font-size:13px;font-family:'Courier New',monospace;
    font-weight:bold;border:none;border-radius:6px;cursor:pointer;
    background:linear-gradient(135deg,#2ecc40,#1a9e28);color:#000;
    transition:all .12s;white-space:nowrap;}
.shop-buy:disabled{background:#2a2a2a;color:#555;cursor:default;}
.shop-buy:not(:disabled):hover{transform:translateY(-1px);}
.shop-close{display:block;margin:18px auto 0;padding:9px 28px;
    font-family:'Courier New',monospace;font-size:13px;
    background:rgba(255,255,255,.07);color:#888;border:1px solid #444;
    border-radius:7px;cursor:pointer;}
.shop-close:hover{color:#fff;border-color:#888;}

/* ── Mobile touch ────────────────────────────────── */
#touch{position:fixed;bottom:18px;left:0;right:0;
    display:none;justify-content:space-between;padding:0 18px;z-index:30;}
.tg{display:flex;gap:10px;align-items:flex-end;}
.tb{width:70px;height:70px;border-radius:50%;
    background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.28);
    color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;
    user-select:none;-webkit-user-select:none;touch-action:none;}
.tb.on{background:rgba(46,204,64,.3);border-color:rgba(46,204,64,.8);}
.tb-nitro{background:rgba(0,160,220,.18);border-color:rgba(0,200,255,.5);font-size:26px;}
.tb-nitro.on{background:rgba(0,200,255,.4);border-color:#00cfff;}

/* ── DAILY CHALLENGE overlay ─────────────────────── */
#dailyOverlay{position:fixed;inset:0;background:rgba(0,0,0,.93);
    display:none;flex-direction:column;align-items:center;justify-content:center;z-index:120;}
#dailyOverlay.show{display:flex;}
.daily-box{background:rgba(5,5,20,.98);border:1px solid rgba(100,100,255,.4);
    border-radius:14px;padding:28px 36px;max-width:520px;width:92%;
    box-shadow:0 0 50px rgba(80,80,255,.15);}
.daily-hdr{font-size:22px;color:#aaf;letter-spacing:3px;text-align:center;margin-bottom:4px;}
.daily-date{font-size:13px;color:#556;text-align:center;margin-bottom:18px;}
.daily-status{font-size:15px;color:#0cf;text-align:center;margin-bottom:14px;min-height:22px;}

/* ── ENDURO / WEEKLY overlays ────────────────────── */
#enduroOverlay,#weeklyOverlay{position:fixed;inset:0;background:rgba(0,0,0,.93);
    display:none;flex-direction:column;align-items:center;justify-content:center;z-index:120;}
#enduroOverlay.show,#weeklyOverlay.show{display:flex;}

/* ── ACHIEVEMENTS overlay ────────────────────────── */
#achOverlay{position:fixed;inset:0;background:rgba(0,0,0,.93);
    display:none;flex-direction:column;align-items:center;justify-content:center;z-index:120;}
#achOverlay.show{display:flex;}
.ach-box{background:rgba(10,10,5,.98);border:1px solid rgba(46,204,64,.25);
    border-radius:14px;padding:28px 36px;max-width:560px;width:92%;
    max-height:85vh;overflow-y:auto;}
.ach-hdr{font-size:22px;color:#4ade60;letter-spacing:3px;text-align:center;margin-bottom:18px;}
.ach-item{display:flex;align-items:center;gap:14px;padding:10px 0;
    border-bottom:1px solid rgba(255,255,255,.06);}
.ach-item:last-child{border-bottom:none;}
.ach-icon{font-size:28px;width:40px;text-align:center;flex-shrink:0;}
.ach-info{flex:1;}
.ach-name{font-size:14px;font-weight:bold;margin-bottom:2px;}
.ach-desc{font-size:11px;color:#666;}
.ach-item.unlocked .ach-name{color:#4ade60;}
.ach-item.locked .ach-icon{filter:grayscale(1);opacity:.4;}
.ach-item.locked .ach-name{color:#444;}
.ach-badge{font-size:11px;color:#0f0;margin-left:auto;white-space:nowrap;}

/* ── PROFILE overlay ─────────────────────────────── */
#profileOverlay{position:fixed;inset:0;background:rgba(0,0,0,.93);
    display:none;flex-direction:column;align-items:center;justify-content:center;z-index:120;}
#profileOverlay.show{display:flex;}
.profile-box{background:rgba(5,10,20,.98);border:1px solid rgba(100,180,255,.3);
    border-radius:14px;padding:28px 36px;max-width:540px;width:92%;
    max-height:85vh;overflow-y:auto;box-shadow:0 0 40px rgba(80,150,255,.15);}
.profile-hdr{font-size:22px;color:#8af;letter-spacing:3px;text-align:center;margin-bottom:18px;}
.profile-stat{font-size:14px;color:#ccc;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.profile-stat:last-of-type{margin-bottom:14px;}
.profile-best-title{font-size:12px;color:#556;letter-spacing:2px;margin:14px 0 8px;}
.profile-times td{color:#aaa;font-size:12px;}
.profile-times td:last-child{color:#0cf;text-align:right;}
.profile-avatar-row{display:flex;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.cur-avatar{font-size:28px;line-height:1;}
.avatar-picker{display:flex;flex-wrap:wrap;gap:6px;padding:10px 0 14px;border-bottom:1px solid rgba(255,255,255,.06);}
.avatar-btn{background:rgba(255,255,255,.05);border:1px solid #333;border-radius:6px;
    font-size:22px;padding:4px 7px;cursor:pointer;transition:all .1s;line-height:1;}
.avatar-btn:hover{border-color:#888;background:rgba(255,255,255,.1);}
.avatar-btn.av-active{border-color:#2ecc40;background:rgba(46,204,64,.15);}

/* ── Menu přepínače (jazyk, téma, duch) ─────────── */
.menu-toggles{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.toggle-sep{width:1px;height:24px;background:rgba(255,255,255,.12);margin:0 2px;}
.toggle-btn{background:rgba(255,255,255,.05);border:1px solid #3a3a3a;border-radius:6px;
    padding:6px 12px;color:#666;font-size:13px;font-family:'Courier New',monospace;
    cursor:pointer;transition:all .12s;line-height:1.2;}
.toggle-btn:hover{color:#ccc;border-color:#666;}
.toggle-btn.active{color:#2ecc40;border-color:#2ecc40;background:rgba(46,204,64,.08);}
.toggle-btn.off{color:#444;border-color:#2a2a2a;}
/* lang-btn alias — zachovává kompatibilitu s setLang() */
.lang-btn{}

/* ── Light mode ──────────────────────────────────── */
body.light{background:#e8e0d0;}
body.light canvas{filter:brightness(1.08) contrast(0.92);}
body.light .hud-box{background:rgba(255,255,255,.82);border-color:rgba(0,0,0,.15);color:#111;}
body.light #levelName{color:#357;}
body.light #timer{color:#111;}
body.light #playerTag{color:#1a8a22;}
body.light #speedBox{color:#080;}
body.light #coinHud{color:#a80;}
body.light #scoresBtn{background:rgba(255,255,255,.8);border-color:rgba(0,0,0,.2);color:#444;}
body.light #scoresBtn:hover{color:#000;border-color:#1a8a22;}
body.light #startOverlay{background:radial-gradient(ellipse at 30% 50%,#e8f5e8 0%,#d0ecd0 60%,#c0e0c0 100%);}
body.light .ov-title{color:#1a8a22;text-shadow:0 0 20px rgba(46,180,64,.3);}
body.light .ov-sub{color:#4a7a4a;}
body.light .name-box{background:rgba(46,204,64,.06);border-color:rgba(46,160,64,.35);}
body.light .name-box label{color:#1a8a22;}
body.light .name-input{background:rgba(255,255,255,.85);border-color:rgba(46,160,64,.4);color:#111;}
body.light .name-input:focus{border-color:#1a8a22;}
body.light .ov-ctrl{background:rgba(0,0,0,.03);border-color:rgba(0,0,0,.08);}
body.light .ov-ctrl table td{color:#555;}
body.light .ov-ctrl table td:first-child{color:#1a8a22;}
body.light .menu-tile{background:rgba(0,0,0,.04);border-color:rgba(0,0,0,.1);color:#555;}
body.light .menu-tile:hover{background:rgba(46,160,64,.12);border-color:rgba(46,160,64,.4);color:#1a8a22;}
body.light .ov-btn{background:linear-gradient(135deg,#1a9e28,#147a1e);color:#fff;}
body.light .ov-btn:disabled{background:#cde8cd;color:#7aaa7a;}
body.light .btn-danger{color:#c33;border-color:rgba(200,50,50,.3);background:rgba(200,50,50,.05);}
body.light .btn-danger:hover{background:rgba(200,50,50,.12);color:#a00;}
body.light .btn-sec{background:rgba(0,0,0,.06);color:#555;border-color:#bbb;}
body.light .btn-sec:hover{color:#111;border-color:#777;}
body.light #levelSelect{background:rgba(240,235,220,.97);}
body.light .ls-title{color:#1a8a22;}
body.light .ls-sub{color:#888;}
body.light .ls-card{background:rgba(0,0,0,.05);border-color:rgba(0,0,0,.12);}
body.light .ls-card:hover:not(.locked){border-color:#1a8a22;background:rgba(46,160,64,.08);}
body.light .ls-card .lc-name{color:#333;}
body.light .ls-card .lc-best{color:#357;}
body.light #crashMsg{background:rgba(255,255,255,.9);border-color:#c33;}
body.light #crashMsg h2{color:#c00;}
body.light #crashMsg p{color:#666;}
body.light #winOverlay{background:rgba(240,235,220,.92);}
body.light .win-box{background:rgba(255,252,240,.98);border-color:rgba(0,160,60,.3);}
body.light .win-title{color:#a80;}
body.light .win-time{color:#057;}
body.light .win-coins-earned{color:#a80;}
body.light .lb-table td{color:#444;}
body.light .lb-table td:last-child{color:#057;}
body.light .lb-table tr.lb-me td{color:#a80;}
body.light .lb-table tr.lb-me td:last-child{color:#080;}
body.light .lb-empty{color:#bbb;}
body.light .win-btn.secondary{background:rgba(0,0,0,.06);color:#555;border-color:#ccc;}
body.light #pauseOverlay{background:rgba(240,235,220,.88);}
body.light .pause-box{background:rgba(255,252,245,.98);border-color:rgba(80,100,200,.25);}
body.light .pause-title{color:#357;}
body.light .pause-sub{color:#888;}
body.light .pause-btn{background:rgba(0,0,0,.04);color:#555;border-color:#ccc;}
body.light .pause-btn:hover{background:rgba(0,0,0,.08);color:#111;border-color:#999;}
body.light .pb-continue{background:linear-gradient(135deg,#1a9e28,#147a1e);color:#fff;border-color:transparent;}
body.light #scoresOverlay{background:rgba(240,235,220,.96);}
body.light .scores-box{background:rgba(255,252,240,.98);border-color:rgba(0,160,60,.2);}
body.light .scores-hdr{color:#1a8a22;}
body.light .scores-lvl-title{color:#357;}
body.light .no-scores{color:#ccc;}
body.light .sf-btn{background:rgba(0,0,0,.05);color:#777;border-color:#ccc;}
body.light .sf-btn:hover{color:#111;border-color:#777;}
body.light .sf-btn.sf-active{color:#1a8a22;border-color:#1a8a22;background:rgba(46,160,64,.08);}
body.light #shopOverlay{background:rgba(240,235,220,.96);}
body.light .shop-box{background:rgba(255,252,240,.98);border-color:rgba(200,160,0,.3);}
body.light .shop-hdr{color:#a80;}
body.light .shop-coins{color:#a80;}
body.light .shop-name{color:#222;}
body.light .shop-desc{color:#888;}
body.light .shop-level{color:#357;}
body.light #achOverlay{background:rgba(240,235,220,.96);}
body.light .ach-box{background:rgba(255,252,240,.98);border-color:rgba(200,160,0,.3);}
body.light .ach-hdr{color:#a80;}
body.light .ach-item.unlocked .ach-name{color:#a80;}
body.light .ach-item.locked .ach-name{color:#bbb;}
body.light .ach-desc{color:#888;}
body.light #profileOverlay{background:rgba(240,235,220,.96);}
body.light .profile-box{background:rgba(255,252,240,.98);border-color:rgba(80,130,200,.3);}
body.light .profile-hdr{color:#357;}
body.light .profile-stat{color:#444;border-color:rgba(0,0,0,.08);}
body.light .profile-best-title{color:#aaa;}
body.light .profile-times td{color:#555;}
body.light .profile-times td:last-child{color:#057;}
body.light .avatar-btn{background:rgba(0,0,0,.04);border-color:#ccc;}
body.light .avatar-btn:hover{background:rgba(0,0,0,.08);}
body.light .avatar-btn.av-active{border-color:#1a8a22;background:rgba(46,160,64,.1);}
body.light #dailyOverlay,body.light #achOverlay{background:rgba(240,235,220,.96);}
body.light .daily-box{background:rgba(248,248,255,.98);border-color:rgba(80,80,200,.3);}
body.light .daily-hdr{color:#446;}
body.light .daily-date{color:#889;}
body.light .daily-status{color:#057;}
body.light .toggle-btn{background:rgba(255,255,255,.7);border-color:#ccc;color:#666;}
body.light .toggle-btn:hover{color:#111;border-color:#888;}
body.light .toggle-btn.active{color:#1a8a22;border-color:#1a8a22;background:rgba(46,160,64,.1);}
body.light .toggle-btn.off{color:#bbb;border-color:#ddd;}
body.light .toggle-sep{background:rgba(0,0,0,.12);}
body.light #achToast{background:rgba(255,252,240,.98);border-color:rgba(200,160,0,.6);}
body.light .toast-text{color:#a80;}

/* ── Achievement toast ───────────────────────────── */
#achToast{position:fixed;top:70px;left:50%;transform:translateX(-50%);
    background:rgba(10,10,5,.97);border:1px solid rgba(46,204,64,.6);
    border-radius:10px;padding:10px 20px;z-index:200;
    display:none;align-items:center;gap:10px;
    box-shadow:0 0 30px rgba(46,204,64,.25);}
#achToast.show{display:flex;}
.toast-icon{font-size:24px;}
.toast-text{font-size:13px;color:#4ade60;font-family:'Courier New',monospace;}
