:root{
  --red:#A01D21; --band:#A01414; --cream:#F3EBDD; --black:#111111; --white:#FFFFFF;
  --plot:#E7DDCB; --muted-dark:#B8AEA0; --muted-light:#5E554B; --line-dark:#2E2B28;
  --rail:10px;
  color-scheme:dark;
  box-sizing:border-box;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --red:#A01D21; --band:#A01414; --cream:#F3EBDD; --black:#111111; --white:#FFFFFF; --plot:#E7DDCB; } }
:root[data-theme="dark"]{ --red:#A01D21; --band:#A01414; --cream:#F3EBDD; --black:#111111; --white:#FFFFFF; --plot:#E7DDCB; }
@media (min-width:900px){ :root{--rail:16px} }
@media (prefers-reduced-motion: no-preference){ html{scroll-behavior:smooth} }
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--black);color:var(--white);font-family:"Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}
body::after{content:"";position:fixed;top:0;right:0;bottom:0;width:var(--rail);background:var(--band);z-index:40;pointer-events:none}
img{max-width:100%}
button{font:inherit}
a{color:inherit}
:focus-visible{outline:3px solid var(--cream);outline-offset:2px}
.light :focus-visible,dialog :focus-visible{outline-color:var(--red)}
main{outline:none}
[hidden]{display:none !important}

.wrap{max-width:1200px;margin:0 auto;padding-left:20px;padding-right:calc(var(--rail) + 20px)}
.wide{font-stretch:125%;font-weight:900;letter-spacing:-.01em;line-height:.95}
.cond{font-stretch:75%;font-weight:600}
.red{color:var(--red)}
.lead{margin:0 0 20px;max-width:52ch;color:var(--muted-dark)}
.light .lead{color:var(--muted-light)}
.note{margin:14px 0 0;font-size:.875rem;color:var(--muted-dark);max-width:62ch}
.note.dark,.light .note{color:var(--muted-light)}
.empty{color:var(--muted-dark)}
.more{margin:22px 0 0}
.linklike{background:none;border:0;padding:0;color:inherit;text-decoration:underline;cursor:pointer}

/* HLAVIČKA */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--black);border-bottom:1px solid var(--line-dark)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{height:42px;width:auto;display:block}
.brand span{font-stretch:125%;font-weight:900;font-size:1.2rem;letter-spacing:-.01em}
.nav{display:none}
.nav a{text-decoration:none;font-weight:700;padding:6px 2px;border-bottom:3px solid transparent}
.nav a:hover{border-bottom-color:var(--line-dark)}
.nav a[aria-current]{border-bottom-color:var(--red)}
.menu-btn{border:2px solid var(--cream);background:transparent;color:var(--cream);padding:7px 14px;font-weight:700;cursor:pointer}
@media (min-width:980px){ .nav{display:flex;gap:22px} .menu-btn{display:none} }

/* ÚVOD */
.hero{padding-top:20px}
.hero-grid{display:grid;gap:4px;align-items:center}
@media (min-width:900px){ .hero-grid{grid-template-columns:5fr 6fr;gap:24px} }
.logo{display:block;width:100%;height:auto}
.hero h1{font-size:clamp(1.3rem,5.6vw,3rem);margin:0;max-width:14ch}
@media (min-width:900px){ .logo{width:300px} .hero h1{margin:22px 0 12px} }
.board-stage{position:relative;height:min(64vh,600px);min-height:340px}
@media (min-width:900px){ .board-stage{height:min(74vh,680px)} }
.board-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab}
.hint{position:absolute;left:0;right:0;bottom:6px;margin:0;text-align:center;font-size:.8125rem;color:var(--muted-dark)}

.bands,
.facts{display:grid;gap:10px;margin:8px 0 0;padding-right:var(--rail)}
.band{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 18px;width:100%;border:0;margin:0;text-align:left;text-decoration:none;
  background:var(--band);color:var(--white);padding:14px 20px 14px max(20px, calc((100% - 1200px) / 2 + 20px))}
.band .city{font-size:clamp(1.55rem,5.2vw,2.5rem)}
.band .meta{font-size:clamp(1.05rem,3vw,1.4rem)}
.band.next{background:var(--cream);color:var(--red)}
a.band:hover .city{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:5px}
.facts{margin:0 0 8px}

/* SEKCIE A STRÁNKY */
.sec{padding:56px 0}
.light{background:var(--cream);color:var(--black)}
.sec h2,.page-head h1{font-size:clamp(2rem,7vw,3.8rem);margin:0 0 12px}
.page-head{padding-top:40px;padding-bottom:8px}
.page-head .btn{margin-top:4px}
.page-body{padding-bottom:64px}
h2.sub{font-size:clamp(1.4rem,4.5vw,2rem);margin:36px 0 12px}
.back{display:inline-block;margin-bottom:14px;font-weight:700;font-size:.9375rem}
.split{display:grid;gap:24px;align-items:center}
@media (min-width:860px){ .split{grid-template-columns:1fr 1fr} }
.split img{display:block;width:100%;height:auto}

/* TLAČIDLÁ A ČIPY */
.btn{display:inline-block;font-weight:700;padding:11px 16px;border:2px solid currentColor;background:transparent;color:inherit;cursor:pointer;line-height:1.2;text-decoration:none}
.btn.small{padding:7px 12px;font-size:.875rem}
.btn:disabled{opacity:.35;cursor:not-allowed}
.btn.solid{background:var(--black);border-color:var(--black);color:var(--cream)}
.btn.primary{background:var(--red);border-color:var(--red);color:var(--white);font-stretch:125%;font-weight:900}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.actions .push{margin-left:auto}
.controls{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 16px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:7px 13px;border:2px solid var(--cream);background:transparent;color:var(--cream);cursor:pointer;font-weight:700;font-size:.9375rem}
.chip[aria-pressed="true"]{background:var(--cream);color:var(--black)}
.tag{display:inline-block;margin-top:4px;padding:2px 8px;background:var(--cream);color:var(--black);font-size:.75rem;font-weight:700}

/* REBRÍČEK */
.standings{list-style:none;margin:0;padding:0}
.standings li{display:grid;grid-template-columns:2.6ch 1fr auto;gap:2px 14px;align-items:baseline;padding:14px 0;border-top:1px solid var(--line-dark)}
.standings li:last-child{border-bottom:1px solid var(--line-dark)}
.rank{font-size:2.1rem;color:var(--red)}
.st-name{grid-column:2;font-weight:800;font-size:1.2rem;text-decoration:none}
.st-name:hover{text-decoration:underline}
.st-meta{grid-column:2;grid-row:2;font-size:.875rem;color:var(--muted-dark)}
.st-pts{grid-column:3;grid-row:1 / span 2;align-self:center;font-size:1.5rem}
.light .standings li{border-color:var(--line-light,#D9CFBE)}

/* EVENTY */
.ev-list{list-style:none;margin:0;padding:0}
.flag{flex:0 0 auto;width:24px;height:18px;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.flag.globe{display:inline-grid;place-items:center;box-shadow:none;font-size:1rem;line-height:1}
.evb{display:inline-flex;align-items:center;gap:2px;padding:2px 9px;border:1px solid var(--line-dark);border-radius:999px;font-size:.75rem;font-weight:700;color:var(--muted-dark);white-space:nowrap}
.evb.gosko{background:var(--band);border-color:var(--band);color:var(--white)}
.evb.prize{border-color:#c9a24a;color:#f0cf7d}
.evb.live{background:var(--cream);border-color:var(--cream);color:var(--black)}
.evb.soon{border-color:var(--muted-dark);color:var(--cream)}
.podiums{display:grid;gap:14px}
@media (min-width:760px){ .podiums{grid-template-columns:repeat(3,1fr)} }
.podium{border:2px solid var(--line-dark);padding:16px}
.podium h3{margin:0 0 10px;font-size:1.1rem}
.podium h3 .cond{color:var(--muted-dark);font-weight:500}
.podium ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.podium li{display:grid;grid-template-columns:2ch 1fr auto;gap:10px;align-items:baseline}
.podium .rank{font-size:1.5rem}
.podium a{font-weight:700;text-decoration:none}
.podium a:hover{text-decoration:underline}
.podium li .cond{color:var(--muted-dark)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
@media (min-width:720px){ .gallery{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))} }
.ph{padding:0;border:0;background:var(--line-dark);cursor:zoom-in;display:block}
.ph img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover}
.partner-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
@media (min-width:720px){ .partner-list{grid-template-columns:repeat(2,1fr)} }
.partner-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:12px 0;border-top:1px solid var(--line-dark)}
.p-name{font-weight:800}

/* JAZDCI */
.rider-grid{list-style:none;margin:0;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.rider-grid a{display:grid;gap:4px;padding:16px;border:2px solid var(--line-dark);text-decoration:none;height:100%}
.rider-grid a:hover{border-color:var(--cream)}
.rider-hero h1{font-size:clamp(2.1rem,7vw,4rem);margin:0 0 8px}
.big-meta{font-size:1.3rem;margin:0 0 6px}
.r-results{padding-left:1.1em;margin:0}
.r-results li{margin:4px 0}
.rider-hero h2.sub{margin-top:22px}

/* STAVEBNICA */
.builder{padding:40px 0 48px}
.builder h1{font-size:clamp(2rem,7vw,3.8rem);margin:0 0 12px}
.viewing{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;background:var(--black);color:var(--cream);padding:10px 14px;margin-bottom:10px}
.viewing p{margin:0;flex:1 1 220px}
.builder-stage{position:relative;aspect-ratio:1 / 1;max-height:72vh;width:100%;background:var(--plot);border:2px solid var(--black)}
@media (min-width:720px){ .builder-stage{aspect-ratio:16 / 9;max-height:620px} }
.park-canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.stage-tools{position:absolute;right:8px;bottom:8px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100% - 16px)}
.stage-btn{padding:8px 12px;font-size:.875rem}
.stage-btn[data-act^=zoom]{min-width:42px;font-size:1.125rem;line-height:1}
.stage-btn .ico{display:none}
.sel-bar{position:absolute;left:8px;right:8px;bottom:8px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px;pointer-events:none}
.sel-bar[hidden]{display:none}
.sel-bar .btn{pointer-events:auto;min-height:40px;padding:6px 10px;font-size:.8rem}
.sel-pad{display:grid;grid-template-columns:repeat(3,40px);grid-template-areas:". up ." "left down right";gap:4px}
.sel-pad [data-act=nudge-up]{grid-area:up}.sel-pad [data-act=nudge-left]{grid-area:left}.sel-pad [data-act=nudge-down]{grid-area:down}.sel-pad [data-act=nudge-right]{grid-area:right}
.sel-pad .btn{min-width:40px;padding:6px 0;font-size:1.15rem;line-height:1}
.sel-acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
@media (hover:hover) and (pointer:fine){ .sel-bar{display:none} }
@media (max-width:719px){
  .stage-tools{top:8px;right:8px;bottom:auto;flex-direction:column;flex-wrap:nowrap;align-items:flex-end}
  .stage-tools .stage-btn{width:40px;min-width:0;height:40px;min-height:0;padding:0;font-size:1.15rem;line-height:1;display:grid;place-items:center}
  .stage-btn .lbl{display:none}
  .stage-btn .ico{display:inline}
}
.park-canvas:focus{outline:none}
.builder-opts{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin:4px 0 6px}
.builder-opts .opt{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.opt-label{font-weight:700;font-size:.875rem;text-transform:uppercase;letter-spacing:.04em}
.swatches{display:flex;flex-wrap:wrap;gap:6px}
.swatch{width:30px;height:30px;border-radius:50%;border:2px solid var(--black);background:var(--sw);cursor:pointer;padding:0}
.swatch[aria-pressed="true"]{outline:3px solid var(--red);outline-offset:2px}
.swatches[aria-disabled="true"],.sizes[aria-disabled="true"]{opacity:.35;pointer-events:none}
.kbd-help{margin-top:14px;font-size:.9375rem}
.kbd-help summary{cursor:pointer;font-weight:700}
.kbd-help ul{list-style:none;padding:0;margin:10px 0 0;columns:2 260px;column-gap:28px}
.kbd-help li{margin:0 0 6px;break-inside:avoid}
.kbd-help kbd{display:inline-block;padding:1px 7px;border:2px solid var(--black);border-bottom-width:3px;font:inherit;font-weight:700;font-size:.8125rem;background:rgba(255,255,255,.4)}
.tools{display:flex;gap:8px;overflow-x:auto;padding:12px 2px 8px;margin:0 -2px;scrollbar-width:thin}
.tool{flex:0 0 auto;width:86px;display:grid;justify-items:center;gap:2px;padding:10px 6px 8px;background:transparent;border:2px solid var(--black);color:var(--black);cursor:pointer;font-size:.8125rem;font-weight:700;line-height:1.2}
.tool svg{width:40px;height:24px;fill:currentColor}
.tool small{font-stretch:75%;font-weight:500;color:var(--muted-light)}
.tool[aria-pressed="true"]{background:var(--black);color:var(--cream)}
.tool[aria-pressed="true"] small{color:var(--muted-dark)}
.tools[aria-disabled="true"]{opacity:.35;pointer-events:none}
.status{min-height:1.5em;margin:10px 0 0;font-weight:600;color:var(--red)}
.ranking{list-style:none;margin:18px 0 0;padding:0}
.park{display:grid;grid-template-columns:2.4ch 108px 1fr;gap:6px 14px;align-items:center;padding:16px 0;border-top:1px solid var(--line-dark)}
.park:last-child{border-bottom:1px solid var(--line-dark)}
.park .rank{align-self:start}
.thumb{width:108px;height:auto;aspect-ratio:8 / 5;object-fit:cover;background:var(--plot);display:block}
.park-name{margin:0;font-weight:800;font-size:1.125rem;line-height:1.25;overflow-wrap:anywhere}
.park-meta{margin:2px 0 0;font-size:.875rem;color:var(--muted-dark);overflow-wrap:anywhere}
.park-actions{grid-column:2 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.votes{font-weight:700;font-size:1.125rem;min-width:6ch}
.vote[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:var(--white)}
@media (min-width:720px){ .park{grid-template-columns:3ch 160px 1fr auto} .thumb{width:160px} .park-actions{grid-column:auto} }

/* KARTY (shop, balíky) */
.cards{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.card{display:flex;flex-direction:column;border:2px solid var(--line-dark);background:var(--black)}
.light .card{border-color:var(--black);background:transparent}
.card > img,.mock{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover;background:#1b1b1b}
.mock svg{display:block;width:100%;height:100%}
.card-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-body p{margin:0}
.card-body .btn{margin-top:auto;align-self:flex-start}
.card-title{margin:0;font-size:1.25rem;font-weight:800}
.pack .card-title{font-size:1.5rem}
.price{color:var(--muted-dark)}
.gets{margin:4px 0 0;padding-left:1.1em}
.gets li{margin:4px 0}
.book .btn{margin-top:4px}

/* ADMIN */
.admin-list{list-style:none;margin:0;padding:0}
.admin-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 0;border-top:1px solid var(--line-dark)}
.table-wrap{overflow-x:auto;margin-bottom:10px}
table{border-collapse:collapse;font-size:.875rem;min-width:100%}
th,td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--line-dark);white-space:nowrap}

footer{border-top:1px solid var(--line-dark);padding:28px 0 36px;color:var(--muted-dark);font-size:.875rem}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
footer img{width:56px;height:auto}
footer p{margin:0;flex:1 1 240px}

/* OKNÁ */
dialog{border:0;padding:0;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;background:var(--cream);color:var(--black)}
dialog::backdrop{background:rgba(0,0,0,.72)}
.dlg-head{display:flex;align-items:start;justify-content:space-between;gap:12px;background:var(--band);color:var(--white);padding:16px 18px}
.dlg-head h3{margin:0;font-size:1.5rem}
.x{flex:0 0 auto;width:40px;height:40px;border:2px solid var(--white);background:transparent;color:var(--white);cursor:pointer;font-size:1.2rem;line-height:1}
.dlg-body{padding:18px}
.dlg-body p{margin:0 0 12px}
.field{display:grid;gap:4px;margin-bottom:14px;font-weight:700;font-size:.9375rem}
.field span{font-weight:500;color:var(--muted-light);font-size:.8125rem}
.field input,.field select{font:inherit;font-weight:500;padding:10px 12px;border:2px solid var(--black);background:var(--white);color:var(--black);border-radius:0;width:100%}
.check{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;font-size:.9375rem}
.check input{width:20px;height:20px;margin:2px 0 0;flex:0 0 auto;accent-color:var(--red)}
.form-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:6px}
.form-msg{min-height:1.4em;color:var(--red);font-weight:600;margin:0 0 8px}
.lightbox{width:min(1200px,calc(100vw - 24px));background:var(--black);color:var(--white)}
.lightbox img{display:block;width:100%;height:auto;max-height:calc(100dvh - 120px);object-fit:contain}
.lb-bar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;padding:10px}

/* =====================================================================
   STREET VRSTVA: textúry, páska, nálepky, šikmé písmo
   ===================================================================== */
