:root{
  --bg:#060d1c;
  --panel:rgba(9,17,39,.78);
  --panel-strong:rgba(8,15,34,.92);
  --line:rgba(255,255,255,.12);
  --text:#f7fbff;
  --muted:#bdd3f0;
  --orange:#ff8b1f;
  --orange2:#ffb33f;
  --orange3:#e56a00;
  --orange-soft:#ffd9a4;
  --red:#ff6c2f;
  --blue:#194ed9;
  --gold:#ffd56f;
  --cream:#fff6e8;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#030611;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;touch-action:none;overscroll-behavior:none}
body{display:grid;place-items:center}
#shell{position:relative;width:min(100vw,calc(100dvh * 9 / 16));height:min(100dvh,calc(100vw * 16 / 9));overflow:hidden;background:#071225;box-shadow:0 0 0 1px rgba(255,255,255,.05),0 28px 90px rgba(0,0,0,.65)}
@media (max-aspect-ratio:9/16){#shell{width:100vw;height:100dvh}}
@media (min-width:780px){#shell{border-radius:28px}}
#gameCanvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.hidden{display:none!important}
.screen{position:absolute;inset:0;z-index:24;display:none;align-items:center;justify-content:center;padding:14px}
.screen.active{display:flex}
.screen-bg{position:absolute;inset:0}
.story-bg{background:linear-gradient(180deg,rgba(5,10,23,.10),rgba(5,10,23,.35) 35%,rgba(4,8,17,.62) 65%,rgba(4,8,17,.88)),url('../assets/hero_story.jpg') center/cover no-repeat}
.start-panel,.modal{position:relative;z-index:2}
.start-panel{position:relative;z-index:2;width:min(92%,540px)}
.start-panel.showcase{display:grid;justify-items:center;gap:12px;width:min(90%,500px);margin-top:auto;margin-bottom:calc(18px + env(safe-area-inset-bottom))}
.start-kicker{padding:10px 16px;border-radius:999px;background:linear-gradient(180deg,rgba(6,18,45,.92),rgba(6,15,36,.84));box-shadow:0 14px 30px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,196,119,.22);color:var(--orange-soft);font-weight:900;font-size:clamp(10px,2.8vw,12px);letter-spacing:.16em;text-transform:uppercase}
.start-logo-block{display:grid;justify-items:center;gap:12px;width:100%}
.versus-title{display:grid;justify-items:center;gap:2px;margin:0;text-transform:uppercase;line-height:.92;letter-spacing:-.04em;text-align:center;text-shadow:0 6px 18px rgba(0,0,0,.28)}
.versus-title span{display:block}
.versus-title .don,.versus-title .ron{font-size:clamp(40px,11vw,62px);font-weight:1000}
.versus-title .don{color:var(--orange)}
.versus-title .ron{color:#2456dc}
.versus-title .vs{font-size:clamp(24px,7vw,34px);font-weight:900;color:#fff6df;letter-spacing:0}
.story-ribbon{width:min(100%,460px);padding:16px 20px;border-radius:18px;background:var(--cream);color:#10203c;font-size:clamp(16px,4.2vw,21px);font-weight:1000;line-height:1.16;text-align:center;text-transform:uppercase;box-shadow:0 18px 42px rgba(0,0,0,.24);border:2px solid rgba(13,20,44,.08)}
.story-ribbon span{color:#f17a14}
.start-tip{padding:12px 18px;border-radius:18px;background:linear-gradient(180deg,rgba(8,20,46,.90),rgba(7,16,36,.84));box-shadow:0 12px 28px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.10);color:#e8f0ff;font-size:clamp(12px,3.4vw,15px);font-weight:700;text-align:center}
.start-actions{display:grid;gap:10px;width:min(100%,430px)}
.cta-btn,.subtle-btn{width:min(100%,430px);border:0;border-radius:999px;padding:17px 24px;min-height:64px;font-weight:1000;letter-spacing:.02em;font-size:clamp(16px,4.5vw,19px);cursor:pointer;box-shadow:0 18px 40px rgba(0,0,0,.28);text-transform:uppercase;transition:transform .15s ease,filter .15s ease}
.cta-btn:hover,.subtle-btn:hover{filter:brightness(1.03)}
.cta-btn:active,.subtle-btn:active{transform:translateY(1px)}
.cta-btn{color:white;background:linear-gradient(180deg,#ff9d22,#f28316 56%,#de6900);border:1px solid rgba(255,243,223,.62);box-shadow:0 18px 40px rgba(189,93,8,.34),inset 0 2px 0 rgba(255,255,255,.28),inset 0 -4px 0 rgba(142,66,5,.32)}
.subtle-btn{color:#fff;background:linear-gradient(180deg,#ffb13a,#f08b18 58%,#dd6e03);border:1px solid rgba(255,236,201,.56);box-shadow:0 16px 36px rgba(172,88,11,.30),inset 0 2px 0 rgba(255,255,255,.24),inset 0 -4px 0 rgba(146,74,8,.28)}
.game-ui{position:absolute;inset:0;z-index:12;pointer-events:none}
.quote-bubble{position:absolute;left:50%;top:calc(10px + env(safe-area-inset-top));transform:translateX(-50%) translateY(-4px);width:min(72vw,320px);padding:10px 12px;border-radius:20px;background:linear-gradient(180deg,rgba(8,18,43,.78),rgba(8,16,36,.70));box-shadow:0 18px 36px rgba(0,0,0,.25),inset 0 0 0 1px rgba(255,255,255,.13);backdrop-filter:blur(10px);opacity:0;transition:.24s ease;pointer-events:none}
.quote-bubble.show{opacity:1;transform:translateX(-50%) translateY(0)}
.quote-bubble small{display:block;font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#ffd992;font-weight:900}
.quote-bubble b{display:block;font-size:clamp(12px,3.4vw,14px);line-height:1.24;color:#fff}
.tutorial-hint{position:absolute;left:50%;top:calc(64px + env(safe-area-inset-top));transform:translateX(-50%);width:min(78vw,300px);padding:10px 12px;border-radius:16px;background:rgba(6,15,34,.62);box-shadow:0 12px 28px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.09);text-align:center;transition:.4s ease;backdrop-filter:blur(10px)}
.tutorial-hint.fade{opacity:0;transform:translateX(-50%) translateY(-8px)}
.tutorial-hint b{display:block;color:#ffb84c;font-size:clamp(14px,4vw,17px);line-height:1.05}
.tutorial-hint span{display:block;color:#d8e5ff;font-size:clamp(10px,3vw,12px);margin-top:4px;line-height:1.25}
.bottom-hud{position:absolute;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));padding:10px;border-radius:24px;background:linear-gradient(180deg,rgba(7,15,36,.88),rgba(5,12,28,.82));box-shadow:0 18px 40px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.12);backdrop-filter:blur(14px)}
.hud-grid{display:grid;grid-template-columns:1.15fr repeat(3,minmax(0,1fr));gap:8px}
.hud-stat{min-width:0;padding:9px 10px 10px;border-radius:18px;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.hud-stat.primary{background:linear-gradient(180deg,rgba(255,156,44,.98),rgba(246,127,22,.96) 56%,rgba(223,106,0,.92))}
.hud-stat small,.fever-box small,.result-grid small{display:block;color:#c5d8ef;text-transform:uppercase;font-size:clamp(8px,2.2vw,10px);letter-spacing:.11em;font-weight:900}
.hud-stat.primary small{color:#fff3dc}
.hud-stat b{display:block;font-size:clamp(18px,5.3vw,24px);line-height:1.08;margin-top:4px;white-space:nowrap}
.hud-grid .hud-stat:not(.primary) b{font-size:clamp(17px,4.8vw,21px)}
.hud-row2{margin-top:8px;display:grid;grid-template-columns:minmax(90px,auto) 1fr;gap:8px;align-items:center}
.lives-pill{padding:10px 14px;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);font-size:clamp(16px,5vw,19px);line-height:1;white-space:nowrap}
.fever-box{min-width:0;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.meter{height:11px;margin-top:6px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}.meter span{display:block;height:100%;width:0;background:linear-gradient(90deg,#ff8b1f,#ffb83e,#ffd56f);border-radius:999px;box-shadow:0 0 16px rgba(255,188,76,.62)}
.overlay-screen{background:rgba(3,8,18,.58);backdrop-filter:blur(12px)}
.modal{width:min(94%,520px);max-height:calc(100dvh - 18px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:18px 16px 16px;border-radius:26px;background:linear-gradient(180deg,rgba(10,18,42,.96),rgba(8,14,34,.94));box-shadow:0 28px 90px rgba(0,0,0,.56),inset 0 0 0 1px rgba(255,255,255,.13);display:flex;flex-direction:column;gap:12px;overflow:auto}
.modal::-webkit-scrollbar,.leader-list-wrap::-webkit-scrollbar{width:8px;height:8px}.modal::-webkit-scrollbar-thumb,.leader-list-wrap::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}
.modal-topline{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#ffca72;font-weight:900}.modal h2{margin:2px 0 0;font-size:clamp(30px,9vw,42px);letter-spacing:-.05em;line-height:.94}.modal h2 span{color:#ff9e44}.modal-copy{margin:0;color:#cfdef5;line-height:1.48;font-size:clamp(13px,3.6vw,15px)}
.score-card{padding:15px 16px;border-radius:22px;background:linear-gradient(180deg,rgba(255,158,49,.98),rgba(245,129,24,.96) 56%,rgba(223,105,0,.92));box-shadow:0 18px 38px rgba(255,104,42,.24)}
.score-card small{display:block;text-transform:uppercase;letter-spacing:.11em;font-size:10px;color:#fff3df;font-weight:900}.score-card b{display:block;font-size:clamp(34px,12vw,46px);line-height:1.05}
.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.result-grid>div{min-width:0;padding:11px 12px;border-radius:16px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}.result-grid b{display:block;font-size:clamp(20px,6.2vw,24px);margin-top:4px;word-break:break-word}
#nameInput{width:100%;border:0;border-radius:16px;padding:14px 14px;background:#f5f8ff;color:#10203c;font-size:clamp(16px,4.5vw,18px);font-weight:800}
.button-stack{display:grid;gap:8px}
.leader-top3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.podium{min-width:0;padding:12px 8px 12px;border-radius:20px;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,243,223,.12),0 14px 28px rgba(0,0,0,.18)}.podium.gold{background:linear-gradient(180deg,rgba(255,177,58,.34),rgba(255,136,24,.14))}.podium.silver{background:linear-gradient(180deg,rgba(255,162,52,.24),rgba(255,132,38,.10))}.podium.bronze{background:linear-gradient(180deg,rgba(255,140,62,.20),rgba(213,104,36,.08))}.podium small{display:block;text-transform:uppercase;font-size:9px;letter-spacing:.1em;color:#fff1d0}.podium b{display:block;font-size:clamp(17px,5.8vw,22px);margin-top:6px;line-height:1.08}.podium span{display:block;font-size:clamp(10px,3.4vw,12px);color:#ffcf84;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px}
.leader-list-wrap{max-height:31vh;overflow:auto;border-radius:20px;background:linear-gradient(180deg,rgba(255,152,43,.06),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(255,199,111,.16);padding:6px 0}
.leader-table{width:100%;border-collapse:collapse;table-layout:fixed}.leader-table th,.leader-table td{padding:11px 10px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-table th:last-child,.leader-table td:last-child{text-align:right}.leader-table th{font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:#ffd9aa}.leader-table th:nth-child(1),.leader-table td:nth-child(1){width:42px;text-align:center}.leader-table th:nth-child(3),.leader-table td:nth-child(3){width:92px}.leader-table td:nth-child(2){font-size:clamp(14px,4vw,16px)}.leader-table td:nth-child(3){font-weight:800}.leader-table tr:last-child td{border-bottom:0}.leader-table tr.me td{background:rgba(255,140,33,.18)}
.rank-modal.leaderboard{width:min(94%,540px)}
@media (max-width:380px){
  .screen{padding:10px}
  .start-panel.showcase{width:min(92%,400px);gap:10px}
  .start-kicker{padding:9px 14px}
  .story-ribbon{padding:14px 16px;font-size:clamp(14px,4vw,18px)}
  .cta-btn,.subtle-btn{border-radius:999px;min-height:58px;padding:15px 18px}
  .quote-bubble{width:min(78vw,296px)}
  .bottom-hud{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));padding:9px}
  .hud-grid{gap:6px}
  .hud-stat{padding:8px 8px 9px}
  .result-grid>div{padding:10px}
  .leader-top3{gap:6px}
}
@media (max-height:760px){
  .quote-bubble{top:calc(8px + env(safe-area-inset-top));padding:9px 11px}
  .tutorial-hint{top:calc(56px + env(safe-area-inset-top));padding:9px 10px}
  .bottom-hud{padding:8px 9px}
  .hud-row2{margin-top:6px}
  .modal{padding:16px 14px 14px;gap:10px}
  .leader-list-wrap{max-height:28vh}
}

.rank-modal.leaderboard .modal-copy,.rank-modal .modal-copy{max-width:32ch}
.rank-modal .button-stack,.start-actions{justify-items:center}
#gameOverScreen .button-stack .cta-btn,#rankingScreen .button-stack .cta-btn,#gameOverScreen .button-stack .subtle-btn,#rankingScreen .button-stack .subtle-btn{width:100%}

/* Final polish pass */
.start-screen{justify-content:flex-start;overflow:hidden}
.start-showcase-bg{
  background:
    radial-gradient(circle at 14% 24%, rgba(46,125,255,.28) 0 2.2%, transparent 2.4%),
    radial-gradient(circle at 12% 24%, rgba(46,125,255,.85) 0 .32%, transparent .45%),
    radial-gradient(circle at 86% 22%, rgba(255,103,31,.30) 0 2.2%, transparent 2.4%),
    radial-gradient(circle at 84% 22%, rgba(255,157,34,.85) 0 .32%, transparent .45%),
    radial-gradient(circle at 8% 33%, rgba(255,139,31,.7) 0 .22%, transparent .35%),
    radial-gradient(circle at 18% 31%, rgba(51,135,255,.7) 0 .22%, transparent .35%),
    radial-gradient(circle at 92% 32%, rgba(255,139,31,.7) 0 .22%, transparent .35%),
    radial-gradient(circle at 80% 35%, rgba(255,214,111,.5) 0 .18%, transparent .3%),
    linear-gradient(180deg,#0c3c88 0%,#0a2e6d 22%,#0a255a 44%,#091a3e 62%,#071124 100%);
}
.start-showcase-bg::before,
.start-showcase-bg::after{content:"";position:absolute;pointer-events:none}
.start-showcase-bg::before{
  inset:auto -18% 28% -18%;height:38%;
  background:
    radial-gradient(ellipse at center, rgba(32,74,148,.88) 0 49%, rgba(18,40,87,.95) 50% 63%, transparent 64%),
    radial-gradient(circle at 14% 28%, rgba(255,255,255,.34) 0 1.2%, transparent 1.4%),
    radial-gradient(circle at 86% 30%, rgba(255,255,255,.34) 0 1.2%, transparent 1.4%);
  filter:drop-shadow(0 18px 34px rgba(0,0,0,.22));
}
.start-showcase-bg::after{
  left:-8%;right:-8%;bottom:-7%;height:36%;border-radius:50% 50% 0 0/72% 72% 0 0;
  background:
    linear-gradient(90deg,transparent 0 9%, rgba(255,255,255,.10) 10%, transparent 11%, transparent 29%, rgba(255,255,255,.08) 30%, transparent 31%, transparent 49%, rgba(255,255,255,.08) 50%, transparent 51%, transparent 69%, rgba(255,255,255,.08) 70%, transparent 71%, transparent 89%, rgba(255,255,255,.10) 90%, transparent 91%),
    linear-gradient(180deg, rgba(83,198,81,.92), rgba(48,160,65,.96));
  box-shadow:inset 0 6px 0 rgba(255,255,255,.06),0 -18px 50px rgba(25,95,40,.28);
}
.start-panel.mocklike{width:min(92%,520px);gap:14px;margin-top:16px;margin-bottom:calc(20px + env(safe-area-inset-bottom))}
.intro-stack{display:grid;gap:12px;width:min(100%,430px)}
.hint-card{padding:14px 16px 16px;border-radius:24px;background:linear-gradient(180deg,rgba(6,18,45,.96),rgba(5,14,34,.92));box-shadow:0 16px 38px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.14);text-align:left}
.hint-card small{display:block;margin-bottom:4px;color:#ffbf53;font-size:clamp(12px,3.1vw,14px);font-weight:1000;letter-spacing:.09em;text-transform:uppercase}
.hint-card b{display:block;color:#fff;font-size:clamp(18px,4.7vw,22px);line-height:1.16}
.hint-card.center{text-align:center}
.hint-card.center b{font-size:clamp(16px,4.1vw,18px);font-weight:500;color:#eef4ff}
.hint-card.center small{margin-bottom:8px;font-size:clamp(15px,4.4vw,18px)}
.start-logo-block.mocklike{display:grid;justify-items:center;gap:12px;width:100%}
.flag-row{display:grid;grid-template-columns:auto auto;gap:18px;align-items:center;justify-content:center}
.flag-left{font-size:clamp(38px,9vw,54px);filter:drop-shadow(0 6px 16px rgba(0,0,0,.28))}
.flag-right{width:clamp(54px,14vw,80px);height:clamp(34px,9vw,48px);background:linear-gradient(180deg,#ff9d22,#f28316 58%,#d96a00);border-radius:8px 24px 10px 8px;box-shadow:0 8px 18px rgba(0,0,0,.24);position:relative;transform:skewX(-6deg)}
.flag-right::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.14),transparent 45%,rgba(0,0,0,.08));border-radius:inherit}
.versus-title{gap:4px;text-shadow:0 7px 18px rgba(0,0,0,.34)}
.versus-title .don,.versus-title .ron{font-size:clamp(48px,13vw,72px);line-height:.9}
.versus-title .vs{font-size:clamp(24px,6.2vw,36px)}
.story-ribbon{position:relative;padding:16px 22px 17px;max-width:480px;border-radius:12px;background:#fff4e5;box-shadow:0 20px 38px rgba(0,0,0,.22);border:2px solid rgba(12,19,40,.06)}
.story-ribbon::before,.story-ribbon::after{content:"";position:absolute;top:50%;width:16px;height:34px;background:#e6dbc6;transform:translateY(-50%) skewY(-18deg)}
.story-ribbon::before{left:-10px;border-radius:4px 0 0 4px}
.story-ribbon::after{right:-10px;transform:translateY(-50%) skewY(18deg);border-radius:0 4px 4px 0}
.hero-stage{position:relative;width:min(100%,480px);height:clamp(270px,34vh,360px);display:grid;align-items:end;justify-items:center;overflow:visible}
.hero-stage::before{content:"";position:absolute;inset:12% 0 24% 0;border-radius:40% 40% 22px 22px/30% 30% 22px 22px;background:
    radial-gradient(circle at 14% 6%, rgba(255,255,255,.86) 0 1.1%, transparent 1.5%),
    radial-gradient(circle at 86% 6%, rgba(255,255,255,.86) 0 1.1%, transparent 1.5%),
    radial-gradient(circle at 20% 34%, rgba(255,139,31,.9) 0 .55%, transparent .75%),
    radial-gradient(circle at 30% 48%, rgba(49,123,255,.75) 0 .55%, transparent .75%),
    radial-gradient(circle at 72% 36%, rgba(255,139,31,.9) 0 .55%, transparent .75%),
    radial-gradient(circle at 66% 60%, rgba(49,123,255,.75) 0 .55%, transparent .75%),
    linear-gradient(180deg, rgba(8,28,74,.18), rgba(8,28,74,.0) 28%),
    radial-gradient(ellipse at center, rgba(14,34,86,.98) 0 56%, rgba(9,21,53,.98) 57% 100%);
  box-shadow:inset 0 -34px 40px rgba(0,0,0,.24);
}
.duel-heroes{position:absolute;left:50%;top:4%;transform:translateX(-50%);width:min(92%,420px);height:clamp(136px,20vh,190px);background:url('../assets/hero_story.jpg') center 31%/115% auto no-repeat;filter:drop-shadow(0 12px 26px rgba(0,0,0,.28));mask-image:linear-gradient(180deg,#000 0 82%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0 82%,transparent 100%);animation:heroFloat 4.5s ease-in-out infinite}
.mini-field{position:relative;z-index:1;width:100%;height:54%;border-radius:48% 48% 0 0/72% 72% 0 0;background:
    linear-gradient(90deg,transparent 0 10%, rgba(255,255,255,.12) 10.5%, transparent 11%, transparent 30%, rgba(255,255,255,.08) 30.5%, transparent 31%, transparent 50%, rgba(255,255,255,.08) 50.5%, transparent 51%, transparent 70%, rgba(255,255,255,.08) 70.5%, transparent 71%, transparent 90%, rgba(255,255,255,.12) 90.5%, transparent 91%),
    linear-gradient(180deg,#52c85d,#319f45);
  box-shadow:inset 0 8px 0 rgba(255,255,255,.06),0 -12px 30px rgba(19,89,43,.26)}
.mini-field::before{content:"";position:absolute;left:6%;right:6%;top:40%;height:1px;background:rgba(255,255,255,.20)}
.mini-field::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:24px;background:linear-gradient(180deg,rgba(18,69,28,.0),rgba(10,39,16,.45));filter:blur(5px)}
.mini-ball{position:absolute;left:50%;top:22%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#fff 0 52%,#e5ecfb 70%,#ccd7f0 100%);box-shadow:0 0 28px rgba(255,240,172,.75)}
.mini-ball::before{content:"";position:absolute;inset:10px;border-radius:50%;border:2px solid #12233f}
.mini-ball::after{content:"";position:absolute;left:17px;top:17px;width:10px;height:10px;background:#13213c;clip-path:polygon(50% 0%,100% 38%,81% 100%,19% 100%,0% 38%)}
.mini-goal{position:absolute;right:10%;top:18%;width:86px;height:74px;border:4px solid rgba(245,248,255,.94);border-bottom-width:2px;border-left-width:2px;background:linear-gradient(90deg,transparent 0 12%, rgba(255,255,255,.22) 12% 14%, transparent 14% 28%, rgba(255,255,255,.22) 28% 30%, transparent 30% 44%, rgba(255,255,255,.22) 44% 46%, transparent 46% 60%, rgba(255,255,255,.22) 60% 62%, transparent 62% 76%, rgba(255,255,255,.22) 76% 78%, transparent 78%);opacity:.95}
.mini-player{position:absolute;bottom:14%;width:64px;height:98px;filter:drop-shadow(0 10px 10px rgba(0,0,0,.2));animation:heroBob 3.8s ease-in-out infinite}
.mini-player::before{content:"";position:absolute;left:18px;top:0;width:28px;height:28px;border-radius:50%;background:#f4c18a;box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)}
.mini-player::after{content:"";position:absolute;left:9px;bottom:0;width:46px;height:12px;border-radius:50%;background:rgba(7,36,20,.38)}
.mini-player.ronald{left:19%}
.mini-player.donald{left:58%;animation-delay:-1.3s}
.mini-player.ronald{background:
    linear-gradient(180deg,#8f532c 0 12px,transparent 12px),
    linear-gradient(180deg,transparent 0 28px,#ff931f 28px 64px,transparent 64px),
    linear-gradient(90deg,transparent 0 18px,#ff931f 18px 22px,transparent 22px 40px,#ff931f 40px 44px,transparent 44px),
    linear-gradient(180deg,transparent 0 62px,#ffffff 62px 82px,transparent 82px),
    linear-gradient(90deg,transparent 0 21px,#ff931f 21px 28px,transparent 28px 36px,#14213d 36px 43px,transparent 43px),
    linear-gradient(90deg,transparent 0 19px,#0d1833 19px 27px,transparent 27px 37px,#0d1833 37px 45px,transparent 45px);
}
.mini-player.ronald::before{box-shadow:inset 0 -2px 0 rgba(0,0,0,.08);background:#f3c493}
.mini-player.donald{background:
    linear-gradient(180deg,#f0cf4a 0 12px,transparent 12px),
    linear-gradient(180deg,transparent 0 28px,#17317e 28px 64px,transparent 64px),
    linear-gradient(90deg,transparent 0 18px,#17317e 18px 22px,transparent 22px 40px,#17317e 40px 44px,transparent 44px),
    linear-gradient(180deg,transparent 0 28px,transparent 0 44px,#ffffff 44px 62px,transparent 62px),
    linear-gradient(180deg,transparent 0 40px,#dd2f1e 40px 70px,transparent 70px),
    linear-gradient(90deg,transparent 0 21px,#17317e 21px 28px,transparent 28px 36px,#17317e 36px 43px,transparent 43px),
    linear-gradient(90deg,transparent 0 19px,#0d1833 19px 27px,transparent 27px 37px,#0d1833 37px 45px,transparent 45px);
}
.icon-btn{display:flex;align-items:center;justify-content:center;gap:14px}
.btn-icon{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);color:#0f2140;font-size:22px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.10),0 6px 12px rgba(0,0,0,.16);flex:0 0 auto}
.cta-btn .btn-icon{background:#fff8e8}
.subtle-btn .btn-icon{background:rgba(255,248,232,.92)}
.start-actions{gap:12px;width:min(100%,440px)}
.cta-btn,.subtle-btn{font-size:clamp(16px,4.6vw,19px);min-height:68px;padding:18px 26px}
.cta-btn{background:linear-gradient(180deg,#ff9f24,#f28615 56%,#d86700);box-shadow:0 18px 38px rgba(195,94,11,.34),inset 0 3px 0 rgba(255,255,255,.25),inset 0 -5px 0 rgba(133,59,3,.30)}
.subtle-btn{background:linear-gradient(180deg,#ffb339,#ef8a18 58%,#cb6300);box-shadow:0 15px 34px rgba(172,88,11,.30),inset 0 2px 0 rgba(255,255,255,.24),inset 0 -4px 0 rgba(146,74,8,.28)}
.start-actions .cta-btn{animation:ctaPulse 2.4s ease-in-out infinite}
.modal{border:1px solid rgba(255,174,82,.16);box-shadow:0 28px 90px rgba(0,0,0,.56),inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 1px rgba(255,139,31,.07)}
.button-stack{gap:10px}
.leader-top3{align-items:end;margin-top:2px}
.podium{padding:14px 10px;border:1px solid rgba(255,213,140,.10);position:relative;overflow:hidden}
.podium::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.14),transparent 34%,transparent 70%,rgba(255,255,255,.04));pointer-events:none}
.podium.gold{transform:translateY(-8px);padding-top:18px;padding-bottom:18px;box-shadow:inset 0 0 0 1px rgba(255,243,223,.18),0 18px 34px rgba(255,137,24,.18)}
.podium.silver{transform:translateY(2px)}
.podium.bronze{transform:translateY(8px)}
.podium b{color:#fff}
.leader-list-wrap{scrollbar-color:rgba(255,174,71,.52) rgba(255,255,255,.05)}
.leader-table tr{transition:background .16s ease}
.leader-table tr:hover td{background:rgba(255,153,51,.08)}
.leader-table tr.me td{background:rgba(255,140,33,.21)}
.score-card{border:1px solid rgba(255,239,217,.14)}
#nameInput{border:1px solid rgba(255,182,102,.24);box-shadow:inset 0 2px 0 rgba(255,255,255,.04)}

@keyframes heroFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-6px)}}
@keyframes heroBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ctaPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.018)}}

@media (max-width:420px){
  .start-panel.mocklike{width:min(94%,400px);gap:11px;margin-top:12px}
  .intro-stack{gap:10px}
  .hint-card{padding:12px 14px 14px;border-radius:20px}
  .story-ribbon{padding:14px 16px;font-size:clamp(14px,4.1vw,17px)}
  .story-ribbon::before,.story-ribbon::after{width:10px;height:24px}
  .hero-stage{height:clamp(235px,33vh,310px)}
  .duel-heroes{width:min(96%,350px);height:clamp(120px,18vh,154px);top:5%}
  .mini-goal{right:8%;width:70px;height:60px}
  .mini-player{width:56px;height:88px}
  .btn-icon{width:34px;height:34px;font-size:18px}
  .cta-btn,.subtle-btn{min-height:62px;padding:16px 20px;gap:10px}
}

/* Start screen cleanup fix */
.start-panel.showcase.mocklike{
  width:min(92%,520px);
  gap:12px;
  padding-top:max(8px, env(safe-area-inset-top));
}
.start-showcase-bg{
  background:
    radial-gradient(circle at 14% 18%, rgba(53,129,255,.18) 0 2.2%, transparent 2.4%),
    radial-gradient(circle at 86% 20%, rgba(255,132,31,.18) 0 2.2%, transparent 2.4%),
    radial-gradient(circle at 10% 30%, rgba(255,132,31,.65) 0 .24%, transparent .38%),
    radial-gradient(circle at 18% 28%, rgba(51,135,255,.6) 0 .22%, transparent .35%),
    radial-gradient(circle at 80% 28%, rgba(255,132,31,.65) 0 .24%, transparent .38%),
    radial-gradient(circle at 92% 30%, rgba(51,135,255,.55) 0 .22%, transparent .35%),
    linear-gradient(180deg,#0c3d8c 0%,#0b2e72 26%,#0b2357 54%,#081738 100%);
}
.start-showcase-bg::before{display:none}
.start-showcase-bg::after{
  left:-8%;right:-8%;bottom:-8%;height:33%;border-radius:50% 50% 0 0/70% 70% 0 0;
  background:
    linear-gradient(90deg,transparent 0 12%, rgba(255,255,255,.09) 12.4%, transparent 12.8%, transparent 32%, rgba(255,255,255,.06) 32.4%, transparent 32.8%, transparent 52%, rgba(255,255,255,.06) 52.4%, transparent 52.8%, transparent 72%, rgba(255,255,255,.06) 72.4%, transparent 72.8%, transparent 92%, rgba(255,255,255,.09) 92.4%, transparent 92.8%),
    linear-gradient(180deg,#59cb62,#319f45);
  box-shadow:inset 0 6px 0 rgba(255,255,255,.05),0 -18px 42px rgba(0,0,0,.22);
}
.intro-stack{width:min(100%,420px)}
.hint-card{padding:13px 16px 15px;border-radius:22px}
.hint-card b{font-size:clamp(17px,4.5vw,21px)}
.hint-card.center small{font-size:clamp(15px,4.1vw,18px)}
.hint-card.center b{font-size:clamp(14px,3.9vw,17px)}
.start-logo-block.mocklike{gap:10px}
.flag-row{gap:16px}
.flag-left{font-size:clamp(34px,8.6vw,48px)}
.flag-right{width:clamp(52px,13vw,72px);height:clamp(30px,7.6vw,42px);border-radius:8px 18px 10px 8px}
.versus-title .don,.versus-title .ron{font-size:clamp(42px,12vw,66px)}
.versus-title .vs{font-size:clamp(22px,6vw,32px)}
.story-ribbon{max-width:470px;padding:14px 18px;font-size:clamp(14px,4.2vw,19px);line-height:1.14;border-radius:18px}
.story-ribbon::before,.story-ribbon::after{display:none}
.hero-stage.clean-start{
  position:relative;
  width:min(100%,470px);
  height:clamp(260px,33vh,360px);
  margin-top:2px;
  display:block;
  overflow:hidden;
  border-radius:28px;
  background:
    radial-gradient(circle at 14% 18%, rgba(255,255,255,.14) 0 .7%, transparent .8%),
    radial-gradient(circle at 86% 16%, rgba(255,255,255,.14) 0 .7%, transparent .8%),
    linear-gradient(180deg,#0a3a88 0%,#0a285d 44%,#091f4d 56%,#0a2a1a 56.5%,#164820 100%);
  box-shadow:0 18px 42px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.10);
}
.hero-stage.clean-start::before{
  content:"";position:absolute;left:-8%;right:-8%;top:18%;height:46%;
  background:
    radial-gradient(circle at 10% 30%, rgba(255,255,255,.96) 0 1%, transparent 1.2%),
    radial-gradient(circle at 90% 30%, rgba(255,255,255,.96) 0 1%, transparent 1.2%),
    radial-gradient(circle at 15% 60%, rgba(255,141,37,.92) 0 .45%, transparent .65%),
    radial-gradient(circle at 25% 42%, rgba(61,129,255,.92) 0 .45%, transparent .65%),
    radial-gradient(circle at 72% 48%, rgba(255,141,37,.92) 0 .45%, transparent .65%),
    radial-gradient(circle at 82% 62%, rgba(61,129,255,.92) 0 .45%, transparent .65%),
    radial-gradient(ellipse at center, rgba(21,56,120,.98) 0 54%, rgba(9,27,67,.98) 55% 100%);
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.18));
}
.hero-stage.clean-start::after{
  content:"";position:absolute;left:-10%;right:-10%;bottom:-2%;height:46%;border-radius:50% 50% 0 0/74% 74% 0 0;
  background:
    linear-gradient(90deg,transparent 0 10%, rgba(255,255,255,.10) 10.4%, transparent 10.8%, transparent 30%, rgba(255,255,255,.08) 30.4%, transparent 30.8%, transparent 50%, rgba(255,255,255,.08) 50.4%, transparent 50.8%, transparent 70%, rgba(255,255,255,.08) 70.4%, transparent 70.8%, transparent 90%, rgba(255,255,255,.10) 90.4%, transparent 90.8%),
    linear-gradient(180deg,#57c55d,#339f47);
  box-shadow:inset 0 4px 0 rgba(255,255,255,.06),0 -10px 20px rgba(0,0,0,.18)
}
.coach{
  position:absolute;z-index:2;top:25%;width:37%;height:32%;
  background-image:url('../assets/hero_story.jpg');
  background-repeat:no-repeat;background-size:240% auto;
  filter:drop-shadow(0 10px 20px rgba(0,0,0,.24));
}
.coach-donald{left:4%;background-position:22% 37%}
.coach-ronald{right:4%;background-position:78% 37%}
.thought-puff{position:absolute;right:18%;top:38%;z-index:2;width:34px;height:24px;border-radius:50%;background:rgba(255,255,255,.88);box-shadow:-14px 10px 0 -6px rgba(255,255,255,.72),-24px 18px 0 -12px rgba(255,255,255,.56)}
.mini-field{position:absolute;left:4%;right:4%;bottom:3%;height:46%;z-index:3;background:transparent;box-shadow:none}
.mini-field::before{content:"";position:absolute;left:6%;right:6%;top:34%;height:1px;background:rgba(255,255,255,.14)}
.mini-field::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:24px;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.08))}
.mini-ball{left:50%;top:20%;width:48px;height:48px;box-shadow:0 0 26px rgba(255,245,184,.72)}
.mini-goal{right:8%;top:16%;width:86px;height:72px;border-color:rgba(248,250,255,.92);opacity:.95}
.mini-player{bottom:6%;width:72px;height:102px}
.mini-player.ronald{left:15%}
.mini-player.donald{left:58%}
.start-actions{width:min(100%,430px);gap:12px}
.cta-btn,.subtle-btn{width:100%;min-height:64px;padding:16px 24px;font-size:clamp(15px,4.5vw,18px)}
.cta-btn .btn-icon,.subtle-btn .btn-icon{width:38px;height:38px;font-size:20px}
.subtle-btn{opacity:.96}

@media (max-width:420px){
  .start-panel.showcase.mocklike{width:min(94%,398px);gap:10px}
  .story-ribbon{padding:12px 14px;font-size:clamp(13px,4vw,16px)}
  .hero-stage.clean-start{height:clamp(235px,31.5vh,320px);border-radius:24px}
  .coach{top:24%;height:30%}
  .mini-goal{width:72px;height:60px}
  .mini-player{width:60px;height:90px}
  .cta-btn,.subtle-btn{min-height:60px}
}

/* Nieuwe start-overlay: het spel blijft zichtbaar als stille achtergrond. */
.start-screen.start-overlay{
  padding:0;
  align-items:stretch;
  justify-content:center;
  background:transparent;
  overflow:hidden;
}
.start-screen.start-overlay .start-vignette{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 33%, rgba(255,153,39,.18), transparent 34%),
    linear-gradient(180deg, rgba(2,8,24,.82) 0%, rgba(2,8,24,.42) 38%, rgba(2,8,24,.70) 100%);
  backdrop-filter:blur(1.4px) saturate(1.05);
}
.start-screen.start-overlay .start-vignette::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:38%;
  background:linear-gradient(180deg, transparent, rgba(1,5,15,.72));
  pointer-events:none;
}
.start-overlay-panel{
  position:relative;
  z-index:2;
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,2.2dvh,22px);
  padding:calc(22px + env(safe-area-inset-top)) 22px calc(30px + env(safe-area-inset-bottom));
  text-align:center;
}
.start-overlay-logo{
  width:min(91vw,460px);
  max-height:min(52dvh,420px);
  object-fit:contain;
  filter:drop-shadow(0 24px 34px rgba(0,0,0,.46)) drop-shadow(0 0 18px rgba(17,61,151,.32));
  user-select:none;
  -webkit-user-drag:none;
}
.start-overlay-copy{
  width:min(90vw,430px);
  margin:0;
  color:#fff7e8;
  font-size:clamp(17px,4.8vw,25px);
  line-height:1.16;
  font-weight:1000;
  letter-spacing:-.02em;
  text-transform:uppercase;
  text-shadow:0 4px 14px rgba(0,0,0,.62),0 0 18px rgba(2,8,24,.64);
}
.start-play-btn{
  width:min(88vw,430px);
  min-height:68px;
  margin-top:clamp(4px,1dvh,12px);
  font-size:clamp(17px,5vw,22px);
  animation:ctaPulse 2.4s ease-in-out infinite;
}
.start-play-btn .btn-icon{
  width:42px;
  height:42px;
  font-size:22px;
}
.start-rank-btn{
  min-height:46px;
  padding:10px 16px;
  font-size:clamp(12px,3.6vw,15px);
  background:rgba(7,18,45,.74)!important;
  color:#fff4d9!important;
}
.start-rank-btn .btn-icon{width:30px;height:30px;font-size:16px}
@media (max-width:420px){.start-rank-btn{min-height:42px;font-size:clamp(11px,3.5vw,14px)}}

@media (max-width:420px){
  .start-overlay-panel{padding-left:18px;padding-right:18px;gap:clamp(10px,1.8dvh,16px)}
  .start-overlay-logo{width:min(94vw,390px);max-height:48dvh}
  .start-overlay-copy{font-size:clamp(15px,4.5vw,19px);width:min(92vw,360px)}
  .start-play-btn{min-height:60px;font-size:clamp(15px,4.7vw,18px)}
  .start-play-btn .btn-icon{width:36px;height:36px;font-size:19px}
}
@media (max-height:640px){
  .start-overlay-panel{gap:10px;justify-content:flex-end}
  .start-overlay-logo{max-height:44dvh;width:min(86vw,360px)}
  .start-overlay-copy{font-size:clamp(14px,4.2vw,18px)}
}

/* Polish pass: stronger WK game-feel, turbo jump hint and replay-focused end screen. */
.tutorial-hint{width:min(88vw,340px)}
.tutorial-hint b::after{content:""}
#gameOverScreen.overlay-screen{background:radial-gradient(circle at 50% 32%,rgba(255,139,31,.20),transparent 36%),rgba(3,8,18,.66)}
#gameOverScreen.active .rank-modal{animation:endModalPop .44s cubic-bezier(.18,1.28,.42,1);border:1px solid rgba(255,213,111,.20);box-shadow:0 34px 90px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.08),0 0 54px rgba(255,139,31,.14)}
#gameOverScreen .modal-topline{color:#ffd56f}
#gameOverScreen h2{font-size:clamp(32px,10vw,48px);letter-spacing:-.055em;text-shadow:0 6px 20px rgba(0,0,0,.35)}
#gameOverScreen .score-card{position:relative;overflow:hidden;text-align:center}
#gameOverScreen .score-card::before{content:"";position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 0 42%,rgba(255,255,255,.34) 49%,transparent 56%);transform:translateX(-55%);opacity:.55}
#gameOverScreen .rank-modal.is-counting .score-card::before{animation:scoreShine .9s linear infinite}
#gameOverScreen .score-card b{font-variant-numeric:tabular-nums;font-size:clamp(42px,14vw,60px)}
.final-status{margin-top:-2px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.055);box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);color:#fff4d9;font-size:clamp(12px,3.5vw,15px);font-weight:900;text-align:center;line-height:1.25}
#gameOverScreen .rank-modal.is-counting .score-card{animation:scoreCountPulse .72s ease-in-out infinite}
#gameOverScreen .rank-modal.is-counting .button-stack{opacity:.52;transform:scale(.985);filter:saturate(.85);transition:.2s ease}
#gameOverScreen.score-counted .replay-btn{animation:ctaPulse 1.3s ease-in-out infinite}
#gameOverScreen.score-counted::after{content:"Tik naast het venster of druk op spatie voor revanche";position:absolute;left:50%;bottom:calc(8px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(92%,420px);padding:8px 12px;border-radius:999px;background:rgba(7,15,36,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);color:#dce9ff;font-size:clamp(10px,2.9vw,12px);font-weight:800;text-align:center;letter-spacing:.01em;pointer-events:none}
.replay-btn .btn-icon{font-size:24px}
.start-overlay-copy{max-width:460px}
@keyframes endModalPop{0%{opacity:0;transform:translateY(34px) scale(.92) rotate(-.7deg)}60%{opacity:1;transform:translateY(-4px) scale(1.018) rotate(.25deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes scoreCountPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.026)}}
@keyframes scoreShine{0%{transform:translateX(-60%) rotate(0)}100%{transform:translateX(60%) rotate(0)}}


/* === Retro arcade overhaul === */
:root{
  --retro-night:#040814;
  --retro-panel:#09162f;
  --retro-panel-2:#12254e;
  --retro-stroke:#f7ead0;
  --retro-shadow:#05070d;
  --retro-orange:#ff8f1f;
  --retro-orange-2:#ffbf4f;
  --retro-red:#ff4f3b;
  --retro-blue:#2f5fff;
  --retro-cyan:#76f6ff;
  --retro-green:#a8ff60;
  --retro-gold:#ffe25f;
}
html,body{
  background:
    radial-gradient(circle at top, rgba(53,103,255,.14), transparent 36%),
    radial-gradient(circle at bottom, rgba(255,133,37,.12), transparent 34%),
    #01040a !important;
  font-family:'RetroHUD',monospace !important;
  letter-spacing:.01em;
}
button,input,select,textarea,table,thead,tbody,tr,th,td{
  font-family:'RetroHUD',monospace;
}
#shell{
  background:#060d1d !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.04),0 0 0 8px rgba(7,14,30,.78),0 34px 90px rgba(0,0,0,.68) !important;
}
#shell::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(180deg, rgba(255,255,255,.04) 0 1px, transparent 1px 4px),
    linear-gradient(180deg, rgba(255,255,255,.02), transparent 12%, transparent 88%, rgba(255,255,255,.02));
  opacity:.12;
  pointer-events:none;
  z-index:2;
  mix-blend-mode:screen;
}
#shell::after{
  content:"";
  position:absolute;
  inset:0;
  border:4px solid rgba(255,245,219,.24);
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.4), inset 0 0 40px rgba(0,0,0,.38);
  pointer-events:none;
  z-index:30;
}
.screen,.game-ui{isolation:isolate}
.start-overlay-panel,
.bottom-hud,
.quote-bubble,
.tutorial-hint,
.modal,
.score-card,
.hud-stat,
.lives-pill,
.fever-box,
.result-grid>div,
.podium,
.leader-list-wrap,
#nameInput,
.start-overlay-copy,
.cta-btn,
.subtle-btn{
  clip-path:polygon(0 10px,10px 10px,10px 0,calc(100% - 10px) 0,calc(100% - 10px) 10px,100% 10px,100% calc(100% - 10px),calc(100% - 10px) calc(100% - 10px),calc(100% - 0px) 100%,10px 100%,10px calc(100% - 10px),0 calc(100% - 10px));
}
.start-screen.start-overlay .start-vignette{
  background:
    radial-gradient(circle at 50% 28%, rgba(255,168,54,.22), transparent 24%),
    linear-gradient(180deg, rgba(5,10,24,.80) 0%, rgba(5,10,24,.46) 34%, rgba(5,10,24,.78) 100%) !important;
  backdrop-filter:blur(1.2px) saturate(1.08);
}
.start-overlay-panel{
  justify-content:center;
  gap:18px;
}
.start-overlay-panel::before{
  content:'WK 2026 • ARCADE MODE';
  position:absolute;
  top:calc(12px + env(safe-area-inset-top));
  left:50%;
  transform:translateX(-50%);
  padding:9px 16px 8px;
  border:3px solid rgba(255,240,201,.32);
  background:linear-gradient(180deg, rgba(9,18,40,.95), rgba(7,12,28,.90));
  color:#ffd979;
  font-family:'RetroHUDBold','RetroHUD',monospace;
  font-size:clamp(10px,2.8vw,13px);
  letter-spacing:.18em;
  text-transform:uppercase;
  text-shadow:2px 2px 0 rgba(0,0,0,.65);
  box-shadow:0 10px 0 rgba(0,0,0,.18);
}
.start-overlay-logo{
  width:min(92vw,470px);
  filter:drop-shadow(0 10px 0 rgba(8,14,31,.65)) drop-shadow(0 20px 34px rgba(0,0,0,.46));
}
.start-overlay-copy{
  width:min(90vw,470px);
  margin:0;
  padding:16px 18px 18px;
  background:
    linear-gradient(180deg, rgba(14,29,60,.92), rgba(7,14,31,.92)),
    repeating-linear-gradient(180deg, rgba(255,255,255,.02) 0 2px, transparent 2px 5px);
  border:3px solid rgba(255,236,197,.22);
  box-shadow:0 10px 0 rgba(0,0,0,.18), inset 0 0 0 2px rgba(255,255,255,.04);
  color:#fff6dc !important;
  font-family:'RetroHUDBold','RetroHUD',monospace;
  font-size:clamp(15px,4.3vw,21px) !important;
  line-height:1.4;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-shadow:2px 2px 0 rgba(0,0,0,.72);
}
.cta-btn,.subtle-btn{
  position:relative;
  border-radius:0 !important;
  min-height:68px;
  padding:16px 22px !important;
  border:3px solid rgba(255,243,220,.72) !important;
  font-family:'RetroHUDBold','RetroHUD',monospace !important;
  font-size:clamp(14px,4vw,18px) !important;
  letter-spacing:.11em !important;
  text-transform:uppercase;
  text-shadow:2px 2px 0 rgba(0,0,0,.55);
  box-shadow:0 7px 0 rgba(87,34,0,.95), 0 16px 26px rgba(0,0,0,.28), inset 0 2px 0 rgba(255,255,255,.32) !important;
}
.cta-btn::before,.subtle-btn::before,
.modal::before,
.bottom-hud::before,
.hud-stat::before,
.lives-pill::before,
.fever-box::before,
.score-card::before,
.leader-list-wrap::before,
.quote-bubble::before,
.tutorial-hint::before,
.result-grid>div::before,
.podium::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(180deg, rgba(255,255,255,.045) 0 1px, transparent 1px 4px);
  mix-blend-mode:screen;
  opacity:.35;
}
.cta-btn{
  background:linear-gradient(180deg, #ffbf45 0%, #ff9124 38%, #ff6e19 38%, #d94f00 100%) !important;
}
.subtle-btn{
  background:linear-gradient(180deg, #3d83ff 0%, #295ff8 38%, #2039b7 38%, #11236b 100%) !important;
  box-shadow:0 7px 0 rgba(7,26,95,.95), 0 16px 26px rgba(0,0,0,.28), inset 0 2px 0 rgba(255,255,255,.28) !important;
}
.cta-btn:active,.subtle-btn:active{transform:translateY(3px) !important; box-shadow:0 4px 0 rgba(0,0,0,.45),0 9px 18px rgba(0,0,0,.25), inset 0 2px 0 rgba(255,255,255,.22) !important}
.btn-icon{
  width:40px;height:40px;border-radius:0 !important;
  background:linear-gradient(180deg,#fff8d9,#ffd37f) !important;
  color:#142140 !important;
  border:2px solid rgba(18,32,64,.22);
  box-shadow:0 4px 0 rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.75) !important;
}
.subtle-btn .btn-icon{
  background:linear-gradient(180deg,#d7f5ff,#96dcff) !important;
}
.quote-bubble,
.tutorial-hint{
  border-radius:0 !important;
  border:3px solid rgba(255,240,201,.18);
  background:linear-gradient(180deg, rgba(8,18,44,.92), rgba(4,10,24,.90)) !important;
  box-shadow:0 10px 0 rgba(0,0,0,.18), 0 20px 28px rgba(0,0,0,.22), inset 0 0 0 2px rgba(255,255,255,.03) !important;
}
.quote-bubble{
  width:min(82vw,350px);
}
.quote-bubble small,
.tutorial-hint span,
.hud-stat small,
.fever-box small,
.result-grid small,
.score-card small,
.modal-topline,
.leader-table th,
.podium small{
  font-family:'RetroHUDBold','RetroHUD',monospace !important;
  letter-spacing:.14em !important;
}
.quote-bubble small{color:#ffe284 !important;font-size:10px !important}
.quote-bubble b{
  font-family:'RetroHUDBold','RetroHUD',monospace !important;
  font-size:clamp(12px,3.3vw,14px) !important;
  line-height:1.5;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-shadow:2px 2px 0 rgba(0,0,0,.62);
}
.tutorial-hint b{
  font-family:'RetroHUDBold','RetroHUD',monospace !important;
  font-size:clamp(15px,4vw,18px) !important;
  text-shadow:2px 2px 0 rgba(0,0,0,.5);
}
.tutorial-hint span{
  color:#d3f3ff !important;
  margin-top:8px !important;
  font-size:clamp(10px,2.9vw,12px) !important;
}
.bottom-hud{
  position:absolute;
  overflow:hidden;
  border-radius:0 !important;
  padding:12px !important;
  border:3px solid rgba(255,237,204,.22);
  background:
    linear-gradient(180deg, rgba(13,28,58,.95), rgba(5,12,29,.94)) !important;
  box-shadow:0 12px 0 rgba(0,0,0,.24),0 24px 40px rgba(0,0,0,.34),inset 0 0 0 2px rgba(255,255,255,.03) !important;
}
.bottom-hud::after{
  content:'LIVE MATCH HUD';
  position:absolute;
  top:6px;
  right:12px;
  color:rgba(255,227,166,.86);
  font-family:'RetroHUDBold','RetroHUD',monospace;
  font-size:10px;
  letter-spacing:.16em;
  z-index:2;
}
.hud-grid,.hud-row2{position:relative;z-index:1}
.hud-grid{gap:10px !important}
.hud-stat,
.lives-pill,
.fever-box,
.result-grid>div,
.podium,
.leader-list-wrap,
#nameInput{
  position:relative;
  overflow:hidden;
  border-radius:0 !important;
  border:3px solid rgba(255,244,219,.15);
  background:linear-gradient(180deg, rgba(17,39,82,.96), rgba(9,20,44,.96)) !important;
  box-shadow:0 6px 0 rgba(0,0,0,.18), inset 0 0 0 2px rgba(255,255,255,.03) !important;
}
.hud-stat.primary{
  background:linear-gradient(135deg, #ffb22a 0%, #ff7f2a 42%, #d95bff 100%) !important;
  border-color:rgba(255,247,230,.36);
}
.hud-stat small,.fever-box small,.result-grid small{
  color:#ffe4a7 !important;
  font-size:clamp(8px,2.2vw,10px) !important;
}
.hud-stat b,
.result-grid b,
.score-card b,
#finalScore,
#scoreLabel,
#goalsLabel,
#comboLabel,
#levelLabel,
#finalGoals,
#finalCombo,
#finalLevel,
#finalTime{
  font-family:'RetroHUDBold','RetroHUD',monospace !important;
  color:#ffffff;
  letter-spacing:.02em;
  text-shadow:3px 3px 0 rgba(0,0,0,.45);
  font-variant-numeric:tabular-nums;
}
.hud-stat.primary b{color:#fff7e4}
.hud-grid .hud-stat:not(.primary) b{color:#7efcff;font-size:clamp(18px,5vw,22px) !important}
.lives-pill{
  color:#ffcc56;
  font-size:clamp(16px,4.8vw,20px) !important;
  text-shadow:2px 2px 0 rgba(0,0,0,.36);
}
.fever-box .meter{
  height:14px !important;
  margin-top:8px !important;
  border-radius:0 !important;
  border:2px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg, rgba(0,0,0,.34), rgba(255,255,255,.04)) !important;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.05);
}
.meter span{
  background:repeating-linear-gradient(135deg,#ffe66d 0 10px,#ffb12f 10px 20px,#ff6d24 20px 30px) !important;
  box-shadow:0 0 14px rgba(255,181,71,.52) !important;
}
.overlay-screen{
  background:radial-gradient(circle at 50% 24%, rgba(255,139,31,.16), transparent 28%), rgba(2,5,13,.78) !important;
  backdrop-filter:blur(8px);
}
.modal{
  position:relative;
  overflow:auto;
  border-radius:0 !important;
  padding:18px 16px 16px !important;
  border:4px solid rgba(255,240,211,.22) !important;
  background:linear-gradient(180deg, rgba(13,27,58,.97), rgba(6,12,28,.97)) !important;
  box-shadow:0 12px 0 rgba(0,0,0,.24),0 28px 90px rgba(0,0,0,.58), inset 0 0 0 2px rgba(255,255,255,.04) !important;
}
.modal>*{position:relative;z-index:1}
.modal-topline{
  color:#ffe38c !important;
  text-shadow:2px 2px 0 rgba(0,0,0,.45);
}
.modal h2{
  font-family:'RetroHUDBold','RetroHUD',monospace !important;
  color:#fff6e1;
  text-transform:uppercase;
  line-height:1.08 !important;
  letter-spacing:.06em !important;
  text-shadow:4px 4px 0 rgba(0,0,0,.45), 0 0 18px rgba(255,138,36,.16);
}
.modal h2 span{color:#ffab37 !important}
.modal-copy,
.final-status{
  font-size:clamp(12px,3.4vw,14px) !important;
  letter-spacing:.03em;
  line-height:1.5 !important;
}
.final-status,
.modal-copy{color:#e7f1ff !important}
.score-card{
  text-align:center;
  border-radius:0 !important;
  border:4px solid rgba(255,245,223,.32) !important;
  background:linear-gradient(180deg, #ffca48 0%, #ff9731 32%, #ff5c1f 32%, #d34602 100%) !important;
  box-shadow:0 8px 0 rgba(117,42,0,.66), 0 18px 30px rgba(0,0,0,.24), inset 0 0 0 2px rgba(255,255,255,.12) !important;
}
.score-card small{color:#fff7df !important}
.score-card b{font-size:clamp(38px,12vw,56px) !important}
#nameInput{
  background:linear-gradient(180deg,#0d1b36,#09152b) !important;
  color:#aefc8a !important;
  border:3px solid rgba(255,240,201,.24) !important;
  font-family:'RetroHUDBold','RetroHUD',monospace !important;
  text-transform:uppercase;
  letter-spacing:.08em;
  caret-color:#ffe161;
}
#nameInput::placeholder{color:#7da1d0}
.button-stack{gap:10px !important}
.leader-top3{gap:10px !important}
.podium{
  text-align:center;
  padding:14px 10px !important;
}
.podium.gold{
  background:linear-gradient(180deg, rgba(255,197,62,.46), rgba(255,131,26,.18)) !important;
}
.podium.silver{
  background:linear-gradient(180deg, rgba(103,161,255,.32), rgba(25,78,217,.16)) !important;
}
.podium.bronze{
  background:linear-gradient(180deg, rgba(255,142,62,.30), rgba(195,83,14,.14)) !important;
}
.podium b,
.podium span{
  font-family:'RetroHUDBold','RetroHUD',monospace !important;
  text-shadow:2px 2px 0 rgba(0,0,0,.38);
}
.leader-list-wrap{padding:4px 0 !important}
.leader-table{position:relative;z-index:1}
.leader-table th,
.leader-table td{
  padding:12px 10px !important;
}
.leader-table thead th{
  color:#ffe69a !important;
  background:rgba(255,255,255,.03);
}
.leader-table tbody tr:nth-child(odd) td{background:rgba(255,255,255,.02)}
.leader-table tbody tr:nth-child(even) td{background:rgba(0,0,0,.08)}
.leader-table td:nth-child(2){color:#fff8e4}
.leader-table td:nth-child(3){color:#a6ff7a;font-family:'RetroHUDBold','RetroHUD',monospace !important}
.leader-table tr.me td{background:rgba(255,145,35,.22) !important}
#rankingScreen .modal-copy,
#gameOverScreen .modal-copy,
#startScreen .start-overlay-copy{max-width:100%}
#gameOverScreen.score-counted::after{
  background:linear-gradient(180deg, rgba(13,28,58,.96), rgba(5,12,29,.96)) !important;
  border:2px solid rgba(255,240,201,.16);
  font-family:'RetroHUDBold','RetroHUD',monospace !important;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.start-play-btn{animation:ctaPulseRetro 1.45s steps(2,end) infinite !important}
#gameOverScreen.score-counted .replay-btn{animation:ctaPulseRetro 1s steps(2,end) infinite !important}
@keyframes ctaPulseRetro{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-1px) scale(1.02)}
}
@media (max-width:420px){
  .cta-btn,.subtle-btn{font-size:clamp(12px,3.8vw,15px) !important; letter-spacing:.08em !important}
  .btn-icon{width:34px;height:34px;font-size:18px}
  .bottom-hud{padding:10px !important}
  .start-overlay-copy{padding:14px 14px 15px}
  .start-overlay-panel::before{padding:8px 12px 7px;font-size:10px}
}


/* === Final polish: score space, start copy/button, compact end screen === */
.start-overlay-copy{
  width:min(92vw,500px) !important;
  font-size:clamp(14px,3.65vw,18px) !important;
  line-height:1.45 !important;
  letter-spacing:.035em !important;
}
.start-play-btn{
  width:min(90vw,460px) !important;
  min-height:78px !important;
  font-size:clamp(22px,6vw,30px) !important;
  letter-spacing:.13em !important;
}
.start-play-btn .btn-icon{
  width:46px !important;
  height:46px !important;
  font-size:25px !important;
}

.hud-grid{
  grid-template-columns:2fr .68fr .68fr .68fr !important;
  gap:8px !important;
}
.hud-stat.primary{
  background:linear-gradient(180deg,#ffb22a 0%,#ff9424 42%,#f47712 42%,#d85d00 100%) !important;
  border-color:rgba(255,247,230,.38) !important;
}
.hud-stat.primary b,
#scoreLabel{
  font-size:clamp(21px,5.8vw,32px) !important;
  line-height:1 !important;
  letter-spacing:-.025em !important;
  white-space:nowrap !important;
  overflow:visible !important;
}
.hud-stat{
  padding-left:8px !important;
  padding-right:8px !important;
}
.hud-grid .hud-stat:not(.primary) b{
  font-size:clamp(16px,4.4vw,22px) !important;
  letter-spacing:-.01em !important;
}

#gameOverScreen .game-over-modal{
  width:min(94%,520px) !important;
  max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  padding:14px 14px 13px !important;
  gap:9px !important;
  justify-content:flex-start !important;
}
#gameOverScreen .game-over-modal .modal-topline,
#gameOverScreen .game-over-modal h2,
#gameOverScreen .game-over-modal .modal-copy{
  display:none !important;
}
#gameOverScreen .end-score-card{
  min-height:106px !important;
  padding:14px 16px 16px !important;
  display:grid !important;
  grid-template-rows:auto 1fr !important;
  align-items:center !important;
  overflow:hidden !important;
}
#gameOverScreen .end-score-card small{
  font-size:clamp(11px,3vw,14px) !important;
  line-height:1.1 !important;
  margin-bottom:4px !important;
}
#gameOverScreen #finalScore{
  display:block !important;
  width:100% !important;
  font-size:clamp(34px,9.8vw,54px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  letter-spacing:-.035em !important;
  overflow:visible !important;
}
#gameOverScreen .final-status{
  margin:0 !important;
  padding:8px 10px !important;
  min-height:0 !important;
  font-size:clamp(11px,3vw,14px) !important;
  line-height:1.25 !important;
}
#gameOverScreen .result-grid{
  gap:8px !important;
}
#gameOverScreen .result-grid>div{
  padding:9px 10px !important;
}
#gameOverScreen .result-grid b{
  font-size:clamp(20px,5.6vw,28px) !important;
  line-height:1.05 !important;
}
.name-field{
  display:grid;
  gap:6px;
  position:relative;
  z-index:1;
}
.name-field label{
  color:#ffe38c;
  font-family:'RetroHUDBold','RetroHUD',monospace;
  font-size:clamp(10px,2.8vw,13px);
  letter-spacing:.13em;
  text-transform:uppercase;
  text-shadow:2px 2px 0 rgba(0,0,0,.5);
}
.name-field small{
  color:#bdd3f0;
  font-family:'RetroHUD',monospace;
  font-size:clamp(10px,2.6vw,12px);
  line-height:1.25;
}
#gameOverScreen #nameInput{
  min-height:52px !important;
  padding:11px 13px !important;
  background:linear-gradient(180deg,#f7fbff,#dfeaff) !important;
  color:#13284d !important;
  border-color:rgba(255,226,95,.72) !important;
  box-shadow:0 5px 0 rgba(0,0,0,.22), inset 0 0 0 2px rgba(255,255,255,.42) !important;
}
#gameOverScreen #nameInput:focus{
  outline:3px solid rgba(255,205,79,.75);
  outline-offset:2px;
}
#gameOverScreen #nameInput::placeholder{color:#6e86aa !important}
#gameOverScreen .button-stack{
  gap:8px !important;
}
#gameOverScreen .cta-btn,
#gameOverScreen .subtle-btn{
  min-height:54px !important;
  padding:11px 16px !important;
  font-size:clamp(12px,3.5vw,16px) !important;
}
#gameOverScreen .btn-icon{
  width:34px !important;
  height:34px !important;
  font-size:18px !important;
}

@media (max-width:420px){
  .start-overlay-copy{
    font-size:clamp(13px,3.75vw,16px) !important;
    line-height:1.42 !important;
  }
  .start-play-btn{
    min-height:70px !important;
    font-size:clamp(20px,6.1vw,25px) !important;
  }
  .start-play-btn .btn-icon{
    width:40px !important;
    height:40px !important;
    font-size:22px !important;
  }
  .hud-grid{
    grid-template-columns:2fr .66fr .72fr .66fr !important;
    gap:6px !important;
  }
  .hud-stat{
    padding-left:6px !important;
    padding-right:6px !important;
  }
  .hud-stat small,.fever-box small,.result-grid small{
    letter-spacing:.08em !important;
  }
  .hud-stat.primary b,
  #scoreLabel{
    font-size:clamp(20px,5.7vw,25px) !important;
  }
  #gameOverScreen .game-over-modal{
    padding:12px 12px 11px !important;
    gap:8px !important;
  }
  #gameOverScreen .end-score-card{
    min-height:94px !important;
    padding:12px 14px 13px !important;
  }
  #gameOverScreen #finalScore{
    font-size:clamp(32px,9.4vw,42px) !important;
  }
  #gameOverScreen .result-grid>div{
    padding:8px 9px !important;
  }
  #gameOverScreen #nameInput{
    min-height:48px !important;
  }
  #gameOverScreen .cta-btn,
  #gameOverScreen .subtle-btn{
    min-height:50px !important;
    padding:10px 12px !important;
  }
}
@media (max-height:680px){
  #gameOverScreen .game-over-modal{gap:7px !important;padding-top:10px !important;padding-bottom:10px !important}
  #gameOverScreen .end-score-card{min-height:86px !important;padding-top:10px !important;padding-bottom:11px !important}
  #gameOverScreen #finalScore{font-size:clamp(30px,8.6vw,42px) !important}
  #gameOverScreen .final-status{padding:7px 9px !important}
  #gameOverScreen .result-grid>div{padding:7px 9px !important}
  .name-field{gap:4px}
  .name-field small{display:none}
  #gameOverScreen .cta-btn,#gameOverScreen .subtle-btn{min-height:46px !important;padding-top:8px !important;padding-bottom:8px !important}
}
#gameOverScreen.score-counted::after{display:none !important}


/* === Ad break / MPU integration === */
.ad-break-screen{
  z-index:68;
  align-items:center;
  justify-content:center;
  padding:calc(18px + env(safe-area-inset-top)) 16px calc(18px + env(safe-area-inset-bottom));
  background:radial-gradient(circle at 50% 24%,rgba(255,139,31,.22),transparent 36%),rgba(3,8,18,.78);
}
.ad-break-screen.active{
  display:flex;
}
.ad-break-card{
  width:min(92vw,420px);
  max-height:calc(100dvh - 28px);
  overflow:auto;
  text-align:center;
  gap:clamp(10px,1.7dvh,16px);
  border:1px solid rgba(255,213,111,.24);
  box-shadow:0 32px 80px rgba(0,0,0,.62),0 0 0 1px rgba(255,255,255,.08),0 0 54px rgba(255,139,31,.16);
}
.ad-break-card h2{
  margin:.05em 0 0;
  font-size:clamp(27px,8vw,42px);
  letter-spacing:-.055em;
}
.ad-break-card .modal-copy{
  margin:0 auto;
  max-width:320px;
  color:#dce9ff;
  font-size:clamp(12px,3.6vw,15px);
  line-height:1.35;
}
.ad-frame{
  position:relative;
  width:min(336px,88vw);
  min-height:280px;
  margin:2px auto 0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(6,18,45,.92),rgba(3,9,24,.94));
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),inset 0 0 0 4px rgba(28,54,96,.32),0 18px 42px rgba(0,0,0,.38);
  overflow:hidden;
}
.ad-frame::before{
  content:"AD";
  position:absolute;
  right:12px;
  top:9px;
  color:rgba(255,213,111,.58);
  font-size:10px;
  font-weight:1000;
  letter-spacing:.16em;
}
.ad-slot{
  width:300px;
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.ad-slot iframe,
.ad-slot img,
.ad-slot object,
.ad-slot embed{
  max-width:100%;
}
.ad-test-banner{
  width:300px;
  height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:linear-gradient(135deg,#ff8f1f 0%,#ffbc4f 46%,#10264f 47%,#07162f 100%);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.16);
  color:#fff6e8;
  text-align:center;
  text-shadow:0 3px 10px rgba(0,0,0,.45);
}
.ad-test-banner small{
  padding:5px 9px;
  border-radius:999px;
  background:rgba(3,8,18,.48);
  color:#fff0b8;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.14em;
}
.ad-test-banner b{
  margin-top:14px;
  font-size:30px;
  line-height:.95;
  letter-spacing:-.06em;
}
.ad-test-banner span{
  margin-top:8px;
  width:82%;
  font-size:13px;
  font-weight:900;
  color:#dce9ff;
}
.ad-continue-btn{
  margin-top:clamp(6px,1.6dvh,12px);
  width:min(100%,330px);
  min-height:56px;
}
.ad-continue-btn[disabled]{
  cursor:not-allowed;
  filter:saturate(.65) brightness(.8);
  opacity:.7;
  animation:none;
}
@media (max-height:700px){
  .ad-break-card{gap:8px;padding-top:18px;padding-bottom:18px}
  .ad-frame{min-height:244px}
  .ad-slot,.ad-test-banner{transform:scale(.9)}
}


/* === Server ranglijst + Google login === */
.legacy-name-field,
.legacy-save-btn{
  display:none!important;
}
.leaderboard-auth-panel{
  margin-top:10px;
  padding:12px;
  border-radius:18px;
  background:rgba(6,18,45,.62);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 12px 28px rgba(0,0,0,.24);
  text-align:center;
}
.share-score-line{
  margin:0 0 6px;
}
.share-score-line b{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  background:linear-gradient(180deg,#ffbc4f,#ff7b26);
  color:#fff8df;
  font-size:clamp(18px,5.2vw,28px);
  line-height:1;
  text-shadow:0 3px 0 rgba(0,0,0,.25);
  box-shadow:0 8px 20px rgba(255,123,38,.22);
}
.share-copy{
  margin:8px auto 12px;
  max-width:360px;
  color:#eaf3ff;
  font-size:clamp(12px,3.2vw,15px);
  line-height:1.35;
  font-weight:800;
}
.google-signin-slot{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.google-signin-slot span{
  color:#cfe0ff;
  font-size:12px;
  font-weight:800;
}
.leaderboard-message{
  min-height:18px;
  margin-top:8px;
  color:#ffd56f;
  font-size:clamp(11px,3vw,13px);
  font-weight:900;
  line-height:1.25;
}
.leaderboard-message.error{
  color:#ff9aa4;
}
.leaderboard-profile-panel{
  margin-top:10px;
  padding:13px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,27,62,.94),rgba(5,16,38,.92));
  box-shadow:inset 0 0 0 1px rgba(255,213,111,.18),0 16px 35px rgba(0,0,0,.32);
}
.leaderboard-profile-panel.hidden{
  display:none!important;
}
.profile-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:#fff4d9;
  letter-spacing:.04em;
  font-weight:1000;
  text-align:center;
}
.profile-check{
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:6px;
  background:#2ecc71;
  color:#062513;
  box-shadow:0 0 0 2px rgba(255,255,255,.20);
}
.leaderboard-profile-panel p{
  margin:9px auto 10px;
  max-width:390px;
  color:#dcecff;
  font-size:clamp(12px,3.2vw,15px);
  line-height:1.35;
  font-weight:800;
  text-align:center;
}
.leaderboard-profile-panel label{
  display:block;
  margin:4px 0 6px;
  color:#ffd56f;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.08em;
  text-transform:uppercase;
}
#leaderboardDisplayName{
  width:100%;
  min-height:48px;
  padding:10px 12px;
  border:0;
  border-radius:12px;
  background:#fff9e8;
  color:#10203c;
  font-family:RetroHUDBold,monospace;
  font-size:clamp(18px,5vw,24px);
  font-weight:1000;
  text-align:center;
  box-shadow:inset 0 0 0 2px rgba(255,188,76,.75),0 8px 18px rgba(0,0,0,.22);
}
.profile-actions{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  margin-top:10px;
}
.profile-yes-btn,
.profile-no-btn,
.profile-cancel-btn{
  border:0;
  font-family:RetroHUDBold,monospace;
  font-weight:1000;
  cursor:pointer;
}
.profile-yes-btn{
  min-height:48px;
  padding:10px 12px;
  border-radius:12px;
  background:linear-gradient(180deg,#6dff95,#16b957);
  color:#04210f;
  box-shadow:0 10px 0 rgba(4,61,28,.45),0 18px 28px rgba(0,0,0,.22);
  text-shadow:0 1px 0 rgba(255,255,255,.35);
}
.profile-no-btn{
  min-width:82px;
  padding:10px 12px;
  border-radius:12px;
  background:linear-gradient(180deg,#e9edf5,#8a93a8);
  color:#10203c;
  box-shadow:0 10px 0 rgba(38,45,62,.55),0 18px 28px rgba(0,0,0,.20);
}
.leaderboard-profile-panel small{
  display:block;
  margin-top:10px;
  color:#b9c9e8;
  font-size:clamp(10px,2.8vw,12px);
  line-height:1.3;
  text-align:center;
}
.profile-cancel-btn{
  display:block;
  margin:9px auto 0;
  padding:4px 10px;
  background:transparent;
  color:#dcecff;
  font-family:RetroHUD,monospace;
  font-size:13px;
  text-decoration:underline;
  opacity:.86;
}
.leader-table tr.me td{
  color:#ffd56f;
  background:rgba(255,139,31,.12);
}
.leader-table td small{
  display:block;
  margin-top:2px;
  color:#aebfe2;
  font-size:10px;
}
@media (max-height:700px){
  .leaderboard-auth-panel{padding:9px}
  .share-copy{margin:5px auto 8px}
  .leaderboard-profile-panel{padding:10px}
  #leaderboardDisplayName{min-height:42px}
  .profile-yes-btn,.profile-no-btn{min-height:42px}
}


/* === Final game polish: comfort controls, pause state and clearer live feedback === */
.quick-controls{
  position:absolute;
  right:calc(18px + env(safe-area-inset-right));
  top:calc(174px + env(safe-area-inset-top));
  z-index:32;
  display:flex;
  gap:8px;
  pointer-events:auto;
}
.quick-control-btn{
  width:38px;
  height:38px;
  border:0;
  border-radius:12px;
  background:linear-gradient(180deg,rgba(9,25,58,.92),rgba(4,12,31,.92));
  color:#fff7d6;
  box-shadow:0 8px 22px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,213,111,.22);
  font-family:RetroHUDBold,monospace;
  font-weight:1000;
  font-size:17px;
  cursor:pointer;
  touch-action:manipulation;
}
.quick-control-btn:active{transform:translateY(1px) scale(.98)}
.quick-control-btn.is-active{
  background:linear-gradient(180deg,#ffb347,#ff7b26);
  color:#0a1430;
  box-shadow:0 0 24px rgba(255,139,31,.38),inset 0 0 0 1px rgba(255,255,255,.38);
}
.pause-layer{
  position:absolute;
  inset:0;
  z-index:45;
  display:grid;
  place-items:center;
  text-align:center;
  background:radial-gradient(circle at 50% 45%,rgba(255,139,31,.18),transparent 34%),rgba(2,7,18,.46);
  pointer-events:auto;
}
.pause-layer.hidden{display:none}
.pause-layer b{
  display:block;
  color:#fff7d6;
  font-family:RetroHUDBold,monospace;
  font-size:clamp(46px,14vw,82px);
  letter-spacing:.02em;
  text-shadow:0 7px 0 rgba(0,0,0,.45),0 0 34px rgba(255,188,76,.42);
}
.pause-layer span{
  display:block;
  margin-top:10px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(7,18,45,.78);
  color:#dcecff;
  font-weight:900;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}
.leaderboard-message.success{color:#aaff95}
.google-signin-slot.is-saving,
.profile-actions.is-saving{opacity:.68;filter:saturate(.82);pointer-events:none}
.leader-table tbody tr.me td{
  background:linear-gradient(90deg,rgba(255,139,31,.20),rgba(255,213,111,.10));
  box-shadow:inset 0 0 0 1px rgba(255,213,111,.22);
}
@media (max-width:420px){
  .quick-controls{right:12px;top:calc(164px + env(safe-area-inset-top));gap:6px}
  .quick-control-btn{width:34px;height:34px;border-radius:11px;font-size:15px}
}
@media (max-height:650px){
  .quick-controls{top:calc(138px + env(safe-area-inset-top))}
}
@media (prefers-reduced-motion: reduce){
  .pause-layer,.quick-control-btn{transition:none!important;animation:none!important}
}

/* === Social release: persistent login, username edit and friend leaderboards === */
.leaderboard-logged-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:9px 11px;
  border-radius:14px;
  background:rgba(126,255,124,.08);
  box-shadow:inset 0 0 0 1px rgba(126,255,124,.18);
  color:#eaffdf;
  font-size:clamp(11px,3.2vw,13px);
  font-weight:900;
}
.leaderboard-logged-in b{color:#aaff95;letter-spacing:.02em}
.leaderboard-inline-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  justify-content:flex-end;
}
.muted-link-btn{
  background:rgba(255,255,255,.055);
  color:#b8c6e5;
}
.muted-link-btn:hover{
  background:rgba(255,82,99,.15);
  color:#fff0f0;
}
.rank-logged-in{
  margin-top:-2px;
}

.mini-link-btn{
  border:0;
  border-radius:999px;
  padding:7px 10px;
  background:rgba(255,255,255,.10);
  color:#dcecff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
  font-family:'RetroHUDBold','RetroHUD',monospace;
  font-size:clamp(10px,3vw,12px);
  font-weight:900;
  cursor:pointer;
}
.mini-link-btn:hover{background:rgba(255,139,31,.16);color:#fff4d9}
.friend-invite-btn{background:linear-gradient(180deg,#1e8d4d,#126331)!important;color:#fff!important}
.leaderboard-tabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:5px;
  border-radius:999px;
  background:rgba(2,8,22,.42);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.leaderboard-tab{
  min-height:38px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#cbdcff;
  font-family:'RetroHUDBold','RetroHUD',monospace;
  font-size:clamp(11px,3.2vw,13px);
  font-weight:1000;
  letter-spacing:.04em;
  cursor:pointer;
}
.leaderboard-tab.active{
  background:linear-gradient(180deg,#ffb33e,#f07810);
  color:#fff6df;
  text-shadow:0 2px 0 rgba(0,0,0,.35);
  box-shadow:0 8px 18px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.28);
}
.friend-games-panel{
  display:grid;
  gap:8px;
}
.friend-games-list{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.friend-game-chip{
  width:100%;
  border:0;
  border-radius:16px;
  padding:10px 12px;
  background:rgba(255,255,255,.07);
  color:#fff6df;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
  text-align:left;
  cursor:pointer;
}
.friend-game-chip.active,
.friend-game-chip:hover{
  background:rgba(255,139,31,.18);
  box-shadow:inset 0 0 0 1px rgba(255,213,111,.34),0 8px 18px rgba(0,0,0,.18);
}
.friend-game-chip b{display:block;font-size:clamp(12px,3.4vw,14px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.friend-game-chip small{display:block;margin-top:3px;color:#cfe0ff;font-size:clamp(10px,2.8vw,12px)}
.friend-empty{
  padding:14px 12px;
  border-radius:18px;
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
  text-align:center;
}
.friend-empty b{display:block;color:#fff4d9;font-size:clamp(13px,3.8vw,15px)}
.friend-empty span{display:block;margin-top:5px;color:#cfe0ff;font-size:clamp(11px,3.2vw,13px);line-height:1.35}
.friend-empty-cta{width:100%;min-height:48px!important;background:linear-gradient(180deg,#1e8d4d,#126331)!important}
.active-friend-game{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:16px;
  background:rgba(255,139,31,.10);
  box-shadow:inset 0 0 0 1px rgba(255,213,111,.20);
}
.active-friend-game b{
  color:#fff6df;
  text-align:center;
  font-size:clamp(12px,3.5vw,15px);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.profile-screen{
  z-index:36;
  background:radial-gradient(circle at 50% 36%,rgba(255,139,31,.18),transparent 38%),rgba(3,8,18,.70);
}
.profile-standalone-modal{
  width:min(94%,440px);
  padding:14px;
}
.profile-standalone-modal .leaderboard-profile-panel{
  margin:0;
}
.friend-invite-modal{width:min(94%,480px)}
.friend-invite-login,
.friend-invite-form,
.friend-invite-result{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.friend-invite-form label,
.friend-invite-result small{
  color:#ffe0ad;
  font-size:clamp(10px,3vw,12px);
  font-family:'RetroHUDBold','RetroHUD',monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
}
#friendGameName,
#friendInviteUrl{
  width:100%;
  min-height:48px;
  border:0;
  border-radius:14px;
  padding:10px 12px;
  background:rgba(4,12,29,.78);
  color:#ffffff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
  font-family:'RetroHUD','RetroHUDBold',monospace;
  font-size:clamp(13px,3.8vw,16px);
  outline:none;
}
#friendGameName:focus,#friendInviteUrl:focus{box-shadow:inset 0 0 0 2px rgba(255,188,76,.54),0 0 0 3px rgba(255,188,76,.10)}
.friend-share-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.friend-share-actions a{text-decoration:none}
.friend-invite-screen .leaderboard-message{min-height:18px}
@media (max-width:420px){
  .leaderboard-logged-in{align-items:flex-start;flex-direction:column}
  .leaderboard-inline-actions{width:100%;justify-content:flex-start}
  .friend-share-actions{grid-template-columns:1fr}
  .active-friend-game{grid-template-columns:1fr;justify-items:center}
  .active-friend-game .mini-link-btn{width:100%}
}


/* === Live launch polish: brands, clearer leaderboard and pagination === */
.start-overlay-copy{
  text-transform:none;
  font-size:clamp(15px,4.2vw,21px);
  line-height:1.22;
  letter-spacing:-.015em;
  max-width:min(92vw,460px);
}
.brand-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  max-width:100%;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(5,14,34,.68);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 8px 18px rgba(0,0,0,.22);
  color:#dce9ff;
  font-family:'RetroHUD','RetroHUDBold',monospace;
  font-size:clamp(9px,2.6vw,11px);
  letter-spacing:.05em;
  text-transform:uppercase;
}
.brand-badge img{
  display:block;
  height:26px;
  width:auto;
  max-width:118px;
  object-fit:contain;
}
html[data-website="meemetoranje"] .brand-badge img{
  width:28px;
  height:28px;
  max-width:28px;
}
html[data-website="fcupdate"] .brand-badge img{
  height:22px;
  max-width:120px;
}
.start-brand-badge{
  margin-top:-4px;
  margin-bottom:2px;
}
.leaderboard-brand-badge{
  justify-self:flex-start;
  margin-top:2px;
  margin-bottom:-2px;
  transform:scale(.92);
  transform-origin:left center;
}
.game-brand-mini{
  position:absolute;
  left:calc(10px + env(safe-area-inset-left));
  top:calc(10px + env(safe-area-inset-top));
  z-index:17;
  pointer-events:none;
  opacity:.68;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(5,12,29,.44);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 8px 20px rgba(0,0,0,.18);
}
.game-brand-mini img{
  display:block;
  width:auto;
  height:22px;
  max-width:92px;
  object-fit:contain;
}
html[data-website="meemetoranje"] .game-brand-mini img{
  width:24px;
  height:24px;
}
html[data-website="fcupdate"] .game-brand-mini img{
  height:18px;
  max-width:96px;
}
#rankingScreen .rank-modal.leaderboard{
  align-content:flex-start;
}
#rankingScreen .rank-modal.leaderboard>.modal-copy{
  max-width:36ch;
  margin-top:2px;
}
.leader-pagination{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px;
  min-height:34px;
}
.leader-page-btn{
  min-width:34px;
  min-height:32px;
  border:0;
  border-radius:12px;
  padding:6px 10px;
  background:rgba(255,255,255,.07);
  color:#dce9ff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
  font-family:'RetroHUDBold','RetroHUD',monospace;
  font-size:12px;
  cursor:pointer;
}
.leader-page-btn.active{
  background:linear-gradient(180deg,#ffb13a,#f08b18 58%,#dd6e03);
  color:#fff6e8;
  box-shadow:0 8px 18px rgba(255,139,31,.18),inset 0 0 0 1px rgba(255,243,223,.32);
}
.leader-page-btn:disabled{
  opacity:.42;
  cursor:not-allowed;
}
.leader-page-summary{
  width:100%;
  text-align:center;
  color:#cfe0ff;
  font-size:clamp(10px,2.8vw,12px);
  font-family:'RetroHUD','RetroHUDBold',monospace;
}
#rankingScreen .button-stack{
  margin-top:2px;
}
@media (max-width:420px){
  .brand-badge{padding:5px 8px;gap:6px}
  .leaderboard-brand-badge{transform:scale(.86)}
  .leader-pagination{gap:4px}
  .leader-page-btn{min-width:30px;min-height:30px;padding:5px 8px;font-size:11px}
  .game-brand-mini{top:calc(6px + env(safe-area-inset-top));left:calc(6px + env(safe-area-inset-left));}
}

.leader-page-ellipsis{min-width:18px;text-align:center;color:#9fb4d5;font-family:'RetroHUDBold','RetroHUD',monospace}

/* === Article embed mode ===
   Used when the game is shown between article paragraphs inside an iframe.
   The full game still runs normally after the iframe is moved to the modal overlay by src/embed.js. */
html[data-embed="article"],
html[data-embed="article"] body{
  width:100%;
  height:100%;
  overflow:hidden;
  background:#061126;
}
html[data-embed="article"] body{
  display:block;
  place-items:initial;
}
html[data-embed="article"] #shell{
  width:100vw!important;
  height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html[data-embed="article"] #shell::before,
html[data-embed="article"] #shell::after{
  border-radius:0!important;
}
html[data-embed="article"] .start-screen.start-overlay{
  justify-content:center;
}
html[data-embed="article"] .start-overlay-panel{
  width:100%;
  height:100%;
  max-width:none;
  justify-content:center;
  gap:clamp(6px,1.6vh,14px);
  padding:clamp(10px,2.4vh,22px) clamp(12px,4vw,34px);
}
html[data-embed="article"] .start-overlay-panel::before{
  display:none;
}
html[data-embed="article"] .start-overlay-logo{
  width:min(430px,58vw);
  max-height:42%;
  object-fit:contain;
}
html[data-embed="article"] .start-brand-badge{
  margin:0;
  transform:scale(.88);
  transform-origin:center;
}
html[data-embed="article"] .start-overlay-copy{
  max-width:min(680px,88vw);
  margin:0;
  padding:10px 13px 11px;
  font-size:clamp(13px,2.1vw,18px);
  line-height:1.25;
}
html[data-embed="article"] .start-play-btn{
  min-height:54px;
  padding:10px 24px;
  font-size:clamp(17px,2.7vw,23px);
  margin-top:0;
}
html[data-embed="article"] .start-play-btn .btn-icon{
  width:38px;
  height:38px;
  font-size:20px;
}
html[data-embed="article"] .start-rank-btn{
  display:none!important;
}
html[data-embed="article"] .game-brand-mini{
  display:none;
}
@media (max-height:360px){
  html[data-embed="article"] .start-overlay-panel{gap:7px;padding:9px 12px}
  html[data-embed="article"] .start-overlay-logo{width:min(260px,64vw);max-height:45%}
  html[data-embed="article"] .start-overlay-copy{display:none}
  html[data-embed="article"] .start-brand-badge{transform:scale(.78)}
  html[data-embed="article"] .start-play-btn{min-height:48px;padding:8px 18px;font-size:clamp(15px,5vw,19px)}
  html[data-embed="article"] .start-play-btn .btn-icon{width:32px;height:32px;font-size:18px}
}
@media (max-width:520px){
  html[data-embed="article"] .start-overlay-logo{width:min(280px,70vw)}
  html[data-embed="article"] .start-overlay-copy{display:none}
}


/* Pixel-art character sprites: keeps old mini-player markup visually aligned with the in-game canvas sprites. */
.mini-player{
  background:transparent center bottom/contain no-repeat !important;
  image-rendering:auto;
}
.mini-player::before{display:none !important;content:none !important;}
.mini-player::after{left:12%;right:12%;bottom:2px;width:auto;height:12px;border-radius:50%;background:rgba(7,36,20,.38);}
.mini-player.ronald{background-image:url('../assets/sprites/mini_ronald.png') !important;}
.mini-player.donald{background-image:url('../assets/sprites/mini_donald.png') !important;}

/* === v37 live leaderboard, ticker and ad polish === */
.leader-top3{
  display:none !important;
}
.leader-period-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  padding:5px;
  border-radius:18px;
  background:rgba(0,0,0,.24);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}
.leader-period-tab{
  border:0;
  min-height:38px;
  border-radius:14px;
  padding:10px 12px;
  background:transparent;
  color:#cfe0ff;
  font-family:'RetroHUDBold','RetroHUD',monospace;
  font-size:clamp(11px,3vw,13px);
  font-weight:1000;
  letter-spacing:.02em;
  cursor:pointer;
  text-transform:uppercase;
}
.leader-period-tab.active{
  color:#fff8e9;
  background:linear-gradient(180deg,#ffae37,#ff8d1e 56%,#e46b00);
  box-shadow:0 12px 22px rgba(255,132,30,.20),inset 0 1px 0 rgba(255,255,255,.28);
}
#rankingScreen .rank-modal.leaderboard{
  width:min(96vw,560px) !important;
  max-height:calc(100dvh - 14px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) !important;
  overflow:hidden !important;
  gap:8px !important;
  padding:clamp(12px,2.2vh,18px) clamp(12px,3.8vw,18px) !important;
}
#rankingScreen .rank-modal.leaderboard>.modal-copy{
  margin:0 !important;
  max-width:100% !important;
}
#rankingScreen .leaderboard-brand-badge{
  margin-bottom:0 !important;
}
.leader-list-wrap{
  max-height:min(49dvh,430px) !important;
  min-height:0;
  overflow:auto !important;
  border-radius:18px !important;
  padding:4px 0 !important;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,174,71,.62) rgba(255,255,255,.05);
}
.leader-table{
  table-layout:fixed !important;
}
.leader-table th:nth-child(1),
.leader-table td:nth-child(1){
  width:38px !important;
  min-width:38px !important;
  text-align:center !important;
}
.leader-table th:nth-child(3),
.leader-table td:nth-child(3){
  width:116px !important;
  text-align:right !important;
}
.leader-table th,
.leader-table td{
  padding:10px 9px !important;
  vertical-align:middle !important;
}
.leader-table td:nth-child(2){
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.leader-row-player{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:9px;
  align-items:center;
  min-width:0;
}
.leader-player-avatar{
  display:block;
  width:42px;
  height:42px;
  border-radius:13px;
  background-image:url('../assets/sprites/characters_smooth_atlas.png');
  background-size:546px 1176px;
  background-position:0 calc(var(--avatar-row,2) * -42px);
  background-repeat:no-repeat;
  background-color:rgba(255,255,255,.06);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 8px 16px rgba(0,0,0,.20);
  overflow:hidden;
  flex:0 0 auto;
  image-rendering:auto;
}
.leader-name-meta{
  min-width:0;
  display:block;
}
.leader-name-meta b{
  display:block;
  color:#fff8e4;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  line-height:1.1;
}
.leader-name-meta small{
  display:block;
  margin-top:4px;
  color:#b9c9e8;
  font-size:clamp(9px,2.8vw,11px) !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.live-score-ticker{
  position:absolute;
  left:12px;
  right:12px;
  top:calc(92px + env(safe-area-inset-top));
  z-index:16;
  display:flex;
  align-items:center;
  gap:8px;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(5,12,29,.48);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 10px 24px rgba(0,0,0,.16);
  color:#eaf2ff;
  font-family:'RetroHUD','RetroHUDBold',monospace;
  font-size:clamp(9px,2.4vw,11px);
  pointer-events:none;
  backdrop-filter:blur(8px);
}
.live-score-ticker>span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
  color:#8fff9d;
  font-family:'RetroHUDBold','RetroHUD',monospace;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.live-score-ticker i{
  width:7px;
  height:7px;
  border-radius:99px;
  background:#73f58b;
  box-shadow:0 0 0 4px rgba(115,245,139,.12);
  animation:liveTickerPulse 1.5s infinite;
}
.live-score-track{
  flex:1;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
}
.live-score-track-inner{
  display:inline-block;
  padding-left:100%;
  animation:gameLiveTicker 28s linear infinite;
}
@keyframes gameLiveTicker{0%{transform:translateX(0)}100%{transform:translateX(-100%)}}
@keyframes liveTickerPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.58;transform:scale(.82)}}
.ad-app-banner{
  width:300px;
  height:250px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-end;
  gap:8px;
  padding:22px;
  border-radius:14px;
  overflow:hidden;
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 20%,rgba(18,194,76,.88),transparent 22%),
    radial-gradient(circle at 88% 12%,rgba(255,255,255,.28),transparent 20%),
    linear-gradient(135deg,#07152d 0%,#0d2b52 45%,#0a882f 46%,#11c454 100%);
  color:#fff;
  text-align:left;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.16);
  text-shadow:0 3px 10px rgba(0,0,0,.42);
}
.ad-app-banner::before{
  content:'FCUPDATE APP';
  position:absolute;
  left:18px;
  top:16px;
  z-index:-1;
  font-size:12px;
  font-weight:1000;
  letter-spacing:.15em;
  color:rgba(255,255,255,.58);
}
.ad-app-banner small{
  padding:5px 9px;
  border-radius:999px;
  background:rgba(3,8,18,.48);
  color:#c7ffd5;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.14em;
}
.ad-app-banner b{
  max-width:230px;
  font-size:27px;
  line-height:.95;
  letter-spacing:-.06em;
}
.ad-app-banner span{
  max-width:245px;
  color:#e9fff0;
  font-size:13px;
  line-height:1.22;
  font-weight:900;
}
.ad-app-actions{
  display:flex;
  gap:8px;
  margin-top:2px;
}
.ad-app-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:7px 10px;
  border-radius:999px;
  background:#fff;
  color:#0a1224;
  text-decoration:none;
  font-size:11px;
  font-weight:1000;
  text-shadow:none;
  box-shadow:0 8px 16px rgba(0,0,0,.20);
}
@media (max-height:760px){
  .live-score-ticker{top:calc(80px + env(safe-area-inset-top));min-height:24px;padding:5px 8px}
  .leader-list-wrap{max-height:min(43dvh,360px) !important}
  #rankingScreen .rank-modal.leaderboard{gap:6px !important}
}
@media (max-width:420px){
  .leader-period-tabs{gap:4px;padding:4px;border-radius:15px}
  .leader-period-tab{min-height:34px;padding:8px 6px;font-size:10px}
  .leader-list-wrap{max-height:44dvh !important;border-radius:16px !important}
  .leader-table th:nth-child(1),.leader-table td:nth-child(1){width:32px !important;min-width:32px !important;padding-left:4px !important;padding-right:4px !important}
  .leader-table th:nth-child(3),.leader-table td:nth-child(3){width:86px !important;padding-left:4px !important;padding-right:7px !important}
  .leader-row-player{grid-template-columns:34px minmax(0,1fr);gap:7px}
  .leader-player-avatar{width:34px;height:34px;border-radius:11px;background-size:442px 952px;background-position:0 calc(var(--avatar-row,2) * -34px)}
  .leader-name-meta b{font-size:13px}
  .leader-name-meta small{font-size:9px !important}
  .leader-page-summary{font-size:10px}
  .live-score-ticker{left:9px;right:9px;top:calc(74px + env(safe-area-inset-top));font-size:9px}
}

/* v42: Koeman subtieler geschaald in embed en game */
.first-run-coach{
  position:absolute;
  left:50%;
  top:calc(132px + env(safe-area-inset-top));
  transform:translateX(-50%);
  z-index:18;
  width:min(86vw,360px);
  display:grid;
  gap:8px;
  padding:14px 16px;
  border-radius:20px;
  background:linear-gradient(180deg,rgba(7,17,40,.88),rgba(5,12,29,.82));
  box-shadow:0 18px 44px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.14);
  backdrop-filter:blur(12px);
  pointer-events:none;
  font-family:'RetroHUD','RetroHUDBold',monospace;
}
.first-run-coach b{
  color:#ffe093;
  font-family:'RetroHUDBold','RetroHUD',monospace;
  font-size:clamp(13px,3.6vw,16px);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.first-run-coach span{
  color:#e7f0ff;
  font-size:clamp(10px,3vw,12px);
  line-height:1.35;
}
.first-run-coach strong{color:#8fff9d}
.first-run-coach.is-dismissing{opacity:0;transform:translateX(-50%) translateY(-8px);transition:.28s ease}
.result-coach{
  display:grid;
  gap:4px;
  padding:11px 12px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(35,213,123,.12),rgba(255,142,31,.08));
  box-shadow:inset 0 0 0 1px rgba(141,255,183,.18);
}
.result-coach b{
  color:#caffd5;
  font-size:clamp(12px,3.3vw,15px);
  line-height:1.15;
}
.result-coach span{
  color:#d9e7ff;
  font-size:clamp(10px,2.8vw,12px);
  line-height:1.35;
}
#gameOverScreen .button-stack{grid-template-columns:1fr;gap:9px !important}
#gameOverScreen .friend-invite-btn{background:linear-gradient(180deg,#35dd86,#0ea65b) !important;border-color:rgba(196,255,213,.48) !important}
#gameOverScreen .replay-btn{order:1}
#gameOverScreen .friend-invite-btn{order:2}
#gameOverScreen #toRankBtn{order:3}
#gameOverScreen .legacy-save-btn{order:4}
.ad-app-actions a:focus-visible,.ad-app-actions a:hover{filter:brightness(1.06);transform:translateY(-1px)}
@media (max-height:740px){
  .first-run-coach{top:calc(112px + env(safe-area-inset-top));padding:11px 13px;gap:6px}
  .result-coach{padding:9px 10px}
}
@media (max-width:420px){
  .first-run-coach{top:calc(108px + env(safe-area-inset-top));width:calc(100% - 28px)}
}
