/* The /webinars/ pages: the list, each webinar's page (scheduled, live,
   finished), the recordings archive and the registration pages. Every rule is
   scoped to .plw so nothing reaches the shared site chrome around it.
   Palette: ink on white, the brand orange as a field (never as small text on
   white: #F2600C is 3.25:1 there), a dark "stage" for the live room and the
   recording. */
.plw {
  --plw-ink: #1B120C;
  --plw-ink-2: #3D2F26;
  --plw-ink-3: #5C4B40;
  --plw-ink-4: #6E5C50;
  --plw-line: #EBDFD5;
  --plw-line-2: #D9C6B6;
  --plw-orange: #F2600C;
  --plw-orange-ink: #C2410C;
  --plw-tint: #FFF3E8;
  --plw-tint-line: #F6D9C2;
  --plw-stage: #18100B;
  --plw-stage-2: #231812;
  --plw-stage-3: #33241B;
  --plw-stage-line: #3A2A20;
  --plw-stage-text: #F7EEE7;
  --plw-stage-mute: #BCA898;
  --plw-live: #FF5A28;
  --plw-live-ink: #FF8A5C;
  font-family: 'Figtree', 'Inter', system-ui, sans-serif;
  color: var(--plw-ink);
  background: #FFFFFF;
  min-height: 100%;
  -webkit-font-smoothing: antialiased;
}
.plw * { box-sizing: border-box; }
.plw h1, .plw h2, .plw h3, .plw p { margin: 0; }
.plw a { color: var(--plw-orange-ink); }
.plw a:hover { color: #8F2F08; }
.plw a:focus-visible, .plw button:focus-visible, .plw input:focus-visible {
  outline: 3px solid var(--plw-ink); outline-offset: 3px;
}
.plw .plw-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }
.plw .plw-wrap { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.plw .plw-section { padding-top: 72px; }
.plw .plw-section:last-child { padding-bottom: 96px; }

/* Type */
.plw .plw-kicker {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--plw-orange-ink);
}
.plw .plw-kicker--plain { color: inherit; }
.plw .plw-tag {
  display: inline-block; background: var(--plw-ink); color: #FFFFFF;
  padding: 6px 10px; border-radius: 4px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.plw .plw-display {
  font-size: clamp(40px, 7vw, 68px); line-height: .98; font-weight: 900; letter-spacing: -.035em;
  overflow-wrap: break-word;
}
.plw .plw-h1 { font-size: clamp(34px, 5.5vw, 52px); line-height: 1.02; font-weight: 900; letter-spacing: -.035em; overflow-wrap: break-word; }
.plw .plw-h2 { font-size: clamp(26px, 4vw, 36px); line-height: 1.1; font-weight: 900; letter-spacing: -.03em; }
.plw .plw-h3 { font-size: 22px; line-height: 1.2; font-weight: 900; letter-spacing: -.015em; }
.plw .plw-lead { font-size: clamp(17px, 2vw, 20px); line-height: 1.5; font-weight: 500; max-width: 620px; }
.plw .plw-muted { color: var(--plw-ink-3); }
.plw .plw-small { font-size: 14px; color: var(--plw-ink-4); }
.plw .plw-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 24px; flex-wrap: wrap; margin-bottom: 28px; }
.plw .plw-section-head p { margin-top: 6px; font-size: 16px; color: var(--plw-ink-3); }

