/* Registration in the room's dark language. Shares tokens and controls with app.css. */
.access-recovery { margin-top: 24px; color: #c4c4cc; font-size: 14px; }
.access-recovery summary { cursor: pointer; min-height: 44px; display: list-item; padding: 12px 0; }
.access-recovery form { display: grid; gap: 12px; margin-top: 8px; }
.access-recovery label { font-size: 14px; }
.access-recovery input { width: 100%; min-width: 0; min-height: 48px; padding: 12px 16px; border: 0; border-radius: 16px; color: var(--ink); background: var(--surface-2); font: inherit; font-size: 16px; }
.access-recovery button { justify-self: start; min-height: 44px; }
.access-recovery p { line-height: 1.5; }
.calendar-link { display: inline-block; margin-top: 16px; padding: 8px 0; color: var(--ink); }
.register .site-header { display: flex; min-height: 72px; }
.register-hero { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px, 460px); gap: 16px; align-items: start; }
.register-copy { position: relative; isolation: isolate; overflow: hidden; display: grid; grid-template-columns: minmax(0,1fr); grid-template-areas: 'eyebrow' 'title' 'details' 'speaker' 'resources'; gap: 24px; padding: clamp(28px,3vw,40px); border-radius: var(--radius); background: var(--surface); }
.register-copy::after { content: ''; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, #1b1b1efa 0%, #1b1b1ee6 32%, #1b1b1e73 60%, #1b1b1e08 100%), linear-gradient(0deg, #1b1b1ef5 0%, #1b1b1e00 36%, #1b1b1e33 78%, #1b1b1e99 100%); }
.register-copy > :not(.register-art) { position: relative; z-index: 2; }
.register-copy > .eyebrow { grid-area: eyebrow; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; }
.eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--live); box-shadow: 0 0 0 4px #ff3d5526; }
.register h1 { grid-area: title; margin-top: 0; max-width: 760px; font-size: clamp(40px, 3.8vw, 56px); line-height: 1.04; letter-spacing: -.045em; white-space: normal; overflow: visible; text-wrap: balance; }
.register h1 .title-outcome { display: block; color: #c4c4cc; }
.hero-details { grid-area: details; display: grid; grid-template-columns: minmax(0,1fr); gap: 24px; max-width: 58%; }
.lead { max-width: 440px; color: #c4c4cc; font-size: 16px; line-height: 1.5; }
.register-speaker { grid-area: speaker; order: 3; display: flex; align-items: center; gap: 12px; }
.register-speaker img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.register-speaker strong { display: block; font-size: 15px; }
.register-speaker span { color: var(--muted); font-size: 13px; }
.session { min-width: 204px; }
.session-kicker { color: var(--muted); font-size: 12px; }
.session-label { margin-top: 10px; color: var(--ink); font-size: 13px; font-weight: 600; }
.session-local-time { margin-top: 2px; color: var(--muted); font-size: 12px; }
.register .countdown { gap: 14px; margin-top: 8px; }
.register .countdown span { position: relative; min-width: 0; flex: none; padding: 0; background: transparent; border-radius: 0; }
.register .countdown span + span:before { content: ':'; position: absolute; top: 1px; left: -10px; color: #686872; font: 500 34px/1 Suisse,Arial,sans-serif; }
.register .countdown strong { font-size: 38px; letter-spacing: -.04em; }
.register .countdown small { margin-top: 4px; color: var(--muted); font-size: 10px; }
.hero-register { display: none; }
.register-art { position: absolute; z-index: 0; inset: 0 -30% 0 6%; pointer-events: none; background: transparent; }
.register-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; opacity: .9; }
.resources { grid-area: resources; order: 5; padding-top: 24px; border-top: 1px solid #ffffff14; }
.resources p { color: #c4c4cc; font-size: 14px; font-weight: 600; }
.resources ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px 20px; margin: 16px 0 0; padding: 0; list-style: none; }
.resources li { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 14px; line-height: 1.25; }
.resources svg { width: 24px; height: 24px; fill: none; stroke: #ff5369; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }

.register-card { position: sticky; top: 16px; padding: 28px; border-radius: var(--radius); background: var(--surface); scroll-margin-top: 16px; }
.register-copy,.register-card,.room-link { min-width: 0; }
.register-card h2 { font-size: 28px; line-height: 1.1; }
.card-note { margin-top: 6px; color: var(--muted); font-size: 14px; }
.register-form { display: grid; gap: 14px; margin-top: 22px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.field label { display: block; margin: 0 4px 6px; color: #c4c4cc; font-size: 13px; }
.field label span { color: var(--muted); }
.register-form input:not([type=checkbox]),.register-form textarea { min-height: 48px; padding: 12px 16px; border-radius: 16px; background: var(--surface-2); font-size: 16px; }
.field small { display: block; margin: 4px; color: var(--muted); font-size: 12px; }
.register-form textarea { resize: vertical; line-height: 1.45; }
.register-form input:focus-visible,.register-form textarea:focus-visible { outline: 1px solid #ffffff66; outline-offset: 0; }
.was-validated :invalid { box-shadow: inset 0 0 0 1px var(--live); }
.consent { display: flex; align-items: flex-start; gap: 10px; color: var(--muted); font-size: 13px; line-height: 1.45; cursor: pointer; }
.consent input { flex: none; width: 20px; height: 20px; min-height: 0; margin: 0; padding: 0; accent-color: var(--red); }
.was-validated .consent:has(:invalid) { color: #ffa3b0; }
.consent a { color: var(--ink); }
.form-status { color: #ffa3b0; font-size: 13px; }
.form-status:empty { display: none; }
.register-form .primary,.success .primary { width: 100%; justify-content: space-between; border-radius: 999px; font-size: 16px; font-weight: 600; text-decoration: none; }
.lab-note { display: block; color: #a9a9b2; font-size: 12px; line-height: 1.4; text-align: center; }
.success { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; min-width: 0; outline: none; }
.success > * { min-width: 0; }
.success-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #3ccf8622; color: #3ccf86; }
.success-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.success .eyebrow { margin-top: 6px; }
.room-link { display: flex; align-items: center; gap: 8px; margin: 8px 0 4px; padding: 6px 6px 6px 16px; border-radius: 18px; background: var(--surface-2); }
.room-link span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #c4c4cc; font-size: 13px; }
.room-link button { flex: none; min-height: 40px; padding: 8px 16px; background: var(--surface-3); font-size: 13px; }

.agenda { margin-top: 16px; padding: clamp(28px,4vw,56px); border-radius: var(--radius); background: var(--surface); }
.agenda h2 { font-size: clamp(28px,3vw,40px); line-height: 1.1; }
.agenda ol { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.agenda li { display: grid; gap: 28px; min-height: 150px; align-content: space-between; padding: 22px; border-radius: 22px; background: var(--surface-2); font: 500 19px/1.25 Suisse, Arial, sans-serif; letter-spacing: -.02em; }
.agenda li span { color: var(--muted); font: 600 13px/1 Proxima, Arial, sans-serif; letter-spacing: 0; }

@media (max-width: 1000px) {
  .register-hero { grid-template-columns: minmax(0,1fr); }
  .register-card { position: static; }
  .agenda ol { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .hero-register { display: inline-flex; margin-top: 24px; min-width: 240px; justify-content: space-between; border-radius: 999px; text-decoration: none; font-size: 16px; font-weight: 600; }
}
@media (min-width: 601px) and (max-width: 1000px) {
  .register-copy { grid-template-areas: 'eyebrow' 'title' 'details' 'speaker' 'cta' 'resources'; }
  .hero-register { grid-area: cta; justify-self: start; margin-top: 0; }
}
@media (min-width: 1001px) and (max-width: 1250px) {
  .register-copy { padding: 32px; }
  .hero-details { max-width: 64%; }
  .register h1 { max-width: 560px; }
  .resources ul { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .register .site-header { min-height: 64px; padding: 12px 20px; }
  .register-copy { display: flex; flex-direction: column; gap: 0; padding: 32px 20px 24px; border-radius: 24px; }
  .register-copy::after { background: linear-gradient(180deg, #1b1b1ee6 0%, #1b1b1ecc 28%, #1b1b1e8f 55%, #1b1b1eb3 80%, #1b1b1ee6 100%); }
  .register-copy > .eyebrow { display: none; }
  .register h1 { margin-top: 0; font-size: clamp(38px,10.8vw,46px); line-height: 1.04; text-align: center; }
  .register h1 .title-topic { display: block; }
  .register h1 .title-outcome { color: var(--live); }
  .hero-details { grid-template-columns: minmax(0,1fr); gap: 24px; margin-top: 24px; max-width: none; }
  .lead { max-width: 360px; margin-inline: auto; font-size: 16px; text-align: center; }
  .session { display: flex; flex-direction: column; align-items: center; min-width: 0; padding: 20px 0; border-block: 1px solid #ffffff14; text-align: center; }
  .session-kicker { order: 0; font-size: 13px; }
  .session-label { order: 1; margin-top: 6px; font-size: 16px; }
  .session-local-time { order: 2; }
  .register .countdown { order: 3; justify-content: center; gap: 20px; margin-top: 16px; }
  .register .countdown strong { font-size: 44px; }
  .register .countdown span + span:before { left: -14px; color: var(--live); font-size: 40px; }
  .register .countdown small { font-size: 11px; }
  .register .hero-register { position: relative; width: 100%; margin-top: 24px; padding-inline: 52px; justify-content: center; }
  .hero-register .nub { position: absolute; right: 6px; }
  .register-speaker { order: 2; margin-top: 24px; padding-top: 24px; border-top: 1px solid #ffffff14; }
  .register-speaker span { display: block; margin-top: 2px; line-height: 1.35; }
  .register-art { inset: 0 -25%; }
  .resources { order: 1; margin-top: 24px; padding-top: 0; border-top: 0; }
  .resources p { font-size: 15px; }
  .resources ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 12px; margin-top: 20px; }
  .resources li { gap: 8px; font-size: 14px; }
  .resources svg { width: 22px; height: 22px; }
  .register-card { padding: 22px 18px; border-radius: 24px; }
  .register-card h2 { font-size: 24px; }
  .field-row { grid-template-columns: 1fr; }
  .agenda { padding: 24px 20px; border-radius: 24px; }
  .agenda ol { grid-template-columns: 1fr; gap: 8px; }
  .agenda li { min-height: 0; gap: 14px; padding: 18px; font-size: 17px; }
}
