/* CoraVision investor presentation (/investment/), pass one, 9 October 2026.

   A standalone page outside Loom: public/investment/index.html plus this file
   and cora-invest.js. Nothing here touches the home page. Everything resolves
   relative to the page so it works off disk and on the server alike.

   Three layers: the gate (a name and an access code), Cora's office with her
   at the lower left and her caption card, and the presentation slab on the
   right. Slides are drawn on a fixed 1200 by 675 canvas and one transform
   scales the canvas to the slab, so a phone gets the same picture, smaller.
   Brand: Plus Jakarta Sans, ink #0B0B0F, violet #6940DD, magenta #D65499. */

@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/plus-jakarta-sans-v12-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/plus-jakarta-sans-v12-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/plus-jakarta-sans-v12-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/plus-jakarta-sans-v12-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/plus-jakarta-sans-v12-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --violet:#6940DD;--magenta:#D65499;
  --grad:linear-gradient(120deg,#6940DD,#D65499);
  --ink:#0B0B0F;--ink-2:#3a3a41;--grey:#6D6D6D;--muted:#9a9aa2;--faint:#B9B9BE;
  --surface:#F7F5FB;--line:#E9E6F1;--violet-tint:#F1ECFC;--lilac:#C9B8F5;--lilac-2:#E4DCFA;
  --r-pill:999px;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  color:var(--ink);background:#fff;line-height:1.5;overflow:hidden;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility
}
img{max-width:100%;display:block}
button{font-family:inherit}
.g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ============================================================
   THE GATE
   ============================================================ */
.gate{
  position:fixed;inset:0;z-index:20;display:grid;place-items:center;
  background:
    radial-gradient(60% 70% at 18% 30%,rgba(105,64,221,.16),transparent 70%),
    radial-gradient(50% 60% at 85% 80%,rgba(214,84,153,.14),transparent 70%),
    linear-gradient(180deg,#fbfaff,#f3f0fa);
  transition:opacity .9s ease,visibility 0s linear .9s
}
.gate.away{opacity:0;visibility:hidden;pointer-events:none}
.gate-in{
  position:relative;width:min(440px,92vw);padding:84px 40px 36px;text-align:center;
  background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.85);border-radius:30px;
  box-shadow:0 30px 80px rgba(30,15,70,.14),inset 0 1px 0 #fff;
  -webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2)
}
.gate-orb{position:absolute;left:50%;top:0;width:124px;height:124px;transform:translate(-50%,-50%);display:grid;place-items:center}
.gate-logo{height:26px;width:auto;margin:0 auto 6px}
.gate h1{font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.03em;margin-top:14px}
.gate p{font-size:14.5px;color:var(--grey);margin-top:8px;font-weight:500}
.gate form{margin-top:24px;display:grid;gap:12px;text-align:left}
.gate label{display:block;font-size:12.5px;font-weight:700;letter-spacing:.02em;color:var(--ink-2);margin:0 0 6px 6px}
.gate input{
  width:100%;height:50px;padding:0 18px;font:inherit;font-size:16px;font-weight:500;color:var(--ink);
  background:#fff;border:1.5px solid #ddd8ea;border-radius:var(--r-pill);outline:none;
  transition:border-color .16s,box-shadow .16s
}
.gate input:focus{border-color:var(--violet);box-shadow:0 0 0 4px rgba(105,64,221,.14)}
.gate .err{min-height:20px;font-size:13.5px;font-weight:600;color:#c0392b;text-align:center;opacity:0;transition:opacity .2s}
.gate.bad .err{opacity:1}
.gate.bad .gate-in{animation:gateShake .4s}
@keyframes gateShake{20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.gate-note{margin-top:18px;font-size:12px;color:var(--muted)}

/* the product's glass-edged pill, as a button */
.glass-pill{
  position:relative;overflow:hidden;height:52px;padding:0 30px;
  font-weight:800;font-size:16px;letter-spacing:-.01em;color:#fff;cursor:pointer;border:none;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--r-pill);
  background:linear-gradient(135deg,rgba(106,76,242,.95) 0%,rgba(194,95,208,.9) 50%,rgba(240,114,154,.95) 100%);
  border:1px solid rgba(255,255,255,.45);
  box-shadow:0 16px 40px rgba(10,6,30,.22),inset 0 1px 0 rgba(255,255,255,.55);
  transition:transform .16s ease,box-shadow .3s ease
}
.glass-pill:hover{transform:translateY(-2px);box-shadow:0 22px 50px rgba(10,6,30,.3),inset 0 1px 0 rgba(255,255,255,.6)}
.glass-pill:active{transform:translateY(0) scale(.985)}
.glass-pill.w{width:100%;margin-top:4px}

/* ============================================================
   CORA'S OFFICE
   ============================================================ */
.room{position:fixed;inset:0;z-index:1;opacity:0;transition:opacity 1.2s ease}
.room.on{opacity:1}
.room-bg{
  position:absolute;inset:0;
  background:url("../images/cora-teams-background-1.webp") center / cover no-repeat;
}
/* a soft veil so the slab and the type read over the reception */
.room-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.22) 60%,rgba(255,255,255,.4))}

