:root {
  --ink: #17181a;
  --muted: #60636b;
  --soft: #f7f2ea;
  --sand: #e7d4ae;
  --gold: #b98227;
  --gold-dark: #7b541d;
  --blue: #10243e;
  --blue-soft: #eaf0f6;
  --paper: #ffffff;
  --line: #e8e0d4;
  --good: #236f4f;
  --warn: #a45d10;
  --danger: #a33232;
  --shadow: 0 18px 45px rgba(20, 24, 33, .09);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 14% -8%, rgba(231, 212, 174, .65), transparent 34%),
    radial-gradient(circle at 88% 7%, rgba(16, 36, 62, .11), transparent 27%),
    linear-gradient(180deg, #fffaf1 0%, #ffffff 34%, #fbf8f1 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.45;
}

a { color: inherit; text-decoration: none; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px max(22px, calc((100vw - var(--max)) / 2));
  background: rgba(255, 250, 241, .88);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(231, 212, 174, .6);
}

.brand { display: flex; align-items: baseline; gap: 12px; font-weight: 800; letter-spacing: .02em; }
.brand-mark { color: var(--blue); font-size: 1.28rem; }

.top-nav { display: flex; gap: 18px; color: var(--blue); font-size: .94rem; font-weight: 650; }
.top-nav a { opacity: .78; }
.top-nav a:hover { opacity: 1; color: var(--gold-dark); }

main { max-width: var(--max); margin: 0 auto; padding: 0 22px 72px; }
.hero {
  min-height: 300px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  align-items: center;
  gap: 28px;
  padding: 46px 0 28px;
}
.hero-copy h1 {
  max-width: 880px;
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2.15rem, 5.2vw, 4.25rem);
  line-height: .96;
  letter-spacing: -.055em;
  color: var(--blue);
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--gold-dark);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .75rem;
  font-weight: 850;
}

.button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 9px 13px;
  border-radius: 999px;
  border: 1px solid rgba(123, 84, 29, .18);
  background: rgba(255, 255, 255, .72);
  color: var(--blue);
  font-weight: 750;
  font-size: .88rem;
  box-shadow: 0 8px 22px rgba(20, 24, 33, .05);
}

.button:hover { transform: translateY(-1px); }
.pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--good); box-shadow: 0 0 0 0 rgba(35, 111, 79, .5); animation: pulse 1.6s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 9px rgba(35, 111, 79, 0); } 100% { box-shadow: 0 0 0 0 rgba(35, 111, 79, 0); } }
.hero-card {
  background: linear-gradient(145deg, rgba(16, 36, 62, .97), rgba(54, 67, 80, .92));
  color: #fff;
  min-height: 190px;
  border-radius: var(--radius-xl);
  padding: 24px;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.hero-card::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  right: -70px;
  bottom: -75px;
  background: rgba(231, 212, 174, .24);
}
.hero-card strong { display: block; margin-top: 32px; font-family: Georgia, "Times New Roman", serif; font-size: 1.95rem; }
.hero-card p { position: relative; margin: 8px 0 0; color: rgba(255,255,255,.78); }
.mini-label { font-size: .75rem; letter-spacing: .16em; text-transform: uppercase; color: var(--sand); font-weight: 850; }

.section { margin-top: 24px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 18px; }
.section-heading h2 { margin: 0; color: var(--blue); font-size: clamp(1.45rem, 2.4vw, 2.05rem); letter-spacing: -.035em; }
.section-note { max-width: 530px; margin: 0; color: var(--muted); font-size: .95rem; }
.connection { color: var(--muted); font-size: .9rem; }
.connection.online { color: var(--good); }
.connection.offline { color: var(--danger); }

.dashboard-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.stat-card {
  background: rgba(255, 255, 255, .86);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 15px;
  box-shadow: 0 12px 28px rgba(20, 24, 33, .045);
}
.stat-label { color: var(--muted); font-size: .74rem; font-weight: 750; text-transform: uppercase; letter-spacing: .1em; }
.stat-value { margin-top: 6px; font-size: 1.65rem; font-weight: 900; color: var(--blue); line-height: 1; }
.stat-help { margin-top: 6px; color: var(--muted); font-size: .78rem; }

