/* Cmora · "Write it with AI" hero scene, Lagoon skin.
   From research/brand-2026-10-23/option-c-ring/ai/ (ai-scene.css), restyled: teal lacquer bubble, butter reply,
   grey step lines, teal cursor + tag, write-on shimmer (lilac -> teal -> deep teal -> ink), receipt + export row.
   The whole hero (headline + plate) is the pinned stage; on phones the stage pins with the plate at the top. */
.ai-scene { position: relative; }
.ai-stage { position: sticky; top: var(--ai-pin, 0px); padding-top: 30px; }
.ai-scene.ai-static .ai-stage { position: relative; top: auto; }

.ai-plate-in { position: relative; height: 760px; text-align: left; }
.ai-scene *, .ai-scene *::before, .ai-scene *::after { box-sizing: border-box; }

/* ---------- the prompt bubble (heyclicky recipe, lagoon lacquer) ---------- */
.ai-bubble { position: absolute; left: 80px; top: 26px; z-index: 6; display: inline-block; padding: 14px 24px 15px 22px; border-radius: 28px; background: var(--gloss); color: #fff; font-family: var(--display); font-weight: 600; font-size: 21px; line-height: 28px; letter-spacing: -0.018em; white-space: nowrap; text-shadow: 0 1px 1px rgba(4,64,60,.45); transform-origin: 0 50%;
  box-shadow: inset 0 0 0 1px rgba(6,92,88,.55), inset 0 -10px 18px -10px rgba(4,70,66,.35), inset 0 2px 0 rgba(255,255,255,.35), 0 18px 34px -16px rgba(8,90,86,.55), 0 4px 10px -4px rgba(8,90,86,.3); }
