/* ORBIS R16 · Blitz
   Kept in a separate file so the new mode is easy to audit/remove without
   disturbing the established Today's Country design. */

/* Main play switch: Today's Country + Blitz are the two primary disciplines.
   Existing free training remains available on its own quieter row. */
.play-mode-switch .daily-mode-primary,
.play-mode-switch #dailyModeBtn,
.play-mode-switch .blitz-mode-btn{flex:1 1 calc(50% - 4px)}
.play-mode-switch .training-mode-secondary{flex:1 0 100%;padding:8px 10px;font-size:10px;opacity:.82}
.play-mode-switch .training-mode-secondary.active{opacity:1}
.blitz-mode-btn{position:relative;overflow:hidden}
.blitz-mode-btn .blitz-bolt{display:inline-block;margin-left:4px;font-size:.9em;filter:saturate(.7)}
.blitz-mode-btn.active{background:linear-gradient(135deg,#314f49,#27413e);color:#e9fff8;box-shadow:inset 0 0 0 1px #5d9a87,0 2px 8px #0003}

/* Blitz play panel */
.blitz-panel{position:relative;overflow:hidden;border:1px solid #31534d;background:radial-gradient(circle at 92% 8%,rgba(131,229,196,.11),transparent 38%),linear-gradient(145deg,#10262d,#0e202a);border-radius:15px;padding:15px 16px;box-shadow:0 10px 26px #0002}
.blitz-panel::after{content:"";position:absolute;inset:auto -28px -46px auto;width:130px;height:130px;border:1px solid rgba(130,226,197,.12);border-radius:50%;box-shadow:0 0 0 18px rgba(130,226,197,.025),0 0 0 36px rgba(130,226,197,.018);pointer-events:none}
.blitz-panel-top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.blitz-panel-kicker{display:block;color:#91cdbb;font-size:9px;font-weight:800;letter-spacing:.16em;margin-bottom:3px}
.blitz-timer{display:block;color:#effff9;font-size:39px;line-height:1;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.blitz-timer.warning{color:#ffd48a}
.blitz-timer.danger{color:#ff9b86;animation:blitz-pulse .85s ease-in-out infinite}
.blitz-run-badge{flex:0 0 auto;border:1px solid #417366;background:#173830;color:#a5ead5;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:800;letter-spacing:.09em}
.blitz-run-badge.practice{border-color:#455867;background:#172632;color:#adc1cf}
.blitz-run-badge.complete{border-color:#6b5c38;background:#342e1e;color:#efd491}
.blitz-mini-stats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.blitz-mini-stats>span{display:flex;flex-direction:column;gap:1px;padding:9px 10px;border:1px solid #29454a;background:#0b1b24b5;border-radius:10px}
.blitz-mini-stats strong{font-size:19px;font-weight:600;color:#e6f5f2;font-variant-numeric:tabular-nums}
.blitz-mini-stats small{font-size:8px;font-weight:750;letter-spacing:.09em;color:#83a5aa}
.blitz-panel-copy{position:relative;z-index:1;margin:11px 0 0;color:#a9bbc1;font-size:11px;line-height:1.5}
.blitz-actions{position:relative;z-index:1;display:flex;gap:8px;margin-top:12px}
.blitz-start-btn,.blitz-practice-btn{min-height:39px;border-radius:9px;padding:0 14px;font:inherit;font-size:11px;font-weight:800;letter-spacing:.04em;cursor:pointer}
.blitz-start-btn{flex:1;border:0;background:#89dfc5;color:#10372d;box-shadow:0 7px 20px rgba(72,211,170,.12)}
.blitz-start-btn:hover{filter:brightness(1.05)}
.blitz-start-btn:disabled{opacity:.48;cursor:not-allowed}
.blitz-practice-btn{border:1px solid #3a5966;background:#132733;color:#c4d7de}
.blitz-attempt-note{position:relative;z-index:1;display:block;margin-top:8px;color:#6f9298;font-size:9px;line-height:1.35}
.blitz-correct-flash .map-stage{box-shadow:inset 0 0 0 2px rgba(91,232,181,.18)}
@keyframes blitz-pulse{50%{opacity:.72;transform:scale(.985)}}

/* Ranking discipline switch */
.rank-game-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:12px;border:1px solid #263e4c;background:#0e1e29;border-radius:11px}
.rank-game-tab{border:0;background:transparent;color:#8fa8b7;border-radius:8px;padding:9px 15px;font:inherit;font-size:11px;font-weight:700;letter-spacing:.035em;cursor:pointer}
.rank-game-tab.active{background:#263f49;color:#eef8f7;box-shadow:0 2px 7px #0003}
.rank-game-tab[data-rank-game="blitz"].active,.rank-game-tab[data-stats-game="blitz"].active{background:#294941;color:#baf1df}
.blitz-rank-time{font-variant-numeric:tabular-nums;color:#8fabb5}

/* Profile trophy */
.blitz-profile-panel{overflow:hidden;position:relative;background:radial-gradient(circle at 18% 22%,rgba(123,221,190,.105),transparent 35%),#10202c}
.blitz-profile-panel::after{content:"";position:absolute;width:290px;height:290px;border:1px solid rgba(139,229,201,.065);border-radius:50%;right:-130px;top:-130px;box-shadow:0 0 0 34px rgba(139,229,201,.018),0 0 0 68px rgba(139,229,201,.012);pointer-events:none}
.blitz-profile-layout{position:relative;z-index:1;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:28px;align-items:center}
.blitz-record-stage{display:grid;place-items:center;text-align:center;padding:8px 8px 4px}
.blitz-record-stage .blitz-trophy{width:min(230px,100%)}
.blitz-record-label{margin-top:2px;color:#8db9ad;font-size:10px;font-weight:800;letter-spacing:.13em}
.blitz-record-number{display:block;margin-top:3px;color:#eefaf7;font-size:43px;line-height:1;font-weight:600;letter-spacing:-.05em}
.blitz-record-caption{display:block;margin-top:7px;color:#97aeb5;font-size:12px}
.blitz-record-tier{display:inline-flex;margin-top:11px;border:1px solid #3a5c54;background:#132d2a;color:#a6ddcd;border-radius:999px;padding:6px 10px;font-size:9px;font-weight:800;letter-spacing:.08em}
.blitz-merit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.blitz-merit-card{min-height:105px;border:1px solid #2a424f;background:#0d1d28c7;border-radius:12px;padding:15px}
.blitz-merit-card small{display:block;color:#86a1ae;font-size:9px;font-weight:750;letter-spacing:.07em;line-height:1.3}
.blitz-merit-card strong{display:block;margin-top:8px;color:#e8f5f2;font-size:29px;font-weight:550}
.blitz-secondary-stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:13px;color:#7f9aa7;font-size:10px;line-height:1.5}
.blitz-secondary-stats b{color:#b8ccd2;font-weight:600}
.blitz-profile-empty{color:#91a6b0;font-size:12px;line-height:1.6}

/* SVG trophy system. Every level has a distinct silhouette/decorations. */
.blitz-trophy{--bt-metal:#9b7554;--bt-metal-hi:#d9b486;--bt-metal-lo:#4d3829;--bt-globe-hi:#3f8ba1;--bt-globe-lo:#173f50;--bt-land:#d1a66d;--bt-accent:#e4be7b;position:relative;display:inline-block;filter:drop-shadow(0 14px 18px #0005)}
.blitz-trophy svg{display:block;width:100%;height:auto;overflow:visible}
.blitz-trophy .bt-rim{stroke-width:5}
.blitz-trophy .bt-grid{fill:none;stroke:rgba(215,242,239,.26);stroke-width:1.2}
.blitz-trophy .bt-land{fill:var(--bt-land);opacity:.95}
.blitz-trophy .bt-orbit,.blitz-trophy .bt-deco,.blitz-trophy .bt-laurel,.blitz-trophy .bt-wing,.blitz-trophy .bt-crown,.blitz-trophy .bt-rays,.blitz-trophy .bt-crystal{fill:none;stroke:var(--bt-metal-hi);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.blitz-trophy .bt-accent,.blitz-trophy .bt-star,.blitz-trophy .bt-satellite{fill:var(--bt-accent);stroke:var(--bt-metal-lo);stroke-width:1}
.blitz-trophy .bt-orbit-thin{stroke-width:1.7;opacity:.75}
.blitz-trophy .bt-plaque{fill:#0d1a20;stroke:var(--bt-metal-hi);stroke-width:1}
.blitz-trophy .bt-plaque-text{fill:var(--bt-metal-hi);font-size:6px;font-weight:800;letter-spacing:1.1px;font-family:Arial,sans-serif}
.blitz-trophy-level{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#0c1e27e8;border:1px solid color-mix(in srgb,var(--bt-metal-hi) 70%,transparent);color:#effaf7;font-size:13px;font-weight:800;box-shadow:0 2px 9px #0006}
.blitz-trophy-1{transform:scale(.91)}
.blitz-trophy-2 .bt-rim{stroke-width:6}
.blitz-trophy-3 .bt-globe{filter:brightness(1.04)}
.blitz-trophy-4{--bt-metal:#798c96;--bt-metal-hi:#c0d0d7;--bt-metal-lo:#37434a;--bt-land:#b8c4c7}
.blitz-trophy-5{--bt-accent:#9ee3ca}
.blitz-trophy-6{--bt-metal:#8a969b;--bt-metal-hi:#e2e7e8;--bt-metal-lo:#42494c;--bt-land:#d7d4c4}
.blitz-trophy-7{--bt-globe-hi:#4d9dac;--bt-accent:#e5d28b}
.blitz-trophy-8{--bt-metal:#899aa3;--bt-metal-hi:#e3edf0;--bt-metal-lo:#3d4a51;--bt-accent:#d9f2ed}
.blitz-trophy-9{--bt-metal:#b48a43;--bt-metal-hi:#f3d78b;--bt-metal-lo:#5f4422;--bt-land:#efd07b;--bt-accent:#fff0af}
.blitz-trophy-10{--bt-metal:#9f5b32;--bt-metal-hi:#e2a06b;--bt-metal-lo:#4d291b;--bt-land:#d68d5b;--bt-accent:#f1bd83}
.blitz-trophy-11{--bt-metal:#9ba9ad;--bt-metal-hi:#eff6f6;--bt-metal-lo:#48555b;--bt-land:#d2dddc;--bt-accent:#bceee4}
.blitz-trophy-12{--bt-metal:#c79d38;--bt-metal-hi:#fff0a0;--bt-metal-lo:#725314;--bt-land:#f0ce68;--bt-accent:#fff7bc;filter:drop-shadow(0 14px 20px #0005) drop-shadow(0 0 12px rgba(255,222,116,.12))}
.blitz-trophy-13{--bt-metal:#a9cbd2;--bt-metal-hi:#f2ffff;--bt-metal-lo:#3c646e;--bt-globe-hi:#80d1d5;--bt-globe-lo:#244d65;--bt-land:#dff5ee;--bt-accent:#d8ffff;filter:drop-shadow(0 14px 21px #0005) drop-shadow(0 0 16px rgba(161,236,238,.18))}
.blitz-trophy.is-locked{filter:grayscale(1) brightness(.45);opacity:.55}

/* Launch announcement */
.blitz-news-modal{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:20px}
.blitz-news-modal.hidden{display:none}
.blitz-news-backdrop{position:absolute;inset:0;background:#020a10d9;backdrop-filter:blur(9px)}
.blitz-news-card{position:relative;width:min(420px,calc(100vw - 28px));overflow:hidden;border:1px solid #477465;background:radial-gradient(circle at 50% -10%,rgba(126,232,196,.2),transparent 46%),linear-gradient(150deg,#15342f,#0d2029 68%);border-radius:22px;padding:30px 28px 27px;text-align:center;color:#edf9f5;box-shadow:0 28px 95px #000a;animation:blitz-news-in .34s cubic-bezier(.2,.8,.2,1)}
.blitz-news-card::before{content:"";position:absolute;inset:-80% -20% auto;height:170px;transform:rotate(-8deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);animation:blitz-shine 1.5s ease-out .18s 1}
.blitz-news-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:0;background:transparent;color:#b5d0c8;font-size:25px;cursor:pointer}
.blitz-news-flash{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 13px;border:1px solid #6fa58f;background:#1d4a3f;border-radius:18px;color:#d9ffef;font-size:31px;box-shadow:0 9px 30px rgba(74,213,166,.14);transform:rotate(-3deg)}
.blitz-news-kicker{color:#8ed7c0;font-size:10px;font-weight:800;letter-spacing:.16em}
.blitz-news-card h2{margin:8px 0 8px;font-size:31px;line-height:1.05;font-weight:600;letter-spacing:-.035em}
.blitz-news-card p{margin:0 auto;color:#afc5c1;font-size:13px;line-height:1.6;max-width:330px}
.blitz-news-play{width:100%;min-height:46px;margin-top:21px;border:0;border-radius:10px;background:#90e2c8;color:#123a2f;font:inherit;font-size:12px;font-weight:850;letter-spacing:.04em;cursor:pointer}
@keyframes blitz-news-in{from{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:none}}
@keyframes blitz-shine{from{transform:translateX(-130%) rotate(-8deg)}to{transform:translateX(130%) rotate(-8deg)}}

/* Result variant */
.result-dialog.blitz-result{background:radial-gradient(ellipse at top,#315248,#101f2a 65%);border-color:#4f7c6c}
.result-dialog.blitz-result .result-orbit{color:#b9f3dc}

@media(max-width:930px){
  .play-mode-switch .training-mode-secondary{padding:7px;font-size:9px}
  .blitz-panel{padding:12px 13px;border-radius:13px}
  .blitz-timer{font-size:34px}
  .blitz-mini-stats{margin-top:9px}
  .blitz-mini-stats>span{padding:7px 8px}
  .blitz-mini-stats strong{font-size:17px}
  .blitz-panel-copy{font-size:10px;margin-top:8px}
  .blitz-actions{margin-top:9px}
  .blitz-start-btn,.blitz-practice-btn{min-height:37px}
  .blitz-profile-layout{grid-template-columns:1fr;gap:14px}
  .blitz-record-stage .blitz-trophy{width:190px}
  .blitz-record-number{font-size:38px}
  .blitz-merit-grid{gap:7px}
  .blitz-merit-card{min-height:88px;padding:12px 10px}
  .blitz-merit-card strong{font-size:25px}
  .rank-game-tabs{display:flex;width:100%}
  .rank-game-tab{flex:1}
}

@media(max-width:460px){
  .blitz-mini-stats small{font-size:7px}
  .blitz-merit-grid{grid-template-columns:repeat(3,1fr)}
  .blitz-merit-card small{font-size:8px}
  .blitz-merit-card strong{font-size:22px}
  .blitz-news-card{padding:26px 19px 22px}
  .blitz-news-card h2{font-size:28px}
}

@media(prefers-reduced-motion:reduce){
  .blitz-timer.danger,.blitz-news-card,.blitz-news-card::before{animation:none!important}
}

/* R17 · Practice exit + trophy cabinet + Blitz stats */
.blitz-end-practice-btn{min-height:39px;border-radius:9px;padding:0 14px;font:inherit;font-size:11px;font-weight:800;letter-spacing:.04em;cursor:pointer;border:1px solid #5f4d46;background:#241d1c;color:#d9c5bc}
.blitz-end-practice-btn:hover{filter:brightness(1.08)}

.trophy-profile-panel{overflow:hidden;position:relative;background:radial-gradient(circle at 14% 10%,rgba(123,221,190,.085),transparent 34%),#10202c}
.trophy-profile-panel::after{content:"";position:absolute;width:320px;height:320px;border:1px solid rgba(139,229,201,.055);border-radius:50%;right:-165px;top:-170px;box-shadow:0 0 0 38px rgba(139,229,201,.014),0 0 0 78px rgba(139,229,201,.009);pointer-events:none}
.orbis-trophy-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:stretch}
.orbis-trophy-card{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #2a4550;background:#0c1c27c7;border-radius:13px;padding:13px 9px 12px}
.orbis-trophy-card.is-locked{background:#0b1821a8;border-color:#263943}
.orbis-trophy-visual{height:132px;width:100%;display:grid;place-items:center}
.orbis-trophy-visual .blitz-trophy{width:116px;max-width:100%}
.orbis-trophy-label{display:block;margin-top:2px;color:#b8d7ce;font-size:9px;font-weight:850;letter-spacing:.085em;line-height:1.25}
.orbis-trophy-discipline{display:block;margin-top:4px;color:#6f919b;font-size:9px;line-height:1.3}
.orbis-trophy-value{display:block;margin-top:8px;color:#eef9f6;font-size:20px;font-weight:650;line-height:1.1}
.orbis-trophy-note{display:block;margin-top:6px;color:#7f9ba4;font-size:8px;line-height:1.35;min-height:22px}
.orbis-trophy-card.is-locked .orbis-trophy-label,.orbis-trophy-card.is-locked .orbis-trophy-discipline,.orbis-trophy-card.is-locked .orbis-trophy-value,.orbis-trophy-card.is-locked .orbis-trophy-note{opacity:.65}

.title-trophy-daily-week{--bt-metal:#83959d;--bt-metal-hi:#d9e6e8;--bt-metal-lo:#3a4a50;--bt-land:#cbd7d5;--bt-accent:#c7e8df}
.title-trophy-daily-month{--bt-metal:#b68b39;--bt-metal-hi:#f4d98e;--bt-metal-lo:#60481e;--bt-land:#e9c96f;--bt-accent:#fff0a8}
.title-trophy-blitz-week{--bt-metal:#518c7c;--bt-metal-hi:#aee8d6;--bt-metal-lo:#24493f;--bt-globe-hi:#52a6ad;--bt-globe-lo:#173f50;--bt-land:#b8decf;--bt-accent:#efffcf}
.title-trophy-blitz-month{--bt-metal:#93b9bd;--bt-metal-hi:#ecffff;--bt-metal-lo:#385b63;--bt-globe-hi:#70c6c9;--bt-globe-lo:#214b62;--bt-land:#e0f4e8;--bt-accent:#d8ffff;filter:drop-shadow(0 14px 20px #0005) drop-shadow(0 0 12px rgba(148,227,219,.12))}
.title-trophy-glyph{font-size:11px;font-weight:900;letter-spacing:.02em}
.bt-week-dots circle{fill:var(--bt-metal-hi);stroke:var(--bt-metal-lo);stroke-width:.8}

.stats-game-tabs{margin-top:2px}
.blitz-stats-inline{grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.blitz-history-row .history-country{font-weight:650;color:#d9e9e6}

@media(max-width:930px){
  .blitz-end-practice-btn{min-height:37px;flex:1}
  .orbis-trophy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .orbis-trophy-card{padding:11px 7px}
  .orbis-trophy-visual{height:118px}
  .orbis-trophy-visual .blitz-trophy{width:103px}
  .orbis-trophy-value{font-size:18px}
  .blitz-stats-inline{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:931px) and (max-width:1180px){.orbis-trophy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:460px){
  .orbis-trophy-visual{height:108px}
  .orbis-trophy-visual .blitz-trophy{width:94px}
  .orbis-trophy-label{font-size:8px}
  .orbis-trophy-discipline{font-size:8px}
}

@media(max-width:930px){.blitz-history-row{grid-template-columns:76px minmax(0,1fr) 64px 48px;gap:6px}.blitz-history-row .history-number{font-size:11px}}


/* R18 · Hall of Fame */
.rank-game-tabs-hof .rank-game-tab{min-width:0}
.hall-of-fame{display:grid;gap:12px}
.hof-record-panel{overflow:hidden;position:relative;background:radial-gradient(circle at 18% 10%,rgba(139,229,201,.10),transparent 32%),radial-gradient(circle at 86% 22%,rgba(225,194,108,.07),transparent 25%),#10202c}
.hof-record-panel::after{content:"";position:absolute;right:-145px;top:-190px;width:360px;height:360px;border:1px solid rgba(162,232,211,.055);border-radius:50%;box-shadow:0 0 0 42px rgba(162,232,211,.012),0 0 0 88px rgba(162,232,211,.008);pointer-events:none}
.hof-record-layout{position:relative;z-index:1;display:grid;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:22px;padding:8px 5px 5px}
.hof-record-trophy{display:grid;place-items:center;min-height:172px}
.hof-record-trophy .blitz-trophy{width:156px}
.hof-record-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.hof-shared{display:inline-flex;margin-bottom:7px;padding:4px 7px;border:1px solid #557d71;border-radius:999px;background:#173129;color:#aee5d4;font-size:8px;font-weight:850;letter-spacing:.09em}
.hof-record-holder{color:#bfd7d1;font-size:13px;font-weight:700;line-height:1.45}
.hof-record-value{margin-top:4px;color:#f2faf8;font-size:40px;line-height:1.02;font-weight:650;letter-spacing:-.035em}
.hof-record-meta{margin-top:8px;color:#8ca8ac;font-size:11px}
.hof-record-tier{margin-top:11px;color:#e8cc82;font-size:10px;font-weight:850;letter-spacing:.11em}
.hof-title-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.hof-title-card{min-width:0;border:1px solid #29424d;background:#10202c;border-radius:14px;padding:14px}
.hof-title-head{display:grid;grid-template-columns:102px minmax(0,1fr);align-items:center;gap:12px;padding-bottom:10px;border-bottom:1px solid #223943}
.hof-title-trophy{height:102px;display:grid;place-items:center}
.hof-title-trophy .blitz-trophy{width:94px}
.hof-title-copy{min-width:0;display:flex;flex-direction:column;gap:5px}
.hof-title-label{color:#7fa49d;font-size:9px;font-weight:850;letter-spacing:.085em}
.hof-title-copy strong{color:#edf8f5;font-size:16px;line-height:1.18;font-weight:650}
.hof-champion-list{display:grid;margin-top:8px;max-height:244px;overflow:auto;scrollbar-width:thin}
.hof-champion-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:38px;border-bottom:1px solid #1f333d}
.hof-champion-row:last-child{border-bottom:0}
.hof-champion-rank{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#172c36;color:#7798a0;font-size:9px;font-weight:800}
.hof-champion-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dbeae6;font-size:12px;font-weight:650}
.hof-champion-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:24px;padding:0 8px;border:1px solid #3e6258;border-radius:999px;background:#163029;color:#aee4d3;font-size:10px;font-weight:850}
.hof-empty{padding:16px 4px 7px;color:#6f8b94;font-size:10px}
.hof-note{margin-top:0}

@media(max-width:700px){
  .rank-game-tabs-hof .rank-game-tab{font-size:9px;padding-left:7px;padding-right:7px}
  .hof-record-layout{grid-template-columns:118px minmax(0,1fr);gap:12px}
  .hof-record-trophy{min-height:125px}
  .hof-record-trophy .blitz-trophy{width:112px}
  .hof-record-value{font-size:31px}
  .hof-record-holder{font-size:11px}
  .hof-title-grid{grid-template-columns:1fr}
  .hof-champion-list{max-height:210px}
  .hof-title-head{grid-template-columns:86px minmax(0,1fr);gap:10px}
  .hof-title-trophy{height:88px}
  .hof-title-trophy .blitz-trophy{width:82px}
}
@media(max-width:390px){
  .rank-game-tabs-hof{gap:5px}
  .rank-game-tabs-hof .rank-game-tab{font-size:8px;letter-spacing:0}
  .hof-record-layout{grid-template-columns:1fr;text-align:center}
  .hof-record-copy{align-items:center}
  .hof-record-trophy{min-height:115px}
  .hof-record-trophy .blitz-trophy{width:108px}
}


/* R19.6 · RESTORED CLEAN MOBILE BLITZ LIVE */

/* ==============================================================
   R19.3 · MOBILE BLITZ LIVE
   A dedicated phone play surface. This intentionally overrides the
   earlier compacting experiments while a Blitz round is actually live.
   The Earth is a fixed-width scene; the iOS keyboard is allowed to cover
   lower, non-essential page content instead of shrinking the globe.
   ============================================================== */
@media (max-width:600px){
  body.mobile-blitz-live{
    --live-safe-top:max(8px, env(safe-area-inset-top, 0px));
    --live-header-h:42px;
    --live-input-top:calc(var(--live-safe-top) + 48px);
    --live-input-h:56px;
    --live-feedback-h:46px;
    --live-feedback-top:calc(var(--live-input-top) + var(--live-input-h) + 8px);
    --live-globe-top:calc(var(--live-feedback-top) + var(--live-feedback-h) - 30px);
    --live-globe-size:min(80vw, 320px);
    overflow:hidden!important;
    overscroll-behavior:none;
    background:#06131d!important;
  }

  body.mobile-blitz-live .app-shell{
    position:fixed!important;
    inset:0!important;
    min-height:0!important;
    height:100dvh!important;
    overflow:hidden!important;
    background:#06131d!important;
    z-index:500;
  }
  body.mobile-blitz-live .app-grid{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  body.mobile-blitz-live .game-card,
  body.mobile-blitz-live .world-card{
    position:static!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  /* Everything from the ordinary ORBIS page disappears during live Blitz. */
  body.mobile-blitz-live .locale-switch,
  body.mobile-blitz-live .brand-row,
  body.mobile-blitz-live .play-mode-switch,
  body.mobile-blitz-live .intro-block,
  body.mobile-blitz-live .guess-feedback,
  body.mobile-blitz-live .stats-grid,
  body.mobile-blitz-live .guess-help-row,
  body.mobile-blitz-live .list-title-row,
  body.mobile-blitz-live .main-nav,
  body.mobile-blitz-live .globe-caption,
  body.mobile-blitz-live .globe-home,
  body.mobile-blitz-live .globe-legend,
  body.mobile-blitz-live .maplibregl-ctrl-bottom-left,
  body.mobile-blitz-live .maplibregl-ctrl-bottom-right,
  body.mobile-blitz-live #featureOverlay{
    display:none!important;
  }

  /* Minimal live header: time left · BLITZ · current country. */
  body.mobile-blitz-live #blitzPanel{
    display:block!important;
    position:fixed!important;
    z-index:1010!important;
    top:var(--live-safe-top)!important;
    left:16px!important;
    right:16px!important;
    width:auto!important;
    height:var(--live-header-h)!important;
    min-height:var(--live-header-h)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.mobile-blitz-live #blitzPanel::before{
    content:'⚡  BLITZ';
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    color:#83ead0;
    font-size:13px;
    line-height:1;
    font-weight:850;
    letter-spacing:.13em;
    white-space:nowrap;
  }
  body.mobile-blitz-live #blitzPanel::after{display:none!important}
  body.mobile-blitz-live #blitzPanel .blitz-panel-top,
  body.mobile-blitz-live #blitzPanel .blitz-panel-top>div{
    display:block!important;
    position:static!important;
    margin:0!important;
    padding:0!important;
  }
  body.mobile-blitz-live #blitzPanel .blitz-panel-kicker,
  body.mobile-blitz-live #blitzPanel .blitz-run-badge,
  body.mobile-blitz-live #blitzPanel .blitz-panel-copy,
  body.mobile-blitz-live #blitzPanel .blitz-actions,
  body.mobile-blitz-live #blitzPanel .blitz-attempt-note{
    display:none!important;
  }
  body.mobile-blitz-live #blitzPanel .blitz-timer{
    display:block!important;
    position:absolute!important;
    left:44px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    padding:0!important;
    color:#eefbf8!important;
    font-size:25px!important;
    line-height:1!important;
    font-variant-numeric:tabular-nums;
    letter-spacing:-.02em!important;
  }
  body.mobile-blitz-live #blitzPanel .blitz-mini-stats{
    display:block!important;
    position:absolute!important;
    right:0!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  body.mobile-blitz-live #blitzPanel .blitz-mini-stats>span{
    display:none!important;
  }
  body.mobile-blitz-live #blitzPanel .blitz-mini-stats>span:nth-child(3){
    display:flex!important;
    flex-direction:row-reverse!important;
    align-items:baseline!important;
    gap:7px!important;
    width:auto!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  body.mobile-blitz-live #blitzPanel .blitz-mini-stats>span:nth-child(3) small{
    display:block!important;
    margin:0!important;
    color:#9aabb7!important;
    font-size:11px!important;
    font-weight:800!important;
    letter-spacing:.12em!important;
  }
  body.mobile-blitz-live #blitzPanel .blitz-mini-stats>span:nth-child(3) strong{
    display:block!important;
    margin:0!important;
    color:#83ead0!important;
    font-size:22px!important;
    line-height:1!important;
    font-weight:850!important;
  }

  /* Exit the active Blitz attempt. The button asks for confirmation, locks
     the current result and returns to the ordinary ORBIS surface. */
  body .mobile-blitz-back{
    display:none;
  }
  body.mobile-blitz-live .mobile-blitz-back{
    display:flex!important;
    position:fixed!important;
    z-index:1120!important;
    top:var(--live-safe-top)!important;
    left:12px!important;
    width:34px!important;
    height:34px!important;
    align-items:center!important;
    justify-content:center!important;
    margin:4px 0 0!important;
    padding:0!important;
    border:1px solid #294956!important;
    border-radius:11px!important;
    background:#0b1d28!important;
    color:#dff8f3!important;
    box-shadow:none!important;
    font-size:21px!important;
    font-weight:800!important;
    line-height:1!important;
    -webkit-tap-highlight-color:transparent;
  }
  body.mobile-blitz-live .mobile-blitz-back:active{
    transform:translateY(1px)!important;
    background:#102733!important;
  }

  /* Search lives above the Earth, permanently inside the visible play area. */
  body.mobile-blitz-live #mysteryPanel{
    display:block!important;
    position:fixed!important;
    z-index:1030!important;
    top:var(--live-input-top)!important;
    left:16px!important;
    right:16px!important;
    width:auto!important;
    height:var(--live-input-h)!important;
    min-height:var(--live-input-h)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  body.mobile-blitz-live #searchWrap{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 104px!important;
    gap:8px!important;
    position:relative!important;
    width:100%!important;
    height:var(--live-input-h)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.mobile-blitz-live #searchWrap .search-icon{
    display:flex!important;
    position:absolute!important;
    z-index:2!important;
    left:15px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:21px!important;
    height:21px!important;
    color:#91a7b6!important;
    pointer-events:none!important;
  }
  body.mobile-blitz-live #countryInput{
    grid-column:1!important;
    width:100%!important;
    height:var(--live-input-h)!important;
    min-width:0!important;
    margin:0!important;
    padding:0 14px 0 48px!important;
    border:1px solid #5edfc8!important;
    border-radius:15px!important;
    outline:none!important;
    background:#0b1d28!important;
    color:#f4fbfd!important;
    box-shadow:0 0 0 2px rgba(94,223,200,.11)!important;
    font-size:16px!important; /* prevents iOS focus zoom */
    line-height:1!important;
  }
  body.mobile-blitz-live #countryInput::placeholder{color:#7f929f!important}
  body.mobile-blitz-live #guessBtn{
    grid-column:2!important;
    position:static!important;
    width:104px!important;
    height:var(--live-input-h)!important;
    min-width:0!important;
    margin:0!important;
    padding:0 10px!important;
    border:0!important;
    border-radius:15px!important;
    background:#75e2cb!important;
    color:#08212a!important;
    box-shadow:none!important;
    font-size:16px!important;
    font-weight:900!important;
  }
  body.mobile-blitz-live #guessBtn .arrow{font-size:24px!important}

  /* Autocomplete floats over the globe and never pushes the scene down. */
  body.mobile-blitz-live #suggestions{
    position:absolute!important;
    z-index:1090!important;
    top:calc(var(--live-input-h) + 6px)!important;
    left:0!important;
    right:112px!important;
    width:auto!important;
    max-height:172px!important;
    margin:0!important;
    overflow:auto!important;
    border:1px solid #2a5360!important;
    border-radius:13px!important;
    background:rgba(9,27,38,.98)!important;
    box-shadow:0 14px 30px rgba(0,0,0,.38)!important;
  }

  /* The Earth is the fixed scene. Width controls size, so keyboard height
     changes cannot collapse it into a strip. */
  body.mobile-blitz-live .map-stage{
    display:block!important;
    position:fixed!important;
    z-index:1000!important;
    top:var(--live-globe-top)!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    width:var(--live-globe-size)!important;
    height:var(--live-globe-size)!important;
    min-width:var(--live-globe-size)!important;
    min-height:var(--live-globe-size)!important;
    max-width:var(--live-globe-size)!important;
    max-height:var(--live-globe-size)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:#06131d!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  body.mobile-blitz-live .map-stage .map,
  body.mobile-blitz-live #map{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    border:0!important;
    border-radius:0!important;
    background:#06131d!important;
  }
  body.mobile-blitz-live .maplibregl-canvas-container,
  body.mobile-blitz-live .maplibregl-canvas{
    width:100%!important;
    height:100%!important;
  }

  /* R19.3.1: latest feedback sits BETWEEN search and globe. The slot is
     reserved from round start so the Earth never jumps when guess #1 lands. */
  /* One current decision row only: country · km · warmer/colder. */
  body.mobile-blitz-live .guess-list-card{
    display:block!important;
    position:fixed!important;
    z-index:1020!important;
    top:var(--live-feedback-top)!important;
    left:16px!important;
    right:16px!important;
    width:auto!important;
    height:var(--live-feedback-h)!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  body.mobile-blitz-live .guess-list-card:has(.feed:empty){display:block!important}
  body.mobile-blitz-live .guess-list-card:has(.feed:empty)::before{
    content:'Gör första gissningen';
    display:flex;
    align-items:center;
    width:100%;
    height:var(--live-feedback-h);
    padding:0 14px;
    border:1px solid #203e49;
    border-radius:13px;
    background:#091a24;
    color:#78909e;
    font-size:12px;
    font-weight:750;
    letter-spacing:.03em;
    box-sizing:border-box;
  }
  html[lang='en'] body.mobile-blitz-live .guess-list-card:has(.feed:empty)::before{content:'Make your first guess'}
  body.mobile-blitz-live .guess-list-card .feed{
    display:block!important;
    width:100%!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  body.mobile-blitz-live .guess-list-card .feed-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:var(--live-feedback-h)!important;
    margin:0!important;
    padding:0 14px!important;
    border:1px solid #294956!important;
    border-radius:14px!important;
    background:#0b1d28!important;
    box-shadow:none!important;
  }
  body.mobile-blitz-live .guess-list-card .feed-row:nth-child(n+2){display:none!important}
  body.mobile-blitz-live .guess-list-card .feed-row .guess-number{display:none!important}
  body.mobile-blitz-live .guess-list-card .feed-country{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
  }
  body.mobile-blitz-live .guess-list-card .flag-wrap,
  body.mobile-blitz-live .guess-list-card .country-flag{
    flex:0 0 auto!important;
  }
  body.mobile-blitz-live .guess-list-card .country-name{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:14px!important;
    font-weight:800!important;
    color:#f1f7f9!important;
  }
  body.mobile-blitz-live .guess-list-card .feed-distance{
    white-space:nowrap!important;
    font-size:13px!important;
    color:#afc0ca!important;
  }
  body.mobile-blitz-live .guess-list-card .badge{
    white-space:nowrap!important;
    font-size:11px!important;
    font-weight:850!important;
  }

  /* No ordinary page layout may leak into the live surface. */
  body.mobile-blitz-live .game-card>*:not(#blitzPanel):not(#mysteryPanel):not(.guess-list-card),
  body.mobile-blitz-live .world-card>*:not(.map-stage){
    display:none!important;
  }
}

@media (max-width:350px){
  body.mobile-blitz-live{
    --live-globe-size:min(76vw, 268px);
  }
  body.mobile-blitz-live #searchWrap{grid-template-columns:minmax(0,1fr) 92px!important}
  body.mobile-blitz-live #guessBtn{width:92px!important;font-size:14px!important}
  body.mobile-blitz-live #suggestions{right:100px!important}
}

/* ==============================================================
   R19.12 · STRICT MODE SURFACE ISOLATION
   Target owns its complete left-side game panel. The shared daily-country
   expedition surface must not remain visible underneath it. This prevents
   Today’s Country feedback/guesses from leaking into Target or Target Practice.
   Capital continues to reuse the shared surface, but r19-modes.js repaints it
   with capital-specific state as soon as the mode is entered.
   ============================================================== */
body.target-active .intro-block,
body.target-active #mysteryPanel,
body.target-active #guessFeedback,
body.target-active .stats-grid,
body.target-active .guess-list-card{
  display:none!important;
}