.topbar{position:absolute;left:0;right:0;top:0;z-index:5;height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.topbar .brand{display:flex;align-items:center;height:36px;padding:0 14px;background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);border-radius:var(--r-pill)}
.topbar img{height:22px;width:auto}
.topbar .who{font-size:13px;font-weight:600;color:var(--ink-2);background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.8);border-radius:var(--r-pill);padding:6px 14px}

/* Cora. Her home is the lower left; before Play she sits in the middle of the window,
   bigger, carried there by ONE transform the script measures (--cx, --cy, --ck), so the
   glide to the left when Play is pressed is a transform and nothing else. */
.cora{
  position:absolute;left:calc(min(30vw,440px) * -0.12);top:50%;z-index:4;width:min(30vw,440px);height:min(30vw,440px);margin-top:calc(min(30vw,440px) / -2);
  pointer-events:none;
  transform:translate(var(--cx,0px),var(--cy,0px)) scale(var(--ck,1));transform-origin:50% 50%;
  transition:transform 1.3s cubic-bezier(.22,.61,.36,1);will-change:transform
}
.room.live .cora{transform:none}
/* the host is .c-orb, NOT .cora-orb: that is the orb library's own root class */
.c-orb{width:100%;height:100%;display:grid;place-items:center;animation:bob 4.8s ease-in-out infinite;position:relative}
@keyframes bob{0%,100%{transform:translateY(5px)}50%{transform:translateY(-5px)}}
.c-orb>.cora-orb{animation:turn 84s linear infinite}
@keyframes turn{to{rotate:360deg}}
/* the Play button in the middle of her, the home page's Unmute. The host is scaled by --ck,
   so the button divides by it to stay 112px on screen. */
.cora-start{
  position:absolute;left:50%;top:50%;z-index:3;
  width:calc(112px / var(--ck,1));height:calc(112px / var(--ck,1));margin:calc(112px / var(--ck,1) / -2) 0 0 calc(112px / var(--ck,1) / -2);
  border-radius:50%;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(2px / var(--ck,1));padding:0;
  font-size:calc(13.5px / var(--ck,1));font-weight:600;letter-spacing:-.01em;color:var(--ink);
  background:rgba(255,255,255,.45);border:calc(1.5px / var(--ck,1)) solid rgba(255,255,255,.8);
  box-shadow:0 calc(12px / var(--ck,1)) calc(34px / var(--ck,1)) rgba(30,15,60,.16);pointer-events:auto;
  opacity:0;transition:opacity .5s,transform .18s,background .18s
}
.cora-start.on{opacity:1}
.cora-start:hover{transform:scale(1.04);background:rgba(255,255,255,.65)}
.cora-start svg{width:calc(36px / var(--ck,1));height:calc(36px / var(--ck,1));display:block}
.cora-start.gone{opacity:0;pointer-events:none}

/* ============================================================
   THE PRESENTATION SLAB
   ============================================================ */
.deck{
  position:absolute;z-index:3;
  right:2.5vw;top:50%;transform:translateY(-50%);
  width:min(71vw,calc((100vh - 170px) * 16 / 9));
  display:grid;gap:14px;justify-items:center;
}
/* the sign-up screen's glass (style.css .ea-glass): a frosted ring of --ring around a white
   panel, the same fill, hairline, blur and shadow */
