/* L21 mapa-metro-linhas — light daylight signage lobby. Palette via :root (kit defaults) + follower overlay. No leader slug literals. */
:root{
  --bg:#F7F7F2;--bg2:#EEEDE8;--elev:#FFFFFF;--ink:#1C1820;--ink2:#4A4550;--hair:#D8D4CC;
  --cta:#5C22D0;--cta-b:#7A38F0;--cta-ink:#FFFFFF;--gold:#E0A818;--violet:#7B3DEF;
  --teal:#0A7A78;--magenta:#C01890;--lime:#1A7A28;--coral:#C43010;
  --ln-slots:var(--violet);--ln-vivo:var(--teal);--ln-pesca:var(--gold);
  --ln-crash:var(--magenta);--ln-mesa:var(--lime);--ln-novos:var(--coral);
  --head-h:64px;--stick-h:56px;--radius:14px;--font:"Karla",system-ui,sans-serif;--display:"Sora",system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:400;line-height:1.45}
img{max-width:100%;height:auto;display:block}
a{color:var(--cta);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,strong,.l21-word strong,.l21-cta,.l21-hcta{font-family:var(--display)}
button,input{font:inherit}
.l21-wrap,.l21-page,.l21-foot-grid{width:min(1180px,calc(100% - 32px));margin-left:auto;margin-right:auto}
/* header */
.l21-head{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;min-height:var(--head-h);height:var(--head-h);
  padding:0 16px;background:color-mix(in srgb,var(--elev) 92%, transparent);border-bottom:1px solid var(--hair);backdrop-filter:blur(8px)}
.l21-brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;min-width:0}
.l21-brand:hover{text-decoration:none}
.l21-brand img{width:60px;height:60px;object-fit:contain;flex:none;border-radius:12px}
.l21-word{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.l21-word strong{font-size:15px;font-weight:800;letter-spacing:.01em}
.l21-indep{font-family:var(--font);font-size:11px;font-weight:700;color:var(--ink2);letter-spacing:.02em}
.l21-nav{display:flex;align-items:center;gap:2px;flex:1;justify-content:center;min-width:0}
.l21-nav a{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;color:var(--ink);font-size:13px;font-weight:700;white-space:nowrap}
.l21-nav a:hover{background:var(--bg2);text-decoration:none}
.l21-nav a[aria-current="page"]{background:var(--bg2);box-shadow:inset 0 0 0 1px var(--hair)}
.l21-nav a .l21-bullet{width:10px;height:10px;border-radius:50%;flex:none;background:var(--nav-dot,var(--violet))}
.l21-nav a:nth-child(1){--nav-dot:var(--ln-slots)}
.l21-nav a:nth-child(2){--nav-dot:var(--ln-vivo)}
.l21-nav a:nth-child(3){--nav-dot:var(--ln-pesca)}
.l21-nav a:nth-child(4){--nav-dot:var(--ln-crash)}
.l21-nav a:nth-child(5){--nav-dot:var(--ln-mesa)}
.l21-nav a:nth-child(6){--nav-dot:var(--ln-novos)}
.l21-nav a:nth-child(7){--nav-dot:var(--gold)}
.l21-nav a:nth-child(8){--nav-dot:var(--coral)}
.l21-nav svg,.l21-menu svg,.l21-drawer-x svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.l21-tools{display:flex;align-items:center;gap:8px;margin-left:auto}
.l21-hcta{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 16px;border-radius:999px;
  background:linear-gradient(180deg,var(--cta-b),var(--cta));color:var(--cta-ink);font-weight:800;font-size:13px;white-space:nowrap}
.l21-hcta:hover{text-decoration:none;filter:brightness(1.06)}
.l21-menu{display:none;width:40px;height:40px;border:1px solid var(--hair);border-radius:12px;background:var(--elev);color:var(--ink);cursor:pointer}
/* drawer */
.l21-drawer[hidden]{display:none}
.l21-drawer{position:fixed;inset:0;z-index:80}
.l21-drawer-bg{position:absolute;inset:0;background:rgba(28,24,32,.45)}
.l21-drawer-pan{position:absolute;top:0;right:0;width:min(320px,88vw);height:100%;background:var(--elev);padding:16px;
  display:flex;flex-direction:column;gap:12px;box-shadow:-8px 0 32px rgba(28,24,32,.18);overflow:auto}
.l21-drawer-x{align-self:flex-end;width:40px;height:40px;border:1px solid var(--hair);border-radius:12px;background:var(--bg);cursor:pointer}
.l21-drawer-nav{display:flex;flex-direction:column;gap:4px}
.l21-drawer-nav a{display:flex;align-items:center;gap:10px;padding:12px 10px;border-radius:12px;color:var(--ink);font-weight:700}
.l21-drawer-nav a:hover{background:var(--bg2);text-decoration:none}
.l21-hcta-d{width:100%;height:48px}
/* CTAs */
.l21-cta{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-width:260px;height:68px;padding:0 28px;
  border-radius:16px;background:linear-gradient(180deg,var(--cta-b),var(--cta));color:var(--cta-ink);
  font-weight:800;font-size:22px;letter-spacing:.01em;box-shadow:0 10px 28px color-mix(in srgb,var(--cta) 32%, transparent)}
.l21-cta:hover{text-decoration:none;filter:brightness(1.05)}
.l21-note{margin:8px 0 0;font-size:12px;color:var(--ink2)}
/* desktop fold */
.l21-desk{display:block}
.l21-mob{display:none}
.l21-fold{display:grid;grid-template-columns:38% 62%;min-height:calc(800px - var(--head-h));height:calc(100vh - var(--head-h));max-height:736px}
.l21-central{position:relative;overflow:hidden;padding:20px 22px 16px;display:flex;flex-direction:column;justify-content:center;gap:12px;color:var(--ink)}
.l21-fundos{position:absolute;inset:0;z-index:0}
.l21-fundos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;animation:l21-xfade 14s infinite}
.l21-fundos img:nth-child(2){animation-delay:-7s}
@keyframes l21-xfade{0%,40%{opacity:1}50%,90%{opacity:0}100%{opacity:1}}
.l21-central::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 82%, transparent) 0%,color-mix(in srgb,var(--bg) 92%, transparent) 100%)}
.l21-central > *{position:relative;z-index:2}
.l21-kicker{margin:0;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.l21-central h1,.l21-mob h1{margin:0;font-size:42px;font-weight:800;line-height:1.05;letter-spacing:-.02em}
.l21-central h1 span,.l21-mob h1 span{display:block}
.l21-plate{width:160px;height:160px;object-fit:contain;border-radius:28px;box-shadow:0 0 0 3px var(--gold),0 8px 20px rgba(28,24,32,.12);background:var(--elev)}
.l21-cta-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.l21-legend{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.l21-legend a,.l21-sentido{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-size:13px;font-weight:700;padding:3px 0}
.l21-legend a:hover{text-decoration:none}
.l21-seg{width:28px;height:6px;border-radius:99px;background:var(--ln,var(--violet));flex:none}
.l21-let{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--ln,var(--violet));color:#fff;font-size:10px;font-weight:800;flex:none}
/* map */
.l21-mapa{position:relative;background:color-mix(in srgb,var(--bg2) 70%, var(--elev));overflow:hidden;border-left:1px solid var(--hair)}
.l21-mapa svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.l21-trilho{fill:none;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;transition:opacity .2s,stroke-width .2s}
.l21-trilho[data-linha="slots"]{stroke:var(--ln-slots)}
.l21-trilho[data-linha="aovivo"]{stroke:var(--ln-vivo)}
.l21-trilho[data-linha="pescaria"]{stroke:var(--ln-pesca)}
.l21-trilho[data-linha="crash"]{stroke:var(--ln-crash)}
.l21-trilho[data-linha="mesa"]{stroke:var(--ln-mesa)}
.l21-trilho[data-linha="novos"]{stroke:var(--ln-novos)}
.l21-no{fill:var(--elev);stroke:#1a1820;stroke-width:2.2}
.l21-mapa.is-filtro .l21-trilho,.l21-mapa.is-filtro .l21-no{opacity:.22}
.l21-mapa.is-filtro .l21-trilho.is-on{opacity:1;stroke-width:11}
.l21-mapa.is-filtro .l21-no.is-on{opacity:1}
.l21-balde{position:absolute;left:50%;top:48.4%;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;
  border:4px solid var(--ink);background:var(--elev);box-shadow:0 0 0 4px var(--elev);cursor:pointer;z-index:5;padding:0}
.l21-balde:focus-visible{outline:3px solid var(--cta);outline-offset:2px}
.l21-estacao{position:absolute;width:120px;z-index:4;display:flex;flex-direction:column;gap:3px;color:var(--ink);text-decoration:none;
  filter:drop-shadow(0 6px 14px rgba(28,24,32,.14));transition:opacity .2s,transform .15s}
.l21-estacao:hover{text-decoration:none;transform:translate(-50%,calc(-110% - 4px))}
.l21-estacao.is-abaixo:hover{transform:translate(-50%,16px)}
.l21-estacao{transform:translate(-50%,-110%)}
.l21-estacao.is-abaixo{transform:translate(-50%,12px)}
.l21-estacao img{width:120px;height:86px;object-fit:cover;border-radius:12px;border:2px solid var(--elev);background:var(--bg2)}
.l21-estacao .l21-cap{display:flex;flex-direction:column;padding:0 2px}
.l21-estacao .l21-cap b{font-size:11.5px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.l21-estacao .l21-prov{font-size:10.5px;color:var(--ink2);font-weight:600}
.l21-selo{position:absolute;top:4px;left:4px;padding:1px 6px;border-radius:6px;font-size:9px;font-weight:800;letter-spacing:.04em;color:#fff;background:var(--coral);z-index:1}
.l21-selo.is-novo{background:var(--lime)}
.l21-mapa.is-filtro .l21-estacao{opacity:.3}
.l21-mapa.is-filtro .l21-estacao.is-on{opacity:1}
/* mobile first screen */
.l21-mob{padding:12px 12px 8px}
.l21-mob h1{font-size:28px;margin:4px 0 10px}
.l21-mob .l21-cta{width:100%;min-width:0;height:56px;font-size:18px;border-radius:14px}
.l21-mgrade{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.l21-peca{display:flex;flex-direction:column;gap:3px;color:var(--ink);text-decoration:none;position:relative}
.l21-peca .l21-cap{display:flex;flex-direction:column;gap:1px;min-width:0}
.l21-peca b,.l21-peca .l21-prov{display:block}
.l21-peca:hover{text-decoration:none}
.l21-peca img{width:100%;height:88px;object-fit:cover;border-radius:12px;background:var(--bg2)}
.l21-peca b{font-size:13px;font-weight:800;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.l21-peca .l21-prov{font-size:11px;color:var(--ink2)}
.l21-sentidos{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.l21-sentidos a{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:999px;background:var(--elev);
  border:1px solid var(--hair);color:var(--ink);font-size:12px;font-weight:700}
.l21-sentidos a:hover{text-decoration:none;border-color:var(--ln,var(--cta))}
/* below fold */
.l21-wrap{padding:28px 0 48px}
.l21-row{margin:22px 0}
.l21-row h2{margin:0 0 10px;font-size:22px;font-weight:800;display:flex;align-items:center;gap:8px}
.l21-row.is-linha{padding-left:14px;border-left:6px solid var(--ln,var(--violet))}
.l21-grade{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.l21-grade .l21-peca img{height:110px}
.l21-paradas{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.l21-parada{display:flex;flex-direction:column;gap:8px;color:var(--ink);text-decoration:none;background:var(--elev);border:1px solid var(--hair);border-radius:16px;overflow:hidden}
.l21-parada:hover{text-decoration:none;box-shadow:0 8px 20px rgba(28,24,32,.08)}
.l21-parada img{width:100%;height:160px;object-fit:cover}
.l21-parada strong{padding:0 12px;font-size:16px}
.l21-parada span{padding:0 12px 12px;font-size:13px;color:var(--ink2)}
.l21-quadros{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.l21-quadro{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:14px;background:var(--elev);border:1px solid var(--hair);color:var(--ink);text-decoration:none}
.l21-quadro:hover{text-decoration:none;border-color:var(--cta)}
.l21-quadro b{font-size:13px;letter-spacing:.06em}
.l21-quadro em{font-style:normal;font-weight:800;color:var(--cta)}
.l21-teaser,.l21-faq details{background:var(--elev);border:1px solid var(--hair);border-radius:14px;padding:16px;margin:10px 0}
.l21-faq details[open] summary{margin-bottom:8px}
.l21-faq summary{cursor:pointer;font-weight:700}
/* inner pages */
.l21-page{padding:24px 0 56px}
.l21-crumb{font-size:13px;color:var(--ink2);margin:0 0 8px}
.l21-page h1{font-size:34px;margin:0 0 14px;font-weight:800;line-height:1.15}
.l21-page p{margin:0 0 12px;max-width:68ch}
.l21-scores{width:100%;border-collapse:collapse;margin:12px 0 20px}
.l21-scores th,.l21-scores td{border-bottom:1px solid var(--hair);text-align:left;padding:8px 10px;vertical-align:top}
.l21-proscons{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}
.l21-revhead{display:flex;align-items:center;gap:16px;margin:0 0 16px}
.l21-marca{width:88px;height:88px;object-fit:contain;border-radius:16px;background:var(--bg2);border:1px solid var(--hair)}
.l21-hub-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:14px 0}
.l21-folha{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--hair);border-radius:14px;background:var(--elev);color:var(--ink);text-decoration:none;min-height:76px}
.l21-folha:hover{text-decoration:none;border-color:var(--cta)}
.l21-folha img{width:56px;height:56px;object-fit:contain;border-radius:10px;flex:none}
.l21-folha span{display:flex;flex-direction:column;gap:2px;min-width:0}
.l21-folha small,.l21-folha em{font-size:12px;color:var(--ink2);font-style:normal}
.l21-folha.is-hide{display:none}
.l21-busca{width:100%;max-width:420px;height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--hair);background:var(--elev);margin:8px 0}
.l21-more{display:block;margin:16px auto 0;height:46px;padding:0 24px;border-radius:999px;border:1px solid var(--cta);background:var(--elev);color:var(--cta);font-weight:800;cursor:pointer}
/* footer + sticky */
.l21-foot{background:var(--bg2);border-top:1px solid var(--hair);padding:32px 0 96px;color:var(--ink)}
.l21-foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px}
.l21-foot h2{font-size:15px;margin:0 0 8px}
.l21-foot a{display:block;color:var(--ink);font-weight:600;padding:3px 0}
.l21-credit{font-size:12px;color:var(--ink2);width:min(1180px,calc(100% - 32px));margin:16px auto 0}
.l21-18{display:inline-block;margin-right:8px;padding:1px 6px;border:1px solid var(--ink);border-radius:4px;font-weight:800;font-size:11px}
.l21-stick{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:8px 12px calc(8px + env(safe-area-inset-bottom));
  background:color-mix(in srgb,var(--elev) 94%, transparent);border-top:1px solid var(--hair)}
.l21-stick a{display:flex;align-items:center;justify-content:center;width:100%;height:56px;border-radius:14px;
  background:linear-gradient(180deg,var(--cta-b),var(--cta));color:var(--cta-ink);font-family:var(--display);font-weight:800;font-size:18px}
.l21-stick a:hover{text-decoration:none}
/* rl2 light overlay — map kit variables onto the shared lobby blocks */
.rl2{--rl2-bg2:var(--bg2);--rl2-card:var(--elev);--rl2-line:var(--hair);--rl2-ink:var(--ink);--rl2-muted:var(--ink2);
  --rl2-accent:var(--cta);--rl2-accent2:var(--teal);--rl2-hot:var(--coral);--rl2-top:var(--violet);--rl2-new:var(--lime);
  --rl2-glow:0 0 0 1px color-mix(in srgb,var(--cta) 40%, transparent),0 8px 24px color-mix(in srgb,var(--cta) 18%, transparent);
  color:var(--rl2-ink)}
.rl2-chip.is-on,.rl2-jogar,.rl2-rank-row em{color:var(--cta-ink)}
/* breakpoints */
@media (max-width:1100px){
  .l21-nav a span{display:none}
  .l21-grade{grid-template-columns:repeat(4,minmax(0,1fr))}
  .l21-paradas,.l21-quadros{grid-template-columns:1fr 1fr}
  .l21-foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:800px){
  :root{--head-h:56px}
  .l21-brand img{width:56px;height:56px}
  .l21-nav,.l21-hcta{display:none}
  .l21-menu{display:grid;place-items:center}
  .l21-desk{display:none}
  .l21-mob{display:block}
  .l21-stick{display:block}
  .l21-central h1,.l21-mob h1{font-size:28px}
  .l21-grade,.l21-paradas,.l21-quadros,.l21-proscons,.l21-hub-list{grid-template-columns:1fr 1fr}
  .l21-foot{padding-bottom:120px}
  .l21-foot-grid{grid-template-columns:1fr}
  .l21-page h1{font-size:26px}
}
@media (min-width:801px){
  .l21-stick{display:none}
  .l21-mob{display:none}
}

/* KIT FIX 2026-11-14 22:16 Asia/Singapore: mobile tiles capped at 72px so 8 tiles + captions clear the sticky CTA under a 2-line commission note (porto45555) */
.l21-mob .l21-peca img{height:72px!important;max-height:72px}

/* follower palette */
:root{--bg:#F7F3EA;--bg2:#EFE8D8;--elev:#FFFFFF;--ink:#1A1712;--ink2:#4A453C;--hair:#D9D0C0;--cta:#9A4A0A;--cta-b:#B85A10;--cta-ink:#FFFFFF;--gold:#C48418;--violet:#2A5F8A;--teal:#1E8A5A;--magenta:#C45A18;--lime:#8A6A12;--coral:#C44A3A;--ln-slots:#B85A10;--ln-vivo:#1E8A5A;--ln-pesca:#2A5F8A;--ln-crash:#C44A3A;--ln-mesa:#3A8A7A;--ln-novos:#6B3A16}
