/* ============================================================
   SCRIPT workspace — AI ideation · 9:16 beat sheet · teleprompter
   Obsidian glass · neon indigo · no-scroll 100vh · fluid clamp()
   Inherits tokens from styles.css
   ============================================================ */

.scr{
  flex:1 1 auto; min-width:0; height:100vh; min-height:0;
  display:flex; position:relative; isolation:isolate; overflow:hidden;
  padding:clamp(8px,1vmin,14px); gap:0;
  background:
    radial-gradient(900px 540px at 22% -12%, rgba(22,192,216,.12), transparent 60%),
    radial-gradient(780px 560px at 104% 116%, rgba(46,211,198,.09), transparent 58%);
  animation:scrIn .32s var(--out);
}
@keyframes scrIn{ from{ opacity:.3; transform:translateY(7px) scale(.995); } to{ opacity:1; transform:none; } }

/* shared glass pane */
.scr-pane{
  position:relative; min-height:0; min-width:0; display:flex; flex-direction:column;
  background:var(--glass); backdrop-filter:var(--blur-lg); -webkit-backdrop-filter:var(--blur-lg);
  border:1px solid var(--line-soft); border-radius:var(--r-lg);
  box-shadow:var(--shadow-soft), inset 0 1px 0 rgba(255,255,255,.05); overflow:hidden;
}
.scr-pane::before{ content:''; position:absolute; inset:0; pointer-events:none; border-radius:inherit; z-index:6;
  background:linear-gradient(180deg,rgba(255,255,255,.04),transparent 14%); }
.scr-chat{ flex:0 0 auto; }
.scr-editor{ flex:1 1 auto; }
.scr-tele{ flex:0 0 auto; }

/* shared pane header */
.scr-head{ display:flex; align-items:center; gap:clamp(8px,1vw,12px); padding:clamp(11px,1.3vmin,15px) clamp(13px,1.4vw,18px);
  flex:0 0 auto; border-bottom:1px solid var(--line-soft); position:relative; z-index:2; }
.scr-eyebrow{ font-size:var(--fs-micro); font-weight:var(--fw-black); letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3);
  display:flex; align-items:center; gap:7px; white-space:nowrap; }
