:root{color-scheme:dark;--dark:#10231e;--darkest:#081611;--lime:#bbec55;--muted:#a8b9ae;--a:#f59e0b;--b:#dc3545}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--darkest);color:#f4f8f2;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}[hidden]{display:none!important}
.viewer{height:100dvh;min-height:280px;padding:clamp(10px,1.6vw,24px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(9px,1.2vw,18px);background:radial-gradient(circle at 50% -30%,#254334,transparent 57%),var(--darkest)}
.topbar{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:12px;min-width:0;color:var(--lime);font-weight:900;font-size:clamp(12px,1.5vw,21px);letter-spacing:.12em}.brand img{width:clamp(46px,5vw,75px);height:42px;object-fit:contain}.event-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-weight:800;font-size:clamp(11px,1.1vw,15px)}.event-meta span:last-child{color:var(--muted);font-size:.85em}.connection{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--muted);font-size:clamp(11px,1vw,14px);font-weight:800}.connection-dot{width:9px;height:9px;border-radius:50%;background:#84938a}.connection.connected{color:var(--lime)}.connection.connected .connection-dot{background:var(--lime);box-shadow:0 0 12px var(--lime)}.connection.offline{color:#ffb5a7}.connection.offline .connection-dot{background:#ed6754}
.share-button{flex:none;border:1px solid #bbec5590;border-radius:999px;background:#bbec551b;color:var(--lime);padding:8px 15px;font-weight:900;font-size:clamp(11px,1vw,14px)}.share-button:hover{background:#bbec5533}.share-button span{font-size:1.2em}.share-menu{position:fixed;z-index:9;top:65px;right:16px;min-width:195px;padding:12px;border:1px solid #bbec5570;border-radius:12px;background:#193328;box-shadow:0 15px 40px #0008}.share-menu p{margin:0 0 8px;color:var(--lime);font-size:12px;font-weight:900}.share-menu a,.share-menu button{display:block;width:100%;padding:9px 6px;border:0;border-radius:5px;background:none;color:#fff;text-align:left;text-decoration:none;font-size:13px;font-weight:700}.share-menu a:hover,.share-menu button:hover{background:#ffffff18}.share-menu span{display:block;color:var(--lime);font-size:11px;overflow-wrap:anywhere}
.content{min-height:0;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(265px,.9fr);gap:clamp(9px,1.2vw,18px)}.map-panel,.result-panel,.recent{min-width:0;border:1px solid #ffffff25;background:linear-gradient(145deg,#1c352b,#10221c);box-shadow:0 14px 40px #0004}.map-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:18px}.panel-heading{display:flex;justify-content:space-between;align-items:center;padding:clamp(10px,1.3vw,20px) clamp(12px,1.8vw,26px) 0}.eyebrow{margin:0;color:var(--lime);font-weight:900;font-size:clamp(9px,.85vw,12px);letter-spacing:.2em}.panel-heading h1{margin:2px 0 0;font-size:clamp(17px,2vw,30px);line-height:1.1}.progress{margin:0;font-size:clamp(22px,3.4vw,54px);font-weight:900;line-height:1}.progress span{color:var(--muted);font-size:.55em}.map-canvas{min-height:0;display:grid;place-items:center;padding:0 12px}.map-canvas object{display:block;width:100%;height:100%;max-height:100%;pointer-events:none}.map-footer{display:flex;align-items:center;gap:clamp(8px,1.3vw,20px);padding:0 clamp(12px,1.8vw,26px) clamp(9px,1vw,16px);color:var(--muted);font-size:clamp(10px,.9vw,13px)}.legend{display:flex;align-items:center;gap:5px;white-space:nowrap}.legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-a{background:var(--a)}.legend-b{background:var(--b)}.map-hint{margin-left:auto;text-align:right}
.result-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:18px;border-top:3px solid var(--lime)}.result-panel.sector-a{border-top-color:var(--a)}.result-panel.sector-b{border-top-color:var(--b)}.result-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:clamp(12px,1.6vw,24px) clamp(14px,2vw,30px) 0;color:var(--muted);font-size:clamp(10px,.95vw,14px);font-weight:800}.live-pill{color:var(--lime);letter-spacing:.12em}.result-panel.sector-a .live-pill{color:var(--a)}.result-panel.sector-b .live-pill{color:#ff858c}.result-body{align-self:center;min-width:0;padding:6px clamp(14px,2vw,30px)}.result-kicker{margin:0 0 6px;color:var(--muted);font-size:clamp(11px,1vw,15px);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.result-body h2{margin:0;overflow-wrap:anywhere;font-size:clamp(22px,2.9vw,46px);line-height:1.08}.result-subtitle{margin:10px 0 0;color:var(--muted);font-size:clamp(12px,1vw,16px);line-height:1.35}.peg-result{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(12px,2vh,28px);border:1px solid #ffffff29;border-radius:12px;overflow:hidden}.peg-result>div{padding:clamp(8px,1.3vw,18px);display:flex;flex-direction:column;gap:2px}.peg-result>div:first-child{border-right:1px solid #ffffff29}.peg-result span{font-size:clamp(9px,.8vw,12px);font-weight:900;letter-spacing:.1em;color:var(--muted)}.peg-result strong{font-size:clamp(30px,5vw,76px);line-height:1;font-weight:900;color:var(--lime)}.sector-a .peg-result strong{color:var(--a)}.sector-b .peg-result strong{color:#ff747e}.sector-result strong{font-size:clamp(26px,4vw,60px)}.sponsor{margin:12px 0 0;color:var(--muted);font-size:clamp(11px,1vw,15px)}.result-footer{padding:12px clamp(14px,2vw,30px);border-top:1px solid #ffffff19;color:var(--muted);font-size:clamp(10px,.9vw,13px)}.result-panel.reveal .result-body{animation:reveal .6s ease-out}.result-panel.reveal .peg-result{animation:peg-reveal .7s ease-out}@keyframes reveal{from{opacity:.3;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes peg-reveal{from{opacity:.2;transform:scale(.92)}to{opacity:1;transform:none}}
.recent{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:10px 16px;border-radius:14px}.recent-heading{min-width:155px}.recent-heading h2{margin:0;font-size:clamp(12px,1.1vw,16px)}.recent-heading span{color:var(--muted);font-size:clamp(10px,.85vw,12px)}.recent ol{display:flex;gap:8px;min-width:0;overflow-x:auto;scrollbar-width:thin;list-style:none;margin:0;padding:0}.recent li{min-width:clamp(125px,13vw,205px);max-width:clamp(125px,13vw,205px);padding:8px 10px;border-left:3px solid var(--lime);background:#ffffff0c;border-radius:5px;font-size:clamp(10px,.9vw,13px)}.recent li.sector-a{border-left-color:var(--a)}.recent li.sector-b{border-left-color:var(--b)}.recent li strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent li span{color:var(--muted)}.recent li.empty-result{max-width:none;min-width:0;color:var(--muted)}
.orientation-gate{display:none;position:fixed;z-index:10;inset:0;padding:20px;align-items:center;justify-content:center;text-align:center;background:#081611f5}.rotate-card{max-width:380px}.rotate-icon{margin:0 auto 22px;width:90px;height:90px;border:2px solid var(--lime);border-radius:20px;display:grid;place-items:center;color:var(--lime);font-size:58px;line-height:1;transform:rotate(-35deg)}.rotate-card h1{font-size:clamp(26px,7vw,40px);line-height:1.08;margin:12px 0}.rotate-card p:not(.eyebrow){color:var(--muted);line-height:1.45}.rotate-card button{display:block;width:100%;margin-top:18px;padding:12px 16px;border:0;border-radius:9px;background:var(--lime);color:var(--darkest);font-weight:900}.rotate-card .text-button{margin-top:8px;background:none;color:var(--muted);font-size:13px;text-decoration:underline}
@media (orientation:portrait) and (max-width:800px){body:not(.portrait-allowed) .orientation-gate{display:flex}body:not(.portrait-allowed) .viewer{visibility:hidden}body.portrait-allowed .viewer{height:auto;min-height:100dvh;grid-template-rows:auto auto auto}body.portrait-allowed .content{grid-template-columns:1fr}body.portrait-allowed .map-panel{min-height:38vh}body.portrait-allowed .map-canvas{min-height:24vh}body.portrait-allowed .result-panel{min-height:34vh}body.portrait-allowed .recent{display:block}body.portrait-allowed .recent ol{margin-top:8px}}
@media (max-height:500px) and (orientation:landscape){.viewer{gap:7px;padding:7px}.topbar{min-height:36px}.brand img{width:43px;height:32px}.brand{font-size:11px}.event-meta{display:none}.share-button{padding:5px 10px}.share-menu{top:42px}.content{gap:7px}.map-panel,.result-panel{border-radius:10px}.panel-heading{padding:7px 12px 0}.map-footer{padding:0 12px 6px}.result-heading{padding:9px 12px 0}.result-body{padding:4px 12px}.result-body h2{font-size:clamp(17px,3.3vw,30px)}.result-subtitle{margin-top:4px}.peg-result{margin-top:8px}.peg-result>div{padding:6px}.peg-result strong{font-size:clamp(27px,5.5vw,50px)}.result-footer{padding:5px 12px}.recent{padding:5px 9px}.recent li{padding:4px 8px}.recent-heading{min-width:105px}.map-hint{display:none}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Ploché vysílací pásy podle aktuálních OBS overlayů. */
.viewer{background:radial-gradient(ellipse at 50% 0,#1b382b 0,#071410 72%)}
.topbar{padding:0 clamp(8px,1vw,16px);border-left:4px solid var(--lime);background:linear-gradient(90deg,#10231eee,#10231e99)}
.share-button{border:0;border-left:4px solid var(--lime);border-radius:0;background:linear-gradient(90deg,#10231eee,#10231e99);color:#fff;text-transform:uppercase;letter-spacing:.08em}
.share-button:hover{background:#294a36}
.share-menu{border:0;border-left:4px solid var(--lime);border-radius:0;background:linear-gradient(90deg,#10231e,#1b382b)}
.share-menu a,.share-menu button{border-radius:0}
.map-panel,.result-panel,.recent{border:0;border-radius:0;box-shadow:none;background:transparent}
.map-panel{grid-template-rows:auto auto minmax(0,1fr) auto;overflow:visible}
.panel-heading,.map-footer{border-left:4px solid var(--lime);background:linear-gradient(90deg,#10231eee,#10231e77)}
.panel-heading{padding:clamp(6px,.8vw,13px) clamp(10px,1.2vw,18px)}
.panel-heading h1{font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.map-canvas{padding:0;background:transparent}
.map-canvas object{background:transparent}
.map-canvas #venue-map{width:100%;height:100%;min-height:0;display:grid;place-items:center}
.map-canvas #venue-map svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;background:transparent}
.map-footer{padding:6px 12px}
.sector-sponsors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:6px 0;min-height:0}
.sector-sponsor{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;padding:5px 8px;border-left:4px solid var(--sector);background:linear-gradient(90deg,#10231eee,#10231e99);font-size:clamp(9px,.85vw,13px);line-height:1.08}
.sector-sponsor-a{--sector:var(--a)}.sector-sponsor-b{--sector:var(--b)}
.sector-sponsor strong{color:var(--sector);font-weight:900;letter-spacing:.08em;white-space:nowrap}
.sector-sponsor span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:800}
.sector-sponsor img{max-width:clamp(24px,4vw,65px);max-height:clamp(18px,3vh,36px);object-fit:contain;background:#fff}
.result-panel,.result-panel.sector-a,.result-panel.sector-b{border:0;border-left:4px solid var(--lime);border-radius:0;background:linear-gradient(90deg,#10231eee,#10231e99)}
.result-heading{padding-top:clamp(8px,1vw,16px)}
.result-body h2{font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.peg-result{border:0;border-radius:0;background:#ffffff0d}
.peg-result>div:first-child{border-right:1px solid #ffffff30}
.result-footer{border-top:1px solid #ffffff25}
.recent{border-left:4px solid var(--lime);background:linear-gradient(90deg,#10231eee,#10231e99)}
.recent li{border-radius:0;background:linear-gradient(90deg,#10231eee,#10231e55)}
.rotate-icon,.rotate-card button{border-radius:0}
@media (max-height:500px) and (orientation:landscape){.panel-heading{padding:4px 10px}.sector-sponsors{margin:3px 0;gap:3px}.sector-sponsor{padding:3px 5px;font-size:9px}.sector-sponsor img{max-height:20px}.map-footer{padding:3px 8px}}

/* Klidnější hierarchie pro sledování na telefonu. */
:root{--lime:#bcd793;--muted:#aab8ad;--a:#d7aa69;--b:#c9797e}
.viewer{background:radial-gradient(ellipse at 50% 0,#193126 0,#0a1813 72%)}
.topbar,.panel-heading,.map-footer,.result-panel,.result-panel.sector-a,.result-panel.sector-b,.recent{border-left-width:2px}
.topbar{min-height:42px;background:linear-gradient(90deg,#12271ecc,#12271e66)}
.brand{gap:9px;color:#e2eadc;font-weight:700;letter-spacing:.015em;font-size:clamp(12px,1.15vw,17px)}
.brand img{width:clamp(35px,4vw,55px);height:36px}
.event-meta{font-weight:600}
.connection{font-weight:600}
.connection-dot{width:6px;height:6px}
.share-button{border-left-width:2px;color:#e2eadc;text-transform:none;letter-spacing:0;font-weight:650;padding:6px 10px}
.share-menu{border-left-width:2px}
.eyebrow{color:#aeca8e;font-weight:600;letter-spacing:.055em;text-transform:none}
.panel-heading{background:linear-gradient(90deg,#12271ecc,#12271e66)}
.panel-heading h1{font-weight:700;text-transform:none;letter-spacing:0;font-size:clamp(17px,1.7vw,25px)}
.progress{color:#e2eadc;font-weight:700;font-size:clamp(23px,2.9vw,40px)}
.sector-sponsor{border-left-width:2px;background:linear-gradient(90deg,#12271ecc,#12271e66);font-size:clamp(10px,.82vw,12px)}
.sector-sponsor strong{font-weight:650;letter-spacing:0}
.sector-sponsor span{font-weight:550}
.sector-sponsor img{background:transparent}
.result-panel,.result-panel.sector-a,.result-panel.sector-b{background:linear-gradient(90deg,#12271edd,#12271e88)}
.result-heading{font-weight:600;font-size:clamp(11px,.9vw,13px)}
.live-pill{letter-spacing:0;color:#bcd793}
.result-kicker{font-weight:550;text-transform:none;letter-spacing:0;font-size:clamp(11px,.95vw,14px)}
.result-body h2{font-size:clamp(22px,2.45vw,35px);font-weight:650;text-transform:none;letter-spacing:0;line-height:1.15}
.result-subtitle{font-size:clamp(11px,.95vw,14px)}
.peg-result{background:#ffffff08}
.peg-result span{font-weight:550;letter-spacing:0;text-transform:none}
.peg-result strong{font-weight:700}
.result-footer{border-top-color:#ffffff15}
.recent{background:linear-gradient(90deg,#12271ecc,#12271e66)}
.recent-heading h2{font-weight:650}
.recent li{border-left-width:2px;background:#ffffff07}
.recent li strong{font-weight:600}
.rotate-icon{border-width:1px;color:#bcd793}
.rotate-card h1{font-weight:650}
.rotate-card button{background:#bcd793;font-weight:650}
@media (max-height:500px) and (orientation:landscape){
  .viewer{gap:5px;padding:7px}
  .topbar{min-height:34px}
  .brand img{width:35px;height:30px}
  .brand{font-size:12px}
  .panel-heading{padding:4px 8px}
  .panel-heading h1{font-size:17px}
  .progress{font-size:25px}
  .sector-sponsors{margin:2px 0;gap:4px}
  .sector-sponsor{padding:3px 6px;font-size:10px}
  .result-heading{padding:8px 11px 0}
  .result-body{padding:4px 11px}
  .result-body h2{font-size:clamp(20px,2.8vw,26px)}
  .result-footer{padding:5px 11px}
  .recent{padding:4px 9px}
}

/* Jeden souvislý přehled bez opakovaných popisků mapy a sektorů. */
.topbar{gap:clamp(7px,1.2vw,18px)}
.brand{flex:0 1 auto;min-width:0}
.brand h1{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;font-weight:inherit;line-height:1.15}
.top-actions{display:flex;align-items:center;gap:clamp(7px,1vw,16px);flex:none;margin-left:auto}
.watch-language select{max-width:64px;border:0;border-left:1px solid #bcd79370;background:#10231e;color:#e2eadc;padding:6px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer}.watch-language option{color:#10231e;background:#fff}
.top-actions .progress{font-size:clamp(20px,2.3vw,31px);white-space:nowrap;font-variant-numeric:tabular-nums}
.fullscreen-button,.share-button{border:0;border-left:1px solid #bcd79370;border-radius:0;background:transparent;color:#e2eadc;padding:6px 9px;font-size:clamp(11px,1vw,14px);font-weight:600;white-space:nowrap}
.fullscreen-button:hover,.share-button:hover{background:#ffffff12}
.fullscreen-button[aria-pressed="true"]{color:var(--lime)}
.fullscreen-button span:first-child,.share-button span:first-child{font-size:1.1em}
.content{gap:0;border-left:2px solid var(--lime);background:linear-gradient(90deg,#12271edd,#12271e77)}
.map-panel{grid-template-rows:auto minmax(0,1fr);padding-right:clamp(4px,.8vw,12px)}
.sector-sponsors{margin:0;gap:4px}
.sector-sponsor{border-left-width:2px;background:#ffffff06}
.result-panel,.result-panel.sector-a,.result-panel.sector-b{display:flex;align-items:center;border:0;border-left:1px solid #ffffff24;background:transparent}
.result-body{width:100%;padding:clamp(12px,2vw,28px)}
.result-kicker{margin-bottom:9px;color:var(--lime)}
.result-subtitle:empty{display:none}
.recent-heading{min-width:125px}
.recent-heading h2{font-size:clamp(11px,1vw,15px)}
@media (max-height:500px) and (orientation:landscape){
  .topbar{gap:8px}
  .brand{font-size:12px}
  .top-actions{gap:7px}
  .top-actions .progress{font-size:20px}
  .fullscreen-button,.share-button{padding:4px 6px;font-size:11px}
  .sector-sponsors{gap:3px}
  .sector-sponsor{padding:3px 6px;font-size:10px}
  .result-body{padding:10px}
  .result-body h2{font-size:clamp(20px,2.8vw,26px)}
  .recent-heading{min-width:115px}
}
@media (orientation:portrait) and (max-width:800px){
  body.portrait-allowed .topbar{flex-wrap:wrap}
  body.portrait-allowed .event-meta{display:none}
  body.portrait-allowed .brand{flex:1 1 auto}
  body.portrait-allowed .top-actions{order:3;width:100%;justify-content:space-between}
  body.portrait-allowed .connection{margin-left:auto}
  body.portrait-allowed .result-panel{min-height:25vh}
}

/* Vlnění z úvodního overlaye tvoří celé pozadí, bez obvodového rámečku. */
.viewer-atmosphere{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 32%,#244d35 0%,#102c22 43%,#040e0b 90%)}
.viewer-atmosphere canvas{display:block;width:100%;height:100%;object-fit:cover}
.viewer-shade{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 650px 330px at 50% 68%,#06130e80,transparent 95%),linear-gradient(0deg,#020b0880,transparent 23%,transparent 83%,#020b0830)}
.viewer{position:relative;z-index:1;padding:0;gap:0;border-left:2px solid var(--lime);background:transparent}
.topbar,.content,.recent{border-left:0}
.topbar,.recent{background:linear-gradient(90deg,#10231ecc,#10231e55)}
.content{background:linear-gradient(90deg,#10231ea8,#10231e4d)}
.map-panel{grid-template-rows:minmax(0,1fr);padding-right:0}
.map-canvas{position:relative;overflow:hidden}
.map-sponsor{position:absolute;z-index:2;display:flex;align-items:center;gap:5px;max-width:min(30%,190px);padding:3px 5px 3px 3px;transform:translate(-50%,calc(-100% - 2px));border-bottom:1px solid var(--sector);background:#10231ec9;color:#e2eadc;pointer-events:none;font-size:clamp(9px,.85vw,12px);line-height:1.05}
.map-sponsor-a{--sector:var(--a)}.map-sponsor-b{--sector:var(--b)}
.map-sponsor img{display:block;flex:none;max-width:clamp(22px,3.5vw,46px);max-height:clamp(20px,3.3vh,34px);object-fit:contain}
.map-sponsor span{display:block;min-width:0}
.map-sponsor strong,.map-sponsor small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.map-sponsor strong{color:var(--sector);font-weight:650}
.map-sponsor small{font-size:inherit;font-weight:550}
.orientation-gate{background:#081611dd}
@media (max-height:500px) and (orientation:landscape){
  .viewer{padding:0;gap:0}
  .map-sponsor{padding:2px 3px;font-size:9px}
  .map-sponsor img{max-width:27px;max-height:22px}
}

/* Samotná loga leží uvnitř horního obrysu mapy. */
.map-sponsor{max-width:none;padding:0;border:0;background:transparent;transform:translate(-50%,3px)}
.map-sponsor img{max-width:clamp(40px,6vw,76px);max-height:clamp(30px,6vh,48px);filter:drop-shadow(0 1px 3px #001c14)}
.recent li{display:flex;align-items:center;gap:6px}
.recent li b{flex:none;color:var(--lime);font-size:1.05em;font-weight:700}
.recent li strong{min-width:0;flex:1}
.recent li span{flex:none;font-size:.85em}
.recent li.order-next{border-left-color:var(--lime);background:#bcd7931a}
.recent li.order-drawn{opacity:.65}
.recent li.empty-result{display:block}
@media (max-height:500px) and (orientation:landscape){.map-sponsor img{max-width:56px;max-height:31px}}

/* Mobilní hlavička a oddělení mapy od okrajů její plochy. */
.map-panel{grid-template-rows:auto minmax(0,1fr);padding:0 clamp(12px,2vw,24px)}
.map-sector-labels{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:30px;color:var(--muted);font-size:clamp(10px,1vw,13px);font-weight:650}
.map-sector-labels span:first-child{color:var(--a)}
.map-sector-labels span:last-child{color:var(--b);text-align:right}
.map-canvas{padding:0}
.map-sponsor img{max-width:clamp(60px,8vw,100px);max-height:clamp(44px,7vh,62px)}
@media (max-width:900px){
  .event-meta{display:flex;flex-direction:row;align-items:center;min-width:max-content;margin-left:auto;font-size:11px}
  .event-meta #race-name{display:none}
  .event-meta #race-date{color:#e2eadc;font-size:11px;font-weight:650;white-space:nowrap}
}
@media (max-height:500px) and (orientation:landscape){
  .map-sector-labels{min-height:23px;font-size:10px}
  .map-sponsor img{max-width:72px;max-height:42px}
}
@media (orientation:portrait) and (max-width:800px){body.portrait-allowed .event-meta{display:flex}}

/* Čitelnější pořadí týmů: písmo i výška pásu přibližně o pětinu větší. */
.recent{min-height:48px;padding:7px 14px;gap:18px}
.recent-heading h2{font-size:clamp(14px,1.2vw,18px)}
.recent li{min-width:clamp(150px,15.6vw,246px);max-width:clamp(150px,15.6vw,246px);padding:9px 12px;font-size:clamp(12px,1.08vw,16px)}
.recent li.empty-result{max-width:none}
@media (max-height:500px) and (orientation:landscape){
  .recent{min-height:38px;padding:5px 11px;gap:14px}
  .recent-heading{min-width:138px}
  .recent-heading h2{font-size:13px}
  .recent li{min-width:150px;max-width:150px;padding:5px 9px;font-size:12px}
}
.recent ol{scrollbar-width:none;-ms-overflow-style:none}
.recent ol::-webkit-scrollbar{display:none}

/* Přesná poloha log na hraně mapy, čitelné názvy partnerů a celé názvy týmů. */
html,body{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}
.map-sector-labels{min-height:38px;align-items:start;padding-top:4px;gap:12px}
.sector-caption{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.12}
.sector-caption strong{font-size:clamp(10px,1vw,13px);font-weight:700}
.sector-caption span{color:#d6e4d5;font-size:clamp(10px,.9vw,12px);font-weight:550;overflow-wrap:anywhere}
.sector-caption-b{align-items:flex-end;text-align:right}
.map-sector-labels .sector-caption span{color:#d6e4d5;text-align:inherit}
.sector-caption-a strong{color:var(--a)}
.sector-caption-b strong{color:var(--b)}
.map-sponsor{transform:translate(-50%,-50%)}
.map-sponsor img{max-width:clamp(76px,10vw,112px);max-height:clamp(54px,9vh,72px)}
.recent ol{touch-action:pan-x;-webkit-overflow-scrolling:touch}
.recent li{flex:none;width:max-content;min-width:max-content;max-width:none;white-space:nowrap}
.recent li strong{flex:none;overflow:visible;text-overflow:clip;white-space:nowrap}
.recent li.empty-result{width:auto;min-width:0}
@media (max-height:500px) and (orientation:landscape){
  .map-sector-labels{min-height:32px;padding-top:3px}
  .map-sponsor img{max-width:88px;max-height:55px}
  .recent li{width:max-content;min-width:max-content;max-width:none}
}
@media (orientation:portrait) and (max-width:800px){
  body:not(.portrait-allowed){height:100dvh;overflow:hidden}
  body:not(.portrait-allowed) .viewer{display:none}
  body.portrait-allowed{overflow-x:hidden}
}

/* Výrazné názvy sektorů a bezpečné okraje telefonu ve fullscreen režimu. */
.map-sector-labels{min-height:72px;gap:14px}
.sector-caption{gap:2px;line-height:1.05}
.sector-caption strong{font-size:clamp(20px,2vw,26px)}
.sector-caption span{font-size:clamp(20px,1.8vw,24px)}
.map-sponsor-a img{max-width:clamp(91px,12vw,134px);max-height:clamp(65px,10.8vh,86px)}
a.map-sponsor[href]{pointer-events:auto;cursor:pointer}
a.map-sponsor[href]:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
a.map-sponsor[href]:hover img{filter:drop-shadow(0 0 9px #d9ff9a88)}
:fullscreen .viewer, :-webkit-full-screen .viewer{
  margin-inline:max(14px,env(safe-area-inset-left,0px)) max(14px,env(safe-area-inset-right,0px));
  padding-top:max(4px,env(safe-area-inset-top,0px));
  padding-bottom:max(4px,env(safe-area-inset-bottom,0px));
}
@media (max-height:500px) and (orientation:landscape){
  .map-sector-labels{min-height:68px}
  .map-sponsor-a img{max-width:106px;max-height:66px}
}

/* Poslední tým: fotografie a skutečná jména členů přímo u výsledku. */
.latest-team{display:grid;grid-template-columns:minmax(85px,38%) minmax(0,1fr);align-items:center;gap:clamp(8px,1vw,14px);margin-top:clamp(8px,1.2vh,14px)}
.latest-team.no-photo,.latest-team.no-members{grid-template-columns:1fr}
.latest-team img{display:block;width:100%;height:clamp(78px,12vh,120px);object-fit:cover;object-position:center;background:#ffffff0a}
.latest-team.no-members img{max-width:160px}
.latest-members{min-width:0}
.latest-members>span{display:block;margin-bottom:3px;color:var(--lime);font-size:clamp(10px,.9vw,13px);font-weight:650}
.latest-members ul{list-style:none;margin:0;padding:0}
.latest-members li{overflow-wrap:anywhere;color:#e2eadc;font-size:clamp(11px,1vw,15px);line-height:1.18}
.latest-members li+li{margin-top:2px}
@media (max-height:500px) and (orientation:landscape){
  .latest-team{margin-top:7px;gap:8px}
  .latest-team img{height:72px}
  .latest-members>span{font-size:10px}
  .latest-members li{font-size:11px}
}

/* Na počítači má přehled proporce telefonu na šířku; pozadí zůstává přes celé okno. */
@media (min-width:1000px){
  html,body{width:100%;height:100%;overflow:hidden}
  body{display:grid;place-items:center}
  .viewer{width:min(100vw,calc(100dvh * 2.166667));height:auto;min-height:0;aspect-ratio:19.5 / 9}
  :fullscreen .viewer, :-webkit-full-screen .viewer{
    --safe-left:max(14px,env(safe-area-inset-left,0px));
    --safe-right:max(14px,env(safe-area-inset-right,0px));
    width:min(calc(100vw - var(--safe-left) - var(--safe-right)),calc((100dvh - 8px) * 2.166667));
  }
}

/* Jemné dělicí linky místo svislého akcentu na levém okraji. */
.viewer{border-left:0}
.topbar{border-bottom:1px solid #bcd79355}
.recent{border-top:1px solid #bcd79355}

/* Aktuální tým zůstává na začátku viditelného pořadí. */
.recent li.order-next{opacity:1;border-left-color:var(--lime);background:#bcd7932b;color:#f3ffe6;font-weight:700}
.recent li.order-next b{color:#e0ffab}

/* V obou polích výsledku jsou popisek i hodnota uprostřed. */
.peg-result>div{align-items:center;text-align:center}
.sector-result strong{font-size:clamp(30px,5vw,76px)}
@media (max-height:500px) and (orientation:landscape){
  .sector-result strong{font-size:clamp(27px,5.5vw,50px)}
}

/* Nový los šest sekund pulzuje pouze na názvu týmu; fotografie zůstává stálá. */
.result-panel.reveal #result-heading{animation:team-draw-flash 1s ease-in-out 6}
@keyframes team-draw-flash{
  0%,100%{opacity:1;color:#f2f8ed;text-shadow:none}
  50%{opacity:.4;color:#e6ffa9;text-shadow:0 0 22px #bcd793}
}
@media (prefers-reduced-motion:reduce){
  .result-panel.reveal #result-heading{animation:none}
}

/* Stav losování stojí nad proměnlivým výsledkem. */
.result-panel{position:relative}
.draw-status{position:absolute;z-index:1;top:clamp(12px,1.3vw,18px);left:clamp(12px,2vw,28px);margin:0;color:#d9f3b9;font-size:clamp(18px,1.7vw,23px);font-weight:700;line-height:1.1;pointer-events:none}
.draw-status[hidden]{display:none}
@media (max-height:500px) and (orientation:landscape){
  .draw-status{top:8px;left:10px;font-size:18px}
}