/* Buttons: real links and buttons, at least 44px tall. */
.plw .plw-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 12px 24px; border-radius: 999px;
  font: inherit; font-size: 16px; font-weight: 800; line-height: 1.2;
  text-decoration: none; cursor: pointer; border: 2px solid transparent;
  transition: transform .12s ease, background-color .12s ease;
}
.plw .plw-btn:hover { transform: translateY(-1px); }
.plw .plw-btn svg { flex: none; }
.plw .plw-btn--ink { background: var(--plw-ink); color: #FFFFFF; }
.plw .plw-btn--ink:hover { color: #FFFFFF; background: #000000; }
.plw .plw-btn--orange { background: var(--plw-orange); color: var(--plw-ink); }
.plw .plw-btn--orange:hover { color: var(--plw-ink); background: #FF7429; }
.plw .plw-btn--outline { background: transparent; color: var(--plw-ink); border-color: var(--plw-ink); }
.plw .plw-btn--outline:hover { color: var(--plw-ink); background: rgba(27,18,12,.06); }
.plw .plw-btn--whatsapp { background: #25D366; color: #0B2E17; }
.plw .plw-btn--whatsapp:hover { color: #0B2E17; background: #3BE07A; }
.plw .plw-btn--lg { min-height: 56px; font-size: 17px; padding: 14px 28px; }
.plw .plw-btn--block { width: 100%; }
.plw .plw-btn--quiet {
  background: none; border: 0; color: var(--plw-ink-3); font-weight: 600; font-size: 14px;
  text-decoration: underline; min-height: 44px; padding: 8px;
}
.plw .plw-btn--quiet:hover { color: var(--plw-ink); transform: none; }
.plw .plw-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.plw .plw-link-strong { font-weight: 800; color: var(--plw-ink); text-decoration: none; border-bottom: 2px solid var(--plw-orange); padding-bottom: 2px; }
.plw .plw-link-strong:hover { color: var(--plw-ink); border-bottom-color: var(--plw-ink); }

/* Hosts */
.plw .plw-avatars { display: flex; padding-left: 8px; }
.plw .plw-avatar {
  width: 40px; height: 40px; border-radius: 50%; margin-left: -8px; flex: none;
  display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 14px; border: 3px solid var(--plw-avatar-ring, #FFFFFF);
}
.plw .plw-hosts { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; font-weight: 600; font-size: 15px; }
.plw .plw-host-list { display: flex; flex-direction: column; }
.plw .plw-host-row { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--plw-line); font-weight: 800; font-size: 17px; }
.plw .plw-host-row .plw-avatar { margin-left: 0; width: 48px; height: 48px; font-size: 18px; border: 0; }

/* The hero of the list and of a scheduled webinar: an orange field. */
.plw .plw-hero { background: var(--plw-orange); color: var(--plw-ink); overflow: hidden; --plw-avatar-ring: var(--plw-orange); }
.plw .plw-hero--tint { background: var(--plw-tint); border-bottom: 1px solid var(--plw-tint-line); --plw-avatar-ring: var(--plw-tint); }
.plw .plw-hero--stage { background: var(--plw-stage); color: var(--plw-stage-text); --plw-avatar-ring: var(--plw-stage); }
.plw .plw-hero--stage .plw-lead { color: #D9C8BB; }
.plw .plw-hero-grid {
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 48px; align-items: center; padding-top: 64px; padding-bottom: 72px;
}
.plw .plw-hero-copy { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.plw .plw-hero-copy > .plw-btn, .plw .plw-hero-copy > form, .plw .plw-hero-copy > .plw-gate { align-self: flex-start; }
.plw .plw-hero-kickers { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.plw .plw-hero .plw-kicker { color: var(--plw-ink); }
.plw .plw-hero--stage .plw-kicker { color: var(--plw-live-ink); }
.plw .plw-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font-size: 14px; font-weight: 600; color: var(--plw-ink-3); padding-top: 28px; }
.plw .plw-crumbs a { color: inherit; }
.plw .plw-hero--stage .plw-crumbs { color: var(--plw-stage-mute); }

/* The ticket: date, countdown, perforation. */
.plw .plw-ticket {
  background: #FFFFFF; color: var(--plw-ink); border-radius: 20px; overflow: hidden;
  box-shadow: 0 30px 60px -20px rgba(27,18,12,.45); transform: rotate(1.2deg);
}
.plw .plw-ticket--ink { background: var(--plw-ink); color: #FFFFFF; transform: rotate(-1.2deg); }
.plw .plw-ticket-body { padding: 26px 26px 22px; display: flex; flex-direction: column; gap: 18px; }
.plw .plw-ticket-top { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.plw .plw-ticket-top .plw-mono { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.plw .plw-ticket-date { display: flex; align-items: flex-end; gap: 18px; }
.plw .plw-ticket-day { font-size: clamp(72px, 9vw, 96px); font-weight: 900; line-height: .8; letter-spacing: -.05em; }
.plw .plw-ticket-when { display: flex; flex-direction: column; gap: 2px; padding-bottom: 4px; }
.plw .plw-ticket-when strong { font-size: 22px; font-weight: 800; }
.plw .plw-ticket-when span { font-size: 16px; font-weight: 600; color: var(--plw-ink-3); }
.plw .plw-ticket--ink .plw-ticket-when span { color: #D9C8BB; }
.plw .plw-ticket-stub { position: relative; border-top: 2px dashed var(--plw-line); padding: 18px 26px 22px; }
.plw .plw-ticket-stub::before, .plw .plw-ticket-stub::after {
  content: ""; position: absolute; top: -14px; width: 26px; height: 26px; border-radius: 50%;
  background: var(--plw-notch, var(--plw-orange));
}
.plw .plw-ticket-stub::before { left: -14px; }
.plw .plw-ticket-stub::after { right: -14px; }
.plw .plw-ticket-cover { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; }
.plw .plw-countdown { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.plw .plw-countdown > div { background: var(--plw-tint); border-radius: 10px; padding: 12px 4px; text-align: center; }
.plw .plw-countdown b { display: block; font-family: 'JetBrains Mono', ui-monospace, monospace; font-weight: 700; font-size: 28px; font-variant-numeric: tabular-nums; }
.plw .plw-countdown span { font-size: 12px; font-weight: 600; color: var(--plw-ink-4); text-transform: uppercase; letter-spacing: .06em; }
.plw .plw-ticket--ink .plw-countdown > div { background: var(--plw-stage-3); }
.plw .plw-ticket--ink .plw-countdown span { color: var(--plw-stage-mute); }
.plw .plw-countdown-soon { display: none; font-weight: 800; font-size: 17px; }
.plw [data-plw-countdown].is-done .plw-countdown { display: none; }
.plw [data-plw-countdown].is-done .plw-countdown-soon { display: block; }

/* Cover frames */
.plw .plw-cover { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--plw-tint); }
.plw .plw-cover-empty {
  width: 100%; aspect-ratio: 16 / 9; display: flex; align-items: center; justify-content: center;
  background: var(--plw-orange); color: var(--plw-ink);
}
.plw .plw-play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: 64px; height: 64px; border-radius: 50%; background: #FFFFFF; color: var(--plw-ink);
  display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.plw .plw-lock-badge {
  position: absolute; right: 12px; top: 12px; background: var(--plw-ink); color: #FFFFFF;
  font-weight: 700; font-size: 12px; padding: 5px 9px; border-radius: 6px;
}

/* How it works */
.plw .plw-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; list-style: none; margin: 0; padding: 0; }
.plw .plw-step { display: flex; flex-direction: column; gap: 8px; padding-top: 18px; border-top: 3px solid var(--plw-ink); }
.plw .plw-step b { font-size: 20px; font-weight: 800; letter-spacing: -.01em; }
.plw .plw-step p { font-size: 15px; line-height: 1.5; color: var(--plw-ink-3); }
.plw .plw-step .plw-mono { font-size: 13px; font-weight: 700; color: var(--plw-orange-ink); }

/* The year's sessions */
.plw .plw-season { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px; list-style: none; margin: 0; padding: 0; }
.plw .plw-season a {
  display: flex; flex-direction: column; justify-content: space-between; gap: 10px; min-height: 112px;
  border-radius: 12px; padding: 14px 12px 12px; text-decoration: none;
  background: var(--plw-tint); color: var(--plw-ink); border: 1px solid var(--plw-tint-line);
}
.plw .plw-season a:hover { border-color: var(--plw-ink); }
.plw .plw-season .plw-mono { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.plw .plw-season strong { font-size: 24px; font-weight: 900; letter-spacing: -.02em; line-height: 1; text-transform: capitalize; }
.plw .plw-season span { font-size: 13px; font-weight: 600; }
.plw .plw-season .is-next { background: var(--plw-orange); border-color: var(--plw-orange); }
.plw .plw-season .is-live { background: var(--plw-stage); color: var(--plw-stage-text); border-color: var(--plw-stage); }
.plw .plw-season .is-scheduled { background: #FFFFFF; border: 1px dashed var(--plw-line-2); color: var(--plw-ink-3); }

/* Recordings */
.plw .plw-feature {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  border: 1px solid var(--plw-line); border-radius: 20px; overflow: hidden;
  text-decoration: none; color: var(--plw-ink); margin-bottom: 28px; background: #FFFFFF;
}
.plw .plw-feature:hover { color: var(--plw-ink); border-color: var(--plw-ink); }
.plw .plw-feature-media { position: relative; background: var(--plw-tint); }
.plw .plw-feature-media .plw-cover, .plw .plw-feature-media .plw-cover-empty { height: 100%; min-height: 300px; aspect-ratio: auto; }
.plw .plw-feature-body { padding: 32px; display: flex; flex-direction: column; gap: 14px; justify-content: center; }
.plw .plw-feature-title { font-size: clamp(24px, 3vw, 32px); font-weight: 900; letter-spacing: -.025em; line-height: 1.08; }
.plw .plw-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; list-style: none; margin: 0; padding: 0; }
.plw .plw-card { display: flex; flex-direction: column; gap: 14px; text-decoration: none; color: var(--plw-ink); height: 100%; }
.plw .plw-card:hover { color: var(--plw-ink); }
.plw .plw-card:hover .plw-card-title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.plw .plw-card-media { position: relative; border-radius: 14px; overflow: hidden; }
.plw .plw-card-title { font-size: 20px; font-weight: 800; letter-spacing: -.015em; line-height: 1.2; }
.plw .plw-card-meta { font-size: 14px; color: var(--plw-ink-4); }
.plw .plw-card .plw-mono { font-size: 12px; font-weight: 700; color: var(--plw-orange-ink); letter-spacing: .04em; text-transform: uppercase; }

/* The archive's rows */
.plw .plw-year { display: flex; align-items: baseline; gap: 16px; border-bottom: 3px solid var(--plw-ink); padding-bottom: 10px; margin: 48px 0 4px; }
.plw .plw-year:first-child { margin-top: 0; }
.plw .plw-year span { font-size: 15px; color: var(--plw-ink-4); }
.plw .plw-rows { list-style: none; margin: 0; padding: 0; }
.plw .plw-row {
  display: grid; grid-template-columns: 96px 240px minmax(0, 1fr) auto; gap: 28px; align-items: center;
  padding: 22px 0; border-bottom: 1px solid var(--plw-line); text-decoration: none; color: var(--plw-ink);
}
.plw .plw-row:hover { color: var(--plw-ink); }
.plw .plw-row:hover .plw-row-title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.plw .plw-row-date { display: flex; flex-direction: column; }
.plw .plw-row-date strong { font-size: 40px; font-weight: 900; letter-spacing: -.04em; line-height: .9; }
.plw .plw-row-date span { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; font-weight: 700; color: var(--plw-ink-4); margin-top: 6px; text-transform: uppercase; }
.plw .plw-row-media { position: relative; border-radius: 12px; overflow: hidden; }
.plw .plw-row-title { font-size: 19px; font-weight: 800; line-height: 1.25; }
.plw .plw-row-cta { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; font-size: 15px; border: 1.5px solid var(--plw-ink); border-radius: 999px; padding: 11px 18px; white-space: nowrap; }
.plw .plw-search {
  display: flex; align-items: center; gap: 8px; border: 1.5px solid var(--plw-line-2); border-radius: 999px;
  padding: 0 16px; height: 50px; width: 100%; max-width: 380px; background: #FFFFFF;
}
.plw .plw-search input { border: 0; outline: 0; font: inherit; font-size: 16px; flex: 1; min-width: 0; background: transparent; color: var(--plw-ink); }
.plw .plw-search:focus-within { border-color: var(--plw-ink); }
.plw .plw-empty-search { display: none; padding: 32px 0; color: var(--plw-ink-3); }

/* A scheduled webinar's page */
.plw .plw-detail { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 56px; align-items: start; }
.plw .plw-facts { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.plw .plw-facts li {
  display: inline-flex; align-items: center; gap: 8px; background: #FFFFFF; border: 1px solid #F0D3BC;
  border-radius: 999px; padding: 9px 16px; font-weight: 700; font-size: 15px;
}
.plw .plw-facts li::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--plw-orange); }
.plw .plw-detail-cover { border-radius: 20px; overflow: hidden; margin-top: 8px; }
.plw .plw-panel {
  background: #FFFFFF; border-radius: 20px; border: 1px solid #F0D3BC; overflow: hidden;
  box-shadow: 0 24px 48px -24px rgba(27,18,12,.3); position: sticky; top: 88px;
}
.plw .plw-panel-body { padding: 26px; display: flex; flex-direction: column; gap: 16px; }
.plw .plw-panel-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.plw .plw-panel-head strong { font-size: 24px; font-weight: 900; letter-spacing: -.02em; }
.plw .plw-free { font-weight: 800; font-size: 14px; color: #2E7D4F; background: #F1F8F3; padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.plw .plw-me { display: flex; align-items: center; gap: 12px; background: var(--plw-tint); border-radius: 12px; padding: 12px 14px; min-width: 0; }
.plw .plw-me .plw-avatar { margin-left: 0; border: 0; background: var(--plw-ink); color: #FFFFFF; }
.plw .plw-me-text { display: flex; flex-direction: column; font-size: 14px; min-width: 0; }
.plw .plw-me-text b { font-size: 15px; }
.plw .plw-me-text span { color: var(--plw-ink-3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.plw .plw-panel-done { background: var(--plw-ink); color: #FFFFFF; padding: 26px; display: flex; flex-direction: column; gap: 10px; }
.plw .plw-panel-done strong { font-size: 26px; font-weight: 900; letter-spacing: -.02em; }
.plw .plw-panel-done p { color: #D9C8BB; font-size: 15px; line-height: 1.5; }
.plw .plw-check { width: 48px; height: 48px; border-radius: 50%; background: var(--plw-orange); color: var(--plw-ink); display: flex; align-items: center; justify-content: center; }
.plw .plw-label { font-weight: 800; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--plw-ink-3); }
.plw .plw-cal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.plw .plw-cal a {
  display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px;
  font-weight: 700; font-size: 15px; color: var(--plw-ink); text-decoration: none;
  border: 1.5px solid var(--plw-line-2); border-radius: 10px; text-align: center;
}
.plw .plw-cal a:hover { border-color: var(--plw-ink); color: var(--plw-ink); }
.plw .plw-gate { background: var(--plw-tint); border-radius: 14px; padding: 16px; font-size: 15px; line-height: 1.5; }
.plw .plw-gate strong { display: block; margin-bottom: 4px; }
.plw .plw-description { font-size: 17px; line-height: 1.65; color: var(--plw-ink-2); max-width: 720px; }
.plw .plw-description p { margin: 0 0 1em; }
.plw .plw-description a { color: var(--plw-orange-ink); }
.plw .plw-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.plw .plw-faq > div { background: var(--plw-tint); border-radius: 16px; padding: 24px; display: flex; flex-direction: column; gap: 8px; }
.plw .plw-faq b { font-size: 18px; font-weight: 800; }
.plw .plw-faq p { font-size: 15px; line-height: 1.55; color: var(--plw-ink-2); }
.plw .plw-rule { display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; border-top: 3px solid var(--plw-ink); padding-top: 24px; }

/* Invite the team */
.plw .plw-invite { background: var(--plw-ink); color: var(--plw-stage-text); border-radius: 24px; padding: 40px; display: flex; justify-content: space-between; align-items: center; gap: 24px 32px; flex-wrap: wrap; }
.plw .plw-invite-text { display: flex; flex-direction: column; gap: 10px; max-width: 620px; }
.plw .plw-invite-text strong { font-size: clamp(24px, 3vw, 30px); font-weight: 900; letter-spacing: -.025em; line-height: 1.1; }
.plw .plw-invite-text span { font-size: 17px; line-height: 1.5; color: #D9C8BB; }

/* The live room and the recording: the stage */
.plw.plw--stage { background: var(--plw-stage); color: var(--plw-stage-text); }
.plw.plw--stage a { color: var(--plw-live-ink); }
.plw .plw-room-bar { border-bottom: 1px solid var(--plw-stage-3); }
.plw .plw-room-bar-inner { max-width: 1400px; margin: 0 auto; padding: 10px 20px; min-height: 64px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.plw .plw-room-title { font-weight: 800; font-size: 18px; min-width: 0; overflow-wrap: break-word; flex: 1 1 12em; }
.plw .plw-icon-btn {
  width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--plw-stage-line); flex: none;
  display: inline-flex; align-items: center; justify-content: center; color: var(--plw-stage-text) !important;
}
.plw .plw-live {
  display: inline-flex; align-items: center; gap: 8px; background: var(--plw-live); color: var(--plw-ink);
  font-weight: 800; font-size: 13px; padding: 5px 10px; border-radius: 4px; letter-spacing: .06em; white-space: nowrap;
}
.plw .plw-live i { width: 8px; height: 8px; border-radius: 50%; background: var(--plw-ink); animation: plw-pulse 1.6s infinite; }
@keyframes plw-pulse { 0% { box-shadow: 0 0 0 0 rgba(27,18,12,.6); } 70% { box-shadow: 0 0 0 8px rgba(27,18,12,0); } 100% { box-shadow: 0 0 0 0 rgba(27,18,12,0); } }
@media (prefers-reduced-motion: reduce) { .plw .plw-live i { animation: none; } .plw .plw-btn:hover { transform: none; } }
.plw .plw-room {
  max-width: 1400px; margin: 0 auto; padding: 20px; display: grid; gap: 16px 20px; align-items: start;
  grid-template-columns: minmax(0, 1fr) 380px; grid-template-rows: auto 1fr;
  grid-template-areas: "video chat" "cards chat";
}
.plw .plw-room-video { grid-area: video; }
.plw .plw-room-chat { grid-area: chat; min-width: 0; }
.plw .plw-room-cards { grid-area: cards; align-self: start; }
.plw .plw-video { aspect-ratio: 16 / 9; width: 100%; border-radius: 16px; overflow: hidden; background: #0E0906; border: 1px solid var(--plw-stage-3); }
.plw .plw-video iframe { display: block; width: 100%; height: 100%; border: 0; }
.plw .plw-video-empty { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; padding: 24px; text-align: center; color: var(--plw-stage-mute); }
.plw .plw-room-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.plw .plw-room-card {
  background: var(--plw-stage-2); border: 1px solid var(--plw-stage-3); border-radius: 14px; padding: 18px;
  display: flex; gap: 14px; align-items: center; text-decoration: none; color: var(--plw-stage-text) !important;
}
.plw .plw-room-card:hover { border-color: var(--plw-stage-mute); }
.plw .plw-room-card b { display: block; font-size: 16px; }
.plw .plw-room-card span { font-size: 14px; color: var(--plw-stage-mute); }
.plw .plw-room-card .plw-dot { width: 44px; height: 44px; border-radius: 50%; background: var(--plw-stage-3); display: flex; align-items: center; justify-content: center; flex: none; }

/* The chat */
.plw .plw-chat {
  background: var(--plw-stage-2); border: 1px solid var(--plw-stage-3); border-radius: 16px;
  display: flex; flex-direction: column; height: min(78vh, 760px); min-height: 420px; overflow: hidden;
}
.plw .plw-chat-head { padding: 16px 18px; border-bottom: 1px solid var(--plw-stage-3); display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.plw .plw-chat-head b { font-size: 16px; }
.plw .plw-chat-head span { font-size: 13px; color: var(--plw-stage-mute); }
.plw .plw-chat-pinned { margin: 12px 12px 0; background: var(--plw-stage-3); border-radius: 12px; padding: 10px 12px; font-size: 14px; line-height: 1.45; display: flex; gap: 10px; }
.plw .plw-chat-list { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 12px; }
.plw .plw-msg { display: flex; flex-direction: column; gap: 3px; font-size: 15px; line-height: 1.45; }
.plw .plw-msg-name { font-weight: 800; font-size: 14px; color: var(--plw-stage-text); }
.plw .plw-msg-time { font-size: 12px; color: var(--plw-stage-mute); margin-left: 6px; font-weight: 500; }
.plw .plw-msg-text { color: #EFE3D9; white-space: pre-wrap; overflow-wrap: anywhere; }
.plw .plw-msg--team { background: var(--plw-stage-3); border-radius: 10px; padding: 10px 12px; }
.plw .plw-msg--team .plw-msg-name { color: var(--plw-live-ink); }
.plw .plw-msg--team .plw-msg-name::after { content: attr(data-team); margin-left: 8px; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; background: var(--plw-orange); color: var(--plw-ink); padding: 1px 6px; border-radius: 4px; }
.plw .plw-msg--pending { opacity: .62; }
.plw .plw-msg--pending .plw-msg-time { font-style: italic; }
.plw .plw-msg--review { background: #3A2B12; border-left: 3px solid #FFC107; border-radius: 8px; padding: 8px 10px; }
.plw .plw-chat-empty { color: var(--plw-stage-mute); text-align: center; padding: 24px 8px; }
.plw .plw-chat-form { border-top: 1px solid var(--plw-stage-3); padding: 12px; display: flex; flex-direction: column; gap: 6px; }
.plw .plw-chat-row { display: flex; gap: 8px; align-items: center; }
.plw .plw-chat-input {
  flex: 1; min-width: 0; font: inherit; font-size: 16px; padding: 11px 14px; border-radius: 999px;
  border: 1px solid #4A372B; background: var(--plw-stage); color: var(--plw-stage-text);
}
.plw .plw-chat-input::placeholder { color: #9C8879; }
.plw .plw-chat-send {
  width: 46px; height: 46px; flex: none; border-radius: 50%; border: 0; background: var(--plw-orange); color: var(--plw-ink);
  display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.plw .plw-chat-send[disabled] { opacity: .5; cursor: progress; }
.plw .plw-chat-note { font-size: 12px; color: var(--plw-stage-mute); padding-left: 6px; }
.plw .plw-chat .chat-mod-actions { display: flex; gap: 6px; margin-top: 6px; }
.plw .plw-chat .chat-mod-btn {
  font: inherit; font-size: 13px; font-weight: 700; min-height: 32px; padding: 4px 10px; border-radius: 999px;
  border: 1px solid var(--plw-stage-line); background: var(--plw-stage); color: var(--plw-stage-text); cursor: pointer;
}
.plw .plw-chat .chat-mod-approve { border-color: #2E7D4F; }
.plw .plw-chat .chat-mod-reject, .plw .plw-chat .chat-mod-ban { border-color: #B8360F; }

/* The recording page */
.plw .plw-stageband { background: var(--plw-stage); color: var(--plw-stage-text); }
.plw .plw-stageband .plw-crumbs { color: var(--plw-stage-mute); padding-top: 0; }
.plw .plw-stageband .plw-crumbs a { color: var(--plw-stage-mute); }
.plw .plw-rec-top { max-width: 1280px; margin: 0 auto; padding: 0 24px 40px; }
.plw .plw-rec-body { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 56px; align-items: start; }
.plw .plw-side { display: flex; flex-direction: column; gap: 24px; }
.plw .plw-next {
  display: flex; flex-direction: column; gap: 10px; background: var(--plw-orange); color: var(--plw-ink) !important;
  border-radius: 20px; padding: 24px; text-decoration: none;
}
.plw .plw-next:hover { color: var(--plw-ink); }
.plw .plw-next strong { font-size: 26px; font-weight: 900; letter-spacing: -.02em; line-height: 1.05; }
.plw .plw-next .plw-mono { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.plw .plw-mini { display: flex; gap: 14px; align-items: center; text-decoration: none; color: var(--plw-ink); }
.plw .plw-mini:hover { color: var(--plw-ink); text-decoration: underline; }
.plw .plw-mini-media { width: 112px; flex: none; border-radius: 8px; overflow: hidden; position: relative; }
.plw .plw-mini b { font-size: 15px; line-height: 1.3; font-weight: 700; }
.plw .plw-archive { border: 1px solid var(--plw-line); border-radius: 16px; max-height: 520px; overflow-y: auto; padding: 8px 16px; }
.plw .plw-archive-msg { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--plw-line); font-size: 15px; line-height: 1.5; }
.plw .plw-archive-msg:last-child { border-bottom: 0; }
.plw .plw-archive-msg time { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 12px; color: var(--plw-ink-4); padding-top: 3px; }
.plw .plw-archive-msg b { margin-right: 8px; }
.plw .plw-archive-msg--team { background: var(--plw-tint); border-radius: 10px; padding: 10px 12px; margin: 4px -12px; border-bottom: 0; }
.plw .plw-archive-msg--team b { color: var(--plw-orange-ink); }

/* Ended, no recording yet */
.plw .plw-ended { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.plw .plw-tile { border-radius: 20px; padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.plw .plw-tile--line { border: 2px solid var(--plw-ink); }
.plw .plw-tile--tint { background: var(--plw-tint); }
.plw .plw-pill { display: inline-flex; align-self: flex-start; align-items: center; gap: 10px; background: var(--plw-stage-3); border-radius: 999px; padding: 10px 16px; font-size: 15px; font-weight: 700; }

/* The registration pages (seat booked, confirm, cancelled) */
.plw.plw--orange { background: var(--plw-orange); }
.plw .plw-booked { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: start; padding-top: 48px; padding-bottom: 96px; }
.plw .plw-booked-copy { display: flex; flex-direction: column; gap: 24px; }
.plw .plw-timeline { list-style: none; margin: 0; padding: 0; background: #FFFFFF; border-radius: 20px; overflow: hidden; }
.plw .plw-timeline li { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px 20px; border-bottom: 1px solid #F3E6DB; }
.plw .plw-timeline li:last-child { border-bottom: 0; }
.plw .plw-timeline .plw-n { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-family: 'JetBrains Mono', ui-monospace, monospace; font-weight: 700; font-size: 14px; background: var(--plw-tint); }
.plw .plw-timeline .is-done .plw-n { background: var(--plw-ink); color: #FFFFFF; }
.plw .plw-timeline .is-start .plw-n { background: var(--plw-orange); }
.plw .plw-timeline b { display: block; font-size: 17px; }
.plw .plw-timeline span { font-size: 14px; color: var(--plw-ink-3); }
.plw .plw-timeline time { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 13px; font-weight: 700; color: var(--plw-ink-4); white-space: nowrap; text-align: right; }
.plw .plw-card-white { background: #FFFFFF; border-radius: 20px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.plw .plw-quote { background: var(--plw-tint); border-radius: 12px; padding: 14px 16px; font-size: 15px; line-height: 1.5; color: var(--plw-ink-2); overflow-wrap: anywhere; }
.plw .plw-center { min-height: 60vh; display: flex; align-items: center; justify-content: center; padding: 48px 16px; }
.plw .plw-dialog { background: #FFFFFF; border-radius: 24px; padding: 32px; max-width: 520px; width: 100%; display: flex; flex-direction: column; gap: 16px; box-shadow: 0 30px 60px -30px rgba(27,18,12,.4); }
.plw .plw-dialog form { margin: 0; }
.plw .plw-notice { background: var(--plw-tint); border-radius: 12px; padding: 12px 14px; font-size: 15px; line-height: 1.5; }

/* Narrow screens */
@media (max-width: 1000px) {
  .plw .plw-hero-grid, .plw .plw-detail, .plw .plw-feature, .plw .plw-rec-body, .plw .plw-booked { grid-template-columns: minmax(0, 1fr); }
  .plw .plw-hero-grid { gap: 36px; padding-top: 40px; padding-bottom: 48px; }
  .plw .plw-ticket, .plw .plw-ticket--ink { transform: none; }
  .plw .plw-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plw .plw-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plw .plw-ended { grid-template-columns: minmax(0, 1fr); }
  .plw .plw-room { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; grid-template-areas: "video" "chat" "cards"; padding: 0 0 20px; gap: 0; }
  .plw .plw-video { border-radius: 0; border-left: 0; border-right: 0; }
  .plw .plw-room-cards { padding: 16px 16px 0; }
  .plw .plw-chat { border-radius: 0; border-left: 0; border-right: 0; height: 64vh; min-height: 380px; }
  .plw .plw-panel { position: static; }
  .plw .plw-row { grid-template-columns: 76px minmax(0, 1fr); gap: 16px; }
  .plw .plw-row-media, .plw .plw-row-cta { display: none; }
  .plw .plw-row-date strong { font-size: 30px; }
}
@media (max-width: 640px) {
  .plw .plw-wrap { padding: 0 16px; }
  .plw .plw-section { padding-top: 48px; }
  .plw .plw-cards, .plw .plw-steps, .plw .plw-faq, .plw .plw-room-cards { grid-template-columns: minmax(0, 1fr); }
  .plw .plw-feature-body { padding: 20px; }
  .plw .plw-feature-media .plw-cover, .plw .plw-feature-media .plw-cover-empty { min-height: 0; aspect-ratio: 16 / 9; }
  .plw .plw-invite { padding: 24px; border-radius: 20px; }
  .plw .plw-actions > .plw-btn { width: 100%; }
  .plw .plw-ticket-body { padding: 20px; }
  .plw .plw-ticket-stub { padding: 16px 20px 20px; }
  .plw .plw-countdown b { font-size: 22px; }
  .plw .plw-room-title { font-size: 15px; }
  .plw .plw-room-bar .plw-chat-note { display: none; }
  .plw .plw-timeline li { grid-template-columns: 36px minmax(0, 1fr); }
  .plw .plw-timeline time { grid-column: 2; text-align: left; }
  .plw .plw-dialog { padding: 24px; }
  .plw .plw-season { grid-auto-flow: column; grid-auto-columns: 112px; grid-template-columns: none; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; }
  .plw .plw-season li { scroll-snap-align: start; }
}