.scr-eyebrow .spark{ color:var(--ai-b); filter:drop-shadow(0 0 6px var(--ai-b)); }
.scr-head-id{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.scr-title{ font-size:clamp(15px,1.5vw,19px); font-weight:var(--fw-black); letter-spacing:-.02em; line-height:1.08; white-space:normal; text-wrap:balance; }
.scr-sub{ font-size:var(--fs-label); font-weight:var(--fw-med); color:var(--ink-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.scr-hspacer{ flex:1; }
.scr-hbtn{ width:32px; height:32px; border-radius:9px; display:grid; place-items:center; color:var(--ink-3);
  background:var(--well); border:1px solid var(--line); transition:.16s var(--out); flex:0 0 auto; }
.scr-hbtn:hover{ color:var(--ink); border-color:var(--line-strong); transform:translateY(-1px); }
.scr-pill{ display:flex; align-items:center; gap:7px; height:30px; padding:0 11px; border-radius:8px;
  font-size:var(--fs-label); font-weight:var(--fw-black); letter-spacing:.02em; color:var(--ink-2);
  background:var(--well); border:1px solid var(--line); white-space:nowrap; }
.scr-pill.mono{ color:var(--ink); }
.scr-pill .d{ width:6px; height:6px; border-radius:50%; background:var(--good); box-shadow:0 0 8px var(--good); }

/* ============================================================ CHAT (left) */
.scr-chatbody{ flex:1; overflow-y:auto; min-height:0; padding:clamp(12px,1.5vmin,18px) clamp(12px,1.2vw,16px);
  display:flex; flex-direction:column; gap:14px; }
.scr-msg{ display:flex; gap:10px; max-width:100%; animation:scrMsgIn .4s var(--spring) both; }
@keyframes scrMsgIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.scr-msg.user{ flex-direction:row-reverse; }
.scr-av{ width:30px; height:30px; flex:0 0 30px; border-radius:9px; display:grid; place-items:center; align-self:flex-start;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
.scr-av.ai{ background:var(--ai-grad); color:#fff; box-shadow:0 6px 18px -6px var(--ai-glow), inset 0 1px 0 rgba(255,255,255,.3); }
.scr-av.ai svg{ filter:drop-shadow(0 0 5px rgba(255,255,255,.6)); }
.scr-av.me{ background:linear-gradient(135deg,#3a3f55,#222637); color:var(--ink); font-size:var(--fs-label); font-weight:var(--fw-black);
  border:1px solid var(--line-strong); }
.scr-bubble{ position:relative; padding:11px 13px; border-radius:14px; font-size:var(--fs-base); line-height:1.5; font-weight:var(--fw-reg);
  max-width:84%; }
.scr-msg.ai .scr-bubble{ background:var(--panel-2); border:1px solid var(--line); color:var(--ink); border-top-left-radius:5px; }
.scr-msg.user .scr-bubble{ background:linear-gradient(135deg,rgba(22,192,216,.22),rgba(22,192,216,.1));
  border:1px solid var(--acc-line); color:var(--ink); border-top-right-radius:5px;
  box-shadow:0 6px 22px -12px var(--acc-glow); }

/* hooks list inside an AI bubble */
.scr-hooks{ display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.scr-hook{ display:flex; align-items:center; gap:9px; padding:8px 9px 8px 8px; border-radius:10px;
  background:var(--well); border:1px solid var(--line); cursor:pointer;
  transition:transform .18s var(--spring), border-color .18s var(--out), box-shadow .2s var(--out); }
.scr-hook:hover{ transform:translateX(2px); border-color:var(--acc-line); box-shadow:0 0 18px -8px var(--acc-glow); }
.scr-hook .hn{ width:20px; height:20px; flex:0 0 20px; border-radius:6px; display:grid; place-items:center;
  font-size:var(--fs-eyebrow); font-weight:var(--fw-black); color:#fff; background:var(--ai-grad); box-shadow:0 2px 8px -2px var(--ai-glow); }
.scr-hook .ht{ flex:1; font-size:var(--fs-sub); font-weight:var(--fw-med); line-height:1.35; }
.scr-hook .hadd{ width:22px; height:22px; flex:0 0 22px; border-radius:6px; display:grid; place-items:center;
  color:var(--ink-3); opacity:0; transition:.16s var(--out); }
.scr-hook:hover .hadd{ opacity:1; color:var(--acc-2); }

.scr-quote{ margin-top:10px; padding:10px 12px; border-radius:10px; font-size:var(--fs-base); line-height:1.5; font-style:italic;
  color:#eafcfb; background:linear-gradient(135deg,rgba(22,192,216,.14),rgba(46,211,198,.07));
  border:1px solid var(--acc-line); border-left:3px solid var(--acc); }
.scr-mtag{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; height:24px; padding:0 9px; border-radius:7px;
  font-size:var(--fs-eyebrow); font-weight:var(--fw-black); letter-spacing:.04em; color:#cbe9d8;
  background:rgba(70,217,160,.12); border:1px solid rgba(70,217,160,.34); }
.scr-mtag .d{ width:6px; height:6px; border-radius:50%; background:var(--good); box-shadow:0 0 8px var(--good); }
.scr-typing{ display:flex; gap:4px; padding:13px; }
.scr-typing i{ width:7px; height:7px; border-radius:50%; background:var(--ink-3); animation:scrDot 1.1s ease-in-out infinite; }
.scr-typing i:nth-child(2){ animation-delay:.16s; } .scr-typing i:nth-child(3){ animation-delay:.32s; }
@keyframes scrDot{ 0%,100%{ opacity:.3; transform:translateY(0); } 50%{ opacity:1; transform:translateY(-3px); } }

/* sparks + composer */
.scr-dock{ flex:0 0 auto; padding:10px clamp(12px,1.2vw,16px) clamp(12px,1.4vmin,16px); border-top:1px solid var(--line-soft);
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.16)); }
.scr-sparks{ display:flex; flex-wrap:wrap; gap:7px; margin-bottom:11px; }
.scr-spark{ display:flex; align-items:center; gap:7px; height:30px; padding:0 11px; border-radius:20px;
  font-size:var(--fs-sub); font-weight:var(--fw-bold); color:var(--ink-2);
  background:rgba(22,192,216,.1); border:1px solid var(--acc-line);
  box-shadow:0 0 14px -8px var(--acc-glow); transition:transform .18s var(--spring), box-shadow .2s var(--out), background .2s var(--out); }
.scr-spark svg{ color:var(--ai-b); filter:drop-shadow(0 0 5px var(--ai-b)); }
.scr-spark:hover{ transform:translateY(-2px); background:var(--ai-grad); border-color:transparent; color:#fff;
  box-shadow:0 8px 22px -8px var(--ai-glow), 0 0 24px -6px var(--ai-glow); }
.scr-spark:hover svg{ color:#fff; filter:drop-shadow(0 0 6px #fff); }
.scr-spark:active{ transform:translateY(0) scale(.96); }
.scr-compose{ display:flex; align-items:flex-end; gap:8px; padding:8px 8px 8px 13px; border-radius:14px;
  background:var(--well); border:1px solid var(--line); transition:.2s var(--out); }
.scr-compose:focus-within{ border-color:var(--acc-line); box-shadow:0 0 0 3px var(--acc-soft), 0 0 22px -8px var(--acc-glow); }
.scr-compose textarea{ flex:1; background:none; border:none; outline:none; resize:none; color:var(--ink);
  font-size:var(--fs-base); font-weight:var(--fw-reg); line-height:1.45; max-height:96px; padding:6px 0; min-height:22px; }
.scr-compose textarea::placeholder{ color:var(--ink-4); }
.scr-sendbtn{ width:38px; height:38px; flex:0 0 38px; border-radius:11px; display:grid; place-items:center; color:#fff;
  background:var(--ai-grad); box-shadow:0 8px 22px -8px var(--ai-glow), inset 0 1px 0 rgba(255,255,255,.3);
  transition:transform .2s var(--spring), box-shadow .24s var(--out); }
.scr-sendbtn:hover{ transform:translateY(-2px) scale(1.04); box-shadow:0 12px 28px -6px var(--ai-glow), 0 0 26px -4px var(--ai-glow); }
.scr-sendbtn:active{ transform:scale(.94); }

/* ============================================================ EDITOR (center) — 9:16 beat sheet */
.scr-etool{ display:flex; align-items:center; gap:clamp(6px,.8vw,10px); height:52px; flex:0 0 52px; padding:0 clamp(12px,1.2vw,18px);
  border-bottom:1px solid var(--line-soft); background:linear-gradient(180deg,rgba(255,255,255,.022),transparent); }
.scr-etool .grp{ display:flex; align-items:center; gap:6px; }
.scr-format{ display:flex; align-items:center; gap:9px; height:34px; padding:0 12px 0 8px; border-radius:10px;
  background:var(--well); border:1px solid var(--line); }
.scr-format .ar{ width:14px; height:24px; border-radius:4px; background:repeating-linear-gradient(135deg,#262a3a 0 5px,#1e2230 5px 10px);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08), 0 0 12px -4px var(--acc-glow); flex:0 0 14px; }
.scr-format .fm{ font-size:var(--fs-sub); font-weight:var(--fw-black); letter-spacing:.02em; }
.scr-format .fs{ font-size:var(--fs-eyebrow); font-weight:var(--fw-bold); color:var(--ink-3); }
.scr-etool .spacer{ flex:1; }
.scr-runtime{ display:flex; align-items:center; gap:8px; }
.scr-runtime .rt{ font-size:var(--fs-base); font-weight:var(--fw-black); color:var(--ink); }
.scr-runtime .rl{ font-size:var(--fs-micro); font-weight:var(--fw-black); letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); }

.scr-sheet{ flex:1; overflow-y:auto; min-height:0; padding:0 0 26px; position:relative; }
.scr-grid-head{ position:sticky; top:0; z-index:5; display:grid; grid-template-columns:clamp(78px,8vw,104px) 1.05fr 1fr;
  background:var(--glass-head); backdrop-filter:var(--blur); -webkit-backdrop-filter:var(--blur);
  border-bottom:1px solid var(--line); }
.scr-gh{ padding:10px clamp(10px,1vw,16px); font-size:var(--fs-micro); font-weight:var(--fw-black); letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-3); display:flex; align-items:center; gap:7px; }
.scr-gh.vis{ border-left:1px solid var(--line-soft); }
.scr-gh.aud{ border-left:1px solid var(--line-soft); }
.scr-gh svg{ color:var(--ink-4); }

.scr-beat{ display:grid; grid-template-columns:clamp(78px,8vw,104px) 1.05fr 1fr; border-bottom:1px solid var(--line-soft);
  cursor:pointer; position:relative; transition:background .18s var(--out); }
.scr-beat::before{ content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--acc);
  opacity:0; box-shadow:0 0 14px var(--acc-glow); transition:opacity .2s var(--out); }
.scr-beat:hover{ background:rgba(255,255,255,.018); }
.scr-beat.on{ background:linear-gradient(90deg,rgba(22,192,216,.1),rgba(22,192,216,.02) 60%,transparent); }
.scr-beat.on::before{ opacity:1; }
/* gutter */
.scr-gutter{ padding:clamp(12px,1.5vmin,16px) 10px clamp(12px,1.5vmin,16px) clamp(12px,1.2vw,16px);
  display:flex; flex-direction:column; gap:7px; border-right:1px solid var(--line-soft); }
.scr-bn{ display:flex; align-items:baseline; gap:6px; }
.scr-bn .n{ font-size:var(--fs-xl); font-weight:var(--fw-black); letter-spacing:-.03em; line-height:1; }
.scr-beat.on .scr-bn .n{ color:var(--acc-2); text-shadow:0 0 16px var(--acc-glow); }
.scr-bn .tc{ font-size:var(--fs-eyebrow); font-weight:var(--fw-bold); color:var(--ink-3); }
.scr-kind{ align-self:flex-start; font-size:var(--fs-micro); font-weight:var(--fw-black); letter-spacing:.05em; text-transform:uppercase;
  padding:3px 7px; border-radius:6px; color:var(--ink-2); background:rgba(255,255,255,.06); border:1px solid var(--line); }
.scr-beat.on .scr-kind{ color:#fff; background:var(--acc-soft); border-color:var(--acc-line); }
.scr-dur{ font-size:var(--fs-eyebrow); font-weight:var(--fw-bold); color:var(--ink-4); display:flex; align-items:center; gap:5px; }
/* cells */
.scr-cell{ padding:clamp(12px,1.5vmin,16px) clamp(11px,1.1vw,16px); display:flex; flex-direction:column; gap:9px; min-width:0; }
.scr-cell.vis{ border-right:1px solid var(--line-soft); }
.scr-cell .ctxt{ font-size:var(--fs-base); line-height:1.55; font-weight:var(--fw-reg); color:var(--ink); text-wrap:pretty; }
.scr-cell.aud .ctxt{ font-size:var(--fs-body); font-weight:var(--fw-med); color:#fff; line-height:1.5; }
.scr-beat.on .scr-cell.aud .ctxt{ text-shadow:0 0 22px rgba(22,192,216,.28); }
.scr-cues{ display:flex; flex-wrap:wrap; gap:5px; }
.scr-cue{ display:inline-flex; align-items:center; gap:5px; height:22px; padding:0 8px; border-radius:6px;
  font-size:var(--fs-eyebrow); font-weight:var(--fw-bold); color:var(--ink-3); background:var(--well); border:1px solid var(--line); }
.scr-cue .dt{ width:5px; height:5px; border-radius:50%; background:var(--ink-4); }
.scr-cue.vis .dt{ background:var(--acc-2); box-shadow:0 0 6px var(--acc-glow); }
.scr-atags{ display:flex; flex-wrap:wrap; gap:5px; }
.scr-atag{ display:inline-flex; align-items:center; gap:6px; height:22px; padding:0 8px 0 5px; border-radius:6px;
  font-size:var(--fs-eyebrow); font-weight:var(--fw-med); color:var(--ink-2); background:var(--well); border:1px solid var(--line); }
.scr-atag b{ font-size:var(--fs-micro); font-weight:var(--fw-black); letter-spacing:.04em; padding:2px 5px; border-radius:4px; color:#fff; }
.scr-atag[data-k="VO"] b{ background:linear-gradient(135deg,#2f9fe0,#16c0d8); }
.scr-atag[data-k="SFX"] b{ background:linear-gradient(135deg,#3aa8ff,#46d9a0); }
.scr-atag[data-k="MUS"] b{ background:linear-gradient(135deg,#ffb454,#ff7eb6); }
.scr-addbeat{ display:flex; align-items:center; justify-content:center; gap:8px; margin:16px clamp(12px,1.2vw,16px) 0;
  height:46px; border-radius:12px; color:var(--ink-3); font-size:var(--fs-base); font-weight:var(--fw-bold);
  border:1.5px dashed var(--line-strong); background:rgba(255,255,255,.012); transition:.2s var(--out); }
.scr-addbeat:hover{ color:var(--ink); border-color:var(--acc-line); background:var(--acc-soft); box-shadow:0 0 24px -10px var(--acc-glow); }

/* ============================================================ TELEPROMPTER (right) */
.scr-telebody{ flex:1; min-height:0; display:flex; flex-direction:column; align-items:center; gap:clamp(10px,1.5vmin,16px);
  padding:clamp(12px,1.6vmin,20px) clamp(12px,1.2vw,18px) clamp(14px,1.6vmin,20px);
  overflow:hidden;
  background:
    radial-gradient(60% 50% at 50% 38%, rgba(22,192,216,.1), transparent 70%); }

/* floating 9:16 phone */
.scr-phone{ position:relative; aspect-ratio:9/16; height:min(100%, 100cqw); width:auto; max-width:100%;
  flex:1 1 auto; min-height:0; border-radius:clamp(22px,3cqw,34px); overflow:hidden;
  background:linear-gradient(180deg,#0a0b11,#06070b);
  border:1px solid var(--line-strong);
  box-shadow:0 50px 110px -30px rgba(0,0,0,.92), 0 0 70px -10px var(--acc-glow),
    inset 0 0 0 1px rgba(255,255,255,.05), inset 0 1px 0 rgba(255,255,255,.08);
  animation:scrFloat 6s ease-in-out infinite; }
@media (prefers-reduced-motion:reduce){ .scr-phone{ animation:none; } }
@keyframes scrFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-7px); } }
.scr-phone .notch{ position:absolute; top:12px; left:50%; transform:translateX(-50%); width:34%; height:18px; border-radius:12px;
  background:#000; z-index:8; box-shadow:inset 0 0 0 1px rgba(255,255,255,.06); }
/* dark silhouette subject */
.scr-sil{ position:absolute; inset:0; z-index:1; overflow:hidden; }
.scr-sil::before{ content:''; position:absolute; left:50%; bottom:-6%; transform:translateX(-50%); width:62%; height:74%;
  background:radial-gradient(50% 60% at 50% 0%, #20243a, #0c0e16 72%); border-radius:50% 50% 44% 44%/60% 60% 40% 40%;
  filter:blur(.3px); box-shadow:0 0 80px 10px rgba(0,0,0,.6); }
.scr-sil::after{ content:''; position:absolute; left:50%; top:14%; transform:translateX(-50%); width:30%; aspect-ratio:1;
  background:radial-gradient(circle at 50% 40%, #262b44, #11131d 70%); border-radius:50%; }
.scr-grade{ position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(180deg,rgba(22,192,216,.08),transparent 30%,transparent 55%,rgba(6,7,11,.86)); }
.scr-scan{ position:absolute; inset:0; z-index:2; pointer-events:none; opacity:.5;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.18) 3px 4px); }

/* teleprompter reading text */
.scr-readwin{ position:absolute; left:0; right:0; top:0; bottom:0; z-index:4; overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 26%,#000 70%,transparent 96%);
  mask-image:linear-gradient(180deg,transparent,#000 26%,#000 70%,transparent 96%); }
.scr-guide{ position:absolute; left:0; right:0; top:42%; height:1px; z-index:5;
  background:linear-gradient(90deg,transparent,var(--acc-line),transparent); box-shadow:0 0 12px var(--acc-glow); }
.scr-guide::before, .scr-guide::after{ content:''; position:absolute; top:-4px; width:0; height:0;
  border-top:5px solid transparent; border-bottom:5px solid transparent; }
.scr-guide::before{ left:6px; border-left:7px solid var(--acc-2); filter:drop-shadow(0 0 5px var(--acc-glow)); }
.scr-guide::after{ right:6px; border-right:7px solid var(--acc-2); filter:drop-shadow(0 0 5px var(--acc-glow)); }
.scr-scroll{ position:absolute; left:0; right:0; top:42%; padding:0 13%; will-change:transform; }
.scr-line{ font-size:clamp(15px,2.1cqw,21px); line-height:1.4; font-weight:var(--fw-black); letter-spacing:-.01em; text-align:center;
  color:rgba(255,255,255,.32); padding:11px 0; transition:color .3s var(--out), text-shadow .3s var(--out), transform .3s var(--out);
  text-shadow:0 2px 14px rgba(0,0,0,.7); text-wrap:balance; }
.scr-line.on{ color:#fff; transform:scale(1.02); text-shadow:0 0 26px var(--acc-glow), 0 2px 14px rgba(0,0,0,.7); }
.scr-line.near{ color:rgba(255,255,255,.6); }
.scr-tele-meta{ position:absolute; left:0; right:0; bottom:14px; z-index:6; display:flex; justify-content:center; gap:8px; }
.scr-tele-chip{ display:flex; align-items:center; gap:6px; height:26px; padding:0 10px; border-radius:20px;
  font-size:var(--fs-eyebrow); font-weight:var(--fw-black); letter-spacing:.03em; color:var(--ink);
  background:rgba(8,9,14,.6); backdrop-filter:blur(8px); border:1px solid var(--line-strong); }
.scr-tele-chip .d{ width:6px; height:6px; border-radius:50%; background:var(--bad); box-shadow:0 0 8px var(--bad); }
.scr-tele-chip.live .d{ animation:scrRec 1.4s ease-in-out infinite; }
@keyframes scrRec{ 0%,100%{ opacity:1; } 50%{ opacity:.3; } }

/* teleprompter controls */
.scr-tctl{ flex:0 0 auto; width:100%; display:flex; flex-direction:column; gap:11px; }
.scr-tplay{ display:flex; align-items:center; gap:11px; }
.scr-tplay .pp{ width:42px; height:42px; flex:0 0 42px; border-radius:50%; display:grid; place-items:center;
  background:#fff; color:#0c0d11; box-shadow:0 6px 18px -4px rgba(255,255,255,.35); transition:transform .2s var(--spring); }
.scr-tplay .pp:hover{ transform:scale(1.07); }
.scr-tplay .pp:active{ transform:scale(.94); }
.scr-tplay .pp.on{ background:var(--acc); color:#fff; box-shadow:0 6px 20px -4px var(--acc-glow), 0 0 24px -4px var(--acc-glow); }
.scr-slider{ flex:1; display:flex; flex-direction:column; gap:4px; }
.scr-slider .sl-top{ display:flex; justify-content:space-between; align-items:baseline; }
.scr-slider .sl-l{ font-size:var(--fs-eyebrow); font-weight:var(--fw-black); letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3); }
.scr-slider .sl-v{ font-size:var(--fs-label); font-weight:var(--fw-black); color:var(--ink); }
.scr-send{ height:48px; border-radius:13px; display:flex; align-items:center; justify-content:center; gap:10px;
  color:#fff; font-size:var(--fs-body); font-weight:var(--fw-black); letter-spacing:.01em; position:relative; overflow:hidden;
  background:var(--ai-grad); box-shadow:0 14px 34px -8px var(--ai-glow), 0 0 28px -6px var(--acc-glow), inset 0 1px 0 rgba(255,255,255,.25);
  animation:scrSendGlow 3.4s ease-in-out infinite; transition:transform .2s var(--spring); }
@keyframes scrSendGlow{ 0%,100%{ box-shadow:0 14px 34px -8px var(--ai-glow), 0 0 22px -8px var(--acc-glow), inset 0 1px 0 rgba(255,255,255,.25); }
  50%{ box-shadow:0 16px 40px -8px var(--ai-glow), 0 0 42px -4px var(--ai-glow), inset 0 1px 0 rgba(255,255,255,.3); } }
.scr-send:hover{ transform:translateY(-2px); }
.scr-send:active{ transform:translateY(0) scale(.99); }
.scr-send .shine{ position:absolute; inset:0; background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%); transform:translateX(-120%); }
.scr-send:hover .shine{ animation:shine 1s ease; }

/* ============================================================
   SEND TO MOBILE  modal (uses .set-scrim / .set-close)
   ============================================================ */
.sm-modal{ width:min(380px,100%); max-height:90vh; overflow-y:auto; display:flex; flex-direction:column;
  background:var(--glass-3); border:1px solid var(--line-strong); border-radius:22px;
  box-shadow:var(--shadow-float); backdrop-filter:var(--blur-lg); -webkit-backdrop-filter:var(--blur-lg); }
@media (prefers-reduced-motion: no-preference){ .sm-modal{ animation:setPop .26s var(--spring); } }
.sm-head{ display:flex; align-items:flex-start; gap:12px; padding:20px 22px 14px; border-bottom:1px solid var(--line-soft); }
.sm-eyebrow{ display:inline-flex; align-items:center; gap:6px; font-size:var(--fs-label); font-weight:var(--fw-black);
  letter-spacing:.1em; text-transform:uppercase; color:var(--acc-2); }
.sm-t{ font-size:var(--fs-xl); font-weight:var(--fw-black); letter-spacing:-.015em; margin-top:5px; }
.sm-body{ padding:20px 22px 24px; display:flex; flex-direction:column; align-items:center; }

.sm-qrwrap{ position:relative; width:184px; height:184px; padding:13px; border-radius:18px; background:#fff;
  box-shadow:0 14px 36px -12px rgba(0,0,0,.7), 0 0 0 1px rgba(255,255,255,.08); }
.qr{ display:grid; width:100%; height:100%; gap:0; }
.qr span{ width:100%; height:100%; }
.qr span.on{ background:#0a0b10; }
.sm-qrlogo{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:42px; height:42px; border-radius:12px; display:grid; place-items:center; font-weight:var(--fw-black); font-size:var(--fs-stat-1); color:#fff;
  background:var(--ai-grad); box-shadow:0 4px 16px -2px var(--ai-glow), 0 0 0 4px #fff; }
.sm-qrcap{ font-size:var(--fs-sub); color:var(--ink-3); font-weight:var(--fw-reg); text-align:center; line-height:1.5; margin-top:15px; max-width:30ch; }

.sm-or{ display:flex; align-items:center; width:100%; margin:18px 0 16px; }
.sm-or::before,.sm-or::after{ content:''; flex:1; height:1px; background:var(--line); }
.sm-or span{ padding:0 12px; font-size:var(--fs-label); font-weight:var(--fw-bold); letter-spacing:.04em; text-transform:uppercase; color:var(--ink-4); }

.sm-phonebar{ display:flex; align-items:center; gap:8px; width:100%; }
.sm-pcode{ flex:0 0 auto; height:44px; padding:0 13px; border-radius:11px; display:grid; place-items:center;
  background:var(--well); border:1px solid var(--line); font-size:var(--fs-body); font-weight:var(--fw-bold); color:var(--ink-2);
  font-family:'JetBrains Mono',monospace; }
.sm-pinput{ flex:1; min-width:0; height:44px; padding:0 13px; border-radius:11px; background:var(--well);
  border:1px solid var(--line); font-size:var(--fs-body); font-weight:var(--fw-med); color:var(--ink); transition:.16s var(--out); }
.sm-pinput:focus{ outline:none; border-color:var(--acc-line); box-shadow:0 0 0 3px var(--acc-soft); }
.sm-pinput::placeholder{ color:var(--ink-4); }
.sm-psend{ flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; height:44px; padding:0 16px; border-radius:11px;
  font-size:var(--fs-base); font-weight:var(--fw-black); color:#fff; background:var(--ai-grad);
  box-shadow:0 10px 26px -10px var(--ai-glow); transition:.18s var(--spring); }
.sm-psend:hover{ transform:translateY(-1px); }
.sm-psend.off{ opacity:.5; cursor:default; background:var(--panel-2); color:var(--ink-3); box-shadow:none; }
.sm-psend.off:hover{ transform:none; }

.sm-sent{ display:flex; flex-direction:column; align-items:center; text-align:center; padding:6px 0 2px; animation:ovFade .26s var(--out); }
.sm-sent-ic{ width:46px; height:46px; border-radius:50%; display:grid; place-items:center; color:var(--good);
  background:color-mix(in oklab, var(--good) 16%, transparent); border:1px solid color-mix(in oklab, var(--good) 34%, transparent);
  box-shadow:0 0 22px -6px var(--good); margin-bottom:11px; }
.sm-sent-t{ font-size:var(--fs-panel); font-weight:var(--fw-black); }
.sm-sent-s{ font-size:var(--fs-sub); color:var(--ink-3); font-weight:var(--fw-reg); margin-top:4px; max-width:30ch; line-height:1.5; }
.sm-again{ margin-top:14px; font-size:var(--fs-sub); font-weight:var(--fw-bold); color:var(--acc-2); padding:7px 12px; border-radius:9px; transition:.15s var(--out); }
.sm-again:hover{ background:var(--acc-soft); color:#fff; }
