/* ICAME 2026 - glassy, cool dark-grey theme (emulating the 2025 cover) */
.reveal-viewport, body {
  background: radial-gradient(ellipse at 50% 32%, #3a4651 0%, #262f37 60%, #1a2127 100%) !important;
}
.reveal {
  color: #eef3f6;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 23px;
}
.reveal h1, .reveal h2, .reveal h3 { color:#fff; text-transform:none; font-weight:700; letter-spacing:normal; }
.reveal h2 { font-size:1.15em; border-bottom:2px solid rgba(120,195,224,0.55); padding-bottom:.12em; margin-bottom:.45em; }
.reveal a { color:#7fd0ea; }
.reveal ul, .reveal ol { width:94%; }
.reveal li { margin-bottom:.22em; }
.reveal .refs-hang { column-count:2; column-gap:1.6em; font-size:.36em; line-height:1.3; text-align:left; width:98%; margin:0 auto; color:#dfeaf0; }
.reveal .refs-hang p { margin:0 0 .35em; padding-left:1.3em; text-indent:-1.3em; break-inside:avoid; }
.reveal .claim { color:#7fd0ea; font-weight:700; }
.reveal .takeaway { color:#f3a08f; font-weight:700; }
.reveal .caption, .reveal small { color:#9fb6c4; font-size:.7em; }
.reveal .slide-number { color:#9fb6c4; }

/* macOS-style hover: grow + highlight */
.reveal .glass, .reveal .dac {
  transition: transform .18s ease, box-shadow .2s ease, border-color .2s ease;
}
.reveal .glass:hover, .reveal .dac:hover {
  transform: scale(1.045);
  box-shadow: 0 22px 58px rgba(0,0,0,0.62), 0 0 46px rgba(120,205,230,0.30);
  border-color: rgba(165,218,238,0.9);
  z-index: 6;
}

.reveal .glass > :first-child { margin-top: 0; }
/* generic glassy card */
.glass {
  background: rgba(70,95,110,0.18);
  border: 1px solid rgba(150,205,225,0.40);
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.45), 0 0 50px rgba(90,170,190,0.10);
  -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px);
  padding: .55em .85em;
}

/* images: soft drop shadow, blend on dark */
.reveal section img { background:transparent; border:none; max-height:540px; margin:4px auto;
  filter: drop-shadow(0 14px 26px rgba(0,0,0,0.5)); }
.reveal img.thumb { max-height:190px; }
.reveal .cols { display:flex; gap:3%; align-items:center; justify-content:center; }
.reveal .cols img { max-height:230px; width:auto; }

/* screenshot frame (INCEpTION / NoSketch) on the dark bg */
.reveal img.shot, .reveal .shot {
  border-radius:10px; border:1px solid rgba(255,255,255,0.25);
  box-shadow: 0 16px 40px rgba(0,0,0,0.55);
  background:#fff; max-height:430px;
}

/* glassy quote cards for data examples */
.reveal blockquote {
  background: rgba(70,95,110,0.20);
  border-left: 5px solid #38b0d8;
  border-radius: 8px;
  color:#eaf2f7; box-shadow:0 10px 30px rgba(0,0,0,0.4); font-style:italic;
  width:92%; padding:.4em .85em; font-size:.78em; margin:.3em auto;
  -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px);
}
.reveal blockquote .attrib { display:block; font-style:normal; color:#9fb6c4; font-size:.85em; margin-top:.2em; }
.reveal blockquote { transition: background .15s, box-shadow .15s; cursor: default; }
.reveal blockquote:hover { background: rgba(127,208,234,0.14); box-shadow: 0 0 0 1px rgba(127,208,234,0.45); }
.reveal .exq { cursor: pointer; }
.reveal .exq .src { display:none; color:#9fb6c4; font-size:.78em; margin-top:.3em; }
.reveal .exq.open .src { display:block; }
.reveal .chatui { width:100%; max-width:420px; margin:0 auto; }
.reveal .chatui .msg { display:block; max-width:90%; padding:.5em .72em; margin:.45em 0; border-radius:15px; font-size:.78em; line-height:1.38; box-shadow:0 2px 8px rgba(0,0,0,0.25); }
.reveal .chatui .user { background:#2f6f96; color:#eaf4fb; margin-left:auto; text-align:left; border-bottom-right-radius:4px; }
.reveal .chatui .ai { background:#39434d; color:#e7edf2; margin-right:auto; border-bottom-left-radius:4px; }
.reveal .chatui code { background:rgba(0,0,0,0.28); padding:0 .25em; border-radius:4px; font-size:.92em; }
.reveal .ttab { width:100%; border-collapse:collapse; font-size:.62em; }
.reveal .ttab th { color:#9fb6c4; text-align:left; border-bottom:1px solid #5a7291; padding:3px 7px; font-weight:600; }
.reveal .ttab td { padding:3px 7px; border-bottom:1px solid #36424c; }
.reveal .ttab td:nth-child(2), .reveal .ttab td:nth-child(3) { text-align:right; color:#aebeca; }
.reveal .ttab tr.hl td { background:rgba(224,145,63,0.24); color:#fff; font-weight:600; }

/* ---------- custom TITLE slide ---------- */
#titleslide h2 { display:none; }
#titleslide .titlewrap { position:relative; width:860px; margin:0 auto; }
#titleslide .logos { position:relative; height:66px; width:100%; margin:0 auto 36px; }
#titleslide .logos img { position:absolute; top:4px; height:58px; opacity:.9; filter:none; margin:0; }
#titleslide .logos img.logo-l { left:0; }
#titleslide .logos img.logo-r { right:0; }
#titleslide .logos img.logo-c { left:50%; transform:translateX(-50%); }
.reveal .slides > .logo-tl, .logo-tl { position:absolute; top:20px; left:24px; height:50px; opacity:.9; margin:0; z-index:30; }
#titleslide .title-card {
  display:block; width:100%; margin:0 auto; box-sizing:border-box;
  background: rgba(18,70,82,0.34);
  border: 1px solid rgba(150,210,230,0.55);
  border-radius: 26px;
  padding:.55em 1em .7em;
  box-shadow: 0 18px 55px rgba(0,0,0,0.5), 0 0 70px rgba(90,180,205,0.18);
  -webkit-backdrop-filter: blur(9px); backdrop-filter: blur(9px);
  -webkit-box-reflect: below 8px linear-gradient(transparent 72%, rgba(255,255,255,0.12));
}
#titleslide .title-card h1 { font-size:1.5em; margin:.1em 0 .15em; line-height:1.12; }
#titleslide .title-card .sub { font-size:.6em; color:#bfe0ec; margin:0; font-weight:400; }
#titleslide .authors { margin-top:6%; font-size:.62em; color:#dfeaf0; line-height:1.5; }
#titleslide .authors .venue { color:#9fb6c4; }

/* glassy mini-cards grid (CMV points) */
.reveal .grid2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; width:94%; margin:.4em auto; }
.reveal .grid2 .glass { font-size:.82em; text-align:left; }
.reveal .grid2 b { color:#7fd0ea; }

/* DAC example boxes */
.reveal .dac { width:94%; margin:.25em auto; font-size:.72em; text-align:left; }
.reveal .dac .tag { color:#f3a08f; font-weight:700; font-size:.85em; }

/* NoSketch-style KWIC concordance */
.reveal .kwic { font-family:"SFMono-Regular",Menlo,Consolas,monospace; font-size:.62em; width:96%; margin:.3em auto;
  border-collapse:collapse; color:#dfeaf0; }
.reveal .kwic td { padding:3px 8px; border-bottom:1px solid rgba(255,255,255,0.08); white-space:nowrap; }
.reveal .kwic .l { text-align:right; color:#aebfca; }
.reveal .kwic .kw { text-align:center; color:#f3a08f; font-weight:700; padding:3px 10px; }
.reveal .kwic .r { text-align:left; color:#aebfca; }
.reveal .kwic-head { color:#7fd0ea; font-weight:700; font-size:.7em; margin:.2em 0; }

/* references */
.reveal .refs { font-size:.58em; text-align:left; width:82%; margin:0 auto; line-height:1.55; color:#e7eef3; }
.reveal .refs p { margin:.32em 0; padding-left:1.8em; text-indent:-1.8em; }

/* interactive charts are iframed standalone widgets */
.reveal iframe.plotframe {
  width: 930px; height: 480px; border: 0; border-radius: 12px;
  box-shadow: 0 14px 42px rgba(0,0,0,0.55); background: #252e36;
}


/* persistent footer (matches the pptx) */
body::after {
  content:"Speech Acts in the Digital Sphere · Messerli 2026";
  position:fixed; bottom:8px; left:0; right:0; text-align:center;
  font-size:13px; color:#8aa0ad; z-index:1000; pointer-events:none;
}

/* speech-act taxonomy table: high contrast, larger, column-reveal */
.reveal .satab { width:97%; margin:.15em auto; border-collapse:collapse; font-size:.82em; color:#f4f8fb; }
.reveal .satab th { text-align:center; padding:10px 12px; font-weight:800; font-size:1.05em;
  color:#ffffff; background:rgba(127,208,234,0.16); border:1px solid #6f8aaa; border-bottom:3px solid #7fd0ea; }
.reveal .satab td { padding:9px 12px; border:1px solid #54677d; vertical-align:top; line-height:1.25; }
.reveal .satab th:first-child, .reveal .satab td:first-child {
  text-align:left; color:#ffd9b0; font-weight:800; background:rgba(243,160,143,0.12); }
.reveal .satab tr:nth-child(even) td { background:rgba(255,255,255,0.04); }
.reveal .satab .act { color:#bfe6f4; }

/* speech-act-by-speech-act hover comparison */
.reveal .sahover { width:92%; max-width:1000px; margin:.15em auto; text-align:left; }
.reveal .sahover .row { padding:.3em .7em; border-bottom:1px solid #3a4654; border-radius:8px; transition:background .15s; cursor:default; }
.reveal .sahover .row:hover { background:rgba(127,208,234,0.12); }
.reveal .sahover .act { font-weight:700; color:#9fd8ee; font-size:.86em; }
.reveal .sahover .ex { max-height:0; overflow:hidden; opacity:0; transition:max-height .2s ease, opacity .2s ease;
  font-size:.58em; color:#e7eef3; line-height:1.45; }
.reveal .sahover .row:hover .ex { max-height:140px; opacity:1; margin-top:.25em; }
.reveal .sahover .ex b { color:#ffd9b0; }
.reveal .sahover .none { color:#9fb6c4; font-style:italic; }

/* research "summary zoom" hub */
.reveal .zmap { display:grid; grid-template-columns:1fr 1fr; gap:20px; width:90%; max-width:1020px; margin:.45em auto; }
.reveal a.zoomcard { display:block; text-decoration:none; color:#eef3f6;
  background:rgba(70,95,110,0.18); border:1px solid rgba(150,205,225,0.40); border-radius:16px;
  padding:.65em .95em; text-align:left; box-shadow:0 12px 40px rgba(0,0,0,0.45);
  transition:transform .18s ease, box-shadow .2s ease, border-color .2s; }
.reveal a.zoomcard:hover { transform:scale(1.045);
  box-shadow:0 22px 58px rgba(0,0,0,0.62), 0 0 46px rgba(120,205,230,0.30); border-color:rgba(165,218,238,0.9); }
.reveal a.zoomcard .zt { font-weight:800; color:#9fd8ee; font-size:1.02em; }
.reveal a.zoomcard .zd { font-size:.66em; color:#cfdde6; }
.reveal a.tomap { display:inline-block; margin-top:.5em; font-size:.6em; color:#9fb6c4; text-decoration:none; }
.reveal a.tomap:hover { color:#7fd0ea; }
.reveal h3.claim { font-size:1.0em; margin:.1em 0 .35em; }

.reveal .zmap > p { display:contents; }
