/* Base reset from the original export */
:root{color-scheme:light;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;padding:0;font:14px -apple-system,BlinkMacSystemFont,sans-serif;background:#fff;color:#000}
img{max-width:100%}
[hidden]:not([hidden=until-found i]){display:none!important}

/* Layout: phone-first single column, max 680px. Main view = interactive hall map + filters + numbered list,
   modelled on the printed Talent Days guide and the hall panels. Bottom tab bar for 5 sections.
   Single light look on purpose (printed online guide is white; map sits on the black panel ground). */
:root{
  color-scheme: light;
  --bg:#FFFFFF;
  --ink:#141414;
  --ink-2:#5E5E63;
  --line:#E7E7EA;
  --soft:#F4F4F6;
  --pink:#E6295F;
  --blue:#1F6FB2;
  --panel:#121010;
  --yellow:#FFDC46;
  --grad:linear-gradient(180deg,#F03C6A 0%,#F47A57 50%,#F9D847 100%);
  --grad-h:linear-gradient(100deg,#FF4664 0%,#FF4259 28%,#F0960A 70%,#FFDC46 100%);
  --font:"proxima-nova",system-ui,-apple-system,"Segoe UI",sans-serif;
  --nav:64px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.4;padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom,0px))}
a{color:var(--pink)}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
.wrap{max-width:680px;margin:0 auto;padding-inline:16px}

/* draft panel (review only) */
.draft{background:var(--yellow);font-size:14px}
.draft summary{cursor:pointer;font-weight:800;padding:8px 16px;text-align:center;list-style:none}
.draft summary::-webkit-details-marker{display:none}
.draft ol{max-width:680px;margin:0 auto;padding:0 16px 12px 34px;display:grid;gap:5px}
.draft .bad{color:#8A0F22;font-weight:800}

/* header, as the cover of the printed guide */
.top{padding-block:14px 12px;border-bottom:1px solid var(--line)}
.top .wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:end}
.logo{width:92px;height:auto;grid-row:1 / span 2}
.kick{margin:0;font-size:13px;font-weight:700;color:var(--ink-2)}
.city{margin:0;font-size:34px;line-height:.95;font-weight:800;text-transform:uppercase;background:var(--grad-h);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.01em}
.meta{grid-column:1 / -1;margin:8px 0 0;font-size:15px;font-weight:700;display:flex;flex-wrap:wrap;gap:2px 10px}
.meta span{color:var(--ink-2);font-weight:400}

/* bottom tab bar */
.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--bg);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}
.nav .wrap{display:grid;grid-template-columns:repeat(5,1fr);height:var(--nav);padding-inline:4px}
.tab{appearance:none;border:0;background:none;display:grid;justify-items:center;align-content:start;padding-top:8px;gap:3px;font-size:11.5px;font-weight:700;color:var(--ink-2);cursor:pointer;line-height:1.05;text-align:center}
.tab i{width:26px;height:26px;border-radius:8px;background:var(--soft);display:grid;place-items:center}
.tab i b{width:18px;height:18px;background:var(--ink-2);-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.tab[aria-selected="true"]{color:var(--ink)}
.tab[aria-selected="true"] i{background:var(--grad)}
.tab[aria-selected="true"] i b{background:#fff}

main{padding-block:14px 24px}
.panel{display:grid;gap:14px}
h2{margin:0;font-size:24px;font-weight:800;line-height:1.05}
.lead{margin:0;font-size:15px;color:var(--ink-2)}
.lead em{font-style:normal;color:var(--pink)}
.label{margin:0;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}

/* sector slashes (same colours as the hall panels) */
.sl{display:inline-flex;gap:2px;flex:none}
.sl i{width:6px;height:13px;transform:skewX(-20deg);border-radius:1px}

/* filters, one scrollable row */
.filters{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-inline:-16px;padding-inline:16px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.fchip{appearance:none;flex:none;border:1.5px solid var(--line);background:var(--bg);border-radius:999px;padding:6px 11px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;cursor:pointer;white-space:nowrap}
.fchip .sl i{height:12px}
.fchip span{color:var(--ink-2);font-variant-numeric:tabular-nums}
.fchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.fchip[aria-pressed="true"] span{color:#cfcfcf}

/* map */
.mapcard{background:var(--bg);border:1px solid var(--line);border-radius:16px;overflow:hidden;position:relative}
.mapview{position:relative;overflow:hidden;aspect-ratio:var(--ar);max-height:70vh;touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:default;background:#fff}
.mapview.zoomed{touch-action:none;cursor:grab}
.mapview.drag{cursor:grabbing}
.mapinner{position:absolute;left:0;top:0;width:100%;transform-origin:0 0;will-change:transform}
.mapinner.anim{transition:transform .32s cubic-bezier(.2,.7,.2,1)}
.mapinner svg{display:block;width:100%;height:auto}
.mapctl{display:flex;align-items:center;gap:8px;padding:8px 10px;color:var(--ink-2);font-size:13px;border-top:1px solid var(--line)}
.mapctl span{flex:1}
.mapctl button:disabled{opacity:.35;cursor:default}
.mapctl button{appearance:none;width:40px;height:36px;border-radius:9px;border:0;background:var(--ink);color:#fff;font-size:22px;font-weight:800;line-height:1;cursor:pointer}
.hit{fill:transparent;cursor:pointer}
.dim{fill:rgba(220,224,227,.9)}
.sel{fill:none;stroke:var(--pink);stroke-width:18}
@media (prefers-reduced-motion:no-preference){ .sel{animation:pulse 1.2s ease-in-out infinite} @keyframes pulse{50%{stroke-width:34;stroke-opacity:.5}} }
.vis circle{fill:#fff;stroke:#141414;stroke-width:6}.vis path{fill:none;stroke:#141414;stroke-width:13;stroke-linecap:round;stroke-linejoin:round}
.tip{position:absolute;z-index:5;pointer-events:none;background:var(--ink);color:#fff;font-size:13.5px;font-weight:700;line-height:1.2;padding:7px 10px;border-radius:9px;max-width:240px;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 6px 16px rgba(0,0,0,.25)}
.tip b{color:var(--yellow);margin-right:6px}
.tip .sl{margin-top:5px;display:flex}
.tip::after{content:"";position:absolute;left:50%;bottom:-6px;width:12px;height:12px;background:var(--ink);transform:translateX(-50%) rotate(45deg)}
.maphint{margin:0;font-size:13px;color:var(--ink-2)}

/* selected stand / zone card */
.info{border:1.5px solid var(--ink);border-radius:14px;padding:12px 14px;display:grid;gap:8px}
.info .row1{display:flex;align-items:center;gap:10px}
.info .no{font-weight:800;font-size:22px;color:var(--pink);font-variant-numeric:tabular-nums}
.info .nm{font-weight:800;font-size:17px;line-height:1.2;min-width:0}
.info .lg{margin-left:auto}
.tags{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--ink-2)}
.tags span{display:inline-flex;align-items:center;gap:5px}
.tags .sl i{height:11px;width:5px}
.acts{margin:0;padding:0;list-style:none;font-size:14px;display:grid;gap:2px}
.acts li::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);margin-right:7px;vertical-align:1px}
.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid var(--ink);background:var(--bg);font-weight:800;font-size:15px;cursor:pointer;text-decoration:none;color:var(--ink)}
.btn.on{background:var(--ink);color:#fff}
.btn.pink{background:var(--pink);border-color:var(--pink);color:#fff}

/* logos */
.lg{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:8px;padding:4px 6px;width:96px;height:40px;flex:none;overflow:hidden}
.lg img{display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
.lg.txt{font-size:11px;font-weight:700;line-height:1.1;text-align:center;color:var(--ink-2)}

/* numbered list, like the printed guide */
.plist{list-style:none;margin:0;padding:0}
.prow{display:grid;grid-template-columns:30px minmax(0,1fr) auto 36px;gap:8px;align-items:center;min-height:46px;border-bottom:1px solid var(--line);cursor:pointer}
.prow .n{font-weight:700;font-size:15px;color:var(--pink);text-align:right;font-variant-numeric:tabular-nums}
.prow .t{font-size:15px;font-weight:600;line-height:1.2;overflow-wrap:anywhere;padding-block:6px}
.prow.on{background:#FFF7D1}
.prow.done .t{color:var(--ink-2);text-decoration:line-through;text-decoration-thickness:1.5px}
.ck{appearance:none;width:30px;height:30px;border-radius:8px;border:2px solid #C8C8CE;background:var(--bg);display:grid;place-items:center;cursor:pointer;padding:0;justify-self:end;grid-column:4}
.ck svg{width:18px;height:18px;opacity:0}
.ck[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.ck[aria-pressed="true"] svg{opacity:1}
.count{margin:0;font-size:14px;color:var(--ink-2)}
.count b{color:var(--ink)}

/* legend */
.legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;font-size:13.5px}
.legend span{display:flex;align-items:center;gap:7px}
.legend .z{width:22px;height:22px;border-radius:6px;background:var(--grad);display:grid;place-items:center;flex:none}
.legend .z b{width:15px;height:15px;background:#fff;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}

/* partner logos */
.pblock{display:grid;gap:10px;padding-top:6px}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pgrid .lg{width:auto;height:52px}

/* checklists, styled like the "Kto szuka" panels */
.cl{border:2px solid var(--c);border-radius:16px;margin-top:22px;position:relative}
.cl summary{list-style:none;cursor:pointer;padding:24px 14px 12px;display:flex;align-items:center;gap:10px}
.cl summary::-webkit-details-marker{display:none}
.cl .pill{position:absolute;top:-15px;left:14px;background:var(--c);color:var(--on,#fff);font-weight:800;font-size:15px;text-transform:uppercase;padding:5px 14px;border-radius:999px;letter-spacing:.02em}
.cl .sum{font-size:14px;color:var(--ink-2)}
.cl .prog{margin-left:auto;font-weight:800;font-size:14px;font-variant-numeric:tabular-nums}
.cl .chev{width:20px;height:20px;transition:transform .15s ease}
.cl[open] .chev{transform:rotate(180deg)}
.cl .body{padding:0 14px 14px;display:grid;gap:12px}
.cl .partner{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.cl .offers{display:grid;gap:6px}
.cl .offers a{display:grid;gap:1px;padding:9px 12px;border-radius:10px;background:var(--soft);text-decoration:none;color:var(--ink)}
.cl .offers a b{font-weight:700;font-size:14.5px;line-height:1.25}
.cl .offers a span{font-size:13px;color:var(--ink-2)}
.cl .tcm{display:grid;gap:8px}
.cl .tcm p{margin:0;font-size:14px;line-height:1.3}
.cl .tcm b{color:var(--blue)}

/* Talent Class / Round Table, like page 1 of the printed guide */
.zhead{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;align-items:center}
.zico{width:52px;height:52px;border-radius:12px;background:var(--grad);display:grid;place-items:center}
.zico b{width:34px;height:34px;background:#fff;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.room{display:flex;align-items:center;gap:10px;margin-top:4px}
.room::before{content:"";flex:1;height:1px;background:var(--line)}
.room b{color:var(--pink);font-weight:700;font-size:14px;letter-spacing:.04em}
.talk{display:grid;gap:3px;padding:10px 0 12px;border-bottom:1px solid var(--line)}
.talk .h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.talk .tm{font-size:22px;font-weight:600;color:var(--blue);font-variant-numeric:tabular-nums}
.talk .tr{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--pink)}
.talk .who{font-size:12.5px;color:var(--ink-2)}
.talk .who b{color:var(--ink)}
.talk .ti{font-size:16.5px;line-height:1.25}
.talk.live{background:#FFF7D1;margin-inline:-16px;padding-inline:16px}
.badge{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:999px;background:var(--pink);color:#fff}
.badge.next{background:var(--ink)}
.rt{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.rt .tm{font-size:22px;font-weight:600;color:var(--pink)}
.rt .ti{font-size:16.5px;line-height:1.25;margin:0}
.rt .firms{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.rt .firm{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--ink-2)}
.rt .firm button{appearance:none;border:0;background:none;padding:0;color:var(--pink);font-weight:700;cursor:pointer;font-size:13px}

/* zones */
.zone{border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 12px}
.zone .zico{width:44px;height:44px;border-radius:10px;grid-row:1 / span 4;grid-column:1}
.zone .zico b{width:28px;height:28px}
.zone.brand{grid-template-columns:88px minmax(0,1fr)}
.zone .zico.img{width:88px;height:auto;background:none;border-radius:0;place-items:start center;padding-top:2px}
.zico.img img{width:84px;height:auto;display:block}
.zone > :not(.zico){grid-column:2;min-width:0}
.zone h3{margin:0;font-size:17px;font-weight:800;line-height:1.15}
.zone p{margin:0;font-size:14.5px;color:var(--ink-2)}
.zone p em{font-style:normal;color:var(--pink)}
.zone .x{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}
.zone .x button{appearance:none;border:0;background:none;color:var(--pink);font-weight:700;padding:0;cursor:pointer;font-size:14px}

footer{padding-block:6px 20px;font-size:13px;color:var(--ink-2)}