.slab{
  --ring:22px;
  position:relative;width:100%;padding:var(--ring);border-radius:34px;
  background:rgba(255,255,255,.30);border:1px solid rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15);
  box-shadow:0 30px 80px rgba(0,0,0,.35);
  opacity:0;transform:translateY(48px) scale(.97);
  transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1)
}
.slab.up{opacity:1;transform:none}
.panel{position:relative;width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#fff}
.stage{position:absolute;left:50%;top:50%;width:1200px;height:675px;transform:translate(-50%,-50%) scale(var(--k,1));transform-origin:50% 50%}

/* under the slab: the sections and the controls, one glass bar */
.bar{
  width:max-content;max-width:calc(100vw - 24px);
  display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;
  padding:6px 8px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.85);
  box-shadow:0 10px 30px rgba(20,16,40,.12);
  opacity:0;transition:opacity .6s .5s
}
.slab.up~.bar{opacity:1}
.bar .sec{font-size:12.5px;font-weight:700;color:var(--grey);padding:6px 11px;border-radius:var(--r-pill);cursor:pointer;background:none;border:none;transition:color .2s,background .2s}
.bar .sec:hover{color:var(--ink)}
.bar .sec.on{color:#fff;background:var(--grad)}
.bar .sep{width:1px;height:18px;background:rgba(11,11,15,.12);margin:0 4px}
.bar .ctl{width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;background:rgba(11,11,15,.06);color:var(--ink);display:grid;place-items:center;transition:background .16s,transform .16s}
.bar .ctl:hover{background:rgba(11,11,15,.12);transform:translateY(-1px)}
.bar .ctl svg{width:16px;height:16px;display:block}
.bar .ctl.play{background:var(--ink);color:#fff}
.bar .ctl.play:hover{background:#2a2a33}
.bar .ctl .ic-pause{display:block}.bar .ctl .ic-play{display:none}
.paused .bar .ctl .ic-pause{display:none}.paused .bar .ctl .ic-play{display:block}
.bar .num{font-size:12px;font-weight:700;color:var(--muted);min-width:52px;text-align:center;letter-spacing:.04em}
.bar .voice{font-size:12px;font-weight:700;color:var(--grey);padding:6px 10px;border-radius:var(--r-pill);border:none;background:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.bar .voice svg{width:14px;height:14px}
.bar .voice.off{color:var(--faint)}

/* ============================================================
   SLIDES, on the 1200 by 675 canvas
   ============================================================ */
.sl{
  position:absolute;inset:0;padding:54px 72px 52px;
  font-family:'Plus Jakarta Sans',sans-serif;color:var(--ink);
  background:#fff;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s linear .6s
}
.sl.on{opacity:1;visibility:visible;transition:opacity .6s ease,visibility 0s}
.sl .hd{position:absolute;left:72px;right:72px;top:34px;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.sl .hd .logo{height:30px;width:auto;display:block}
.sl .hd .r{color:var(--muted);font-weight:700;letter-spacing:.1em}
.sl .ft{position:absolute;left:72px;right:72px;bottom:34px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;font-size:12.5px;line-height:1.4;color:var(--muted);font-weight:500}
.sl .ft .n{color:var(--faint);font-weight:700;letter-spacing:.06em;flex:0 0 auto}
.sl h1{font-size:50px;line-height:1.06;font-weight:700;letter-spacing:-.035em;margin-top:38px}
.sl .sub{font-size:20px;line-height:1.4;color:var(--grey);font-weight:500;margin-top:10px}
.sl .body{margin-top:40px}

/* staged reveal: each .a fades up in turn once the slide is on */
.sl .a{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease;transition-delay:calc(.12s + var(--i,0) * .14s)}
.sl.on .a{opacity:1;transform:none}

/* covers */
.sl.cover{padding:0;background:linear-gradient(180deg,#ffffff,#faf8fe)}
.sl.cover .brand{position:absolute;left:72px;top:56px}
.sl.cover .brand .logo{height:38px;width:auto;display:block}
.sl.cover h1{position:absolute;left:72px;top:150px;width:640px;font-size:76px;line-height:1.02;margin:0}
.sl.cover h1.g{display:inline-block}
.sl.cover .sub{position:absolute;left:72px;top:356px;width:520px;font-size:24px;color:var(--ink-2);margin:0}
.sl.cover .tag{position:absolute;left:72px;bottom:120px;font-size:24px;font-weight:800;letter-spacing:-.02em}
.sl.cover .note{position:absolute;left:72px;bottom:54px;font-size:14px;color:var(--muted);font-weight:500}
/* the big orb, as the call's own cover has it (46% of the height, a share of it off the
   edge) but mirrored: she bleeds in from the RIGHT and slides in as the slide lands */
.sl.cover .orb{position:absolute;right:-420px;top:50%;width:1100px;height:1100px;margin-top:-550px;transition-duration:1.1s}
.sl.cover .orb.a{transform:translateX(120px)}
.sl.on .orb.a{transform:none}
.sl.cover .orb img{width:100%;height:100%;display:block}
.sl.cover .ring::after{inset:-120px;border-color:rgba(214,84,153,.18);transform:rotateX(72deg) rotate(25deg)}

/* big numbers */
.stat{display:grid;gap:4px}
.stat .v{font-size:96px;line-height:1;font-weight:800;letter-spacing:-.05em;color:var(--violet)}
.stat .v.g{color:transparent}
.stat .l{font-size:24px;line-height:1.3;font-weight:500;color:var(--ink)}
.stat.sm .v{font-size:72px}
.stat.sm .l{font-size:22px}

.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.two.l{grid-template-columns:1.1fr .9fr}
.photo{border-radius:22px;overflow:hidden;box-shadow:0 20px 50px rgba(16,10,40,.16)}
.photo img{width:100%;height:100%;object-fit:cover}

.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.cols .num{font-size:60px;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--lilac);margin-bottom:22px}
.cols .num.strong{color:var(--violet);font-size:84px}
.cols h3{font-size:28px;line-height:1.15;font-weight:700;letter-spacing:-.025em;margin-bottom:12px}
.cols p{font-size:19px;line-height:1.4;color:var(--ink-2);font-weight:500}
.kicker{font-size:27px;font-weight:700;letter-spacing:-.025em;margin-top:44px}

.rows{display:grid;gap:0}
.rows .row{display:grid;grid-template-columns:90px 1fr 1.25fr;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}
.rows .row:last-child{border-bottom:none}
.rows .row .n{font-size:40px;line-height:1;font-weight:800;letter-spacing:-.04em;color:var(--lilac)}
.rows .row h3{font-size:26px;line-height:1.15;font-weight:700;letter-spacing:-.025em}
.rows .row p{font-size:19px;line-height:1.4;color:var(--ink-2);font-weight:500}
.rows.tight .row{padding:14px 0}

.shot{position:relative;margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(16,10,40,.22),0 0 0 1px rgba(16,10,40,.06)}
.shot img{width:100%;display:block}
.shot .cap{position:absolute;left:16px;bottom:16px;font-size:12px;font-weight:700;color:#fff;background:rgba(10,8,18,.55);border-radius:8px;padding:5px 10px;letter-spacing:.02em}

/* the connectors converging on Cora */
.conv{display:grid;grid-template-columns:1fr 200px 1fr;align-items:center;gap:30px;margin-top:40px}
.conv .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.conv .tile{height:84px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(16,10,40,.08);display:grid;place-items:center;padding:14px 18px}
.conv .tile img{max-height:36px;max-width:120px;object-fit:contain}
.conv .mid{display:grid;place-items:center;position:relative}
.conv .mid img{width:170px;height:170px;filter:drop-shadow(0 20px 40px rgba(105,64,221,.35))}
.conv .mid::before,.conv .mid::after{content:"";position:absolute;top:50%;height:2px;width:36px;background:linear-gradient(90deg,transparent,var(--lilac))}
.conv .mid::before{left:-34px}
.conv .mid::after{right:-34px;transform:scaleX(-1)}
.conv .words{display:grid;gap:10px;align-content:center}
.conv .words b{font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.03em}
.conv .words span{font-size:19px;color:var(--ink-2);font-weight:500;line-height:1.4}

/* the market bars */
.bars{display:grid;gap:30px;margin-top:46px}
.bars .b{display:grid;grid-template-columns:230px 1fr 190px;gap:28px;align-items:center}
.bars .b .k{font-size:24px;font-weight:700;letter-spacing:-.02em}
.bars .b .t{height:40px;border-radius:8px;background:var(--lilac-2);overflow:hidden}
.bars .b .f{height:100%;width:0;border-radius:8px;background:var(--grad);transition:width 1.4s cubic-bezier(.22,.61,.36,1);transition-delay:.4s}
.sl.on .bars .f{width:var(--w)}
.bars .b .v{font-size:30px;font-weight:800;letter-spacing:-.03em;text-align:right;font-variant-numeric:tabular-nums}

/* formula */
.formula{display:flex;align-items:center;gap:26px;margin-top:34px;padding-top:34px;border-top:1px solid var(--line)}
.formula b{font-size:38px;font-weight:800;letter-spacing:-.03em;color:var(--violet);line-height:1.05}
.formula i{font-style:normal;font-size:38px;color:var(--violet);font-weight:500}

/* tables */
.tbl{width:100%;border-collapse:collapse;margin-top:28px}
.tbl th{font-size:14px;font-weight:700;color:var(--grey);text-align:left;padding:0 0 12px;letter-spacing:.02em}
.tbl td{padding:16px 24px 16px 0;border-top:1px solid var(--line);vertical-align:top;font-size:18px;line-height:1.4;font-weight:500;color:var(--ink-2)}
.tbl td:first-child{font-size:21px;font-weight:700;color:var(--ink);letter-spacing:-.02em;width:27%}
.tbl td:last-child{padding-right:0;color:var(--grey)}
.tbl tr.hi td:first-child{color:var(--violet)}
.tbl.wide td:first-child{width:28%}

/* founders */
.founders{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:34px}
.founders .f .pic{height:200px;border-radius:20px;overflow:hidden;position:relative;background:linear-gradient(160deg,#ede7fb,#f8eaf3);display:grid;place-items:end center}
.founders .f .pic .av{width:150px;height:150px;border-radius:50%;background:var(--grad);display:grid;place-items:center;color:#fff;font-size:56px;font-weight:800;letter-spacing:-.04em;transform:translateY(24px);box-shadow:0 20px 40px rgba(105,64,221,.3)}
.founders .f h3{font-size:30px;font-weight:700;letter-spacing:-.03em;margin-top:16px}
.founders .f .role{font-size:18px;font-weight:700;color:var(--violet);margin-top:2px}
.founders .f p{font-size:17px;line-height:1.4;color:var(--ink-2);font-weight:500;margin-top:8px}

/* the money slides */
.money{font-size:118px;line-height:1;font-weight:800;letter-spacing:-.05em;color:var(--violet);margin-top:34px}
.money.sm{font-size:92px}
.money-l{font-size:30px;font-weight:700;letter-spacing:-.025em;margin-top:10px}
.lead{font-size:24px;line-height:1.4;color:var(--ink-2);font-weight:500;margin-top:26px;max-width:860px}

/* sources */
.src{display:grid;grid-template-columns:1fr 1fr;gap:18px 48px;margin-top:30px}
.src .s b{display:block;font-size:17px;font-weight:700;letter-spacing:-.01em}
.src .s span{display:block;font-size:14.5px;line-height:1.4;color:var(--grey);font-weight:500;margin-top:2px}
.src .s a{color:var(--violet);font-size:13px;font-weight:700;text-decoration:none}

/* ============================================================
   SMALL SCREENS: the slab on top, Cora under it
   ============================================================ */
@media (max-width:960px),(max-height:620px){
  .deck{right:auto;left:50%;top:60px;transform:translateX(-50%);width:min(94vw,calc((100vh - 300px) * 16 / 9))}
  .cora{left:50%;top:auto;bottom:16px;margin:0 0 0 -60px;width:120px;height:120px}
  .room.live .cora{transform:none}
  .cora-start{width:76px;height:76px;margin:-38px 0 0 -38px;font-size:11px}
  .cora-start svg{width:24px;height:24px}
  .slab{--ring:12px;border-radius:26px}
  .topbar .who{display:none}
}
@media (prefers-reduced-motion:reduce){
  .c-orb,.c-orb>.cora-orb{animation:none}
}
