:root{
  --bg:#04101c;--panel:#061522;--panel-2:#071927;--panel-3:#081d2d;--line:#153a52;--line-2:#235b78;
  --text:#f5f9fc;--muted:#91a9bd;--cyan:#20e2f3;--cyan-2:#55dffd;--blue:#2f7ef7;--green:#4ce4a4;
  --yellow:#ffc343;--orange:#ff9354;--red:#ff596b;--shadow:0 28px 80px rgba(0,0,0,.42)
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 78% 12%,rgba(20,113,158,.18),transparent 32rem),linear-gradient(180deg,#03101b,#04101c 55%,#030d17)}
body{min-height:100vh}.hidden{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding:22px}.app-grid{max-width:1660px;margin:0 auto;display:grid;grid-template-columns:minmax(400px,630px) minmax(0,1fr);gap:16px}
.game-card,.world-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,rgba(6,21,34,.97),rgba(4,15,25,.98));box-shadow:var(--shadow);overflow:hidden}
.game-card{padding:28px 28px 24px;min-height:850px;display:flex;flex-direction:column}
.brand-row{display:flex;align-items:center;justify-content:space-between}
.brand-static{
  display:flex;
  align-items:center;
  width:min(430px,100%);
  pointer-events:none;
  user-select:none;
}
.brand-image-wrap{
  justify-content:flex-start;
  overflow:visible;
}
.orbis-logo-image{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:left center;
  border:0;
  user-select:none;
  -webkit-user-drag:none;
  background:transparent;
  filter:drop-shadow(0 0 10px rgba(18,207,232,.08));
}