.ai-bubble::before { content: ""; position: absolute; left: 16px; right: 16px; top: 3px; height: 13px; border-radius: 999px; background: linear-gradient(rgba(255,255,255,.62), rgba(255,255,255,0)); pointer-events: none; }
.ai-bubble .ai-tail { position: absolute; right: -7px; bottom: -8px; width: 26px; height: 22px; overflow: visible; }
.ai-bubble .ai-rest { color: transparent; text-shadow: none; }
.ai-bcaret { display: inline-block; width: 2px; height: 1em; margin: 0 -2px 0 1px; vertical-align: -0.12em; background: #fff; border-radius: 1px; box-shadow: 0 0 6px rgba(255,255,255,.6); }
.ai-blink { animation: ai-blink 1s steps(1) infinite; }
@keyframes ai-blink { 50% { opacity: 0; } }
.ai-onit { position: absolute; z-index: 6; display: inline-flex; align-items: center; padding: 5px 12px 6px; border-radius: 999px; background: var(--butter); color: #3A2F05; font-family: var(--text); font-size: 13px; font-weight: 600; letter-spacing: -0.005em; transform-origin: 0 50%;
  box-shadow: inset 0 0 0 1px rgba(150,120,10,.28), inset 0 1px 0 rgba(255,255,255,.7), 0 8px 16px -8px rgba(120,95,0,.45); }

/* ---------- editor window ---------- */
.ai-win { position: absolute; left: 50%; top: 58px; width: min(1180px, calc(100% - 48px)); height: 600px; transform: translateX(-50%); border-radius: 18px; background: #fff; overflow: hidden; display: flex; flex-direction: column; text-align: left; font-family: var(--text); font-size: 14.5px; line-height: 1.45; color: var(--ink);
  box-shadow: 0 0 0 1px rgba(15,27,28,.08), 0 2px 4px rgba(15,27,28,.04), 0 50px 100px -40px rgba(8,60,58,.45); }
.ai-ico { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ai-bar { height: 44px; flex: none; display: flex; align-items: center; gap: 8px; padding: 0 16px; background: #F4F6F5; border-bottom: 1px solid var(--line); font-size: 13.5px; color: var(--mute); }
.ai-bar i { width: 11px; height: 11px; border-radius: 50%; background: #DADFDD; }
.ai-crumbs { margin-left: auto; display: flex; gap: 7px; white-space: nowrap; align-items: center; }
.ai-crumbs b { color: var(--ink); font-weight: 500; }
.ai-crumb { position: relative; border-radius: 5px; padding: 0 4px; margin: 0 -4px; }
.ai-crumb.ai-reading { color: var(--teal-deep); background: linear-gradient(90deg, rgba(25,181,171,0) 0%, rgba(25,181,171,.28) 50%, rgba(25,181,171,0) 100%) no-repeat; background-size: 200% 100%; background-position: var(--ai-shim, 0%) 0; box-shadow: 0 0 0 4px rgba(25,181,171,.12); }
.ai-title { flex: none; display: flex; align-items: center; gap: 12px; padding: 10px 22px; border-bottom: 1px solid var(--line); }
.ai-title h3 { margin: 0; font-family: var(--display); font-weight: 600; font-size: 25px; letter-spacing: -0.035em; line-height: 1.1; }
.ai-chip { font-size: 12.5px; padding: 3px 9px; border-radius: 7px; background: var(--paper-2); color: var(--slate); white-space: nowrap; }
.ai-grow { flex: 1; }
.ai-seg { display: flex; background: var(--paper-2); border-radius: 11px; padding: 3px; position: relative; }
.ai-seg span { display: flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 8px; font-size: 13.5px; color: var(--mute); white-space: nowrap; position: relative; z-index: 1; }
.ai-seg span.ai-on { color: var(--ink); font-weight: 500; }
.ai-seg-pill { position: absolute; top: 3px; bottom: 3px; left: 0; width: 10px; border-radius: 8px; background: #fff; box-shadow: 0 1px 3px rgba(15,27,28,.12); }
.ai-btn { display: inline-flex; align-items: center; gap: 7px; padding: 8px 15px; border-radius: 999px; font-size: 13.5px; font-weight: 500; white-space: nowrap; }
.ai-btn.ai-line { box-shadow: inset 0 0 0 1px var(--line); }
.ai-btn.ai-export { background: var(--gloss); color: #04302D; font-weight: 600; box-shadow: inset 0 0 0 1px rgba(10,117,112,.5), inset 0 1px 0 rgba(255,255,255,.5); }
.ai-btn.ai-export.ai-hover { box-shadow: inset 0 0 0 1px rgba(10,117,112,.6), inset 0 1px 0 rgba(255,255,255,.5), 0 0 0 4px rgba(25,181,171,.18), 0 10px 22px -10px rgba(10,117,112,.7); }

.ai-main { flex: 1; min-height: 0; display: grid; grid-template-columns: 250px minmax(0, 1fr) 270px; position: relative; }
.ai-left { border-right: 1px solid var(--line); padding: 14px; display: flex; flex-direction: column; gap: 10px; min-height: 0; overflow: hidden; }
.ai-tabs { display: grid; grid-template-columns: 1fr 1fr; background: var(--paper-2); border-radius: 10px; padding: 3px; font-size: 13.5px; text-align: center; }
.ai-tabs span { padding: 6px; border-radius: 7px; color: var(--mute); }
.ai-tabs span.ai-on { background: #fff; color: var(--ink); font-weight: 600; box-shadow: 0 1px 3px rgba(15,27,28,.1); }
.ai-airow { display: flex; align-items: center; gap: 9px; padding: 10px 12px; border-radius: 11px; background: var(--teal-wash); color: #075A56; font-weight: 600; font-size: 14px; white-space: nowrap; box-shadow: inset 0 0 0 1px rgba(25,181,171,.22); }
.ai-airow .ai-aiico { display: flex; color: var(--teal-deep); }
.ai-airow.ai-hover { box-shadow: inset 0 0 0 1.5px rgba(25,181,171,.6); }
.ai-airow.ai-press { transform: scale(.975); }
.ai-airow .ai-t { margin-left: auto; font-family: var(--mono); font-weight: 500; font-size: 12.5px; color: var(--teal-deep); font-variant-numeric: tabular-nums; }
.ai-spin { width: 16px; height: 16px; flex: none; animation: ai-spin .9s linear infinite; }
@keyframes ai-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ai-spin, .ai-blink, .ai-step i::before { animation: none; } }
/* grey step lines under the AI row */
.ai-steps { display: grid; gap: 7px; padding: 0 4px 2px 6px; font-size: 12.5px; line-height: 1.3; color: var(--mute); }
.ai-step { display: flex; align-items: center; gap: 8px; white-space: nowrap; height: 16px; }
.ai-step .ai-ico { width: 13px; height: 13px; stroke-width: 2.2; color: var(--teal-deep); }
.ai-step i { width: 13px; display: grid; place-items: center; }
/* the step being done: a small turning ring, like Writing…'s, not a dot */
.ai-step i::before { content: ""; width: 9px; height: 9px; border-radius: 50%; border: 1.6px solid rgba(25,181,171,.25); border-top-color: var(--teal-deep); animation: ai-spin .9s linear infinite; }
.ai-step.ai-now { color: var(--slate); }
.ai-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 2px; }
.ai-tile { height: 64px; border-radius: 10px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; font-size: 12.5px; color: var(--slate); }
.ai-tile .ai-ico { width: 17px; height: 17px; color: var(--mute); }
.ai-tile.ai-hover { box-shadow: inset 0 0 0 1.5px rgba(25,181,171,.6); background: #F2FBF9; color: var(--ink); }
.ai-tile.ai-hover .ai-ico { color: var(--teal-deep); }
.ai-tile.ai-lifted { background: var(--paper-2); color: #B3BCBA; }
.ai-tile.ai-lifted .ai-ico { color: #C5CDCB; }
.ai-brandchip { display: none; }

/* canvas + the email card (rebuilt 1:1 from cuescout.com-launch-announce.html) */
.ai-canvas { background: #EDF1F0; position: relative; overflow: hidden; min-height: 0; }
.ai-scroll { display: flex; flex-direction: column; align-items: center; padding: 18px 20px 40px; will-change: transform; }
.ai-inbox { display: none; width: 100%; align-items: center; gap: 8px; background: #fff; border-radius: 11px; padding: 9px 12px; font-size: 14px; box-shadow: 0 0 0 1px rgba(15,27,28,.05); white-space: nowrap; overflow: hidden; min-height: 42px; margin-bottom: 10px; }
.ai-inbox .ai-k { color: var(--mute); flex: none; }
.ai-inbox .ai-subj { font-weight: 600; overflow: hidden; }
.ai-inbox .ai-subj:empty::before { content: "Add a subject"; color: #A9B3B1; font-weight: 500; }
.ai-inbox .ai-prev { display: none; }
.ai-inbox.ai-focus { box-shadow: 0 0 0 1.5px var(--teal), 0 0 0 5px rgba(25,181,171,.14); }
.ai-card { --pad: 44px; --h1: 30px; --h1lh: 36px; --e-btn: #0D1512;
  position: relative; width: var(--ai-cw, 600px); max-width: 100%; background: #F7F6F2; border-radius: 18px; padding: 34px var(--pad) 26px; font-family: var(--email); color: #2a2e35; box-shadow: 0 0 0 1px rgba(15,27,28,.04); }
.ai-slot { position: relative; overflow: hidden; }
.ai-slot.ai-open { overflow: visible; }
.ai-slot.ai-gap::before { content: ""; position: absolute; left: -8px; right: -8px; top: 0; bottom: 22px; border-radius: 13px; background: #EAF8F5; box-shadow: inset 0 0 0 1.5px rgba(25,181,171,.4); }
.ai-blk { position: relative; transform-origin: 50% 0; }
.ai-empty { height: 200px; border-radius: 14px; border: 1.5px dashed #CFD8D6; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: #8C9897; font-family: var(--text); font-size: 14.5px; text-align: center; margin-bottom: 4px; }
.ai-empty .ai-ico { color: #AAB4B2; width: 22px; height: 22px; }
.ai-empty.ai-hot { border-color: var(--teal); background: #F0FAF8; color: var(--teal-deep); }
.ai-empty.ai-hot .ai-ico { color: var(--teal); }
.ai-elogo { display: flex; align-items: center; gap: 10px; padding-bottom: 28px; }
.ai-elogo img { height: 30px; width: 30px; border-radius: 7px; display: block; }
.ai-elogo span { font-size: 15px; line-height: 30px; font-weight: 700; letter-spacing: -0.01em; color: #0e1113; }
.ai-h1 { margin: 0; padding-bottom: 18px; font-size: var(--h1); line-height: var(--h1lh); font-weight: 800; letter-spacing: -0.05em; color: #0e1113; min-height: calc(var(--h1lh) + 18px); }
.ai-hb { color: var(--ai-hb, #0e1113); }
.ai-etag { margin-left: auto; padding: 4px 8px; background: var(--ai-lm, #E4E6E1); color: #0e1113; font-family: var(--mono); font-size: 10.5px; font-style: normal; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3; }
.ai-quote { padding: 16px 18px 17px; border-radius: 14px; background: #fff; box-shadow: 0 0 0 1px #E6E5DE; }
.ai-card .ai-who { display: flex; align-items: center; gap: 8px; min-height: 22px; margin: 0 0 8px; font-size: 12.5px; line-height: 22px; color: #6A6F7C; }
.ai-card .ai-who::before { content: ""; flex: 0 0 22px; height: 22px; background: url(/landing/assets/eng-perplexity.png) center / cover; clip-path: inset(7% round 24%); }
.ai-card .ai-q { margin: 0; font-size: 19px; line-height: 27px; font-weight: 700; letter-spacing: -0.02em; color: #2A2E3A; }
.ai-fn { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-left: 2px; border-radius: 50%; background: var(--ai-hb, #0e1113); color: #fff; font-size: 11px; font-weight: 800; line-height: 1; letter-spacing: 0; vertical-align: 6px; }
.ai-notes { padding-bottom: 6px; }
.ai-note { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid #E6E5DE; }
.ai-note:last-child { border-bottom: 0; }
.ai-note .ai-fn { flex: 0 0 22px; width: 22px; height: 22px; margin: 0; vertical-align: 0; }
.ai-nt { flex: 1; min-width: 0; }
.ai-nt b { display: block; font-size: 14.5px; line-height: 20px; font-weight: 700; letter-spacing: -0.015em; color: #0e1113; }
.ai-nt small { display: block; font-family: var(--mono); font-size: 11px; line-height: 16px; color: #6A6F7C; }
.ai-stamp { flex: 0 0 auto; padding: 5px 8px; border-radius: 5px; font-family: var(--mono); font-size: 10px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; animation: ai-stamp .32s cubic-bezier(.2,.9,.3,1.4) both; }
.ai-stamp.ai-miss { color: #D2442E; box-shadow: inset 0 0 0 1.5px #D2442E; transform: rotate(2deg); }
.ai-stamp.ai-on { background: var(--ai-lm, #E4E6E1); color: #0e1113; transform: rotate(-3deg); }
@keyframes ai-stamp { from { opacity: 0; scale: 1.5; } }
@media (prefers-reduced-motion: reduce) { .ai-stamp { animation: none; } }
.ai-txt { font-size: 16px; line-height: 26px; color: #2a2e35; }
.ai-txt p { margin: 0 0 13px; min-height: 26px; }
.ai-txt p:last-child { margin-bottom: 0; }
.ai-body { padding-bottom: 22px; }
.ai-signb { padding-bottom: 4px; }
.ai-ebtnwrap { padding-bottom: 26px; }
.ai-ebtn { display: inline-block; padding: 13px 24px; border-radius: 13px; background: var(--e-btn); color: #fff; font-size: 15px; line-height: 20px; font-weight: 600; white-space: nowrap; position: relative; overflow: hidden; min-width: 60px; min-height: 46px; }
.ai-ebtn i { position: absolute; inset: 0; background: #1F2BC4; clip-path: circle(var(--ai-fill, 0%) at var(--ai-fx, 20%) 50%); }
.ai-ebtn span { position: relative; }
.ai-new { opacity: var(--o, 1); }
.ai-card .ai-caret { display: inline-block; width: 2px; height: 1.1em; margin-left: 1px; vertical-align: -0.2em; background: var(--teal); border-radius: 1px; box-shadow: 0 0 6px rgba(25,181,171,.6); }

/* selection, grip, drop line (card coordinates) */
.ai-sel { position: absolute; border: 2px solid var(--teal); border-radius: 7px; pointer-events: none; z-index: 3; opacity: 0; }
.ai-sel em { position: absolute; left: -2px; top: -23px; font-style: normal; font-family: var(--text); font-size: 11.5px; line-height: 15px; font-weight: 600; background: var(--teal-deep); color: #fff; padding: 3px 8px; border-radius: 6px 6px 6px 0; white-space: nowrap; }
.ai-sel.ai-sel-r em { left: auto; right: -2px; border-radius: 6px 6px 0 6px; }
.ai-grip { position: absolute; width: 22px; height: 30px; border-radius: 7px; display: grid; place-items: center; background: #fff; box-shadow: 0 0 0 1px var(--line), 0 2px 6px rgba(15,27,28,.08); color: var(--mute); opacity: 0; z-index: 4; }
.ai-grip svg { width: 10px; height: 16px; }
.ai-grip.ai-hover { color: var(--teal-deep); box-shadow: 0 0 0 1.5px rgba(25,181,171,.6), 0 2px 6px rgba(15,27,28,.08); }
.ai-dropline { position: absolute; height: 2px; border-radius: 2px; background: var(--teal); opacity: 0; z-index: 4; pointer-events: none; }
.ai-dropline::before, .ai-dropline::after { content: ""; position: absolute; top: -3px; width: 8px; height: 8px; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px var(--teal); }
.ai-dropline::before { left: -5px; } .ai-dropline::after { right: -5px; }

/* right panel */
.ai-right { border-left: 1px solid var(--line); overflow: hidden; min-height: 0; }
.ai-pane { padding: 16px 18px 18px; border-bottom: 1px solid var(--line); }
.ai-pane h4 { display: flex; align-items: center; gap: 9px; margin: 0 0 4px; font-family: var(--display); font-size: 17px; font-weight: 600; letter-spacing: -0.02em; }
.ai-fld { font-size: 13px; color: var(--slate); margin: 12px 0 6px; }
.ai-inp { background: var(--paper-2); border-radius: 9px; padding: 9px 11px; font-size: 14px; color: var(--ink); min-height: 40px; line-height: 22px; }
.ai-inp:empty::before { content: attr(data-ph); color: #A9B3B1; }
.ai-inp.ai-focus { background: #fff; box-shadow: 0 0 0 1.5px var(--teal), 0 0 0 5px rgba(25,181,171,.14); }
.ai-inp .ai-caret { display: inline-block; width: 2px; height: 1.1em; vertical-align: -0.2em; background: var(--teal); }
.ai-brandrow { display: flex; align-items: center; gap: 10px; padding: 9px 11px; border-radius: 11px; box-shadow: inset 0 0 0 1px var(--line); font-size: 13.5px; white-space: nowrap; }
.ai-brandrow.ai-hover { box-shadow: inset 0 0 0 1.5px rgba(25,181,171,.6); background: #F2FBF9; }
.ai-dots { display: flex; }
.ai-dots i { width: 18px; height: 18px; border-radius: 50%; box-shadow: 0 0 0 2px #fff; margin-right: -5px; }
.ai-dots i:last-child { margin-right: 0; }
.ai-kv { display: flex; align-items: center; justify-content: space-between; margin-top: 9px; font-size: 13.5px; color: var(--slate); }
.ai-num { display: flex; align-items: center; gap: 4px; }
.ai-num span { background: var(--paper-2); border-radius: 8px; padding: 6px 9px; width: 68px; color: var(--ink); display: flex; justify-content: space-between; }
.ai-num small { color: var(--mute); }
.ai-num u { text-decoration: none; width: 20px; text-align: center; color: var(--mute); }

/* brand kit popover */
.ai-pop { position: absolute; z-index: 5; width: 300px; padding: 16px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px rgba(15,27,28,.08), 0 30px 60px -24px rgba(8,50,48,.4); opacity: 0; visibility: hidden; pointer-events: none; font-size: 14px; transform-origin: 100% 30%; }
.ai-pop h5 { margin: 0 0 12px; font-family: var(--display); font-size: 17px; font-weight: 600; letter-spacing: -0.02em; display: flex; align-items: center; }
.ai-pop h5 small { margin-left: auto; font-family: var(--mono); font-weight: 400; font-size: 12px; color: var(--mute); letter-spacing: 0; }
.ai-plogo { display: flex; align-items: center; gap: 9px; padding: 10px; border-radius: 11px; background: var(--paper-2); font-family: var(--email); font-weight: 700; font-size: 15px; }
.ai-plogo img { width: 26px; height: 26px; border-radius: 6px; }
.ai-plogo em { margin-left: auto; font-style: normal; font-family: var(--text); font-weight: 400; font-size: 12.5px; color: var(--mute); }
.ai-sws { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 10px 0; }
.ai-sw { border-radius: 11px; box-shadow: inset 0 0 0 1px var(--line); padding: 6px; }
.ai-sw b { display: block; height: 34px; border-radius: 7px; }
.ai-sw span { display: block; margin-top: 5px; font-family: var(--mono); font-size: 11.5px; color: var(--slate); }
.ai-sw.ai-pick { box-shadow: inset 0 0 0 2px #1F2BC4; }
.ai-pfont { display: flex; align-items: baseline; justify-content: space-between; padding: 6px 2px 12px; color: var(--slate); font-size: 13.5px; }
.ai-pfont b { font-family: var(--email); font-size: 17px; color: var(--ink); font-weight: 700; }
.ai-apply { display: flex; justify-content: center; padding: 11px; border-radius: 11px; background: var(--ink); color: #fff; font-weight: 500; font-size: 14px; }
.ai-apply.ai-hover { background: #22302F; }
.ai-apply.ai-press { transform: scale(.97); }

/* the receipt + export row: where the scene ends */
.ai-receipt { position: absolute; z-index: 5; right: 8px; width: 254px; padding: 16px 16px 14px; border-radius: 16px; background: #fff; box-shadow: 0 0 0 1px rgba(15,27,28,.08), 0 30px 60px -24px rgba(8,50,48,.45); font-size: 14px; opacity: 0; visibility: hidden; transform-origin: 85% 0; }
.ai-receipt::before { content: ""; position: absolute; right: 30px; top: -6px; width: 12px; height: 12px; background: #fff; transform: rotate(45deg); border-radius: 2px 0 0 0; box-shadow: -1px -1px 0 rgba(15,27,28,.08); }
.ai-receipt .ai-rtop { display: flex; align-items: center; gap: 9px; }
.ai-tick { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; background: var(--gloss); color: #fff; box-shadow: inset 0 0 0 1px rgba(6,92,88,.45), inset 0 1px 0 rgba(255,255,255,.45); }
.ai-tick .ai-ico { width: 15px; height: 15px; stroke-width: 2.4; }
.ai-receipt h5 { margin: 0; white-space: nowrap; font-family: var(--display); font-size: 16px; font-weight: 600; letter-spacing: -0.02em; }
.ai-receipt .ai-time { margin-left: auto; font-family: var(--mono); font-size: 12px; color: var(--mute); }
.ai-receipt ul { margin: 12px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; color: var(--slate); font-size: 13.5px; }
.ai-receipt li { display: flex; align-items: center; gap: 9px; }
.ai-receipt li .ai-ico { width: 14px; height: 14px; color: var(--teal-deep); stroke-width: 2.2; }
.ai-receipt li .ai-dots i { width: 14px; height: 14px; margin-right: -4px; }
.ai-xrow { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line-2); display: flex; flex-wrap: wrap; align-items: center; gap: 6px; white-space: nowrap; }
.ai-xrow .ai-k { width: 100%; font-size: 12px; color: var(--mute); }
.ai-xb { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 8px; border-radius: 9px; box-shadow: inset 0 0 0 1px var(--line); font-size: 12.5px; font-weight: 500; }
.ai-xb img { width: 14px; height: 14px; }

/* ---------- the Cmora cursor ---------- */
.ai-fx { position: absolute; inset: 0; pointer-events: none; z-index: 8; }
.ai-cursor { position: absolute; left: 0; top: 0; width: 0; height: 0; will-change: transform; opacity: 0; z-index: 2; --ai-hold: 0; }
.ai-pointer { position: absolute; left: -5px; top: -4px; width: 33px; height: 33px; overflow: visible; filter: drop-shadow(0 4px 5px rgba(6,70,66,.34)) drop-shadow(0 1px 1px rgba(6,70,66,.3)); transform-origin: 15% 11.9%; will-change: transform; }
.ai-tipglow { position: absolute; left: -16px; top: -16px; width: 32px; height: 32px; border-radius: 50%; background: radial-gradient(circle, rgba(90,219,208,.75) 0%, rgba(90,219,208,0) 68%); opacity: calc(var(--ai-hold) * .95); transform: scale(calc(.6 + .5 * var(--ai-hold))); }
.ai-ripple { position: absolute; left: -20px; top: -20px; width: 40px; height: 40px; border-radius: 50%; background: radial-gradient(circle, rgba(90,219,208,0) 40%, rgba(90,219,208,.75) 70%, rgba(90,219,208,0) 72%); opacity: 0; }
.ai-tag { position: absolute; left: 20px; top: 26px; display: flex; align-items: center; gap: 5px; white-space: nowrap; transform-origin: 0 0; }
.ai-name { position: relative; overflow: hidden; padding: 3px 10px 4px; border-radius: 999px; background: var(--gloss); color: #fff; font-family: var(--text); font-size: 12.5px; line-height: 16px; font-weight: 600; text-shadow: 0 1px 0 rgba(4,64,60,.35); box-shadow: inset 0 0 0 1px rgba(6,92,88,.5), inset 0 1px 0 rgba(255,255,255,.4), 0 6px 14px -6px rgba(6,70,66,.6); }
.ai-trail { position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; filter: blur(2.5px); }
.ai-ghost { position: absolute; left: 0; top: 0; opacity: 0; will-change: transform; z-index: 1; }
.ai-ghost .ai-tile { width: 104px; height: 60px; background: #fff; color: var(--ink); box-shadow: 0 0 0 1.5px rgba(25,181,171,.75), 0 22px 36px -14px rgba(8,60,58,.45), 0 4px 10px -4px rgba(8,60,58,.2); }
.ai-ghost .ai-tile .ai-ico { color: var(--teal-deep); }
.ai-ghost.ai-gbtn { font-family: var(--email); }
.ai-ghost .ai-ebtn { box-shadow: 0 18px 34px -12px rgba(13,21,18,.45), 0 0 0 1.5px rgba(255,255,255,.7); }

/* ---------- compact: tablets and phones (the scene's phone layout) ---------- */
@media (max-width: 1099px) {
  .ai-bubble { left: 12px; top: 12px; font-size: 17px; line-height: 23px; padding: 11px 18px 12px 16px; border-radius: 22px; white-space: normal; width: max-content; max-width: calc(100% - 40px); }
  .ai-bubble::before { height: 10px; left: 12px; right: 12px; }
  .ai-onit { font-size: 12px; padding: 4px 10px 5px; }
  .ai-win { width: calc(100% - 20px); border-radius: 16px; }
  .ai-bar, .ai-right, .ai-hide-c, .ai-tabs { display: none; }
  .ai-title { padding: 10px 12px; gap: 8px; }
  .ai-title h3 { font-size: 19px; }
  .ai-title .ai-back, .ai-title .ai-chip { display: none; }
  .ai-seg span { padding: 6px 8px; font-size: 0; gap: 0; }
  .ai-seg span .ai-ico { width: 15px; height: 15px; }
  .ai-btn.ai-export { padding: 7px 13px; font-size: 13px; }
  .ai-main { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; }
  .ai-left { grid-row: 2; border-right: 0; border-top: 1px solid var(--line); padding: 9px 9px 10px; gap: 7px; background: #fff; }
  .ai-airow { padding: 8px 11px; font-size: 13px; }
  .ai-steps { display: block; height: 16px; padding: 0 4px; font-size: 11.5px; overflow: hidden; }
  .ai-step { display: none; }
  .ai-step.ai-latest { display: flex; }
  .ai-tiles { grid-template-columns: repeat(6, 1fr); gap: 6px; }
  .ai-tile { height: 54px; font-size: 11px; gap: 3px; border-radius: 9px; }
  .ai-tile .ai-ico { width: 16px; height: 16px; }
  .ai-tile[data-k="image"], .ai-tile[data-k="list"], .ai-tile[data-k="divider"], .ai-tile[data-k="columns"] { display: none; }
  .ai-brandchip { display: flex; grid-column: span 2; height: 54px; border-radius: 9px; box-shadow: inset 0 0 0 1px var(--line); align-items: center; justify-content: center; flex-direction: column; gap: 4px; font-size: 11px; color: var(--slate); }
  .ai-brandchip .ai-dots i { width: 15px; height: 15px; }
  .ai-brandchip.ai-hover { box-shadow: inset 0 0 0 1.5px rgba(25,181,171,.6); background: #F2FBF9; }
  .ai-ghost .ai-tile { width: 60px; height: 54px; }
  .ai-scroll { padding: 10px 10px 30px; }
  .ai-inbox { display: flex; }
  .ai-card { --pad: 20px; --h1: 27px; --h1lh: 28px; width: 100%; padding: 22px var(--pad) 16px; border-radius: 14px; }
  .ai-elogo { padding-bottom: 16px; }
  .ai-elogo img { width: 26px; height: 26px; }
  .ai-h1 { padding-bottom: 10px; }
  .ai-txt { font-size: 14.5px; line-height: 22px; }
  .ai-txt p { margin-bottom: 9px; min-height: 22px; }
  .ai-body { padding-bottom: 16px; }
  .ai-card .ai-q { font-size: 16px; line-height: 23px; }
  .ai-etag { white-space: nowrap; font-size: 9px; letter-spacing: .05em; padding: 3px 6px; }
  .ai-quote { padding: 12px 14px 13px; }
  .ai-ebtnwrap { padding-bottom: 18px; }
  .ai-ebtn { padding: 11px 18px; font-size: 14px; min-height: 42px; }
  .ai-empty { height: 150px; }
  .ai-pop { width: min(290px, calc(100% - 20px)); transform-origin: 100% 100%; }
  .ai-receipt { left: 10px; right: 10px; width: auto; padding: 14px; }
  .ai-stage { padding-top: 22px; }
  .ai-xrow { flex-wrap: wrap; }
  .ai-xrow .ai-k { width: 100%; }
}
