*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:#07121b;color:#f5f7ee;font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}
.hidden{display:none!important}
.geo-screen{height:100vh;height:100dvh;padding:8px 10px;display:flex;flex-direction:column;gap:8px;overflow:hidden}
.geo-top{display:flex;justify-content:space-between;align-items:center;min-height:48px;flex:0 0 auto}
.brand{font-weight:1000;font-size:22px;letter-spacing:.4px;color:#ffc928;line-height:1}
.roomBox{font-size:22px;font-weight:1000;background:rgba(255,255,255,.1);padding:8px 14px;border-radius:14px}.btn{border:0;border-radius:14px;padding:10px 14px;font-weight:1000;cursor:pointer}.btn.primary{background:linear-gradient(135deg,#ffd34d,#ff9f1a);color:#111}.btn.danger{background:#d83b46;color:#fff}.btn[disabled]{opacity:.5;pointer-events:none}.wide{width:100%}
.geo-lobby{flex:1;display:grid;grid-template-columns:340px 1fr;gap:14px;min-height:0}.qr-card,.lobby-card,.question-card,.score-card,.result-card,.phone-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:14px;box-shadow:0 20px 60px rgba(0,0,0,.25)}.qr-card img{width:100%;border-radius:16px;background:#fff}.joinLink{font-weight:900;text-align:center;margin-top:8px}.players-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.player-pill{border-radius:13px;background:rgba(255,255,255,.12);padding:10px 12px;font-weight:900;border-left:8px solid var(--c,#fff)}
.geo-game{flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1fr);gap:10px;min-height:0;overflow:hidden}.map-wrap{position:relative;border-radius:22px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 40px rgba(0,0,0,.18);touch-action:none;min-height:0}.screen-map-wrap{height:100%;max-height:calc(100vh - 72px);max-height:calc(100dvh - 72px)}.map-stage{position:absolute;inset:0;transform-origin:0 0;will-change:transform}.geo-map{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.marker-layer{position:absolute;inset:0;pointer-events:none}.marker{position:absolute;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:var(--c);border:1px solid #fff;box-shadow:0 0 0 1px #000,0 0 5px var(--c);z-index:6}.marker span{position:absolute;left:11px;top:-5px;white-space:nowrap;color:#fff;text-shadow:0 2px 5px #000;font-size:11px;font-weight:1000;background:rgba(0,0,0,.45);border-radius:8px;padding:2px 5px}.answer-line{position:absolute;height:2px;transform-origin:0 50%;background:var(--c);opacity:.75;box-shadow:0 0 4px #000,0 0 8px var(--c);z-index:4}.target-marker{position:absolute;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--c);border:1px solid #fff;box-shadow:0 0 0 2px rgba(255,255,255,.28),0 0 10px var(--c),0 0 6px #000;z-index:7}.blink-target{animation:geoTargetBlink .5s linear infinite}@keyframes geoTargetBlink{0%,100%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.25;transform:translate(-50%,-50%) scale(1.9)}}.map-note,.zoom-help{position:absolute;left:10px;bottom:8px;background:rgba(0,0,0,.55);padding:6px 10px;border-radius:999px;font-size:12px;z-index:20;color:#fff}.side-panel{display:grid;grid-template-rows:auto minmax(0,1fr) minmax(0,1.15fr);gap:10px;min-height:0}.question-card h2{font-size:25px;margin:6px 0 4px;line-height:1.12}.question-card #timer{font-size:38px;font-weight:1000;line-height:1}.question-card{display:grid;grid-template-columns:1fr 150px;gap:12px;align-items:center}.question-card .btn{align-self:end}.score-card,.result-card{min-height:0;overflow:hidden}.score-card h3,.result-card h3{margin:0 0 8px}.score-list,.result-list{overflow:auto;max-height:100%;padding-right:2px}.score-row{display:grid;grid-template-columns:28px 1fr 58px;gap:6px;align-items:center;padding:7px 8px;border-radius:10px;background:rgba(10,17,32,.8);margin-bottom:6px;font-weight:900}.result-row{display:grid;grid-template-columns:1fr 72px 54px;gap:6px;align-items:center;padding:7px 6px;border-bottom:1px solid rgba(255,255,255,.09);font-weight:800;font-size:13px}.delta{color:#b8ff9f}.solution{margin:0 0 8px;font-size:14px;line-height:1.25}
.geo-player-body{overflow:hidden;background:#07121b}.geo-player{height:100vh;height:100dvh;padding:8px;display:flex;align-items:center;justify-content:center}.phone-card{width:min(470px,100%);text-align:center}.phone-card h1{margin-top:0}.phone-game{height:100%;width:100%;display:flex;flex-direction:column;gap:8px}.phone-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.08);border-radius:18px;padding:9px 12px}.phone-head b{display:block;font-size:18px}.phone-head small{display:block;opacity:.78}.phone-head #timer{font-size:30px;font-weight:1000}.phone-map-wrap{flex:1;min-height:0;touch-action:none}.phone-map-wrap .geo-map{background:#fff}.my-marker{position:absolute;transform:translate(-50%,-50%);width:var(--marker-size,26px);height:var(--marker-size,26px);border-radius:50%;background:var(--my,#ffdc3d);border:2px solid #fff;box-shadow:0 0 0 2px rgba(0,0,0,.55),0 0 8px #000,0 0 10px var(--my,#ffdc3d);z-index:10;touch-action:none;cursor:grab}.my-marker:before{content:"";position:absolute;left:50%;top:50%;width:var(--marker-hit-size,44px);height:var(--marker-hit-size,44px);transform:translate(-50%,-50%);border-radius:50%;background:transparent}.controls{display:grid;grid-template-columns:1fr 86px;gap:8px}.phone-status{text-align:center;font-weight:800;min-height:22px;font-size:13px}@media(max-width:760px){.geo-player{padding:8px}.phone-head b{font-size:16px}.controls{grid-template-columns:1fr 78px}.phone-map-wrap{border-radius:18px}.zoom-help{font-size:11px;padding:6px 9px}.my-marker{border-width:1.5px}}@media(max-width:1000px){.geo-game{grid-template-columns:1fr 360px}.brand{font-size:19px}.question-card h2{font-size:21px}}

.result-row small{display:block;color:#dbe8f5;font-size:11px;font-weight:700;margin-top:2px;opacity:.9}


/* v12 Leaflet / prava koordinatna mapa bez naziva mesta */
.leaflet-game-map{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:#e7efe2}
.leaflet-container{font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#e7efe2;outline:none}
.leaflet-control-container{display:none}
.leaflet-tile-pane{filter:saturate(1.1) contrast(1.05)}
.marker-layer{display:none}
.geo-map,.map-stage{display:none!important}
.map-wrap{background:#e7efe2}
.leaflet-player-marker{width:var(--hit);height:var(--hit);border-radius:50%;position:relative;transform:translate(-50%,-50%)}
.leaflet-player-marker::after{content:"";position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);transform:translate(-50%,-50%);border-radius:50%;background:var(--c);border:3px solid #fff;box-shadow:0 0 0 2px #000,0 0 14px var(--c)}
.leaflet-player-marker::before{content:"";position:absolute;left:50%;top:50%;width:var(--hit);height:var(--hit);transform:translate(-50%,-50%);border-radius:50%;background:rgba(255,255,255,.001)}
.leaflet-exact-icon{overflow:visible!important;background:transparent!important;border:0!important}.leaflet-answer-marker{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:var(--c);border:1.5px solid #fff;box-shadow:0 0 0 1.5px #000,0 0 7px var(--c)}
.leaflet-answer-marker span{position:absolute;left:10px;top:-6px;white-space:nowrap;color:#fff;text-shadow:0 2px 5px #000;font-size:11px;font-weight:1000;background:rgba(0,0,0,.55);border-radius:8px;padding:2px 5px}
.leaflet-target-marker{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--c);border:1.5px solid #fff;box-shadow:0 0 0 2px rgba(255,255,255,.28),0 0 10px var(--c),0 0 5px #000}

/* v13: bolje uvećan screen + vidljiviji reljef bez naziva */
.leaflet-container{background:#d8e3d0}
.leaflet-tile-pane{filter:saturate(1.28) contrast(1.16) brightness(.96)}
.leaflet-game-map{background:#d8e3d0}
.screen-map-wrap .leaflet-game-map{background:#d8e3d0}
.phone-map-wrap .leaflet-game-map{background:#d8e3d0}
.map-note{z-index:1000;background:rgba(0,0,0,.58)}
.zoom-help{z-index:1000;background:rgba(0,0,0,.58)}


/* v16 mockup: Srbija istaknuta kao jak reljef, okolina isprana, bez blur kontura */
.leaflet-game-map,
.leaflet-container,
.map-wrap{background:#c8d0bd!important}
.leaflet-tile-pane{filter:none!important}
.leaflet-pane.geoBasePane{filter:saturate(.58) contrast(.92) brightness(1.08) sepia(.08)}
.leaflet-pane.geoSerbiaPane{filter:saturate(1.55) contrast(1.34) brightness(.88) sepia(.16) drop-shadow(0 7px 8px rgba(0,0,0,.38)); pointer-events:none;}
.leaflet-pane.geoBorderPane{filter:drop-shadow(0 2px 3px rgba(0,0,0,.55)); pointer-events:none;}
.leaflet-pane.geoSerbiaPane .leaflet-tile{filter:none!important;}
.leaflet-pane.geoBasePane .leaflet-tile{filter:none!important;}

/* v21: GeoJSON isticanje Srbije, bez ručnog PNG crtanja */
.leaflet-game-map,
.leaflet-container,
.map-wrap,
.screen-map-wrap .leaflet-game-map,
.phone-map-wrap .leaflet-game-map{
  background:#c8d0bd!important;
}
.leaflet-pane.geoBasePane{
  filter:saturate(.72) contrast(.94) brightness(1.08) sepia(.06);
}
.leaflet-pane.geoMaskPane{
  filter:none!important;
  pointer-events:none!important;
}
.leaflet-pane.geoSerbiaPane{
  filter:saturate(1.28) contrast(1.18) brightness(.98) sepia(.10) drop-shadow(0 9px 8px rgba(0,0,0,.34));
  pointer-events:none!important;
}
.leaflet-pane.geoBorderPane{
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.62));
  pointer-events:none!important;
}
.leaflet-pane.geoSerbiaPane .leaflet-interactive,
.leaflet-pane.geoBorderPane .leaflet-interactive,
.leaflet-pane.geoMaskPane .leaflet-interactive{
  pointer-events:none!important;
}

/* ADM0 no-label mapa: samo spoljašnja državna granica Srbije */
.leaflet-game-map,
.leaflet-container,
.map-wrap,
.screen-map-wrap .leaflet-game-map,
.phone-map-wrap .leaflet-game-map{
  background:#d8dece!important;
}
.leaflet-pane.geoBasePane{
  filter:saturate(.78) contrast(.98) brightness(1.03)!important;
}
.leaflet-pane.geoMaskPane{
  pointer-events:none!important;
}
.leaflet-pane.geoSerbiaPane{
  filter:saturate(1.22) contrast(1.06) brightness(.98) drop-shadow(0 7px 8px rgba(0,0,0,.28))!important;
  pointer-events:none!important;
}
.leaflet-pane.geoBorderPane{
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.52))!important;
  pointer-events:none!important;
}
.leaflet-pane.geoSerbiaPane .leaflet-interactive,
.leaflet-pane.geoBorderPane .leaflet-interactive,
.leaflet-pane.geoMaskPane .leaflet-interactive{
  pointer-events:none!important;
}

/* Stabilnost screen/phone prikaza + nastavak igre */
.screen-rejoin-box{position:absolute;left:10px;bottom:8px;z-index:1000;display:flex;align-items:center;gap:8px;background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.25);border-radius:14px;padding:6px 8px;color:#fff;font-size:12px;font-weight:1000;box-shadow:0 8px 22px rgba(0,0,0,.3)}
.screen-rejoin-box img{width:54px;height:54px;background:#fff;border-radius:8px;display:block}.screen-rejoin-box div{line-height:1.05;max-width:66px}.map-note{display:none!important}.screen-keepalive{position:fixed;left:-20px;top:-20px;width:2px;height:2px;opacity:.01;background:#fff;pointer-events:none;z-index:-1;animation:geoKeepAlive 12s linear infinite}@keyframes geoKeepAlive{0%{transform:translate(0,0)}25%{transform:translate(80vw,0)}50%{transform:translate(80vw,80vh)}75%{transform:translate(0,80vh)}100%{transform:translate(0,0)}}
.btn.refresh{background:#26384c;color:#fff;border:1px solid rgba(255,255,255,.16);padding:10px 10px;font-size:12px}.controls{grid-template-columns:1fr 104px 78px}.score-row.offline{opacity:.55}.score-row small{display:block;font-size:10px;opacity:.75;color:#dbe8f5}.player-pill em{display:block;font-size:10px;opacity:.75;color:#dbe8f5;font-style:normal;margin-top:2px}
.leaflet-answer-marker{width:6px!important;height:6px!important;border-width:1.2px!important}.leaflet-target-marker{width:6px!important;height:6px!important;border-width:1.2px!important}@media(max-width:760px){.controls{grid-template-columns:1fr 96px 72px}.btn.refresh{font-size:11px;padding:9px 7px}}


/* FINAL GEO v6: lepši screen, QR u desnom panelu, tabela za 6 igrača */
.geo-top{
  grid-template-columns:1fr auto!important;
  gap:14px!important;
  padding:4px 6px 8px!important;
}
.geo-game{
 grid-template-columns:minmax(0,1fr) 560px!important;
  gap:12px!important;
}
.side-panel{
  grid-template-rows:auto 235px minmax(0,1fr)!important;
}
.question-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 104px 128px!important;
  gap:12px!important;
  align-items:center!important;
  min-height:136px!important;
  padding:14px!important;
}
.question-main{
  min-width:0;
}
.question-card h2{
  margin:6px 0 8px!important;
  font-size:26px!important;
  line-height:1.05!important;
}
.question-card #timer{
  font-size:40px!important;
  line-height:1!important;
  color:#7df4ff!important;
  text-shadow:0 0 16px rgba(125,244,255,.24);
}
.question-card .btn{
  align-self:center!important;
  min-height:54px!important;
  border-radius:14px!important;
  font-size:18px!important;
}
.screen-rejoin-box{
  position:static!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  background:linear-gradient(180deg,rgba(9,18,33,.94),rgba(6,12,24,.94))!important;
  border:1px solid rgba(125,244,255,.35)!important;
  border-radius:16px!important;
  padding:8px!important;
  color:#7df4ff!important;
  font-size:11px!important;
  line-height:1.05!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  box-shadow:0 12px 28px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.04)!important;
}
.screen-rejoin-box img{
  width:78px!important;
  height:78px!important;
  background:#fff!important;
  border-radius:10px!important;
  padding:4px!important;
  display:block!important;
}
.screen-rejoin-box div{
  max-width:none!important;
  text-align:center!important;
}
.score-card,
.result-card{
  border-radius:18px!important;
  padding:12px 14px!important;
}
.score-card h3,
.result-card h3{
  font-size:18px!important;
  margin:0 0 10px!important;
}
.score-list{
  display:grid!important;
  grid-template-rows:repeat(6,30px)!important;
  gap:6px!important;
  max-height:216px!important;
  overflow:hidden!important;
}
.score-row{
  margin:0!important;
  height:26px!important;
  min-height:26px!important;
  padding:4px 8px!important;
   grid-template-columns:30px minmax(0,1fr) 70px!important;
  border-radius:8px!important;
  align-items:center!important;
  font-size:15px!important;
}
.score-row span:nth-child(2){
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

.score-row span:first-child{
    font-size:15px;
    font-weight:900;
}

.score-row span:nth-child(2){
    font-size:15px;
    font-weight:900;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.score-row span:last-child{
    font-size:15px;
    text-align:right;
    font-weight:900;
}

.score-row small{
    display:block;
    font-size:9px;
    line-height:9px;
    margin-top:1px;
    opacity:.75;
}
.result-list{
  max-height:100%!important;
}
.result-row{
  border-radius:10px!important;
  padding:8px 9px!important;
  margin-bottom:5px!important;
  background:rgba(10,17,32,.54)!important;
  border-bottom:0!important;
}
.screen-map-wrap{
  border-radius:20px!important;
}

.screen-map-wrap .leaflet-container{
     transform:none!important;
    transform-origin:center center;
}
.map-wrap .screen-rejoin-box{display:none!important;}
.side-panel .screen-rejoin-box{display:flex!important;}

/* =========================================================
   CLEAN SCREEN.HTML RESPONSIVE FIX
   TV/LAPTOP = normalan prikaz
   MOBILNI/TABLET koji otvara screen.html = isti raspored, fullscreen fit
   ========================================================= */

/* hidden uvek mora da pobedi */
.hidden,
.geo-lobby.hidden,
.geo-game.hidden{
  display:none!important;
}
body.geo-lobby-active #game{display:none!important;}
body.geo-game-active #lobby{display:none!important;}

/* Desktop / laptop / TV: normalan browser prikaz, bez fullscreen gate-a */
html:not(.geo-uniform-small-screen) body.geo-screen-page{
  position:static!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
html:not(.geo-uniform-small-screen) body.geo-screen-page .geo-screen{
  position:static!important;
  width:100%!important;
  height:100vh!important;
  height:100dvh!important;
  max-width:none!important;
  transform:none!important;
  overflow:hidden!important;
}
html:not(.geo-uniform-small-screen) .geo-fullscreen-gate{
  display:none!important;
}

/* Desktop referentni raspored */
html:not(.geo-uniform-small-screen) body.geo-screen-page .geo-lobby{
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:14px!important;
}
html:not(.geo-uniform-small-screen) body.geo-screen-page .geo-game{
  grid-template-columns:minmax(0,1fr) 560px!important;
  gap:12px!important;
}
html:not(.geo-uniform-small-screen) body.geo-screen-page .side-panel{
  grid-template-rows:auto 235px minmax(0,1fr)!important;
  gap:10px!important;
}
html:not(.geo-uniform-small-screen) body.geo-screen-page .question-card{
  grid-template-columns:minmax(0,1fr) 104px 128px!important;
  min-height:136px!important;
}
html:not(.geo-uniform-small-screen) body.geo-screen-page .question-card .btn{
  grid-column:auto!important;
}

/* Manji laptop: smanji samo desni panel, ne prebacuj u mobilni režim */
@media (max-width:1280px) and (min-width:981px){
  html:not(.geo-uniform-small-screen) body.geo-screen-page .geo-game{
    grid-template-columns:minmax(0,1fr) 460px!important;
  }
  html:not(.geo-uniform-small-screen) body.geo-screen-page .question-card{
    grid-template-columns:minmax(0,1fr) 86px 108px!important;
    min-height:120px!important;
    padding:12px!important;
  }
  html:not(.geo-uniform-small-screen) body.geo-screen-page .question-card h2{font-size:22px!important;}
  html:not(.geo-uniform-small-screen) body.geo-screen-page .question-card #timer{font-size:34px!important;}
  html:not(.geo-uniform-small-screen) body.geo-screen-page .screen-rejoin-box img{width:66px!important;height:66px!important;}
  html:not(.geo-uniform-small-screen) body.geo-screen-page .question-card .btn{font-size:16px!important;min-height:56px!important;}
}

/* Mobilni/tablet kada glumi screen.html: može fullscreen gate */
html.geo-uniform-small-screen .geo-fullscreen-gate.hidden{display:none!important;}
html.geo-uniform-small-screen .geo-fullscreen-gate{
  position:fixed!important;
  inset:0!important;
  z-index:999999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  background:radial-gradient(circle at 50% 25%, rgba(42,74,103,.98), rgba(5,12,22,.98) 62%, #020711 100%)!important;
}
html.geo-uniform-small-screen .geo-fullscreen-box{
  width:min(430px,92vw)!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  padding:18px!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
html.geo-uniform-small-screen .geo-fullscreen-action{
  border:0!important;
  min-height:62px!important;
  border-radius:18px!important;
  font-size:20px!important;
  font-weight:1000!important;
  cursor:pointer!important;
  color:#fff!important;
}
html.geo-uniform-small-screen .geo-fullscreen-action.primary{background:linear-gradient(135deg,#ffd84a,#ff9f1a)!important;color:#111!important;}
html.geo-uniform-small-screen .geo-fullscreen-action.secondary{background:#2b3d52!important;border:1px solid rgba(255,255,255,.20)!important;}

/* Mobilni/tablet landscape: isti raspored kao desktop, samo skaliran da stane u 100% visine */
html.geo-uniform-small-screen,
html.geo-uniform-small-screen body.geo-screen-page{
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  overflow:hidden!important;
  position:fixed!important;
  inset:0!important;
}
html.geo-uniform-small-screen body.geo-screen-page .geo-screen{
  width:100vw!important;
  height:100vh!important;
  height:100dvh!important;
  overflow:hidden!important;
  padding:5px 7px!important;
  gap:5px!important;
}
html.geo-uniform-small-screen body.geo-screen-page .geo-top{
  height:34px!important;
  min-height:34px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:7px!important;
  align-items:center!important;
  padding:0!important;
}
html.geo-uniform-small-screen body.geo-screen-page .geo-top>div:first-child{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-width:0!important;
}
html.geo-uniform-small-screen body.geo-screen-page .brand{
  font-size:16px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html.geo-uniform-small-screen body.geo-screen-page .btn.small{
  font-size:11px!important;
  line-height:1!important;
  padding:6px 10px!important;
  border-radius:10px!important;
  white-space:nowrap!important;
}
html.geo-uniform-small-screen body.geo-screen-page .roomBox{
  font-size:16px!important;
  line-height:1!important;
  padding:7px 11px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
}

/* Mobilni/tablet lobby */
html.geo-uniform-small-screen body.geo-screen-page .geo-lobby{
  flex:1 1 auto!important;
  height:calc(100dvh - 44px)!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:clamp(170px,30vw,260px) minmax(0,1fr)!important;
  gap:7px!important;
  overflow:hidden!important;
}
html.geo-uniform-small-screen body.geo-screen-page .qr-card,
html.geo-uniform-small-screen body.geo-screen-page .lobby-card{
  border-radius:13px!important;
  padding:9px!important;
  overflow:hidden!important;
}
html.geo-uniform-small-screen body.geo-screen-page .qr-card{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:center!important;
}
html.geo-uniform-small-screen body.geo-screen-page .qr-card img{
  width:auto!important;
  height:min(62vh,250px)!important;
  max-width:100%!important;
  border-radius:10px!important;
}
html.geo-uniform-small-screen body.geo-screen-page .joinLink{font-size:12px!important;margin-top:5px!important;}
html.geo-uniform-small-screen body.geo-screen-page .lobby-card h1{font-size:24px!important;line-height:1!important;margin:4px 0 14px!important;}
html.geo-uniform-small-screen body.geo-screen-page .lobby-card p{font-size:14px!important;line-height:1.2!important;margin:0 0 14px!important;}
html.geo-uniform-small-screen body.geo-screen-page .players-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;margin:8px 0 14px!important;}
html.geo-uniform-small-screen body.geo-screen-page .player-pill{font-size:12px!important;padding:6px 8px!important;border-radius:9px!important;border-left-width:6px!important;}
html.geo-uniform-small-screen body.geo-screen-page .btn.primary.wide{min-height:38px!important;padding:8px 10px!important;font-size:14px!important;border-radius:11px!important;}

/* Mobilni/tablet igra */
html.geo-uniform-small-screen body.geo-screen-page .geo-game{
  flex:1 1 auto!important;
  height:calc(100dvh - 44px)!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) clamp(300px,37vw,390px)!important;
  gap:7px!important;
  overflow:hidden!important;
}
html.geo-uniform-small-screen body.geo-screen-page .screen-map-wrap{
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  border-radius:13px!important;
}
html.geo-uniform-small-screen body.geo-screen-page .leaflet-game-map,
html.geo-uniform-small-screen body.geo-screen-page .leaflet-container{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
html.geo-uniform-small-screen body.geo-screen-page .side-panel{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:96px 154px minmax(0,1fr)!important;
  gap:7px!important;
  overflow:hidden!important;
}
html.geo-uniform-small-screen body.geo-screen-page .question-card,
html.geo-uniform-small-screen body.geo-screen-page .score-card,
html.geo-uniform-small-screen body.geo-screen-page .result-card{
  min-height:0!important;
  overflow:hidden!important;
  border-radius:13px!important;
  padding:9px!important;
  box-sizing:border-box!important;
}
html.geo-uniform-small-screen body.geo-screen-page .question-card{
  height:96px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 70px 86px!important;
  gap:9px!important;
  align-items:center!important;
}
html.geo-uniform-small-screen body.geo-screen-page .question-main{min-width:0!important;overflow:hidden!important;}
html.geo-uniform-small-screen body.geo-screen-page #roundInfo{font-size:12px!important;line-height:1!important;margin:0 0 3px!important;white-space:nowrap!important;}
html.geo-uniform-small-screen body.geo-screen-page .question-card h2{
  font-size:17px!important;
  line-height:1.03!important;
  margin:0 0 3px!important;
  max-height:38px!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
html.geo-uniform-small-screen body.geo-screen-page .question-card #timer{font-size:35px!important;line-height:.92!important;margin:0!important;}
html.geo-uniform-small-screen body.geo-screen-page .screen-rejoin-box{
  width:70px!important;
  height:78px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:4px!important;
  border-radius:10px!important;
  font-size:8px!important;
  line-height:.92!important;
  align-self:center!important;
  justify-self:center!important;
  overflow:hidden!important;
}
html.geo-uniform-small-screen body.geo-screen-page .screen-rejoin-box img{width:52px!important;height:52px!important;border-radius:6px!important;padding:2px!important;}
html.geo-uniform-small-screen body.geo-screen-page .question-card .btn{
  grid-column:auto!important;
  width:86px!important;
  height:66px!important;
  min-height:66px!important;
  padding:5px!important;
  font-size:15px!important;
  line-height:1.05!important;
  border-radius:12px!important;
}
html.geo-uniform-small-screen body.geo-screen-page .score-card{height:154px!important;min-height:154px!important;}
html.geo-uniform-small-screen body.geo-screen-page .score-card h3{font-size:16px!important;line-height:1!important;margin:0 0 7px!important;}
html.geo-uniform-small-screen body.geo-screen-page .score-list{
  display:grid!important;
  grid-template-rows:repeat(6,19px)!important;
  gap:3px!important;
  height:125px!important;
  max-height:125px!important;
  overflow:hidden!important;
}
html.geo-uniform-small-screen body.geo-screen-page .score-row{
  height:19px!important;
  min-height:19px!important;
  margin:0!important;
  padding:2px 6px!important;
  border-radius:6px!important;
  grid-template-columns:24px minmax(0,1fr) 42px!important;
  gap:5px!important;
  line-height:1!important;
}
html.geo-uniform-small-screen body.geo-screen-page .score-row span,
html.geo-uniform-small-screen body.geo-screen-page .score-row b{
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html.geo-uniform-small-screen body.geo-screen-page .result-card h3{font-size:15px!important;line-height:1!important;margin:0 0 7px!important;}
html.geo-uniform-small-screen body.geo-screen-page .result-card p,
html.geo-uniform-small-screen body.geo-screen-page .solution{font-size:11px!important;line-height:1.2!important;margin:0!important;}
html.geo-uniform-small-screen body.geo-screen-page .result-row{font-size:10px!important;line-height:1.1!important;padding:3px 4px!important;grid-template-columns:minmax(0,1fr) 48px 34px!important;}
html.geo-uniform-small-screen body.geo-screen-page .result-row small{font-size:8px!important;}

/* Vrlo mali landscape telefoni */
@media (orientation:landscape) and (max-width:760px){
  html.geo-uniform-small-screen body.geo-screen-page .geo-screen{padding:4px 5px!important;gap:4px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .geo-top{height:30px!important;min-height:30px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .brand{font-size:13px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .roomBox{font-size:13px!important;padding:5px 8px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .btn.small{font-size:9px!important;padding:5px 7px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .geo-game{height:calc(100dvh - 38px)!important;grid-template-columns:minmax(0,1fr) 238px!important;gap:4px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .side-panel{grid-template-rows:58px 104px minmax(0,1fr)!important;gap:4px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .question-card{height:58px!important;grid-template-columns:minmax(0,1fr) 44px 58px!important;padding:5px!important;gap:4px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .question-card h2{font-size:11px!important;max-height:23px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .question-card #timer{font-size:21px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .screen-rejoin-box{width:44px!important;height:44px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .screen-rejoin-box img{width:34px!important;height:34px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .question-card .btn{width:58px!important;height:40px!important;min-height:40px!important;font-size:10px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .score-card{height:104px!important;min-height:104px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .score-list{grid-template-rows:repeat(6,13px)!important;height:88px!important;max-height:88px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .score-row{height:13px!important;min-height:13px!important;}
  html.geo-uniform-small-screen body.geo-screen-page .score-row span,
  html.geo-uniform-small-screen body.geo-screen-page .score-row b{font-size:9px!important;}
}

/* Portrait screen na telefonu: bez skrola, ali prioritet je landscape/fullscreen. */
@media (orientation:portrait) and (max-width:900px){
  html.geo-uniform-small-screen body.geo-screen-page .geo-lobby{
    grid-template-columns:1fr!important;
    height:calc(100dvh - 44px)!important;
  }
  html.geo-uniform-small-screen body.geo-screen-page .qr-card img{
    height:auto!important;
    width:min(70vw,40vh)!important;
  }
}