:root{
  --grain-dark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .45 -.1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --grain-light:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .22 -.06'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  --mottle:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='600'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='4' seed='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .38 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23m)'/%3E%3C/svg%3E");
  --dots:radial-gradient(circle, rgba(0,0,0,.28) 1.3px, transparent 1.7px) 0 0 / 7px 7px;
  --torn:polygon(0 100%,0% 61%,2.08% 39%,4.17% 70%,6.25% 26%,8.33% 29%,10.42% 88%,12.5% 32%,14.58% 66%,16.67% 94%,18.75% 27%,20.83% 84%,22.92% 47%,25% 24%,27.08% 31%,29.17% 75%,31.25% 73%,33.33% 28%,35.42% 50%,37.5% 31%,39.58% 90%,41.67% 74%,43.75% 27%,45.83% 92%,47.92% 35%,50% 48%,52.08% 100%,54.17% 100%,56.25% 94%,58.33% 27%,60.42% 93%,62.5% 94%,64.58% 70%,66.67% 26%,68.75% 48%,70.83% 25%,72.92% 91%,75% 37%,77.08% 57%,79.17% 73%,81.25% 38%,83.33% 89%,85.42% 35%,87.5% 93%,89.58% 59%,91.67% 91%,93.75% 43%,95.83% 33%,97.92% 94%,100% 93%,100% 100%);
}
html,body{overflow-x:clip}
body{background:var(--grain-light),var(--mottle),var(--black)}
.light{background:var(--grain-dark),var(--mottle),var(--cream)}
.band,
.dlg-head{background-image:var(--grain-dark),var(--mottle)}
.band.next{background:var(--grain-dark),var(--mottle),var(--cream)}
.btn.primary{background-image:var(--grain-dark)}
.topbar{background:var(--grain-light),var(--grain-light),#161616;border-bottom:3px solid var(--band)}

/* roztrhnutý papier na hranách svetlých sekcií */
.light{position:relative}
.light::before,.light::after{content:"";position:absolute;left:0;right:0;height:18px;background:inherit;pointer-events:none}
.light::before{top:-17px;clip-path:var(--torn)}
.light::after{bottom:-17px;clip-path:var(--torn);transform:scaleY(-1) scaleX(-1)}
.light + .light::before{display:none}

/* pásy ako prelepená páska */
.bands .band:nth-child(odd),
.facts .band:nth-child(odd){transform:rotate(-.7deg)}
.bands .band:nth-child(even),
.facts .band:nth-child(even){transform:rotate(.5deg)}
.band{position:relative;box-shadow:0 3px 0 rgba(0,0,0,.35)}
.band::after{content:"";position:absolute;inset:0;background:var(--dots);-webkit-mask:linear-gradient(90deg,transparent 55%,#000);mask:linear-gradient(90deg,transparent 55%,#000);pointer-events:none}
.band .city{text-shadow:3px 3px 0 rgba(0,0,0,.35)}
.band.next .city{text-shadow:3px 3px 0 rgba(160,29,33,.18)}

/* fotky ako vytlačené a prilepené */
.gallery{gap:14px;padding:6px 4px}
.ph{background:#fff;padding:5px 5px 18px;box-shadow:3px 4px 0 rgba(0,0,0,.45);position:relative;transition:transform .15s}
.ph:nth-child(4n+1){transform:rotate(-1.6deg)} .ph:nth-child(4n+2){transform:rotate(1.2deg)}
.ph:nth-child(4n+3){transform:rotate(-.6deg)} .ph:nth-child(4n){transform:rotate(1.8deg)}
.ph:hover{transform:rotate(0) scale(1.03);z-index:2}
.ph:nth-child(3n+1)::before{content:"";position:absolute;top:-9px;left:50%;width:62px;height:20px;margin-left:-31px;background:rgba(243,235,221,.78);transform:rotate(-4deg);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.split img{background:#fff;padding:6px 6px 22px;transform:rotate(-1.2deg);box-shadow:4px 5px 0 rgba(0,0,0,.5)}

/* karty s páskou */
.card,.rider-grid a,.podium{position:relative}
.cards > li:nth-child(odd) .card,.cards > .card:nth-child(odd){transform:rotate(-.6deg)}
.cards > .card:nth-child(even){transform:rotate(.5deg)}
.rider-grid li:nth-child(odd) a{transform:rotate(-.5deg)} .rider-grid li:nth-child(even) a{transform:rotate(.6deg)}
.card::before,.rider-grid a::before,.podium::before{content:"";position:absolute;top:-10px;right:18px;width:58px;height:20px;background:rgba(243,235,221,.72);transform:rotate(6deg);box-shadow:0 1px 2px rgba(0,0,0,.25);z-index:2}
.light .card::before{background:rgba(160,20,20,.55)}
.rider-grid a{background:var(--grain-light),#171717}
.podium{background:var(--grain-light),#171717}

/* dekoračné nálepky */
.deco{position:absolute;pointer-events:none;z-index:3;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.4))}
.deco svg,.deco img{display:block;width:100%;height:auto}
.board-stage{isolation:isolate}
.d-stage-tl{top:6%;left:0;width:clamp(110px,30vw,190px);transform:rotate(-9deg)}
.page-head,.wrap.rel{position:relative}
.d-head{top:28px;right:calc(var(--rail) + 14px);width:clamp(84px,22vw,150px);transform:rotate(8deg)}
.d-head.deco-round{width:clamp(70px,18vw,110px)}
.d-head.deco-burst{width:clamp(70px,17vw,110px)}
.builder .d-head{top:-6px}
.rank{position:relative}
.d-circle{left:-14px;top:-12px;width:62px;filter:none;z-index:0}
footer img:not(.bomb img){display:none}
@media (max-width:560px){
  .d-head{top:18px;width:84px}
  .d-head.deco-skate,.d-head.deco-land,.d-head.deco-sk{width:96px}
  .page-head h1{max-width:calc(100% - 90px)}
}
@media (prefers-reduced-motion: reduce){ .ph,.btn{transition:none} }

/* =====================================================================
   NOVÉ ČASTI: PWA banner, video, newsletter, odznaky, karta, mapa, pass, check-in, media kit
   ===================================================================== */
.field textarea{font:inherit;font-weight:500;padding:10px 12px;border:2px solid var(--black);background:var(--white);color:var(--black);border-radius:0;width:100%;resize:vertical}
.field input[type=file]{padding:8px;background:var(--white)}
.code-input{font:inherit;font-size:1.6rem;letter-spacing:.3em;font-weight:800;padding:10px 12px;border:2px solid var(--black);width:100%;text-align:center}
.photo-prev{display:block;margin-top:8px;max-height:180px;width:auto;border:4px solid #fff;box-shadow:2px 3px 0 rgba(0,0,0,.4)}

/* pridať na plochu */
.install{position:fixed;left:10px;right:calc(var(--rail) + 10px);bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:12px;
  padding:12px 12px 12px 14px;background:var(--grain-dark),var(--cream);color:var(--black);box-shadow:4px 5px 0 rgba(0,0,0,.5);transform:rotate(-.6deg);max-width:560px}
.install img{flex:0 0 auto;border-radius:10px}
.install p{margin:0;font-size:.9rem;line-height:1.35;flex:1}
.install p span{display:block;color:var(--muted-light)}
.install .x{border-color:var(--black);color:var(--black);width:34px;height:34px;flex:0 0 auto}
.install .btn{margin:0}

/* video */
.video{position:relative;aspect-ratio:16 / 9;background:#000;max-width:900px;box-shadow:4px 5px 0 rgba(0,0,0,.5)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-poster{position:absolute;inset:0;padding:0;border:0;background:#000;cursor:pointer}
.video-poster img{width:100%;height:100%;object-fit:cover;opacity:.85;display:block}
.video-poster .play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;background:var(--grain-dark),var(--red);box-shadow:0 0 0 5px var(--cream),4px 6px 0 5px rgba(0,0,0,.5)}
.video-poster .play::after{content:"";position:absolute;left:34px;top:26px;border-left:24px solid var(--cream);border-top:16px solid transparent;border-bottom:16px solid transparent}
.video-poster:hover .play{transform:scale(1.06)}

/* newsletter */
.news-form{max-width:560px}
.news-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}
.news-row input{flex:1 1 220px;font:inherit;font-weight:500;padding:11px 14px;border:2px solid var(--black);background:var(--white);color:var(--black);border-radius:999px}
.news-ok{font-weight:800;font-size:1.1rem}

/* odznaky */
.badges{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.badge{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;background:var(--grain-light),#1b1b1b;border-radius:999px;max-width:420px}
.badge:nth-child(odd){transform:rotate(-.6deg)} .badge:nth-child(even){transform:rotate(.5deg)}
.b-ico{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--grain-dark),var(--red);color:var(--cream);box-shadow:0 0 0 3px var(--cream)}
.badge strong{display:block;font-stretch:125%;font-weight:900;font-size:.95rem;line-height:1.1}
.badge small{display:block;color:var(--muted-dark);font-size:.8rem;line-height:1.3}
.mini-badge{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--red);color:var(--cream);box-shadow:0 0 0 2px var(--cream)}

/* karta jazdca */
.card-dlg{width:min(460px,calc(100vw - 24px))}
.card-preview{display:block;width:100%;height:auto;margin-bottom:12px;box-shadow:3px 4px 0 rgba(0,0,0,.4)}

/* mapa */
.map{height:min(62vh,560px);min-height:340px;border:3px solid var(--cream);box-shadow:4px 5px 0 rgba(0,0,0,.5);background:#222}
.map-inner{width:100%;height:100%}
.leaflet-container{font:inherit}
.pin-wrap{background:none;border:0}
.pin{position:absolute;left:3px;top:0;width:24px;height:24px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--red);border:3px solid var(--cream);box-shadow:2px 3px 0 rgba(0,0,0,.45)}
.pin-event{background:var(--black);border-color:var(--red)}
.pop{display:grid;gap:4px;min-width:170px}
.pop img{width:100%;height:auto;max-height:130px;object-fit:cover}
.pop a{font-weight:700;color:var(--red)}
.picker{height:260px;border:2px solid var(--black);margin-top:4px}
.picker-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}
.picker-status{font-weight:600;color:var(--muted-light)}
.spot-list{list-style:none;margin:0;padding:0;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.spot{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:start;padding:12px;background:var(--grain-light),#171717}
.spot img,.spot-nophoto{width:96px;height:96px;object-fit:cover;background:#fff;padding:3px;transform:rotate(-2deg);box-shadow:2px 3px 0 rgba(0,0,0,.45)}
.spot-nophoto{background:var(--grain-dark),var(--red)}
.spot p{margin:0 0 4px}
.spot-name{font-weight:800;font-size:1.1rem}
.spot-meta,.spot-desc{font-size:.875rem;color:var(--muted-dark)}
.spot .btn{margin-top:6px}

/* pass */
.passes{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(260px,340px))}
.pass{background:var(--grain-dark),var(--cream);color:var(--black);padding:0 0 14px;box-shadow:4px 5px 0 rgba(0,0,0,.5);transform:rotate(-.8deg);text-align:center;max-width:340px}
.pass-head{display:grid;gap:2px;padding:12px 14px;background:var(--grain-dark),var(--band);color:var(--white);text-align:left}
.pass-head .wide{font-size:1.2rem}
.qr{padding:14px;display:grid;place-items:center;min-height:200px}
.qr canvas{display:block;width:100%;max-width:280px;height:auto;image-rendering:pixelated}
.pass-name{margin:0;font-size:1.3rem}
.pass-code{margin:4px 0 0;color:var(--muted-light);letter-spacing:.08em}
.pass-done .pass{margin:12px auto}

/* check-in */
.ci{padding:18px;background:var(--grain-light),#1b1b1b;border-left:8px solid var(--cream);display:grid;gap:6px;max-width:560px}
.ci p{margin:0}
.ci .wide{font-size:1.8rem}
.ci-name{font-size:2rem !important}
.ci-good{border-left-color:#3aa35b}
.ci-bad{border-left-color:var(--red)}
.ci-warn-box{border-left-color:#e0a31a}
.ci-warn{color:#ffb3b3;font-weight:800}
.ci-ok-txt{color:#9fe0b0;font-weight:700}
.ci .btn{justify-self:start;margin-top:8px}
.scan-wrap{position:relative;max-width:520px;aspect-ratio:1 / 1;background:#000;overflow:hidden;margin-bottom:14px;box-shadow:4px 5px 0 rgba(0,0,0,.5)}
.scan-video{width:100%;height:100%;object-fit:cover;display:block}
.scan-frame{position:absolute;inset:18%;border:4px dashed var(--cream);border-radius:14px;pointer-events:none}

/* media kit */
.kit{display:grid;gap:24px}
.kit-page{background:var(--grain-dark),var(--cream);color:var(--black);padding:36px 32px;max-width:820px;box-shadow:4px 6px 0 rgba(0,0,0,.5)}
.kit-page h1{font-size:clamp(2rem,6vw,3.4rem);margin:12px 0;color:var(--red)}
.kit-page h2{font-size:1.6rem;margin:22px 0 10px;color:var(--red)}
.kit-page h3{font-size:1.15rem;margin:0 0 6px}
.kit-logo{width:180px;height:auto;display:block;background:var(--black);padding:14px;border-radius:12px}
.kit-lead{font-size:1.1rem;max-width:56ch}
.kit-numbers{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:18px 0}
.kit-num{background:var(--grain-dark),var(--band);color:var(--white);padding:12px 14px;display:grid;gap:2px}
.kit-num .wide{font-size:2.4rem}
.kit-num strong{font-size:.9rem;line-height:1.2}
.kit-num small{font-size:.75rem;opacity:.85}
.kit-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kit-photos img{width:100%;aspect-ratio:3 / 2;object-fit:cover;display:block}
.kit-packs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.kit-pack{border:2px solid var(--black);padding:12px}
.kit-pack ul{margin:6px 0 0;padding-left:1.1em;font-size:.9rem}
.kit-partners{white-space:pre-wrap}
@media print{
  @page{size:A4;margin:0}
  body{background:#fff !important}
  body::after,.topbar,footer,.no-print,#menu,.install{display:none !important}
  .kit-screen{padding:0 !important;max-width:none}
  .kit{gap:0}
  .kit-page{box-shadow:none;max-width:none;width:210mm;min-height:297mm;page-break-after:always;break-after:page;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kit-page:last-child{page-break-after:auto;break-after:auto}
}

/* =====================================================================
   ODPOČET, PAVÚK, TV MÓD, ZÁPIS VÝSLEDKOV, KOMUNITA, FINÁLE, SIEŇ SLÁVY
   ===================================================================== */
.podium li{grid-template-columns:3ch 1fr auto}
.more-results{margin-top:8px}
.more-results summary{cursor:pointer;font-weight:700;font-size:.875rem;color:var(--muted-dark)}
.more-results ol{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.more-results li{display:grid;grid-template-columns:3ch 1fr auto;gap:10px;align-items:baseline}
.more-results .rank{font-size:1.5rem}
.more-results a{font-weight:700;text-decoration:none}
.tag.pend{position:absolute;top:8px;left:8px;margin:0}

/* odpočet */
.countdown{margin-top:10px;padding:22px 0 24px;background:var(--grain-dark),var(--mottle),#151515;border-top:3px solid var(--band);border-bottom:3px solid var(--band)}
.cd-in{display:grid;gap:8px 28px;align-items:center}
@media (min-width:860px){ .cd-in{grid-template-columns:auto minmax(22ch,1fr)} .countdown .actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap} }
.cd-main{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap}
.cd-num{font-size:clamp(3.4rem,15vw,6.4rem);line-height:.9;color:var(--red);transform:skew(-6deg);text-shadow:4px 4px 0 var(--cream)}
.cd-unit{font-size:clamp(1.05rem,4.2vw,1.7rem);max-width:13ch;line-height:1.05}
.cd-meta{margin:0;font-size:1.15rem;color:var(--muted-dark)}
.countdown .actions{margin:6px 0 0}

/* pavúk */
.br-scroll{overflow-x:auto;padding:12px 2px 16px;-webkit-overflow-scrolling:touch}
.bracket{display:flex;gap:18px;align-items:stretch;min-width:min-content}
.br-col{display:flex;flex-direction:column;flex:0 0 auto;min-width:200px}
.br-title{margin:0 0 10px;font-size:.8rem;color:var(--red);transform:skew(-6deg);text-shadow:none}
.br-matches{display:flex;flex-direction:column;justify-content:space-around;gap:12px;flex:1}
.br-match{position:relative;background:var(--grain-light),#1b1b1b;border:2px solid var(--line-dark);box-shadow:3px 3px 0 rgba(0,0,0,.5)}
.br-side{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:40px;padding:8px 10px;border:0;background:transparent;color:var(--cream);font:inherit;font-weight:700;text-align:left}
.br-side + .br-side{border-top:1px solid var(--line-dark)}
button.br-side{cursor:pointer}
button.br-side:hover{background:rgba(243,235,221,.12)}
.br-side.win{background:var(--grain-dark),var(--red);color:var(--cream)}
.br-side.lose{color:var(--muted-dark);text-decoration:line-through;text-decoration-color:rgba(184,174,160,.55);text-decoration-thickness:2px}
.br-side.empty{color:#7a7166;font-weight:500;font-style:italic}
.br-side small{font-weight:500;color:var(--muted-dark);font-size:.75em}
.br-match.bye .br-side{font-weight:600;color:var(--muted-dark)}
.br-tick{font-weight:900}
.br-match.current{border-color:var(--cream);box-shadow:0 0 0 3px var(--red),3px 3px 0 rgba(0,0,0,.5);animation:brpulse 1.6s ease-in-out infinite}
.br-live{position:absolute;top:-11px;left:8px;z-index:1;padding:1px 9px;background:var(--red);color:var(--cream);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.br-tools{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px;border-top:1px solid var(--line-dark)}
.br-mini{padding:3px 10px;border:1px solid var(--muted-dark);border-radius:999px;background:transparent;color:var(--cream);font:inherit;font-size:.75rem;cursor:pointer}
.br-mini[aria-pressed="true"]{background:var(--red);border-color:var(--red)}
.br-champ .br-matches{justify-content:center}
.br-winner{padding:16px 14px;background:var(--grain-dark),var(--red);color:var(--cream);font-size:1.15rem;text-align:center;box-shadow:3px 3px 0 rgba(0,0,0,.5);transform:rotate(-1.5deg)}
@keyframes brpulse{50%{box-shadow:0 0 0 7px rgba(160,29,33,.45),3px 3px 0 rgba(0,0,0,.5)}}
@media (prefers-reduced-motion:reduce){ .br-match.current{animation:none} }
.br-details{margin:10px 0;padding:8px 12px;border:2px solid var(--line-dark)}
.br-details summary{cursor:pointer;font-weight:800}

/* TV mód */
body.tv-mode .topbar,body.tv-mode > footer,body.tv-mode .install,body.tv-mode #menu{display:none !important}
body.tv-mode::after{display:none}
body.tv-mode{overflow:hidden}
.tv{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;padding:2.4vh 3vw;color:var(--cream);background:var(--grain-light),var(--mottle),var(--black);overflow:hidden}
.tv-head{display:flex;align-items:center;gap:2vw;flex:0 0 auto}
.tv-logo{height:10vh;width:auto}
.tv-ev{display:flex;flex-direction:column;gap:.4vh;min-width:0}
.tv-name{font-size:min(3.6vw,5.6vh);line-height:1.05;transform:skew(-6deg);text-shadow:.4vh .4vh 0 var(--band)}
.tv-title{font-size:min(1.9vw,3.1vh);color:var(--red);text-transform:uppercase;letter-spacing:.04em;line-height:1.1}
.tv-stage{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;padding:2vh 0 1vh;overflow:hidden}
.tv-foot{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding-top:1vh;font-size:min(1.5vw,2.4vh);color:var(--muted-dark)}
.tv-dots{display:flex;gap:1vw}
.tv-dots span{width:1.3vh;height:1.3vh;border-radius:50%;background:#444}
.tv-dots .on{background:var(--red)}
.tv-fs{position:fixed;right:1vw;top:1vh;padding:.5vh 1vw;border:0;background:rgba(243,235,221,.15);color:var(--cream);font-size:min(2vw,3vh);cursor:pointer;opacity:.15}
.tv-fs:hover,.tv-fs:focus-visible{opacity:1}
.tv-empty{font-size:min(3vw,5vh);text-align:center;color:var(--muted-dark)}
.bracket.on-tv{--fs:min(1.55vw,calc(50vh / var(--units,30)));gap:1.6vw;width:100%;min-width:0}
.bracket.on-tv .br-col{flex:1;min-width:0}
.bracket.on-tv .br-title{font-size:var(--fs)}
.bracket.on-tv .br-matches{gap:calc(var(--fs) * .45)}
.bracket.on-tv .br-side{min-height:0;font-size:var(--fs);padding:calc(var(--fs) * .3) calc(var(--fs) * .6)}
.bracket.on-tv .br-live{font-size:calc(var(--fs) * .7);top:calc(var(--fs) * -.7)}
.bracket.on-tv .br-winner{font-size:calc(var(--fs) * 1.4)}
.tv-now{display:flex;flex-wrap:wrap;align-items:baseline;gap:1vh 2vw;margin:0 0 2vh;padding:1.6vh 2vw;background:var(--grain-dark),var(--band);box-shadow:.5vh .5vh 0 rgba(0,0,0,.5)}
.tv-live{padding:.2vh 1vw;background:var(--cream);color:var(--red);font-size:min(1.6vw,2.6vh);text-transform:uppercase;letter-spacing:.06em}
.tv-vs{font-size:min(3.6vw,6vh);text-shadow:.4vh .4vh 0 rgba(0,0,0,.4)}
.tv-next{margin-left:auto;font-size:min(1.9vw,3.1vh);opacity:.9}
.tv .standings li,.tv .podium li{grid-template-columns:2.2em 1fr auto;gap:0 2vw;align-items:center;padding:1.1vh 0;font-size:min(2.6vw,4.4vh)}
.tv .standings .rank,.tv .podium .rank{font-size:1.5em;line-height:1;text-align:center}
.tv .st-name,.tv .podium a{font-size:1em}
.tv .st-meta{display:none}
.tv .st-pts,.tv .podium li .cond{font-size:.8em}
.tv-podium{border:0;padding:0;background:none}

/* zápis výsledkov (admin) */
.res input[type=text],.res select,.res textarea{width:100%;padding:10px 12px;border:2px solid var(--cream);border-radius:0;background:#1b1b1b;color:var(--cream);font:inherit;font-weight:500}
.res textarea{resize:vertical}
.res .admin-sec{margin-top:26px}
.res-add{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.res-add input{flex:1 1 160px;width:auto}
.res-field{display:grid;gap:6px;margin:14px 0;font-weight:700}
.res-more{margin:14px 0;padding-top:10px;border-top:1px solid var(--line-dark)}
.res-more summary{margin-bottom:8px;font-weight:700;cursor:pointer}
.res-more textarea{margin-bottom:8px}
.draft{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;padding:0;list-style:none}
.draft li{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border:2px solid var(--line-dark);border-radius:999px;background:var(--grain-light),#1b1b1b;font-weight:700}
.x-mini{width:26px;height:26px;border:0;border-radius:50%;background:var(--red);color:var(--cream);line-height:1;cursor:pointer}
.res-done{margin:14px 0;padding:14px;border-left:8px solid var(--red);background:var(--grain-dark),#241416}
.res-done p{margin:0 0 8px}

/* komunita */
.community .actions{margin:14px 0}
.clip-list{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:14px 0;padding:0;list-style:none}
.clip-by{display:block;margin-top:6px;font-size:.875rem;color:var(--muted-dark)}
.ph .credit{position:absolute;left:8px;right:8px;bottom:4px;overflow:hidden;color:#111;font-size:.72rem;font-weight:700;text-align:left;text-overflow:ellipsis;white-space:nowrap}

/* partneri, logá */
.p-logo{display:block;width:auto;max-width:150px;height:44px;object-fit:contain}
.p-logo.big{height:90px;max-width:260px;margin-bottom:14px}
.logo-strip ul{display:flex;flex-wrap:wrap;align-items:center;gap:22px 34px;margin:0;padding:0;list-style:none}
.partner-list li{align-items:center}

/* cesta do finále */
.finale-list{margin:10px 0;padding:0;list-style:none}
.finale-list li{display:grid;grid-template-columns:2.6ch 1fr auto;gap:2px 14px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line-dark)}
.finale-list .st-meta{grid-column:2 / -1}
.fin-state{grid-column:3;grid-row:1;padding:2px 10px;border-radius:999px;background:#2a2a2a;font-size:.85rem;font-weight:800}
.fin-secure .fin-state{background:var(--red);color:var(--cream)}
.fin-in .fin-state{background:var(--cream);color:var(--black)}
.fin-alive .fin-state{background:#4a3f2b;color:var(--cream)}
.fin-out{opacity:.55}
.finale-list li.cutline{border-bottom:3px dashed var(--red)}

/* sieň slávy, pravidlá */
.champs{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:10px 0 24px}
.champ{display:grid;gap:2px;padding:14px;background:var(--grain-dark),var(--band);box-shadow:4px 5px 0 rgba(0,0,0,.5);transform:rotate(-.6deg)}
.champ .wide{font-size:1.4rem;text-decoration:none}
.rule p,.faq p{max-width:62ch}
.faq{padding:10px 0;border-top:1px solid var(--line-dark)}
.faq summary{font-size:1.05rem;font-weight:800;cursor:pointer}
h2 .tag{margin-left:8px;vertical-align:middle;font-stretch:100%;font-size:.7rem;text-shadow:none;transform:none;display:inline-block}

.tv .d-circle{display:none}

/* =====================================================================
   CRT TELKA NA LEDGI + POLAROIDY
   ===================================================================== */
.tv-scene{--noise:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1.6 -.35'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:relative;margin-top:14px}
.tv-sec{background:radial-gradient(60% 55% at 50% 62%,rgba(160,29,33,.24),transparent 72%),var(--grain-dark),var(--black)}
.scene-stage{position:relative;display:flex;justify-content:center;align-items:flex-end;padding:26px 0 0;overflow-x:clip}
.crt-wrap{position:relative;z-index:2;width:min(100%,660px)}
.tv-scene.plain .crt-wrap{width:min(100%,560px)}
.crt-wrap::after{content:"";position:absolute;left:6%;right:6%;bottom:-16px;height:22px;background:radial-gradient(ellipse at center,rgba(0,0,0,.65),transparent 70%);z-index:-1}

.crt{position:relative;padding-top:clamp(40px,10vw,72px)}
.crt-antenna{position:absolute;top:0;left:50%;width:min(50%,290px);height:clamp(40px,10vw,72px);transform:translateX(-50%)}
.crt-antenna svg{display:block;width:100%;height:100%}
.crt-body{position:relative;z-index:1;display:grid;grid-template-columns:1fr 23%;gap:3%;padding:4.5% 3.5% 5%;border-radius:16px / 14px;
  background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,0) 22%,rgba(0,0,0,.4)),
    repeating-linear-gradient(92deg,rgba(0,0,0,.15) 0 2px,rgba(255,255,255,.04) 2px 5px,rgba(0,0,0,.09) 5px 8px),#6a4326;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.25),0 10px 0 -3px rgba(0,0,0,.35)}
.crt-bezel{padding:3.2%;border-radius:9% / 12%;background:#0d0d0c;box-shadow:inset 0 0 0 3px #29251f,inset 0 6px 18px rgba(0,0,0,.9),0 2px 0 rgba(255,255,255,.16)}
.crt-screen{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:4 / 3;border-radius:10% / 13%;background:radial-gradient(ellipse at 40% 35%,#1b211c,#070907)}
.crt-content{position:absolute;inset:0;background:#050705}
.crt-photo{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.1) saturate(1.2) brightness(.96)}
.crt-video{position:absolute;left:0;right:0;top:50%;aspect-ratio:16 / 9;transform:translateY(-50%);background:#000}
.crt-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.crt-play{position:absolute;left:50%;top:50%;width:19%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--red);box-shadow:0 0 0 3px var(--cream),3px 4px 0 3px rgba(0,0,0,.5)}
.crt-play::after{content:"";position:absolute;inset:27% 22% 27% 35%;background:var(--cream);clip-path:polygon(0 0,100% 50%,0 100%)}

.crt-fx{position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;overflow:hidden;
  background:radial-gradient(120% 100% at 28% 12%,rgba(255,255,255,.17),rgba(255,255,255,0) 38%),
    radial-gradient(ellipse at center,rgba(0,0,0,0) 50%,rgba(0,0,0,.72) 100%),
    repeating-linear-gradient(180deg,rgba(0,0,0,.3) 0 1px,rgba(0,0,0,0) 1px 3px);
  box-shadow:inset 0 0 44px rgba(0,0,0,.8)}
.crt-fx::after{content:"";position:absolute;left:0;right:0;top:-24%;height:20%;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.07),rgba(255,255,255,0));opacity:0}
.crt-static{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:var(--noise);background-size:160px 160px;mix-blend-mode:screen}
.crt-static.on{opacity:.85;animation:crtNoise .24s steps(4) both}
@keyframes crtNoise{0%{background-position:0 0}25%{background-position:-40px 30px}50%{background-position:30px -50px}75%{background-position:-20px -10px}100%{background-position:50px 40px}}
@keyframes crtRoll{to{top:110%}}
@keyframes crtFlick{0%,100%{opacity:1}47%{opacity:.94}50%{opacity:1}93%{opacity:.96}}
@keyframes crtOn{0%{transform:scale(0,.004);filter:brightness(5)}45%{transform:scale(1,.004);filter:brightness(5)}100%{transform:scale(1,1);filter:brightness(1)}}
@media (prefers-reduced-motion:no-preference){
  .crt.is-on .crt-fx{animation:crtFlick 5s steps(1) infinite}
  .crt.is-on .crt-fx::after{opacity:1;animation:crtRoll 7s linear infinite}
  .crt-screen.booting .crt-content{animation:crtOn .75s cubic-bezier(.2,.8,.2,1) both}
}
@media (prefers-reduced-motion:reduce){ .crt-static{display:none} }
.crt-screen.off .crt-content,.crt-screen.off .osd,.crt-screen.off .crt-static{visibility:hidden}

.osd{position:absolute;z-index:4;pointer-events:none;font:700 clamp(.6rem,2.5vw,.95rem)/1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;color:#c9ffc9;text-shadow:1.5px 0 rgba(255,40,40,.7),-1.5px 0 rgba(40,255,255,.7)}
.osd-ch{top:7%;left:6%;opacity:0;transition:opacity .2s}
.osd-ch.show{opacity:1}
.osd-play{left:6%;bottom:6%}
.osd-stamp{right:6%;bottom:6%}
.crt-screen:not(.show-photo):has(iframe) .osd-play,.crt-screen:not(.show-photo):has(iframe) .osd-stamp{opacity:0}

.crt-panel{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:6%;padding:8% 5% 9%;border-radius:10px;
  background:linear-gradient(180deg,#28241f,#171513);box-shadow:inset 0 0 0 2px rgba(0,0,0,.6),inset 0 2px 0 rgba(255,255,255,.08)}
.crt-grille{width:100%;height:22%;min-height:26px;border-radius:4px;background:repeating-linear-gradient(180deg,#0a0908 0 3px,#3b3631 3px 5px)}
.crt-knob{width:clamp(44px,12vw,58px);aspect-ratio:1;padding:0;border:0;border-radius:50%;cursor:pointer;color:#1b1917;font-weight:900;font-size:.72rem;letter-spacing:.04em;
  background:radial-gradient(circle at 35% 30%,#f3ebdd,#b7ad9a 55%,#6c655a);box-shadow:0 0 0 3px #0c0b0a,0 5px 0 3px rgba(0,0,0,.55);transition:transform .12s}
.crt-knob:active{transform:rotate(35deg) scale(.96)}
.crt-knob:focus-visible{outline:3px solid var(--cream);outline-offset:4px}
.crt-led{width:9px;height:9px;border-radius:50%;background:#3a1010;box-shadow:0 0 0 2px #0c0b0a}
.crt.is-on .crt-led{background:#ff3b30;box-shadow:0 0 0 2px #0c0b0a,0 0 10px 3px rgba(255,59,48,.7)}
.crt-feet{position:relative;z-index:0;display:flex;justify-content:space-between;padding:0 12%;margin-top:-2px}
.crt-feet i{display:block;width:16%;height:clamp(8px,2vw,14px);border-radius:0 0 6px 6px;background:#141210}
.crt-live{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* skate ledge */
.crt-ledge{position:relative;height:clamp(54px,11vw,86px);margin:0 -4%;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#aaa59c 0 14%,#7b776f 14% 100%);box-shadow:inset 0 -8px 0 rgba(0,0,0,.25),0 6px 0 rgba(0,0,0,.4)}
.crt-ledge::before{content:"";position:absolute;left:0;right:0;top:-3px;height:9px;border-radius:3px;background:linear-gradient(180deg,#f4f4f2,#a8a8a6 40%,#5b5b5a);box-shadow:0 2px 0 rgba(0,0,0,.4)}
.crt-ledge::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(101deg,transparent 0 18%,rgba(255,255,255,.42) 18% 18.8%,transparent 18.8% 57%,rgba(255,255,255,.3) 57% 58.2%,transparent 58.2% 82%,rgba(255,255,255,.28) 82% 82.7%,transparent 82.7%),var(--noise);background-size:auto,160px 160px;opacity:.5}

/* polaroidy */
.tv-scene .pol.ph{position:relative;transform:rotate(var(--r,0deg));cursor:zoom-in}
.tv-scene .pol.ph:hover,.tv-scene .pol.ph:focus-visible{transform:rotate(0) scale(1.05);z-index:5}
.tv-scene .pol.ph::before{content:"";position:absolute;top:-9px;left:50%;width:62px;height:20px;margin-left:-31px;background:rgba(243,235,221,.78);transform:rotate(-4deg);box-shadow:0 1px 2px rgba(0,0,0,.2)}
.pol-strip{display:flex;gap:18px;overflow-x:auto;padding:30px 6px 14px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.pol-strip .pol{flex:0 0 min(62vw,240px);scroll-snap-align:center}
.pol-wall{display:none}
@media (min-width:980px){
  .pol-strip{display:none}
  .pol-wall{display:block;position:absolute;top:18px;bottom:0;width:20%;z-index:1;pointer-events:none}
  .pol-left{left:0}.pol-right{right:0}
  .tv-scene .pol-wall .pol.ph{position:absolute;width:min(178px,100%);pointer-events:auto}
  .pol-left .p1{left:6%;top:0}.pol-left .p2{left:26%;top:33%}.pol-left .p3{left:2%;top:62%}
  .tv-scene.plain .pol-wall{display:none}
}

/* ---- telka: klikanie na obrazovku, ozdobné ovládanie ---- */
.crt-hit{position:absolute;inset:0;z-index:6;padding:0;border:0;border-radius:inherit;background:transparent;cursor:pointer}
.crt-hit:focus-visible{outline:3px solid var(--cream);outline-offset:-8px}
.crt-photo-layer{position:absolute;inset:0;z-index:1;visibility:hidden;opacity:0;background:#050705}
.crt-photo-layer .crt-photo{display:block;width:100%;height:100%;object-fit:cover;filter:contrast(1.1) saturate(1.2) brightness(.96)}
.crt-screen.show-photo .crt-photo-layer{visibility:visible;opacity:1}
.crt-posterimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.1) saturate(1.2)}
.crt-yt{position:absolute;inset:0;width:100%;height:100%;border:0}
.crt-video:not(.paused) .crt-play{display:none}
.crt-knob{cursor:pointer;display:grid;place-items:center;transition:transform .25s}
.crt-knob span{font-size:.62rem;pointer-events:none}
.crt-knob:active{transform:none}

/* ---- pás polaroidov na spodku stránok ---- */
.fun-wrap{position:relative;max-width:1200px;margin:34px auto 10px;padding:0 20px}
.fun-strip{display:flex;gap:18px;overflow-x:auto;padding:30px 6px 16px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.fun-strip .pol{flex:0 0 min(58vw,230px);scroll-snap-align:center}
@media (min-width:980px){
  .fun-strip{flex-wrap:wrap;justify-content:center;overflow:visible;padding-top:34px}
  .fun-strip .pol{flex:0 0 200px}
}
.tv-scene .pol.ph{cursor:zoom-in}
.fun-wrap .pol.ph{position:relative;transform:rotate(var(--r,0deg))}
.fun-wrap .pol.ph:hover,.fun-wrap .pol.ph:focus-visible{transform:rotate(0) scale(1.05);z-index:5}
.fun-wrap .pol.ph::before{content:"";position:absolute;top:-9px;left:50%;width:62px;height:20px;margin-left:-31px;background:rgba(243,235,221,.78);transform:rotate(-4deg);box-shadow:0 1px 2px rgba(0,0,0,.2)}

/* ---- mobil: hore hlavné informácie, zábava až dole ---- */

/* =====================================================================
   VZHĽAD 2026: čierna hlavná, krémová druhá, červená len na najdôležitejšie.
   Plagátové písmo (Anton), široké Archivo na štítky, strojopis na dátumy,
   lettering ako nápis GOSKO (Pirata One) len na pár miestach.
   Roztrhnutý papier, škvrny a šikmé pásy ostávajú, len čistejšie.
   ===================================================================== */
:root{
  --black:#0e0d0c; --ink-2:#181614; --ink-3:#221f1c; --cream:#F3EBDD; --red:#A01414; --band:#A01414;
  --muted-dark:#a49b8f; --line-dark:rgba(243,235,221,.14); --rail:6px;
  --f-display:"Anton","Impact","Arial Narrow",sans-serif;
  --f-letter:"Pirata One","Anton",serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --spray:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 40' preserveAspectRatio='none'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.6' numOctaves='1'/%3E%3CfeDisplacementMap in='SourceGraphic' scale='6'/%3E%3C/filter%3E%3Cg filter='url(%23s)' fill='%23F3EBDD'%3E%3Cpath d='M4 16 C80 8 160 20 240 12 S360 10 396 14 L396 22 C330 26 260 20 180 25 S60 24 4 24Z' opacity='.9'/%3E%3Crect x='62' y='22' width='3' height='12' rx='1.5'/%3E%3Crect x='190' y='22' width='2.5' height='16' rx='1.2'/%3E%3Crect x='300' y='20' width='3' height='9' rx='1.5'/%3E%3C/g%3E%3C/svg%3E");
}
body{background:var(--grain-light),var(--mottle),var(--black)}
body::after{background:var(--cream);opacity:.9}
.lead{color:var(--muted-dark)}
.mono{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.07em;text-transform:uppercase}
.letterg{font-family:var(--f-letter);font-weight:400;letter-spacing:.01em;text-transform:none}

/* nadpisy: plagátové písmo, bez šikmín a tieňov */
.hero h1,
.page-head h1,
.sec h2,
.builder h1,
.rider-hero h1,
h2.sub,
.kit-page h1{
  font-family:var(--f-display);font-weight:400;font-stretch:100%;text-transform:uppercase;letter-spacing:.005em;line-height:.92;text-shadow:none;transform:none}
.sec h2,.page-head h1{font-size:clamp(2.4rem,7.4vw,4.6rem)}
h2.sub{font-size:clamp(1.6rem,4.8vw,2.4rem)}
.rank,
.cd-num,
.st-pts,
.votes{font-family:var(--f-display);font-weight:400;font-stretch:100%;transform:none;-webkit-text-stroke:0;text-shadow:none}
.rank{color:var(--muted-dark)}
.standings li:first-child .rank,.light .rank{color:var(--red)}
.st-pts{font-size:1.6rem}
.d-circle{display:none}
.page-head{position:relative}
.page-head .lead{max-width:56ch}
.br-title,.tv-name{transform:none;text-shadow:none}
.br-title{font-family:var(--f-mono);letter-spacing:.08em;text-transform:uppercase}

/* nápis sprejom pod vybranými nadpismi */

/* hlavička */
.topbar{background:var(--grain-light),rgba(14,13,12,.94);border-bottom:1px solid var(--line-dark);backdrop-filter:blur(6px)}
.brand img{height:30px}
.brand span{display:none}
.nav a{font-family:var(--f-mono);font-size:.8rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--muted-dark);border-bottom-width:2px;transition:color .15s}
.nav a:hover{color:var(--cream);border-bottom-color:transparent}
.nav a[aria-current]{color:var(--cream);border-bottom-color:var(--red)}

/* tlačidlá: ostré, pri myši poskočia a ukážu tvrdý tieň */
.btn,.menu-btn{--sh:var(--red);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:0;border:2px solid var(--cream);border-radius:0;
  padding:11px 18px;background:transparent;color:var(--cream);font-family:"Archivo",system-ui,sans-serif;font-stretch:112%;font-weight:800;font-size:.86rem;
  letter-spacing:.04em;text-transform:uppercase;line-height:1.1;text-decoration:none;cursor:pointer;box-shadow:0 0 0 var(--sh);transition:transform .14s ease,box-shadow .14s ease,background .14s,color .14s,border-color .14s}
.btn:hover:not(:disabled),.menu-btn:hover{transform:translate(-3px,-3px);box-shadow:3px 3px 0 var(--sh)}
.btn:active:not(:disabled){transform:none;box-shadow:0 0 0 var(--sh)}
.btn:disabled{opacity:.35;cursor:not-allowed}
.btn.small{padding:7px 12px;font-size:.76rem}
.btn.primary,.vote[aria-pressed="true"]{--sh:var(--cream);background:var(--red);border-color:var(--red);color:var(--cream);text-shadow:none}
.btn.solid{--sh:var(--red);background:var(--cream);border-color:var(--cream);color:var(--black)}
.light .btn,dialog .btn,.install .btn{border-color:var(--black);color:var(--black)}
.light .btn.solid,dialog .btn.solid{background:var(--black);color:var(--cream)}
.light .btn.primary,dialog .btn.primary{--sh:var(--black);background:var(--red);border-color:var(--red);color:var(--cream)}
.btn:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.light .btn:focus-visible,dialog .btn:focus-visible{outline-color:var(--red)}
.stage-btn{padding:8px 12px}
.x{border-radius:0;transition:transform .15s}
.x:hover{transform:rotate(90deg)}
.chip{border:1.5px solid var(--line-dark);border-radius:0;padding:7px 12px;background:transparent;color:var(--muted-dark);box-shadow:none;
  font-family:var(--f-mono);font-size:.76rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;transition:color .15s,border-color .15s,background .15s}
.chip:hover{color:var(--cream);border-color:var(--cream)}
.chip[aria-pressed="true"]{background:var(--cream);border-color:var(--cream);color:var(--black);box-shadow:none}
.light .chip{color:var(--black);border-color:rgba(0,0,0,.25);box-shadow:none}
.light .chip[aria-pressed="true"]{background:var(--black);color:var(--cream)}
.tag{font-family:var(--f-mono);letter-spacing:.05em;text-transform:uppercase}
.news-row input{border-radius:0}

/* šikmé pásy cez celú šírku: krémová páska, čierna páska, červená len pre ďalší stop */
.bands{gap:12px;padding-right:0}
.band{--rot:0deg;position:relative;background:var(--grain-dark),var(--mottle),var(--cream);color:var(--black);box-shadow:0 4px 0 rgba(0,0,0,.45);
  transform:rotate(var(--rot));transition:transform .35s cubic-bezier(.2,.8,.2,1);
  clip-path:polygon(0 4%,3% 0,9% 6%,14% 1%,22% 5%,31% 0,38% 4%,47% 1%,55% 6%,63% 0,72% 4%,80% 1%,88% 5%,95% 0,100% 3%,100% 97%,96% 100%,89% 95%,81% 100%,73% 96%,64% 100%,56% 95%,48% 99%,39% 95%,30% 100%,22% 96%,13% 100%,6% 95%,0 99%)}
.bands .band:nth-child(odd),
.facts .band:nth-child(odd){--rot:-.8deg;transform:rotate(var(--rot))}
.bands .band:nth-child(even),
.facts .band:nth-child(even){--rot:.6deg;transform:rotate(var(--rot));background:var(--grain-light),var(--mottle),var(--ink-3);color:var(--cream)}
.band.next,
.bands .band.next{background:var(--grain-dark),var(--mottle),var(--red);color:var(--cream)}
a.band:hover{transform:rotate(var(--rot)) translateX(10px)}
a.band:hover .city{text-decoration:none}
.band::after{display:none}
.band .city{font-family:var(--f-display);font-weight:400;font-stretch:100%;text-transform:uppercase;letter-spacing:.01em;text-shadow:none;font-size:clamp(1.7rem,5.6vw,2.9rem)}
.band .meta{font-family:"Archivo",sans-serif;font-stretch:125%;font-weight:800;font-size:clamp(.8rem,2.2vw,1rem);text-transform:uppercase;letter-spacing:.03em;opacity:.85}
.band .arr{margin-left:auto;font-family:var(--f-display);font-size:clamp(1.4rem,4vw,2.2rem);transition:transform .2s}
a.band:hover .arr{transform:translateX(6px)}

/* odhaľovanie pri rolovaní: obsah je viditeľný hneď, len sa jemne dosunie */
.rv{transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s}
.rv.rv-pre{transform:translateY(22px)}
.band.rv.rv-pre{transform:rotate(var(--rot)) translateX(-6%)}

/* bežiaci pás */
.ticker{position:relative;z-index:2;overflow:hidden;white-space:nowrap;background:var(--black);color:var(--cream);border-block:1px solid var(--line-dark);transform:rotate(-1deg);margin:18px -2% 6px}
.ticker-in{display:inline-flex;padding-block:11px;animation:tick 42s linear infinite}
.ticker:hover .ticker-in{animation-play-state:paused}
.ticker span{padding-inline:22px;font-family:var(--f-mono);font-size:.8rem;letter-spacing:.09em;text-transform:uppercase}
.ticker span::before{content:"✕";margin-right:22px;color:var(--red)}
@keyframes tick{to{transform:translateX(-50%)}}

/* roztrhnutý papier: krémové sekcie s hrubšou hranou */
.light::before,.light::after{height:22px}
.light::before{top:-21px}.light::after{bottom:-21px}

/* odpočet */
.countdown{margin-top:0;background:var(--grain-light),var(--mottle),var(--ink-2);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark)}
.cd-num{font-size:clamp(3.6rem,15vw,7rem);line-height:.88;color:var(--red);text-shadow:none;text-transform:uppercase}
.cd-unit{font-family:var(--f-letter);font-weight:400;font-stretch:100%;font-size:clamp(1.5rem,5vw,2.4rem);line-height:1}
.cd-meta{font-family:var(--f-mono);font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}

/* duch ako nálepka v hlavičkách stránok */
.ghost-tag{position:absolute;top:30px;right:calc(var(--rail) + 18px);width:clamp(54px,11vw,92px);height:auto;transform:rotate(9deg);filter:drop-shadow(3px 4px 0 rgba(0,0,0,.45));pointer-events:none;animation:bob 6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(4deg) translateY(-8px)}}
.d-head{display:none}

/* pätička */
footer{border-top:1px solid var(--line-dark)}
footer .foot-mark{display:flex;align-items:center;gap:12px}
footer .foot-mark img{display:block;width:auto}
footer .foot-mark .fm-word{height:30px}
footer .foot-mark .fm-ghost{height:40px;animation:bob 6s ease-in-out infinite}
footer p{font-family:var(--f-letter);font-size:1.25rem;color:var(--cream)}

/* =========================== ÚVODKA =========================== */
@keyframes pulse{50%{opacity:.2}}

/* S.K.A.T.E. hra */
@keyframes nudge{0%,82%,100%{transform:none}86%{transform:translateY(-6px) rotate(-3deg)}90%{transform:translateY(0) rotate(2deg)}}
@keyframes stamp{0%{transform:scale(1.35) rotate(-8deg)}100%{transform:none}}

/* doska */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:90;transform:translate(-50%,140%);display:flex;align-items:center;gap:12px;padding:12px 16px;
  background:var(--cream);color:var(--black);box-shadow:5px 5px 0 var(--red);font-weight:700;transition:transform .45s cubic-bezier(.3,1.5,.5,1);max-width:calc(100vw - 32px)}
.toast.show{transform:translate(-50%,0)}
.toast img{width:38px;height:auto}

/* sekcie na úvodke */
.home-sec{padding:64px 0}
.sec-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 24px;margin-bottom:18px}
.sec-head h2{margin:0}
.sec-head .lead{margin:0}

@media (prefers-reduced-motion:reduce){
  .ticker-in,
.ghost-tag,
.foot-mark .fm-ghost{animation:none !important}
  .rv,.band,.btn,.toast{transition:none !important}
  .rv.rv-pre,.band.rv.rv-pre{transform:rotate(var(--rot,0deg))}
}

/* GOSko TV: ovládací pás a gombíky */
.tv-sec{background:radial-gradient(60% 55% at 50% 58%,rgba(243,235,221,.07),transparent 72%),var(--grain-light),var(--mottle),var(--black)}
.tv-title{font-size:clamp(3rem,9vw,5.6rem) !important;text-transform:none !important;font-family:var(--f-letter) !important;line-height:1}
.tv-controls{position:relative;z-index:3;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 10px;margin:30px auto 0;max-width:660px}
.tvc-btn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px;border:1.5px solid var(--line-dark);background:var(--ink-2);color:var(--cream);cursor:pointer;
  font-family:var(--f-mono);font-size:.78rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;transition:border-color .15s,background .15s,transform .14s}
.tvc-btn:hover{border-color:var(--cream);transform:translateY(-2px)}
.tvc-btn[aria-pressed="true"]{background:var(--cream);color:var(--black);border-color:var(--cream)}
.tvc-sound[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:var(--cream)}
.tvc-sq{width:42px;justify-content:center;padding:0;font-size:1.2rem}
.tvc-vol{display:inline-flex;align-items:center;gap:6px}
.tvc-meter{display:inline-flex;align-items:flex-end;gap:2px;height:22px;padding:0 4px}
.tvc-meter i{display:block;width:4px;background:rgba(243,235,221,.18)}
.tvc-meter i:nth-child(1){height:20%}.tvc-meter i:nth-child(2){height:28%}.tvc-meter i:nth-child(3){height:36%}.tvc-meter i:nth-child(4){height:44%}.tvc-meter i:nth-child(5){height:52%}
.tvc-meter i:nth-child(6){height:60%}.tvc-meter i:nth-child(7){height:68%}.tvc-meter i:nth-child(8){height:76%}.tvc-meter i:nth-child(9){height:88%}.tvc-meter i:nth-child(10){height:100%}
.tvc-meter i.on{background:var(--cream)}
.tvc-meter i.on:nth-child(n+9){background:var(--red)}
.crt-panel .crt-knob{transition:transform .25s cubic-bezier(.3,1.5,.5,1)}
.crt-panel .crt-knob:hover{filter:brightness(1.08)}
.crt-panel .crt-knob:focus-visible{outline:2px solid var(--cream);outline-offset:3px}

/* odbery: duchovia ako nálepky */
.news-title{font-size:clamp(2.4rem,7vw,4.4rem) !important;color:var(--black)}
.news-ghosts{position:absolute;right:calc(var(--rail) + 18px);top:8px;display:flex;gap:2px}
.news-ghosts img{width:clamp(44px,7vw,70px);height:auto;filter:drop-shadow(3px 4px 0 rgba(0,0,0,.35));transition:transform .3s cubic-bezier(.3,1.6,.5,1)}
.news-ghosts img:nth-child(1){transform:rotate(-14deg)}.news-ghosts img:nth-child(2){transform:rotate(8deg) translateY(12px)}.news-ghosts img:nth-child(3){transform:rotate(-4deg)}
.news-ghosts img:hover{transform:rotate(0) scale(1.15)}
@media (max-width:720px){ .news-ghosts{position:static;margin-top:18px} }

/* staré nálepky okolo dosky a telky už nie */
.d-stage-tl{display:none}

/* doladenie */
.band{padding:16px 28px 16px max(30px, calc((100% - 1200px) / 2 + 30px))}
.ticker{margin:18px 0 6px;width:100%}
.bands{overflow-x:clip}
.home-sec h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.4rem,7.4vw,4.6rem);line-height:.92;margin:0}
.news-ghosts{top:auto;bottom:24px}
.builder h1.red{color:var(--black)}

/* =====================================================================
   VERZIA 3: bez cikcakov, hustejšie, hrdo na jazdcov
   ===================================================================== */
/* žiadne cikcak hrany, rovné čisté pásy */
.band,
.bands .band{clip-path:none}
.light::before,.light::after{display:none}
.bands .band:nth-child(odd),
.facts .band:nth-child(odd){--rot:-.4deg}
.bands .band:nth-child(even),
.facts .band:nth-child(even){--rot:.3deg}
.bands{gap:6px;margin:4px 0 0}
.band{padding-top:12px;padding-bottom:12px;box-shadow:none}
.band .city{font-size:clamp(1.5rem,4.2vw,2.3rem)}
.ticker{transform:none;margin:0}

/* hustejšie medzery */
.sec{padding:44px 0}
.home-sec{padding:40px 0}
.page-head{padding-top:28px}
.page-body{padding-bottom:44px}
.sec h2,.page-head h1{font-size:clamp(2.2rem,6vw,3.8rem)}
.light{background:var(--grain-dark),var(--cream)}

/* hero s fotkou za doskou */

/* garáž */
.garage{margin-top:6px;background:rgba(14,13,12,.78);border:1px solid var(--line-dark);backdrop-filter:blur(8px)}
.gar-tabs{display:flex;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line-dark)}
.gar-tabs button{flex:1 0 auto;padding:10px 14px;background:none;border:0;border-bottom:2px solid transparent;color:var(--muted-dark);cursor:pointer;
  font-family:var(--f-mono);font-size:.74rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.gar-tabs button:hover{color:var(--cream)}
.gar-tabs button[aria-selected="true"]{color:var(--cream);border-bottom-color:var(--red)}
.gar-panel{display:flex;flex-wrap:wrap;gap:8px;padding:12px;min-height:66px;align-items:center}
.gar-panel .btn.small{padding:8px 12px}
.ghostbtn{min-width:38px}
.gar-sw{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;border:1.5px solid var(--line-dark);background:transparent;color:var(--cream);cursor:pointer;font-size:.85rem;font-weight:700;transition:border-color .15s,transform .14s}
.gar-sw:hover{border-color:var(--cream);transform:translateY(-2px)}
.gar-sw[aria-pressed="true"]{border-color:var(--cream);background:rgba(243,235,221,.08)}
.gar-chip{width:28px;height:28px;flex:0 0 auto;border:1px solid rgba(243,235,221,.3)}
.gar-sw[aria-pressed="true"] .gar-chip{outline:2px solid var(--red);outline-offset:2px}
.gar-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;border-top:1px solid var(--line-dark)}
.gar-foot .mono{flex:1 1 220px;color:var(--muted-dark);font-size:.68rem}
.gar-mini{padding:5px 10px;border:1px solid var(--line-dark);background:none;color:var(--muted-dark);cursor:pointer;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}
.gar-mini:hover{color:var(--cream);border-color:var(--cream)}
.gar-mini[aria-pressed="true"]{color:var(--cream);border-color:var(--cream)}
.gar-mini:disabled{opacity:.4}

/* prehľad: rebríček a ďalší stop vedľa seba */
.cd-card{padding:18px;background:var(--grain-light),var(--ink-2);border:1px solid var(--line-dark);display:grid;gap:6px}
.cd-card > .mono{color:var(--muted-dark)}
.cd-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px}
.cd-big{font-family:var(--f-display);font-size:clamp(3rem,8vw,4.6rem);line-height:.9;color:var(--red);text-transform:uppercase}
.cd-u{font-size:1.6rem;line-height:1}
.cd-where{margin:0;color:var(--muted-dark)}
.cd-where b{color:var(--cream)}
.cd-card .actions{margin-top:6px}
.quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qt{position:relative;display:grid;gap:2px;padding:14px 34px 14px 14px;border:1px solid var(--line-dark);text-decoration:none;background:var(--ink-2);transition:border-color .15s,transform .15s,background .15s}
.qt:hover{border-color:var(--cream);transform:translateY(-2px);background:var(--ink-3)}
.qt-t{font-family:var(--f-display);font-size:1.25rem;text-transform:uppercase;line-height:1}
.qt-d{font-size:.8rem;color:var(--muted-dark);line-height:1.3}
.qt-a{position:absolute;right:12px;top:12px;font-family:var(--f-display);font-size:1.2rem;transition:transform .15s}
.qt:hover .qt-a{transform:translateX(4px)}

/* avatary */
.avatar{--av:#2b2420;position:relative;display:inline-grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:50%;overflow:hidden;
  background:radial-gradient(circle at 30% 25%,rgba(243,235,221,.16),transparent 60%),var(--av);box-shadow:0 0 0 2px var(--line-dark)}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.gen span{font-family:var(--f-display);font-size:1.15rem;color:var(--cream);letter-spacing:.03em}
.avatar.gen::after{content:"";position:absolute;right:-6%;bottom:-10%;width:52%;height:52%;background:url(../img/ghost.svg) center / contain no-repeat;opacity:.16;transform:rotate(-12deg)}
.avatar.r1{box-shadow:0 0 0 2px var(--red),0 0 0 4px var(--black)}
.avatar.r2{box-shadow:0 0 0 2px var(--cream),0 0 0 4px var(--black)}

/* 2D dosky jazdcov */
.board-img{display:block;height:auto;object-fit:contain;transition:opacity .4s,transform .3s cubic-bezier(.3,1.5,.5,1)}
.board-img.loading{opacity:0}

/* rebríček: riadky */
.standings.v2 li{grid-template-columns:2.4ch 48px minmax(0,1fr) auto 46px;align-items:center;gap:4px 14px;padding:10px 0}
.standings.v2 .rank{font-size:1.8rem;text-align:center}
.standings.v2 .st-main{display:grid;gap:2px;min-width:0}
.standings.v2 .st-name{grid-column:auto;font-size:1.08rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.standings.v2 .st-meta{grid-column:auto;grid-row:auto;font-size:.8rem}
.st-bar{display:block;height:4px;background:rgba(243,235,221,.08);margin-top:4px;max-width:340px}
.st-bar i{display:block;height:100%;background:var(--cream);transform-origin:left;animation:grow 1s cubic-bezier(.2,.8,.2,1) both}
.standings.v2 li.top .st-bar i{background:var(--red)}
@keyframes grow{from{transform:scaleX(0)}}
.standings.v2 .st-pts{grid-column:auto;grid-row:auto;font-size:1.5rem}
.standings.v2 .st-pts small{font-size:.6em;color:var(--muted-dark)}
.st-board{width:46px;transform:rotate(-8deg)}
.standings.v2 li:hover .st-board{transform:rotate(4deg) scale(1.15)}
@media (max-width:520px){ .standings.v2 li{grid-template-columns:2.2ch 40px minmax(0,1fr) auto} .standings.v2 .avatar{width:40px;height:40px} .st-board{display:none} }

/* pódium top 3 */
.podium3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin:6px 0 18px}
.podium3.few{grid-template-columns:repeat(auto-fit,minmax(0,220px))}
.pod{position:relative;display:grid;justify-items:center;text-align:center;text-decoration:none;color:var(--cream)}
.pod-art{position:relative;display:grid;place-items:end center;width:100%;height:clamp(150px,22vw,230px)}
.pod-board{position:absolute;bottom:6px;left:50%;width:clamp(86px,12vw,128px);transform:translateX(-12%) rotate(10deg);filter:drop-shadow(0 12px 14px rgba(0,0,0,.6))}
.pod:hover .pod-board{transform:translateX(-12%) rotate(2deg) translateY(-8px)}
.pod-art .avatar{position:relative;z-index:1;width:clamp(64px,9vw,92px);height:clamp(64px,9vw,92px);margin-right:28%}
.pod-art .avatar.gen span{font-size:clamp(1.4rem,2.6vw,2rem)}
.pod-1 .pod-art{height:clamp(176px,26vw,270px)}
.pod-1 .pod-art .avatar{width:clamp(78px,11vw,112px);height:clamp(78px,11vw,112px)}
.pod-1 .pod-board{width:clamp(100px,14vw,150px)}
.pod-name{margin-top:10px;font-weight:800;font-stretch:108%;font-size:clamp(.9rem,1.8vw,1.1rem);line-height:1.15}
.pod-pts{font-family:var(--f-mono);font-size:.78rem;letter-spacing:.06em;color:var(--muted-dark);margin-top:2px}
.pod-step{display:grid;place-items:center;width:100%;margin-top:10px;background:var(--grain-light),var(--ink-3);border-top:2px solid var(--line-dark);height:56px}
.pod-step span{font-family:var(--f-display);font-size:2rem;line-height:1;color:var(--muted-dark)}
.pod-1 .pod-step{height:84px;background:var(--grain-dark),var(--red);border-top-color:var(--red)}
.pod-1 .pod-step span{color:var(--cream);font-size:2.6rem}
.pod-2 .pod-step{height:66px;border-top-color:var(--cream)}
.pod-2 .pod-step span{color:var(--cream)}
.pod:hover .pod-name{text-decoration:underline;text-underline-offset:3px}

/* jazdci: karty s doskou */
.rider-grid.v2{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.rider-grid.v2 li a{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:14px;padding:14px;transform:none !important;background:var(--grain-light),var(--ink-2);border:1px solid var(--line-dark);transition:border-color .15s,transform .15s}
.rider-grid.v2 li a::before{display:none}
.rider-grid.v2 li a:hover{border-color:var(--cream);transform:translateY(-3px) !important}
.rider-id{display:flex;align-items:center;gap:16px}
.rider-id .avatar{width:clamp(64px,10vw,96px);height:clamp(64px,10vw,96px)}
.rider-id .avatar.gen span{font-size:clamp(1.5rem,3vw,2.2rem)}
.rider-id h1{margin:0}

@media (prefers-reduced-motion:reduce){ .st-bar i{animation:none} }
/* doladenie veľkostí dosiek */
.rider-grid.v2 li a{grid-template-columns:118px 1fr}
.pod-board{width:clamp(110px,15vw,160px)}
.pod-1 .pod-board{width:clamp(130px,18vw,190px)}
.st-board{width:54px}
.gar-panel{gap:6px}
.gar-panel .btn.small{padding:7px 10px;font-size:.72rem}

/* =========================== PRE PARTNEROV =========================== */
.pt-k{display:block;color:var(--red);margin-bottom:8px;font-family:var(--f-mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
.light .pt-k{color:var(--red)}
.pt-hero{position:relative;isolation:isolate;overflow:clip;padding:clamp(56px,10vw,120px) 0 clamp(44px,7vw,80px)}
.pt-bg{position:absolute;inset:0;z-index:-1}
.pt-bg img{width:100%;height:100%;object-fit:cover;object-position:70% 40%;filter:brightness(.6) saturate(.9)}
.pt-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--black) 0%,rgba(14,13,12,.85) 45%,rgba(14,13,12,.2) 100%),linear-gradient(0deg,var(--black),transparent 35%)}
.pt-h{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.4rem,6.4vw,4.8rem);line-height:.92;max-width:14ch;margin:0 0 14px}
.pt-in .lead{max-width:52ch;color:var(--cream);opacity:.85}
.pt-three{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.pt-card{padding:20px;border:1px solid var(--line-dark);background:var(--grain-light),var(--ink-2)}
.light .pt-card{border-color:rgba(0,0,0,.15);background:rgba(255,255,255,.35)}
.pt-card h3{margin:6px 0 4px;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.6rem;line-height:1}
.pt-card p{margin:0;color:var(--muted-dark)}
.light .pt-card p{color:var(--muted-light)}
.pt-three.small .pt-card h3{font-size:1.25rem}
.pt-num{font-family:var(--f-mono);color:var(--red);font-weight:600}
.pt-split{display:grid;gap:28px;align-items:center}
@media (min-width:860px){ .pt-split{grid-template-columns:1fr 1fr} }
.pt-photo{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;box-shadow:8px 8px 0 var(--red)}
.pt-steps{counter-reset:s;list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.pt-steps li{counter-increment:s;display:flex;align-items:center;gap:12px;font-size:1.05rem}
.pt-steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;background:var(--red);color:var(--cream);font-family:var(--f-display);font-size:1.2rem}
.pt-tags{display:flex;flex-wrap:wrap;gap:8px}
.pt-tag{padding:6px 12px;border:1.5px solid var(--cream);font-family:var(--f-mono);font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.pt-tag.hot{background:var(--red);border-color:var(--red)}
.pt-why{display:grid;gap:24px;margin-top:6px}
@media (min-width:860px){ .pt-why{grid-template-columns:1fr 1fr} }
.pt-why h3{color:var(--muted-dark);margin:0 0 6px;font-size:.78rem}
.pt-why ul{list-style:none;margin:0;padding:0}
.pt-why li{display:grid;gap:2px;padding:12px 0;border-top:1px solid var(--line-dark)}
.pt-why li b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.4rem}
.pt-why li span{color:var(--muted-dark)}
.pt-results{background:var(--grain-dark),var(--red)}
.pt-results .pt-k{color:var(--cream);opacity:.8}
.pt-facts{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px 28px}
.pf-item{display:grid;gap:4px}
.pf-n{font-family:var(--f-display);font-size:clamp(2.6rem,6vw,4rem);line-height:.95}
.pf-t{font-size:.92rem;opacity:.9}
.pt-content{display:grid;gap:12px;margin-top:10px}
@media (min-width:860px){ .pt-content{grid-template-columns:repeat(3,1fr)} }
.pt-col{padding:20px;background:var(--grain-dark),var(--cream);color:var(--black)}
.pt-col.dark{background:var(--grain-light),var(--ink-3);color:var(--cream);border:1px solid var(--line-dark)}
.pt-col .mono{color:var(--red)}
.pt-col h3{margin:4px 0 8px;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.6rem}
.pt-col ul{margin:0;padding-left:1.1em}
.pt-col li{margin:4px 0}
.pt-video{margin-top:26px;max-width:860px}
.pt-video .video{max-width:none}
.pt-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:8px}
.pt-list li{padding:12px 14px;border-left:3px solid var(--red);background:var(--ink-2)}
.pt-plan{list-style:none;margin:16px 0 20px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pt-plan li{display:grid;gap:2px;padding:14px;background:rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.12)}
.pt-plan li .mono{color:var(--red);font-size:.7rem}
.pt-plan li b{font-family:var(--f-display);font-weight:400;font-size:1.7rem;text-transform:uppercase;line-height:1}
.pt-plan li span{font-size:.9rem}
.pt-plan li small{color:var(--muted-light);font-size:.78rem}
.pt-plan li.dark{background:var(--black);color:var(--cream);border-color:var(--black)}
.pt-plan li.red{background:var(--red);color:var(--cream);border-color:var(--red)}
.pt-plan li.dark .mono,.pt-plan li.red .mono{color:var(--cream);opacity:.8}
.pt-secret{position:relative;overflow:clip;text-align:center;background:radial-gradient(60% 80% at 50% 50%,rgba(160,20,20,.25),transparent 70%),var(--black)}
.pt-secret h2{font-size:clamp(2.2rem,6vw,4rem)}
.pt-secret .lead{margin-inline:auto}
.pt-lock{display:inline-grid;justify-items:center;gap:8px;margin-top:10px}
.pt-lock img{width:84px;filter:blur(4px) drop-shadow(0 0 18px rgba(160,20,20,.7));animation:bob 5s ease-in-out infinite}
.pt-lock .mono{padding:4px 10px;border:1px dashed var(--red);color:var(--red)}

/* mapa: skateparky */
.pin-park{background:var(--cream);border-color:var(--black)}
.map-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:10px 0 0;color:var(--muted-dark)}
.lg{display:inline-block;width:12px;height:12px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin-right:-6px;border:2px solid var(--cream)}
.lg-park{background:var(--cream);border-color:var(--black)}
.lg-spot{background:var(--red)}
.lg-event{background:var(--black);border-color:var(--red)}
.park-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.park-card{display:grid;gap:4px;align-content:start;padding:16px;background:var(--grain-light),var(--ink-2);border:1px solid var(--line-dark)}
.park-card b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.3rem;line-height:1.05}
.pk-city{color:var(--muted-dark);font-size:.88rem}
.park-card p{margin:2px 0 8px;font-size:.92rem}
.park-card .btn{justify-self:start}
.pk-tag{justify-self:start;padding:2px 8px;border:1px solid var(--line-dark);color:var(--muted-dark);font-size:.66rem}
.pk-tag.hot{background:var(--red);border-color:var(--red);color:var(--cream)}

/* =========================== NOVINKY =========================== */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.post-card{display:grid;grid-template-rows:auto 1fr;text-decoration:none;background:var(--grain-light),var(--ink-2);border:1px solid var(--line-dark);overflow:hidden;transition:border-color .15s,transform .2s}
.post-card:hover{border-color:var(--cream);transform:translateY(-3px)}
.post-card.big{grid-column:1 / -1}
@media (min-width:760px){ .post-card.big{grid-template-columns:1.3fr 1fr;grid-template-rows:auto} .post-card.big .pc-img{aspect-ratio:16 / 9} .post-card.big .pc-title{font-size:2.2rem} }
.pc-img{display:block;aspect-ratio:16 / 10;overflow:hidden;background:var(--ink-3)}
.pc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.post-card:hover .pc-img img{transform:scale(1.04)}
.pc-img.empty{display:grid;place-items:center}
.pc-img.empty img{width:30%;height:auto;opacity:.5}
.pc-body{display:grid;gap:6px;align-content:start;padding:16px 18px 18px}
.pc-date{color:var(--muted-dark);font-size:.68rem}
.pc-title{font-family:var(--f-display);text-transform:uppercase;font-size:1.5rem;line-height:1}
.pc-sum{color:var(--muted-dark);font-size:.94rem}
.post-hero{max-height:58vh;overflow:hidden}
.post-hero img{width:100%;height:100%;max-height:58vh;object-fit:cover;display:block}
.post-in{max-width:780px;padding-top:28px;padding-bottom:56px}
.post-meta{color:var(--muted-dark);margin:8px 0}
.post-title{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.2rem,6vw,3.6rem);line-height:.95;margin:0 0 14px}
.post-lead{font-size:1.2rem;color:var(--cream);margin:0 0 18px}
.post-body p{font-size:1.06rem;line-height:1.7;max-width:65ch}

/* =========================== REBRÍČEK A JAZDCI =========================== */
.rk-sec{padding:26px 0 44px;border-top:1px solid var(--line-dark)}
.rk-sec:first-of-type{border-top:0}
.rk-sec .sec-head h2{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,5.4vw,3.2rem);line-height:.95}
.rk-grid{display:grid;gap:28px}
@media (min-width:1000px){ .rk-grid{grid-template-columns:minmax(0,1fr) 260px;align-items:start} .rk-points{position:sticky;top:84px} }
.rk-points{padding:18px;border:1px solid var(--line-dark);background:var(--grain-light),var(--ink-2)}
.rk-points h3{margin:0 0 10px;color:var(--muted-dark)}
.rk-points ul{list-style:none;margin:0;padding:0}
.rk-points li{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px dashed var(--line-dark)}
.rk-points li b{font-family:var(--f-display);font-weight:400;font-size:1.4rem}
.rk-points li:first-child b{color:var(--red)}
.rk-points .note{font-size:.8rem}
.hall-y{display:flex;align-items:center;gap:10px;margin:6px 0 12px;font-family:var(--f-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-dark)}
.hof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.hof{padding:18px;border:1px solid var(--line-dark);background:var(--grain-light),var(--ink-2);border-top:3px solid var(--red)}
.hof-ev{display:grid;gap:2px;text-decoration:none;margin-bottom:12px}
.hof-ev b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.5rem;line-height:1}
.hof-ev .mono{color:var(--muted-dark);font-size:.68rem}
.hof ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hof li{display:flex;align-items:center;gap:12px}
.hof li .avatar{width:40px;height:40px}
.hof li .avatar.gen span{font-size:.95rem}
.hof li > span{display:grid}
.hof li small{color:var(--muted-dark);font-size:.64rem}
.hof li a{font-weight:800;text-decoration:none}
.hof li a:hover{text-decoration:underline}
.rk-search{flex:1 1 220px;max-width:320px;padding:9px 12px;border:1.5px solid var(--line-dark);background:var(--ink-2);color:var(--cream);font:inherit}
.rk-search:focus{border-color:var(--cream);outline:none}
.rd-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-dark)}
.rd{border-bottom:1px solid var(--line-dark)}
.rd summary{display:grid;grid-template-columns:48px minmax(0,1fr) auto auto 28px;align-items:center;gap:14px;padding:12px 4px;cursor:pointer;list-style:none;transition:background .15s}
.rd summary::-webkit-details-marker{display:none}
.rd summary:hover{background:var(--ink-2)}
.rd-main{display:grid;min-width:0}
.rd-main b{font-weight:800;font-size:1.06rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rd-main .mono{color:var(--muted-dark);font-size:.66rem}
.rd-badges{display:flex;gap:3px}
.rd-badges .mini-badge{width:22px;height:22px}
.rd-pts{font-family:var(--f-display);font-size:1.4rem}
.rd-pts small{font-size:.6em;color:var(--muted-dark)}
.rd-chev{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line-dark);font-weight:800;transition:transform .2s}
.rd[open] .rd-chev{transform:rotate(45deg);border-color:var(--cream)}
.rd[open] summary{background:var(--ink-2)}
.rd-body{display:grid;grid-template-columns:130px 1fr;gap:18px;padding:14px 4px 22px;background:var(--ink-2)}
@media (max-width:560px){ .rd summary{grid-template-columns:40px minmax(0,1fr) auto 26px} .rd-badges{display:none} .rd-body{grid-template-columns:90px 1fr} }
.rd-board{display:grid;place-items:center}
.rd-bimg{width:100%;max-width:130px;filter:drop-shadow(0 10px 12px rgba(0,0,0,.5))}
.rd-facts{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.rd-facts li{display:grid}
.rd-facts b{font-family:var(--f-display);font-weight:400;font-size:1.7rem;line-height:1}
.rd-facts span{color:var(--muted-dark);font-size:.76rem}
.rd-info h4{margin:4px 0 6px;color:var(--muted-dark)}
.rd-res{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.rd-res li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.rd-place{font-family:var(--f-display);font-size:1.2rem;color:var(--red);min-width:2ch}
.rd-res a{font-weight:700}
.rd-res .mono{color:var(--muted-dark);font-size:.66rem}
.rd-blist{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.rd-b{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border:1px solid var(--line-dark);font-size:.8rem;font-weight:700}
.rd-b .mini-badge{width:22px;height:22px}

/* =========================== EVENTY =========================== */
.gk-card{display:grid;grid-template-rows:auto 1fr;background:var(--grain-light),var(--ink-2);border:1px solid var(--line-dark);overflow:hidden}
.gk-card.next{border-color:var(--red);box-shadow:6px 6px 0 var(--red)}
.gk-img{position:relative;display:block;aspect-ratio:16 / 10;overflow:hidden}
.gk-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gk-card:hover .gk-img img{transform:scale(1.04)}
.gk-st{position:absolute;left:10px;top:10px;padding:4px 8px;background:var(--black);color:var(--cream);font-size:.66rem}
.gk-card.next .gk-st{background:var(--red)}
.gk-body{display:grid;gap:4px;align-content:start;padding:16px 18px 18px}
.gk-date{color:var(--muted-dark);font-size:.7rem}
.gk-body h3{margin:0;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.8rem;line-height:1}
.gk-body h3 a{text-decoration:none}
.gk-body p{margin:0 0 6px;color:var(--muted-dark)}
.ec{position:relative;display:grid;grid-template-rows:auto 1fr;background:var(--grain-light),var(--ink-2);border:1px solid var(--line-dark);overflow:hidden;transition:transform .2s,border-color .15s}
.ec:hover{transform:translateY(-3px);border-color:rgba(243,235,221,.4)}
.ec.live{border-color:var(--cream)}
.pf-n{white-space:nowrap;font-size:clamp(2.2rem,4.6vw,3.6rem)}

/* =========================== ÚVODKA S VIDEOM =========================== */
.vh{position:sticky;top:0;z-index:0;height:100svh;min-height:560px;display:grid;align-content:center;overflow:hidden;isolation:isolate;margin-top:-1px}
.vh-video,.vh-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vh-yt{position:absolute;inset:0;overflow:hidden}
.vh-shade{position:absolute;inset:0;z-index:-1;background:
  radial-gradient(70% 60% at 50% 45%,rgba(14,13,12,.25),rgba(14,13,12,.8) 100%),
  linear-gradient(180deg,rgba(14,13,12,.55) 0%,rgba(14,13,12,.15) 35%,rgba(14,13,12,.9) 100%)}
.vh-in{display:grid;justify-items:center;text-align:center;gap:14px;padding-bottom:12vh;will-change:transform,opacity}
.vh-logo{margin:0;line-height:0}
.vh-logo img{width:min(78vw,640px);height:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.6))}
@media (prefers-reduced-motion:no-preference){ .vh-logo img{animation:logoIn 1.1s cubic-bezier(.2,.8,.2,1) both} }
@keyframes logoIn{from{opacity:0;transform:scale(1.15);filter:blur(8px)}}
.after-hero{position:relative;z-index:1;background:var(--grain-light),var(--mottle),var(--black);box-shadow:0 -30px 60px rgba(0,0,0,.6)}

/* sekcie úvodky: viac vzduchu */
.hs{padding:clamp(56px,8vw,96px) 0;border-top:1px solid var(--line-dark)}
.hs:first-child{border-top:0}
.hs-k{display:block;color:var(--red);margin-bottom:8px;font-size:.74rem;letter-spacing:.12em}
.hs h2{margin:0;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.2rem,6vw,4rem);line-height:.95;max-width:18ch}
.hs .sec-head{margin-bottom:26px;align-items:end}
.linkish{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:var(--muted-dark)}
.linkish:hover{color:var(--cream)}

.ab-grid{display:grid;gap:34px}
@media (min-width:960px){ .ab-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center} }
.ab-copy .lead{margin:16px 0 22px;max-width:52ch;color:var(--cream);opacity:.8;font-size:1.08rem}
.ab-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
.ab-stats li{display:grid;gap:2px;border-left:2px solid var(--red);padding-left:12px}
.ab-stats b{font-family:var(--f-display);font-weight:400;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}
.ab-stats span{font-size:.82rem;color:var(--muted-dark)}
.ab-pillars{display:grid;gap:10px}
.pl{position:relative;display:grid;gap:4px;padding:22px 52px 22px 22px;text-decoration:none;background:var(--grain-light),var(--ink-2);border:1px solid var(--line-dark);transition:transform .2s,border-color .2s}
.pl:hover{transform:translateX(6px);border-color:var(--cream)}
.pl-n{color:var(--red)}
.pl-t{font-family:var(--f-display);text-transform:uppercase;font-size:1.8rem;line-height:1}
.pl-d{color:var(--muted-dark)}
.pl-a{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-family:var(--f-display);font-size:1.6rem;transition:transform .2s}
.pl:hover .pl-a{transform:translate(4px,-50%)}
.cal-box{padding:20px;background:var(--grain-light),var(--ink-2);border:1px solid var(--line-dark)}
.cal-head h3{margin:0 0 12px;color:var(--muted-dark);font-size:.74rem}
.cal-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cal-mini{list-style:none;margin:0;padding:0}
.cal-mini li{display:grid;grid-template-columns:44px 26px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line-dark)}
.cm-d{display:grid;justify-items:center;line-height:1}
.cm-d b{font-family:var(--f-display);font-weight:400;font-size:1.5rem}
.cm-d small{font-size:.66rem;color:var(--muted-dark);text-transform:uppercase}
.cm-t{display:grid;min-width:0}
.cm-t b{font-size:.94rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-t small{color:var(--muted-dark);font-size:.76rem}

.crew{margin-top:30px;display:grid;gap:12px}
.crew > .mono{color:var(--muted-dark);font-size:.72rem}
.crew ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:14px}
.crew a{display:grid;justify-items:center;gap:6px;text-decoration:none;font-size:.78rem;color:var(--muted-dark);transition:transform .2s}
.crew a:hover{transform:translateY(-4px);color:var(--cream)}
.crew .avatar{width:60px;height:60px}
.post-grid.three{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
@media (prefers-reduced-motion:reduce){ .vh{position:relative;height:auto;min-height:80svh} }
.ab-oz{font-size:.78rem;letter-spacing:.04em;opacity:.75;margin-top:.6rem}

/* ===== v4: hero vľavo dole, viac videa ===== */
.vh{align-content:end}
.vh-shade{background:
  linear-gradient(90deg,rgba(14,13,12,.78) 0%,rgba(14,13,12,.35) 45%,rgba(14,13,12,0) 75%),
  linear-gradient(180deg,rgba(14,13,12,.45) 0%,rgba(14,13,12,0) 22%,rgba(14,13,12,0) 55%,rgba(14,13,12,.85) 100%)}
.vh-in{justify-items:start;text-align:left;gap:12px;padding-bottom:calc(64px + 5svh);padding-top:90px}
.vh-logo{display:flex;align-items:flex-end;gap:clamp(10px,1.6vw,20px)}
.vh-logo .vh-word{width:clamp(220px,44vw,500px);height:auto;filter:drop-shadow(0 10px 26px rgba(0,0,0,.55))}
@media (prefers-reduced-motion:no-preference){
  .vh-logo img{animation:logoIn 1s cubic-bezier(.2,.8,.2,1) both}
}
@keyframes ghostFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(-4deg)}}
@media (max-width:720px){ .vh-in{padding-bottom:calc(58px + 4svh)} }

/* doska: žiadny prilepený text, nič sa neprekrýva */

/* pódium na mobile: menšie dosky, nech neprekrývajú mená */
@media (max-width:640px){
  .pod-art{height:150px} .pod-1 .pod-art{height:176px}
  .pod-board{width:74px} .pod-1 .pod-board{width:88px}
  .pod-art .avatar{width:56px;height:56px;margin-right:34%} .pod-1 .pod-art .avatar{width:66px;height:66px}
  .pod-name{font-size:.82rem}
}

/* eventy: naše vs. skate kalendár */

/* kto sme: krátko na úvodke */
.vh{height:calc(100svh - 61px);min-height:520px}
.vh-in{width:100%;box-sizing:border-box}
@media (max-width:480px){ .gar-tabs button{padding:10px 9px;font-size:.72rem} }

/* registrácia v2, pass, dokumenty (pravidlá, rebríčkový poriadok, súkromie) */
.pass-status{margin:6px 14px 0;font-weight:700;font-size:.875rem}
.pass-status.warn{color:var(--red)}
.nft-link{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-decoration:underline}
.captcha{min-height:66px}
.doc-list{margin:8px 0 0;padding-left:1.2em;max-width:70ch}
.doc-list li{margin:6px 0}
.points-table{min-width:0;max-width:420px}
.points-table td:last-child,.points-table th:last-child{text-align:right}

/* ===== v5: účet, profil, maskot ===== */
.top-right{display:flex;align-items:center;gap:10px}
.acct{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line-dark);color:var(--cream);text-decoration:none;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;transition:border-color .2s,background .2s}
.acct img{width:18px;height:auto}
.acct:hover{border-color:var(--cream)}
.acct.in{border-color:var(--red);background:rgba(160,20,20,.18)}
@media (max-width:520px){ .acct span{display:none} .acct{padding:7px 9px} }
.pf-grid{display:grid;gap:24px;align-items:center}
@media (min-width:860px){ .pf-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }
.pf-avatar{position:relative;aspect-ratio:1/1;max-width:460px;width:100%;margin:0 auto;background:radial-gradient(60% 55% at 50% 55%,rgba(160,20,20,.28),transparent 70%)}
.pf-avatar canvas{display:block;width:100%;height:100%;cursor:pointer}
.pf-card{display:grid;gap:14px;padding:clamp(18px,3vw,28px);border:1px solid var(--line-dark);background:rgba(14,13,12,.6)}
.pf-k{margin:0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
.pf-email{margin:0;font-size:1.3rem;font-weight:800;overflow-wrap:anywhere}
.pf-pw{display:grid;gap:10px;justify-items:start}
.pf-pw .field{width:100%}
.login-help{margin-top:12px;border-top:1px solid var(--line-dark);padding-top:10px}
.login-help summary{cursor:pointer;font-size:.9rem}
.login-help textarea{width:100%;margin:8px 0;font:inherit;font-size:.8rem}
.login-step .btn{margin-top:8px}

/* ===== v5: hero – menej písma, rotátor noviniek, maskot, pás eventov ===== */
.vh-in{gap:14px;max-width:1200px}
.vh-tag2{margin:0;font-family:"Archivo",sans-serif;font-weight:800;font-stretch:118%;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(.9rem,1.6vw,1.15rem);color:var(--cream);opacity:.92}
/* rotátor */
.nr{position:relative;width:min(560px,100%);margin-top:6px;background:rgba(14,13,12,.72);border:1px solid var(--line-dark);backdrop-filter:blur(8px);overflow:hidden}
.nr-head{display:flex;align-items:center;gap:10px;padding:8px 10px 0 12px}
.nr-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cream)}
.nr-live i{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse 2.4s ease-in-out infinite}
.nr-count{margin-left:auto;font-size:.68rem;color:var(--muted-dark)}
.nr-nav{display:flex;gap:4px}
.nr-nav button{width:28px;height:28px;display:grid;place-items:center;background:none;border:1px solid var(--line-dark);color:var(--cream);cursor:pointer;font-size:.85rem}
.nr-nav button:hover{border-color:var(--cream)}
.nr.single .nr-nav,.nr.single .nr-count,.nr.single .nr-bar{display:none}
.nr-stage{position:relative;min-height:96px}
.nr-slide{position:absolute;inset:0;display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 12px 12px;text-decoration:none;color:var(--cream);transition:transform .5s cubic-bezier(.2,.8,.2,1),opacity .45s}
.nr-stage .nr-slide:last-child{position:relative}
.nr-slide.from-r{transform:translateX(40px);opacity:0}.nr-slide.from-l{transform:translateX(-40px);opacity:0}
.nr-slide.to-l{transform:translateX(-40px);opacity:0}.nr-slide.to-r{transform:translateX(40px);opacity:0}
.nr-img{width:72px;height:72px;overflow:hidden;background:var(--ink-3);display:grid;place-items:center}
.nr-img img{width:100%;height:100%;object-fit:cover}
.nr-img.ghost img{width:60%;height:auto;object-fit:contain;opacity:.85}
.nr-txt{display:grid;gap:3px;min-width:0}
.nr-k{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
.nr-t{font-weight:800;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.2}
.nr-s{font-size:.84rem;color:var(--muted-dark);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.nr-go{font-size:1.2rem;transition:transform .25s}
.nr-slide:hover .nr-go{transform:translateX(4px)}
.nr-slide:hover .nr-t{text-decoration:underline;text-underline-offset:3px}
.nr-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(243,235,221,.1)}
.nr-bar i{display:block;height:100%;background:var(--red);transform-origin:left;animation:nrbar 6s linear both}
.nr.paused .nr-bar i{animation-play-state:paused}
@keyframes nrbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* pás eventov s vlajkami */
.er{display:flex;align-items:stretch}
.er-label{flex:none;display:grid;place-items:center;padding:0 14px;background:var(--red);color:var(--cream);text-decoration:none;font-size:.68rem;letter-spacing:.12em;white-space:nowrap}
.er-track{flex:1;overflow:hidden;min-width:0}
.er a:not(.er-label){display:inline-flex;align-items:center;gap:8px}
.er a:not(.er-label)::before{content:none}
.er a:not(.er-label)+a::before{content:"/";margin-right:18px;color:var(--red)}
.er .flag{width:18px;height:auto;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.er b{color:var(--cream);font-weight:600}
.er .er-city{color:var(--muted-dark)}
.er a.ours b{background:var(--red);padding:1px 6px}
@media (max-width:720px){ .vh-in{padding-bottom:calc(52px + 3svh)} .nr-slide{grid-template-columns:56px minmax(0,1fr) auto;gap:10px} .nr-img{width:56px;height:56px} .nr-stage{min-height:82px} }

/* ===== naše eventy: nálepky ===== */
.sw-sec .sec-head .lead{margin:12px 0 0;max-width:52ch}
.sw{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(18px,3vw,40px);padding:clamp(18px,3vw,36px);
  background:radial-gradient(120% 90% at 50% 0%,rgba(243,235,221,.06),transparent 60%),repeating-linear-gradient(90deg,rgba(255,255,255,.015) 0 2px,transparent 2px 7px),var(--ink-2);border:1px solid var(--line-dark)}
.sw-item{display:grid;justify-items:center;gap:14px;text-decoration:none;color:var(--cream);perspective:900px}
.sw-st{position:relative;display:block;width:min(240px,100%);aspect-ratio:1/1;transform:rotate(var(--r));transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.sw-st img{display:block;width:100%;height:100%;filter:drop-shadow(0 3px 2px rgba(0,0,0,.45)) drop-shadow(0 12px 18px rgba(0,0,0,.35));transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s;transform-origin:20% 20%}
.sw-corner{position:absolute;right:10%;bottom:10%;width:0;height:0;background:linear-gradient(135deg,transparent 48%,rgba(0,0,0,.25) 50%,#d9d0c1 52%,#f7f1e6 100%);box-shadow:-3px -3px 8px rgba(0,0,0,.35);border-radius:0 0 12px 0;transition:width .3s,height .3s}
.sw-item:hover .sw-st,.sw-item:focus-visible .sw-st{transform:rotate(0deg) scale(1.04)}
.sw-item:hover .sw-st img{transform:rotateX(14deg) rotateY(-10deg);filter:drop-shadow(0 4px 2px rgba(0,0,0,.4)) drop-shadow(0 26px 26px rgba(0,0,0,.45))}
.sw-item:hover .sw-corner{width:28%;height:28%}
.sw-item.peeled .sw-st{visibility:hidden}
.sw-fly{position:fixed;z-index:200;pointer-events:none}
.sw-cap{display:grid;gap:4px;justify-items:center;text-align:center}
.sw-cap b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1}
.sw-date{color:var(--muted-dark);font-size:.7rem}
.sw-item.next .sw-date{color:var(--muted-dark)}
.sw-hint{font-size:.85rem;color:var(--muted-dark)}
.sw-item:hover .sw-hint{color:var(--cream)}

/* ===== 3D doska na celú šírku ===== */
.b3{position:relative;border-top:1px solid var(--line-dark);background:var(--black)}
.b3-stage{height:min(84vh,820px);min-height:520px}
.b3.page .b3-stage{height:calc(100svh - 61px)}
.b3-stage canvas{display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline:none}
.b3-ui{position:absolute;inset:0;pointer-events:none;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;padding:clamp(16px,3vw,40px);gap:16px}
.b3-ui>*{pointer-events:auto}
.b3-head{max-width:420px;align-self:start;padding:16px 18px;background:rgba(14,13,12,.62);backdrop-filter:blur(8px);border:1px solid var(--line-dark)}
.b3-head h2,.b3-head h1{margin:6px 0 8px;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2rem,4vw,3.2rem);line-height:.95}
.b3-head p{margin:0;font-size:.9rem;color:var(--muted-dark)}
.b3-scenes{grid-column:2;align-self:start;display:flex;gap:0;border:1px solid var(--line-dark);background:rgba(14,13,12,.7);backdrop-filter:blur(8px)}
.b3-scenes button{padding:10px 14px;background:none;border:0;color:var(--muted-dark);font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.b3-scenes button+button{border-left:1px solid var(--line-dark)}
.b3-scenes button[aria-pressed="true"]{background:var(--cream);color:var(--black)}
.b3-garage{grid-column:1 / -1;grid-row:3;justify-self:center;width:min(760px,100%);margin:0;background:rgba(14,13,12,.78);border:1px solid var(--line-dark);backdrop-filter:blur(8px)}
.b3-garage .gar-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:space-between}
.b3-hint{margin:0;font-size:.66rem;color:var(--muted-dark);flex:1 1 220px}
.b3-tools{display:flex;flex-wrap:wrap;gap:6px}
.gar-mini.sq{width:32px;padding:0;display:grid;place-items:center}
@media (max-width:860px){
  .b3-stage{height:62vh;min-height:380px}
  .b3-ui{position:static;display:flex;flex-direction:column;padding:16px;pointer-events:auto}
  .b3-head{order:-1;max-width:none;background:none;border:0;padding:0;backdrop-filter:none}
  .b3-scenes{align-self:flex-start;overflow-x:auto;max-width:100%}
  .b3-scenes button{padding:9px 11px;white-space:nowrap}
  .b3-garage{width:100%}
  .b3{display:flex;flex-direction:column}
  .b3 .b3-stage{order:1}.b3 .b3-ui{order:0}
  .b3 .b3-garage{order:3}
}

/* ===== najlepší skejteri: karty ===== */
.sk-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,2vw,26px);perspective:1100px}
.sk-card{position:relative;display:grid;gap:10px;padding:14px 14px 16px;text-decoration:none;color:var(--cream);overflow:hidden;
  background:linear-gradient(160deg,#2a2521,#151311 60%);border:1px solid var(--line-dark);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:transform .25s ease-out,box-shadow .25s;box-shadow:0 18px 30px rgba(0,0,0,.35)}
.sk-card.r1{background:linear-gradient(160deg,#7a1414,#2a0c0c 65%);border-color:rgba(243,235,221,.35);transform:translateY(-14px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.sk-card:hover{box-shadow:0 26px 44px rgba(0,0,0,.5)}
.sk-holo{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.22),transparent 45%),linear-gradient(115deg,transparent 30%,rgba(255,220,180,.08) 45%,rgba(160,200,255,.08) 55%,transparent 70%);mix-blend-mode:screen;opacity:0;transition:opacity .25s}
.sk-card:hover .sk-holo{opacity:1}
.sk-top{display:flex;justify-content:space-between;align-items:baseline}
.sk-rank{font-family:var(--f-display);font-size:clamp(2rem,4vw,3rem);line-height:.9}
.sk-cat{font-size:.64rem;color:var(--muted-dark)}
.sk-card.r1 .sk-cat{color:#f0c9c2}
.sk-art{position:relative;display:grid;place-items:end center;height:clamp(150px,20vw,230px)}
.sk-art .board-img{position:absolute;right:6%;bottom:0;height:100%;width:auto;transform:rotate(12deg);filter:drop-shadow(0 12px 14px rgba(0,0,0,.55));transition:transform .35s}
.sk-card:hover .sk-art .board-img{transform:rotate(4deg) translateY(-6px)}
.sk-art .avatar{position:relative;z-index:1;margin-right:38%;width:clamp(64px,8vw,100px);height:clamp(64px,8vw,100px);box-shadow:0 0 0 4px rgba(14,13,12,.7)}
.sk-name{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.2rem,2.2vw,1.7rem);line-height:1}
.sk-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-dark);padding-top:10px}
.sk-stats span{display:grid}
.sk-stats b{font-family:var(--f-display);font-weight:400;font-size:1.5rem;line-height:1}
.sk-stats small{font-family:var(--f-mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted-dark)}
.sk-more{display:grid;gap:18px;margin-top:22px}
@media (min-width:900px){ .sk-more{grid-template-columns:1.4fr 1fr} }
.sk-rest{list-style:none;margin:0;padding:0;display:grid;gap:6px;counter-reset:sk 3}
.sk-rest li{counter-increment:sk}
.sk-rest a{display:grid;grid-template-columns:30px 36px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line-dark);text-decoration:none;color:var(--cream);background:rgba(255,255,255,.02)}
.sk-rest a::before{content:"#" counter(sk);font-family:var(--f-display);color:var(--muted-dark)}
.sk-rest .avatar{width:36px;height:36px}
.sk-rest .avatar.gen span{font-size:.8rem}
.sk-rest a:hover{border-color:var(--cream)}
.sk-kings{list-style:none;margin:0;padding:0;display:grid;gap:6px;align-content:start}
.sk-kings li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px dashed rgba(243,235,221,.25)}
.sk-kings .mono{color:var(--muted-dark);font-size:.64rem}
.sk-kings a{color:var(--cream);font-weight:700}
@media (max-width:720px){
  .sk-cards{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding:18px 2px 8px}
  .sk-card{scroll-snap-align:center}.sk-card.r1{transform:none}
}

/* ===== EVENT WIDGET ===== */
.ew-grid{display:grid;gap:26px;align-items:center}
@media (min-width:960px){ .ew-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)} }
.ew-copy .lead{margin:14px 0 18px;max-width:46ch}
.ew{border:1px solid rgba(243,235,221,.3);background:linear-gradient(180deg,#151311,#0e0d0c);box-shadow:0 30px 60px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.05)}
.ew-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;border-bottom:1px solid var(--line-dark)}
.ew-live{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.ew-live i{width:8px;height:8px;border-radius:50%;background:#2fd36b;box-shadow:0 0 10px #2fd36b;animation:pulse 2s ease-in-out infinite}
.ew-meta{color:var(--muted-dark);font-size:.66rem}
.ew-tabs{margin-left:auto}
.ew-win{height:420px;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(transparent,#000 8%,#000 92%,transparent)}
.ew-track{list-style:none;margin:0;padding:6px 0}
.ew-track.roll{animation:ewroll var(--dur,60s) linear infinite}
.ew-win:hover .ew-track{animation-play-state:paused}
@keyframes ewroll{to{transform:translateY(-50%)}}
.ew-track a{display:grid;grid-template-columns:48px 24px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 14px;text-decoration:none;color:var(--cream);border-bottom:1px solid rgba(243,235,221,.06)}
.ew-track a:hover{background:rgba(243,235,221,.05)}
.ew-track a.live{background:rgba(47,211,107,.07)}
.ew-d{display:grid;justify-items:center;line-height:1}
.ew-d b{font-family:var(--f-display);font-weight:400;font-size:1.6rem}
.ew-d small{font-family:var(--f-mono);font-size:.62rem;text-transform:uppercase;color:var(--muted-dark)}
.ew-t{display:grid;min-width:0}
.ew-t b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ew-t small{font-size:.76rem;color:var(--muted-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ew-b{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ew-track .flag{width:22px;height:auto;border-radius:2px}
.ew-foot{display:block;padding:12px 14px;border-top:1px solid var(--line-dark);color:var(--cream);text-decoration:none;font-size:.68rem}
.ew-foot:hover{background:var(--cream);color:var(--black)}
@media (max-width:560px){ .ew-track a{grid-template-columns:40px 20px minmax(0,1fr)} .ew-b{display:none} .ew-win{height:380px} .ew-tabs{margin-left:0} }

/* ===== spoločná pätička: novinky + features ===== */
.ft-card{position:relative;display:grid;grid-template-rows:auto 1fr;text-decoration:none;color:var(--cream);background:var(--red);overflow:hidden;border:1px solid rgba(243,235,221,.2);transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.ft-card.cream{background:var(--cream);color:var(--black)}
.ft-card:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 18px 30px rgba(0,0,0,.4)}
.ft-img{display:block;height:130px;overflow:hidden}
.ft-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;opacity:.9;transition:transform .4s}
.ft-card:hover .ft-img img{transform:scale(1.06)}
.ft-body{display:grid;gap:6px;padding:14px 16px 16px;align-content:start}
.ft-k{font-size:.64rem;opacity:.8}
.ft-t{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.7rem;line-height:.95}
.ft-d{font-size:.88rem;opacity:.85}
.ft-cta{margin-top:6px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600}
.tv-scene.auto .tv-controls{display:none}

/* ===== svet eventu ===== */
.evw-hero{position:relative;overflow:hidden;padding:clamp(28px,5vw,64px) 0;border-bottom:1px solid var(--line-dark);isolation:isolate}
.evw-hero::before{content:"";position:absolute;inset:-20px;z-index:-1;background:linear-gradient(90deg,rgba(14,13,12,.96) 30%,rgba(14,13,12,.75)),var(--cover) center / cover;filter:blur(3px) saturate(.6)}
.evw-grid{display:grid;gap:clamp(20px,4vw,56px);align-items:center}
@media (min-width:860px){ .evw-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)} }
.evw-st{display:grid;place-items:center}
.evw-sticker{width:min(380px,80%);height:auto;filter:drop-shadow(0 6px 4px rgba(0,0,0,.45)) drop-shadow(0 30px 40px rgba(0,0,0,.45));transform:rotate(-5deg)}
.evw-hero.landing .evw-sticker{animation:land .9s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes land{from{transform:scale(2.4) rotate(14deg);opacity:0}60%{opacity:1}to{transform:rotate(-5deg)}}
.evw-copy h1{margin:8px 0 6px;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.6rem,7vw,5rem);line-height:.92}
.evw-k{margin:12px 0 0;color:var(--muted-dark)}
.evw-copy .lead{max-width:56ch}
.evw-jump{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}
.evw-body{display:grid;gap:clamp(34px,5vw,60px)}
.evw-h{margin:0 0 16px;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.6rem);line-height:.95;display:flex;align-items:center;gap:14px}
.evw-h::after{content:"";flex:1;height:1px;background:var(--line-dark)}
.evw-sec{scroll-margin-top:80px}
.evw-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:18px}
.evw-sub{margin:18px 0 10px;color:var(--muted-dark)}
.evw-social{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}
.evw-sc{display:grid;gap:4px;padding:16px;border:1px solid var(--line-dark);text-decoration:none;color:var(--cream);background:rgba(255,255,255,.02)}
.evw-sc .mono{font-size:.64rem;color:var(--muted-dark)}
.evw-sc b{font-size:1.15rem}
.evw-sc span:not(.mono){font-size:.85rem;color:var(--muted-dark)}
.evw-sc.ig{background:linear-gradient(135deg,rgba(160,20,20,.5),rgba(14,13,12,.4));border-color:rgba(243,235,221,.3)}
a.evw-sc:hover{border-color:var(--cream)}
.evw-sc.tag b{font-family:var(--f-mono);font-size:1rem}
.evw-more{display:grid;gap:18px}
@media (min-width:900px){ .evw-more{grid-template-columns:1fr 1fr;align-items:start} }
.evw-mini{display:flex;flex-wrap:wrap;gap:14px}
.evw-mi{display:grid;justify-items:center;gap:4px;width:140px;text-align:center;text-decoration:none;color:var(--cream)}
.evw-mi img{width:110px;height:110px;transition:transform .3s;filter:drop-shadow(0 6px 8px rgba(0,0,0,.4))}
.evw-mi:hover img{transform:rotate(-6deg) scale(1.06)}
.evw-mi .mono{font-size:.62rem;color:var(--muted-dark)}
@media (prefers-reduced-motion:reduce){ .nr-bar i,.ew-track.roll,.evw-hero.landing .evw-sticker{animation:none} }
.er span{padding-inline:0}
.er span::before{content:none}
.er a:not(.er-label){padding-inline:16px}
@media (max-width:860px){
  .b3-ui{display:contents}
  .b3-head{order:0;padding:20px 16px 8px}
  .b3-scenes{order:1;margin:0 16px 12px}
  .b3 .b3-stage{order:2}
  .b3-garage{order:3;margin:0;border-left:0;border-right:0}
}
@media (max-width:600px){
  .sw{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:16px 10px}
  .sw-item:first-child{grid-column:1 / -1}
  .sw-st{width:min(170px,100%)}
  .sw-item:first-child .sw-st{width:min(210px,70%)}
  .sw-cap b{font-size:1.15rem}
  .sw-hint{font-size:.76rem}
}
img.flag{object-fit:cover;font-size:0;overflow:hidden;background:rgba(243,235,221,.12)}
.er img.flag{width:20px;height:15px}
.ew-track img.flag{width:22px;height:16px}
.evw-sec .post-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.evw-sec .post-card{max-width:420px}
.evw-body{padding-top:clamp(28px,4vw,48px)}
.login-help textarea{background:#fff;color:#111;border:2px solid #111;padding:8px}

/* ===== v6: skate kalendár pripnutý pod menu ===== */
.er-top{position:sticky;top:61px;z-index:25;margin:0;background:rgba(14,13,12,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line-dark)}
.er-top .ticker-in{padding-block:8px}
.er-top a:not(.er-label){font-size:.74rem}
.vh{height:calc(100svh - 61px - 36px)}
.vh-in{padding-bottom:calc(16px + 4svh)}
.feed-lead{margin:10px 0 0;max-width:52ch}
@media (max-width:720px){
  .er-top .ticker-in{padding-block:5px}
  .er-top a:not(.er-label){font-size:.64rem;padding-inline:10px;gap:5px}
  .er-label{padding:0 8px;font-size:.58rem}
  .er img.flag{width:15px;height:11px}
  .vh{height:calc(100svh - 61px - 28px)}
  .vh-in{padding-bottom:calc(12px + 3svh)}
}
.er-top{border-top:0;transform:none;width:auto;align-items:center}
.er-top a{text-decoration:none;color:var(--cream);font-family:var(--f-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.er-top a:hover{text-decoration:underline}
.er-top .er-label{align-self:stretch;display:flex;align-items:center}
.sk-cards.few{grid-template-columns:repeat(auto-fit,minmax(0,300px))}
.page-body .sk-cards{margin:22px 0 26px}

/* ===== v7: kontrast, 2 typy tlačidiel ===== */
:root{--muted-dark:#bfb6a9}
.btn.solid,.btn.ghostbtn{background:transparent;color:var(--cream);border-color:var(--cream)}
.btn.solid:hover,.btn.ghostbtn:hover{background:var(--cream);color:var(--black)}
.light .btn.solid,.light .btn.ghostbtn{color:var(--black);border-color:var(--black)}

.nav a{font-size:.82rem}

/* spodné menu ako v appke (štýl je vo v9 nižšie) */
.tabbar{display:none}

/* vstup do hry Ghoskate (demo) z hornej lišty webu */
.nav a.nav-game{position:relative}
.nav-demo,.demo-tag{display:inline-block;width:auto;font-style:normal;margin-left:6px;padding:2px 5px 1px;border-radius:4px;background:#FF3DA5;color:#14111C;font-size:.58rem;font-weight:900;letter-spacing:.06em;vertical-align:middle;line-height:1.2}
/* appka Ghoskate (/hra): bez hlavičky, spodného menu a pätičky webu; hra má vlastnú lištu a menu (assets/game/ui.js).
   Trieda sa nastaví v app.js ešte pred načítaním hry, aby hlavička webu neblikla. */
body.game-app .topbar,body.game-app .tabbar,body.game-app footer{display:none!important}
body.game-app{padding-bottom:0!important;background:#14111C}
body.game-app .install{bottom:calc(76px + env(safe-area-inset-bottom,0px))}   /* nad herným menu */

/* pätička v stĺpcoch */
footer .foot-cols{display:grid;gap:18px 28px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));width:100%;margin-top:10px}
footer .foot-cols nav{display:grid;gap:4px;align-content:start}
footer .foot-cols b{color:var(--muted-dark);font-size:.68rem}
footer .foot-cols a{color:var(--cream);text-decoration:none;font-size:.9rem}
footer .foot-cols a:hover{text-decoration:underline}
footer .foot-act{display:grid;gap:10px;align-content:start;justify-items:start}

/* spoločná pätička: pás + TV a karty */
.feed-sec .sec-head{align-items:end}
.feed-nav{display:flex;gap:6px;flex-wrap:wrap}
.feed-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,300px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 14px;scrollbar-width:thin}
.feed-rail>*{scroll-snap-align:start}
.feed-rail .post-card{height:100%}
.fb-grid{display:grid;gap:22px;align-items:start}
@media (min-width:1000px){ .fb-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)} }
.fb-tv .tv-scene{margin-top:8px}
.fb-side{display:grid;gap:14px}
.fb-card{display:grid;gap:8px;padding:18px;border:1px solid var(--line-dark);background:rgba(255,255,255,.02);text-decoration:none;color:var(--cream)}
.fb-card h3{margin:0;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.7rem;line-height:.95}
.fb-card p{margin:0;color:var(--muted-dark)}
.fb-card.news-card{position:relative;background:var(--cream);color:var(--black);border-color:var(--cream);overflow:hidden}
.fb-card.news-card h3{font-family:var(--f-letter);text-transform:none;font-size:2rem;color:var(--red)}
.fb-card.news-card p{color:#3b3631}
.fb-card.news-card .news-ghosts{position:absolute;right:10px;top:10px;opacity:.15}
.fb-card.news-card .news-ghosts img{width:30px}
.fb-card.cm-mini{position:relative;background:linear-gradient(135deg,rgba(160,20,20,.45),rgba(14,13,12,.4))}
.fb-card.cm-mini:hover{border-color:var(--cream)}
.cm-go{position:absolute;right:16px;bottom:14px;font-size:1.3rem}
.feed-bottom .tv-title{font-size:clamp(2.2rem,5vw,3.4rem)}

/* komunita */
.cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.cm-card{position:relative;display:grid;gap:6px;align-content:start;min-height:170px;padding:18px 18px 38px;border:1px solid var(--line-dark);background:rgba(255,255,255,.02);color:var(--cream);text-decoration:none;transition:transform .2s,border-color .2s}
a.cm-card:hover{transform:translateY(-3px);border-color:var(--cream)}
.cm-card .mono{color:var(--muted-dark);font-size:.68rem}
.cm-card b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.6rem;line-height:1}
.cm-card span:not(.mono){color:var(--muted-dark);font-size:.92rem}
.cm-card.red{background:var(--red);border-color:var(--red)}
.cm-card.red span:not(.mono),.cm-card.red .mono{color:#fbe9e3}
.cm-card.cream{background:var(--cream);color:var(--black)}
.cm-card.cream span:not(.mono){color:#3b3631}.cm-card.cream .mono{color:var(--red)}
.cm-card.soon{border-style:dashed}

/* trik týždňa */
.tk-hero{display:grid;gap:22px;padding:clamp(18px,3vw,30px);border:1px solid var(--line-dark);background:linear-gradient(135deg,rgba(160,20,20,.28),rgba(14,13,12,.2))}
@media (min-width:900px){ .tk-hero{grid-template-columns:1.3fr 1fr;align-items:center} }
.tk-hero h2{margin:10px 0 8px;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.2rem,5vw,3.6rem);line-height:.95}
.tk-st{display:inline-block;padding:3px 10px;font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;background:var(--cream);color:var(--black)}
.tk-st.vote{background:#2fd36b}.tk-st.closed{background:var(--muted-dark)}
.tk-left{margin-left:10px;color:var(--cream)}
.tk-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;counter-reset:tk}
.tk-steps li{counter-increment:tk;display:grid;gap:2px;padding:12px;border:1px solid var(--line-dark);background:rgba(14,13,12,.5)}
.tk-steps li::before{content:counter(tk);font-family:var(--f-display);font-size:1.6rem;color:var(--red);line-height:1}
.tk-steps span{font-size:.85rem;color:var(--muted-dark)}
.tk-mine{margin:16px 0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tk-finals{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.tk-card{position:relative;display:grid;gap:10px;padding:12px;border:1px solid var(--line-dark);background:rgba(255,255,255,.02)}
.tk-card.mine{border-color:var(--red)}.tk-card.win{border-color:#f5c542;box-shadow:0 0 0 2px rgba(245,197,66,.35)}
.tk-crown{position:absolute;top:-10px;left:12px;z-index:2;padding:2px 10px;background:#f5c542;color:var(--black);font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase}
.tk-video{width:100%;aspect-ratio:9/16;max-height:480px;background:#000;object-fit:contain}
.tk-meta{display:flex;justify-content:space-between;gap:8px}
.tk-bar{position:relative;height:26px;background:rgba(255,255,255,.06)}
.tk-bar i{position:absolute;inset:0 auto 0 0;background:var(--red)}
.tk-bar span{position:relative;line-height:26px;padding-left:8px}

/* crew */
.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.crew-card{display:grid;gap:6px;padding:18px;border:1px solid var(--line-dark);color:var(--cream);text-decoration:none;background:rgba(255,255,255,.02)}
.crew-card:hover{border-color:var(--cream)}
.crew-mark{width:54px;height:54px;display:grid;place-items:center;background:var(--red);font-family:var(--f-display);font-size:1.5rem}
.crew-card b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.6rem}
.crew-card .mono{color:var(--muted-dark);font-size:.66rem}
.crew-about{font-size:.9rem;color:var(--muted-dark)}
.crew-page{display:grid;gap:36px}
.crew-members{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.crew-members a{display:grid;justify-items:center;gap:6px;color:var(--cream);text-decoration:none;font-size:.85rem}

/* hodnotenie spotov, spot mesiaca */
.rate{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:6px 0}
.stars{position:relative;display:inline-block;font-size:1rem;line-height:1;letter-spacing:2px}
.stars .st-off{color:rgba(243,235,221,.2)}
.stars .st-on{position:absolute;left:0;top:0;overflow:hidden;white-space:nowrap;color:#f5c542}
.rate-n{font-size:.66rem;color:var(--muted-dark)}
.rate-tags{display:flex;gap:4px;flex-wrap:wrap}
.rate-tags .chip{font-size:.6rem;padding:2px 6px}
.star-pick{display:flex;gap:4px}
.star-pick button{font-size:2rem;line-height:1;background:none;border:0;color:#cfc6b8;cursor:pointer}
.star-pick button.on{color:#f5a700}
.som{display:grid;gap:6px;margin-bottom:18px;padding:18px 20px;background:linear-gradient(120deg,rgba(245,197,66,.16),rgba(14,13,12,.3));border:1px solid rgba(245,197,66,.45)}
.som-k{color:#f5c542}
.som h2{margin:0;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1}
.som p{margin:0}.som-c{color:var(--muted-dark)}
.som .btn{justify-self:start}

/* rodičia */
.par-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:36px}
.par-card{padding:18px;border:1px solid var(--line-dark);background:rgba(255,255,255,.02)}
.par-card h2{margin:0 0 6px;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.5rem}
.par-card p{margin:0;color:var(--muted-dark)}
.faq-i{border-top:1px solid var(--line-dark);padding:12px 0}
.faq-i summary{cursor:pointer;font-weight:700}
.parents .actions{margin-top:24px}

/* profil: XP, jazdec */
.pf-grid2{display:grid;gap:24px;margin-top:30px}
@media (min-width:960px){ .pf-grid2{grid-template-columns:1fr 1fr;align-items:start} }
.xp{display:grid;gap:10px}
.xp-top{display:flex;justify-content:space-between;align-items:baseline}
.xp-lvl{font-family:var(--f-display);font-size:2.2rem;text-transform:uppercase}
.xp-bar{height:12px;background:rgba(255,255,255,.08)}
.xp-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--red),#f5c542)}
.xp-next{color:var(--muted-dark);margin:0}
.badges-grid{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}
.badges-grid li{display:grid;gap:2px;padding:10px;border:1px dashed rgba(243,235,221,.18);opacity:.45}
.badges-grid li.on{opacity:1;border-style:solid;border-color:#f5c542;background:rgba(245,197,66,.08)}
.badges-grid img{width:24px}
.badges-grid b{font-size:.88rem}.badges-grid small{font-size:.72rem;color:var(--muted-dark)}
.xp-how summary{cursor:pointer;font-size:.9rem}
.xp-how ul{margin:8px 0 0;padding-left:18px;font-size:.88rem}
.rp-photo{display:flex;gap:14px;align-items:center;margin:10px 0}
.rp-prev{width:90px;height:90px;object-fit:cover;border-radius:50%;background:var(--ink-3)}
.rp-form{display:grid;gap:10px}
.rider-extra{margin:8px 0 14px}
.rx-tags{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.rx-tags li{padding:3px 9px;border:1px solid var(--line-dark);font-size:.85rem}
.rx-tags a{color:var(--cream)}
.claim{margin:18px 0 6px;padding:12px 14px;border:1px dashed rgba(243,235,221,.3)}
.claim .btn{margin-left:6px}

/* prázdne stavy */
.empty-cta{display:flex;gap:16px;align-items:center;padding:18px;border:1px dashed rgba(243,235,221,.25);background:rgba(255,255,255,.02)}
.empty-cta img{width:56px;flex:none;opacity:.9}
.empty-cta p{margin:4px 0 10px;color:var(--muted-dark)}

/* onboarding */
.onb{position:fixed;left:16px;bottom:16px;z-index:60;display:flex;gap:12px;align-items:flex-end;max-width:min(420px,calc(100vw - 32px));opacity:0;transform:translateY(20px);transition:opacity .35s,transform .35s}
.onb.show{opacity:1;transform:none}
.onb-ghost{width:62px;flex:none;animation:ghostFloat 4s ease-in-out infinite;filter:drop-shadow(0 8px 14px rgba(0,0,0,.5))}
.onb-body{position:relative;padding:14px 16px;background:var(--cream);color:var(--black);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.onb-body::before{content:"";position:absolute;left:-10px;bottom:16px;border:10px solid transparent;border-right-color:var(--cream);border-left:0}
.onb-body b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.4rem;line-height:1}
.onb-body p{margin:6px 0 10px;font-size:.92rem}
.onb-act{display:flex;align-items:center;gap:12px}
.onb-act .linklike{margin-left:auto;color:#5b544c}
.onb-dots{display:flex;gap:4px}
.onb-dots i{width:7px;height:7px;border-radius:50%;background:rgba(14,13,12,.2)}
.onb-dots i.on{background:var(--red)}
.mascot-still{width:70%;margin:15%;animation:ghostFloat 5s ease-in-out infinite}
.seo-pre{padding:40px 16px;color:var(--muted-dark)}
@media (max-width:760px){ .onb{bottom:calc(78px + env(safe-area-inset-bottom,0px));left:10px} .onb-ghost{width:48px} }
.tk .evw-h{margin-top:34px}
.tk-mine{margin-top:20px}

/* ===== v8: video ako pevné pozadie úvodky ===== */
.vbg{position:fixed;inset:0;z-index:0;background:var(--black);pointer-events:none;transition:opacity .35s}
.vbg.off{opacity:0;visibility:hidden}
.vbg .vh-video,.vbg .vh-poster,.vbg .vh-yt{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vbg-dim{position:absolute;inset:0;background:var(--black);opacity:0;will-change:opacity}
/* žiadne systémové tlačidlo play cez video */
.vbg video::-webkit-media-controls,.vbg video::-webkit-media-controls-start-playback-button,.vbg video::-webkit-media-controls-overlay-play-button,.vbg video::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none;opacity:0}
.vh{position:relative;z-index:1;background:none}
.after-hero{background:none;box-shadow:none}
.after-solid{position:relative;z-index:1;background:var(--grain-light),var(--mottle),var(--black);box-shadow:0 -40px 60px rgba(14,13,12,.9)}
.vh .vh-shade{background:linear-gradient(90deg,rgba(14,13,12,.72) 0%,rgba(14,13,12,.3) 45%,rgba(14,13,12,0) 75%),linear-gradient(180deg,rgba(14,13,12,.4) 0%,rgba(14,13,12,0) 25%)}
.post-admin{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px clamp(16px,4vw,48px);background:rgba(160,20,20,.25);border-bottom:1px solid var(--line-dark)}
.post-admin[hidden]{display:none}

/* =====================================================================
   v9: pripnutá hlavička cez celý vrch (aj pod hodinami a batériou),
   menu v spodnej lište, tlačidlo Späť, načítavanie bez zoznamu odkazov
   ===================================================================== */
:root{
  --sat:env(safe-area-inset-top,0px); --sab:env(safe-area-inset-bottom,0px);
  --tb-h:56px; --er-h:30px; --hdr:calc(var(--sat) + var(--tb-h) + var(--er-h)); --tabh:0px;
}
@media (max-width:760px){ :root{--tabh:calc(64px + var(--sab))} }
html{scroll-padding-top:calc(var(--hdr) + 12px)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

/* hlavička: jeden pevný blok od samého vrchu obrazovky */
.topbar{position:sticky;top:0;z-index:50;padding-top:var(--sat);background:var(--grain-light),#0e0d0c;border-bottom:1px solid var(--line-dark);backdrop-filter:none;transform:none}
.tb-row{display:flex;align-items:center;gap:10px;height:var(--tb-h);max-width:1200px;margin:0 auto;padding:0 calc(var(--rail) + 14px) 0 14px}
.brand{flex:0 0 auto;gap:8px}
.brand img{height:30px;width:auto}
.top-right{margin-left:auto}
.tb-back{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;height:38px;padding:0 14px 0 8px;border:1.5px solid rgba(243,235,221,.55);border-radius:999px;background:rgba(243,235,221,.07);
  color:var(--cream);text-decoration:none;font-family:var(--f-mono);font-size:.74rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}
.tb-back svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.tb-back:hover,.tb-back:active{background:var(--cream);color:var(--black);border-color:var(--cream)}
.has-back .brand img:not(.brand-ghost){display:none}
@media (min-width:420px){ .has-back .brand img:not(.brand-ghost){display:block} }
.nav{margin-left:18px}
.acct{border-radius:999px}
@media (max-width:760px){
  .acct{display:inline-flex;width:40px;height:40px;padding:0;justify-content:center;border-color:rgba(243,235,221,.3)}
  .acct span{display:none}
  .acct img{width:20px}
  .menu-btn{display:none}
}
@media (min-width:761px){ .menu-btn{display:inline-flex} }

/* skate kalendár: druhý riadok hlavičky, vždy viditeľný */
.tb-cal{height:var(--er-h);border-top:1px solid var(--line-dark);background:#151311;overflow:hidden}
.tb-cal > .er-label{display:inline-flex;align-items:center;height:100%;padding:0 10px;background:var(--red);color:var(--cream);font-size:.58rem}
.tb-cal .er-top{position:static;top:auto;height:100%;margin:0;border:0;background:none;backdrop-filter:none;transform:none}
.tb-cal .er-top .ticker-in{padding-block:0;height:100%;align-items:center}
.tb-cal .er-label{padding:0 10px;font-size:.58rem;letter-spacing:.12em}
.tb-cal .er-top a:not(.er-label){font-size:.66rem;padding-inline:12px;gap:6px}
@media (min-width:761px){ .tb-cal .er-top a:not(.er-label){font-size:.72rem;padding-inline:16px} .tb-cal .er-label{padding:0 14px;font-size:.62rem} }

/* úvodka: video presne medzi hlavičkou a spodnou lištou */
.vh,.vh.vh{height:calc(100svh - var(--hdr) - var(--tabh));min-height:480px}
.b3.page .b3-stage{height:calc(100svh - var(--hdr) - var(--tabh))}
@media (max-width:860px){ .b3.page .b3-stage{height:62svh} }
@media (min-width:1000px){ .rk-points{top:calc(var(--hdr) + 16px)} }
.evw-sec,
.rk-sec{scroll-margin-top:calc(var(--hdr) + 12px)}

/* spodná lišta: 4 hlavné sekcie + menu */
@media (max-width:760px){
  .tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;padding:6px 6px calc(6px + var(--sab));
    background:rgba(14,13,12,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line-dark)}
  .tabbar a,.tabbar button{display:grid;justify-items:center;align-content:center;gap:2px;min-height:52px;padding:2px 0;margin:0;border:0;background:none;color:var(--muted-dark);cursor:pointer;
    font-family:var(--f-mono);font-size:.58rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;-webkit-tap-highlight-color:transparent}
  .tabbar svg{box-sizing:content-box;width:22px;height:22px;padding:4px 16px;border-radius:999px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;transition:background .2s,color .2s}
  .tabbar [aria-current],.tabbar [aria-expanded="true"]{color:var(--cream)}
  .tabbar [aria-current] svg{background:var(--red);stroke:var(--cream)}
  .tabbar [aria-expanded="true"] svg{background:var(--cream);stroke:var(--black)}
  .tabbar a:active svg,.tabbar button:active svg{background:rgba(243,235,221,.14)}
  body{padding-bottom:var(--tabh)}
  .onb{bottom:calc(var(--tabh) + 12px)}
  .install{bottom:calc(var(--tabh) + 10px)}
  .toast{bottom:calc(var(--tabh) + 14px)}
}

/* menu: panel, ktorý vyjde zo spodnej lišty */
#menu.sheet{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;height:auto;max-height:min(88dvh,760px);margin:0;padding:0;overflow:hidden;
  background:var(--grain-light),#151311;color:var(--cream);border:0;border-top:1px solid rgba(243,235,221,.18);border-radius:22px 22px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.6)}
#menu.sheet[open]{display:flex;flex-direction:column;animation:shIn .32s cubic-bezier(.2,.9,.25,1)}
#menu.sheet.out{animation:shOut .22s ease-in forwards}
#menu.sheet::backdrop{background:rgba(0,0,0,.62)}
@keyframes shIn{from{transform:translateY(100%)}}
@keyframes shOut{to{transform:translateY(100%)}}
.sh-grab{flex:none;width:44px;height:5px;margin:10px auto 2px;border-radius:3px;background:rgba(243,235,221,.28)}
.sh-head{flex:none;display:flex;align-items:center;gap:10px;padding:8px 16px 4px}
.sh-acct{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid rgba(243,235,221,.2);border-radius:16px;background:linear-gradient(135deg,rgba(160,20,20,.4),rgba(160,20,20,.08));color:var(--cream);text-decoration:none}
.sh-acct img{width:30px;height:auto;flex:none}
.sh-acct span{display:grid;min-width:0}
.sh-acct b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.3rem;line-height:1}
.sh-acct small{color:var(--muted-dark);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sh-x{flex:none;display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(243,235,221,.25);border-radius:50%;background:none;color:var(--cream);cursor:pointer}
.sh-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.sh-body{overflow-y:auto;overscroll-behavior:contain;padding:2px 16px calc(18px + var(--sab));-webkit-overflow-scrolling:touch}
.sh-body .mono{margin:16px 0 8px;color:var(--muted-dark);font-size:.66rem}
@media (min-width:761px){
  #menu.sheet{inset:0 0 0 auto;width:min(440px,100vw);max-height:none;height:100dvh;border-radius:0;border-top:0;border-left:1px solid rgba(243,235,221,.18)}
  #menu.sheet[open]{animation-name:shSide}
  #menu.sheet.out{animation-name:shSideOut}
  .sh-grab{display:none}
  .sh-head{padding-top:18px}
}
@keyframes shSide{from{transform:translateX(100%)}}
@keyframes shSideOut{to{transform:translateX(100%)}}
@media (prefers-reduced-motion:reduce){ #menu.sheet[open],#menu.sheet.out{animation:none} }

/* potiahnutie od ľavého okraja = späť (len v appke na ploche) */
.swipe-back{position:fixed;left:0;top:50%;z-index:95;display:grid;place-items:center;width:46px;height:46px;margin-top:-23px;border-radius:50%;background:var(--cream);color:var(--black);
  box-shadow:0 8px 24px rgba(0,0,0,.45);pointer-events:none;opacity:0;transform:translateX(calc(-100% + var(--p,0) * 74px)) scale(calc(.6 + var(--p,0) * .4));transition:opacity .15s}
.swipe-back.on{opacity:calc(.35 + var(--p,0) * .65)}
.swipe-back svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* načítavanie: namiesto zoznamu odkazov rovno pozadie úvodky a duch */
.js .seo-pre{display:none}
.boot{position:fixed;inset:0;z-index:4;display:grid;place-items:center;background:var(--black);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s,visibility 0s .45s}
.js:not(.ready) .boot{opacity:1;visibility:visible;transition:none}
.js[data-boot="home"] .boot{background:linear-gradient(180deg,rgba(14,13,12,.3),rgba(14,13,12,.7)),url(../img/hero-poster.jpg) center / cover no-repeat,var(--black)}
.boot-plain{width:84px;height:auto;filter:drop-shadow(0 12px 24px rgba(0,0,0,.55));animation:ghostFloat 2.6s ease-in-out infinite}
.boot-bg,.boot-intro{display:none}
/* úvodná animácia: duch a nápis GOSko, potom sa presunú na miesto na titulke a čierne pozadie odroluje hore */
html[data-intro]:not(.intro-done){overflow:hidden;scrollbar-gutter:stable}
html[data-intro]:not(.intro-done) .boot{z-index:100000;opacity:1;visibility:visible;transition:none;background:none}
html[data-intro] .boot-plain{display:none}
html[data-intro] .boot-bg{display:block;position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,#1c1917,var(--black) 70%);transition:transform .95s cubic-bezier(.7,0,.2,1)}
html[data-intro] .boot-intro{display:grid;position:absolute;inset:0;place-content:center;justify-items:center;gap:clamp(10px,2.4vw,18px)}
html[data-intro].intro-done .boot{display:none}
html.boot-go .boot-bg{transform:translateY(-101%)}
.bi-ghost{width:clamp(84px,16vw,120px);height:auto;filter:drop-shadow(0 14px 26px rgba(0,0,0,.6));animation:biGhostIn .7s cubic-bezier(.2,1.3,.4,1) both,ghostFloat 2.6s ease-in-out .7s infinite}
.bi-word{width:min(74vw,440px);height:auto;filter:drop-shadow(0 10px 26px rgba(0,0,0,.55));animation:biWordIn .9s cubic-bezier(.5,0,.2,1) .35s both}
.bi-bar{display:block;width:min(46vw,200px);height:3px;background:rgba(243,235,221,.16);position:relative;overflow:hidden;opacity:1;transition:opacity .3s}
.bi-bar::after{content:"";position:absolute;inset:0;background:var(--red,#d3222a);transform:scaleX(0);transform-origin:0 50%;animation:biBar 2.1s cubic-bezier(.3,.6,.3,1) .2s forwards}
html.boot-go .bi-bar{opacity:0}
@keyframes biGhostIn{from{opacity:0;transform:translateY(-34px) scale(.55) rotate(-14deg)}to{opacity:1;transform:none}}
@keyframes biWordIn{from{clip-path:inset(0 100% 0 0);opacity:.2}to{clip-path:inset(0);opacity:1}}
@keyframes biBar{to{transform:scaleX(1)}}
/* koniec úvodu bez prelietavania: duch a nápis v strede zmiznú, v titulke sa objavia znova */
@keyframes biOut{to{opacity:0}}
html.boot-go .bi-ghost,html.boot-go .bi-word{animation:biOut .3s ease forwards}
html[data-intro]:not(.intro-done) .vh-bigghost,html[data-intro]:not(.intro-done) .vh-logo{opacity:0;transition:opacity .45s ease .25s}
html[data-intro].boot-go:not(.intro-done) .vh-bigghost,html[data-intro].boot-go:not(.intro-done) .vh-logo{opacity:1}
.js:not(.ready) footer{display:none}

/* odber noviniek na konci podstránok */
.news-strip{padding:36px 0 44px;border-top:1px solid var(--line-dark);background:radial-gradient(80% 120% at 0% 0%,rgba(160,20,20,.22),transparent 60%),var(--grain-light),var(--ink-2)}
.ns-in{display:grid;gap:16px}
@media (min-width:860px){ .ns-in{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center} }
.ns-copy h2{margin:0;font-size:clamp(2rem,6vw,2.8rem);line-height:1;color:var(--cream)}
.ns-copy p{margin:8px 0 0;color:var(--muted-dark)}
.news-strip .check span{color:var(--muted-dark);font-size:.86rem}
.news-strip .news-ok{color:var(--cream)}
.fb-grid{grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){ .fb-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)} }

/* hlavička podstránky: duch vedľa nadpisu, nikdy cez text */
.ph-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ph-row h1{margin:0 0 12px;min-width:0;max-width:none !important}
.ph-row .ghost-tag{position:static;flex:0 0 auto;width:clamp(48px,11vw,84px);margin:-6px 0 0}

/* ===== v9: svet eventu, nálepka ako skutočná nálepka ===== */
.btn svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.evw-hero{padding:clamp(22px,4vw,56px) 0 clamp(24px,4vw,48px);border-bottom:0}
.evw-hero::before{inset:-30px;background:linear-gradient(180deg,rgba(14,13,12,.5) 0%,rgba(14,13,12,.9) 62%,var(--black) 100%),var(--cover) center 30% / cover;filter:blur(5px) saturate(.45) contrast(1.1)}
.evw-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(55% 42% at 50% 26%,rgba(160,20,20,.38),transparent 72%)}
@media (min-width:860px){ .evw-hero::after{background:radial-gradient(40% 70% at 22% 50%,rgba(160,20,20,.38),transparent 72%)} }
.evw-grid{gap:20px}
.evw-st{perspective:900px}
.evw-stk{position:relative;width:min(236px,60vw);aspect-ratio:1 / 1;transform:rotate(-4deg) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s cubic-bezier(.2,.8,.2,1);touch-action:pan-y;-webkit-tap-highlight-color:transparent}
@media (min-width:860px){ .evw-stk{width:min(380px,82%)} }
.evw-sticker{display:block;width:100%;height:100%;transform:none;filter:drop-shadow(0 2px 1px rgba(0,0,0,.4)) drop-shadow(0 16px 22px rgba(0,0,0,.5)) drop-shadow(0 34px 40px rgba(0,0,0,.35))}
.evw-shine{position:absolute;inset:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  background:linear-gradient(112deg,transparent 30%,rgba(255,255,255,.5) 44%,rgba(255,255,255,.1) 52%,transparent 62%) 0 0 / 260% 100% no-repeat;mix-blend-mode:overlay;animation:stShine 6s ease-in-out infinite}
@keyframes stShine{0%,55%{background-position:130% 0}100%{background-position:-40% 0}}
.evw-hero.landing .evw-sticker{animation:land2 .9s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes land2{from{transform:scale(2.2) rotate(16deg);opacity:0}60%{opacity:1}to{transform:none}}
@media (prefers-reduced-motion:reduce){ .evw-shine{animation:none;opacity:0} .evw-hero.landing .evw-sticker{animation:none} }
.evw-copy h1{font-size:clamp(2.6rem,11vw,5rem);margin:6px 0 4px}
.evw-k{margin:0;color:var(--muted-dark)}
.evw-facts{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px;padding:0}
.evw-facts div{min-width:0;padding:8px 12px;border:1px solid rgba(243,235,221,.18);background:rgba(14,13,12,.6)}
.evw-facts dt{margin:0;color:var(--muted-dark);font-size:.6rem}
.evw-facts dd{margin:2px 0 0;font-weight:700;font-size:.92rem;line-height:1.25}
.evw-copy .lead{color:var(--cream);opacity:.85;margin-bottom:16px}
/* rýchla navigácia po častiach eventu: jeden riadok, pripnutý pod hlavičkou */
.evw-jumpbar{position:sticky;top:var(--hdr);z-index:20;background:rgba(14,13,12,.95);border-block:1px solid var(--line-dark)}
.evw-jump{display:flex;flex-wrap:nowrap;gap:6px;margin:0;padding:8px 0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.evw-jump::-webkit-scrollbar{display:none}
.evw-jump .chip{flex:none;border-radius:999px;padding:7px 14px}
.evw-sec{scroll-margin-top:calc(var(--hdr) + 58px)}

/* ===== v9: tlačidlá, ktoré vyzerajú ako tlačidlá (výplň, väčšia plocha na prst) ===== */
.btn{border-width:1.5px;border-color:rgba(243,235,221,.72);background:rgba(243,235,221,.09);min-height:44px;-webkit-tap-highlight-color:transparent}
.btn.small{min-height:38px}
.btn:active:not(:disabled){background:rgba(243,235,221,.2)}
.btn.primary,.btn.primary:active{background:var(--grain-dark),var(--red)}
.btn.cream{--sh:var(--red);background:var(--cream);border-color:var(--cream);color:var(--black)}
.btn.cream:active{background:#e4d9c4}
.btn.cta{min-height:48px;padding:12px 18px;font-size:.84rem}
.light .btn:not(.primary):not(.cream),dialog .btn:not(.primary):not(.cream){background:rgba(14,13,12,.05)}
.btn.ghostbtn{background:transparent}
@media (max-width:640px){
  .sec-head{align-items:stretch}
  .sec-head > .btn.cta{width:100%;justify-content:space-between}
  .cta-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;margin:0}
  .cta-row .btn{width:100%;padding-inline:12px}
}

/* ===== v9: garáž dosky — vzory, palety, vlastná farba, fotka ===== */
.gar-panel{display:block;padding:12px 12px 14px;min-height:0;transition:opacity .2s}
.gar-panel.busy{opacity:.55;pointer-events:none}
.gar-sel{margin:0 0 10px;color:var(--muted-dark);font-size:.66rem}
.gar-sel b{color:var(--cream);font-weight:600}
.gar-row{display:flex;flex-wrap:wrap;gap:6px}
.gar-lbl{margin:14px 0 8px;color:var(--muted-dark);font-size:.62rem}
.gar-dots{display:grid;grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:8px}
.gar-dot{position:relative;width:100%;aspect-ratio:1 / 1;max-width:44px;padding:0;border:0;border-radius:50%;background:var(--c,#444);cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 2px 6px rgba(0,0,0,.35);transition:transform .15s;-webkit-tap-highlight-color:transparent}
.gar-dot:hover{transform:scale(1.08)}
.gar-dot[aria-pressed="true"]{box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 2px var(--black),0 0 0 4px var(--cream)}
.gar-dot.custom{display:grid;place-items:center;background:var(--c,conic-gradient(from 0deg,#ff2b2b,#ffd21a,#39ff14,#00f0ff,#2d5bff,#b026ff,#ff2bd6,#ff2b2b));overflow:hidden}
.gar-dot.custom span{position:relative;font-weight:900;font-size:1.2rem;line-height:1;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6);pointer-events:none}
.gar-dot.custom input{position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;opacity:0;cursor:pointer}
.gar-sw .gar-chip{border-radius:4px}
.gar-chip.px{background:repeating-conic-gradient(var(--muted-dark) 0 25%,#a01414 0 50%) 0 0 / 10px 10px;image-rendering:pixelated}
.gar-photo{margin-top:12px;padding:12px;border:1px dashed rgba(243,235,221,.25);background:rgba(243,235,221,.03)}
.gar-photo .gar-lbl{margin-top:0}
.gar-photo .gar-row{margin-top:10px}
.gar-range{display:grid;gap:6px;margin-top:12px}
.gar-range .mono{color:var(--muted-dark);font-size:.62rem}
.gar-range input{width:100%;accent-color:var(--red)}
.gar-note{margin:10px 0 0;font-size:.8rem;color:var(--muted-dark)}
@media (min-width:861px){ .b3-garage .gar-panel{max-height:46vh;overflow-y:auto} }
.cta-row .btn{font-size:.76rem;gap:6px;white-space:nowrap}
@media (max-width:360px){ .cta-row{grid-template-columns:minmax(0,1fr)} }
@media (max-width:720px){ .fb-card.news-card .news-ghosts{display:none} }
@media print{ .tabbar,.boot,.swipe-back,.tb-cal{display:none !important} }

/* =====================================================================
   v10: PSP / XMB štýl — väčšie, pokojnejšie, uhladené
   Tmavé sklenené plochy so zaoblením, jedna jemná vlna v pozadí,
   červená len na hlavnú akciu a aktívnu položku. Bez zrna, náklonov a pásky.
   ===================================================================== */
:root{
  --ink:#0d0c0b; --surf:#16151a; --raise:#201f25; --bone:#efe9de; --ash:#a09a92; --accent:#b3161b;
  --black:var(--ink); --ink-2:var(--surf); --ink-3:var(--raise); --cream:var(--bone); --muted-dark:var(--ash);
  --red:var(--accent); --band:var(--accent); --line-dark:rgba(239,233,222,.12);
  --f-mono:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --rail:0px; --tb-h:64px; --er-h:34px;
  --glass:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02));
  --glass-edge:inset 0 1px 0 rgba(255,255,255,.07);
  --r-s:12px; --r-m:16px; --r-l:20px;
}
@media (max-width:760px){ html{font-size:106.25%} :root{--tabh:calc(80px + var(--sab))} }
body{background:var(--ink);color:var(--bone)}
body::after{display:none}
.wrap{padding-left:20px;padding-right:20px}

/* vlna ako v XMB: jediná ozdoba, pomaly pláva za obsahom */
body::before{content:"";position:fixed;left:0;right:0;top:38%;height:420px;z-index:-1;pointer-events:none;opacity:.9;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='420' viewBox='0 0 1600 420'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23efe9de' stop-opacity='.07'/%3E%3Cstop offset='1' stop-color='%23efe9de' stop-opacity='0'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 200 C200 140 600 260 800 200 C1000 140 1400 260 1600 200 V420 H0Z' fill='url(%23g)'/%3E%3Cpath d='M0 200 C200 140 600 260 800 200 C1000 140 1400 260 1600 200' fill='none' stroke='%23efe9de' stroke-opacity='.16' stroke-width='1.5'/%3E%3Cpath d='M0 232 C260 182 540 282 800 232 C1060 182 1340 282 1600 232' fill='none' stroke='%23efe9de' stroke-opacity='.08' stroke-width='1'/%3E%3C/svg%3E") 0 0 / 1600px 420px repeat-x;
  animation:xmbWave 80s linear infinite}
@keyframes xmbWave{to{background-position:-1600px 0}}
@media (prefers-reduced-motion:reduce){ body::before{animation:none} }

/* čitateľné popisky: žiadne drobné strojopisné VERZÁLKY */
.mono,[class*="mono"],.chip,.hs-k,.pt-k,.tag,.evb,.pk-tag,.tk-st,.linkish,.nav a,.acct,.gar-tabs button,.gar-mini,.b3-scenes button,.tvc-btn,.er-top a,.er-label,.tb-back,.tabbar a,.tabbar button,.btn,.menu-btn,.ft-cta,.nr-live,.ew-live{
  text-transform:none;letter-spacing:.01em}
.mono{font-size:.84rem;font-weight:600}
.hs-k,.pt-k{color:var(--ash);font-size:.92rem;font-weight:600;margin-bottom:10px}
.lead{color:var(--ash);font-size:1.04rem;line-height:1.55}
.note{color:var(--ash)}

/* hlavička */
.topbar{background:linear-gradient(180deg,#18171c,#111013);border-bottom:1px solid var(--line-dark)}
.tb-row{padding:0 16px;gap:12px}
.brand img{height:32px}
.tb-back{height:46px;padding:0 18px 0 12px;gap:6px;border:1px solid rgba(239,233,222,.2);border-radius:999px;background:var(--glass),var(--raise);box-shadow:var(--glass-edge);
  font-family:"Archivo",sans-serif;font-size:1rem;font-weight:700}
.tb-back svg{width:22px;height:22px}
.tb-back:hover,.tb-back:active{background:var(--bone);color:var(--ink)}
.acct{border-radius:999px;border-color:rgba(239,233,222,.2);background:var(--glass),var(--raise);font-family:"Archivo",sans-serif;font-size:.9rem;font-weight:700}
@media (max-width:760px){ .acct{width:46px;height:46px} .acct img{width:22px} }
.menu-btn{border-radius:999px;min-height:44px}
.tb-cal{background:#121115;border-top:1px solid var(--line-dark)}
.tb-cal .er-label,.tb-cal > .er-label{background:none;color:var(--bone);font-family:"Archivo",sans-serif;font-size:.78rem;font-weight:700;padding:0 12px 0 14px;gap:7px;border-right:1px solid var(--line-dark)}
.tb-cal .er-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent)}
.tb-cal .er-top a:not(.er-label){font-family:"Archivo",sans-serif;font-size:.84rem;color:var(--ash);padding-inline:14px}
.tb-cal .er-top a:not(.er-label)+a::before{content:"";width:4px;height:4px;margin-right:14px;border-radius:50%;background:rgba(239,233,222,.3)}
.er b{color:var(--bone);font-weight:700}
.er .er-city{color:var(--ash)}
.er a.ours b{background:var(--accent);color:#fff;border-radius:6px;padding:1px 7px}
.er img.flag{border-radius:3px}

/* spodný dok: veľké ikony, výber ako v XMB (svetlo + jemná dlaždica) */
@media (max-width:760px){
  .tabbar{gap:4px;padding:8px 10px calc(8px + var(--sab));background:linear-gradient(180deg,rgba(26,25,30,.94),rgba(14,13,16,.97));border-top:1px solid rgba(239,233,222,.1)}
  .tabbar a,.tabbar button{min-height:62px;gap:5px;border-radius:18px;font-family:"Archivo",sans-serif;font-size:.74rem;font-weight:600;color:var(--ash);transition:background .2s,color .2s}
  .tabbar svg{width:27px;height:27px;padding:0;border-radius:0;stroke-width:1.6;background:none !important}
  .tabbar [aria-current],.tabbar [aria-expanded="true"]{color:var(--bone);background:rgba(239,233,222,.08);box-shadow:var(--glass-edge)}
  .tabbar [aria-current] svg,.tabbar [aria-expanded="true"] svg{stroke:var(--bone);filter:drop-shadow(0 0 6px rgba(239,233,222,.55))}
  .tabbar [aria-current] span{position:relative}
  .tabbar [aria-current] span::after{content:"";position:absolute;left:50%;bottom:-6px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px var(--accent)}
}

/* menu panel */
#menu.sheet{background:linear-gradient(180deg,#1b1a1f,#121114);border-top-color:rgba(239,233,222,.14)}
.sh-acct{background:var(--glass),var(--raise);border-color:var(--line-dark);border-radius:var(--r-m);box-shadow:var(--glass-edge)}
.sh-acct b{font-size:1.4rem}
.sh-acct small{font-size:.86rem}
.sh-body .mono{color:var(--ash);font-size:.86rem;margin:20px 2px 10px}
.sh-x{width:48px;height:48px}

/* tlačidlá: zaoblené, sklenené, čitateľné */
.btn{min-height:50px;padding:12px 20px;gap:8px;border:1px solid rgba(239,233,222,.2);border-radius:var(--r-m);background:var(--glass),var(--raise);color:var(--bone);
  font-family:"Archivo",sans-serif;font-stretch:100%;font-weight:700;font-size:1rem;box-shadow:var(--glass-edge),0 4px 14px rgba(0,0,0,.25)}
.btn:hover:not(:disabled){transform:none;border-color:rgba(239,233,222,.4);box-shadow:var(--glass-edge),0 6px 18px rgba(0,0,0,.35)}
.btn:active:not(:disabled){transform:scale(.98);background:var(--glass),#2a2930}
.btn.small{min-height:44px;padding:10px 16px;font-size:.92rem;border-radius:var(--r-s)}
.btn.cta{min-height:54px;font-size:1rem}
.btn.primary,.btn.primary:active,.light .btn.primary,dialog .btn.primary,.vote[aria-pressed="true"]{background:linear-gradient(180deg,#c9262c,#a51217);border-color:#c9262c;color:#fff;font-stretch:100%;font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 6px 18px rgba(179,22,27,.32)}
.btn.cream,.btn.cream:active{background:linear-gradient(180deg,#f7f2e9,#e5ddd0);border-color:transparent;color:#141316}
.btn.ghostbtn,.btn.solid{background:var(--glass),var(--raise);color:var(--bone);border-color:rgba(239,233,222,.2)}
.btn svg{width:20px;height:20px}
.cta-row .btn{font-size:.95rem}
.chip{min-height:42px;padding:9px 16px;border-radius:999px;border:1px solid rgba(239,233,222,.16);background:rgba(255,255,255,.03);color:var(--ash);font-family:"Archivo",sans-serif;font-size:.92rem;font-weight:600}
.chip[aria-pressed="true"]{background:var(--bone);border-color:var(--bone);color:var(--ink)}
.linklike{color:var(--bone)}

/* plochy: jednotné sklenené karty, bez náklonov, pások a zrna */
.pt-card,
.pl,
.cal-box,
.cd-card,
.qt,
.podium,
.rider-grid a,
.card,
.park-card,
.post-card,
.rk-points,
.hof,
.gk-card,
.ec,
.ew,
.fb-card,
.cm-card,
.tk-hero,
.tk-steps li,
.tk-card,
.crew-card,
.som,
.par-card,
.pf-card,
.ft-card,
.evw-sc,
.sk-card,
.sk-rest a,
.sk-kings li,
.b3-garage,
.sw,
.nr,
.empty-cta,
.claim,
.spot,
.evw-facts div,
.pt-col,
.pt-plan li,
.kit-pack,
.garage,
.pt-list li,
.br-match{
  background:var(--glass),var(--surf);border:1px solid var(--line-dark);border-radius:var(--r-l);box-shadow:var(--glass-edge);color:var(--bone)}
.evw-facts div,.sk-rest a,.sk-kings li,.tk-steps li,.pt-plan li,.pt-list li,.br-match{border-radius:var(--r-m)}
.card::before,.rider-grid a::before,.podium::before,.ph::before,.ph:nth-child(3n+1)::before{display:none !important}
.cards > li:nth-child(odd) .card,.cards > .card:nth-child(odd),.cards > .card:nth-child(even),.rider-grid li a,.badge,.champ,.split img,.install,.pass{transform:none !important}
.ft-card,
.ft-card.cream,
.cm-card.red,
.cm-card.cream,
.fb-card.news-card,
.fb-card.cm-mini,
.evw-sc.ig,
.sk-card.r1,
.som{background:var(--glass),var(--surf);color:var(--bone);border-color:var(--line-dark)}
.sk-card.r1{border-color:rgba(239,233,222,.35);box-shadow:var(--glass-edge),0 0 0 1px rgba(239,233,222,.08),0 20px 40px rgba(0,0,0,.4)}
.ft-card.cream .ft-d,.cm-card.cream span:not(.mono),.cm-card.red span:not(.mono),.fb-card.news-card p{color:var(--ash)}
.ft-img img{filter:grayscale(1) contrast(1.05) brightness(.8);mix-blend-mode:normal;opacity:.9}
.ft-k,.cm-card .mono,.som-k{color:var(--ash)}
.fb-card.news-card h3,.tv-title,.letterg.news-title{color:var(--bone) !important}
.fb-card h3,.cm-card b,.crew-card b{font-size:1.75rem}
.cm-card span:not(.mono),.crew-about,.par-card p,.pt-card p{color:var(--ash);font-size:.98rem}
.crew-mark{border-radius:var(--r-s);background:var(--raise);border:1px solid var(--line-dark)}
.pt-results{background:transparent}
.pt-photo{box-shadow:none;border-radius:var(--r-l)}
.post-card,.ec,.gk-card,.ft-card{overflow:hidden}
.gk-card.next{box-shadow:var(--glass-edge);border-color:rgba(239,233,222,.3)}
.hof{border-top:1px solid var(--line-dark)}
.tk-hero{background:var(--glass),var(--surf)}
.ew-live i{background:var(--accent);box-shadow:0 0 8px var(--accent)}

/* fotky: čisté, zaoblené, bez rámčekov polaroidu */
.gallery{gap:8px;padding:0}
.gallery .ph{background:var(--surf);padding:0;border-radius:var(--r-s);overflow:hidden;box-shadow:none;transform:none !important}
.gallery .ph:hover{transform:none;opacity:.9}

/* sekcie pre partnerov v tmavom (bez krémových blokov) */
.sec.light{background:transparent;color:var(--bone)}
.sec.light .lead,.sec.light .note,.sec.light .note.dark,.sec.light .pt-card p,.sec.light .pt-plan li small,.sec.light .gets{color:var(--ash)}
.sec.light .btn:not(.primary):not(.cream){color:var(--bone);border-color:rgba(239,233,222,.2);background:var(--glass),var(--raise)}
.pt-plan li.red{border-color:rgba(201,38,44,.6);background:linear-gradient(180deg,rgba(201,38,44,.25),rgba(201,38,44,.08))}
.pt-plan li.dark{background:var(--glass),var(--raise)}
.pt-plan li .mono,.pt-col .mono{color:var(--ash)}
.pt-col.dark{background:var(--glass),var(--raise)}

/* okná a formuláre v tmavom */
dialog{background:linear-gradient(180deg,#1c1b20,#141317);color:var(--bone);border:1px solid rgba(239,233,222,.14);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
dialog::backdrop{background:rgba(0,0,0,.66)}
.dlg-head{background:none;color:var(--bone);border-bottom:1px solid var(--line-dark);padding:18px 18px 14px}
.dlg-head h3{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.7rem}
.x{border-radius:50%;border:1px solid rgba(239,233,222,.25);color:var(--bone);width:44px;height:44px}
.field{font-size:.98rem}
.field span{color:var(--ash)}
.field input,.field select,.field textarea,.code-input,.login-help textarea,.news-row input,.rk-search{background:#0f0e11;color:var(--bone);border:1px solid rgba(239,233,222,.2);border-radius:var(--r-s);padding:13px 14px;font-size:1rem}
.field input:focus,.field select:focus,.field textarea:focus,.news-row input:focus,.rk-search:focus{outline:none;border-color:var(--bone)}
dialog .btn:not(.primary):not(.cream){border-color:rgba(239,233,222,.2);color:var(--bone)}
dialog .note.dark,.note.dark{color:var(--ash)}
.form-msg{color:#ff7a7a}
.check input{accent-color:var(--accent)}
.photo-prev{border:0;border-radius:var(--r-s);box-shadow:none}

/* hlášky a pomocníci */
.install{background:linear-gradient(180deg,#1f1e24,#17161a);color:var(--bone);border:1px solid rgba(239,233,222,.14);border-radius:var(--r-l);box-shadow:0 18px 40px rgba(0,0,0,.5)}
.install p span{color:var(--ash)}
.install .x{border-color:rgba(239,233,222,.25);color:var(--bone)}
.toast{background:linear-gradient(180deg,#22212a,#18171c);color:var(--bone);border:1px solid rgba(239,233,222,.16);border-radius:var(--r-m);box-shadow:0 14px 34px rgba(0,0,0,.5)}
.onb-body{background:linear-gradient(180deg,#22212a,#18171c);color:var(--bone);border:1px solid rgba(239,233,222,.16);border-radius:var(--r-m)}
.onb-body::before{border-right-color:#1f1e24}
.onb-act .linklike{color:var(--ash)}

/* úvodka: novinky, nálepky, karty jazdcov */
.nr{border-radius:var(--r-l);background:linear-gradient(180deg,rgba(28,27,32,.82),rgba(16,15,18,.82))}
.nr-nav button{width:40px;height:40px;border-radius:50%;border-color:rgba(239,233,222,.2);font-size:1rem}
.nr-k{color:var(--ash);font-size:.8rem}
.nr-t{font-size:1.12rem}
.nr-s{font-size:.9rem}
.nr-img{border-radius:var(--r-s)}
.sw{background:var(--glass),rgba(22,21,26,.6)}
.sw-cap b{font-size:1.3rem}
.sw-hint{font-size:.9rem}
.sw-date{font-size:.82rem}
.sk-stats small,
.ew-meta,
.pc-date,
.gk-date,
.hof-ev .mono,
.rd-main .mono,
.rd-res .mono,
.rate-n,
.evw-sc .mono,
.cal-head h3,
.rk-points h3,
.sk-cat{font-size:.8rem}
.st-bar{border-radius:3px;overflow:hidden}
.st-bar i{background:var(--bone)}
.standings.v2 li.top .st-bar i{background:var(--accent)}
.pod-step{border-radius:var(--r-s) var(--r-s) 0 0}

/* garáž dosky */
.gar-tabs button{min-height:52px;font-family:"Archivo",sans-serif;font-size:.95rem;font-weight:700}
.gar-sw{border-radius:var(--r-s);min-height:46px;font-size:.92rem;background:rgba(255,255,255,.03)}
.gar-sel,.gar-lbl{font-size:.82rem}
.gar-dots{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:10px}
.gar-dot{max-width:48px}
.gar-photo{border-radius:var(--r-m)}
.gar-mini{min-height:40px;padding:8px 13px;border-radius:var(--r-s);font-family:"Archivo",sans-serif;font-size:.84rem;font-weight:600}
.gar-mini.sq{width:40px}
.b3-scenes{border-radius:999px;overflow:hidden}
.b3-scenes button{padding:11px 16px;font-family:"Archivo",sans-serif;font-size:.9rem;font-weight:600}
.b3-hint{font-size:.8rem}
.b3-head{border-radius:var(--r-l)}

/* svet eventu a odber */
.evw-jump .chip{min-height:42px}
.news-strip{background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}
.pf-avatar{background:radial-gradient(60% 55% at 50% 55%,rgba(239,233,222,.1),transparent 70%)}
footer{color:var(--ash)}
footer p{font-size:1.15rem}
footer .foot-cols b{color:var(--ash);font-size:.82rem}
footer .foot-cols a{font-size:1rem;padding:3px 0}
.map{border:1px solid var(--line-dark);border-radius:var(--r-l);box-shadow:none;overflow:hidden}
.video,.crt-wrap{border-radius:var(--r-m)}
.video{overflow:hidden;box-shadow:none}
.avatar.r1{box-shadow:0 0 0 2px var(--accent),0 0 0 4px var(--ink)}
.opt-label,
.br-live,
.br-title,
.ticker span,
.cd-meta,
.pt-tag,
.hall-y,
.cm-d small,
.pf-k,
.nr-k,
.sk-stats small,
.ew-d small,
.tk-st,
.tk-crown,
.gk-st{text-transform:none;letter-spacing:.01em}
.sk-stats small,.ew-d small,.cm-d small{font-size:.76rem}
.ticker span{font-family:"Archivo",sans-serif}
.standings li:first-child .rank,
.rank{color:var(--ash)}
.standings.v2 li.top .rank{color:var(--bone)}
.rd-place{color:var(--bone)}
.pt-tag{border-radius:999px;border-color:rgba(239,233,222,.3)}
.pt-tag.hot{background:var(--accent);border-color:var(--accent)}
.pt-steps li::before{border-radius:50%}
.gk-st{border-radius:999px;padding:5px 10px}
.after-solid,.b3{background:var(--ink)}
.after-solid{box-shadow:0 -40px 60px rgba(13,12,11,.9)}
.tv-sec{background:radial-gradient(60% 55% at 50% 58%,rgba(239,233,222,.06),transparent 72%),var(--ink)}
.badge{background:var(--glass),var(--surf);border:1px solid var(--line-dark)}
.b-ico{background:var(--raise);color:var(--bone);box-shadow:0 0 0 1px rgba(239,233,222,.25)}
.mini-badge{background:var(--raise);color:var(--bone);box-shadow:0 0 0 1px rgba(239,233,222,.3)}
.rd-b,.rx-tags li{border-radius:999px}

/* SPOLOČNÝ PROFIL A GHOSKATE */
.mascot-still{display:block}
.mascot-still svg{display:block;width:100%;height:auto}
.pf-ghoskate{margin-top:30px;padding:22px;border:2px solid var(--line-dark);max-width:760px}
.pf-ghoskate p{max-width:62ch;color:var(--muted-dark)}
.pf-loot{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:8px}
.pf-loot li{display:grid;gap:2px;padding:10px 14px;background:linear-gradient(115deg,rgba(159,243,255,.16),rgba(255,198,241,.16) 45%,rgba(255,242,168,.14) 75%,rgba(185,255,207,.16));border-left:4px solid #ffc6f1}
.pf-loot li span{font-size:.9rem;color:var(--muted-dark)}

/* v10.1: bez vlny v pozadí (čitateľnosť), info k rebríčku */
body::before{content:none;display:none;animation:none}
.rk-info{display:grid;gap:8px;margin:0 0 30px;padding:18px 20px;border:1px solid var(--line-dark);border-left:3px solid var(--bone);border-radius:var(--r-m);background:var(--glass),var(--surf)}
.rk-info p{margin:0;color:var(--ash);max-width:62ch}
.rk-info b{color:var(--bone)}

/* ochrana osobných údajov */
.pv{display:grid;gap:4px;max-width:760px}
.pv-sec{padding:20px 0;border-top:1px solid var(--line-dark)}
.pv-sec h2{margin:0 0 10px;font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.7rem;line-height:1}
.pv-sec p,.pv-sec li{margin:0 0 8px;color:var(--ash);line-height:1.6}
.pv-sec b{color:var(--bone)}
.pv-sec ul{margin:0;padding-left:1.1em;display:grid;gap:4px}
.pv-sec a{color:var(--bone)}
.check a{color:inherit;font-weight:700}

/* v11: jeden duch — vpravo hore pri „Môj profil“, levituje a môže presahovať do videa */
.topbar{overflow:visible}
.tb-row{position:relative}
.brand img{height:30px}
.acct,.acct.acct{position:relative;display:inline-flex;align-items:center;gap:0;width:auto;height:46px;padding:0 74px 0 16px;border:1px solid rgba(239,233,222,.22);border-radius:999px;
  background:var(--glass),var(--raise);color:var(--bone);text-decoration:none;overflow:visible}
.acct .acct-t,.acct span.acct-t{display:inline;font-family:"Archivo",sans-serif;font-size:.95rem;font-weight:700;letter-spacing:0;text-transform:none;white-space:nowrap}
.acct-ghost,.acct img.acct-ghost{position:absolute;right:-4px;top:-6px;width:74px;height:auto;z-index:60;pointer-events:none;
  filter:drop-shadow(0 10px 14px rgba(0,0,0,.55));animation:acctFloat 4.6s ease-in-out infinite;transform-origin:50% 80%}
@keyframes acctFloat{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(7px) rotate(3deg)}}
.acct:hover .acct-ghost{animation-play-state:paused;transform:translateY(-3px) rotate(-8deg) scale(1.05)}
.acct.in{border-color:rgba(239,233,222,.4);background:var(--glass),#2a2930}
@media (max-width:760px){ .acct,.acct.acct{display:inline-flex;width:auto;height:44px;padding:0 66px 0 14px} .acct-ghost,.acct img.acct-ghost{width:66px;top:-4px} .acct .acct-t{font-size:.9rem} }
@media (prefers-reduced-motion:reduce){ .acct-ghost{animation:none} }
.has-back .brand img:not(.brand-ghost){display:block}
@media (max-width:380px){ .has-back .brand{display:none} }

/* úvodka: novinky na celú šírku a plne nepriehľadné; od nálepiek eventov už plné pozadie */
.vh-in{max-width:none}
.nr{width:100%;max-width:none;background:linear-gradient(180deg,#1c1b20,#141317);backdrop-filter:none;border-color:rgba(239,233,222,.14)}
.after-solid{background:var(--ink);box-shadow:0 -30px 50px rgba(13,12,11,.85)}
.after-solid .sw-sec{border-top:0}
.acct,.acct.acct{padding-right:80px}
@media (max-width:760px){ .acct,.acct.acct{padding-right:72px} }

/* v11.1: Môj profil bez pozadia, kreslená šípka na malého ducha */
.acct,.acct.acct,.acct.in{height:44px;padding:0 50px 0 0;gap:4px;border:0;background:none;box-shadow:none}
.acct .acct-t{font-size:.92rem;font-weight:700;color:var(--bone)}
.acct-arrow-w{display:inline-flex}
.acct-arrow{width:30px;height:18px;fill:none;stroke:var(--bone);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.85;transform:rotate(6deg) translateY(2px)}
.acct-ghost,.acct img.acct-ghost{width:44px;right:0;top:0}
@media (max-width:760px){ .acct,.acct.acct,.acct.in{padding-right:46px;height:44px} .acct-ghost,.acct img.acct-ghost{width:42px;top:1px} .acct .acct-t{font-size:.88rem} }
.acct:hover .acct-t{text-decoration:underline;text-underline-offset:3px}

/* Skate kalendár v lište: kompaktné písmo */
.tb-cal .er-label,.tb-cal > .er-label{font-family:"Archivo",sans-serif;font-stretch:62%;font-weight:800;font-size:.8rem;letter-spacing:.02em;padding:0 9px 0 10px;gap:5px}
.tb-cal .er-label::before{width:6px;height:6px}

/* novinky: vždy rovnaká výška (nadpis 2 riadky, popis 1 riadok) */
.nr-stage{min-height:0}
.nr-slide{align-items:center}
.nr-k{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nr-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.2;height:2.4em}
.nr-s{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.35;height:1.35em}
.acct span.acct-arrow-w,.acct .acct-arrow-w{display:inline-flex !important}

/* bez samovoľného približovania: dvojklik nezväčší, políčka majú aspoň 16 px (iOS inak zväčší pri písaní) */
html{touch-action:manipulation;overflow-x:clip}
body{overflow-x:clip;max-width:100%}
input,select,textarea,.rk-search,.ev-search,.login-help textarea,.news-row input{font-size:16px !important}

/* eventy: jedna stránka, tri časti */
.ev-search{width:100%;min-height:50px;padding:12px 16px;border:1px solid rgba(239,233,222,.2);border-radius:var(--r-m);background:#0f0e11;color:var(--bone);font:inherit}
.ev-search:focus{outline:none;border-color:var(--bone)}

/* =====================================================================
   v12: desktop – všetok obsah v jednom stĺpci 1200 px (logo vľavo = ľavý okraj,
   Menu vpravo = pravý okraj). Na celú šírku ostáva len lišta Skate kalendár
   a hero video. 3D doska na úvodke je v stĺpci; na vlastnej stránke /doska ostáva na celú šírku.
   ===================================================================== */
.wrap,.tb-row{padding-left:16px;padding-right:16px}
.vh-in,.wrap.vh-in{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px;box-sizing:border-box}
.nr{width:100%;max-width:none}
.b3:not(.page){max-width:1200px;margin-left:auto;margin-right:auto;border-left:1px solid var(--line-dark);border-right:1px solid var(--line-dark)}
.b3:not(.page) .b3-stage{height:min(72vh,680px);min-height:480px}
.b3:not(.page) .b3-ui{padding:clamp(16px,2.4vw,28px)}
@media (max-width:1232px){ .b3:not(.page){border-left:0;border-right:0} }

/* v12: veľký duch za nápisom GOSko na úvodke – vzadu, trochu rozmazaný, jemný paralax */
.vh-in{position:relative}
.vh-in > *{position:relative;z-index:1}
.vh-in > .vh-bigghost{position:absolute;z-index:0;left:clamp(150px,24%,330px);bottom:-4%;width:clamp(260px,32vw,500px);height:auto;opacity:.9;
  filter:blur(1.4px) drop-shadow(0 24px 40px rgba(0,0,0,.55));
  transform:translate3d(var(--gx,0px),calc(var(--gy,0px) + var(--sy,0px)),0) rotate(-7deg);transition:transform .35s ease-out;pointer-events:none;will-change:transform}
@media (max-width:720px){
  .vh-in > .vh-bigghost{left:auto;right:-8%;bottom:auto;top:-6%;width:64vw;filter:blur(1px) drop-shadow(0 16px 30px rgba(0,0,0,.55))}
  /* mobil: menšia medzera medzi novinkami a „Kde sme jazdili“ */
  .vh-in,.wrap.vh-in{padding-bottom:14px}
  .after-hero .after-solid > .sw-sec:first-child,.after-hero .after-solid > section:first-child{padding-top:26px}
}
@media (prefers-reduced-motion:reduce){ .vh-in > .vh-bigghost{transition:none} }
/* nápis a podtitul čitateľné aj cez krémového ducha: tmavé halo */
.vh-logo .vh-word{filter:drop-shadow(0 0 2px rgba(14,13,12,.95)) drop-shadow(0 0 6px rgba(14,13,12,.85)) drop-shadow(0 12px 28px rgba(0,0,0,.6))}
.vh-tag2{text-shadow:0 0 3px rgba(14,13,12,.95),0 0 8px rgba(14,13,12,.8),0 2px 10px rgba(0,0,0,.6)}
.vh-in > .vh-bigghost{left:clamp(200px,30%,420px);width:clamp(300px,38vw,600px);opacity:.88}
@media (max-width:720px){ .vh-in > .vh-bigghost{right:-10%;top:-8%;width:68vw} }
/* v12.1: duch za nápisom menší a s čiernym obrysom (img/ghost.svg) */
.vh-in > .vh-bigghost{left:clamp(190px,27%,380px);width:clamp(220px,26vw,400px);bottom:-2%;opacity:.95;filter:blur(1px) drop-shadow(0 20px 36px rgba(0,0,0,.5))}
@media (max-width:720px){ .vh-in > .vh-bigghost{right:-4%;top:-2%;width:50vw} }

/* ---------- úprava ducha (Môj profil) ---------- */
.pf-ghost-ed{margin-top:30px;max-width:980px}
.pf-ghost-ed>h2{margin-bottom:6px}
.pf-ghost-ed>p{max-width:62ch;color:var(--muted-dark);margin-top:0}
.pf-avatar canvas{touch-action:none}
.pf-avatar[data-scene=sunset]{background:radial-gradient(60% 55% at 50% 55%,rgba(255,140,60,.28),transparent 70%)}
.pf-avatar[data-scene=snow]{background:radial-gradient(60% 55% at 50% 55%,rgba(190,210,255,.22),transparent 70%)}
.pf-avatar[data-scene=rain]{background:radial-gradient(60% 55% at 50% 55%,rgba(90,110,180,.22),transparent 70%)}
.ge{border:2px solid var(--line-dark);background:rgba(14,13,12,.6);display:flex;flex-direction:column;min-width:0}
.ge-tabs{display:flex;overflow-x:auto;border-bottom:2px solid var(--line-dark);scrollbar-width:none}
.ge-tabs::-webkit-scrollbar{display:none}
.ge-tab{appearance:none;background:none;border:0;border-bottom:3px solid transparent;color:var(--muted-dark);font:800 .92rem/1 var(--f-body,inherit);padding:15px 14px 13px;cursor:pointer;white-space:nowrap}
.ge-tab[aria-selected="true"]{color:var(--cream);border-bottom-color:var(--red)}
.ge-pane{padding:16px;display:grid;gap:20px;max-height:min(62vh,560px);overflow-y:auto;overscroll-behavior:contain}
.ge-sec h3{margin:0 0 10px;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
.ge-sws{display:flex;flex-wrap:wrap;gap:10px}
.ge-sw{appearance:none;width:40px;height:40px;border-radius:50%;border:2px solid var(--line-dark);cursor:pointer;position:relative;padding:0}
.ge-sw[aria-pressed="true"]{box-shadow:0 0 0 3px var(--black),0 0 0 5px var(--cream)}
.ge-sw.custom{background:conic-gradient(#ff3d00,#ffc61a,#39ff14,#00a8ff,#b026ff,#ff1f7a,#ff3d00);overflow:hidden}
.ge-sw.custom input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.ge-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(136px,1fr));gap:8px}
.ge-opt{appearance:none;position:relative;text-align:left;background:rgba(255,255,255,.03);border:1px solid var(--line-dark);color:var(--cream);padding:11px;cursor:pointer;display:grid;gap:5px;font:inherit;min-height:80px;align-content:start}
.ge-opt[aria-pressed="true"]{border-color:var(--cream);background:rgba(243,235,221,.08)}
.ge-opt.locked{cursor:help}
.ge-opt.locked b,.ge-opt.locked small{opacity:.45}
.ge-opt b{font-size:.95rem;line-height:1.15}
.ge-opt small{color:var(--muted-dark);font-size:.78rem;line-height:1.3}
.ge-lock{position:absolute;right:8px;top:8px;width:16px;height:16px;border:2px solid var(--muted-dark);border-radius:3px}
.ge-lock::before{content:"";position:absolute;left:2px;top:-8px;width:6px;height:8px;border:2px solid var(--muted-dark);border-bottom:0;border-radius:4px 4px 0 0}
.ge-chip{justify-self:start;font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 5px;border:1px solid currentColor}
.r-free{color:var(--muted-dark)} .r-event{color:#5cc8ff} .r-wave{color:#c4adff} .r-win{color:#f2c23a}
.ge-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ge-fine{display:grid;gap:14px}
.ge-sl{display:grid;grid-template-columns:96px 1fr 40px;gap:10px;align-items:center;font-weight:700;font-size:.9rem}
.ge-sl output{font-size:.8rem;color:var(--muted-dark);text-align:right;font-variant-numeric:tabular-nums}
.ge-sl input[type=range]{width:100%;accent-color:var(--red);min-width:0}
.ge-tgl{display:flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem;cursor:pointer}
.ge-tgl input{width:20px;height:20px;accent-color:var(--red)}
.ge-legend{display:grid;gap:8px;font-size:.85rem;color:var(--muted-dark)}
.ge-legend div{display:flex;gap:10px;align-items:baseline}
.ge-note{font-size:.85rem;color:var(--muted-dark);max-width:62ch;margin:0}
.ge-note:empty{display:none}
.ge-lvl{margin:0 0 8px;display:grid;gap:2px}.ge-lvl b{font-size:1.05rem}.ge-lvl span{color:var(--muted-dark);font-size:.9rem}
.ge-lvls{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.ge-lvls li{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--line-dark);opacity:.5}
.ge-lvls li.on{opacity:1;border-color:var(--cream)}
.ge-lvls li b{font-size:.92rem}.ge-lvls li small{color:var(--muted-dark);font-size:.8rem}.ge-lvls li span{font-size:.8rem}
.ge-ini{font:800 1.3rem var(--f-display,inherit);letter-spacing:.1em;width:90px;padding:8px 10px;background:rgba(255,255,255,.04);border:1px solid var(--line-dark);color:var(--cream);text-transform:uppercase}
.r-lvl{color:#7fd6a0}
.pf-avatar[data-scene=day]{background:radial-gradient(60% 55% at 50% 55%,rgba(120,180,255,.28),transparent 70%)}
.pf-avatar[data-scene=garage]{background:radial-gradient(60% 55% at 50% 55%,rgba(57,255,20,.12),transparent 70%)}
.pf-avatar[data-scene=bridge]{background:radial-gradient(60% 55% at 50% 55%,rgba(255,138,58,.18),transparent 70%)}
.pf-avatar[data-scene=rooftop]{background:radial-gradient(60% 55% at 50% 55%,rgba(255,160,80,.25),transparent 70%)}
.pf-avatar canvas.pixel,.pf-avatar canvas.ps1{image-rendering:pixelated;image-rendering:crisp-edges}
.pf-avatar canvas.pixel{aspect-ratio:1/1}

/* v13: duch na úvodke malý, vľavo hore nad nápisom GOSko (v toku, nezakrýva video) */
.vh-in > .vh-bigghost{position:relative;z-index:1;left:auto;right:auto;top:auto;bottom:auto;width:clamp(56px,6.5vw,92px);opacity:1;margin:0 0 -4px 4px;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.55));transform:translate3d(calc(var(--gx,0px) * .25),calc(var(--gy,0px) * .25),0) rotate(-8deg)}
@media (max-width:720px){ .vh-in > .vh-bigghost{left:auto;right:auto;top:auto;width:58px;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))} }
@media (prefers-reduced-motion:no-preference){ .vh-in > .vh-bigghost{animation:vhGhostBob 4.5s ease-in-out infinite} }
@keyframes vhGhostBob{0%,100%{translate:0 0}50%{translate:0 -6px}}
/* v12.2: telka na úvodke – bez nápisu GOSko TV, bez polaroidov a betónu; video vyplní obrazovku (orezané, bez pásov) */
.tv-scene.plain .crt-wrap{width:100%}
.tv-scene.plain .crt-ledge{display:none}
.crt-video{top:0;bottom:0;left:50%;right:auto;width:auto;height:100%;aspect-ratio:16 / 9;transform:translateX(-50%)}
.tv-under{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}
.feed-bottom.hs{padding-top:28px;padding-bottom:36px}
.fb-grid{gap:20px}
@media (min-width:900px){ .fb-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} .fb-tv .tv-scene{margin-top:0} }
.fb-card{padding:16px;gap:6px}
.fb-card h3{font-size:1.45rem}
.fb-card p{font-size:.95rem}
.fb-card.news-card h3{font-size:1.7rem}
.fb-card .btn.cta{margin-top:4px}

/* =====================================================================
   v12.3: karty jazdcov – fotka jazdca na pozadí, bez kruhu s iniciálami,
   doska vpravo dole; pri myši sa zväčší, vyjde z karty a jemne sa hýbe (paralax).
   ===================================================================== */
.sk-cards{overflow:visible}
.sk-card,.sk-card.r1{position:relative;display:grid;grid-template-rows:auto 1fr auto auto;gap:10px;min-height:clamp(300px,30vw,420px);padding:14px 14px 16px;overflow:visible;isolation:isolate;
  background:#17161a;border-radius:var(--r-l,14px);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d}
.sk-card.r1{transform:translateY(-14px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.sk-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;pointer-events:none}
.sk-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%;filter:saturate(.9) contrast(1.05);transform:scale(1.04) translate(calc((50% - var(--mx,50%)) * .06),calc((50% - var(--my,50%)) * .06));transition:transform .35s ease-out}
.sk-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,13,12,.35) 0%,rgba(14,13,12,0) 30%,rgba(14,13,12,0) 42%,rgba(14,13,12,.9) 78%,rgba(14,13,12,.97) 100%)}
.sk-card.r1 .sk-shade{background:linear-gradient(180deg,rgba(60,10,10,.35) 0%,rgba(14,13,12,0) 30%,rgba(14,13,12,0) 42%,rgba(40,8,8,.9) 78%,rgba(30,6,6,.98) 100%)}
.sk-holo{border-radius:inherit}
.sk-top{position:relative;z-index:2}
.sk-rank{text-shadow:0 2px 10px rgba(0,0,0,.7)}
.sk-art{position:relative;z-index:3;display:block;height:auto;min-height:clamp(110px,14vw,180px);pointer-events:none}
.sk-art .board-img,.sk-art .sk-bimg{position:absolute;right:-6%;bottom:-24%;height:clamp(150px,19vw,250px);width:auto;transform-origin:50% 80%;
  transform:rotate(14deg) translate3d(calc((var(--mx,50%) - 50%) * -.18),calc((var(--my,50%) - 50%) * -.18),0);
  filter:drop-shadow(0 16px 18px rgba(0,0,0,.6));transition:transform .35s cubic-bezier(.2,.8,.2,1),filter .35s}
.sk-card:hover .sk-art .board-img,.sk-card:hover .sk-art .sk-bimg{transform:rotate(6deg) scale(1.22) translate3d(calc((var(--mx,50%) - 50%) * -.26),calc((var(--my,50%) - 50%) * -.26 - 10px),40px);filter:drop-shadow(0 30px 30px rgba(0,0,0,.65))}
.sk-card:hover .sk-photo{transform:scale(1.08) translate(calc((50% - var(--mx,50%)) * .08),calc((50% - var(--my,50%)) * .08))}
.sk-name{position:relative;z-index:2;max-width:68%;text-shadow:0 2px 10px rgba(0,0,0,.8)}
.sk-stats{position:relative;z-index:2;border-top-color:rgba(243,235,221,.18)}
.sk-cards.few .sk-card{min-height:360px}
@media (max-width:720px){
  .sk-card,.sk-card.r1{min-height:330px;transform:none}
  .sk-art .board-img,.sk-art .sk-bimg{height:170px;right:-4%;bottom:-18%}
}

/* v12.4: komunita – Discord fialová, Trik týždňa červená; skryté crew rozmazané */
.cm-card.red{background:linear-gradient(135deg,#c41a1f,#7a1012 75%);border-color:#e0474b;color:var(--cream)}
.cm-card.red .mono,.cm-card.red span:not(.mono){color:#fbe9e3}
.crew-card.blur{position:relative;pointer-events:none;user-select:none;border-style:dashed}
.crew-card.blur > *{filter:blur(10px);opacity:.5}
.crew-card.blur::after{content:"Čoskoro";position:absolute;inset:auto 14px 14px auto;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}

/* v12.5: mapa – skateparky ako karty s fotkou (alebo grafikou), „Na mape“ a „Navigovať“ */
.park-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.park-card{padding:0;gap:0;overflow:hidden;border-radius:var(--r-l,14px);background:var(--surf,#17161a)}
.pk-img{position:relative;display:block;width:100%;aspect-ratio:16 / 10;margin:0;padding:0;border:0;background:#111;cursor:pointer;overflow:hidden}
.pk-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}
.park-card:hover .pk-img img{transform:scale(1.05)}
.pk-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(135deg,#2b2721,#141311),repeating-linear-gradient(135deg,transparent 0 18px,rgba(243,235,221,.04) 18px 19px)}
.pk-ph span{font-family:var(--f-display);font-size:clamp(1.6rem,3vw,2.4rem);text-transform:uppercase;color:rgba(243,235,221,.35);letter-spacing:.02em}
.pk-img .pk-tag{position:absolute;left:10px;top:10px;background:rgba(14,13,12,.75);border-color:rgba(243,235,221,.25);color:var(--cream)}
.pk-img .pk-tag.hot{background:var(--red);border-color:var(--red)}
.pk-body{display:grid;gap:4px;padding:14px 16px 16px}
.pk-body b{font-size:1.25rem}
.pk-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
.map{border-radius:var(--r-l,14px);border:1px solid var(--line-dark);box-shadow:none;overflow:hidden}

/* =====================================================================
   v12.6: EVENTY ako jedna stránka s tromi pásmi
   1) GOSko nálepky – 3D kolotoč, 2) Slovensko a Česko – karty zľava doprava,
   3) svet – malé karty sprava doľava. Pás stojí, kým je na ňom myš alebo prst.
   ===================================================================== */
/* 3D kolotoč nálepiek */
/* bežiace pásy */
/* karta SK/CZ */
/* karta svet */
.wc{flex:0 0 auto;display:flex;align-items:center;gap:10px;max-width:300px;padding:10px 14px 10px 10px;text-decoration:none;color:var(--cream);border:1px solid var(--line-dark);border-radius:999px;background:var(--surf,#17161a);transition:transform .2s,border-color .2s}
.wc:hover{transform:translateY(-2px);border-color:rgba(243,235,221,.5)}
.wc.live{border-color:var(--red)}
.wc .evb.prize{margin-left:4px}

/* =====================================================================
   v12.7: top 3 karty vždy tri vedľa seba (aj na mobile, bez scrollu),
   doska na úvodke len ako ukážka, nálepky eventov bližšie k sebe, svet pod sebou
   ===================================================================== */
.sk-cards,
.page-body .sk-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;overflow:visible;scroll-snap-type:none;padding:0}
@media (max-width:720px){
  .sk-cards{gap:8px;padding:12px 0 6px}
  .sk-card,.sk-card.r1{min-height:230px;padding:9px 9px 10px;gap:6px;scroll-snap-align:none}
  .sk-rank{font-size:1.5rem}
  .sk-cat{display:none}
  .sk-art{min-height:72px}
  .sk-art .board-img,.sk-art .sk-bimg{height:96px;right:-10%;bottom:-18%}
  .sk-name{max-width:100%;font-size:.86rem;line-height:1.05}
  .sk-stats{grid-template-columns:1fr;gap:1px;padding-top:6px}
  .sk-stats span{display:flex;align-items:baseline;gap:4px}
  .sk-stats b{font-size:1rem}
  .sk-stats small{font-size:.58rem}
  .sk-stats span:nth-child(n+3){display:none}
}
/* doska ako ukážka na úvodke */
.bt-sec{padding:34px 0 40px}
.bt{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:20px;min-height:380px;padding:0 clamp(16px,3vw,36px) 0 0;border:1px solid var(--line-dark);border-radius:var(--r-l,14px);background:linear-gradient(135deg,#1c1b20,#121115);color:var(--cream);text-decoration:none;overflow:hidden;isolation:isolate}
.bt-stage{position:relative;height:100%;min-height:380px}
.bt-stage canvas{display:block;width:100%;height:100%;pointer-events:none}
.bt-copy{display:grid;gap:12px;justify-items:start;padding:26px 0}
.bt-h{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.9rem,4vw,3rem);line-height:.95}
.bt-p{color:var(--muted-dark);font-size:.98rem;max-width:40ch}
.bt:hover .btn{background:#c81b20}
@media (max-width:760px){ .bt{grid-template-columns:1fr;padding:0 16px 18px;min-height:0} .bt-stage{min-height:260px;margin:0 -16px} .bt-copy{padding:4px 0 0} }
/* nálepky eventov: prekryté ako kôpka, stredná navrchu */
/* svet pod sebou na celú šírku */

/* v12.8: hlavička ostáva pripnutá hore pri rolovaní (overflow-x:clip namiesto hidden), tlačidlo Hore */
.to-top{position:fixed;z-index:60;right:max(16px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(243,235,221,.3);border-radius:50%;background:rgba(22,21,26,.92);color:var(--cream);cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.45);transition:transform .2s,border-color .2s}
.to-top[hidden]{display:none}
.to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.to-top:hover{border-color:var(--cream);transform:translateY(-2px)}
@media (max-width:760px){ .to-top{bottom:calc(var(--tabh) + 14px)} }

/* v12.9: WhatsApp karta, žiadne video nad hlavičkou pri potiahnutí, rohy telky */
.cm-card.whatsapp,.cm-card.whatsapp.soon{background:linear-gradient(135deg,#25d366,#128c4a 70%,#0b5c31);border-color:#3fe07f;color:#fff}
.cm-card.whatsapp .mono,.cm-card.whatsapp span:not(.mono){color:#e6ffef}
/* iPhone: potiahnutie stránky hore/dole neodhalí video za hlavičkou */
html,body{overscroll-behavior-y:none;background:#0e0d0c}
.topbar::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:100vh;background:#18171c;pointer-events:none}
/* telka: video ostane vnútri zaoblenej obrazovky (Safari inak nechá iframe presvitať v rohoch) */
.crt-screen{-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:radial-gradient(white,black);transform:translateZ(0)}
.crt-screen::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 60px #0d0d0c,inset 0 0 26px 6px rgba(0,0,0,.65)}
/* 3D duch v hlavičke */
.acct .acct-ghost3d{position:absolute;right:-14px;top:-12px;width:68px;height:68px;display:block;z-index:60;pointer-events:none;animation:none;filter:drop-shadow(0 8px 12px rgba(0,0,0,.5))}
.acct .acct-ghost3d .acct-ghost-img{position:absolute;left:12px;top:12px;width:44px;height:auto;animation:acctFloat 4.6s ease-in-out infinite}
.acct .acct-ghost3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.acct .acct-ghost3d.live .acct-ghost-img{display:none}
.acct .acct-ghost3d .mascot-still{display:none}
@media (max-width:760px){ .acct .acct-ghost3d{width:62px;height:62px;right:-12px;top:-10px} }

/* =====================================================================
   v13: EVENTY ako HLTV – jeden zoznam po mesiacoch.
   GOSko = zlaté a najväčšie, Slovensko a Česko = biele, svet = sivé a menšie.
   ===================================================================== */
.ev-page2{--gold:#e2b53c;--gold-2:#b88a1d}
.evl-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:4px 0 12px}
.evl-tools .ev-search{flex:1 1 260px;min-height:44px}
.evl-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 18px;font-size:.82rem;color:var(--muted-dark)}
.evl-legend .lead{margin-right:auto}
.lg-t{display:inline-flex;align-items:center;gap:6px}
.lg-t::before{content:"";width:10px;height:10px;border-radius:2px;background:currentColor}
.lg-t.t-gosko{color:var(--gold)}.lg-t.t-local{color:var(--cream)}.lg-t.t-world{color:#8a857e}
.evl-month{margin:0 0 22px}
.evl-mh{margin:0 0 8px;padding:0 0 6px;border-bottom:1px solid var(--line-dark);font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.25rem;letter-spacing:.02em;color:var(--cream)}
.evl-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.evl-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 14px;border:1px solid var(--line-dark);border-radius:var(--r-m,10px);background:#17161a;transition:border-color .15s,background .15s}
.evl-row:hover{border-color:rgba(243,235,221,.35)}
.evl-date{display:grid;justify-items:center;align-content:center;min-width:64px;padding:6px 8px;border-radius:8px;background:rgba(243,235,221,.06);line-height:1}
.evl-date b{font-family:var(--f-display);font-weight:400;font-size:1.9rem;line-height:.95;white-space:nowrap}
.evl-date span{font-family:var(--f-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-dark);margin-top:4px}
.evl-date.soon b{color:var(--muted-dark)}
.evl-main{display:grid;gap:3px;min-width:0}
.evl-tag{display:flex;align-items:center;gap:8px;font-size:.66rem;color:var(--muted-dark)}
.evl-tag .evb{font-style:normal}
.evl-name{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.3rem;line-height:1.05;color:var(--cream);text-decoration:none;overflow-wrap:anywhere}
a.evl-name:hover{text-decoration:underline;text-underline-offset:3px}
.evl-desc{font-size:.88rem;color:var(--muted-dark)}
.evl-prize{font-size:.82rem;font-weight:700;color:#e8d9b4}
.evl-side{display:flex;align-items:center;gap:16px;justify-content:flex-end}
.evl-loc{display:flex;align-items:center;gap:8px;min-width:140px}
.evl-loc > span{display:grid;line-height:1.15}
.evl-loc b{font-size:.92rem}
.evl-loc small{font-size:.76rem;color:var(--muted-dark)}
.evl-act{display:flex;align-items:center;gap:8px}
.evl-ig{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line-dark);border-radius:50%;color:var(--cream)}
.evl-ig:hover{border-color:var(--cream)}
.evl-igi svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
/* GOSko – zlaté, najväčšie */
.evl-row.t-gosko{padding:18px 18px;border-color:rgba(226,181,60,.55);background:linear-gradient(100deg,rgba(226,181,60,.16),rgba(226,181,60,.04) 45%,#17161a 80%)}
.evl-row.t-gosko .evl-date{min-width:84px;padding:10px;background:linear-gradient(160deg,var(--gold),var(--gold-2));color:#1a1408}
.evl-row.t-gosko .evl-date b{font-size:2.6rem}
.evl-row.t-gosko .evl-date span{color:#3a2c0a}
.evl-row.t-gosko .evl-tag{color:var(--gold)}
.evl-row.t-gosko .evl-name{font-size:clamp(1.6rem,3vw,2.2rem);color:#f6dc8f}
.evl-row.t-gosko:hover{border-color:var(--gold)}
/* Slovensko a Česko – biele */
.evl-row.t-local .evl-date{background:var(--cream);color:#151312}
.evl-row.t-local .evl-date span{color:#5e554b}
.evl-row.t-local .evl-tag{color:var(--cream)}
/* svet – sivé, menšie */
.evl-row.t-world{padding:8px 12px;gap:12px;background:#121114;border-color:rgba(243,235,221,.07)}
.evl-row.t-world .evl-date{min-width:54px;padding:4px 6px;background:#25232a}
.evl-row.t-world .evl-date b{font-size:1.35rem;color:#bdb6ad}
.evl-row.t-world .evl-name{font-size:1rem;color:#c9c2b8}
.evl-row.t-world .evl-desc{font-size:.8rem}
.evl-row.t-world .evl-loc b{color:#bdb6ad}
.evl-row.live{box-shadow:inset 3px 0 0 var(--red)}
@media (max-width:760px){
  .evl-row{grid-template-columns:auto minmax(0,1fr);gap:12px}
  .evl-side{grid-column:1 / -1;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid rgba(243,235,221,.06)}
  .evl-loc{min-width:0}
  .evl-row.t-world .evl-side{grid-column:2;border-top:0;padding-top:0}
  .evl-row.t-world .evl-act{display:none}
}
/* spot mesiaca s fotkou */
.som.has-photo{position:relative;overflow:hidden}
.som-img{display:block;width:calc(100% + 2px);margin:-1px -1px 12px;aspect-ratio:16 / 8;object-fit:cover;border-radius:var(--r-l,14px) var(--r-l,14px) 0 0}

/* stránka eventu z kalendára (iní organizátori): video na výšku, info, fotky */
.cev-top{display:grid;gap:24px;align-items:start}
@media (min-width:860px){ .cev-top{grid-template-columns:minmax(0,360px) minmax(0,1fr)} }
.cev-info{display:grid;gap:14px;align-content:start}
.cev-info .lead{margin:0;font-size:1.05rem;line-height:1.5}
.cev-info .lead a{color:var(--cream);text-decoration:underline;text-underline-offset:3px}
.cev-facts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.cev-facts li{display:grid;gap:2px;padding:10px 12px;border:1px solid var(--line-dark);border-radius:var(--r-m,10px);background:#17161a}
.cev-facts .mono{font-size:.7rem;color:var(--muted-dark)}
.cev-photos{margin-top:30px}
.cev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.cev-ph{display:block;padding:0;border:0;border-radius:var(--r-m,10px);overflow:hidden;background:#111;cursor:zoom-in}
.cev-ph img{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;transition:transform .3s}
.cev-ph:hover img{transform:scale(1.04)}
@media (max-width:520px){ .cev-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
/* event z kalendára len s fotkami; skatepark s galériou */
.cev-top{grid-template-columns:1fr!important}
.pk-count{position:absolute;right:10px;bottom:10px;padding:3px 8px;border-radius:999px;background:rgba(14,13,12,.8);color:var(--cream);font-size:.68rem}
.som-imgb{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.som-strip{display:flex;gap:6px;overflow-x:auto;margin:0 0 12px;scrollbar-width:none}
.som-strip button{flex:0 0 74px;height:96px;padding:0;border:0;border-radius:8px;overflow:hidden;cursor:zoom-in;background:#111}
.som-strip img{width:100%;height:100%;object-fit:cover;display:block}

/* =====================================================================
   v14: MENU – profil, 3 veľké karty, zoznam v riadkoch, drobné odkazy
   ===================================================================== */
.sh-big{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 0}
.shb{position:relative;display:grid;align-content:end;gap:4px;min-height:104px;padding:14px;border:1px solid var(--line-dark);border-radius:var(--r-m,12px);background:var(--glass,none),var(--surf,#17161a);color:var(--cream);text-decoration:none;overflow:hidden;transition:border-color .15s,transform .15s}
.shb:active{transform:scale(.98)}
.shb:hover{border-color:rgba(243,235,221,.4)}
.shb svg{position:absolute;right:12px;top:12px;width:26px;height:26px;fill:none;stroke:var(--muted-dark);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.shb b{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:1.35rem;line-height:1}
.shb small{font-size:.8rem;color:var(--muted-dark)}
.shb.next{grid-column:1 / -1;min-height:118px;padding:16px;border-color:rgba(226,181,60,.55);background:linear-gradient(110deg,rgba(226,181,60,.22),rgba(160,20,20,.18) 70%),var(--surf,#17161a)}
.shb.next .mono{font-size:.72rem;color:#e2b53c;margin:0}
.shb.next b{font-size:1.8rem;color:#f6dc8f}
.shb.next small{color:#e8dcc4}
.sh-list{display:grid;margin:14px 0 0;border:1px solid var(--line-dark);border-radius:var(--r-m,12px);overflow:hidden;background:var(--surf,#17161a)}
.sh-list a{display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:14px;min-height:58px;padding:8px 14px;color:var(--cream);text-decoration:none;border-top:1px solid var(--line-dark)}
.sh-list a:first-child,.sh-list a[hidden] + a:not([hidden]){border-top:0}
.sh-list a[hidden]{display:none}
.sh-list a:hover,.sh-list a:active{background:rgba(243,235,221,.06)}
.sh-list svg{width:24px;height:24px;fill:none;stroke:var(--cream);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.85}
.sh-list span{display:grid;gap:1px;min-width:0}
.sh-list b{font-size:1rem;font-weight:700}
.sh-list small{font-size:.8rem;color:var(--muted-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sh-list .sh-chev{width:16px;height:16px;stroke:var(--muted-dark);opacity:1}
.sh-list a[aria-current]{background:rgba(160,20,20,.18)}
.sh-small{display:flex;flex-wrap:wrap;gap:6px 16px;margin:18px 2px 4px;font-size:.88rem}
.sh-small a{color:var(--muted-dark);text-decoration:none;padding:6px 0}
.sh-small a:hover{color:var(--cream)}
.sh-small a[hidden]{display:none}
.sh-small .sh-social{color:var(--cream)}
@media (min-width:761px){ .sh-big{grid-template-columns:repeat(2,minmax(0,1fr))} }

/* v14.1: shop – na mobile 2 produkty vedľa seba, kompaktné karty */
@media (max-width:620px){
  .page-body .cards:has(.product){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card.product .card-body{padding:10px 10px 12px;gap:4px}
  .card.product .card-title{font-size:.95rem}
  .card.product .card-body p{font-size:.8rem;margin:0}
  .card.product .price{font-size:.75rem}
  .card.product .btn{width:100%;min-height:42px;padding:0 10px;font-size:.85rem}
}

/* =====================================================================
   v14.2: Pre partnerov – rovnaký obsah, zhustené (menej medzier, viac vedľa seba)
   ===================================================================== */
body[data-page="partneri"] .sec{padding-top:30px;padding-bottom:30px}
body[data-page="partneri"] .sec h2{font-size:clamp(1.7rem,6vw,3rem);margin-bottom:8px}
body[data-page="partneri"] .pt-k{margin-bottom:6px}
body[data-page="partneri"] .lead{margin-top:6px;margin-bottom:10px}
body[data-page="partneri"] .pt-hero{min-height:0;padding-top:34px;padding-bottom:30px}
body[data-page="partneri"] .pt-h{font-size:clamp(2rem,8vw,4.2rem)}
body[data-page="partneri"] .pt-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
body[data-page="partneri"] .pt-facts li{margin:0;padding:0}
body[data-page="partneri"] .pt-photo{max-height:260px;width:100%;object-fit:cover}
body[data-page="partneri"] .pt-video{max-width:620px;margin-left:auto;margin-right:auto}
body[data-page="partneri"] .pt-why{gap:10px}
body[data-page="partneri"] .pt-why > *{padding-top:8px;padding-bottom:8px}
@media (max-width:760px){
  /* karty vedľa seba s posúvaním do strany namiesto pod sebou */
  body[data-page="partneri"] .pt-content,
body[data-page="partneri"] .pt-three{display:grid;grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
  body[data-page="partneri"] .pt-content > *,
body[data-page="partneri"] .pt-three > *{scroll-snap-align:start}
  body[data-page="partneri"] .pt-plan{gap:8px}
  body[data-page="partneri"] .pt-split{gap:16px}
  body[data-page="partneri"] .pt-photo{max-height:200px}
  body[data-page="partneri"] .pt-steps li{padding-top:6px;padding-bottom:6px}
}
@media (max-width:760px){
  body[data-page="partneri"] .cards:has(.pack){display:grid;grid-auto-flow:column;grid-auto-columns:84%;grid-template-columns:none;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
  body[data-page="partneri"] .cards:has(.pack) > li{scroll-snap-align:start}
}

/* =====================================================================
   v15: opravy po kontrole celého webu
   ===================================================================== */
/* karty top 3 bez vlastnej fotky: grafické pozadie s iniciálami (žiadna cudzia tvár) */
.sk-bg.nophoto{background:radial-gradient(120% 80% at 80% 10%,rgba(160,20,20,.35),transparent 60%),repeating-linear-gradient(135deg,transparent 0 22px,rgba(243,235,221,.035) 22px 23px),#1a181d}
.sk-card.r1 .sk-bg.nophoto{background:radial-gradient(120% 80% at 80% 10%,rgba(226,181,60,.28),transparent 60%),repeating-linear-gradient(135deg,transparent 0 22px,rgba(243,235,221,.04) 22px 23px),#2a1010}
.sk-ini{position:absolute;left:12px;top:44%;transform:translateY(-50%);font-family:var(--f-display);font-size:clamp(4rem,9vw,7rem);line-height:1;color:rgba(243,235,221,.09);letter-spacing:-.02em}
@media (max-width:720px){ .sk-ini{font-size:3.2rem;left:8px} }
/* crew: prázdny zoznam eventov cez celú šírku */
.cal-mini li.empty{display:block}
/* Instagram karta v komunite */
.cm-card.insta{background:linear-gradient(135deg,#833ab4,#c13584 45%,#e1306c 70%,#f77737);border-color:#e1306c;color:#fff}
.cm-card.insta .mono,.cm-card.insta span:not(.mono){color:#ffe9f3}
/* eventy na mobile: filtre v jednom posuvnom riadku */
@media (max-width:760px){
  .evl-tools{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}
  .evl-tools::-webkit-scrollbar{display:none}
  .evl-tools .ev-search{flex:0 0 220px}
  .evl-tools .chips{flex-wrap:nowrap}
  .evl-tools > *{flex:none}
}
.evl-date.tentative b{font-size:1.5rem}
.evl-row.t-gosko .evl-date.tentative b{font-size:1.9rem}
/* mapa: menšia fotka spotu mesiaca, nech mapa ostane hore */
.som-img{aspect-ratio:16 / 6;max-height:300px}
@media (max-width:720px){ .som-img{aspect-ratio:16 / 8} }
/* galéria: počítadlo */
.lb-count{margin-right:auto;align-self:center;color:var(--cream);font-size:.85rem}
/* garáž dosky na počítači: panel vpravo, doska vľavo */
@media (min-width:1100px){
  .b3.page .b3-ui{grid-template-columns:minmax(0,1fr) 440px;grid-template-rows:auto 1fr}
  .b3.page .b3-garage{grid-column:2;grid-row:1 / span 2;align-self:start;justify-self:end;width:440px;max-height:calc(100svh - 140px);overflow:auto}
  .b3.page .b3-head{grid-column:1}
}
/* pätička zarovnaná so stĺpcom, väčšie plochy na prst */
footer .wrap > p{padding-left:0;margin-left:0}
footer .foot-cols a{display:inline-flex;align-items:center;min-height:40px}
.brand{padding:7px 4px;margin-left:-4px}
.sh-acct small{white-space:normal}
.news-form .news-go{margin-top:10px}
/* Kto sme: ľudia */
.ab-team{margin-top:34px}
.team{list-style:none;margin:10px 0 14px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.tm{display:flex;gap:14px;align-items:center;padding:14px;border:1px solid var(--line-dark);border-radius:var(--r-m,12px);background:var(--surf,#17161a)}
.tm-ini{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;background:#2b2420;font-family:var(--f-display);font-size:1.3rem;color:var(--cream)}
.tm-body{display:grid;gap:2px;min-width:0}
.tm-body b{font-size:1.05rem}
.tm-body > span{color:var(--muted-dark);font-size:.88rem}
.tm-links{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px}
.tm-links a{color:var(--cream);font-size:.86rem;padding:4px 0}
.evl-row.t-gosko .evl-date.soon b{color:#1a1408}
/* Môj profil: editor dosky (ten istý ako v garáži) */
.pf-board{margin-top:30px;max-width:980px}
.pf-board > p{color:var(--muted-dark);max-width:62ch;margin-top:0}
.b3-garage.pf-garage{position:static;width:100%;max-width:760px;margin:12px 0 14px;justify-self:auto;background:var(--surf,#17161a);border:1px solid var(--line-dark);border-radius:var(--r-m,12px);backdrop-filter:none;max-height:none;overflow:visible}

/* =====================================================================
   v16: štúdio v profile (duch stále na očiach), editory ducha a dosky
   ===================================================================== */
.pf-grid-acct{grid-template-columns:minmax(0,1fr);max-width:760px}
.pf-studio{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;margin-top:30px;--stage-h:266px;max-width:100%}
.ge-tabs,.ge-pane,.pf-garage{contain:inline-size}
.pf-stage{position:sticky;top:var(--hdr);z-index:12;margin:0 -16px;padding:6px 16px 8px;background:var(--ink,#111);border-bottom:1px solid var(--line-dark)}
.pf-stage .pf-avatar{aspect-ratio:auto;height:210px;max-width:none;width:100%;margin:0}
.pf-stage .pf-avatar canvas{width:100%;height:100%}
.pf-stage-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:6px}
.pf-style{display:inline-flex;border:1px solid var(--line-dark);overflow:hidden}
.pf-style-b{appearance:none;padding:7px 14px;background:none;border:0;color:var(--muted-dark);font:800 .78rem/1 inherit;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.pf-style-b[aria-pressed="true"]{background:var(--cream);color:#111}
.pf-quick{display:flex;gap:6px}
.pf-quick .btn.small{padding:7px 10px;font-size:.72rem}
.pf-panels{display:grid;gap:30px;min-width:0}
.pf-panels .pf-ghost-ed,.pf-panels .pf-board{margin-top:0;max-width:none}
.pf-panels .b3-garage.pf-garage{max-width:none}
.ge-pane{max-height:none;overflow:visible;overscroll-behavior:auto}
.ge-tabs{position:sticky;top:calc(var(--hdr) + var(--stage-h));z-index:11;background:var(--ink,#111)}
.ge-tab{padding:14px 12px 12px;font-size:.88rem}
.ge-tabs::after{content:"";position:sticky;right:0;flex:0 0 28px;margin-left:-28px;background:linear-gradient(90deg,transparent,var(--ink,#111));pointer-events:none}
.ge-opts{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}
.ge-opt{min-height:74px;padding:10px}
.ge-sec{min-width:0}
@media (min-width:1000px){
  .pf-studio{grid-template-columns:minmax(300px,400px) minmax(0,1fr);align-items:start;gap:32px}
  .pf-stage{position:sticky;top:calc(var(--hdr) + 16px);margin:0;padding:0;background:none;border:0;z-index:2}
  .pf-stage .pf-avatar{aspect-ratio:1/1;height:auto;max-width:400px}
  .pf-stage-bar{margin-top:10px}
  .ge-tabs{top:var(--hdr)}
}
.ge-chip{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}

/* ===== v17: fotky z eventov (pásy, nadpisy stránok s fotkou v pozadí) ===== */
.pband{padding-top:clamp(36px,6vw,72px)}
.pband .lead{max-width:56ch}
.pb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:20px}
.pb-it{margin:0;overflow:hidden;background:#1a1816;position:relative}
.pb-it img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.pb-it:hover img{transform:scale(1.03)}
.pb-it.wide{grid-column:span 2;aspect-ratio:16 / 10}
.pb-it.tall{aspect-ratio:3 / 4}
.pband .actions{margin-top:18px}
@media (min-width:900px){
  .pb-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .pb-grid.n4{grid-template-rows:clamp(200px,19vw,280px) clamp(200px,19vw,280px)}
  .pb-grid.n4 .pb-it{aspect-ratio:auto}
  .pb-grid.n4 .pb-it.tall{grid-row:span 2}
  .pb-grid.n3{grid-template-rows:clamp(300px,30vw,420px)}
  .pb-grid.n3 .pb-it{aspect-ratio:auto}
}
.ph-photo{position:relative;isolation:isolate;overflow:hidden;padding-bottom:clamp(20px,4vw,44px)}
.ph-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(14,13,12,.94) 10%,rgba(14,13,12,.6) 75%,rgba(14,13,12,.72)),var(--ph-s) var(--ph-pos,50% 40%) / cover no-repeat}
@media (min-width:900px){ .ph-photo::before{background:linear-gradient(90deg,rgba(14,13,12,.94) 14%,rgba(14,13,12,.5) 75%,rgba(14,13,12,.62)),var(--ph-l) var(--ph-pos,50% 40%) / cover no-repeat} }
.ph-photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:56px;z-index:-1;background:linear-gradient(180deg,transparent,var(--black))}

/* v18: pás troch výškových fotiek na celú šírku */
@media (min-width:900px){ .pb-grid.n3.t3{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto} .pb-grid.n3.t3 .pb-it{aspect-ratio:3 / 4} }

/* v19: fotka v pozadí sekcie na domovskej (stmavená, ustupuje obsahu) */
.sec-photo{position:relative;isolation:isolate;overflow:hidden}
.sec-photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--black) 0,rgba(14,13,12,.8) 22%,rgba(14,13,12,.84) 72%,var(--black) 100%),var(--ph-s) var(--ph-pos,50% 50%) / cover no-repeat;opacity:.9}
@media (min-width:900px){ .sec-photo::before{background:linear-gradient(90deg,rgba(14,13,12,.94) 10%,rgba(14,13,12,.74) 60%,rgba(14,13,12,.8)),linear-gradient(180deg,var(--black) 0,transparent 20%,transparent 78%,var(--black) 100%),var(--ph-l) var(--ph-pos,50% 50%) / cover no-repeat} }

/* v20: nálepka ďalšieho eventu v titulke, menšia sekcia eventov, väčší štítok Novinky */
.vh-stk{position:absolute;z-index:3;top:18px;right:max(14px,calc((100vw - 1200px) / 2 + 16px));display:grid;justify-items:center;width:max-content}
.vh-stk-img{width:clamp(104px,13vw,168px)}
.vh-stk-img{display:block;transform:rotate(6deg);transition:transform .3s cubic-bezier(.2,.8,.2,1);filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))}
.vh-stk-img img{display:block;width:100%;height:auto}
.vh-stk-img:hover{transform:rotate(2deg) scale(1.04)}
.vh-stk-btn{margin-top:-14px;position:relative;z-index:1;transform:rotate(-4deg);font:inherit;font-family:var(--f-display);white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(1rem,1.5vw,1.25rem);line-height:1;color:var(--cream);background:var(--red);border:3px solid #fff;border-radius:999px;padding:.55em 1.1em .5em;cursor:pointer;box-shadow:0 8px 18px rgba(0,0,0,.5);transition:transform .2s}
.vh-stk-btn:hover{transform:rotate(-1deg) scale(1.06)}
.vh-stk-btn:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
@media (prefers-reduced-motion:no-preference){ .vh-stk-btn{animation:stkWiggle 3.6s ease-in-out 1.5s infinite} }
@keyframes stkWiggle{0%,86%,100%{transform:rotate(-4deg)}90%{transform:rotate(-8deg) scale(1.05)}94%{transform:rotate(0deg) scale(1.05)}}
@media (max-width:720px){ .vh-stk{top:12px} .vh-stk-img{width:100px} .vh-stk-btn{font-size:.9rem;border-width:2.5px} }
.nr-live{font-size:.9rem;letter-spacing:.1em;gap:9px}
.nr-live i{width:9px;height:9px}
.nr-head{padding-top:10px}
.sw-reg{display:inline-block;margin-top:2px;font-family:var(--f-display);text-transform:uppercase;font-size:1rem;line-height:1;color:var(--cream);background:var(--red);border:2px solid #fff;border-radius:999px;padding:.45em .95em .4em;transform:rotate(-2deg);box-shadow:0 5px 12px rgba(0,0,0,.4);transition:transform .2s}
.sw-item:hover .sw-reg{transform:rotate(1deg) scale(1.06)}
.after-hero .after-solid > .sw-sec{padding-top:clamp(30px,5vw,56px);padding-bottom:clamp(34px,5vw,60px)}
.sw-sec .sec-head{margin-bottom:12px}

/* v21: nálepky eventov: rovnaké, vycentrované, dátum a tlačidlo pod nimi, odlepený roh presne v rohu nálepky */
@property --pl{syntax:'<percentage>';inherits:true;initial-value:0%}
.sw-item{align-content:start;gap:16px;perspective:none}
.sw-link{display:block;color:inherit;text-decoration:none}
.sw-st{--pl:0%;transition:transform .35s cubic-bezier(.2,.8,.2,1),--pl .3s cubic-bezier(.2,.8,.2,1)}
.sw-item:hover .sw-st,.sw-item:focus-within .sw-st{--pl:19%}
.sw-st img{transform-origin:50% 50%;clip-path:polygon(0 0,100% 0,100% calc(89.9% - var(--pl)),calc(89.9% - var(--pl)) 100%,0 100%)}
.sw-item:hover .sw-st img{transform:none;filter:drop-shadow(0 3px 2px rgba(0,0,0,.45)) drop-shadow(0 12px 18px rgba(0,0,0,.35))}
.sw-corner{inset:0;right:auto;bottom:auto;width:100%;height:100%;background:linear-gradient(135deg,#fbf6ec 0%,#e8dfcf 55%,#b9ae9b 100%);border-radius:0;box-shadow:none;transition:none;
  clip-path:polygon(96.9% calc(93% - var(--pl)),calc(96.9% - var(--pl)) 93%,calc(96.9% - var(--pl)) calc(93% - var(--pl)));pointer-events:none}
.sw-item:hover .sw-corner{width:100%;height:100%}
.sw-link.peeled .sw-st{visibility:hidden}
.sw-cap{gap:12px}
.sw-cap b.sw-date,.sw-item.next .sw-date{font-family:inherit;text-transform:none;font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:700;letter-spacing:.01em;line-height:1.2;color:var(--cream)}
.sw-reg{font:inherit;font-family:var(--f-display);cursor:pointer;margin-top:0;font-size:1.15rem;padding:.55em 1.2em .5em}
.sw-more{display:inline-flex;align-items:center;gap:2px;color:var(--cream);text-decoration:none;font-size:.88rem;font-weight:600;border:1.5px solid rgba(243,235,221,.4);border-radius:999px;padding:.55em 1.1em;transition:background .2s,border-color .2s}
.sw-more:hover,.sw-more:focus-visible{background:rgba(243,235,221,.12);border-color:var(--cream)}
@media (max-width:720px){ .sw-reg{font-size:1rem} .sw-more{font-size:.8rem} }

.sw-link{width:min(240px,100%)}
.sw-st{width:100%}
@media (max-width:720px){ .sw-link{width:min(170px,100%)} .sw-item:first-child .sw-link{width:min(210px,70%)} .sw-st,.sw-item:first-child .sw-st{width:100%} }

/* v22: jeden editor, záložky Duch | Doska */
.pf-editor{min-width:0}
.pf-editor>h2{margin-bottom:12px}
.pf-edtabs{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line-dark);border-radius:999px;background:rgba(255,255,255,.04);margin-bottom:18px}
.pf-edtab{font:inherit;font-weight:700;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-dark);background:transparent;border:0;border-radius:999px;padding:.65em 1.6em;min-height:44px;cursor:pointer}
.pf-edtab[aria-selected="true"]{background:var(--cream);color:#111}
.pf-edtab:focus-visible{outline:2px solid var(--cream);outline-offset:2px}
.pf-pane[hidden]{display:none}
.pf-pane>p{color:var(--muted-dark);max-width:62ch;margin-top:0}
.b3-ghostlink{margin-top:12px;align-self:flex-start}
.pf-ghoskate:empty{display:none}

/* v23: editor ducha a dosky ako v hre – kategórie ako chipy, voľby ako kartičky, duch stále na očiach */
.pf-stage-bar{justify-content:space-between}
.pf-lvl{font-size:.72rem;letter-spacing:.1em;padding:7px 10px;border:1px solid var(--red);color:var(--cream);white-space:nowrap}
.pf-style{border-radius:999px;padding:3px;gap:2px;background:rgba(255,255,255,.04)}
.pf-style-b{border-radius:999px;padding:8px 14px;min-height:36px}
.pf-style-b.locked{opacity:.45;cursor:not-allowed}
.pf-edtabs{width:100%;max-width:420px;display:grid;grid-template-columns:1fr 1fr}
.pf-edtab{padding:.7em 1em;text-align:center}
.ge-tabs{border-bottom:0;gap:6px;padding:4px 0 10px}
.ge-tab{border:1px solid var(--line-dark);border-radius:999px;padding:10px 16px;min-height:40px;font-family:var(--f-display);font-weight:400;font-size:1rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted-dark);background:rgba(255,255,255,.03)}
.ge-tab[aria-selected="true"]{color:#111;background:var(--cream);border-color:var(--cream)}
.ge-tab:hover{color:var(--cream)}
.ge-tab[aria-selected="true"]:hover{color:#111}
.ge-pane{padding:12px 0 0}
.ge-sec h3{font-size:.7rem}
.ge-opts{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.ge-opt{border-radius:12px;border-width:1.5px;padding:12px;min-height:84px;transition:transform .15s,border-color .15s,background .15s}
.ge-opt:hover:not(.locked){transform:translateY(-2px);border-color:var(--muted-dark)}
.ge-opt[aria-pressed="true"]{border-color:var(--red);background:rgba(160,20,20,.14);box-shadow:inset 0 0 0 1px var(--red)}
.ge-opt[aria-pressed="true"]::after{content:"";position:absolute;right:9px;top:9px;width:16px;height:16px;border-radius:50%;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.6 2.6L12 5.5' fill='none' stroke='%23F3EBDD' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.ge-opt .ge-chip.r-free{display:none}
.ge-chip{border-radius:4px}
.ge-sw{width:44px;height:44px;transition:transform .15s}
.ge-sw:hover{transform:scale(1.08)}
.ge-sw[aria-pressed="true"]{box-shadow:0 0 0 3px var(--black),0 0 0 5px var(--red)}
.gar-tabs button{font-family:var(--f-display);font-weight:400;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}
.pf-pane>p{font-size:.9rem;margin-bottom:12px}
@media (max-width:999px){ .ge-tabs{padding-top:8px} .pf-stage .pf-avatar{height:190px} }
.gar-sw{border-radius:12px;transition:transform .15s,border-color .15s}
.gar-sw:hover{transform:translateY(-2px)}
.gar-sw[aria-pressed="true"]{border-color:var(--red);background:rgba(160,20,20,.14);box-shadow:inset 0 0 0 1px var(--red)}
.gar-dot[aria-pressed="true"]{box-shadow:0 0 0 3px var(--black),0 0 0 5px var(--red)}

/* v23b: prilepená scéna + chipy bez medzery, s tieňom */
@media (max-width:999px){
  .pf-stage{box-shadow:0 10px 14px -8px rgba(0,0,0,.7)}
  .ge-tabs{top:calc(var(--hdr) + var(--stage-h));padding:10px 0;margin:0 -12px;padding-left:12px;padding-right:12px;box-shadow:0 10px 12px -8px rgba(0,0,0,.7)}
  .ge-tabs::after{display:none}
}
.ge{padding:0 12px 14px}
.ge-tabs{margin:0 -12px;padding-left:12px;padding-right:12px}

/* v24: Sieň slávy ako vitrína s holografickými kartičkami víťazov */
.hof-wall{display:grid;gap:clamp(18px,3vw,30px)}
.hof-case{position:relative;padding:clamp(16px,2.6vw,26px);border-radius:var(--r-l,14px);border:1px solid rgba(243,235,221,.14);overflow:hidden;isolation:isolate;
  background:radial-gradient(120% 90% at 50% -10%,rgba(160,20,20,.28),transparent 60%),linear-gradient(180deg,#1b191d,#0f0e11)}
.hof-case::before{content:"";position:absolute;inset:0;z-index:-1;background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(243,235,221,.03) 22px 23px)}
.hof-case .hof-ev{margin-bottom:clamp(14px,2vw,22px)}
.hof-cards{display:flex;flex-wrap:wrap;gap:clamp(12px,2vw,22px);perspective:1000px}
.hcard{position:relative;display:grid;align-content:space-between;width:clamp(150px,22vw,210px);aspect-ratio:3/4;padding:10px 12px 12px;border-radius:14px;overflow:hidden;isolation:isolate;text-decoration:none;color:var(--cream);
  background:#17161a;border:2px solid rgba(243,235,221,.4);box-shadow:0 14px 28px -10px rgba(0,0,0,.8),0 0 0 1px rgba(0,0,0,.6);
  transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .18s ease-out,box-shadow .3s}
.hcard.win{border-color:#e2b53c;box-shadow:0 14px 28px -10px rgba(0,0,0,.8),0 0 22px -6px rgba(226,181,60,.55)}
.hcard.award{border-color:#b9ffd9;box-shadow:0 14px 28px -10px rgba(0,0,0,.8),0 0 22px -6px rgba(120,255,200,.4)}
.hcard:hover,.hcard.on{box-shadow:0 22px 40px -10px rgba(0,0,0,.9),0 0 30px -4px rgba(226,181,60,.6)}
.hc-art{position:absolute;inset:0;z-index:-2}
.hc-art>img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.05)}
.hc-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,13,12,.45) 0%,rgba(14,13,12,0) 28%,rgba(14,13,12,0) 52%,rgba(14,13,12,.92) 100%)}
.hc-gen{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(100% 70% at 50% 35%,rgba(160,20,20,.5),transparent 70%),linear-gradient(160deg,#2a2630,#141217)}
.hc-gen img{width:56%;opacity:.9;filter:drop-shadow(0 8px 12px rgba(0,0,0,.6));margin-top:-14%}
.hc-gen b{position:absolute;bottom:34%;font-family:var(--f-display);font-weight:400;font-size:1.6rem;letter-spacing:.06em;color:rgba(243,235,221,.55)}
.hc-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}
.hc-cat{padding:3px 7px;border-radius:99px;background:rgba(14,13,12,.7);border:1px solid rgba(243,235,221,.3);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}
.hc-num{font-size:.8rem;color:#e2b53c;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.hcard.award .hc-num{color:#b9ffd9}
.hc-name{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.8)}
.hc-foil{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:color-dodge;opacity:.5;
  background:linear-gradient(115deg,transparent 18%,#ff3d81 30%,#ffd54a 40%,#3dffb0 50%,#3da5ff 60%,#b66bff 70%,transparent 82%);
  background-size:260% 260%;background-position:var(--mx,20%) var(--my,20%);animation:hc-drift 7s ease-in-out infinite alternate;transition:opacity .25s}
.hcard.on .hc-foil,.hcard:hover .hc-foil{opacity:.8;animation:none}
.hcard::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:overlay;opacity:.0;transition:opacity .25s;
  background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(255,255,255,.75),transparent 42%)}
.hcard.on::after,.hcard:hover::after{opacity:.9}
@keyframes hc-drift{from{background-position:0% 10%}to{background-position:100% 90%}}
@media (prefers-reduced-motion:reduce){.hc-foil{animation:none}.hcard{transition:none}}
@media (max-width:560px){.hcard{width:calc(50% - 8px)}.hof-cards{gap:12px 16px}}

/* v25: mapa spotov – tmavá mapa, väčšie piny s jasným významom (červený park, zlaté GOSko, krémový spot), názvy a hint */
.map{border-color:rgba(243,235,221,.25);border-radius:var(--r-l,14px);overflow:hidden;box-shadow:0 14px 30px -12px rgba(0,0,0,.7);background:#161519}
.map .pin{width:30px;height:30px;left:2px;top:2px;border:3px solid #fff;background:#e0342f;box-shadow:0 4px 10px rgba(0,0,0,.65);transition:transform .15s}
.map .pin::after{content:"";position:absolute;inset:0;margin:auto;width:9px;height:9px;border-radius:50%;background:#fff}
.map .pin-gosko{background:#e2b53c}
.map .pin-gosko::after{width:auto;height:auto;background:none;inset:0;display:grid;place-items:center;content:"★";transform:rotate(45deg);font-size:15px;line-height:1;color:#0e0d0c}
.map .pin-spot{background:#F3EBDD}
.map .pin-spot::after{background:#e0342f}
.map .pin-event{background:#0e0d0c;border-color:#e2b53c}
.map .pin-wrap{cursor:pointer}
.map .pin-wrap:hover .pin{transform:rotate(-45deg) scale(1.18)}
.leaflet-tooltip.pin-label{background:rgba(14,13,12,.88);color:var(--cream);border:1px solid rgba(243,235,221,.35);border-radius:6px;box-shadow:none;font-weight:700;font-size:12px;line-height:1;padding:4px 7px;white-space:nowrap}
.leaflet-tooltip-right.pin-label::before{border-right-color:rgba(14,13,12,.88)}
.map-inner.no-labels .pin-label{display:none}
.lg{width:14px;height:14px;margin-right:-4px;border:2px solid #fff;background:#e0342f}
.lg-park{background:#e0342f;border-color:#fff}
.lg-gosko{background:#e2b53c;border-color:#fff}
.lg-spot{background:#F3EBDD;border-color:#e0342f}
.map-hint{margin-left:auto;color:var(--cream);opacity:.8}
.map-legend{align-items:center}
.map .leaflet-container,.map-inner.leaflet-container{background:#161519}
.pin-cluster{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#0e0d0c;border:3px solid #e2b53c;color:#F3EBDD;font-weight:700;font-size:16px;line-height:1;box-shadow:0 4px 12px rgba(0,0,0,.7),0 0 0 6px rgba(226,181,60,.22);cursor:pointer;transition:transform .15s}
.pin-wrap:hover .pin-cluster{transform:scale(1.12)}

/* v26: karta jazdca na telefón (#/karta/meno): 3D náklon, paralaxa vrstiev, holo fólia; pohyb riadi myš, prst alebo gyroskop */
.kt-page{background:#0b0a0c}
.kt-stage{position:relative;isolation:isolate;overflow:hidden;padding:clamp(22px,5vw,44px) 16px 20px;display:grid;justify-items:center;gap:14px;--px:0;--py:0;--rx:0deg;--ry:0deg;--mx:50%;--my:50%}
.kt-aura{position:absolute;inset:-12%;z-index:-1;pointer-events:none;background:radial-gradient(80% 60% at 50% 30%,rgba(160,20,20,.4),transparent 70%),#0b0a0c}
.kt-aura img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(38px) saturate(1.3) brightness(.55);opacity:.7;transform:translate(calc(var(--px)*-26px),calc(var(--py)*-20px)) scale(1.2)}
.kt-wrap{width:min(84vw,340px);perspective:1000px;animation:kt-in .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes kt-in{from{opacity:0;transform:translateY(34px) rotateY(-80deg) scale(.88)}to{opacity:1;transform:none}}
.kt-card{position:relative;aspect-ratio:3/4.25;border-radius:22px;overflow:hidden;isolation:isolate;color:var(--cream);background:#17161a;border:2px solid #e2b53c;
  transform:rotateX(var(--rx)) rotateY(var(--ry));will-change:transform;
  box-shadow:calc(var(--px)*-22px) calc(var(--py)*-16px + 26px) 44px -14px rgba(0,0,0,.85),0 0 34px -6px rgba(226,181,60,.5)}
.kt-bg{position:absolute;inset:0;z-index:-3;overflow:hidden}
.kt-photo{display:block;width:100%;height:100%;object-fit:cover;transform:translate(calc(var(--px)*-18px),calc(var(--py)*-14px)) scale(1.2);filter:saturate(1.08) contrast(1.06)}
.kt-noph{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(100% 70% at 50% 35%,rgba(160,20,20,.55),transparent 70%),linear-gradient(160deg,#2a2630,#141217)}
.kt-noph img{width:50%;margin-top:-22%;opacity:.92;filter:drop-shadow(0 10px 16px rgba(0,0,0,.6));transform:translate(calc(var(--px)*-14px),calc(var(--py)*-10px))}
.kt-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,10,12,.55) 0%,rgba(11,10,12,0) 26%,rgba(11,10,12,0) 50%,rgba(11,10,12,.94) 100%)}
.kt-top{position:absolute;left:16px;right:16px;top:12px;display:flex;justify-content:space-between;align-items:flex-start;transform:translate(calc(var(--px)*7px),calc(var(--py)*5px))}
.kt-rank{font-family:var(--f-display);font-size:3rem;line-height:.95;text-shadow:0 3px 14px rgba(0,0,0,.7)}
.kt-cat{margin-top:6px;padding:4px 9px;border-radius:99px;background:rgba(11,10,12,.7);border:1px solid rgba(243,235,221,.35);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}
.kt-mark{position:absolute;left:16px;top:66px;width:76px;opacity:.9;transform:translate(calc(var(--px)*9px),calc(var(--py)*7px));filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.kt-board{position:absolute;right:2%;bottom:19%;height:46%;transform:translate(calc(var(--px)*16px),calc(var(--py)*12px)) rotate(12deg)}
.kt-bimg{display:block;height:100%;width:auto;filter:drop-shadow(0 14px 14px rgba(0,0,0,.6))}
.kt-txt{position:absolute;left:16px;right:16px;bottom:14px;display:grid;gap:10px;transform:translate(calc(var(--px)*5px),calc(var(--py)*4px))}
.kt-name{font-family:var(--f-display);text-transform:uppercase;font-size:clamp(1.8rem,8.5vw,2.3rem);line-height:.95;text-shadow:0 3px 14px rgba(0,0,0,.8)}
.kt-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(243,235,221,.3);padding-top:8px}
.kt-stats span{display:grid}
.kt-stats b{font-family:var(--f-display);font-weight:400;font-size:1.5rem;line-height:1}
.kt-stats small{font-family:var(--f-mono);font-size:.58rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(243,235,221,.7)}
.kt-foil{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:color-dodge;opacity:.3;
  background:
    radial-gradient(circle at 18% 28%,#fff 0 1px,transparent 2px) 0 0/26px 26px,
    radial-gradient(circle at 70% 60%,#fff 0 1px,transparent 2px) 9px 13px/34px 34px,
    linear-gradient(115deg,transparent 30%,#ff3d81 40%,#ffd54a 47%,#3dffb0 54%,#3da5ff 61%,#b66bff 68%,transparent 78%) var(--mx) var(--my)/240% 240%;
  background-position:calc(var(--px)*14px) calc(var(--py)*14px),calc(var(--px)*-10px) calc(var(--py)*-10px),var(--mx) var(--my)}
.kt-glare{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:overlay;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.7),transparent 46%)}
.kt-edge{position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.22),inset 0 0 26px rgba(226,181,60,.18)}
.kt-hint{margin:0;text-align:center;color:var(--muted-dark);font-size:.68rem;letter-spacing:.06em}
.kt-gyro{justify-self:center}
.kt-below{padding-top:8px;padding-bottom:36px;display:grid;gap:18px;justify-items:center}
.kt-actions{justify-content:center}
.kt-share{max-width:440px;width:100%;text-align:center}
.kt-share h2{margin:0 0 6px}
.kt-share p{margin:0 0 12px}
.kt-share .actions{justify-content:center}
.card-preview[src]{max-height:70vh;object-fit:contain;background:#0b0a0c}
.kt-ask{max-width:440px;padding:18px;border:1px solid var(--line-dark);border-radius:var(--r-l,14px);background:var(--grain-light),var(--ink-2);text-align:left}
.kt-ask h2{margin:0 0 6px}
.kt-ask p{margin:0 0 10px}
.kt-admin:empty{display:none}
@media (prefers-reduced-motion:reduce){.kt-wrap{animation:none}}

body:has(.kt-page) .er-top{display:none}

/* v27: väčšia horná lišta na desktope (logo, odkazy, profil + Menu v jednom rade) */
@media (min-width:980px){
  :root{--tb-h:76px}
  .tb-row{max-width:1320px;gap:18px}
  .brand img{height:44px}
  .nav{margin-left:34px;gap:36px}
  .nav a{font-size:1.02rem;letter-spacing:.08em;padding:10px 2px;color:var(--bone)}
  .nav a:not([aria-current]){color:rgba(239,233,222,.78)}
  .nav a:hover{color:var(--cream)}
  .acct,.acct.acct,.acct.in{height:52px}
  .acct .acct-t{font-size:1.05rem}
  .acct-arrow{width:34px}
  .menu-btn{height:52px;padding:0 26px;font-size:1rem}
}

/* v28: pätička na mobile (dlhý e-mail sa neorezáva), jemnejšia hologramová fólia na kartách bez fotky */
footer .foot-act a{overflow-wrap:anywhere;max-width:100%}
@media (max-width:560px){ footer .foot-act a{font-size:.78rem;letter-spacing:-.01em} }
.hcard:has(.hc-gen) .hc-foil{opacity:.2}
.hcard.on:has(.hc-gen) .hc-foil,.hcard:hover:has(.hc-gen) .hc-foil{opacity:.45}

/* nálepky eventov: pozvánka „Chceš GOSko vo svojom meste?“ je tlačidlo, nie odkaz */
button.sw-link{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit}
/* pozvánka je tichá: menšia, stlmená, bez žltej a bez pečiatok; rozsvieti sa až pri hoveri */
.sw-item.invite{opacity:.62;transition:opacity .25s}
.sw-item.invite:hover,.sw-item.invite:focus-within{opacity:1}
.sw-item.invite .sw-link{width:min(200px,100%)}
.sw-item.invite .sw-st img{filter:grayscale(.35) drop-shadow(0 3px 2px rgba(0,0,0,.35))}
.sw-item.invite .sw-cap b.sw-date{font-size:clamp(.95rem,1.5vw,1.05rem);font-weight:600;color:var(--muted-dark,#a49b8f)}
.sw-item.invite .sw-reg{font-family:inherit;text-transform:none;font-size:.88rem;font-weight:600;background:none;color:var(--cream);border:1.5px solid rgba(243,235,221,.4);box-shadow:none;transform:none;padding:.55em 1.1em}
.sw-item.invite:hover .sw-reg{transform:none;background:rgba(243,235,221,.12);border-color:var(--cream)}
/* odjazdené eventy sú vyšedené (ako staré nálepky), ďalší stop ostáva vo farbe; na hover sa odjazdené vrátia do farby */
.sw-item.done .sw-st img{opacity:.55;filter:grayscale(.55) drop-shadow(0 3px 2px rgba(0,0,0,.35));transition:opacity .3s,filter .3s}
.sw-item.done:hover .sw-st img,.sw-item.done:focus-within .sw-st img{opacity:1;filter:grayscale(0) drop-shadow(0 3px 2px rgba(0,0,0,.45)) drop-shadow(0 12px 18px rgba(0,0,0,.35))}
.sw-item.done .sw-cap b.sw-date{color:var(--muted-dark,#a49b8f)}
.sw-item.done .sw-corner{opacity:.75}
@media (max-width:720px){ .sw-item:first-child{grid-column:auto} .sw-item.next{grid-column:1 / -1} .sw-item.next .sw-link{width:min(210px,70%)} .sw-item:first-child:not(.next) .sw-link{width:min(170px,100%)} }

/* admin: spoty na mape */
.admin-spots{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.admin-spot{padding:14px 0;border-top:1px solid var(--line-dark)}
.as-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.as-photos{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.as-ph{margin:0;width:150px}
.as-ph img{display:block;width:150px;height:110px;object-fit:cover;border-radius:var(--r-s)}
.as-ph figcaption{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;align-items:center}
.photo-prevs{display:flex;flex-wrap:wrap;gap:8px}
.photo-prevs .photo-prev{max-height:90px}

/* v14: Skúšobňa (zamknuté veci na skúšku) a Výzvy (špeciálne situácie) v editore ducha */
.ge-try{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;margin:0 0 6px;border:1px dashed var(--line-dark);border-radius:12px}
.ge-try.on{border-style:solid;border-color:#5cc8ff;background:rgba(92,200,255,.08)}
.ge-try-msg{font-size:.82rem;color:var(--muted-dark)}
.ge-try.on .ge-try-msg{color:#9fdcff}
.ge-ch{display:grid;gap:8px;padding:12px;border:1px solid var(--line-dark);border-radius:12px;background:rgba(255,255,255,.02)}
.ge-ch.on{border-color:#7fd6a0}
.ge-ch-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ge-ch-h b{font-size:1rem}
.ge-ch>small{color:var(--muted-dark);font-size:.82rem;line-height:1.35}
.ge-ch-items{display:flex;flex-wrap:wrap;gap:6px}
.ge-ch-item{appearance:none;font:inherit;font-size:.82rem;font-weight:700;color:var(--cream);background:rgba(255,255,255,.04);border:1px solid var(--line-dark);border-radius:999px;padding:7px 11px;cursor:pointer}
.ge-ch-item small{color:var(--muted-dark);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.ge-ch-item[aria-pressed="true"]{border-color:var(--red);background:rgba(160,20,20,.18)}

/* v15: spodná lišta na telefóne: pri skrolovaní (iOS, zaokrúhľovanie pixelov) presvital pod ňou 1 px obsahu.
   Lišta sa posunie o 1 px pod okraj a pod ňou je ešte pás v jej farbe, takže medzera nemá kade vzniknúť. */
@media (max-width:760px){
  .tabbar{bottom:-1px;padding-bottom:calc(9px + var(--sab))}
  .tabbar::before{content:"";position:absolute;left:0;right:0;top:100%;height:80px;background:rgb(14,13,16);pointer-events:none}
}

/* v16: kontakty na organizátorov (tel: a mailto:) a rola partnera pri GOSko 3. Fungujú na tmavom aj svetlom pozadí. */
.contacts{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
@media (min-width:720px){ .contacts{grid-template-columns:repeat(3,minmax(0,1fr))} }
.contact{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid rgba(127,127,127,.4);border-radius:12px;min-width:0}
.contact b{font-weight:800}
.contact a{display:block;padding:7px 0;overflow-wrap:anywhere;color:inherit;text-decoration:underline;text-underline-offset:3px}
.p-role{flex-basis:100%;color:var(--muted-dark);font-size:.9rem}
.light .p-role{color:var(--muted-light)}

/* odmena za registráciu: riadok pod QR passom */
.reg-gift{margin:10px 0 2px;padding:10px 14px;border:1.5px dashed rgba(243,235,221,.4);border-radius:14px;font-size:.92rem;line-height:1.4}
.reg-gift b{color:#FFD21F}