.play-mode-switch{
  margin-top:16px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:5px;
  border:1px solid #183e55;
  border-radius:15px;
  background:rgba(4,17,28,.72);
}
.mode-btn,.new-training-btn{
  height:38px;
  border-radius:11px;
  border:1px solid transparent;
  padding:0 14px;
  background:transparent;
  color:#7897aa;
  font-size:10px;
  font-weight:950;
  letter-spacing:.10em;
  transition:.16s ease;
}
.mode-btn:hover,.new-training-btn:hover{color:#d7e8ef;background:#0c2638}
.mode-btn.active{
  color:#03131d;
  background:linear-gradient(135deg,#5ee8f5,#1bd0df);
  box-shadow:0 8px 22px rgba(27,208,223,.12);
}
.new-training-btn{
  margin-left:auto;
  color:#8fe8f2;
  border-color:#235a73;
}

.intro-block{margin-top:18px}.section-kicker{color:var(--cyan-2);font-size:10px;font-weight:950;letter-spacing:.2em;margin-bottom:10px}.intro-block h1{margin:0;font-size:44px;line-height:1.06;letter-spacing:-.045em}.intro-copy{margin:12px 0 0;max-width:510px;color:#a5bdd0;font-size:15px;line-height:1.55}
.guess-block{margin-top:26px}.search-wrap{position:relative}.search-wrap input{width:100%;height:64px;border:1px solid #3e86aa;border-radius:18px;background:#071827;color:white;padding:0 170px 0 56px;outline:none;font-size:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015),0 0 0 0 rgba(32,226,243,0);transition:.18s}.search-wrap input:focus{border-color:#78eaff;box-shadow:0 0 0 3px rgba(32,226,243,.09),0 10px 38px rgba(0,0,0,.18)}.search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);width:24px;height:24px;color:#89b6d6}.search-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.guess-btn{position:absolute;right:0;top:0;height:64px;min-width:154px;border:0;border-radius:18px;background:linear-gradient(135deg,#38e6f2,#14cedf);color:#03121b;font-weight:950;letter-spacing:.05em;display:flex;align-items:center;justify-content:center;gap:14px;box-shadow:0 10px 30px rgba(18,212,231,.16);transition:.18s}.guess-btn:hover{transform:translateY(-1px);filter:brightness(1.04)}.guess-btn .arrow{font-size:28px;line-height:.7}.input-note{margin:10px 0 0;color:#7592a7;font-size:12px}.suggestions{position:absolute;left:0;right:0;top:70px;z-index:80;max-height:300px;overflow:auto;border:1px solid #2b5d77;border-radius:17px;background:#071827;padding:7px;box-shadow:0 24px 60px rgba(0,0,0,.45)}.suggestion{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:11px;background:transparent;color:#f2f8fb;padding:11px 12px;text-align:left}.suggestion:hover,.suggestion.active{background:#0f2a3e}.suggestion strong{font-size:14px}.suggestion span{color:#7695aa;font-size:11px}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.stat-card{min-height:116px;border:1px solid #1c4a64;border-radius:17px;background:linear-gradient(180deg,rgba(8,29,45,.9),rgba(5,20,32,.9));padding:18px 16px;display:flex;align-items:flex-start;gap:12px}.stat-icon{width:29px;height:29px;color:var(--cyan);line-height:1;display:grid;place-items:center;flex:0 0 auto}.stat-card>div{min-width:0}.stat-label{display:block;color:#9bb3c5;font-size:10px;font-weight:900;letter-spacing:.13em;margin-bottom:7px}.stat-card strong{font-size:26px;line-height:1}.status-live{color:var(--cyan)!important;font-size:20px!important}.status-countdown{display:block;margin-top:7px;color:#7697aa;font-size:10px;font-weight:800;letter-spacing:.025em;white-space:nowrap}
.guess-list-card{margin-top:18px;border:1px solid #18455f;border-radius:18px;background:rgba(4,17,28,.7);overflow:hidden;flex:1;min-height:285px}.list-title-row{height:56px;padding:0 18px;display:flex;align-items:center;border-bottom:1px solid #174258}.list-title{display:flex;align-items:center;gap:10px;color:#adc3d1;font-size:11px;font-weight:900;letter-spacing:.11em}.list-icon{width:19px;height:19px;color:var(--cyan);display:grid;place-items:center}.feed{padding:0 18px 6px;max-height:360px;overflow:auto}.feed-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 116px;gap:14px;align-items:center;min-height:58px;border-bottom:1px solid rgba(30,73,95,.58)}.feed-row:last-child{border-bottom:0}.feed-country{display:flex;align-items:center;gap:11px;min-width:0}
.flag{
  width:24px;height:18px;flex:0 0 24px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:4px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(162,198,218,.18);
  background:#0d2130;
}
.flag-img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.flag-fallback{
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  color:#dceaf1;
} 
.country-name{font-size:13px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed-distance{color:#bbcfda;font-size:12px;text-align:right}.badge{justify-self:end;min-width:104px;height:34px;padding:0 13px;border-radius:999px;border:1px solid currentColor;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:950;letter-spacing:.04em;background:rgba(255,255,255,.025)}.badge.warmer{color:#ffc73f;background:rgba(255,176,24,.1)}.badge.colder{color:#40bfff;background:rgba(26,142,217,.1)}.badge.hot{color:#ff6271;background:rgba(211,47,67,.13)}.badge.same{color:#b5c7d1}.badge.start{color:#9bb3c5}.badge.right{color:#57e6aa;background:rgba(39,205,136,.12)}
.world-card{padding:0;min-height:850px;display:flex;flex-direction:column}.main-nav{height:88px;padding:16px 18px;display:flex;align-items:center;justify-content:center;gap:10px;border-bottom:1px solid #15384d;background:rgba(4,17,28,.72)}.nav-btn{height:52px;padding:0 20px;border:1px solid #1d526f;border-radius:18px;background:#061622;color:#a9bfd0;display:flex;align-items:center;gap:10px;font-size:11px;font-weight:900;letter-spacing:.1em;transition:.18s}.nav-btn:hover{border-color:#3b86a7;color:#d8e8ef}.nav-btn.active{color:#19e3f1;border-color:#19d7eb;box-shadow:0 0 0 1px rgba(25,215,235,.25),0 0 24px rgba(23,223,240,.18);background:linear-gradient(180deg,rgba(10,46,58,.86),rgba(5,27,38,.9))}.nav-ico{width:19px;height:19px;display:grid;place-items:center;line-height:1;flex:0 0 auto}.nav-separator{width:1px;height:34px;background:#244b60;margin:0 4px}.language-btn{padding:0 17px;color:#d9e7ee}.map-stage{position:relative;flex:1;min-height:760px;margin:0;background:#03121e}.map{position:absolute;inset:0}.maplibregl-map{font:inherit}.maplibregl-canvas{outline:none}.maplibregl-ctrl-bottom-right{right:18px!important;bottom:18px!important}.maplibregl-ctrl-group{border-radius:16px!important;overflow:hidden;background:#071927!important;border:1px solid #1f5875!important;box-shadow:0 10px 30px rgba(0,0,0,.32)!important}.maplibregl-ctrl-group button{width:44px!important;height:44px!important;background-color:#071927!important}.maplibregl-ctrl-group button+button{border-top:1px solid #1f5875!important}.maplibregl-ctrl-attrib{font-size:9px!important;background:rgba(4,15,25,.74)!important;color:#7e96a8!important}.maplibregl-ctrl-attrib a{color:#a4bbc9!important}
.loading,.map-error{position:absolute;inset:0;z-index:30;display:grid;place-content:center;justify-items:center;gap:12px;background:#04111d;color:#8fa9bb}.spinner{width:30px;height:30px;border:2px solid #24546c;border-top-color:#27dff0;border-radius:50%;animation:spin .8s linear infinite}.map-error strong{color:#edf6fa;font-size:19px}.map-error span{font-size:12px}@keyframes spin{to{transform:rotate(360deg)}}

.feature-overlay{
  position:absolute;
  inset:0;
  z-index:40;
  overflow:auto;
  background:
    radial-gradient(circle at 86% 10%,rgba(26,113,151,.16),transparent 28rem),
    linear-gradient(180deg,#04131f,#03101b);
}
.dashboard-content{
  min-height:100%;
  padding:34px 36px 42px;
  color:var(--text);
}
.dashboard-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
.dashboard-kicker{
  color:var(--cyan);
  font-size:10px;
  font-weight:950;
  letter-spacing:.18em;
  margin-bottom:8px;
}
.dashboard-title{
  margin:0;
  font-size:36px;
  letter-spacing:-.04em;
}
.dashboard-subtitle{
  margin:10px 0 0;
  color:#8fa9ba;
  max-width:650px;
  font-size:14px;
  line-height:1.55;
}
.dashboard-chip{
  border:1px solid #1c526d;
  border-radius:999px;
  padding:10px 14px;
  color:#a8c1cf;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  white-space:nowrap;
  background:#061827;
}
.dash-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}
.dash-card{
  border:1px solid #19465f;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(8,29,45,.92),rgba(5,20,32,.94));
  padding:17px;
  min-height:104px;
}
.dash-card-label{
  color:#829daf;
  font-size:9px;
  font-weight:950;
  letter-spacing:.14em;
}
.dash-card-value{
  display:block;
  margin-top:8px;
  font-size:28px;
  line-height:1;
}
.dash-card-note{
  display:block;
  margin-top:7px;
  color:#68879b;
  font-size:11px;
}
.dashboard-panel{
  border:1px solid #19465f;
  border-radius:20px;
  background:rgba(4,18,29,.82);
  overflow:hidden;
  margin-top:14px;
}
.panel-head{
  padding:17px 19px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  border-bottom:1px solid #173f55;
}
.panel-head h3{
  margin:0;
  font-size:14px;
  letter-spacing:.02em;
}
.panel-head span{
  color:#7895a7;
  font-size:11px;
}
.rank-rules{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  padding:16px 18px;
}
.rule-card{
  border:1px solid #173b51;
  border-radius:14px;
  padding:13px;
  background:#061725;
}
.rule-card strong{display:block;font-size:12px;margin-bottom:5px}
.rule-card span{font-size:11px;color:#7f9bab;line-height:1.45}
.rank-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.rank-table th{
  color:#6d8ca0;
  font-size:9px;
  letter-spacing:.12em;
  text-align:left;
  padding:12px 18px;
  border-bottom:1px solid #173c51;
}
.rank-table td{
  padding:14px 18px;
  border-bottom:1px solid rgba(23,60,81,.66);
}
.rank-table tr:last-child td{border-bottom:0}
.rank-you{background:rgba(31,210,230,.055)}
.rank-empty{
  padding:34px 20px;
  text-align:center;
  color:#7996a7;
}
.rank-empty strong{
  display:block;
  color:#dce9ef;
  font-size:14px;
  margin-bottom:6px;
}
.distribution{
  padding:17px 18px 20px;
}
.dist-row{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 34px;
  align-items:center;
  gap:10px;
  margin:9px 0;
}
.dist-label,.dist-count{
  font-size:11px;
  color:#90a9b8;
}
.dist-track{
  height:12px;
  border-radius:999px;
  background:#071827;
  overflow:hidden;
  border:1px solid #173d52;
}
.dist-fill{
  height:100%;
  min-width:2px;
  border-radius:999px;
  background:linear-gradient(90deg,#15cbdd,#5de6f5);
}
.history-list{padding:4px 18px 10px}
.history-row{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 90px 90px;
  gap:12px;
  padding:13px 0;
  align-items:center;
  border-bottom:1px solid rgba(25,64,84,.7);
  font-size:12px;
}
.history-row:last-child{border-bottom:0}
.history-date{color:#7896a8}
.history-country{font-weight:850}
.history-number{text-align:right;color:#b5cad5}
.profile-hero{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:20px;
}
.profile-avatar{
  width:76px;height:76px;
  border-radius:22px;
  display:grid;place-items:center;
  color:#04121c;
  font-size:31px;font-weight:950;
  background:linear-gradient(135deg,#64eaf6,#17cbdc);
  box-shadow:0 12px 35px rgba(22,204,221,.16);
}
.profile-name-row{display:flex;gap:8px;align-items:center}
.profile-name-input{
  height:44px;
  flex:1;
  max-width:360px;
  border:1px solid #285a73;
  border-radius:12px;
  background:#061827;
  color:white;
  padding:0 13px;
  outline:none;
}
.profile-save{
  height:44px;
  border:0;border-radius:12px;
  padding:0 16px;
  background:#1bd2e3;
  color:#03141d;
  font-weight:950;
  font-size:10px;
  letter-spacing:.08em;
}

.achievement-section{overflow:visible}
.achievement-showcase{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  padding:16px 18px 20px;
}
.achievement-card{
  --achievement-accent:#21d9e9;
  position:relative;
  min-height:232px;
  border:1px solid #1b465d;
  border-radius:18px;
  padding:16px;
  background:
    radial-gradient(circle at 18% 0%,color-mix(in srgb,var(--achievement-accent) 12%,transparent),transparent 120px),
    linear-gradient(180deg,#071a29,#051520);
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,filter .18s ease;
}
.achievement-card.unlocked{
  border-color:color-mix(in srgb,var(--achievement-accent) 42%,#1b465d);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.achievement-card.unlocked:hover{transform:translateY(-2px)}
.achievement-card.locked{
  background:linear-gradient(180deg,#071620,#06131c);
  border-color:#173745;
}
.achievement-card.locked .achievement-symbol,
.achievement-card.locked h4,
.achievement-card.locked p{filter:saturate(.2);opacity:.56}
.achievement-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.achievement-symbol{
  width:47px;height:47px;
  display:grid;place-items:center;
  padding:10px;
  border-radius:14px;
  color:var(--achievement-accent);
  background:color-mix(in srgb,var(--achievement-accent) 10%,#071827);
  border:1px solid color-mix(in srgb,var(--achievement-accent) 24%,#183e53);
  box-shadow:0 10px 28px color-mix(in srgb,var(--achievement-accent) 8%,transparent);
}
.achievement-symbol .ui-svg{stroke-width:1.65}
.achievement-state{
  height:25px;
  display:flex;align-items:center;
  border-radius:999px;
  padding:0 9px;
  background:rgba(101,231,190,.12);
  color:#72e7bd!important;
  border:1px solid rgba(101,231,190,.15);
  font-size:8px!important;
  font-weight:950;
  letter-spacing:.10em;
  line-height:1!important;
}
.achievement-card.locked .achievement-state{
  color:#8293a0!important;
  background:rgba(125,145,158,.08);
  border-color:rgba(125,145,158,.1);
}
.achievement-card h4{
  margin:16px 0 7px;
  font-size:15px;
  letter-spacing:-.015em;
}
.achievement-card p{
  min-height:34px;
  margin:0;
  color:#829dac;
  font-size:10.5px;
  line-height:1.5;
}
.achievement-progress-head{
  margin-top:17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:#7291a3;
  font-size:9px;
  font-weight:750;
}
.achievement-progress{
  height:6px;
  margin-top:7px;
  overflow:hidden;
  border-radius:999px;
  background:#0b2331;
  border:1px solid rgba(31,78,98,.5);
}
.achievement-progress span{
  display:block;
  height:100%;
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--achievement-accent),color-mix(in srgb,var(--achievement-accent) 55%,#ffffff));
}
.achievement-card.locked .achievement-progress span{opacity:.5}
.achievement-footer{
  min-height:14px;
  margin-top:11px;
  color:#627f91;
  font-size:8.5px;
  font-weight:800;
}
.achievement-card.unlocked .achievement-footer{color:color-mix(in srgb,var(--achievement-accent) 72%,#91a8b7)}
.accent-cyan{--achievement-accent:#20dce9}
.accent-blue{--achievement-accent:#4d9dff}
.accent-lime{--achievement-accent:#8fe565}
.accent-orange{--achievement-accent:#ffac5e}
.accent-gold{--achievement-accent:#f2ca65}
.accent-violet{--achievement-accent:#a78bfa}
@media(max-width:1150px){.achievement-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.achievement-showcase{grid-template-columns:1fr}}

.friend-box{
  padding:24px 20px;
  display:grid;
  place-items:center;
  text-align:center;
  min-height:240px;
}
.friend-box .big-icon{width:44px;height:44px;color:var(--cyan);margin-bottom:14px}
.friend-box h3{margin:0 0 8px}
.friend-box p{margin:0;max-width:500px;color:#809dab;line-height:1.55;font-size:12px}
.backend-pill{
  display:inline-flex;
  margin-top:14px;
  padding:8px 11px;
  border:1px solid #24566e;
  border-radius:999px;
  color:#8cb3c5;
  font-size:9px;
  font-weight:900;
  letter-spacing:.10em;
}
@media(max-width:1150px){
  .dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rank-rules,.achievement-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .dashboard-content{padding:24px 16px 34px}
  .dashboard-header{align-items:flex-start;flex-direction:column}
  .dash-grid{grid-template-columns:1fr 1fr}
  .history-row{grid-template-columns:90px minmax(0,1fr) 70px}
  .history-row .history-score{display:none}
}

.toast{position:fixed;left:50%;bottom:26px;z-index:100;transform:translate(-50%,18px);opacity:0;pointer-events:none;border-radius:999px;background:#f4f9fb;color:#03121c;padding:11px 16px;font-size:11px;font-weight:950;box-shadow:0 18px 50px rgba(0,0,0,.4);transition:.16s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1220px){.app-grid{grid-template-columns:420px minmax(0,1fr)}.brand-static{width:min(360px,100%)}.intro-block h1{font-size:36px}.main-nav{gap:6px}.nav-btn{padding:0 13px;font-size:10px}.nav-ico{font-size:16px}.feed-row{grid-template-columns:minmax(0,1fr) 80px 100px}.badge{min-width:94px}}
@media(max-width:930px){.app-shell{padding:10px}.app-grid{grid-template-columns:1fr}.world-card{order:-1;min-height:68vh}.map-stage{min-height:60vh}.main-nav{height:auto;justify-content:flex-start;overflow:auto;padding:10px}.game-card{min-height:auto}.feed{max-height:300px}}
@media(max-width:560px){.game-card{padding:20px 16px}.brand-static{width:min(300px,100%)}.intro-block{margin-top:24px}.intro-block h1{font-size:32px}.intro-copy{font-size:14px}.stats-grid{grid-template-columns:1fr}.stat-card{min-height:88px}.feed-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.feed-distance{display:none}.main-nav{gap:6px}.nav-btn{height:44px;padding:0 12px}.nav-btn span:last-child{display:none}.language-btn span:last-child{display:inline}.nav-separator{display:none}}

.search-wrap.round-locked input{opacity:.58;cursor:not-allowed}
.search-wrap.round-locked .guess-btn{opacity:.5;cursor:not-allowed;transform:none!important}

@media(max-width:560px){
  .play-mode-switch{flex-wrap:wrap}
  .new-training-btn{width:100%;margin-left:0}
}

.feed:empty{min-height:20px}
.championship-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px 18px}
.champion-card{min-height:112px;border:1px solid #1b4a62;border-radius:16px;padding:15px;background:linear-gradient(180deg,rgba(9,31,47,.94),rgba(5,20,32,.94))}
.champion-card .crown{width:27px;height:27px;color:#ffe073;line-height:1;margin-bottom:10px;display:grid;place-items:center}
.champion-card .champ-label{display:block;color:#7d9cad;font-size:9px;font-weight:950;letter-spacing:.13em}
.champion-card .champ-value{display:block;margin-top:7px;font-size:25px;line-height:1}
.champion-card .champ-note{display:block;margin-top:7px;color:#68879a;font-size:10px;line-height:1.4}
.competition-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0 18px}
.period-card{border:1px solid #19465f;border-radius:18px;background:linear-gradient(180deg,rgba(8,29,45,.93),rgba(5,20,32,.95));padding:17px}
.period-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.period-name{font-size:10px;font-weight:950;letter-spacing:.12em;color:#8da7b7}
.period-icon{width:23px;height:23px;color:#ffe073;display:grid;place-items:center}
.period-value{display:block;margin-top:10px;font-size:23px}
.period-note{display:block;margin-top:7px;color:#708fa1;font-size:10px;line-height:1.45}
.period-progress{margin-top:11px;height:5px;border-radius:99px;background:#071827;overflow:hidden}
.period-progress>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#19cddd,#5ce8f4)}
.archive-list{padding:5px 18px 12px}
.archive-row{display:grid;grid-template-columns:110px 130px minmax(0,1fr);gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(25,64,84,.7);font-size:12px}
.archive-row:last-child{border-bottom:0}
.archive-type{color:#ffe073;font-size:10px;font-weight:950;letter-spacing:.08em}
.archive-period{color:#7897a9}
.archive-title{font-weight:850}
.future-note{padding:20px 18px;color:#7997a8;font-size:11px;line-height:1.55}
@media(max-width:1150px){.competition-strip,.championship-grid{grid-template-columns:1fr}}
@media(max-width:650px){.archive-row{grid-template-columns:90px minmax(0,1fr)}.archive-title{grid-column:1/-1}}

.ui-svg{width:100%;height:100%;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.stat-icon .ui-svg{stroke-width:1.7}
.nav-btn.active .ui-svg{filter:drop-shadow(0 0 6px rgba(26,224,240,.26))}
.icon-box{width:28px;height:28px;display:grid;place-items:center;color:var(--cyan)}
.icon-box.gold{color:#ffd76a}
.icon-box.muted{color:#89a8ba}
.icon-box .ui-svg{stroke-width:1.75}

.history-country{display:flex;align-items:center;gap:9px;min-width:0}
.history-country .flag{width:22px;height:16px;flex:0 0 22px;border-radius:3px}

.rank-tabs{
  display:flex;
  gap:8px;
  margin:0 0 18px;
  padding:5px;
  border:1px solid #173f55;
  border-radius:15px;
  background:rgba(4,18,29,.7);
  width:max-content;
  max-width:100%;
}
.rank-tab{
  height:40px;
  padding:0 18px;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:#7896a8;
  font-size:10px;
  font-weight:950;
  letter-spacing:.11em;
}
.rank-tab:hover{color:#dbe9ef;background:#0a2334}
.rank-tab.active{
  color:#03131d;
  background:linear-gradient(135deg,#60e9f5,#1bd1e1);
}
.rank-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.rank-summary .dash-card{min-height:96px}
.rank-section-note{
  padding:12px 18px 15px;
  color:#7694a6;
  font-size:10px;
  line-height:1.5;
  border-top:1px solid rgba(23,63,85,.65);
}
.rank-table-wrap{overflow:auto}
.rank-table.compact th,.rank-table.compact td{padding-top:12px;padding-bottom:12px}
.rank-table.compact th:nth-child(1),.rank-table.compact td:nth-child(1){width:54px}
.rank-table.compact th:nth-child(n+3),.rank-table.compact td:nth-child(n+3){text-align:right}
.rank-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 19px;
}
.rank-hero-main{min-width:0}
.rank-hero-kicker{color:#7d9bab;font-size:9px;font-weight:950;letter-spacing:.13em}
.rank-hero-value{display:block;margin-top:7px;font-size:26px}
.rank-hero-note{display:block;margin-top:6px;color:#6f8fa2;font-size:10px}
.rank-hero-icon{width:38px;height:38px;color:#5ee7f3}
@media(max-width:650px){
  .rank-tabs{width:100%;overflow:auto}
  .rank-tab{flex:1;min-width:max-content}
  .rank-summary{grid-template-columns:1fr}
}

.badge-icon{width:14px;height:14px;display:grid;place-items:center}
.badge-icon .ui-svg{stroke-width:2}


/* ==========================================================
   CLEAN RESET MOBILE PLAY
   One viewport: globe on top, play controls + guesses below.
   No whole-page scrolling while playing.
   ========================================================== */
@media(max-width:930px){
  html,body{height:100%;min-height:100%;overscroll-behavior:none}
  body{overflow:hidden}

  .app-shell{
    width:100%;
    height:100vh;
    height:100dvh;
    min-height:0;
    padding:0;
    overflow:hidden;
  }

  .app-grid{
    width:100%;
    max-width:none;
    height:100%;
    min-height:0;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:minmax(210px,36%) minmax(0,64%);
    gap:0;
  }

  .world-card{
    order:-1;
    min-height:0;
    height:auto;
    border-radius:0;
    border-width:0 0 1px;
    box-shadow:none;
    overflow:hidden;
  }

  .main-nav{
    flex:0 0 50px;
    height:50px;
    min-height:50px;
    justify-content:center;
    gap:5px;
    overflow-x:auto;
    overflow-y:hidden;
    padding:5px 7px;
    scrollbar-width:none;
  }
  .main-nav::-webkit-scrollbar{display:none}

  .nav-btn{
    flex:0 0 auto;
    width:42px;
    height:40px;
    justify-content:center;
    padding:0;
    border-radius:12px;
  }
  .nav-btn span:last-child{display:none}
  .language-btn{width:auto;padding:0 10px}
  .language-btn span:last-child{display:inline;font-size:9px}
  .nav-separator{display:none}

  .map-stage{
    flex:1;
    min-height:0;
    height:auto;
    margin:0;
  }
  .maplibregl-ctrl-bottom-right{right:7px!important;bottom:6px!important}
  .maplibregl-ctrl-bottom-right .maplibregl-ctrl-group{display:none}
  .maplibregl-ctrl-attrib{font-size:7px!important}

  .game-card{
    min-height:0;
    height:auto;
    overflow:hidden;
    border-radius:0;
    border-width:0;
    box-shadow:none;
    padding:9px 11px max(9px,env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
  }
  .brand-row{display:none}

  .play-mode-switch{
    flex:0 0 auto;
    margin:0;
    padding:3px;
    gap:4px;
    border-radius:11px;
  }
  .mode-btn,.new-training-btn{
    height:31px;
    padding:0 10px;
    border-radius:8px;
    font-size:8px;
  }

  .intro-block{
    flex:0 0 auto;
    margin:7px 1px 0;
    display:flex;
    align-items:baseline;
    gap:8px;
  }
  .section-kicker{display:none}
  .intro-block h1{
    margin:0;
    font-size:18px;
    line-height:1.1;
    letter-spacing:-.025em;
    white-space:nowrap;
  }
  .intro-copy{
    margin:0;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:9px;
    line-height:1.2;
    color:#7694a7;
  }

  .guess-block{
    flex:0 0 auto;
    margin-top:7px;
  }
  .search-wrap input{
    height:48px;
    border-radius:13px;
    padding:0 103px 0 42px;
    font-size:14px;
  }
  .search-icon{left:13px;width:19px;height:19px}
  .guess-btn{
    height:48px;
    min-width:96px;
    border-radius:13px;
    gap:6px;
    font-size:10px;
  }
  .guess-btn .arrow{font-size:21px}
  .input-note{
    height:14px;
    margin:5px 2px 0;
    font-size:8.5px;
    line-height:14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .suggestions{
    top:53px;
    max-height:min(220px,34dvh);
    border-radius:13px;
  }

  .stats-grid{
    flex:0 0 auto;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:6px;
  }
  .stat-card{
    min-height:57px;
    height:57px;
    border-radius:11px;
    padding:9px 8px;
    gap:7px;
    align-items:center;
  }
  .stat-icon{width:19px;height:19px}
  .stat-label{
    margin-bottom:3px;
    font-size:7px;
    letter-spacing:.08em;
  }
  .stat-card strong{font-size:17px}
  .status-live{font-size:12px!important}
  .status-countdown{
    max-width:98px;
    margin-top:2px;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:7px;
  }

  .guess-list-card{
    flex:1 1 auto;
    min-height:0;
    margin-top:6px;
    border-radius:12px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  .list-title-row{
    flex:0 0 32px;
    height:32px;
    padding:0 10px;
  }
  .list-title{gap:7px;font-size:8px}
  .list-icon{width:14px;height:14px}
  .feed{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow:auto;
    overscroll-behavior:contain;
    padding:0 9px 4px;
  }
  .feed-row{
    grid-template-columns:minmax(0,1fr) 63px 82px;
    gap:7px;
    min-height:42px;
  }
  .flag{width:21px;height:15px;flex-basis:21px}
  .feed-country{gap:7px}
  .country-name{font-size:10px}
  .feed-distance{font-size:9px}
  .badge{
    min-width:76px;
    height:27px;
    padding:0 8px;
    gap:5px;
    font-size:8px;
  }
  .badge-icon{width:11px;height:11px}

  body.feature-open .app-grid{
    display:block;
    height:100%;
  }
  body.feature-open .game-card{display:none}
  body.feature-open .world-card{
    display:flex;
    width:100%;
    height:100%;
    min-height:0;
  }
  body.feature-open .map-stage{min-height:0}
  body.feature-open .feature-overlay{overflow:auto}
  body.feature-open .dashboard-content{
    min-height:100%;
    padding:20px 13px max(28px,env(safe-area-inset-bottom));
  }
}

@media(max-width:560px){
  .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stat-card{min-height:57px}
  .game-card{padding:9px 11px max(9px,env(safe-area-inset-bottom))}
  .intro-block{margin-top:7px}
  .intro-block h1{font-size:18px}
  .intro-copy{font-size:9px}
  .feed-row{grid-template-columns:minmax(0,1fr) 63px 82px}
  .feed-distance{display:block}
  .play-mode-switch{flex-wrap:nowrap}
  .new-training-btn{width:auto;margin-left:auto}
}

@media(max-width:930px){
  body:has(#countryInput:focus) .app-grid{
    grid-template-rows:minmax(120px,27%) minmax(0,73%);
  }
}