.spotlight-card, .event-card, .paper-card, .timeline-item{
  background: rgba(255, 255, 255, .9);
  border: 1px solid var(--line);
  box-shadow: 0 13px 34px rgba(20, 24, 33, .055);
}
.spotlight-card {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  border-radius: var(--radius-xl);
  padding: 26px;
  margin-bottom: 16px;
  background: linear-gradient(135deg, #ffffff, #fff6e2);
  border-color: #e4c98d;
}
.event-grid { display: block; }
.live-layout { display: grid; grid-template-columns: minmax(300px, .92fr) minmax(0, 1.45fr); gap: 18px; align-items: start; }
.event-list { display: grid; gap: 14px; }
.event-card { border-radius: var(--radius-lg); padding: 20px; }
.poster-session-card { cursor: pointer; transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.poster-session-card:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(20, 24, 33, .11); border-color: #e4c98d; }
.poster-session-card.selected { border-color: var(--gold); background: linear-gradient(135deg, #ffffff, #fff8e8); box-shadow: 0 18px 42px rgba(185, 130, 39, .13); }
.poster-session-card:focus-visible { outline: 3px solid rgba(185, 130, 39, .28); outline-offset: 3px; }

.paper-list { display: grid; grid-template-columns: 1fr; gap: 12px; margin-top: 16px; }

.card-title { margin: 10px 0 0; color: var(--blue); font-size: 1.18rem; line-height: 1.2; }
.spotlight-card .card-title { font-family: Georgia, "Times New Roman", serif; font-size: 2.1rem; letter-spacing: -.035em; }
.meta { margin-top: 9px; color: var(--muted); font-size: .92rem; }
.summary { margin: 14px 0 0; color: #4a4e57; }
.link-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.link-button {
  display: inline-flex;
  align-items: center;
  height: 32px;
  padding: 0 11px;
  border: 1px solid rgba(16, 36, 62, .12);
  border-radius: 999px;
  background: #fff;
  color: var(--blue);
  font-size: .82rem;
  font-weight: 800;
}
.link-button:hover { border-color: var(--gold); color: var(--gold-dark); }
.headcounts { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; color: var(--muted); font-size: .9rem; }
.headcounts strong { color: var(--blue); }

.paper-card { border-radius: var(--radius-md); padding: 15px; position: relative; transition: box-shadow .16s ease; }
.paper-card:hover { box-shadow: 0 16px 34px rgba(20, 24, 33, .08); }

.paper-id { color: var(--gold-dark); font-weight: 900; font-size: .78rem; letter-spacing: .08em; }
.paper-title { margin: 5px 0 0; color: var(--blue); font-size: 1rem; font-weight: 850; line-height: 1.28; }
.paper-authors { margin-top: 6px; color: var(--muted); font-size: .84rem; }

.speech-row { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 12px; }
.speech-block {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 8px;
  align-items: center;
  min-height: 50px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fbf8f1;
  color: var(--muted);
}
.speech-block strong { display: block; color: var(--blue); font-size: .86rem; line-height: 1.2; }
.speech-block em { display: block; margin-top: 2px; font-style: normal; font-size: .76rem; font-weight: 850; text-transform: uppercase; letter-spacing: .05em; }
.speech-block.talking { background: #e9f5ee; border-color: rgba(35, 111, 79, .2); color: var(--good); }
.speech-block.idle { background: #f7f4ed; }
.speech-icon { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px rgba(16, 36, 62, .08); }
.speech-block.talking .speech-icon { animation: pulse 1.6s infinite; }

.tooltip {
  position: relative;
  cursor: help;
}

.paper-card .link-row { margin-top: 12px; }
.paper-card .link-button { height: 28px; font-size: .76rem; padding: 0 9px; }

.timeline { position: relative; padding-left: 26px; }
.timeline::before { content: ""; position: absolute; left: 8px; top: 4px; bottom: 4px; width: 2px; background: linear-gradient(var(--sand), rgba(231, 212, 174, .15)); }
.timeline-item { position: relative; margin-bottom: 14px; border-radius: var(--radius-lg); padding: 18px; }
.timeline-item::before { content: ""; position: absolute; left: -24px; top: 24px; width: 12px; height: 12px; border-radius: 50%; background: var(--gold); border: 3px solid #fff7e9; box-shadow: 0 0 0 1px var(--sand); }
.timeline-time { color: var(--gold-dark); font-weight: 850; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }

.footer { max-width: var(--max); margin: 0 auto 36px; padding: 18px 22px; color: var(--muted); display: flex; justify-content: space-between; gap: 16px; font-size: .86rem; }

label { color: var(--blue); font-weight: 800; font-size: .9rem; }
input, select, textarea {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  border-radius: 12px;
  padding: 11px 12px;
  font: inherit;
}
textarea { min-height: 72px; resize: vertical; }
button {
  border: 0;
  border-radius: 999px;
  background: var(--blue);
  color: #fff;
  padding: 11px 16px;
  font-weight: 850;
  cursor: pointer;
}

button:disabled { opacity: .5; cursor: not-allowed; }

.help { color: var(--muted); font-size: .88rem; }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; padding-top: 52px; }
  .hero-card { min-height: 190px; }
  .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spotlight-card { grid-template-columns: 1fr; }
  .live-layout { grid-template-columns: 1fr; }
  
  .speech-row { grid-template-columns: 1fr; }
  
  .top-nav { display: none; }
}

@media (max-width: 560px) {
  .dashboard-grid { grid-template-columns: 1fr; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .footer { flex-direction: column; }
  
  
}

/* v3 interaction refinements */
.spotlight-card { display: block; }
.live-layout.is-collapsed { grid-template-columns: 1fr; }
.live-layout.is-collapsed .event-list { grid-template-columns: repeat(auto-fit, minmax(310px, 1fr)); }

.zoom-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #eaf7ef;
  color: var(--good);
  border: 1px solid rgba(35, 111, 79, .18);
  font-size: .76rem;
  font-weight: 850;
  white-space: nowrap;
}
.zoom-live-badge .pulse-dot { width: 8px; height: 8px; flex: 0 0 auto; }
.zoom-live-badge strong { color: var(--good); }
.paper-card { cursor: pointer; }
.paper-card:focus-visible { outline: 3px solid rgba(185, 130, 39, .28); outline-offset: 3px; }

.paper-title a { color: inherit; }
.paper-title a:hover { color: var(--gold-dark); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.presenter-mode-line {
  margin-top: 4px;
  color: var(--gold-dark);
  font-size: .8rem;
  font-weight: 800;
}
.paper-card .zoom-live-badge { align-self: flex-start; }
.link-button.info-link { background: var(--blue); border-color: var(--blue); color: #fff; }
.link-button.info-link:hover { background: #183653; color: #fff; border-color: #183653; }
@media (max-width: 560px) {
  .zoom-live-badge { white-space: normal; justify-content: center; }
}

/* v4 modal poster detail layer */

@keyframes detailSlideIn {
  from { opacity: 0; transform: translateX(22px) scale(.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

/* v7.6 schedule-driven upcoming/history states */
.compact-hero { min-height: 320px; padding-top: 54px; }
.empty-card {
  background: rgba(255, 255, 255, .86);
  border: 1px dashed rgba(123, 84, 29, .25);
  border-radius: var(--radius-lg);
  padding: 22px;
  color: var(--muted);
  box-shadow: 0 12px 28px rgba(20, 24, 33, .035);
}
.empty-card strong { display: block; color: var(--blue); margin-bottom: 4px; }
.upcoming-list { display: block; }

.upcoming-badge, .zoom-peak-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: .76rem;
  font-weight: 850;
  white-space: nowrap;
}
.upcoming-badge {
  background: #eef3f8;
  color: var(--blue);
  border: 1px solid rgba(16, 36, 62, .12);
}
.zoom-peak-badge {
  background: #f7f0e1;
  color: var(--gold-dark);
  border: 1px solid rgba(185, 130, 39, .2);
}
.zoom-peak-badge strong { color: var(--gold-dark); }
.speech-block.ended {
  background: #f4f0e7;
  border-color: rgba(123, 84, 29, .18);
  color: var(--gold-dark);
}
.speech-block.scheduled {
  background: #eef3f8;
  border-color: rgba(16, 36, 62, .12);
  color: var(--blue);
}
.speech-block.ended .speech-icon { background: #fff8e8; color: var(--gold-dark); }
.speech-block.scheduled .speech-icon { background: #fff; color: var(--blue); }

/* v8.7 experimental pixel majlis theme
   A compact pixel-game control room with Arabic geometric, music, and tech motifs. */
:root {
  --ink: #f6f2df;
  --muted: #a9b7b2;
  --soft: #15161f;
  --sand: #f1c15d;
  --gold: #ffb733;
  --gold-dark: #ffcb68;
  --blue: #09131f;
  --blue-soft: #101b2b;
  --paper: #111725;
  --line: #39485a;
  --good: #47f58a;
  --warn: #ffb13d;
  --danger: #ff5d6c;
  --cyan: #4ee6ff;
  --magenta: #ff5bd6;
  --shadow: 8px 8px 0 rgba(0, 0, 0, .44);
  --radius-xl: 0;
  --radius-lg: 0;
  --radius-md: 0;
  --max: 1260px;
}

html { scroll-padding-top: 76px; }
body {
  color: var(--ink);
  background-color: #070a12;
  background-image:
    linear-gradient(rgba(78, 230, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(78, 230, 255, .035) 1px, transparent 1px),
    repeating-linear-gradient(45deg, transparent 0 18px, rgba(255, 183, 51, .035) 18px 20px),
    radial-gradient(circle at 18% 0%, rgba(255, 91, 214, .20), transparent 30%),
    radial-gradient(circle at 85% 8%, rgba(78, 230, 255, .18), transparent 29%),
    linear-gradient(180deg, #080b15 0%, #101326 52%, #090b13 100%);
  background-size: 18px 18px, 18px 18px, auto, auto, auto, auto;
  font-family: "Courier New", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  line-height: 1.32;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 999;
  opacity: .23;
  background: repeating-linear-gradient(180deg, rgba(255,255,255,.045) 0 1px, transparent 1px 4px);
  mix-blend-mode: overlay;
}
body::after {
  content: "◇ ◆ ♪ ♫  ISMIR ABU DHABI LIVE  ◇ ◆ ♪ ♫";
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 998;
  padding: 5px 0 4px;
  color: rgba(255, 203, 104, .75);
  background: rgba(7, 10, 18, .88);
  border-top: 2px solid rgba(255, 183, 51, .38);
  font-size: 10px;
  letter-spacing: .16em;
  text-align: center;
  pointer-events: none;
}

a { color: inherit; }
.site-header {
  padding: 10px max(14px, calc((100vw - var(--max)) / 2));
  background: rgba(8, 11, 21, .92);
  backdrop-filter: none;
  border-bottom: 3px solid var(--gold);
  box-shadow: 0 5px 0 #000;
}
.brand {
  gap: 10px;
  align-items: center;
  text-transform: uppercase;
}
.brand-mark {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 8px;
  background: var(--gold);
  color: #080b15;
  border: 2px solid #ffe0a1;
  box-shadow: 4px 4px 0 #000;
  font-size: 1rem;
  letter-spacing: .08em;
}
.brand-mark::before { content: "◆"; margin-right: 6px; color: #7b2dff; }

.top-nav { gap: 8px; font-size: .72rem; text-transform: uppercase; }
.top-nav a {
  opacity: 1;
  color: var(--ink);
  border: 2px solid rgba(78, 230, 255, .30);
  padding: 5px 7px;
  background: #10182a;
}
.top-nav a:hover {
  color: #07101b;
  background: var(--cyan);
  border-color: var(--cyan);
  box-shadow: 3px 3px 0 #000;
}

main { padding: 0 14px 58px; }
.hero,
.compact-hero {
  min-height: 0;
  grid-template-columns: minmax(0, 1fr) 270px;
  gap: 16px;
  padding: 22px 0 14px;
}
.hero-copy {
  position: relative;
  border: 3px solid var(--line);
  background:
    linear-gradient(135deg, rgba(78, 230, 255, .08), transparent 30%),
    linear-gradient(225deg, rgba(255, 183, 51, .10), transparent 34%),
    rgba(12, 17, 31, .88);
  box-shadow: var(--shadow);
  padding: 16px 18px 14px;
}
.hero-copy::before {
  content: "";
  display: block;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .09em;
  margin-bottom: 8px;
  white-space: nowrap;
  overflow: hidden;
}
.hero-copy h1 {
  max-width: 960px;
  font-family: "Courier New", ui-monospace, monospace;
  font-size: clamp(1.55rem, 3.6vw, 3rem);
  line-height: .98;
  letter-spacing: -.045em;
  color: #fff6c9;
  text-shadow: 3px 3px 0 #000, 5px 5px 0 rgba(255, 91, 214, .55);
}

.eyebrow {
  margin: 0 0 8px;
  color: var(--cyan);
  letter-spacing: .19em;
  font-size: .62rem;
}
.eyebrow::before { content: ""; }

.button {
  min-height: 28px;
  padding: 6px 9px;
  border-radius: 0;
  border: 2px solid var(--line);
  background: #111a2b;
  color: var(--ink);
  font-size: .72rem;
  box-shadow: 3px 3px 0 #000;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.button:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 #000; }
.pulse-dot { background: var(--good); border-radius: 0; box-shadow: 0 0 0 2px rgba(71, 245, 138, .25); animation: pixelBlink 1s steps(2, start) infinite; }
@keyframes pixelBlink { 50% { opacity: .28; } }

.hero-card {
  min-height: 154px;
  border-radius: 0;
  border: 3px solid var(--gold);
  padding: 16px;
  background:
    radial-gradient(circle at 76% 26%, rgba(78, 230, 255, .28) 0 5px, transparent 6px),
    conic-gradient(from 45deg at 78% 30%, transparent 0 25%, rgba(255,255,255,.08) 0 50%, transparent 0 75%, rgba(255,255,255,.08) 0),
    linear-gradient(145deg, #101827, #1b1031);
  box-shadow: var(--shadow);
}
.hero-card::before {
  content: "♪ ♫ ♪";
  position: absolute;
  right: 14px;
  top: 12px;
  color: var(--cyan);
  font-size: 16px;
  text-shadow: 2px 2px 0 #000;
}
.hero-card::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  height: 28px;
  border-radius: 0;
  background:
    linear-gradient(90deg, var(--good) 0 8px, transparent 8px 13px, var(--cyan) 13px 20px, transparent 20px 27px, var(--gold) 27px 42px, transparent 42px 48px, var(--magenta) 48px 56px, transparent 56px 64px),
    linear-gradient(#0000, #0000);
  background-size: 64px 100%, auto;
  opacity: .75;
}
.hero-card strong {
  margin-top: 28px;
  font-family: "Courier New", ui-monospace, monospace;
  font-size: 1.42rem;
  color: #fff2b0;
  text-shadow: 2px 2px 0 #000;
}
.hero-card p { color: #c2d0cf; font-size: .78rem; }
.mini-label { color: var(--cyan); font-size: .6rem; }

.section { margin-top: 18px; }
.section-heading {
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
  padding: 0 2px;
}
.section-heading h2 {
  color: #fff2b0;
  font-size: clamp(1rem, 1.8vw, 1.45rem);
  letter-spacing: -.02em;
  text-shadow: 2px 2px 0 #000;
}
.section-note { max-width: 620px; color: #aab7ba; font-size: .76rem; }
.connection { font-size: .72rem; color: var(--muted); text-transform: uppercase; }
.connection.online { color: var(--good); }
.connection.offline { color: var(--danger); }

.dashboard-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.stat-card,
.spotlight-card,
.event-card,
.paper-card,
.timeline-item,
.empty-card{
  background: rgba(13, 18, 32, .94);
  border: 3px solid var(--line);
  border-radius: 0;
  box-shadow: var(--shadow);
}
.stat-card { padding: 10px; min-height: 82px; }
.stat-label { color: var(--cyan); font-size: .58rem; letter-spacing: .12em; }
.stat-value { margin-top: 6px; font-size: 1.42rem; color: #fff2b0; text-shadow: 2px 2px 0 #000; }
.stat-help { margin-top: 4px; color: #95a5a8; font-size: .66rem; }

.spotlight-card {
  padding: 14px;
  margin-bottom: 10px;
  background:
    linear-gradient(90deg, rgba(255,183,51,.16), transparent 42%),
    rgba(14, 18, 33, .96);
  border-color: var(--gold);
}
.event-list { gap: 9px; }
.event-card { padding: 12px; }
.poster-session-card { transition: none; }
.poster-session-card:hover,
.poster-session-card.selected {
  transform: translate(-2px, -2px);
  box-shadow: 10px 10px 0 #000;
  border-color: var(--cyan);
  background: rgba(15, 28, 43, .97);
}
.poster-session-card.selected::before {
  content: "▶ OPEN";
  float: right;
  color: var(--good);
  font-size: .66rem;
  font-weight: 900;
}
.live-layout.is-collapsed .event-list { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 10px; }

.card-title {
  margin: 8px 0 0;
  color: #fff6c9;
  font-size: 1rem;
  line-height: 1.14;
}
.spotlight-card .card-title {
  font-family: "Courier New", ui-monospace, monospace;
  font-size: 1.35rem;
  text-shadow: 2px 2px 0 #000;
}
.meta { margin-top: 6px; color: #98a8ab; font-size: .75rem; }
.summary { margin: 8px 0 0; color: #b8c5c2; font-size: .74rem; }

.zoom-live-badge,
.upcoming-badge,
.zoom-peak-badge {
  min-height: 24px;
  padding: 4px 7px;
  border-radius: 0;
  border-width: 2px;
  font-size: .64rem;
  box-shadow: 3px 3px 0 #000;
}
.zoom-live-badge { background: #0d2817; color: var(--good); border-color: rgba(71,245,138,.50); }
.upcoming-badge { background: #102235; color: var(--cyan); border-color: rgba(78,230,255,.38); }
.zoom-peak-badge { background: #2b1d10; color: var(--gold); border-color: rgba(255,183,51,.45); }
.zoom-peak-badge strong,
.zoom-live-badge strong { color: inherit; }

.link-row { gap: 6px; margin-top: 10px; }
.link-button {
  height: 26px;
  padding: 0 8px;
  border-radius: 0;
  border: 2px solid var(--line);
  background: #0a101c;
  color: var(--ink);
  font-size: .66rem;
  box-shadow: 3px 3px 0 #000;
  text-transform: uppercase;
}
.link-button:hover,
.link-button.info-link:hover {
  background: var(--gold);
  color: #080b15;
  border-color: #ffe0a1;
}
.link-button.info-link { background: #0a1f2b; border-color: var(--cyan); color: var(--cyan); }

.paper-card {
  padding: 10px;
  cursor: default;
  transition: none;
}
.paper-card:hover { box-shadow: 7px 7px 0 #000; border-color: var(--cyan); }

.paper-id { color: var(--gold); font-size: .68rem; }
.paper-title { margin: 3px 0 0; color: #fff6c9; font-size: .86rem; line-height: 1.18; }
.paper-title a:hover { color: var(--cyan); text-decoration-style: solid; }
.paper-authors { margin-top: 4px; color: #9fb0b3; font-size: .7rem; }
.presenter-mode-line { margin-top: 3px; color: var(--gold); font-size: .66rem; }
.paper-card .zoom-live-badge,
.paper-card .zoom-peak-badge,
.paper-card .upcoming-badge { max-width: 170px; justify-content: center; }
.speech-row { gap: 6px; margin-top: 8px; }
.speech-block {
  grid-template-columns: 24px 1fr;
  min-height: 38px;
  padding: 7px;
  border: 2px solid var(--line);
  border-radius: 0;
  background: #0a101c;
}
.speech-block strong { color: #fff6c9; font-size: .72rem; }
.speech-block em { margin-top: 1px; font-size: .6rem; letter-spacing: .08em; }
.speech-icon {
  width: 24px;
  height: 24px;
  border-radius: 0;
  background: #101a2b;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.08);
  font-size: .82rem;
}
.speech-block.talking { background: #0a2418; border-color: rgba(71,245,138,.62); color: var(--good); }
.speech-block.idle { background: #111827; }
.speech-block.ended { background: #241a10; border-color: rgba(255,183,51,.45); color: var(--gold); }
.speech-block.scheduled { background: #0c1d2e; border-color: rgba(78,230,255,.38); color: var(--cyan); }

.timeline { padding-left: 22px; }
.timeline::before { left: 7px; width: 3px; background: repeating-linear-gradient(180deg, var(--gold) 0 8px, transparent 8px 13px); }
.timeline-item { margin-bottom: 10px; padding: 12px; }
.timeline-item::before {
  left: -22px;
  top: 18px;
  width: 12px;
  height: 12px;
  border-radius: 0;
  background: var(--cyan);
  border: 2px solid #07101b;
  box-shadow: 0 0 0 2px var(--gold), 3px 3px 0 #000;
}
.timeline-time { color: var(--gold); font-size: .66rem; }

.footer {
  margin-bottom: 42px;
  padding: 10px 14px;
  color: #89999c;
  font-size: .68rem;
  border-top: 2px solid rgba(255,183,51,.25);
}

input,
select,
textarea {
  border: 2px solid var(--line);
  border-radius: 0;
  background: #070c16;
  color: var(--ink);
  padding: 9px 10px;
}
label { color: var(--cyan); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
button {
  border-radius: 0;
  border: 2px solid #b7f5ff;
  background: var(--cyan);
  color: #07101b;
  padding: 9px 12px;
  box-shadow: 4px 4px 0 #000;
  text-transform: uppercase;
}

.help { color: #a5b5b8; font-size: .72rem; }

@media (max-width: 900px) {
  .hero,
  .compact-hero { grid-template-columns: 1fr; }
  .hero-copy::before { white-space: normal; }
  .dashboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .top-nav { display: none; }
}
@media (max-width: 560px) {
  .dashboard-grid { grid-template-columns: 1fr; }
  .section-heading { align-items: flex-start; }
  body::after { content: "ISMIR LIVE"; }
}

/* v8.10 music pass: accurate pixel piano keyboard + stronger poster-detail contrast */
.hero-copy {
  padding-bottom: 48px;
  overflow: hidden;
}
.hero-copy::after {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 14px;
  height: 24px;
  border: 3px solid #000;
  box-shadow: 4px 4px 0 #000;
  background:
    /* black keys: C# D# F# G# A#, no black key between E-F or B-C */
    linear-gradient(90deg,
      transparent 0 12px, #05070d 12px 20px,
      transparent 20px 28px, #05070d 28px 36px,
      transparent 36px 60px, #05070d 60px 68px,
      transparent 68px 76px, #05070d 76px 84px,
      transparent 84px 92px, #05070d 92px 100px,
      transparent 100px 112px),
    /* seven white keys per octave: C D E F G A B */
    repeating-linear-gradient(90deg,
      #fff9df 0 15px,
      #0b1020 15px 16px),
    linear-gradient(180deg, #fffdf1, #ffe8a1);
  background-size: 112px 16px, 16px 100%, 100% 100%;
  background-repeat: repeat-x, repeat, no-repeat;
  background-position: 0 0, 0 0, 0 0;
  image-rendering: pixelated;
}
.hero-card::before {
  content: none;
}
.hero-card::after {
  height: 34px;
  border: 3px solid #000;
  box-shadow: 4px 4px 0 #000;
  background:
    /* black keys: C# D# F# G# A#, no E# / B# nonsense */
    linear-gradient(90deg,
      transparent 0 12px, #05070d 12px 20px,
      transparent 20px 28px, #05070d 28px 36px,
      transparent 36px 60px, #05070d 60px 68px,
      transparent 68px 76px, #05070d 76px 84px,
      transparent 84px 92px, #05070d 92px 100px,
      transparent 100px 112px),
    repeating-linear-gradient(90deg,
      #fff3c2 0 15px,
      #0a0d17 15px 16px),
    linear-gradient(180deg, #fffbe7, #ffd36d);
  background-size: 112px 20px, 16px 100%, 100% 100%;
  background-repeat: repeat-x, repeat, no-repeat;
  background-position: 0 0, 0 0, 0 0;
  opacity: 1;
}
.section-heading h2::before {
  content: "▮▯▮ ♬ ";
  color: var(--cyan);
  text-shadow: 2px 2px 0 #000;
}
.card-title::before {
  content: "♪ ";
  color: var(--gold);
}

/* v8.9: static logo + LLM prompt card + canon binary motif */
.brand {
  cursor: default;
  user-select: none;
  text-decoration: none;
}
.brand:hover .brand-mark{ filter: none; }
.hero-copy::before {
  content: "";
  color: var(--cyan);
}
body::after {
  content: "";
}
.llm-prompt-card {
  min-height: 198px;
  display: grid;
  grid-template-columns: 54px 1fr;
  align-content: start;
  gap: 8px 12px;
  overflow: hidden;
}
.llm-prompt-card::before,
.llm-prompt-card::after {
  content: none;
}
.robot-logo {
  grid-row: 1 / span 3;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 3px solid #b7f5ff;
  background:
    linear-gradient(90deg, transparent 0 9px, rgba(255,255,255,.18) 9px 12px, transparent 12px),
    #07101b;
  box-shadow: 5px 5px 0 #000;
  color: var(--cyan);
  font-size: 0;
  position: relative;
}
.robot-logo::before {
  content: "";
  width: 26px;
  height: 20px;
  border: 3px solid var(--cyan);
  background:
    radial-gradient(circle at 7px 8px, var(--gold) 0 3px, transparent 4px),
    radial-gradient(circle at 19px 8px, var(--gold) 0 3px, transparent 4px),
    linear-gradient(var(--cyan), var(--cyan)) center 15px / 14px 3px no-repeat,
    #101a2b;
  image-rendering: pixelated;
}
.robot-logo::after {
  content: "";
  position: absolute;
  top: -10px;
  width: 3px;
  height: 10px;
  background: var(--gold);
  box-shadow: 0 -3px 0 var(--magenta);
}
.llm-prompt-card .mini-label,
.llm-prompt-card strong,
.llm-prompt-card p,
.llm-prompt-card .llm-copy-button,
.llm-prompt-card .copy-status{
  grid-column: 2;
}
.llm-prompt-card strong {
  margin-top: 0;
  font-size: 1.02rem;
  line-height: 1.05;
  color: #fff7b8;
}
.llm-prompt-card p {
  margin: 0;
  color: #c7d8d6;
  font-size: .7rem;
}
.llm-copy-button {
  justify-self: start;
  margin-top: 2px;
  padding: 7px 10px;
  background: var(--gold);
  border-color: #fff3c2;
  color: #07101b;
}
.llm-copy-button:hover,
.llm-copy-button:focus-visible {
  background: var(--cyan);
  border-color: #b7f5ff;
}
.copy-status {
  min-height: 14px;
  color: var(--good);
  font-size: .62rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.copy-status:not(:empty)::before { content: "✓ "; }

@media (max-width: 900px) {
  .llm-prompt-card { grid-template-columns: 48px 1fr; min-height: 166px; }
}

/* v8.11 attendee cursor companion -------------------------------------------------
   A tiny pixel participant follows the pointer. Right-click opens a role switcher. */
.attendee-cursor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  pointer-events: none;
  width: 74px;
  height: 78px;
  transform: translate3d(-120px, -120px, 0);
  transition: filter .12s steps(2, end), opacity .12s steps(2, end);
  filter: drop-shadow(0 6px 0 rgba(0,0,0,.42)) drop-shadow(0 0 10px rgba(40,230,255,.35));
  opacity: .96;
  mix-blend-mode: normal;
}
.attendee-cursor.is-hidden {
  display: none;
}
.attendee-cursor .attendee-sprite {
  display: block;
  image-rendering: pixelated;
  transform-origin: 50% 100%;
  animation: attendeeBob 1.2s steps(2, end) infinite;
}
.attendee-role-badge {
  position: absolute;
  left: 38px;
  top: 45px;
  max-width: 150px;
  padding: 3px 6px 4px;
  border: 2px solid var(--pixel-cyan, #28e6ff);
  background: rgba(7, 10, 24, .94);
  color: var(--pixel-gold, #ffe76a);
  font-family: var(--pixel-font, monospace);
  font-size: 8px;
  line-height: 1.1;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 3px 3px 0 rgba(0,0,0,.8);
}
@keyframes attendeeBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
.attendee-role-menu {
  position: fixed;
  z-index: 10000;
  width: min(360px, calc(100vw - 24px));
  padding: 10px;
  border: 3px solid var(--pixel-gold, #ffe76a);
  background:
    linear-gradient(135deg, rgba(40,230,255,.12), transparent 36%),
    linear-gradient(225deg, rgba(255,94,196,.14), transparent 34%),
    rgba(8, 12, 31, .98);
  color: var(--pixel-cream, #fff5d8);
  box-shadow: 6px 6px 0 rgba(0,0,0,.82), 0 0 0 2px rgba(40,230,255,.28) inset;
  font-family: var(--pixel-font, monospace);
  display: none;
}
.attendee-role-menu.is-open { display: block; }
.attendee-menu-title {
  color: var(--pixel-gold, #ffe76a);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .09em;
  margin-bottom: 8px;
  text-shadow: 2px 2px 0 #000;
}
.attendee-menu-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.attendee-role-option {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 5px;
  border: 2px solid rgba(40,230,255,.5);
  border-radius: 0;
  background: rgba(13, 24, 54, .92);
  color: var(--pixel-cream, #fff5d8);
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 3px 3px 0 rgba(0,0,0,.72);
}
.attendee-role-option:hover,
.attendee-role-option:focus-visible {
  outline: none;
  border-color: var(--pixel-gold, #ffe76a);
  transform: translate(-1px, -1px);
  box-shadow: 4px 4px 0 rgba(0,0,0,.82), 0 0 14px rgba(255,231,106,.28);
}
.attendee-role-option.is-active {
  border-color: var(--pixel-pink, #ff5ec4);
  background: rgba(62, 22, 70, .94);
}
.attendee-role-option strong {
  display: block;
  color: #fff0a8;
  font-size: 10px;
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: .035em;
  text-shadow: 2px 2px 0 #000;
}
.attendee-role-option small {
  display: block;
  margin-top: 2px;
  color: #e7f2ff;
  font-size: 8px;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: .025em;
  text-shadow: 1px 1px 0 #000;
}
.attendee-role-mini,
.attendee-role-mini svg {
  display: block;
  image-rendering: pixelated;
}
.attendee-menu-help {
  margin-top: 8px;
  color: rgba(255, 245, 216, .65);
  font-size: 8px;
  letter-spacing: .04em;
}
@media (pointer: coarse), (max-width: 720px) {
  .attendee-cursor,
  .attendee-role-menu { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .attendee-cursor .attendee-sprite { animation: none; }
}

/* v8.12: binary-puzzle motif only, aligned LLM card, no visible canon/chord labels */
.hero {
  align-items: stretch;
}
.hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.hero-copy::before {
  content: "";
  display: block;
  height: 18px;
  margin-bottom: 10px;
  border: 3px solid #000;
  box-shadow: 4px 4px 0 #000;
  background:
    linear-gradient(90deg,
      var(--cyan) 0 9px, transparent 9px 13px,
      rgba(78,230,255,.16) 13px 22px, transparent 22px 26px,
      rgba(255,211,109,.20) 26px 35px, transparent 35px 39px,
      var(--gold) 39px 48px, transparent 48px 52px,
      var(--cyan) 52px 61px, transparent 61px 65px,
      rgba(255,91,214,.18) 65px 74px, transparent 74px 78px,
      var(--magenta) 78px 87px, transparent 87px 91px,
      rgba(78,230,255,.18) 91px 100px, transparent 100px 104px,
      var(--gold) 104px 113px, transparent 113px 117px,
      rgba(255,211,109,.18) 117px 126px, transparent 126px 130px);
  background-size: 130px 100%;
  background-repeat: repeat-x;
  image-rendering: pixelated;
  animation: binaryPulse 3.2s steps(4, end) infinite;
}
body::after {
  content: "";
  height: 16px;
  padding: 0;
  background:
    linear-gradient(90deg,
      rgba(78,230,255,.92) 0 8px, transparent 8px 12px,
      rgba(78,230,255,.16) 12px 20px, transparent 20px 24px,
      rgba(255,211,109,.92) 24px 32px, transparent 32px 36px,
      rgba(255,91,214,.18) 36px 44px, transparent 44px 48px,
      rgba(255,211,109,.20) 48px 56px, transparent 56px 60px,
      rgba(78,230,255,.92) 60px 68px, transparent 68px 72px,
      rgba(255,91,214,.92) 72px 80px, transparent 80px 84px,
      rgba(78,230,255,.18) 84px 92px, transparent 92px 96px);
  background-size: 96px 16px;
  background-repeat: repeat-x;
  border-top: 2px solid rgba(255, 183, 51, .38);
  box-shadow: 0 -3px 0 #000;
  animation: binaryPulse 3.2s steps(4, end) infinite reverse;
}
.llm-prompt-card {
  min-height: 0;
  height: 100%;
  align-self: stretch;
  grid-template-columns: 54px 1fr;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto auto;
  align-content: stretch;
}
.llm-prompt-card .llm-copy-button {
  align-self: end;
}
.llm-prompt-card .copy-status:empty {
  min-height: 4px;
}
.llm-prompt-card .binary-puzzle-card {
  margin-top: 4px;
}
.llm-prompt-card::before,
.llm-prompt-card::after {
  content: none !important;
}

.binary-puzzle {
  display: grid;
  grid-template-columns: repeat(16, 10px);
  grid-auto-rows: 10px;
  gap: 4px;
  align-content: center;
  padding: 7px;
  border: 3px solid #000;
  background: #050810;
  box-shadow: 4px 4px 0 #000;
  image-rendering: pixelated;
}
.binary-puzzle-card {
  grid-column: 1 / -1;
  align-self: end;
  justify-self: stretch;
  margin-top: 8px;
}
.binary-puzzle i {
  display: block;
  width: 10px;
  height: 10px;
  box-shadow: 2px 2px 0 #000;
  animation: bitTwinkle 2.8s steps(3, end) infinite;
}
.binary-puzzle .b1 {
  background: var(--cyan);
  box-shadow: 2px 2px 0 #000, 0 0 10px rgba(78,230,255,.58);
}
.binary-puzzle .b0 {
  background: rgba(117,138,151,.26);
  box-shadow: 2px 2px 0 #000;
}
.binary-puzzle i:nth-child(3n) { animation-delay: .24s; }
.binary-puzzle i:nth-child(4n) { animation-delay: .48s; }
.binary-puzzle i:nth-child(5n) { animation-delay: .72s; }
.binary-puzzle i:nth-child(7n) { animation-delay: 1.06s; }
@keyframes bitTwinkle {
  0%, 100% { filter: brightness(1); transform: translate(0,0); }
  42% { filter: brightness(.52); transform: translate(0,1px); }
  68% { filter: brightness(1.35); transform: translate(-1px,0); }
}
@keyframes binaryPulse {
  0%, 100% { opacity: .92; filter: saturate(1); }
  50% { opacity: .62; filter: saturate(.72); }
}
@media (max-width: 900px) {
  .llm-prompt-card {
    height: auto;
    min-height: 190px;
    grid-template-columns: 48px 1fr;
  }
  .binary-puzzle { grid-template-columns: repeat(12, 10px); }
}

/* v8.14: canonical 24-bit binary puzzle only; no footer decoration strip. */
body::after {
  content: none !important;
  display: none !important;
}
.binary-puzzle {
  grid-template-columns: repeat(8, 10px);
}
@media (max-width: 900px) {
  .binary-puzzle { grid-template-columns: repeat(8, 10px); }
}

/* v8.15: right-side prompt puzzle is 24 bits in 2 rows; left hero motif is color-coded scale degrees 1-5-6-3-4-1-4-5. */
:root {
  /* Hidden color key for the left puzzle motif: 1=cyan, 5=gold, 6=magenta, 3=green, 4=violet. */
  --deg-1: #4ee6ff;
  --deg-5: #ffd36d;
  --deg-6: #ff5bd6;
  --deg-3: #71ff9b;
  --deg-4: #9d7cff;
}
.hero-copy::before {
  /* Repeating hidden canon scale-degree motif: 1 5 6 3 4 1 4 5. */
  height: 20px;
  margin-bottom: 10px;
  background:
    linear-gradient(90deg,
      var(--deg-1) 0 14px, transparent 14px 18px,
      var(--deg-5) 18px 32px, transparent 32px 36px,
      var(--deg-6) 36px 50px, transparent 50px 54px,
      var(--deg-3) 54px 68px, transparent 68px 72px,
      var(--deg-4) 72px 86px, transparent 86px 90px,
      var(--deg-1) 90px 104px, transparent 104px 108px,
      var(--deg-4) 108px 122px, transparent 122px 126px,
      var(--deg-5) 126px 140px, transparent 140px 144px);
  background-size: 144px 100%;
  background-repeat: repeat-x;
  background-position: 0 0;
  box-shadow: 4px 4px 0 #000, inset 0 0 0 2px rgba(255,255,255,.08);
}
.binary-puzzle {
  grid-template-columns: repeat(12, 12px);
  grid-auto-rows: 12px;
  gap: 5px;
  justify-content: center;
  align-content: center;
  padding: 9px;
}
.binary-puzzle i {
  width: 12px;
  height: 12px;
}
@media (max-width: 900px) {
  .binary-puzzle { grid-template-columns: repeat(12, 10px); grid-auto-rows: 10px; gap: 4px; }
  .binary-puzzle i { width: 10px; height: 10px; }
}

/* v8.16: pixel-game live speaker indicator with animated volume meter. */
.speech-block {
  grid-template-columns: 30px 1fr;
  min-height: 44px;
  gap: 9px;
  padding: 8px;
  background: #09111f;
  border: 3px solid #000;
  box-shadow: 4px 4px 0 #000, inset 0 0 0 2px rgba(255,255,255,.04);
}
.speech-icon {
  width: 30px;
  height: 30px;
  border: 2px solid #000;
  background: #14243a;
  box-shadow: 3px 3px 0 #000;
  overflow: hidden;
  position: relative;
}
.pixel-speaker-avatar {
  position: absolute;
  left: 5px;
  top: 4px;
  width: 16px;
  height: 18px;
  background: #ffd7a3;
  border: 2px solid #000;
  box-shadow:
    0 -4px 0 #2b1833,
    -4px 7px 0 #4ee6ff,
    4px 7px 0 #4ee6ff,
    0 12px 0 #ff5bd6;
  image-rendering: pixelated;
}
.pixel-speaker-avatar::before {
  content: "";
  position: absolute;
  left: 3px;
  top: 5px;
  width: 2px;
  height: 2px;
  background: #000;
  box-shadow: 6px 0 0 #000, 3px 5px 0 #000;
}
.pixel-speaker-avatar::after {
  content: "";
  position: absolute;
  right: -9px;
  top: 5px;
  width: 4px;
  height: 4px;
  background: #71ff9b;
  border: 2px solid #000;
  box-shadow: 5px -3px 0 -1px #71ff9b, 9px -4px 0 -1px #000;
  opacity: 0;
}
.pixel-speaker-avatar i,
.pixel-speaker-avatar b { display: none; }
.speech-block.talking .speech-icon {
  background: #0b2a22;
  border-color: #000;
  box-shadow: 3px 3px 0 #000, 0 0 0 2px rgba(113,255,155,.32);
}
.speech-block.talking .pixel-speaker-avatar {
  animation: pixelTalkBob .48s steps(2, end) infinite;
}
.speech-block.talking .pixel-speaker-avatar::after {
  opacity: 1;
  animation: pixelSoundPing .7s steps(2, end) infinite;
}
.speech-block.idle .pixel-speaker-avatar {
  filter: grayscale(.45) brightness(.78);
  box-shadow:
    0 -4px 0 #2b1833,
    -4px 7px 0 #65758a,
    4px 7px 0 #65758a,
    0 12px 0 #334155;
}
.speech-block.ended .pixel-speaker-avatar,
.speech-block.scheduled .pixel-speaker-avatar {
  filter: saturate(.75) brightness(.85);
}
.speaker-copy { min-width: 0; }

@keyframes pixelTalkBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}
@keyframes pixelSoundPing {
  0%, 100% { transform: translateX(0); opacity: .55; }
  50% { transform: translateX(2px); opacity: 1; }
}
@keyframes volumeBars {
  0%, 100% { height: 5px; filter: brightness(.78); }
  25% { height: 13px; filter: brightness(1.28); }
  50% { height: 8px; filter: brightness(.95); }
  75% { height: 16px; filter: brightness(1.45); }
}
@media (prefers-reduced-motion: reduce) {
  .speech-block.talking .pixel-speaker-avatar,
  .speech-block.talking .pixel-speaker-avatar::after{ animation: none; }
}

/* v8.17: one-click color theme switcher with white pixel-console palette. */
.theme-toggle {
  min-height: 30px;
  border: 3px solid #000;
  border-radius: 0;
  padding: 6px 10px;
  background: var(--gold);
  color: #070a12;
  font: 900 .7rem/1 "Courier New", ui-monospace, monospace;
  text-transform: uppercase;
  letter-spacing: .06em;
  box-shadow: 4px 4px 0 #000;
  cursor: pointer;
  white-space: nowrap;
}
.theme-toggle:hover,
.theme-toggle:focus-visible {
  transform: translate(-1px, -1px);
  box-shadow: 5px 5px 0 #000;
  outline: none;
  background: var(--cyan);
}
.theme-toggle:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 #000;
}

html[data-theme="light"] {
  --ink: #12151f;
  --muted: #5d6675;
  --soft: #fff7e8;
  --sand: #f1c15d;
  --gold: #d28a12;
  --gold-dark: #7b4c00;
  --blue: #193762;
  --blue-soft: #e5f0ff;
  --paper: #ffffff;
  --line: #1c2433;
  --good: #168052;
  --warn: #a45d10;
  --danger: #c33746;
  --cyan: #007fa3;
  --magenta: #b62f8f;
  --shadow: 7px 7px 0 rgba(18, 21, 31, .24);
}
html[data-theme="light"] body {
  color: var(--ink);
  background-color: #fffaf0;
  background-image:
    linear-gradient(rgba(25, 55, 98, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(25, 55, 98, .06) 1px, transparent 1px),
    repeating-linear-gradient(45deg, transparent 0 18px, rgba(210, 138, 18, .08) 18px 20px),
    radial-gradient(circle at 18% 0%, rgba(255, 211, 109, .36), transparent 30%),
    radial-gradient(circle at 86% 9%, rgba(78, 230, 255, .22), transparent 28%),
    linear-gradient(180deg, #fffaf0 0%, #ffffff 46%, #fff7e6 100%);
}
html[data-theme="light"] body::before {
  opacity: .08;
  background: repeating-linear-gradient(180deg, rgba(25,55,98,.10) 0 1px, transparent 1px 4px);
  mix-blend-mode: multiply;
}
html[data-theme="light"] .site-header {
  background: rgba(255, 250, 240, .94);
  border-bottom-color: #1c2433;
  box-shadow: 0 5px 0 rgba(18, 21, 31, .24);
}
html[data-theme="light"] .brand-mark {
  background: #ffe7a6;
  color: #12151f;
  border-color: #1c2433;
  box-shadow: 4px 4px 0 rgba(18, 21, 31, .25);
}

html[data-theme="light"] .top-nav a {
  color: #193762;
  background: #ffffff;
  border-color: #1c2433;
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .20);
}
html[data-theme="light"] .top-nav a:hover {
  color: #ffffff;
  background: #193762;
  border-color: #193762;
}
html[data-theme="light"] .theme-toggle {
  background: #193762;
  color: #ffffff;
  border-color: #1c2433;
  box-shadow: 4px 4px 0 rgba(18, 21, 31, .25);
}
html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .theme-toggle:focus-visible {
  background: #d28a12;
  color: #12151f;
  box-shadow: 5px 5px 0 rgba(18, 21, 31, .25);
}
html[data-theme="light"] .hero-copy,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .spotlight-card,
html[data-theme="light"] .event-card,
html[data-theme="light"] .paper-card,
html[data-theme="light"] .timeline-item,
html[data-theme="light"] .empty-card{
  color: var(--ink);
  background:
    linear-gradient(135deg, rgba(0, 127, 163, .08), transparent 34%),
    linear-gradient(225deg, rgba(210, 138, 18, .12), transparent 30%),
    rgba(255, 255, 255, .94);
  border-color: #1c2433;
  box-shadow: 7px 7px 0 rgba(18, 21, 31, .22);
}
html[data-theme="light"] .hero-copy h1,
html[data-theme="light"] .section-heading h2,
html[data-theme="light"] .stat-value,
html[data-theme="light"] .card-title,
html[data-theme="light"] .paper-title {
  color: #193762;
  text-shadow: 2px 2px 0 rgba(255, 231, 166, .95);
}

html[data-theme="light"] .summary,
html[data-theme="light"] .meta,
html[data-theme="light"] .paper-authors,
html[data-theme="light"] .section-note,
html[data-theme="light"] .stat-help,
html[data-theme="light"] .connection,
html[data-theme="light"] .headcounts {
  color: #4b5565;
}
html[data-theme="light"] .eyebrow,
html[data-theme="light"] .stat-label,
html[data-theme="light"] .mini-label { color: #007fa3; }
html[data-theme="light"] .eyebrow::before { color: #b62f8f; }

html[data-theme="light"] .button,
html[data-theme="light"] .link-button{
  background: #ffffff;
  color: #193762;
  border-color: #1c2433;
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .18);
}

html[data-theme="light"] .llm-copy-button {
  background: #193762;
  color: #ffffff;
  border-color: #1c2433;
}
html[data-theme="light"] .hero-card,
html[data-theme="light"] .llm-prompt-card {
  color: var(--ink);
  background:
    radial-gradient(circle at 76% 26%, rgba(0, 127, 163, .22) 0 5px, transparent 6px),
    linear-gradient(145deg, #ffffff, #fff1cf);
  border-color: #1c2433;
  box-shadow: 7px 7px 0 rgba(18, 21, 31, .24);
}
html[data-theme="light"] .hero-card strong,
html[data-theme="light"] .llm-prompt-card strong {
  color: #193762;
  text-shadow: 2px 2px 0 rgba(255,255,255,.9);
}
html[data-theme="light"] .hero-card p,
html[data-theme="light"] .llm-prompt-card p { color: #4b5565; }
html[data-theme="light"] .robot-logo {
  background: #193762;
  color: #ffffff;
  border-color: #1c2433;
}
html[data-theme="light"] .binary-puzzle{
  background: #fff7e8;
  border-color: #1c2433;
  box-shadow: 4px 4px 0 rgba(18, 21, 31, .22);
}
html[data-theme="light"] .binary-puzzle .b1 {
  background: #007fa3;
  box-shadow: 2px 2px 0 rgba(18, 21, 31, .38), 0 0 9px rgba(0,127,163,.38);
}
html[data-theme="light"] .binary-puzzle .b0 {
  background: rgba(25, 55, 98, .18);
  box-shadow: 2px 2px 0 rgba(18, 21, 31, .32);
}
html[data-theme="light"] .poster-session-card:hover,
html[data-theme="light"] .poster-session-card.selected {
  background: #fff2cf;
  border-color: #007fa3;
  box-shadow: 9px 9px 0 rgba(18, 21, 31, .22);
}
html[data-theme="light"] .paper-card {
  background: #ffffff;
  border-color: #1c2433;
}
html[data-theme="light"] .paper-title:hover,
html[data-theme="light"] .paper-title:focus-visible { color: #007fa3; }
html[data-theme="light"] .speech-block {
  color: #4b5565;
  background: #ffffff;
  border-color: #1c2433;
  box-shadow: 4px 4px 0 rgba(18, 21, 31, .22), inset 0 0 0 2px rgba(0,127,163,.06);
}
html[data-theme="light"] .speech-block strong { color: #193762; }
html[data-theme="light"] .speech-block.talking {
  background: #e8fff2;
  border-color: #1c2433;
  color: #168052;
}
html[data-theme="light"] .speech-icon {
  background: #e7f6ff;
  border-color: #1c2433;
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .25);
}

html[data-theme="light"] .zoom-live-badge { background: #e8fff2; color: #12643f; border-color: #1c2433; }
html[data-theme="light"] .zoom-peak-badge { background: #fff2cf; color: #7b4c00; border-color: #1c2433; }
html[data-theme="light"] .footer {
  color: #4b5565;
  border-color: rgba(28,36,51,.22);
}
html[data-theme="light"] .attendee-role-badge {
  background: #ffffff;
  color: #102545;
  border-color: #1c2433;
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .28);
  text-shadow: none;
}
html[data-theme="light"] .attendee-role-menu {
  background:
    linear-gradient(135deg, rgba(54, 128, 255, .10), transparent 34%),
    linear-gradient(225deg, rgba(255, 191, 73, .16), transparent 32%),
    #ffffff;
  color: #12151f;
  border-color: #1c2433;
  box-shadow: 7px 7px 0 rgba(18, 21, 31, .25), 0 0 0 2px rgba(255, 191, 73, .42) inset;
}
html[data-theme="light"] .attendee-menu-title {
  color: #102545;
  text-shadow: 2px 2px 0 #ffd66b;
}
html[data-theme="light"] .attendee-role-option {
  background: #fff7e8;
  color: #12151f;
  border-color: #1c2433;
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .22);
}
html[data-theme="light"] .attendee-role-option strong {
  color: #102545;
  text-shadow: none;
  font-weight: 900;
}
html[data-theme="light"] .attendee-role-option small {
  color: #334155;
  text-shadow: none;
  font-weight: 800;
}
html[data-theme="light"] .attendee-role-option:hover,
html[data-theme="light"] .attendee-role-option:focus-visible,
html[data-theme="light"] .attendee-role-option.is-active {
  background: #193762;
  color: #ffffff;
  border-color: #0b1020;
  box-shadow: 4px 4px 0 rgba(18, 21, 31, .32), 0 0 0 2px #ffe76a inset;
}
html[data-theme="light"] .attendee-role-option:hover strong,
html[data-theme="light"] .attendee-role-option:focus-visible strong,
html[data-theme="light"] .attendee-role-option.is-active strong {
  color: #fff0a8;
  text-shadow: 2px 2px 0 #000;
}
html[data-theme="light"] .attendee-role-option:hover small,
html[data-theme="light"] .attendee-role-option:focus-visible small,
html[data-theme="light"] .attendee-role-option.is-active small {
  color: #ffffff;
  text-shadow: 1px 1px 0 #000;
}

@media (max-width: 900px) {
  .site-header { flex-wrap: wrap; }
  .theme-toggle { order: 3; margin-left: auto; }
  
}

/* v8.18: stronger light palette, debug-live banner, and promoted live section hierarchy. */
:is(#live-events, #lbd-grid) .section-heading {
  position: relative;
  padding: 12px 14px;
  border: 3px solid var(--gold);
  background:
    linear-gradient(90deg, rgba(255,183,51,.14), transparent 42%),
    linear-gradient(135deg, rgba(78,230,255,.08), transparent 48%),
    rgba(13,18,32,.82);
  box-shadow: 6px 6px 0 #000;
}
:is(#live-events, #lbd-grid) .section-heading h2 {
  font-size: clamp(1.18rem, 2.25vw, 1.75rem);
  letter-spacing: -.035em;
}

.spotlight-card {
  position: relative;
  border-width: 4px;
  box-shadow: 10px 10px 0 #000, 0 0 0 3px rgba(255,183,51,.18);
}
.spotlight-card::before {
  content: "";
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 4px 8px;
  margin: -4px 0 8px;
  border: 2px solid #000;
  background: var(--gold);
  color: #07101b;
  box-shadow: 3px 3px 0 #000;
  font-size: .6rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

html[data-theme="light"] {
  --ink: #101522;
  --muted: #4d596c;
  --paper: #fffdf7;
  --soft: #fff4dc;
  --line: #172033;
  --blue: #18365f;
  --blue-soft: #e7f1ff;
  --cyan: #007fa3;
  --gold: #d89514;
  --gold-dark: #754900;
  --magenta: #a32983;
  --good: #137a4c;
  --warn: #9b5b00;
  --danger: #ba2f43;
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .section-heading {
  background:
    linear-gradient(90deg, rgba(216,149,20,.20), transparent 42%),
    linear-gradient(135deg, rgba(0,127,163,.10), transparent 48%),
    #fffdf7;
  border-color: #172033;
  box-shadow: 6px 6px 0 rgba(18,21,31,.22);
}

html[data-theme="light"] .spotlight-card::before {
  border-color: #172033;
  box-shadow: 3px 3px 0 rgba(18,21,31,.22);
}

html[data-theme="light"] .spotlight-card::before { background: #ffe4a3; color: #754900; }

html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] .speech-block,
html[data-theme="light"] .speech-block.idle,
html[data-theme="light"] .speech-block.ended,
html[data-theme="light"] .speech-block.scheduled,
html[data-theme="light"] .speech-block.talking{
  background: #fffdf7 !important;
  color: #101522 !important;
  border-color: #172033 !important;
  box-shadow: 4px 4px 0 rgba(18,21,31,.22), inset 0 0 0 2px rgba(0,127,163,.06) !important;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder{ color: #697486 !important; opacity: 1; }
html[data-theme="light"] .speech-block.talking { background: #e8fff2 !important; color: #137a4c !important; }
html[data-theme="light"] .speech-block.ended { background: #fff2cf !important; color: #754900 !important; }
html[data-theme="light"] .speech-block.scheduled { background: #e7f1ff !important; color: #18365f !important; }
html[data-theme="light"] .speech-block strong{ color: #18365f !important; text-shadow: none !important; }
html[data-theme="light"] .speech-icon {
  background: #e7f1ff !important;
  border-color: #172033 !important;
  box-shadow: 3px 3px 0 rgba(18,21,31,.22) !important;
}
html[data-theme="light"] .speech-block.talking .speech-icon {
  background: #d8ffea !important;
  box-shadow: 3px 3px 0 rgba(18,21,31,.22), 0 0 0 2px rgba(19,122,76,.22) !important;
}

html[data-theme="light"] .link-button:not(.info-link) {
  background: #ffffff !important;
  color: #18365f !important;
  border-color: #172033 !important;
}
html[data-theme="light"] .link-button:hover,
html[data-theme="light"] .link-button.info-link:hover {
  background: #ffe4a3 !important;
  color: #101522 !important;
}
html[data-theme="light"] .top-nav a{
  background: #fffdf7 !important;
  color: #18365f !important;
  border-color: #172033 !important;
}

html[data-theme="light"] .empty-card { background: #fffdf7 !important; color: #101522 !important; }
html[data-theme="light"] .empty-card strong { color: #18365f !important; }
html[data-theme="light"] .binary-puzzle {
  background: #fff7e8 !important;
  border-color: #172033 !important;
  box-shadow: 4px 4px 0 rgba(18,21,31,.22) !important;
}
html[data-theme="light"] .hero-copy::before {
  border-color: #172033 !important;
  box-shadow: 4px 4px 0 rgba(18,21,31,.22), inset 0 0 0 2px rgba(255,255,255,.65) !important;
}
html[data-theme="light"] .hero-copy::after,
html[data-theme="light"] .hero-card::after {
  border-color: #172033 !important;
  box-shadow: 4px 4px 0 rgba(18,21,31,.22) !important;
}

/* v8.20: restore Live Events heading layout; improve light-mode paper and upcoming contrast. */
:is(#live-events, #lbd-grid) .section-heading {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
:is(#live-events, #lbd-grid) .section-heading h2 {
  position: relative;
  display: inline-block;
  font-size: clamp(1.42rem, 2.4vw, 2.05rem);
  color: var(--blue);
  letter-spacing: -.04em;
  text-shadow: 3px 3px 0 #000;
}
:is(#live-events, #lbd-grid) .section-heading h2::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 6px;
  background: repeating-linear-gradient(90deg, var(--gold) 0 10px, transparent 10px 14px, var(--cyan) 14px 22px, transparent 22px 28px);
  box-shadow: 2px 2px 0 #000;
}

html[data-theme="light"] :is(#live-events, #lbd-grid) .section-heading {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .section-heading h2 {
  color: #193762;
  text-shadow: 2px 2px 0 rgba(255, 231, 166, .95);
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .section-heading h2::after {
  background: repeating-linear-gradient(90deg, #d89514 0 10px, transparent 10px 14px, #007fa3 14px 22px, transparent 22px 28px);
  box-shadow: 2px 2px 0 rgba(18, 21, 31, .26);
}

html[data-theme="light"] .upcoming-badge {
  background: #e7f1ff !important;
  color: #10233d !important;
  border: 2px solid #172033 !important;
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .18) !important;
}
html[data-theme="light"] .upcoming-badge strong,
html[data-theme="light"] .upcoming-badge span {
  color: #10233d !important;
}

/* v8.21: simplify live heading, remove extra live tags/dividers, and brighten light-mode LLM prompt card. */
:is(#live-events, #lbd-grid) .section-heading h2 {
  white-space: nowrap;
  font-size: clamp(1.16rem, 2vw, 1.72rem);
}
:is(#live-events, #lbd-grid) .section-heading > div { min-width: max-content; }
:is(#live-events, #lbd-grid) .section-note { flex: 1 1 auto; }

html[data-theme="light"] .llm-copy-button {
  background: #ffe4a3 !important;
  color: #10233d !important;
  border-color: #172033 !important;
  box-shadow: 4px 4px 0 rgba(18, 21, 31, .24) !important;
  text-shadow: none !important;
}
html[data-theme="light"] .llm-copy-button:hover,
html[data-theme="light"] .llm-copy-button:focus-visible {
  background: #c7f5ff !important;
  color: #10233d !important;
  border-color: #007fa3 !important;
  box-shadow: 4px 4px 0 rgba(18, 21, 31, .24), 0 0 0 3px rgba(0,127,163,.20) !important;
}
html[data-theme="light"] .copy-status {
  color: #0f6b42 !important;
  text-shadow: none !important;
}
html[data-theme="light"] .robot-logo {
  background: #fff7e8 !important;
  color: #10233d !important;
  border-color: #172033 !important;
  box-shadow: 5px 5px 0 rgba(18, 21, 31, .24) !important;
}
html[data-theme="light"] .robot-logo::before {
  border-color: #007fa3 !important;
  background:
    radial-gradient(circle at 7px 8px, #193762 0 3px, transparent 4px),
    radial-gradient(circle at 19px 8px, #193762 0 3px, transparent 4px),
    linear-gradient(#193762, #193762) center 15px / 14px 3px no-repeat,
    #e7f1ff !important;
}
html[data-theme="light"] .robot-logo::after {
  background: #d89514 !important;
  box-shadow: 0 -3px 0 #a32983 !important;
}

@media (max-width: 820px) {
  :is(#live-events, #lbd-grid) .section-heading h2 { white-space: normal; }
  :is(#live-events, #lbd-grid) .section-heading > div { min-width: 0; }
}

/* v8.22: cleaner live heading, blinking live marker, and event-card metadata simplification. */
:is(#live-events, #lbd-grid) .section-heading h2 {
  color: #fff4b8;
  text-shadow: 3px 3px 0 #000, 0 0 14px rgba(255, 183, 51, .22);
  display: inline-flex;
  align-items: center;
  gap: 9px;
  white-space: nowrap;
}
:is(#live-events, #lbd-grid) .section-heading h2::before {
  content: "LIVE";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 19px;
  margin-right: 1px;
  border: 2px solid var(--good);
  background: #0d2b18;
  color: var(--good);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .55rem;
  font-weight: 950;
  letter-spacing: .12em;
  line-height: 1;
  box-shadow: 3px 3px 0 #000, 0 0 0 2px rgba(71,245,138,.16);
  text-shadow: 1px 1px 0 #000;
  animation: liveMarkerBlink 1.05s steps(2, start) infinite;
}
@keyframes liveMarkerBlink {
  0%, 48% { opacity: 1; filter: brightness(1.35); }
  49%, 100% { opacity: .48; filter: brightness(.75); }
}

html[data-theme="light"] :is(#live-events, #lbd-grid) .section-heading h2 {
  color: #18365f;
  text-shadow: 2px 2px 0 rgba(255, 231, 166, .95);
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .section-heading h2::before {
  background: #e9fff3;
  border-color: #137a4c;
  color: #0f6b42;
  box-shadow: 3px 3px 0 rgba(18,21,31,.22), 0 0 0 2px rgba(19,122,76,.14);
  text-shadow: none;
}
@media (max-width: 820px) {
  :is(#live-events, #lbd-grid) .section-heading h2 { white-space: normal; }
}

/* v8.24: align timeline time text and status badges on a single row. */
.timeline-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
}
.timeline-status-row .timeline-time {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.2;
}

.timeline-status-row .upcoming-badge,
.timeline-status-row .zoom-peak-badge {
  margin-top: 0;
  align-self: center;
}
@media (max-width: 640px) {
  .timeline-status-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  
}

/* v8.26: align non-poster event action buttons with poster-session cards. */
.event-card,
.spotlight-card {
  display: flex;
  flex-direction: column;
}
.event-card:not(.poster-session-card) > div:first-child,
.spotlight-card > div:first-child {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 100%;
}
.event-card:not(.poster-session-card) > div:first-child > .link-row,
.spotlight-card > div:first-child > .link-row,
.poster-session-card > .link-row {
  margin-top: auto;
}

/* v8.29: robot binary puzzle grouped in 3-bit cells; no outer frame. */
.binary-puzzle {
  display: grid !important;
  grid-template-columns: repeat(4, auto) !important;
  grid-auto-rows: auto !important;
  gap: 7px 12px !important;
  justify-content: center;
  align-content: center;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.binary-puzzle .bit-group {
  display: grid;
  grid-template-columns: repeat(3, 12px);
  gap: 3px;
  align-items: center;
  justify-content: center;
}
.binary-puzzle i {
  width: 12px;
  height: 12px;
}
html[data-theme="light"] .binary-puzzle {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 900px) {
  .binary-puzzle {
    grid-template-columns: repeat(4, auto) !important;
    gap: 6px 10px !important;
  }
  .binary-puzzle .bit-group {
    grid-template-columns: repeat(3, 10px);
    gap: 3px;
  }
  .binary-puzzle i {
    width: 10px;
    height: 10px;
  }
}

/* v8.30: light-mode binary puzzle becomes a quiet embedded paper texture. */
html[data-theme="light"] .binary-puzzle {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}
html[data-theme="light"] .binary-puzzle .bit-group {
  opacity: .72;
}
html[data-theme="light"] .binary-puzzle i {
  animation: none !important;
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
  opacity: .82;
}
html[data-theme="light"] .binary-puzzle .b1 {
  background: rgba(38, 86, 112, .24) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .binary-puzzle .b0 {
  background: rgba(38, 86, 112, .075) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .llm-prompt-card .binary-puzzle {
  mix-blend-mode: multiply;
}

/* v8.33: observer ownership/disconnect state for breakout rooms. */
.speech-block.disconnected {
  background: #130d12;
  border-color: #000;
  box-shadow: 4px 4px 0 #000, inset 0 0 0 2px rgba(255, 159, 159, .08);
}
.speech-block.disconnected .speech-icon {
  background: #26131b;
  box-shadow: 3px 3px 0 #000;
}
.speech-block.disconnected .pixel-speaker-avatar {
  filter: grayscale(1) brightness(.62);
  opacity: .72;
  box-shadow:
    0 -4px 0 #1d1d23,
    -4px 7px 0 #596273,
    4px 7px 0 #596273,
    0 12px 0 #242936;
}
.speech-block.disconnected [data-speaker-headline] { color: #ffb4b4; }

html[data-theme="light"] .speech-block.disconnected {
  background: #f1ece7;
  box-shadow: 3px 3px 0 rgba(30, 35, 45, .22), inset 0 0 0 2px rgba(120, 92, 92, .1);
}
html[data-theme="light"] .speech-block.disconnected .speech-icon { background: #e3dbd2; }
html[data-theme="light"] .speech-block.disconnected [data-speaker-headline] { color: #7f1d1d; }

/* v8.34: interaction affordance pass -------------------------------------------------
   Make clickable surfaces visually different from information cards. */
a,
button,
[role="button"],
.button,
.link-button,
.llm-copy-button,
.theme-toggle{
  cursor: pointer;
}

.stat-card,
.event-card:not(.poster-session-card),
.paper-card,
.timeline-item,
.empty-card,
.upcoming-badge,
.zoom-live-badge,
.zoom-peak-badge {
  cursor: default;
}

.poster-session-card {
  position: relative;
  cursor: pointer;
  border-width: 3px !important;
  border-color: var(--gold) !important;
  box-shadow: 7px 7px 0 #000, 0 0 0 2px rgba(255, 183, 51, .14) !important;
  transition: transform .12s steps(2, end), box-shadow .12s steps(2, end), border-color .12s steps(2, end), background .12s steps(2, end) !important;
}
.poster-session-card:hover,
.poster-session-card:focus-visible {
  transform: translate(-2px, -2px) !important;
  border-color: var(--cyan) !important;
  box-shadow: 10px 10px 0 #000, 0 0 0 3px rgba(78, 230, 255, .18) !important;
  outline: none;
}
.poster-session-card.selected {
  border-color: var(--good) !important;
  box-shadow: 10px 10px 0 #000, 0 0 0 4px rgba(71, 245, 138, .20) !important;
}
.poster-session-card:active {
  transform: translate(2px, 2px) !important;
  box-shadow: 4px 4px 0 #000 !important;
}
.poster-session-card .card-title::after {
  content: "  ↵";
  color: var(--cyan);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .78em;
  text-shadow: 2px 2px 0 #000;
}

.paper-card {
  cursor: default !important;
}
.paper-card:hover {
  transform: none !important;
}
.paper-title a {
  cursor: pointer;
  text-decoration-line: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  text-decoration-color: rgba(78, 230, 255, .55);
}
.paper-title a::after {
  content: " ↗";
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .78em;
  color: var(--cyan);
  text-decoration: none;
}
.paper-title a:hover,
.paper-title a:focus-visible {
  background: rgba(78, 230, 255, .12);
  outline: 2px solid var(--cyan);
  outline-offset: 2px;
}

.link-button,
.button,
.llm-copy-button,
.theme-toggle{
  cursor: pointer;
  transition: transform .10s steps(2, end), box-shadow .10s steps(2, end), background .10s steps(2, end), border-color .10s steps(2, end) !important;
}
.link-button::after {
  content: "↗";
  margin-left: 6px;
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .82em;
  line-height: 1;
  opacity: .86;
}
.link-button:hover,
.link-button:focus-visible,
.button:hover,
.button:focus-visible,
.llm-copy-button:hover,
.llm-copy-button:focus-visible,
.theme-toggle:hover,
.theme-toggle:focus-visible{
  transform: translate(-1px, -1px) !important;
  outline: 2px solid var(--cyan);
  outline-offset: 3px;
}
.link-button:active,
.button:active,
.llm-copy-button:active,
.theme-toggle:active{
  transform: translate(2px, 2px) !important;
  box-shadow: 1px 1px 0 #000 !important;
}

/* Quiet down non-clickable containers in light mode while keeping true actions bold. */
html[data-theme="light"] .stat-card,
html[data-theme="light"] .event-card:not(.poster-session-card),
html[data-theme="light"] .timeline-item,
html[data-theme="light"] .empty-card,
html[data-theme="light"] .paper-card{
  border-color: #cfc6b9 !important;
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .12) !important;
  background:
    linear-gradient(135deg, rgba(0, 127, 163, .035), transparent 36%),
    linear-gradient(225deg, rgba(216, 149, 20, .055), transparent 34%),
    rgba(255, 253, 247, .96) !important;
}
html[data-theme="light"] .stat-card:hover,
html[data-theme="light"] .event-card:not(.poster-session-card):hover,
html[data-theme="light"] .timeline-item:hover,
html[data-theme="light"] .paper-card:hover {
  border-color: #cfc6b9 !important;
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .12) !important;
  transform: none !important;
}
html[data-theme="light"] .poster-session-card {
  border: 3px solid #172033 !important;
  background:
    linear-gradient(135deg, rgba(0, 127, 163, .14), transparent 34%),
    linear-gradient(225deg, rgba(216, 149, 20, .20), transparent 36%),
    #fff7df !important;
  box-shadow: 8px 8px 0 rgba(18, 21, 31, .24), 0 0 0 3px rgba(0, 127, 163, .10) !important;
}
html[data-theme="light"] .poster-session-card:hover,
html[data-theme="light"] .poster-session-card:focus-visible {
  border-color: #007fa3 !important;
  background:
    linear-gradient(135deg, rgba(0, 127, 163, .20), transparent 34%),
    linear-gradient(225deg, rgba(216, 149, 20, .24), transparent 36%),
    #fff2cf !important;
  box-shadow: 10px 10px 0 rgba(18, 21, 31, .26), 0 0 0 4px rgba(0, 127, 163, .16) !important;
}
html[data-theme="light"] .poster-session-card.selected {
  border-color: #137a4c !important;
  box-shadow: 10px 10px 0 rgba(18, 21, 31, .26), 0 0 0 4px rgba(19, 122, 76, .18) !important;
}
html[data-theme="light"] .poster-session-card .card-title::after {
  color: #007fa3;
  text-shadow: none;
}

html[data-theme="light"] .link-button,
html[data-theme="light"] .button,
html[data-theme="light"] .llm-copy-button,
html[data-theme="light"] .theme-toggle{
  border: 2px solid #172033 !important;
  box-shadow: 4px 4px 0 rgba(18, 21, 31, .24) !important;
}
html[data-theme="light"] .link-button:not(.info-link) {
  background: #e7f7fb !important;
  color: #10233d !important;
}
html[data-theme="light"] .link-button.info-link {
  background: #193762 !important;
  color: #ffffff !important;
}
html[data-theme="light"] .link-button:hover,
html[data-theme="light"] .link-button:focus-visible,
html[data-theme="light"] .button:hover,
html[data-theme="light"] .button:focus-visible,
html[data-theme="light"] .llm-copy-button:hover,
html[data-theme="light"] .llm-copy-button:focus-visible,
html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .theme-toggle:focus-visible{
  background: #ffe4a3 !important;
  color: #10233d !important;
  border-color: #007fa3 !important;
  outline: 3px solid rgba(0, 127, 163, .20) !important;
  outline-offset: 3px !important;
}

html[data-theme="light"] .upcoming-badge,
html[data-theme="light"] .zoom-live-badge,
html[data-theme="light"] .zoom-peak-badge{
  box-shadow: none !important;
  border-color: #d8cfc2 !important;
  background: rgba(255, 255, 255, .62) !important;
}
html[data-theme="light"] .paper-title a {
  color: #10233d !important;
  text-decoration-color: #007fa3 !important;
  background: linear-gradient(180deg, transparent 58%, rgba(0, 127, 163, .14) 58% 92%, transparent 92%) !important;
}
html[data-theme="light"] .paper-title a::after { color: #007fa3 !important; }
html[data-theme="light"] .paper-title a:hover,
html[data-theme="light"] .paper-title a:focus-visible {
  color: #ffffff !important;
  background: #193762 !important;
  outline: 3px solid #d89514 !important;
  text-shadow: none !important;
}

@media (max-width: 640px) {
  
  
  .poster-session-card .card-title::after { content: ""; }
}

/* v8.35: reduce card-like chrome in navigation, hero, robot, and poster detail. */
.site-header {
  border-bottom: 2px solid rgba(255, 183, 51, .72) !important;
  box-shadow: none !important;
}
.brand {
  gap: 10px !important;
  align-items: center !important;
  text-transform: uppercase;
}
.brand-mark {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--gold) !important;
  font-size: 1rem !important;
  letter-spacing: .08em !important;
  text-shadow: 2px 2px 0 #000;
}
.brand-mark::before { content: none !important; }

.top-nav {
  gap: 0 !important;
  align-items: center;
  padding: 3px 5px;
  border: 0 !important;
  background:
    linear-gradient(90deg, rgba(78,230,255,.10), rgba(255,183,51,.08));
  box-shadow: inset 0 -2px 0 rgba(255, 183, 51, .22);
}
.top-nav a {
  position: relative;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 7px 10px !important;
  color: #dffbff !important;
  opacity: .82 !important;
  text-decoration: none;
}
.top-nav a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  bottom: 9px;
  width: 2px;
  background: rgba(78, 230, 255, .28);
}
.top-nav a:hover,
.top-nav a:focus-visible {
  color: var(--gold) !important;
  opacity: 1 !important;
  background: rgba(78, 230, 255, .10) !important;
  box-shadow: inset 0 -3px 0 var(--gold) !important;
  outline: none !important;
}

.hero-copy {
  border: 0 !important;
  border-left: 4px solid rgba(78, 230, 255, .72) !important;
  background:
    linear-gradient(90deg, rgba(78,230,255,.10), transparent 58%),
    linear-gradient(180deg, rgba(255,183,51,.065), transparent 70%) !important;
  box-shadow: none !important;
  padding: 18px 0 18px 18px !important;
}
.hero-copy::before { content: "" !important; }
.hero-copy h1 {
  text-shadow: 3px 3px 0 rgba(0, 0, 0, .72);
}
.llm-prompt-card,
.hero-card.llm-prompt-card {
  border: 0 !important;
  border-left: 4px solid rgba(255, 183, 51, .82) !important;
  border-bottom: 2px solid rgba(78, 230, 255, .24) !important;
  border-radius: 0 !important;
  background:
    linear-gradient(135deg, rgba(78, 230, 255, .12), transparent 36%),
    linear-gradient(225deg, rgba(255, 183, 51, .12), transparent 42%),
    rgba(9, 14, 27, .72) !important;
  box-shadow: none !important;
}
.hero-card.llm-prompt-card::before,
.hero-card.llm-prompt-card::after,
.llm-prompt-card::before,
.llm-prompt-card::after { content: none !important; }
.llm-prompt-card strong {
  text-shadow: 2px 2px 0 rgba(0, 0, 0, .68) !important;
}
.robot-logo {
  border: 0 !important;
  border-left: 3px solid var(--cyan) !important;
  border-bottom: 3px solid rgba(255,183,51,.82) !important;
  background: rgba(7, 16, 27, .52) !important;
  box-shadow: none !important;
}

.speech-block,
html[data-theme="light"] .speech-block,
html[data-theme="light"] .speech-block.idle,
html[data-theme="light"] .speech-block.ended,
html[data-theme="light"] .speech-block.scheduled,
html[data-theme="light"] .speech-block.talking {
  border: 0 !important;
  border-left: 4px solid rgba(78, 230, 255, .42) !important;
  border-radius: 0 !important;
  background: rgba(12, 22, 35, .42) !important;
  box-shadow: none !important;
  color: #b9c8cb !important;
}
.speech-block.talking,
html[data-theme="light"] .speech-block.talking {
  border-left-color: rgba(71, 245, 138, .82) !important;
  background: rgba(71, 245, 138, .10) !important;
  color: var(--good) !important;
}
.speech-block.disconnected,
html[data-theme="light"] .speech-block.disconnected {
  border-left-color: rgba(255, 143, 143, .82) !important;
  background: rgba(255, 143, 143, .08) !important;
  box-shadow: none !important;
}
.speech-block.ended,
html[data-theme="light"] .speech-block.ended {
  border-left-color: rgba(255, 183, 51, .72) !important;
}
.speech-block.scheduled,
html[data-theme="light"] .speech-block.scheduled {
  border-left-color: rgba(78, 230, 255, .64) !important;
}
.speech-icon,
html[data-theme="light"] .speech-icon,
html[data-theme="light"] .speech-block.talking .speech-icon,
html[data-theme="light"] .speech-block.disconnected .speech-icon {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html[data-theme="light"] .site-header {
  background: rgba(255, 253, 247, .86) !important;
  border-bottom-color: rgba(216, 149, 20, .34) !important;
}
html[data-theme="light"] .brand-mark {
  color: #193762 !important;
  text-shadow: 1px 1px 0 rgba(255, 231, 166, .95) !important;
}

html[data-theme="light"] .top-nav {
  background: rgba(255, 247, 232, .72) !important;
  box-shadow: inset 0 -2px 0 rgba(216, 149, 20, .18) !important;
}
html[data-theme="light"] .top-nav a {
  color: #193762 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  opacity: .82 !important;
}
html[data-theme="light"] .top-nav a + a::before { background: rgba(25, 55, 98, .18); }
html[data-theme="light"] .top-nav a:hover,
html[data-theme="light"] .top-nav a:focus-visible {
  color: #754900 !important;
  background: rgba(216, 149, 20, .10) !important;
  box-shadow: inset 0 -3px 0 #d89514 !important;
  outline: none !important;
}
html[data-theme="light"] .hero-copy {
  border-left-color: rgba(0, 127, 163, .46) !important;
  background:
    linear-gradient(90deg, rgba(0, 127, 163, .055), transparent 58%),
    linear-gradient(180deg, rgba(216, 149, 20, .060), transparent 70%) !important;
}
html[data-theme="light"] .hero-copy h1 { text-shadow: none !important; }
html[data-theme="light"] .llm-prompt-card,
html[data-theme="light"] .hero-card.llm-prompt-card {
  border-left-color: rgba(216, 149, 20, .48) !important;
  border-bottom-color: rgba(0, 127, 163, .12) !important;
  background:
    linear-gradient(135deg, rgba(0, 127, 163, .050), transparent 36%),
    linear-gradient(225deg, rgba(216, 149, 20, .060), transparent 42%),
    rgba(255, 253, 247, .62) !important;
  box-shadow: none !important;
}
html[data-theme="light"] .robot-logo {
  background: rgba(25, 55, 98, .08) !important;
  border-left-color: rgba(0, 127, 163, .52) !important;
  border-bottom-color: rgba(216, 149, 20, .38) !important;
  color: #193762 !important;
}

html[data-theme="light"] .speech-block,
html[data-theme="light"] .speech-block.idle,
html[data-theme="light"] .speech-block.ended,
html[data-theme="light"] .speech-block.scheduled,
html[data-theme="light"] .speech-block.talking {
  background: rgba(25, 55, 98, .045) !important;
  color: #4b5565 !important;
  border-left-color: rgba(0, 127, 163, .32) !important;
}
html[data-theme="light"] .speech-block.talking {
  background: rgba(19, 122, 76, .075) !important;
  color: #137a4c !important;
  border-left-color: rgba(19, 122, 76, .70) !important;
}
html[data-theme="light"] .speech-block.disconnected {
  background: rgba(127, 29, 29, .055) !important;
  border-left-color: rgba(127, 29, 29, .56) !important;
}

@media (max-width: 720px) {
  .top-nav { display: flex !important; overflow-x: auto; max-width: 100%; }
  .top-nav a { white-space: nowrap; }
  
}

/* v8.36: copy button legibility, dark-mode action emphasis, upcoming poster intros. */
.llm-copy-button,
.llm-copy-button *,
html[data-theme="light"] .llm-copy-button,
html[data-theme="light"] .llm-copy-button * {
  text-shadow: none !important;
}

html:not([data-theme="light"]) .link-button,
html:not([data-theme="light"]) .button,
html:not([data-theme="light"]) .llm-copy-button,
html:not([data-theme="light"]) .theme-toggle,
html:not([data-theme="light"]) button:not(.detail-backdrop) {
  background: linear-gradient(180deg, #14243a 0%, #0a1424 100%) !important;
  color: #fff6c9 !important;
  border-color: var(--cyan) !important;
  box-shadow: 4px 4px 0 #000, inset 0 0 0 2px rgba(78, 230, 255, .12), 0 0 0 2px rgba(78, 230, 255, .08) !important;
  text-shadow: none !important;
}
html:not([data-theme="light"]) .link-button.info-link,
html:not([data-theme="light"]) .llm-copy-button,
html:not([data-theme="light"]) .theme-toggle {
  background: linear-gradient(180deg, #ffd36d 0%, #ffb733 100%) !important;
  color: #07101b !important;
  border-color: #fff3c2 !important;
  box-shadow: 4px 4px 0 #000, inset 0 0 0 2px rgba(255, 255, 255, .22), 0 0 0 2px rgba(255, 183, 51, .12) !important;
}
html:not([data-theme="light"]) .link-button:hover,
html:not([data-theme="light"]) .link-button:focus-visible,
html:not([data-theme="light"]) .button:hover,
html:not([data-theme="light"]) .button:focus-visible,
html:not([data-theme="light"]) .llm-copy-button:hover,
html:not([data-theme="light"]) .llm-copy-button:focus-visible,
html:not([data-theme="light"]) .theme-toggle:hover,
html:not([data-theme="light"]) .theme-toggle:focus-visible,
html:not([data-theme="light"]) button:not(.detail-backdrop):hover,
html:not([data-theme="light"]) button:not(.detail-backdrop):focus-visible {
  background: linear-gradient(180deg, #70efff 0%, #4ee6ff 100%) !important;
  color: #06101c !important;
  border-color: #d7fbff !important;
  box-shadow: 6px 6px 0 #000, inset 0 0 0 2px rgba(255, 255, 255, .28), 0 0 0 3px rgba(78, 230, 255, .18) !important;
  outline: 2px solid rgba(255, 211, 109, .85) !important;
  outline-offset: 3px !important;
}

.upcoming-paper-id {
  color: var(--gold);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .08em;
  white-space: nowrap;
}
.upcoming-paper-title {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .78rem;
  font-weight: 800;
}

html[data-theme="light"] .upcoming-paper-id { color: #754900; }

@media (max-width: 640px) {
  .upcoming-paper-title { white-space: normal; }
}

/* v8.37: clearer prompt text, collapsible upcoming poster intros, lights toggle labels. */
.llm-prompt-card strong,
.llm-prompt-card strong *,
html[data-theme="light"] .llm-prompt-card strong,
html[data-theme="light"] .llm-prompt-card strong * {
  text-shadow: none !important;
  filter: none !important;
}
.llm-prompt-card strong {
  color: #fff2b0 !important;
  letter-spacing: .01em;
}
html[data-theme="light"] .llm-prompt-card strong {
  color: #193762 !important;
}
.llm-copy-button,
.llm-copy-button *,
html[data-theme="light"] .llm-copy-button,
html[data-theme="light"] .llm-copy-button * {
  text-shadow: none !important;
  filter: none !important;
}

/* v8.41: remove public-facing explanatory labels and slash-prefixed UI markers. */
.eyebrow::before{
  content: "" !important;
}
.spotlight-card::before {
  content: "" !important;
  display: none !important;
}

body::after {
  content: "◇ ◆ ♪ ♫  ISMIR ABU DHABI LIVE  ◇ ◆ ♪ ♫" !important;
}
@media (max-width: 560px) {
  body::after { content: "ISMIR LIVE" !important; }
}

/* v8.42: cleaner light mode, simplified section labels, stronger readability. */
html[data-theme="light"] body {
  background: #ffffff !important;
  background-image: none !important;
  color: #101522 !important;
}
html[data-theme="light"] body::before,
html[data-theme="light"] body::after {
  display: none !important;
  content: none !important;
}
html[data-theme="light"] .site-header {
  background: rgba(255, 255, 255, .96) !important;
  border-bottom-color: rgba(16, 25, 40, .12) !important;
}
html[data-theme="light"] .top-nav {
  background: transparent !important;
  box-shadow: none !important;
}
html[data-theme="light"] .hero-copy,
html[data-theme="light"] .llm-prompt-card,
html[data-theme="light"] .hero-card.llm-prompt-card {
  background: #ffffff !important;
  background-image: none !important;
}

body { font-size: 17px; }

.summary,
.meta,
.paper-authors,
.stat-help,
.connection,
.headcounts,
.timeline-time{
  font-size: 1rem;
}
.section-heading h2 {
  font-size: clamp(1.8rem, 3vw, 2.55rem) !important;
  color: var(--blue);
  letter-spacing: -.04em;
}
.card-title {
  font-size: 1.32rem;
  color: var(--blue);
}
.timeline-item .card-title { font-size: 1.42rem; }
.stat-label { font-size: .82rem; }
.stat-value { font-size: 1.9rem; }
html[data-theme="light"] {
  --ink: #101522;
  --muted: #2f3a4d;
  --blue: #102a52;
  --line: rgba(16, 25, 40, .28);
}
html[data-theme="light"] .hero-copy h1,
html[data-theme="light"] .section-heading h2,
html[data-theme="light"] .stat-value,
html[data-theme="light"] .card-title,
html[data-theme="light"] .paper-title {
  color: #102a52 !important;
  text-shadow: none !important;
}

html[data-theme="light"] .summary,
html[data-theme="light"] .meta,
html[data-theme="light"] .paper-authors,
html[data-theme="light"] .section-note,
html[data-theme="light"] .stat-help,
html[data-theme="light"] .connection,
html[data-theme="light"] .headcounts,
html[data-theme="light"] .timeline-time {
  color: #2f3a4d !important;
}

/* No automatic LIVE badge text before the heading; use the lamp element in markup. */
:is(#live-events, #lbd-grid) .section-heading h2::before,
:is(#live-events, #lbd-grid) .section-heading h2::after {
  content: none !important;
  display: none !important;
}
:is(#live-events, #lbd-grid) .section-heading h2 {
  display: inline-flex !important;
  align-items: center;
  gap: 12px;
  color: #fff4b8;
}
.live-heading-lamp {
  width: 15px;
  height: 15px;
  border-radius: 999px;
  flex: 0 0 auto;
  background: var(--good);
  box-shadow: 0 0 0 3px rgba(71, 245, 138, .18), 0 0 18px rgba(71, 245, 138, .72);
  animation: liveLampBlink 1.05s steps(2, start) infinite;
}
@keyframes liveLampBlink {
  0%, 48% { opacity: 1; filter: brightness(1.35); }
  49%, 100% { opacity: .42; filter: brightness(.75); }
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .section-heading h2 { color: #102a52 !important; }
html[data-theme="light"] .live-heading-lamp {
  background: #168052;
  box-shadow: 0 0 0 4px rgba(22, 128, 82, .10), 0 0 13px rgba(22, 128, 82, .32);
}

/* Upcoming cards show a concrete date and time range. */
.timeline-status-row .timeline-time {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 12px;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 850 !important;
}

/* Spotlight should not have a visible special label or special treatment if encountered. */
.spotlight-card::before,
html[data-theme="light"] .spotlight-card::before {
  content: none !important;
  display: none !important;
}

/* v8.43: upcoming events as time-left / event-right rows; no secondary copy or action buttons. */

.card-title a {
  color: inherit;
  text-decoration: none;
}

/* v8.45: refined upcoming timeline - cleaner GitHub/pixel quest ledger. */

.upcoming-paper-title { color: #eef7ff; }
.upcoming-paper-id { color: #fac34b; }

html[data-theme="light"] .upcoming-paper-title { color: #102a52 !important; }
html[data-theme="light"] .upcoming-paper-id { color: #8a5400 !important; }

/* v8.48: compact GitHub-Contribution-activity-inspired Upcoming timeline.
   Visual rhythm beats literal duration; overlap geometry is retained. */
#upcoming-events .section-heading h2::before{
  content: none !important;
  display: none !important;
}

/* v8.49: Upcoming returns to the Completed Sessions card language.
   Only the date markers, overlap rows, title links, and poster paper disclosure are new. */
#upcoming-events .section-heading h2::before,
#upcoming-events .section-heading h2::after,
.upcoming-card-title::before,
.upcoming-card-title::after {
  content: none !important;
  display: none !important;
}

.upcoming-completed-timeline {
  max-width: 1120px;
  padding-left: 22px;
}
.upcoming-completed-timeline::before {
  left: 7px;
  top: 5px;
  bottom: 6px;
}
.upcoming-completed-day {
  position: relative;
  margin: 0 0 18px;
}
.upcoming-completed-day:last-child { margin-bottom: 0; }
/* The day heading folds and unfolds its events (app.js renderUpcoming). */
.upcoming-day-toggle { cursor: pointer; user-select: none; }
.upcoming-day-toggle:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
.upcoming-completed-date .upcoming-day-count { margin-left: 4px; color: var(--muted); font-weight: 700; }
.upcoming-completed-date .upcoming-day-action { margin-left: 6px; color: var(--cyan); font-weight: 900; text-decoration: underline; text-underline-offset: 3px; }
.upcoming-completed-day.is-folded { margin-bottom: 10px; }
.upcoming-completed-day.is-folded .upcoming-completed-date { margin-bottom: 0; }

.upcoming-completed-date {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 24px;
  margin: 0 0 9px;
  color: var(--gold);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
  line-height: 1;
  text-transform: uppercase;
}
.upcoming-completed-date::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 5px;
  width: 12px;
  height: 12px;
  background: var(--gold);
  border: 2px solid #07101b;
  box-shadow: 0 0 0 2px var(--cyan), 3px 3px 0 #000;
}
.upcoming-completed-date span {
  display: inline-block;
  padding: 0;
  border: 0;
  background: transparent;
  font-weight: 950;
}

.upcoming-overlap-row {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--upcoming-columns), minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 10px;
  align-items: stretch;
}
.upcoming-overlap-row:last-child { margin-bottom: 0; }
.upcoming-overlap-row::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 18px;
  width: 12px;
  height: 12px;
  background: var(--cyan);
  border: 2px solid #07101b;
  box-shadow: 0 0 0 2px var(--gold), 3px 3px 0 #000;
  z-index: 2;
}

/* The card itself deliberately inherits .timeline-item, i.e. Completed Sessions. */
.upcoming-completed-card {
  min-width: 0;
  height: 100%;
  margin: 0 !important;
  padding: 12px 14px 13px !important;
}
.upcoming-completed-card::before { display: none !important; }
.upcoming-completed-card:hover {
  transform: none !important;
}
.upcoming-poster-card {
  border-color: rgba(255,183,51,.56) !important;
}

.upcoming-card-time-row {
  min-height: 0;
  margin-bottom: 5px !important;
}
.upcoming-card-time {
  display: inline-flex !important;
  flex: 0 1 auto !important;
  gap: 4px !important;
  color: #c49238 !important;
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .69rem !important;
  font-weight: 900 !important;
  letter-spacing: .035em !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.upcoming-card-title-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 8px;
  align-items: baseline;
  min-width: 0;
}
.upcoming-completed-card .upcoming-card-title {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0 !important;
  color: var(--blue);
  font-size: 1.04rem !important;
  line-height: 1.24 !important;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}
.upcoming-card-title a {
  color: inherit;
  text-decoration: none;
}
.upcoming-card-title a::after {
  content: " ↗";
  color: var(--cyan);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .68em;
  text-decoration: none;
  opacity: .8;
}
.upcoming-card-title a:hover,
.upcoming-card-title a:focus-visible {
  color: var(--cyan) !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  outline: none;
}

.upcoming-paper-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  margin: 0;
  padding: 2px 7px 2px 6px;
  border: 1px solid rgba(78,230,255,.58);
  border-radius: 3px;
  background: rgba(78,230,255,.08);
  color: var(--cyan);
  box-shadow: 1px 1px 0 rgba(0,0,0,.58);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .61rem;
  font-weight: 950;
  letter-spacing: .02em;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  vertical-align: baseline;
  transition: background .12s ease, border-color .12s ease, color .12s ease, transform .12s ease;
}
.upcoming-paper-toggle::before {
  content: "+";
  margin-right: 4px;
  color: var(--gold);
  font-size: 1.08em;
}
.upcoming-paper-toggle::after {
  content: "▾";
  margin-left: 5px;
  color: currentColor;
  font-size: .82em;
  opacity: .9;
}
.upcoming-paper-toggle[aria-expanded="true"]::before { content: "−"; }
.upcoming-paper-toggle[aria-expanded="true"]::after { content: "▴"; }
.upcoming-paper-toggle:hover,
.upcoming-paper-toggle:focus-visible {
  border-color: var(--gold);
  background: rgba(78,230,255,.14);
  color: #b8f5ff;
  transform: translateY(-1px);
  outline: none;
}

.upcoming-paper-panel {
  flex: 1 0 100%;
  width: 100%;
  margin-top: 4px;
  padding-top: 9px;
  border-top: 1px solid rgba(255,183,51,.22);
}
.upcoming-paper-panel[hidden] { display: none !important; }
.upcoming-paper-panel ol {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.upcoming-paper-panel li { min-width: 0; }
.upcoming-paper-panel a,
.upcoming-paper-static {
  display: grid;
  grid-template-columns: minmax(58px, auto) minmax(0, 1fr);
  gap: 9px;
  align-items: baseline;
  min-width: 0;
  padding: 5px 6px;
  color: var(--ink);
  text-decoration: none;
}
.upcoming-paper-panel a:hover,
.upcoming-paper-panel a:focus-visible {
  background: rgba(78,230,255,.09);
  color: var(--cyan);
  outline: 1px solid rgba(78,230,255,.46);
}
.upcoming-paper-panel .upcoming-paper-id {
  color: var(--gold);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .67rem;
  font-weight: 900;
  white-space: nowrap;
}
.upcoming-paper-panel .upcoming-paper-title {
  min-width: 0;
  color: inherit;
  font-family: inherit;
  font-size: .76rem;
  font-weight: 650;
  line-height: 1.3;
}

html[data-theme="light"] .upcoming-completed-date { color: #754900; }
html[data-theme="light"] .upcoming-completed-date::before {
  background: #b98227;
  border-color: #fffdf7;
  box-shadow: 0 0 0 2px #007fa3, 3px 3px 0 rgba(18,21,31,.22);
}
html[data-theme="light"] .upcoming-completed-date span {
  border: 0;
  background: transparent;
}
html[data-theme="light"] .upcoming-overlap-row::before {
  background: #007fa3;
  border-color: #fffdf7;
  box-shadow: 0 0 0 2px #b98227, 3px 3px 0 rgba(18,21,31,.20);
}
html[data-theme="light"] .upcoming-card-time { color: #6f4f00 !important; }
html[data-theme="light"] .upcoming-completed-card .upcoming-card-title { color: #102a52 !important; }
html[data-theme="light"] .upcoming-card-title a:hover,
html[data-theme="light"] .upcoming-card-title a:focus-visible { color: #007fa3 !important; }
html[data-theme="light"] .upcoming-paper-toggle {
  border-color: rgba(0,127,163,.58);
  background: rgba(0,127,163,.06);
  color: #006b89;
  box-shadow: 1px 1px 0 rgba(18,21,31,.14);
}
html[data-theme="light"] .upcoming-paper-toggle::before { color: #9a6700; }
html[data-theme="light"] .upcoming-paper-toggle:hover,
html[data-theme="light"] .upcoming-paper-toggle:focus-visible {
  border-color: #9a6700;
  background: rgba(0,127,163,.10);
  color: #005b74;
}
html[data-theme="light"] .upcoming-paper-panel { border-top-color: rgba(117,73,0,.20); }
html[data-theme="light"] .upcoming-paper-panel a,
html[data-theme="light"] .upcoming-paper-static { color: #172033; }
html[data-theme="light"] .upcoming-paper-panel .upcoming-paper-id { color: #754900; }

@media (max-width: 760px) {
  .upcoming-overlap-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .upcoming-completed-card { padding: 11px 12px 12px !important; }
  .upcoming-completed-card .upcoming-card-title { font-size: .94rem !important; }
  
  
  .upcoming-card-title-row { gap: 7px; }
  .upcoming-paper-toggle { font-size: .57rem; padding-inline: 6px; }
  .upcoming-paper-panel a,
  .upcoming-paper-static { grid-template-columns: 54px minmax(0, 1fr); gap: 7px; }
}
.upcoming-paper-count-empty {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 3px 7px;
  color: var(--muted);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .62rem;
  font-weight: 850;
  white-space: nowrap;
}

/* v8.51: simplify hero hierarchy and add compact schedule icons. */
.hero-copy h1 {
  font-size: clamp(1.9rem, 4.2vw, 3.45rem) !important;
}

.upcoming-completed-date {
  gap: 7px;
  font-size: .9rem !important;
  letter-spacing: .045em !important;
  text-transform: none !important;
}
.upcoming-calendar-icon,
.upcoming-clock-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  color: currentColor;
}
.upcoming-calendar-icon {
  width: 15px;
  height: 15px;
}
.upcoming-calendar-icon svg,
.upcoming-clock-icon svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: square;
  stroke-linejoin: miter;
}
.upcoming-card-time {
  align-items: center;
}
.upcoming-clock-icon {
  width: 13px;
  height: 13px;
  margin-right: 2px;
  color: #d2a04a;
}

html[data-theme="light"] .upcoming-clock-icon { color: #805c15; }

@media (max-width: 760px) {
  
  
  
  
  
  
  
  .upcoming-completed-date { font-size: .84rem !important; }
}

/* v8.52: restore four-card At a glance and refine Upcoming expansion/readability. */
.hero-copy h1 {
  font-size: clamp(2.05rem, 4.6vw, 3.75rem) !important;
}

/* Upcoming cards become clean white surfaces with GitHub-like quiet borders. */
.upcoming-completed-card,
html[data-theme="light"] .upcoming-completed-card {
  background: #ffffff !important;
  border: 1px solid #d8dee4 !important;
  box-shadow: 0 1px 2px rgba(31, 35, 40, .07) !important;
}
.upcoming-poster-card,
html[data-theme="light"] .upcoming-poster-card {
  border-color: #d0d7de !important;
}
.upcoming-completed-card .upcoming-card-title,
html[data-theme="light"] .upcoming-completed-card .upcoming-card-title {
  color: #1f2328 !important;
  text-shadow: none !important;
}
.upcoming-card-title a:hover,
.upcoming-card-title a:focus-visible,
html[data-theme="light"] .upcoming-card-title a:hover,
html[data-theme="light"] .upcoming-card-title a:focus-visible {
  color: #0969da !important;
}
.upcoming-card-time,
html[data-theme="light"] .upcoming-card-time {
  color: #57606a !important;
  text-shadow: none !important;
}
.upcoming-clock-icon,
html[data-theme="light"] .upcoming-clock-icon {
  color: #6e7781 !important;
  transform: translateY(1px);
}
.upcoming-paper-panel a,
.upcoming-paper-static,
html[data-theme="light"] .upcoming-paper-panel a,
html[data-theme="light"] .upcoming-paper-static {
  color: #24292f !important;
}
.upcoming-paper-panel .upcoming-paper-title { color: inherit !important; }
.upcoming-paper-panel { border-top-color: #d8dee4 !important; }
.upcoming-paper-toggle {
  box-shadow: none !important;
}

/* When a Poster paper list opens inside an overlap row, let Poster own the row. */
.upcoming-overlap-row.poster-expanded {
  grid-template-columns: minmax(0, 1fr) !important;
}
.upcoming-overlap-row.poster-expanded > .upcoming-completed-card:not(.is-paper-expanded) {
  display: none !important;
}
.upcoming-overlap-row.poster-expanded > .upcoming-completed-card.is-paper-expanded {
  grid-column: 1 / -1;
  width: 100%;
}

@media (max-width: 760px) {
  .hero-copy h1 { font-size: clamp(2rem, 10.5vw, 3rem) !important; }
}

/* v8.53: dark-mode contrast, cleaner history, and hero live-status placement. */
/* History keeps the Completed Sessions structure, without decorative glyphs or secondary copy. */
.timeline-section .card-title::before {
  content: none !important;
}

/* Keep night mode genuinely dark; v8.52's white Upcoming surface is light-mode only. */
html[data-theme="dark"] .upcoming-completed-card {
  background:
    linear-gradient(135deg, rgba(78,230,255,.035), transparent 38%),
    rgba(13, 18, 32, .96) !important;
  border-color: rgba(132, 154, 176, .34) !important;
  box-shadow: 5px 5px 0 rgba(0,0,0,.42) !important;
}
html[data-theme="dark"] .upcoming-poster-card {
  border-color: rgba(255,183,51,.50) !important;
}
html[data-theme="dark"] .upcoming-card-time {
  color: #e1b75f !important;
  text-shadow: none !important;
}
html[data-theme="dark"] .upcoming-clock-icon {
  color: #e1b75f !important;
}
html[data-theme="dark"] .upcoming-paper-panel {
  border-top-color: rgba(255,183,51,.24) !important;
}
html[data-theme="dark"] .upcoming-paper-panel a,
html[data-theme="dark"] .upcoming-paper-static {
  color: #edf5f4 !important;
}
html[data-theme="dark"] .upcoming-paper-panel .upcoming-paper-title {
  color: inherit !important;
}

/* Titles must remain high-contrast when the lights are off. */
html[data-theme="dark"] .hero-copy h1,
html[data-theme="dark"] .section-heading h2,
html[data-theme="dark"] .card-title,
html[data-theme="dark"] .upcoming-completed-card .upcoming-card-title,
html[data-theme="dark"] .paper-title,
html[data-theme="dark"] .history-prompt-card strong,
html[data-theme="dark"] .llm-prompt-card strong {
  color: #fff6c9 !important;
}
html[data-theme="dark"] .upcoming-card-title a:hover,
html[data-theme="dark"] .upcoming-card-title a:focus-visible {
  color: #7aeeff !important;
}

/* On the live overview, anchor status pills just above the piano keyboard. */
.home-hero .hero-copy {
  padding-bottom: 92px !important;
}

@media (max-width: 560px) {
  .home-hero .hero-copy {
    padding-bottom: 96px !important;
  }
  
}

/* v8.54: persistent three-item navigation and matched hero-title depth across themes. */
.home-hero .hero-copy h1 {
  font-size: clamp(2.2rem, 5.1vw, 4.15rem) !important;
}

/* Light mode gets the same pixel-depth treatment as dark mode, tuned for a bright surface. */
html[data-theme="light"] .hero-copy h1 {
  color: #102a52 !important;
  text-shadow:
    3px 3px 0 rgba(216, 149, 20, .26),
    5px 5px 0 rgba(16, 42, 82, .09) !important;
}

/* Keep the nav visually consistent on every page; History remains one of the same three destinations. */
.top-nav a[aria-current="page"] {
  color: var(--gold) !important;
  opacity: 1 !important;
  box-shadow: inset 0 -3px 0 var(--gold) !important;
}
html[data-theme="light"] .top-nav a[aria-current="page"] {
  color: #754900 !important;
  box-shadow: inset 0 -3px 0 #d89514 !important;
}

@media (max-width: 760px) {
  .home-hero .hero-copy h1 {
    font-size: clamp(2.15rem, 11.3vw, 3.25rem) !important;
  }
}

/* v8.55: section icon refresh + Completed Sessions uses the Upcoming card component. */
#dashboard .section-heading h2::before,
#dashboard .section-heading h2::after,
#upcoming-events .section-heading h2::before,
#upcoming-events .section-heading h2::after,
#history-events .section-heading h2::before,
#history-events .section-heading h2::after {
  content: none !important;
  display: none !important;
}
.section-heading h2.section-with-icon {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.section-icon {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 25px;
  height: 25px;
  color: var(--cyan);
  filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, .36));
}
.section-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: square;
  stroke-linejoin: miter;
}
.section-icon-upcoming { color: var(--gold); }
.section-icon-completed { color: #7aeeff; }
.section-icon-glance { color: #ff8fb7; }
html[data-theme="light"] .section-icon {
  filter: drop-shadow(1px 1px 0 rgba(16, 42, 82, .13));
}
html[data-theme="light"] .section-icon-upcoming { color: #b06c00; }
html[data-theme="light"] .section-icon-completed { color: #007f9f; }
html[data-theme="light"] .section-icon-glance { color: #bd3f6b; }

/* Completed cards are the same visual component as Upcoming. */
#history-events-root.timeline {
  max-width: 1120px;
}
.history-completed-card {
  min-width: 0;
  margin-bottom: 12px !important;
  padding: 12px 14px 13px !important;
}
.history-completed-card::before {
  top: 17px !important;
}
.history-completed-card .history-card-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 22px;
  margin-bottom: 5px !important;
}
.history-ended-time {
  color: #e1b75f !important;
  font-size: .69rem !important;
  font-weight: 900 !important;
  letter-spacing: .035em !important;
  white-space: nowrap;
}
.history-peak-badge {
  flex: 0 0 auto;
  margin-left: auto;
  font-size: .61rem !important;
  white-space: nowrap;
}
.history-title-actions-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  min-width: 0;
}
.history-completed-card .history-card-title {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0 !important;
  color: var(--blue);
  font-size: 1.04rem !important;
  line-height: 1.24 !important;
  letter-spacing: -.015em;
  overflow-wrap: anywhere;
}
.history-card-title a {
  color: inherit;
  text-decoration: none;
}
.history-card-title a::after {
  content: " ↗";
  color: var(--cyan);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .68em;
  opacity: .8;
}
.history-card-title a:hover,
.history-card-title a:focus-visible {
  color: var(--cyan) !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  outline: none;
}
.history-event-actions {
  display: inline-flex !important;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px !important;
  margin: 0 0 0 auto !important;
}
.history-event-actions .link-button {
  margin: 0 !important;
  min-height: 24px;
  padding: 4px 7px !important;
  font-size: .58rem !important;
}
.history-paper-toggle {
  flex: 0 0 auto;
}
.history-paper-panel {
  flex-basis: 100%;
}
html[data-theme="dark"] .history-completed-card .history-card-title {
  color: #fff6c9 !important;
}
html[data-theme="dark"] .history-card-title a:hover,
html[data-theme="dark"] .history-card-title a:focus-visible {
  color: #7aeeff !important;
}
html[data-theme="light"] .history-completed-card {
  background: #ffffff !important;
  border: 1px solid #d8dee4 !important;
  box-shadow: 0 1px 2px rgba(31, 35, 40, .07) !important;
}
html[data-theme="light"] .history-completed-card .history-card-title {
  color: #1f2328 !important;
  text-shadow: none !important;
}
html[data-theme="light"] .history-ended-time {
  color: #57606a !important;
  text-shadow: none !important;
}
html[data-theme="light"] .history-card-title a:hover,
html[data-theme="light"] .history-card-title a:focus-visible {
  color: #0969da !important;
}

@media (max-width: 760px) {
  .section-icon { width: 22px; height: 22px; }
  .section-heading h2.section-with-icon { gap: 8px; }
  .history-completed-card { padding: 11px 12px 12px !important; }
  .history-completed-card .history-card-title { font-size: .94rem !important; }
  .history-title-actions-row { align-items: flex-start; }
  .history-event-actions {
    flex-basis: 100%;
    margin-left: 0 !important;
  }
  .history-peak-badge { font-size: .56rem !important; }
}

/* v8.56: quieter hero + live Next Event countdown + softer light dashboard. */
/* The old scale-degree strip above the home hero title is intentionally removed. */
.home-hero .hero-copy::before {
  content: none !important;
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

/* Keep realtime connection status clearly positive in daylight. */
html[data-theme="light"] #dashboard .connection.online {
  color: #168052 !important;
  font-weight: 750;
}

/* Next event: keep weekday + clock on one line, with a live countdown underneath. */
.stat-card[data-stat-card="nextEvent"] .stat-value {
  white-space: nowrap;
  font-size: clamp(1.02rem, 1.75vw, 1.42rem) !important;
  letter-spacing: -.035em;
}
.stat-card[data-stat-card="nextEvent"] .stat-help {
  font-variant-numeric: tabular-nums;
}

/* Daylight At a glance: white cards, hairline borders, and gentler supporting copy. */
html[data-theme="light"] #dashboard .stat-card {
  background: #ffffff !important;
  background-image: none !important;
  border: 1px solid #e1e6eb !important;
  box-shadow: 0 1px 2px rgba(31, 35, 40, .045) !important;
  color: #1f2328 !important;
}
html[data-theme="light"] #dashboard .stat-card:hover {
  border-color: #d8dee4 !important;
  box-shadow: 0 1px 2px rgba(31, 35, 40, .045) !important;
  transform: none !important;
}
html[data-theme="light"] #dashboard .stat-label {
  color: #66707d !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: .72rem !important;
  font-weight: 650 !important;
  letter-spacing: .045em !important;
}
html[data-theme="light"] #dashboard .stat-value {
  color: #1f3b64 !important;
  text-shadow: none !important;
}
html[data-theme="light"] #dashboard .stat-help {
  color: #7a8491 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: .72rem !important;
  font-weight: 430 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
html[data-theme="light"] #dashboard .stat-card[data-stat-card="nextEvent"] .stat-help {
  color: #4f7d67 !important;
  font-weight: 650 !important;
}

@media (max-width: 760px) {
  .stat-card[data-stat-card="nextEvent"] .stat-value {
    font-size: clamp(.9rem, 4vw, 1.08rem) !important;
  }
  html[data-theme="light"] #dashboard .stat-label { font-size: .64rem !important; }
  html[data-theme="light"] #dashboard .stat-help { font-size: .66rem !important; }
}

/* v8.57: four-destination nav + synchronized live/history hero skeleton. */
/* Both hero pages intentionally drop the old scale-degree/color strip. */
.home-hero .hero-copy::before,
.compact-hero .hero-copy::before {
  content: none !important;
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

/* The top line is now plain status copy, not a bordered status pill. */

.compact-hero .eyebrow {
  min-height: 1em;
  margin: 0 0 9px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
}

/* Live and History share the same vertical title/piano frame so page changes do not jump. */
.home-hero .hero-copy,
.compact-hero .hero-copy {
  min-height: 238px;
  padding: 18px 0 58px 18px !important;
  box-sizing: border-box;
}
.home-hero .hero-copy h1,
.compact-hero .hero-copy h1 {
  margin: 0 !important;
}

/* Keep the piano itself anchored to the same baseline on both hero variants. */
.home-hero .hero-copy::after,
.compact-hero .hero-copy::after {
  left: 18px !important;
  right: 18px !important;
  bottom: 14px !important;
}

@media (max-width: 760px) {
  .home-hero .hero-copy,
  .compact-hero .hero-copy {
    min-height: 214px;
    padding: 16px 0 56px 16px !important;
  }
  .home-hero .hero-copy::after,
  .compact-hero .hero-copy::after {
    left: 16px !important;
    right: 16px !important;
  }
}

/* v8.58: stronger live presence, stable cross-page anchors, and simplified live-event cards. */
/* Live-now status: subtle LED + breathing cyan frame + tiny music-tech level meter. */

@keyframes liveLedBlink { 0%, 54% { opacity: 1; } 55%, 100% { opacity: .32; } }
@keyframes liveStatusFramePulse {
  0%, 100% { border-color: rgba(122, 238, 255, .42); box-shadow: 0 0 0 1px rgba(122, 238, 255, .06), 0 0 8px rgba(78, 230, 255, .07); }
  50% { border-color: rgba(122, 238, 255, .82); box-shadow: 0 0 0 1px rgba(122, 238, 255, .12), 0 0 15px rgba(78, 230, 255, .15); }
}
@keyframes liveEqPulse { from { height: 3px; } to { height: 10px; } }

/* At-a-glance labels are live-state labels: use green consistently in both themes. */
#dashboard .stat-label { color: var(--good) !important; }
html[data-theme="light"] #dashboard .stat-label { color: #168052 !important; }

/* Dynamic dashboard content must not leave a cross-page hash one section too high. */
#home, #dashboard, :is(#live-events, #lbd-grid), #upcoming-events { scroll-margin-top: 86px; }

/* Live cards: title is the detail entry point; actions sit alongside it, no programme/meta copy. */

.live-card-title a {
  color: inherit;
  text-decoration: none;
}
.live-card-title a::after {
  content: " ↗";
  color: var(--cyan);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .7em;
  opacity: .82;
}
.live-card-title a:hover,
.live-card-title a:focus-visible {
  color: var(--cyan) !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
  outline: none;
}

/* A real Zoom room gets the same gold/cyan surface language as a Poster Session. */
.event-card.live-zoom-linked-card:not(.poster-session-card) {
  border: 3px solid var(--gold) !important;
  background:
    linear-gradient(135deg, rgba(78, 230, 255, .07), transparent 34%),
    linear-gradient(225deg, rgba(255, 183, 51, .12), transparent 36%),
    #101521 !important;
  box-shadow: 7px 7px 0 #000, 0 0 0 2px rgba(255, 183, 51, .14) !important;
}
html[data-theme="light"] .event-card.live-zoom-linked-card:not(.poster-session-card) {
  border: 3px solid #172033 !important;
  background:
    linear-gradient(135deg, rgba(0, 127, 163, .14), transparent 34%),
    linear-gradient(225deg, rgba(216, 149, 20, .20), transparent 36%),
    #fff7df !important;
  box-shadow: 8px 8px 0 rgba(18, 21, 31, .24), 0 0 0 3px rgba(0, 127, 163, .10) !important;
}
html[data-theme="dark"] .live-card-title { color: #fff6c9 !important; }
html[data-theme="light"] .live-card-title { color: #1f2328 !important; text-shadow: none !important; }
html[data-theme="light"] .live-card-title a:hover,
html[data-theme="light"] .live-card-title a:focus-visible { color: #0969da !important; }

/* v8.59: Live poster sessions expand inline, keep Poster left in overlap rows. */
:is(#live-events, #lbd-grid) .live-layout.is-collapsed .event-list {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px;
}
.live-overlap-row {
  display: grid;
  grid-template-columns: repeat(var(--live-columns, 1), minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
  min-width: 0;
}
.live-overlap-row > .event-card {
  min-width: 0;
  height: 100%;
}
.live-overlap-row.poster-expanded {
  grid-template-columns: minmax(0, 1fr) !important;
}
.live-overlap-row.poster-expanded > .poster-session-card {
  width: 100%;
  grid-column: 1 / -1;
}

/* Poster cards are no longer whole-card buttons: title opens detail page, paper control expands inline. */
:is(#live-events, #lbd-grid) .poster-session-card {
  cursor: default !important;
}
:is(#live-events, #lbd-grid) .poster-session-card .card-title::after{
  content: none !important;
  display: none !important;
}
:is(#live-events, #lbd-grid) .poster-session-card:hover,
:is(#live-events, #lbd-grid) .poster-session-card:focus-visible,
:is(#live-events, #lbd-grid) .poster-session-card.selected {
  transform: none !important;
}

.live-poster-paper-panel {
  width: 100%;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 183, 51, .24);
}
.live-poster-paper-panel .paper-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 10px;
  margin: 0;
}
.live-overlap-row.poster-expanded .live-poster-paper-panel .paper-list {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}
.live-poster-paper-panel.empty-card {
  padding: 12px;
}

html[data-theme="light"] .live-poster-paper-panel {
  border-top-color: rgba(117, 73, 0, .18);
}

@media (max-width: 760px) {
  .live-overlap-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .live-poster-paper-panel .paper-list,
  .live-overlap-row.poster-expanded .live-poster-paper-panel .paper-list {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* v8.61: align live poster-paper cards and move live-event status/actions into the content flow. */
:is(#live-events, #lbd-grid) .live-event-card-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  height: 100%;
}
:is(#live-events, #lbd-grid) .live-card-title {
  margin: 0 !important;
}

:is(#live-events, #lbd-grid) .live-event-actions {
  margin-top: 10px;
}
:is(#live-events, #lbd-grid) .live-event-actions .link-row {
  margin: 0 !important;
  justify-content: flex-start;
  align-items: center;
}

:is(#live-events, #lbd-grid) .poster-session-card .live-event-actions {
  margin-top: 9px;
}

/* Live poster papers: a stable reading grid with equal-height cards per row. */
:is(#live-events, #lbd-grid) .live-poster-paper-panel .paper-list {
  align-items: stretch;
}
:is(#live-events, #lbd-grid) .live-poster-paper-panel .live-paper-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-height: 28px;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row .zoom-live-badge,
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row .zoom-peak-badge,
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row .upcoming-badge {
  flex: 0 0 auto;
  margin: 0;
  align-self: flex-start;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-copy {
  min-width: 0;
  margin-top: 7px;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-title {
  display: -webkit-box;
  min-height: 3.54em;
  max-height: 3.54em;
  margin: 0 !important;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  line-height: 1.18;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-authors-wrap {
  position: relative;
  min-width: 0;
  margin-top: 7px;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-authors {
  min-height: 2.68em;
  max-height: 2.68em;
  margin: 0 !important;
  overflow: hidden;
  line-height: 1.34;
}
:is(#live-events, #lbd-grid) .live-paper-card.authors-expanded .paper-authors {
  max-height: none;
  overflow: visible;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-authors-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  margin-top: 3px;
  padding: 2px 6px;
  border: 1px solid rgba(78, 230, 255, .42);
  border-radius: 3px;
  background: rgba(78, 230, 255, .07);
  color: var(--cyan);
  box-shadow: none;
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .62rem;
  font-weight: 750;
  line-height: 1;
  text-transform: lowercase;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-authors-toggle[hidden] {
  display: none !important;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-authors-toggle:hover,
:is(#live-events, #lbd-grid) .live-paper-card .paper-authors-toggle:focus-visible {
  border-color: var(--gold);
  background: rgba(78, 230, 255, .13);
  outline: none;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-controls {
  display: flex;
  flex-direction: column;
  margin-top: auto;
  padding-top: 9px;
}
:is(#live-events, #lbd-grid) .live-paper-card .presenter-mode-line {
  min-height: 1.35em;
  margin: 0 !important;
}
:is(#live-events, #lbd-grid) .live-paper-card .speech-row {
  margin-top: 7px;
}
:is(#live-events, #lbd-grid) .live-paper-card .link-row {
  margin-top: 8px;
}

html[data-theme="light"] :is(#live-events, #lbd-grid) .live-paper-card .paper-authors-toggle {
  border-color: rgba(0, 127, 163, .32);
  background: rgba(0, 127, 163, .05);
  color: #006b89;
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-paper-card .paper-authors-toggle:hover,
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-paper-card .paper-authors-toggle:focus-visible {
  border-color: #9a6700;
  background: rgba(0, 127, 163, .09);
}

/* v8.62: paper-card typography polish + consistent live-event widths. */
/* Event titles should never inherit the old decorative music-note prefix. */
.card-title::before {
  content: none !important;
  display: none !important;
}

/* The old selected-poster OPEN flag belongs to the retired modal interaction. */
:is(#live-events, #lbd-grid) .poster-session-card.selected::before {
  content: none !important;
  display: none !important;
}

/* A lone live event deliberately occupies one of two desktop columns. */
.live-overlap-row:not(.poster-expanded) {
  justify-content: start;
}
.live-overlap-row.poster-expanded {
  grid-template-columns: minmax(0, 1fr) !important;
}

/* Poster paper cards: stronger title, quieter authors, stable vertical rhythm. */
:is(#live-events, #lbd-grid) .live-poster-paper-panel .live-paper-card {
  min-height: 322px;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row {
  align-items: center;
  min-height: 26px;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-id,
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row .zoom-live-badge,
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row .zoom-peak-badge,
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row .upcoming-badge {
  font-size: .70rem !important;
  line-height: 1.1;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-id {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  letter-spacing: .055em;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row .zoom-live-badge,
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row .zoom-peak-badge,
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-status-row .upcoming-badge {
  align-self: center;
  min-height: 24px;
  padding-top: 4px;
  padding-bottom: 4px;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-copy {
  margin-top: 12px;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-title {
  min-height: 3.60em;
  max-height: 3.60em;
  font-size: 1rem !important;
  font-weight: 850;
  line-height: 1.20;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-authors-wrap {
  margin-top: 8px;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-authors {
  min-height: 2.50em;
  max-height: 2.50em;
  font-size: .64rem !important;
  line-height: 1.25;
}
:is(#live-events, #lbd-grid) .live-paper-card.authors-expanded .paper-authors {
  max-height: none;
}

@media (max-width: 760px) {
  /* Mobile remains single-column even though desktop lone cards are half-width. */
  .live-overlap-row:not(.poster-expanded) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  :is(#live-events, #lbd-grid) .live-poster-paper-panel .live-paper-card {
    min-height: 0;
  }
}

/* v8.63: live-card status hierarchy + tighter paper-card rhythm. */
:is(#live-events, #lbd-grid) .live-event-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
  min-width: 0;
}
:is(#live-events, #lbd-grid) .live-event-header .live-card-title {
  min-width: 0;
  margin: 0 !important;
}
:is(#live-events, #lbd-grid) .live-event-status-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 6px;
  margin: 0;
  align-self: start;
}
:is(#live-events, #lbd-grid) .live-event-status-stack .zoom-live-badge,
:is(#live-events, #lbd-grid) .live-event-status-stack .zoom-peak-badge,
:is(#live-events, #lbd-grid) .live-event-status-stack .upcoming-badge,
:is(#live-events, #lbd-grid) .live-event-status-stack .active-conversation-badge {
  margin: 0 !important;
  align-self: flex-end;
}
:is(#live-events, #lbd-grid) .poster-session-card.is-paper-expanded .live-event-status-stack {
  flex-direction: row;
  align-items: flex-start;
  gap: 7px;
}

:is(#live-events, #lbd-grid) .active-conversation-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 24px;
  padding: 4px 7px;
  border: 2px solid rgba(255, 91, 110, .58);
  border-radius: 0;
  background: #2a1017;
  color: #ff8796;
  box-shadow: 3px 3px 0 #000;
  font-size: .64rem;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
  animation: activeConversationBlink 1.15s steps(2, start) infinite;
}
:is(#live-events, #lbd-grid) .active-conversation-badge strong { color: inherit; }

@keyframes activeConversationBlink {
  0%, 45% { border-color: rgba(255, 91, 110, .76); box-shadow: 3px 3px 0 #000, 0 0 0 0 rgba(255, 91, 110, .20); }
  46%, 100% { border-color: rgba(255, 91, 110, .38); box-shadow: 3px 3px 0 #000, 0 0 0 3px rgba(255, 91, 110, .08); }
}

:is(#live-events, #lbd-grid) .live-event-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
:is(#live-events, #lbd-grid) .live-event-actions > .link-row {
  flex: 0 1 auto;
  min-width: 0;
}
:is(#live-events, #lbd-grid) .live-poster-actions > .link-row {
  flex: 1 1 auto;
}

/* With three title lines and two author lines reserved, this keeps Presented online close without losing row alignment. */
:is(#live-events, #lbd-grid) .live-poster-paper-panel .live-paper-card {
  min-height: 258px;
}
:is(#live-events, #lbd-grid) .live-paper-card .paper-card-controls {
  padding-top: 4px;
}

html[data-theme="light"] :is(#live-events, #lbd-grid) .active-conversation-badge {
  border-color: rgba(207, 34, 46, .42);
  background: #fff2f3;
  color: #b4232f;
  box-shadow: 2px 2px 0 rgba(18, 21, 31, .12);
}

@media (prefers-reduced-motion: reduce) {
  :is(#live-events, #lbd-grid) .active-conversation-badge{ animation: none !important; }
}

@media (max-width: 760px) {
  :is(#live-events, #lbd-grid) .live-event-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
  }
  :is(#live-events, #lbd-grid) .live-event-status-stack,
  :is(#live-events, #lbd-grid) .poster-session-card.is-paper-expanded .live-event-status-stack {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  :is(#live-events, #lbd-grid) .live-event-status-stack .zoom-live-badge,
  :is(#live-events, #lbd-grid) .live-event-status-stack .zoom-peak-badge,
  :is(#live-events, #lbd-grid) .live-event-status-stack .upcoming-badge,
  :is(#live-events, #lbd-grid) .live-event-status-stack .active-conversation-badge {
    align-self: auto;
  }
  :is(#live-events, #lbd-grid) .live-event-actions,
  :is(#live-events, #lbd-grid) .live-poster-actions {
    flex-wrap: wrap;
  }
  
}

/* v8.64: generic paper-session controls + Poster conversation hierarchy. */
:is(#live-events, #lbd-grid) .live-event-title-block {
  min-width: 0;
}
:is(#live-events, #lbd-grid) .live-poster-conversation-line {
  display: flex;
  flex-flow: row nowrap;
  align-items: baseline;
  gap: 6px;
  margin-top: 8px;
  min-height: 24px;
  align-self: stretch;
  min-width: 0;
}
:is(#live-events, #lbd-grid) .live-poster-conversation-line .poster-summary-separator {
  display: inline-flex !important;
}
:is(#live-events, #lbd-grid) .live-poster-conversation-line .active-conversation-badge {
  margin: 0 !important;
  flex: 0 0 auto;
  color: #73efab !important;
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-poster-conversation-line .active-conversation-badge {
  color: #1a7f37 !important;
}
/* The paper disclosure sits immediately after the session action buttons. */
:is(#live-events, #lbd-grid) .live-poster-actions > .link-row,
:is(#live-events, #lbd-grid) .live-session-actions > .link-row {
  flex: 0 1 auto !important;
}
:is(#live-events, #lbd-grid) .live-session-paper-toggle {
  flex: 0 0 auto;
  margin-left: 0 !important;
  white-space: nowrap;
  cursor: pointer;
}
:is(#live-events, #lbd-grid) .live-session-paper-toggle > span {
  display: inline-block;
  min-width: .8em;
  text-align: center;
}
:is(#live-events, #lbd-grid) .live-session-paper-list-panel {
  width: 100%;
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}
:is(#live-events, #lbd-grid) .live-session-paper-list-panel ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 2px;
}
:is(#live-events, #lbd-grid) .live-session-paper-list-panel li {
  margin: 0;
  min-width: 0;
}
:is(#live-events, #lbd-grid) .live-session-paper-list-panel a,
:is(#live-events, #lbd-grid) .live-session-paper-list-panel li > span {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 10px;
  align-items: baseline;
  padding: 6px 4px;
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
}
:is(#live-events, #lbd-grid) .live-session-paper-list-panel a:hover,
:is(#live-events, #lbd-grid) .live-session-paper-list-panel a:focus-visible {
  color: var(--cyan);
  background: rgba(78, 230, 255, .05);
  outline: none;
}
:is(#live-events, #lbd-grid) .live-session-paper-list-panel .upcoming-paper-id {
  color: var(--gold);
  font-family: "Courier New", ui-monospace, monospace;
  font-size: .68rem;
  font-weight: 900;
}
:is(#live-events, #lbd-grid) .live-session-paper-list-panel .upcoming-paper-title {
  color: inherit !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .78rem;
  font-weight: 500;   /* Oral / Tutorial lists: medium titles, the gold IDs carry the weight */
  line-height: 1.35;
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-session-paper-list-panel {
  border-top-color: rgba(27, 31, 36, .12);
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-session-paper-list-panel a,
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-session-paper-list-panel li > span {
  color: #24292f;
  border-bottom-color: rgba(27, 31, 36, .08);
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-session-paper-list-panel a:hover,
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-session-paper-list-panel a:focus-visible {
  color: #0969da;
  background: rgba(9, 105, 218, .04);
}

@media (max-width: 760px) {
  :is(#live-events, #lbd-grid) .live-poster-conversation-line { margin-top: 6px; }
  :is(#live-events, #lbd-grid) .live-session-paper-list-panel a,
  :is(#live-events, #lbd-grid) .live-session-paper-list-panel li > span {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 8px;
  }
}

/* v8.65: quieter conversation text, clear disclosure state, and contained oral paper lists. */
:is(#live-events, #lbd-grid) .active-conversation-badge {
  display: inline-flex !important;
  align-items: baseline !important;
  gap: 4px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #ff8796 !important;
  box-shadow: none !important;
  font-family: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: .68rem !important;
  font-weight: 720 !important;
  line-height: 1.25 !important;
  white-space: nowrap;
  animation: none !important;
}
:is(#live-events, #lbd-grid) .active-conversation-badge strong {
  color: inherit !important;
  font-weight: 820 !important;
}

html[data-theme="light"] :is(#live-events, #lbd-grid) .active-conversation-badge {
  color: #b4232f !important;
}

/* Expanded paper controls should read as an active, reversible state. */
:is(#live-events, #lbd-grid) .live-session-paper-toggle[aria-expanded="true"],
.upcoming-paper-toggle[aria-expanded="true"],
.history-paper-toggle[aria-expanded="true"] {
  border-color: #ff6b8a !important;
  background: #35111e !important;
  color: #ff9bad !important;
  box-shadow: inset 0 0 0 1px rgba(255, 107, 138, .18) !important;
}
:is(#live-events, #lbd-grid) .live-session-paper-toggle[aria-expanded="true"]:hover,
:is(#live-events, #lbd-grid) .live-session-paper-toggle[aria-expanded="true"]:focus-visible,
.upcoming-paper-toggle[aria-expanded="true"]:hover,
.upcoming-paper-toggle[aria-expanded="true"]:focus-visible,
.history-paper-toggle[aria-expanded="true"]:hover,
.history-paper-toggle[aria-expanded="true"]:focus-visible {
  border-color: #ffc2ce !important;
  background: #451625 !important;
  color: #ffd6de !important;
  outline: none !important;
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-session-paper-toggle[aria-expanded="true"],
html[data-theme="light"] .upcoming-paper-toggle[aria-expanded="true"],
html[data-theme="light"] .history-paper-toggle[aria-expanded="true"] {
  border-color: #cf4966 !important;
  background: #fff0f3 !important;
  color: #9f1634 !important;
  box-shadow: inset 0 0 0 1px rgba(207, 73, 102, .08) !important;
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-session-paper-toggle[aria-expanded="true"]:hover,
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-session-paper-toggle[aria-expanded="true"]:focus-visible,
html[data-theme="light"] .upcoming-paper-toggle[aria-expanded="true"]:hover,
html[data-theme="light"] .upcoming-paper-toggle[aria-expanded="true"]:focus-visible,
html[data-theme="light"] .history-paper-toggle[aria-expanded="true"]:hover,
html[data-theme="light"] .history-paper-toggle[aria-expanded="true"]:focus-visible {
  border-color: #a91e40 !important;
  background: #ffe3e9 !important;
  color: #82142f !important;
}

/* Let expanded non-poster sessions grow with their inline paper list instead of overflowing the card. */
:is(#live-events, #lbd-grid) .live-overlap-row > .event-card {
  height: auto !important;
  align-self: stretch;
}
:is(#live-events, #lbd-grid) .event-card.is-paper-expanded > .live-event-card-body {
  flex: 0 0 auto !important;
  min-height: 0 !important;
  height: auto !important;
}
:is(#live-events, #lbd-grid) .event-card.is-paper-expanded .live-session-paper-list-panel {
  position: static !important;
  display: block !important;
  box-sizing: border-box;
  width: 100% !important;
  max-width: 100%;
  flex: 0 0 auto;
  overflow: hidden;
}

:is(#live-events, #lbd-grid) .event-card.is-paper-expanded {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
}

/* v8.66: expanding any paper-bearing Live session (Poster or Oral) owns the row. */
:is(#live-events, #lbd-grid) .live-overlap-row.paper-session-expanded {
  grid-template-columns: minmax(0, 1fr) !important;
}
:is(#live-events, #lbd-grid) .live-overlap-row.paper-session-expanded > .event-card {
  width: 100% !important;
  max-width: none !important;
  grid-column: 1 / -1;
}
@media (max-width: 760px) {
  :is(#live-events, #lbd-grid) .live-overlap-row.paper-session-expanded {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* v8.67: concise live timing under every active event title. */
:is(#live-events, #lbd-grid) .live-ongoing-meta {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: 6px;
  color: rgba(255, 255, 255, .68);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .72rem;
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: .01em;
}
:is(#live-events, #lbd-grid) .live-ongoing-meta strong {
  color: #7ee787;
  font-weight: 700;
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-ongoing-meta { color: #656d76; }
html[data-theme="light"] :is(#live-events, #lbd-grid) .live-ongoing-meta strong { color: #1a7f37; }

/* v8.68: shared conference hero metadata; move live status down above the piano. */
.home-hero .hero-conference-kicker,
.compact-hero .hero-conference-kicker {
  min-height: 1em;
  margin: 0 0 9px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--cyan) !important;
  font-size: .68rem !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase;
}
html[data-theme="light"] .home-hero .hero-conference-kicker,
html[data-theme="light"] .compact-hero .hero-conference-kicker {
  color: #287185 !important;
}

.home-hero .hero-conference-meta,
.compact-hero .hero-conference-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 12px;
  color: rgba(234, 242, 249, .72);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .72rem;
  font-weight: 720;
  line-height: 1.2;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.home-hero .hero-conference-meta span + span::before,
.compact-hero .hero-conference-meta span + span::before {
  content: "·";
  margin-right: 18px;
  color: rgba(122, 238, 255, .5);
}
html[data-theme="light"] .home-hero .hero-conference-meta,
html[data-theme="light"] .compact-hero .hero-conference-meta {
  color: #697482;
}
html[data-theme="light"] .home-hero .hero-conference-meta span + span::before,
html[data-theme="light"] .compact-hero .hero-conference-meta span + span::before {
  color: rgba(40, 113, 133, .42);
}

/* The former top live-status selector must not impose layout now that it is gone. */

@media (max-width: 760px) {
  .home-hero .hero-conference-kicker,
  .compact-hero .hero-conference-kicker {
    font-size: .6rem !important;
    letter-spacing: .09em !important;
    line-height: 1.35 !important;
  }
  .home-hero .hero-conference-meta,
  .compact-hero .hero-conference-meta {
    gap: 5px 10px;
    margin-top: 9px;
    font-size: .64rem;
    letter-spacing: .055em;
  }
  .home-hero .hero-conference-meta span + span::before,
  .compact-hero .hero-conference-meta span + span::before {
    margin-right: 10px;
  }
  
}

/* Keep both hero titles aligned even when the long conference kicker wraps on narrow screens. */
@media (max-width: 760px) {
  .home-hero .hero-conference-kicker,
  .compact-hero .hero-conference-kicker {
    min-height: 2.7em !important;
  }
}

/* v8.69: restore Oral/Poster visual parity, give live cards more breathing room, and energize hero metadata. */
/* Oral is a livestream semantically, but visually it belongs to the same highlighted paper-session family as Poster. */
:is(#live-events, #lbd-grid) .event-card:is([data-event-type="oral"], [data-event-type="tutorial-group"]) {
  border: 3px solid var(--gold) !important;
  background:
    linear-gradient(135deg, rgba(78, 230, 255, .07), transparent 34%),
    linear-gradient(225deg, rgba(255, 183, 51, .12), transparent 36%),
    #101521 !important;
  box-shadow: 7px 7px 0 #000, 0 0 0 2px rgba(255, 183, 51, .14) !important;
}
html[data-theme="light"] :is(#live-events, #lbd-grid) .event-card:is([data-event-type="oral"], [data-event-type="tutorial-group"]) {
  border: 3px solid #172033 !important;
  background:
    linear-gradient(135deg, rgba(0, 127, 163, .14), transparent 34%),
    linear-gradient(225deg, rgba(216, 149, 20, .20), transparent 36%),
    #fff7df !important;
  box-shadow: 8px 8px 0 rgba(18, 21, 31, .24), 0 0 0 3px rgba(0, 127, 163, .10) !important;
}

/* Slightly taller live-event cards: preserve compactness but open the gap between Ongoing and actions. */
:is(#live-events, #lbd-grid) .live-overlap-row > .event-card:not(.is-paper-expanded) {
  min-height: 168px;
}
:is(#live-events, #lbd-grid) .live-event-card-body {
  min-height: 138px;
}
:is(#live-events, #lbd-grid) .live-event-actions {
  margin-top: 18px !important;
}
:is(#live-events, #lbd-grid) .poster-session-card .live-event-actions {
  margin-top: 18px !important;
}
:is(#live-events, #lbd-grid) .event-card.is-paper-expanded > .live-event-card-body {
  min-height: 138px !important;
}

/* Conference metadata: two lively but lightweight tokens, one gold and one cyan. */
.home-hero .hero-conference-meta,
.compact-hero .hero-conference-meta {
  gap: 8px 10px !important;
  margin-top: 14px !important;
  font-size: .70rem !important;
  letter-spacing: .065em !important;
  text-transform: uppercase;
}
.home-hero .hero-conference-meta span,
.compact-hero .hero-conference-meta span {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px 4px 18px;
  border-radius: 3px;
  font-weight: 820;
  line-height: 1;
}
.home-hero .hero-conference-meta span::before,
.compact-hero .hero-conference-meta span::before {
  content: "" !important;
  position: absolute;
  left: 8px;
  width: 5px;
  height: 5px;
  margin: 0 !important;
  transform: rotate(45deg);
}
.home-hero .hero-conference-meta span:first-child,
.compact-hero .hero-conference-meta span:first-child {
  color: #ffd36c;
  background: rgba(255, 183, 51, .08);
}
.home-hero .hero-conference-meta span:first-child::before,
.compact-hero .hero-conference-meta span:first-child::before {
  background: var(--gold);
  box-shadow: 0 0 8px rgba(255, 183, 51, .22);
}
.home-hero .hero-conference-meta span:last-child,
.compact-hero .hero-conference-meta span:last-child {
  color: #a6f4ff;
  background: rgba(78, 230, 255, .07);
}
.home-hero .hero-conference-meta span:last-child::before,
.compact-hero .hero-conference-meta span:last-child::before {
  background: var(--cyan);
  box-shadow: 0 0 8px rgba(78, 230, 255, .20);
}
html[data-theme="light"] .home-hero .hero-conference-meta span:first-child,
html[data-theme="light"] .compact-hero .hero-conference-meta span:first-child {
  color: #815600;
  background: rgba(216, 149, 20, .09);
}
html[data-theme="light"] .home-hero .hero-conference-meta span:last-child,
html[data-theme="light"] .compact-hero .hero-conference-meta span:last-child {
  color: #12607a;
  background: rgba(0, 127, 163, .07);
}

/* Restore only the first archive sentence that was intentionally kept. */
.compact-hero .hero-archive-note {
  margin: 9px 0 0 !important;
  color: rgba(234, 242, 249, .58);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: .70rem;
  font-weight: 520;
  line-height: 1.35;
}
html[data-theme="light"] .compact-hero .hero-archive-note {
  color: #737d89;
}

@media (max-width: 760px) {
  :is(#live-events, #lbd-grid) .live-overlap-row > .event-card:not(.is-paper-expanded) { min-height: 158px; }
  :is(#live-events, #lbd-grid) .live-event-card-body { min-height: 128px; }
  .home-hero .hero-conference-meta,
  .compact-hero .hero-conference-meta {
    gap: 6px !important;
    font-size: .60rem !important;
  }
  .home-hero .hero-conference-meta span,
  .compact-hero .hero-conference-meta span {
    min-height: 22px;
    padding: 4px 7px 4px 16px;
  }
  .home-hero .hero-conference-meta span::before,
  .compact-hero .hero-conference-meta span::before { left: 7px; width: 4px; height: 4px; }
  
  .compact-hero .hero-archive-note { font-size: .64rem; }
}

/* Oral's resting dark surface should match the Poster card exactly, not the older Zoom-gradient variant. */
html:not([data-theme="light"]) :is(#live-events, #lbd-grid) .event-card:is([data-event-type="oral"], [data-event-type="tutorial-group"]) {
  border-width: 3px !important;
  border-color: var(--gold) !important;
  background: rgba(13, 18, 32, .94) !important;
  box-shadow: 7px 7px 0 #000, 0 0 0 2px rgba(255, 183, 51, .14) !important;
}

/* v8.70: calmer centered hero stage, cleaner conference metadata, and archive copy. */
.home-hero .hero-copy,
.compact-hero .hero-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
  padding-top: 30px !important;
}
.home-hero .hero-copy h1,
.compact-hero .hero-copy h1 {
  width: 100%;
  max-width: none !important;
  text-align: center;
  margin-top: 3px !important;
}

/* Conference metadata should feel alive through typography only: no chips, icons, or fills. */
.home-hero .hero-conference-meta,
.compact-hero .hero-conference-meta {
  justify-content: center;
  width: 100%;
  gap: 7px 16px !important;
  margin-top: 17px !important;
  text-align: center;
}
.home-hero .hero-conference-meta span,
.compact-hero .hero-conference-meta span {
  display: inline !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: .76rem !important;
  font-weight: 830 !important;
  line-height: 1.2 !important;
  letter-spacing: .085em !important;
}
.home-hero .hero-conference-meta span::before,
.compact-hero .hero-conference-meta span::before {
  content: none !important;
  display: none !important;
}
.home-hero .hero-conference-meta span:first-child,
.compact-hero .hero-conference-meta span:first-child {
  color: #ffd36c !important;
}
.home-hero .hero-conference-meta span:last-child,
.compact-hero .hero-conference-meta span:last-child {
  color: #9feef8 !important;
}
html[data-theme="light"] .home-hero .hero-conference-meta span:first-child,
html[data-theme="light"] .compact-hero .hero-conference-meta span:first-child {
  color: #8a5a00 !important;
}
html[data-theme="light"] .home-hero .hero-conference-meta span:last-child,
html[data-theme="light"] .compact-hero .hero-conference-meta span:last-child {
  color: #176b80 !important;
}

/* Match archive helper copy to the LLM card body type, only slightly larger for readability. */
.compact-hero .hero-archive-note {
  max-width: 620px;
  margin: 14px auto 0 !important;
  color: #c7d8d6 !important;
  font-family: inherit !important;
  font-size: .82rem !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: center;
}
html[data-theme="light"] .compact-hero .hero-archive-note {
  color: #4b5565 !important;
}

/* Preserve room for the piano while moving the centered title group lower. */
.home-hero .hero-copy,
.compact-hero .hero-copy {
  min-height: 252px !important;
  padding-bottom: 61px !important;
}

@media (max-width: 760px) {
  .home-hero .hero-copy,
  .compact-hero .hero-copy {
    min-height: 238px !important;
    padding-top: 24px !important;
    padding-bottom: 59px !important;
  }
  .home-hero .hero-conference-meta,
  .compact-hero .hero-conference-meta {
    gap: 5px 10px !important;
    margin-top: 13px !important;
  }
  .home-hero .hero-conference-meta span,
  .compact-hero .hero-conference-meta span {
    font-size: .64rem !important;
    letter-spacing: .06em !important;
  }
  
  .compact-hero .hero-archive-note {
    margin-top: 11px !important;
    font-size: .72rem !important;
  }
}

/* v8.71: return live-event cards to content-driven height and lift dark live surfaces. */
/* Undo the v8.69 fixed-height breathing-room experiment: live cards should size to their content. */
:is(#live-events, #lbd-grid) .live-overlap-row > .event-card:not(.is-paper-expanded),
:is(#live-events, #lbd-grid) .event-card.is-paper-expanded,
:is(#live-events, #lbd-grid) .event-card.is-paper-expanded > .live-event-card-body {
  min-height: 0 !important;
}
:is(#live-events, #lbd-grid) .live-event-card-body {
  min-height: 0 !important;
}
:is(#live-events, #lbd-grid) .live-event-actions,
:is(#live-events, #lbd-grid) .poster-session-card .live-event-actions {
  margin-top: 10px !important;
}

/* Dark mode: live cards sit on a slightly lifted navy surface so "now" feels more present. */
html:not([data-theme="light"]) :is(#live-events, #lbd-grid) .live-overlap-row > .event-card:not(.poster-session-card):not(:is([data-event-type="oral"], [data-event-type="tutorial-group"])):not(.live-zoom-linked-card) {
  background:
    linear-gradient(145deg, rgba(78, 230, 255, .055), transparent 42%),
    linear-gradient(315deg, rgba(122, 143, 255, .035), transparent 46%),
    #172033 !important;
  border-color: #34435d !important;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, .62), 0 0 0 1px rgba(78, 230, 255, .045) !important;
}

/* Highlighted live sessions keep the gold/cyan identity, with a less-black resting surface. */
html:not([data-theme="light"]) :is(#live-events, #lbd-grid) .poster-session-card,
html:not([data-theme="light"]) :is(#live-events, #lbd-grid) .event-card:is([data-event-type="oral"], [data-event-type="tutorial-group"]),
html:not([data-theme="light"]) :is(#live-events, #lbd-grid) .event-card.live-zoom-linked-card {
  background:
    linear-gradient(135deg, rgba(78, 230, 255, .085), transparent 38%),
    linear-gradient(225deg, rgba(255, 183, 51, .105), transparent 40%),
    #182134 !important;
  border-color: var(--gold) !important;
  box-shadow: 6px 6px 0 rgba(0, 0, 0, .66), 0 0 0 2px rgba(255, 183, 51, .11) !important;
}

/* Keep live-card typography crisp on the lifted surface. */
html:not([data-theme="light"]) :is(#live-events, #lbd-grid) .live-card-title,
html:not([data-theme="light"]) :is(#live-events, #lbd-grid) .live-card-title a {
  color: #fff6cf !important;
}
html:not([data-theme="light"]) :is(#live-events, #lbd-grid) .live-ongoing-meta {
  color: #aebdca !important;
}
html:not([data-theme="light"]) :is(#live-events, #lbd-grid) .live-ongoing-meta strong {
  color: #73efab !important;
}

@media (max-width: 760px) {
  :is(#live-events, #lbd-grid) .live-overlap-row > .event-card:not(.is-paper-expanded),
  :is(#live-events, #lbd-grid) .live-event-card-body {
    min-height: 0 !important;
  }
}

/* v8.81: visible observer sync state on live poster paper cards. */
.speech-block.connected,
html[data-theme="light"] .speech-block.connected {
  border-left-color: rgba(71, 245, 138, .72) !important;
  background: rgba(71, 245, 138, .07) !important;
}
.speech-block.connected [data-speaker-headline] { color: #8af3b3 !important; }
html[data-theme="light"] .speech-block.connected [data-speaker-headline] { color: #177a4f !important; }

/* v8.84 hidden piano / Canon easter egg. No idle-state instructions are exposed. */
.home-hero .hero-copy::after { z-index: 1; }
.canon-egg-piano-overlay {
  position: absolute;
  z-index: 2;
  left: 21px;
  right: 21px;
  bottom: 17px;
  height: 24px;
  overflow: hidden;
  pointer-events: none;
}
.canon-egg-piano-key {
  position: absolute;
  top: 0;
  display: block;
  opacity: 0;
  transform: translateY(0);
  transition: opacity 45ms linear, transform 45ms ease-out, filter 45ms linear;
}
.canon-egg-piano-key.white {
  background: linear-gradient(180deg, rgba(78,230,255,.18), rgba(255,183,51,.54));
  box-shadow: inset 0 -3px 0 rgba(0,0,0,.38);
}
.canon-egg-piano-key.black {
  z-index: 2;
  background: linear-gradient(180deg, rgba(255,211,109,.94), rgba(255,91,214,.62));
  box-shadow: 0 2px 0 rgba(0,0,0,.82), 0 0 8px rgba(255,211,109,.32);
}
.canon-egg-piano-key.is-pressed {
  opacity: 1;
  transform: translateY(2px);
  filter: brightness(1.18);
}
.llm-prompt-card .binary-puzzle .bit-group.canon-egg-lit {
  filter: brightness(1.52) saturate(1.35) drop-shadow(0 0 5px rgba(78,230,255,.48));
}
.llm-prompt-card .binary-puzzle .bit-group.canon-egg-lit i {
  animation: none !important;
  transform: translateY(-1px);
}
.llm-prompt-card .binary-puzzle .bit-group.canon-egg-lit .b1 {
  background: #fff0a8;
  box-shadow: 2px 2px 0 #000, 0 0 12px rgba(255,211,109,.90);
}
.llm-prompt-card .binary-puzzle .bit-group.canon-egg-lit .b0 {
  background: rgba(78,230,255,.62);
  box-shadow: 2px 2px 0 #000, 0 0 8px rgba(78,230,255,.52);
}
.canon-egg-funfact-backdrop {
  position: fixed;
  z-index: 10000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(2,6,14,.72);
  opacity: 0;
  transition: opacity 120ms ease-out;
}
.canon-egg-funfact-backdrop.is-visible { opacity: 1; }
.canon-egg-funfact-dialog {
  width: min(560px, 100%);
  border: 3px solid var(--cyan);
  border-left-color: var(--gold);
  background: linear-gradient(135deg, rgba(78,230,255,.10), transparent 42%), linear-gradient(225deg, rgba(255,183,51,.10), transparent 46%), #0b1220;
  color: var(--ink);
  padding: 24px;
  box-shadow: 8px 8px 0 #000, 0 0 0 2px rgba(255,211,109,.12);
  transform: translateY(8px) scale(.985);
  transition: transform 120ms ease-out;
}
.canon-egg-funfact-backdrop.is-visible .canon-egg-funfact-dialog { transform: translateY(0) scale(1); }
.canon-egg-funfact-kicker {
  display: block;
  margin-bottom: 8px;
  color: var(--gold);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.canon-egg-funfact-dialog h3 {
  margin: 0;
  color: #fff7c7;
  font-family: "Courier New", ui-monospace, monospace;
  font-size: clamp(1.05rem, 3vw, 1.45rem);
  line-height: 1.2;
  text-shadow: 2px 2px 0 #000;
}
.canon-egg-funfact-copy { margin: 14px 0 20px; color: #d9e8e8; font-size: .92rem; line-height: 1.55; }
.canon-egg-funfact-close { min-width: 92px; }
/* v8.85: stronger green Canon progress in light mode only. */
html[data-theme="light"] .llm-prompt-card .binary-puzzle .bit-group.canon-egg-lit {
  opacity: 1;
  filter: brightness(1.06) saturate(1.32) drop-shadow(0 0 5px rgba(18,145,79,.30));
}
html[data-theme="light"] .llm-prompt-card .binary-puzzle .bit-group.canon-egg-lit .b1 {
  background: #1f9d55 !important;
  box-shadow: 0 0 0 2px rgba(12,94,51,.16), 0 0 10px rgba(31,157,85,.58) !important;
  opacity: 1 !important;
}
html[data-theme="light"] .llm-prompt-card .binary-puzzle .bit-group.canon-egg-lit .b0 {
  background: #a7e8bd !important;
  box-shadow: 0 0 0 1px rgba(31,157,85,.28), 0 0 7px rgba(31,157,85,.28) !important;
  opacity: 1 !important;
}
html[data-theme="light"] .canon-egg-piano-key.white { background: linear-gradient(180deg, rgba(0,127,163,.16), rgba(216,149,20,.34)); }
html[data-theme="light"] .canon-egg-piano-key.black { background: linear-gradient(180deg, rgba(216,149,20,.88), rgba(0,127,163,.52)); }
html[data-theme="light"] .canon-egg-funfact-backdrop { background: rgba(24,28,36,.54); }
html[data-theme="light"] .canon-egg-funfact-dialog {
  border-color: #007fa3;
  border-left-color: #d89514;
  background: linear-gradient(135deg, rgba(0,127,163,.08), transparent 42%), linear-gradient(225deg, rgba(216,149,20,.10), transparent 46%), #fffdf7;
  color: #20252d;
  box-shadow: 8px 8px 0 rgba(18,21,31,.26), 0 0 0 2px rgba(0,127,163,.08);
}
html[data-theme="light"] .canon-egg-funfact-dialog h3 { color: #172033; text-shadow: none; }
html[data-theme="light"] .canon-egg-funfact-copy { color: #45515f; }
@media (max-width: 760px) { .canon-egg-piano-overlay { left: 19px; right: 19px; } }
@media (prefers-reduced-motion: reduce) {
  .canon-egg-piano-key, .canon-egg-funfact-backdrop, .canon-egg-funfact-dialog { transition: none !important; }
}

/* v8.89: lock hero/piano geometry and keep copy feedback out of layout flow. */
@media (min-width: 761px) {
  .home-hero .hero-copy,
  .compact-hero .hero-copy,
  .home-hero .llm-prompt-card,
  .compact-hero .llm-prompt-card {
    height: 238px !important;
    min-height: 238px !important;
    max-height: 238px !important;
    box-sizing: border-box;
  }

  .home-hero .hero-copy,
  .compact-hero .hero-copy {
    padding-bottom: 58px !important;
  }
}

.llm-prompt-card,
.hero-card.llm-prompt-card {
  grid-template-columns: 54px minmax(0, 1fr) !important;
  grid-template-rows: auto auto minmax(0, 1fr) auto auto !important;
  column-gap: 12px !important;
  row-gap: 5px !important;
  align-content: stretch !important;
  padding: 14px 16px 12px !important;
}

.llm-prompt-card .robot-logo {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  align-self: start !important;
}
.llm-prompt-card .mini-label {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.llm-prompt-card > strong {
  grid-column: 2 !important;
  grid-row: 2 !important;
}
.llm-prompt-card > p {
  grid-column: 2 !important;
  grid-row: 3 !important;
  align-self: start !important;
}
.llm-prompt-card .prompt-action-row {
  grid-column: 2 !important;
  grid-row: 4 !important;
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 24px;
  margin-top: 0;
}
.llm-prompt-card .prompt-action-row .copy-status {
  flex: 0 0 54px;
  min-width: 54px;
  min-height: 1em;
  text-align: right;
  line-height: 1;
  white-space: nowrap;
}
.llm-prompt-card .prompt-action-row .llm-copy-button {
  flex: 0 0 auto;
  align-self: center !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 3px 7px !important;
  font-size: .62rem !important;
  line-height: 1 !important;
  letter-spacing: .035em !important;
  box-shadow: 3px 3px 0 #000 !important;
}
html[data-theme="light"] .llm-prompt-card .prompt-action-row .llm-copy-button {
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .22) !important;
}
.llm-prompt-card .binary-puzzle-card {
  grid-column: 2 !important;
  grid-row: 5 !important;
  margin-top: 0 !important;
  align-self: end !important;
}

@media (max-width: 760px) {
  .llm-prompt-card,
  .hero-card.llm-prompt-card {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 13px 14px 11px !important;
  }
  .llm-prompt-card .prompt-action-row .copy-status {
    flex-basis: 48px;
    min-width: 48px;
  }
}

/* v8.90b: Copy prompt sizing based on v8.88, while preserving v8.89 fixed hero geometry. */
.llm-prompt-card .prompt-action-row {
  min-height: 34px !important;
  padding-block: 4px !important;
}
.llm-prompt-card .prompt-action-row .llm-copy-button {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 6px 9px !important; /* v8.88 7x10 -> ~0.8 vertical, ~0.9 horizontal */
  font-size: .7rem !important;
  line-height: 1.05 !important;
  letter-spacing: .04em !important;
  justify-self: center !important;
  align-self: center !important;
  box-shadow: 3px 3px 0 #000 !important;
}
html[data-theme="light"] .llm-prompt-card .prompt-action-row .llm-copy-button {
  box-shadow: 3px 3px 0 rgba(18, 21, 31, .22) !important;
}

/* v8.90c: 245px fixed desktop hero; copy action aligns with the text column. */
@media (min-width: 761px) {
  .home-hero .hero-copy,
  .compact-hero .hero-copy,
  .home-hero .llm-prompt-card,
  .compact-hero .llm-prompt-card {
    height: 260px !important;
    min-height: 260px !important;
    max-height: 260px !important;
  }
}

.llm-prompt-card .prompt-action-row {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  align-items: center !important;
  justify-content: stretch !important;
}
.llm-prompt-card .prompt-action-row .copy-status {
  grid-column: 1 !important;
  width: 54px !important;
  min-width: 54px !important;
  text-align: right !important;
  justify-self: end !important;
}
.llm-prompt-card .prompt-action-row .llm-copy-button {
  grid-column: 2 !important;
  justify-self: start !important;
  align-self: center !important;
}

@media (max-width: 760px) {
  .llm-prompt-card .prompt-action-row {
    grid-template-columns: 48px minmax(0, 1fr) !important;
  }
  .llm-prompt-card .prompt-action-row .copy-status {
    width: 48px !important;
    min-width: 48px !important;
  }
}

/* v8.90e: vertically center Copy prompt between prompt text and binary code. */
.llm-prompt-card,
.hero-card.llm-prompt-card {
  grid-template-rows: auto auto auto minmax(0, 1fr) auto !important;
}
.llm-prompt-card > p {
  grid-row: 3 !important;
}
.llm-prompt-card .prompt-action-row {
  grid-row: 4 !important;
  align-self: center !important;
}
.llm-prompt-card .binary-puzzle-card {
  grid-row: 5 !important;
}

/* v8.91: local attendee time-zone control replaces the visible Live-now badge.
   The old .hero-live-* styles intentionally remain above for possible reuse. */
.home-hero .hero-timezone-control {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 4px 9px;
  max-width: min(96%, 620px);
  margin: 14px auto 0;
  padding: 7px 11px;
  border: 1px solid rgba(122, 238, 255, .38);
  border-radius: 4px;
  background: rgba(7, 20, 31, .28);
  color: var(--ink);
  box-shadow: none;
  font: inherit;
  cursor: pointer;
}
.home-hero .hero-timezone-control:hover,
.home-hero .hero-timezone-control:focus-visible {
  border-color: rgba(122, 238, 255, .74);
  background: rgba(78, 230, 255, .08);
  outline: none;
}
.hero-timezone-kicker {
  color: var(--gold);
  font-size: .62rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .13em;
  text-transform: uppercase;
}

html[data-theme="light"] .home-hero .hero-timezone-control {
  border-color: rgba(0, 127, 163, .26);
  background: rgba(255, 255, 255, .70);
}
html[data-theme="light"] .home-hero .hero-timezone-control:hover,
html[data-theme="light"] .home-hero .hero-timezone-control:focus-visible {
  border-color: rgba(0, 127, 163, .58);
  background: rgba(0, 127, 163, .055);
}
html[data-theme="light"] .hero-timezone-kicker { color: #8a5a00; }

/* Mouse/touch chord roots: D, A, B, F# and G trigger the same chords as D/A/B/F/G keys. */
.canon-egg-piano-key.is-root-trigger {
  pointer-events: auto;
  cursor: pointer;
  touch-action: none;
}
.canon-egg-piano-key.is-root-trigger:hover {
  opacity: .22;
  filter: brightness(1.14);
}
.canon-egg-piano-key.is-root-trigger.is-pressed {
  opacity: 1;
}

@media (max-width: 760px) {
  .home-hero .hero-timezone-control {
    margin-top: 11px;
    padding: 6px 8px;
    gap: 3px 7px;
  }
  .hero-timezone-kicker { font-size: .56rem; }
  
  
  
  
  
  
}

/* v8.92: compact IANA + UTC time-zone display and shared debug selector. */
.home-hero .hero-timezone-control {
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  white-space: nowrap;
}

.debug-timezone-control {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid rgba(122, 238, 255, .38);
  border-radius: 3px;
  background: rgba(7, 20, 31, .35);
  color: #f1fbff;
  font: inherit;
  font-size: .76rem;
  font-weight: 780;
  cursor: pointer;
}
.debug-timezone-control [data-timezone-offset] {
  color: rgba(166, 244, 255, .82);
  font-size: .68rem;
  font-weight: 700;
}
.debug-timezone-control:hover,
.debug-timezone-control:focus-visible {
  border-color: rgba(122, 238, 255, .74);
  background: rgba(78, 230, 255, .08);
  outline: none;
}
html[data-theme="light"] .debug-timezone-control {
  border-color: rgba(24, 54, 95, .28);
  background: rgba(255, 252, 239, .94);
  color: #18365f;
}
html[data-theme="light"] .debug-timezone-control [data-timezone-offset] { color: #176b80; }

@media (max-width: 760px) {
  .home-hero .hero-timezone-control {
    gap: 6px !important;
    max-width: 100%;
  }
  
  
  
  .debug-timezone-control { width: 100%; justify-content: center; }
}

/* v8.93: reliable searchable time-zone comboboxes and prominent current-time-zone control. */
.home-hero .hero-timezone-control {
  border-width: 2px !important;
  border-color: rgba(122, 238, 255, .72) !important;
  background: rgba(21, 54, 72, .62) !important;
  box-shadow: 0 0 0 2px rgba(78, 230, 255, .08), 3px 3px 0 rgba(0, 0, 0, .16) !important;
  padding: 8px 12px !important;
}
.home-hero .hero-timezone-control:hover,
.home-hero .hero-timezone-control:focus-visible {
  border-color: #7aeeff !important;
  background: rgba(34, 86, 105, .72) !important;
  box-shadow: 0 0 0 3px rgba(78, 230, 255, .14), 3px 3px 0 rgba(0, 0, 0, .18) !important;
}
html[data-theme="light"] .home-hero .hero-timezone-control {
  border-color: rgba(0, 127, 163, .72) !important;
  background: rgba(232, 249, 252, .98) !important;
  box-shadow: 0 0 0 2px rgba(0, 127, 163, .08), 3px 3px 0 rgba(24, 54, 95, .12) !important;
}
html[data-theme="light"] .home-hero .hero-timezone-control:hover,
html[data-theme="light"] .home-hero .hero-timezone-control:focus-visible {
  border-color: #007fa3 !important;
  background: #e2f7fb !important;
}

.live-event-timezone,
.upcoming-event-timezone {
  white-space: nowrap;
  font-weight: 780;
  opacity: .82;
}
.upcoming-event-timezone { margin-left: 4px; }

/* v8.94: one quiet, searchable time-zone list; inline hero selector. */
.home-hero .hero-timezone-control {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 9px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 12px auto 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}
.home-hero .hero-timezone-control:hover,
.home-hero .hero-timezone-control:focus-visible,
html[data-theme="light"] .home-hero .hero-timezone-control,
html[data-theme="light"] .home-hero .hero-timezone-control:hover,
html[data-theme="light"] .home-hero .hero-timezone-control:focus-visible {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.hero-timezone-kicker {
  color: rgba(226, 239, 245, .78) !important;
  font: 760 .78rem/1.25 Inter, ui-sans-serif, system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  white-space: nowrap;
}
html[data-theme="light"] .hero-timezone-kicker {
  color: #53606e !important;
}
.timezone-inline-value {
  appearance: none;
  padding: 0 0 2px;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: #7aeeff;
  font: 760 .78rem/1.25 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0;
  text-align: left;
  cursor: pointer;
  transition: color 120ms ease, border-color 120ms ease, opacity 120ms ease;
}
.timezone-inline-value:hover,
.timezone-inline-value:focus-visible {
  color: #fff;
  border-bottom-color: #fff;
  outline: none;
}
html[data-theme="light"] .timezone-inline-value {
  color: #087e61;
}
html[data-theme="light"] .timezone-inline-value:hover,
html[data-theme="light"] .timezone-inline-value:focus-visible {
  color: #005d46;
  border-bottom-color: #005d46;
}

.debug-timezone-control {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: fit-content !important;
  max-width: 100%;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.timezone-dropdown {
  position: fixed;
  z-index: 10020;
  max-height: min(390px, 58vh);
  overflow: hidden;
  padding: 7px;
  border: 1px solid rgba(122, 238, 255, .24);
  border-radius: 8px;
  background: rgba(16, 26, 42, .985);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .28);
  opacity: 0;
  transform: translateY(-3px);
  transition: opacity 100ms ease, transform 100ms ease;
}
.timezone-dropdown[hidden] { display: none !important; }
.timezone-dropdown.is-open { opacity: 1; transform: translateY(0); }
.timezone-dropdown-search-row {
  padding: 2px 3px 7px;
  border-bottom: 1px solid rgba(122, 238, 255, .14);
}
.timezone-dropdown-search {
  width: 100%;
  padding: 7px 8px;
  border: 0;
  border-radius: 5px;
  outline: none;
  background: rgba(255, 255, 255, .055);
  color: #f2fbff;
  font: 500 .78rem/1.3 Inter, ui-sans-serif, system-ui, sans-serif;
}
.timezone-dropdown-search::placeholder { color: rgba(226, 239, 245, .48); }
.timezone-dropdown-search:focus { background: rgba(255, 255, 255, .085); }
.timezone-dropdown-options {
  max-height: min(330px, 48vh);
  overflow-y: auto;
  padding: 5px 1px 1px;
  scrollbar-width: thin;
}
.timezone-dropdown-option {
  display: block;
  width: 100%;
  padding: 7px 9px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: rgba(240, 249, 252, .9);
  text-align: left;
  font: 500 .76rem/1.28 Inter, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  cursor: pointer;
}
.timezone-dropdown-option:hover,
.timezone-dropdown-option.is-highlighted {
  background: rgba(78, 230, 255, .10);
  color: #fff;
}
.timezone-dropdown-empty {
  padding: 10px 9px;
  color: rgba(226, 239, 245, .55);
  font-size: .75rem;
}
html[data-theme="light"] .timezone-dropdown {
  border-color: rgba(26, 75, 86, .16);
  background: rgba(255, 255, 255, .995);
  box-shadow: 0 12px 28px rgba(31, 42, 55, .14);
}
html[data-theme="light"] .timezone-dropdown-search-row { border-bottom-color: rgba(26, 75, 86, .10); }
html[data-theme="light"] .timezone-dropdown-search {
  background: #f4f7f8;
  color: #172033;
}
html[data-theme="light"] .timezone-dropdown-search::placeholder { color: #8a949f; }
html[data-theme="light"] .timezone-dropdown-search:focus { background: #eef4f4; }
html[data-theme="light"] .timezone-dropdown-option { color: #26323d; }
html[data-theme="light"] .timezone-dropdown-option:hover,
html[data-theme="light"] .timezone-dropdown-option.is-highlighted {
  background: #edf7f3;
  color: #005d46;
}
html[data-theme="light"] .timezone-dropdown-empty { color: #687380; }

.live-event-timezone { margin-left: 4px; }

@media (max-width: 760px) {
  .home-hero .hero-timezone-control {
    flex-wrap: wrap !important;
    gap: 5px 7px !important;
    margin-top: 9px !important;
  }
  .hero-timezone-kicker,
  .timezone-inline-value { font-size: .72rem !important; }
  .timezone-dropdown { max-width: calc(100vw - 24px); }
  .debug-timezone-control { width: 100% !important; justify-content: center !important; }
}

/* v8.95: time-zone selector follows the conference-meta / poster-title typography.
   Explicitly reset the site's global pixel-button treatment for this lightweight control. */
.home-hero .hero-timezone-control {
  gap: 9px !important;
}

/* Match the visual language of “Abu Dhabi, UAE”, but preserve natural title case. */
.hero-timezone-kicker {
  color: #9feef8 !important;
  font-size: .76rem !important;
  font-weight: 830 !important;
  line-height: 1.2 !important;
  letter-spacing: .085em !important;
  text-transform: none !important;
}
html[data-theme="light"] .hero-timezone-kicker {
  color: #176b80 !important;
}

/* Current zone: use the stronger live-paper-title scale, with a quiet text-link affordance. */
.timezone-inline-value,
button.timezone-inline-value {
  appearance: none !important;
  min-height: 0 !important;
  padding: 0 0 2px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 246, 201, .62) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff6c9 !important;
  font: 850 1rem/1.18 Inter, ui-sans-serif, system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: left !important;
}
.timezone-inline-value:hover,
.timezone-inline-value:focus-visible,
button.timezone-inline-value:hover,
button.timezone-inline-value:focus-visible {
  border-bottom-color: #7aeeff !important;
  background: transparent !important;
  color: #7aeeff !important;
  box-shadow: none !important;
  outline: none !important;
}
html[data-theme="light"] .timezone-inline-value,
html[data-theme="light"] button.timezone-inline-value {
  border-bottom-color: rgba(0, 127, 163, .48) !important;
  color: #10233d !important;
}
html[data-theme="light"] .timezone-inline-value:hover,
html[data-theme="light"] .timezone-inline-value:focus-visible,
html[data-theme="light"] button.timezone-inline-value:hover,
html[data-theme="light"] button.timezone-inline-value:focus-visible {
  border-bottom-color: #007fa3 !important;
  color: #007fa3 !important;
  background: transparent !important;
}

/* Lightweight searchable list: no inherited 2px black pixel borders/shadows or uppercase buttons. */
.timezone-dropdown {
  padding: 6px !important;
  border: 1px solid rgba(159, 238, 248, .22) !important;
  border-radius: 7px !important;
  background: rgba(16, 26, 42, .985) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .20) !important;
}
.timezone-dropdown-search-row {
  padding: 2px 2px 6px !important;
  border-bottom: 1px solid rgba(159, 238, 248, .10) !important;
}
.timezone-dropdown-search {
  min-height: 32px !important;
  padding: 6px 8px !important;
  border: 1px solid rgba(159, 238, 248, .12) !important;
  border-radius: 5px !important;
  background: rgba(255, 255, 255, .045) !important;
  box-shadow: none !important;
  font: 500 .76rem/1.3 Inter, ui-sans-serif, system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}
.timezone-dropdown-option,
button.timezone-dropdown-option {
  min-height: 0 !important;
  padding: 6px 8px !important;
  border: 0 !important;
  border-radius: 4px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: rgba(237, 250, 255, .88) !important;
  font: 560 .76rem/1.28 Inter, ui-sans-serif, system-ui, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: left !important;
}
.timezone-dropdown-option:hover,
.timezone-dropdown-option.is-highlighted,
button.timezone-dropdown-option:hover,
button.timezone-dropdown-option.is-highlighted {
  border: 0 !important;
  background: rgba(78, 230, 255, .075) !important;
  box-shadow: none !important;
  color: #ffffff !important;
}

html[data-theme="light"] .timezone-dropdown {
  border-color: rgba(23, 107, 128, .14) !important;
  background: rgba(255, 255, 255, .995) !important;
  box-shadow: 0 8px 22px rgba(31, 42, 55, .10) !important;
}
html[data-theme="light"] .timezone-dropdown-search-row {
  border-bottom-color: rgba(23, 107, 128, .08) !important;
}
html[data-theme="light"] .timezone-dropdown-search {
  border-color: rgba(23, 107, 128, .10) !important;
  background: #f6f8f8 !important;
  color: #172033 !important;
}
html[data-theme="light"] .timezone-dropdown-option,
html[data-theme="light"] button.timezone-dropdown-option {
  color: #33404b !important;
}
html[data-theme="light"] .timezone-dropdown-option:hover,
html[data-theme="light"] .timezone-dropdown-option.is-highlighted,
html[data-theme="light"] button.timezone-dropdown-option:hover,
html[data-theme="light"] button.timezone-dropdown-option.is-highlighted {
  background: rgba(0, 127, 163, .055) !important;
  color: #075f75 !important;
}

@media (max-width: 760px) {
  .hero-timezone-kicker { font-size: .70rem !important; }
  .timezone-inline-value,
  button.timezone-inline-value { font-size: .88rem !important; }
}

/* v8.96: make the selected time zone visually match the live Poster paper title link exactly.
   Keep the selector row geometry stable; only nudge the whole row down by 2px. */
.home-hero .hero-timezone-control {
  margin-top: 14px !important;
}

/* Same typography and link treatment as :is(#live-events, #lbd-grid) .live-paper-card .paper-title a,
   without the paper link's external-arrow pseudo element. */
.timezone-inline-value,
button.timezone-inline-value {
  appearance: none !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #fff6c9 !important;
  font-family: "Courier New", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  font-size: 1rem !important;
  font-weight: 850 !important;
  line-height: 1.20 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-align: left !important;
  cursor: pointer !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 3px !important;
  text-decoration-color: rgba(78, 230, 255, .55) !important;
}

.timezone-inline-value:hover,
.timezone-inline-value:focus-visible,
button.timezone-inline-value:hover,
button.timezone-inline-value:focus-visible {
  color: var(--cyan) !important;
  background: rgba(78, 230, 255, .12) !important;
  outline: 2px solid var(--cyan) !important;
  outline-offset: 2px !important;
  box-shadow: none !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 1.5px !important;
  text-underline-offset: 3px !important;
}

html[data-theme="light"] .timezone-inline-value,
html[data-theme="light"] button.timezone-inline-value {
  color: #10233d !important;
  text-decoration-color: #007fa3 !important;
  background: linear-gradient(180deg, transparent 58%, rgba(0, 127, 163, .14) 58% 92%, transparent 92%) !important;
}

html[data-theme="light"] .timezone-inline-value:hover,
html[data-theme="light"] .timezone-inline-value:focus-visible,
html[data-theme="light"] button.timezone-inline-value:hover,
html[data-theme="light"] button.timezone-inline-value:focus-visible {
  color: #ffffff !important;
  background: #193762 !important;
  outline: 3px solid #d89514 !important;
  outline-offset: 2px !important;
  text-shadow: none !important;
  text-decoration-line: underline !important;
  text-decoration-thickness: 1.5px !important;
  text-underline-offset: 3px !important;
}

/* Poster-paper session Zoom shortcut. */
:is(#live-events, #lbd-grid) .live-paper-card .presenter-mode-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 1.35em;
  margin: 0;
}
:is(#live-events, #lbd-grid) .live-paper-card .presenter-mode-row .presenter-mode-line {
  min-height: 0;
}

/* v8.101: asset-version hardening; poster-paper session Zoom shortcut remains enabled. */

/* Tutorials share one time-slot panel; individual rows are always visible. */
.tutorial-group-card { min-width: 0; }
.tutorial-rows { display: grid; margin-top: 14px; }
.tutorial-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: 12px 20px; padding: 16px 0; border-top: 1px solid var(--line); }
.tutorial-row .card-title { margin: 0; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.tutorial-row-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.tutorial-row-actions .link-row { margin: 0; }
.event-card.tutorial-group-card > .tutorial-rows { margin: 0; padding: 0 20px; }
.upcoming-event-actions { flex-shrink: 0; }
@media (max-width: 640px) {
  .tutorial-row { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .tutorial-row-actions { justify-content: flex-start; }
}

/* Live Tutorials reuse the expanded Oral panel and its ID/title typography. */
:is(#live-events, #lbd-grid) .live-tutorial-list li.live-tutorial-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: baseline;
  column-gap: 12px;
}
:is(#live-events, #lbd-grid) .live-tutorial-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 6px; padding: 6px 4px; }
:is(#live-events, #lbd-grid) .live-tutorial-actions .link-row { margin: 0; }
:is(#live-events, #lbd-grid) .live-session-paper-list-panel .live-tutorial-actions a.link-button { display: inline-flex; grid-template-columns: none; align-items: center; gap: 4px; }
@media (max-width: 760px) {
  :is(#live-events, #lbd-grid) .live-tutorial-list li.live-tutorial-row { grid-template-columns: minmax(0, 1fr); }
  :is(#live-events, #lbd-grid) .live-tutorial-actions { justify-content: flex-start; padding-left: 66px; }
}

/* v8.92: binary puzzle strip is centered across the whole card, not inside the text column. */
.llm-prompt-card .binary-puzzle-card {
  grid-column: 1 / -1 !important;
  justify-self: center !important;
  justify-content: center !important;
  margin-left: 0 !important;
}

/* Paper titles: plain links, no underline or ↗ (hover keeps its highlight). */
.paper-title a,
html[data-theme="light"] .paper-title a:not(:hover):not(:focus-visible) {
  text-decoration: none !important;
}
html[data-theme="light"] .paper-title a:not(:hover):not(:focus-visible) { background: none !important; }
.paper-title a::after { content: none !important; }

/* "N online on Zoom": no frame, just the pulse dot and the count. */
.zoom-live-badge,
html[data-theme="light"] .zoom-live-badge {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* ---------- collapsible nav (menu button), as in the Warm-up Discussion ----------
   Below 1100px (narrow windows, or a zoomed-in browser) the nav collapses behind a menu
   button, as the miniconf's navbar does. Overrides the narrow-screen rules above
   (nav hidden <=900px, horizontal scroller <=720px). */
:root { --nav-menu-border: #39485a; --nav-menu-panel: rgba(12, 17, 31, .9); --nav-menu-shadow: 3px 3px 0 #000; }
html[data-theme="light"] { --nav-menu-border: rgba(16, 25, 40, .28); --nav-menu-panel: #ffffff; --nav-menu-shadow: 3px 3px 0 rgba(16, 25, 40, .14); }
.nav-toggle { display: none; }
@media (max-width: 1100px) {
  .site-header { display: flex !important; flex-wrap: wrap; align-items: center; column-gap: 10px; row-gap: 0; }
  .site-header > .brand { margin-right: auto; }
  .site-header > .header-tools { order: 2; }
  html .nav-toggle {
    order: 3; display: inline-grid; place-items: center; width: 38px; height: 32px; padding: 0; cursor: pointer;
    border: 2px solid var(--nav-menu-border) !important; background: var(--nav-menu-panel) !important; box-shadow: var(--nav-menu-shadow) !important;
  }
  .nav-toggle span, .nav-toggle span::before, .nav-toggle span::after {
    display: block; width: 18px; height: 2px; background: var(--ink); position: relative; content: "";
  }
  .nav-toggle span::before { position: absolute; top: -6px; }
  .nav-toggle span::after { position: absolute; top: 6px; }
  .nav-toggle[aria-expanded="true"] span { background: transparent; }
  .nav-toggle[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }
  html .site-header .top-nav { display: none !important; }
  html .site-header .top-nav.is-open {
    order: 4; flex-basis: 100%; display: flex !important; flex-direction: column; align-items: stretch;
    gap: 0 !important; margin: 10px 0 2px; padding: 4px 0 !important; overflow: visible !important; max-width: none !important;
    border-top: 2px solid var(--nav-menu-border) !important;
  }
  html .site-header .top-nav.is-open a { padding: 11px 6px !important; text-align: left; font-size: .82rem; }
  html .site-header .top-nav.is-open a + a::before { content: none !important; }
  html .site-header .top-nav.is-open a + a { border-top: 1px solid var(--nav-menu-border); }
}

/* ---------- header: name and Sign out (egg-account.js), next to Lights Off ---------- */
.header-tools { display: flex; align-items: center; gap: 12px; }
.account-slot { display: flex; align-items: center; gap: 8px; font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--ink); }
.account-name { max-width: 9em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html .account-slot button.account-signout:not(.detail-backdrop) {
  padding: 0; border: 0 !important; background: none !important; box-shadow: none !important;
  font: inherit; font-weight: 700; color: var(--muted) !important; text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}
.account-notice {
  position: fixed; left: 50%; bottom: 18px; z-index: 90; transform: translateX(-50%); max-width: min(92vw, 560px);
  padding: 10px 14px; background: var(--paper, #fff); color: var(--ink); border: 2px solid var(--ink); box-shadow: 4px 4px 0 rgba(0, 0, 0, .3); font-size: .82rem;
}

/* ---------- Canon easter egg dialog: links and the finders (canon-egg.js, shared with the lounge) ---------- */
:root { --egg-link: var(--cyan); --egg-line: rgba(255, 255, 255, .18); }
html[data-theme="light"] { --egg-link: #0969da; --egg-line: rgba(16, 25, 40, .2); }
.canon-egg-funfact-copy p { margin: 0 0 8px; }
.canon-egg-links { display: flex; flex-wrap: wrap; gap: 18px; margin: 4px 0 18px; }
.canon-egg-links:empty { display: none; }
a.canon-egg-link { font-weight: 900; color: var(--egg-link); text-decoration: none; cursor: pointer; }
a.canon-egg-link:hover, a.canon-egg-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
a.canon-egg-paper-link { color: inherit; text-decoration: none; }
a.canon-egg-paper-link:hover, a.canon-egg-paper-link:focus-visible { color: var(--egg-link); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
a.canon-egg-paper-link::after { content: none !important; }
.canon-egg-board {
  position: relative; list-style: none; margin: 6px 0 12px; padding: 2px 4px 2px 0;
  display: flex; flex-wrap: wrap; gap: 6px 8px; align-content: flex-start;
  max-height: min(300px, 40vh); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin;
}
.canon-egg-board li {
  max-width: 100%; padding: 3px 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-size: .82rem; font-weight: 800; line-height: 1.5; cursor: default;
  border: 1px solid var(--egg-line); background: rgba(255, 255, 255, .5);
}
html:not([data-theme="light"]) .canon-egg-board li { background: rgba(255, 255, 255, .06); }
.canon-egg-board li.is-me { color: var(--egg-link); border-color: currentColor; }
.canon-egg-board li.canon-egg-gap { border: 0; background: none; padding: 3px 2px; opacity: .55; }
