/* GENERATED by tools/sync-apex-ui.mjs from packages/ui/src/emerald.css. Do not edit here; edit the source and re-run. */
/* Two reviewed anchors. Palette and typography are owned by cal-brand.css. */
[data-design="emerald"] body { background:var(--paper); }
[data-design="emerald"] :is(button,a,input,textarea,summary):focus-visible { outline:2px solid var(--signal);outline-offset:5px; }
[data-design="emerald"] .campaign .c-header { background:var(--paper);border:0; }
[data-design="emerald"] .campaign .c-header-inner { min-height:92px;border-bottom:1px solid var(--hairline); }
[data-design="emerald"] .campaign .c-wrap { width:min(1360px,calc(100% - 112px)); }
[data-design="emerald"] .campaign .c-button { border-radius:var(--r-full);padding:14px 24px;min-height:50px; }
[data-design="emerald"] .campaign .c-nav { gap:32px; }
[data-design="emerald"] .campaign .c-hero { overflow:hidden;padding:0; }
[data-design="emerald"] .campaign .c-hero-grid { grid-template-columns:1.05fr 1fr;gap:0;min-height:710px;padding:0;position:relative; }
[data-design="emerald"] .e-hero-copy { z-index:2;padding-block:90px 100px;pointer-events:none; }
[data-design="emerald"] .e-hero-copy a { pointer-events:auto; }
[data-design="emerald"] .e-hero-copy .c-kicker { font-size:12px;letter-spacing:.13em;display:flex;gap:10px;align-items:center; }
[data-design="emerald"] .e-live { width:6px;height:6px;border-radius:var(--r-full);background:var(--signal); }
[data-design="emerald"] .campaign h1.c-title { font:600 clamp(64px,6.4vw,100px)/1.04 var(--display);letter-spacing:-.04em;margin:30px -40px 26px 0; }
[data-design="emerald"] .campaign .c-title em { font-family:var(--serif);font-weight:400;font-style:italic;font-size:.86em;letter-spacing:-.065em;line-height:1.22;color:var(--signal);white-space:nowrap; }
[data-design="emerald"] .campaign .c-lead { font-size:18px;line-height:1.75;max-width:395px; }
[data-design="emerald"] .campaign .c-actions { gap:28px;align-items:center;margin-top:30px; }
[data-design="emerald"] .e-text-link { font-size:14px;text-decoration:none;padding-block:14px;border-bottom:1px solid var(--hairline-strong); }
[data-design="emerald"] .e-text-link span { margin-left:14px; }
[data-design="emerald"] .campaign .c-hero-note { margin-top:20px; }
[data-design="emerald"] .e-world { align-self:stretch;position:relative;isolation:isolate;min-height:680px; }
[data-design="emerald"] .e-art { position:absolute;inset:-24px -95px -20px -60px;z-index:-1;overflow:hidden;mask-image:linear-gradient(to right,transparent,var(--ink) 14%,var(--ink) 87%,transparent); }
[data-design="emerald"] .e-art img { width:100%;height:100%;object-fit:cover;object-position:center 46%; }
[data-design="emerald"] .e-orbit-label { position:absolute;padding:8px 12px;border-left:1px solid var(--hairline-strong);font-size:12px;letter-spacing:.14em;color:var(--ink-muted); }
[data-design="emerald"] .e-orbit-one { left:1%;top:19%; }
[data-design="emerald"] .e-orbit-two { right:-2%;top:38%; }
[data-design="emerald"] .e-workflow-glass { position:absolute;bottom:36px;left:7%;right:0;padding:20px 24px;background:var(--campaign-glass);border:1px solid var(--hairline-strong);border-radius:var(--r-md);backdrop-filter:blur(24px);box-shadow:var(--emerald-shadow),var(--emerald-inset); }
[data-design="emerald"] .campaign .c-plane { position:static;width:auto;height:auto;transform:none;padding:0;border:0;transition:none; }
[data-design="emerald"] .campaign .c-plane span { font:500 12px var(--sans);letter-spacing:.08em;color:var(--ink-muted); }
[data-design="emerald"] .campaign .c-plane h3 { font:500 23px/1.22 var(--display);letter-spacing:-.035em;margin:12px 0; }
[data-design="emerald"] .campaign .c-plane h3 br { display:none; }
[data-design="emerald"] .campaign .c-plane p { font:400 12px/1.5 var(--sans);color:var(--ink-muted);margin:0 0 18px; }
[data-design="emerald"] .campaign .c-flow { gap:0;border-top:1px solid var(--hairline); }
[data-design="emerald"] .campaign .c-flow button { border:0;border-radius:0;background:transparent;min-height:44px;padding:14px 8px 8px;color:var(--ink-muted);font-size:13px;display:flex;gap:8px;align-items:center; }
[data-design="emerald"] .campaign .c-flow button span { margin:0; }
[data-design="emerald"] .campaign .c-flow button[aria-pressed="true"] { background:transparent;color:var(--signal);box-shadow:inset 0 2px var(--signal); }
[data-design="emerald"] .campaign .c-flow-result { min-height:0;padding:14px 0 0; }
[data-design="emerald"] .campaign .c-flow-result strong { font-size:13px;margin:0 0 5px; }
[data-design="emerald"] .campaign .c-flow-result p { font-size:12px;line-height:1.6; }
[data-design="emerald"] .e-hero-footer { padding:26px 0;border-block:1px solid var(--hairline);display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px;color:var(--ink-muted); }
[data-design="emerald"] .e-hero-footer > span { letter-spacing:.1em; }
[data-design="emerald"] .e-hero-footer b { font-weight:500;color:var(--ink); }
[data-design="emerald"] .e-hero-footer a { text-decoration:none; }
[data-design="emerald"] .e-hero-footer a span { padding-left:24px; }
[data-design="emerald"] .campaign .c-section { padding:112px 0; }
[data-design="emerald"] .campaign .c-section h2 { font-family:var(--display);font-weight:500;line-height:1.12; }
[data-design="emerald"] .campaign .c-section h2 em { font-family:var(--serif);font-style:italic;color:var(--signal); }
[data-design="emerald"] .campaign .c-section-heading { grid-template-columns:1.3fr 1fr;gap:70px;margin-bottom:56px; }
[data-design="emerald"] .campaign .c-section-heading p { font-size:16px;max-width:340px;justify-self:end; }
[data-design="emerald"] .campaign .c-suite { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--hairline); }
[data-design="emerald"] .campaign .c-suite-group { display:grid;grid-template-columns:42px 1fr;gap:0 18px;border:0;border-bottom:1px solid var(--hairline);padding:36px 32px 36px 0;border-radius:0;background:transparent; }
[data-design="emerald"] .campaign .c-suite-group:nth-child(even) { padding-left:36px;border-left:1px solid var(--hairline); }
[data-design="emerald"] .campaign .c-suite-group > .c-kicker { grid-column:1;grid-row:1 / 4;padding-top:5px;color:var(--signal); }
[data-design="emerald"] .campaign .c-suite-group h3 { grid-column:2;font:500 27px/1.2 var(--display);margin:0 0 12px; }
[data-design="emerald"] .campaign .c-suite-group > p { grid-column:2;margin:0;min-height:0;max-width:330px;font-size:14px; }
[data-design="emerald"] .campaign .c-tools { grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:24px; }
[data-design="emerald"] .campaign .c-tools li { border:1px solid var(--hairline);padding:8px 12px;border-radius:var(--r-sm);gap:8px;font-size:13px;min-height:44px; }
[data-design="emerald"] .campaign .c-tools :is(a,button) { min-height:26px;display:inline-flex;align-items:center; }
[data-design="emerald"] .campaign .c-stage { font-size:12px; }
[data-design="emerald"] #proof { background:linear-gradient(150deg,var(--campaign-glow),transparent 65%),var(--paper-inset);border-block:1px solid var(--hairline); }
[data-design="emerald"] .loan-demo { box-shadow:var(--emerald-shadow);border-radius:var(--r-md);overflow:hidden; }
[data-design="emerald"] .campaign .c-evidence { padding-top:28px;background:var(--paper-inset); }
[data-design="emerald"] .campaign .c-evidence .container { width:min(1360px,calc(100% - 112px)); }
[data-design="emerald"] .campaign .c-price-box { background:linear-gradient(135deg,var(--campaign-glow),transparent),var(--paper-inset);box-shadow:var(--emerald-inset);padding:40px;border-radius:var(--r-lg); }
[data-design="emerald"] .campaign .c-price-number { font-family:var(--display);font-size:80px; }
[data-design="emerald"] .trial-form { box-shadow:var(--emerald-shadow); }
/* The workspace uses the same materials with quieter hierarchy. */
[data-design="emerald"] .cal-workspace .n-rail { background:var(--paper);width:224px;padding:16px 14px;border-right:1px solid var(--hairline); }
[data-design="emerald"] .cal-workspace .n-rail-item { min-height:42px;border-radius:var(--r-sm); }
[data-design="emerald"] .cal-workspace .n-rail-item[aria-current="page"] { background:var(--paper-raised);box-shadow:var(--emerald-inset); }
[data-design="emerald"] .cal-workspace .n-wrap { max-width:1440px;padding-inline:40px; }
[data-design="emerald"] .cal-workspace .n-top { min-height:76px;margin-bottom:0; }
[data-design="emerald"] .cal-workspace .ws-intro { grid-template-columns:1fr 230px;min-height:240px;padding:28px 0 24px;gap:0;overflow:hidden; }
[data-design="emerald"] .cal-workspace .ws-intro-copy { z-index:1; }
[data-design="emerald"] .cal-workspace .ws-eyebrow { letter-spacing:.11em;font-weight:500; }
[data-design="emerald"] .cal-workspace .hello { margin:0 0 8px;font-size:13px; }
[data-design="emerald"] .cal-workspace .ws-intro .ws-eyebrow { display:none; }
[data-design="emerald"] .cal-workspace .hero { font:500 clamp(36px,3.3vw,54px)/1.08 var(--display);letter-spacing:-.045em;margin:8px 0 14px; }
[data-design="emerald"] .cal-workspace .hero em { font:italic 400 1em/1.15 var(--serif);color:var(--signal);letter-spacing:-.055em; }
[data-design="emerald"] .cal-workspace .hero br { display:none; }
[data-design="emerald"] .cal-workspace .ws-lead { color:var(--ink-muted);font-size:14px;max-width:440px; }
[data-design="emerald"] .cal-workspace .ws-ecosystem { height:210px;width:280px;justify-self:end;border-radius:0;overflow:visible;background:transparent; }
[data-design="emerald"] .cal-workspace .ws-ecosystem img { object-fit:cover;object-position:center 48%;mask-image:linear-gradient(to right,transparent,var(--ink) 18%,var(--ink) 80%,transparent); }
[data-design="emerald"] .cal-workspace .ws-workbench { grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:24px;border:0; }
[data-design="emerald"] .cal-workspace .ws-compose { background:linear-gradient(135deg,var(--campaign-glow),transparent 65%),var(--paper-inset);border:1px solid var(--hairline-strong);padding:26px;border-radius:var(--r-lg);box-shadow:var(--emerald-inset),var(--emerald-shadow); }
[data-design="emerald"] .cal-workspace .ws-card-head { margin-bottom:22px; }
[data-design="emerald"] .cal-workspace .ws-card-head h2 { font:500 28px/1.2 var(--display);margin-top:10px; }
[data-design="emerald"] .cal-workspace .ask { padding:20px;background:var(--paper);border:1px solid var(--hairline);border-radius:var(--r-md); }
[data-design="emerald"] .cal-workspace .ask:focus-within { border-color:var(--signal); }
[data-design="emerald"] .cal-workspace .ask textarea { font-size:17px;min-height:146px; }
[data-design="emerald"] .cal-workspace .ask .n-cta { border-radius:var(--r-full);padding:10px 12px 10px 20px; }
[data-design="emerald"] .cal-workspace .starts { gap:12px; }
[data-design="emerald"] .cal-workspace #starters button { border-radius:var(--r-full);min-height:36px;padding:8px 12px;background:transparent; }
[data-design="emerald"] .cal-workspace .ws-side { background:transparent;border:0;padding:12px 0 0 4px; }
[data-design="emerald"] .cal-workspace .ws-side-heading h2 { font:500 24px/1.2 var(--display); }
[data-design="emerald"] .cal-workspace #recent button { font-size:13px;min-height:54px;padding:12px 0; }
[data-design="emerald"] .cal-workspace .ws-followups { margin-top:24px;padding:20px;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--emerald-soft); }
[data-design="emerald"] .cal-workspace .ws-followups h3 { font:500 20px var(--display); }
[data-design="emerald"] .cal-workspace .ws-task-form button { background:var(--paper-raised);color:var(--ink);border:1px solid var(--hairline-strong); }
[data-design="emerald"] .cal-workspace .ws-journey { margin:36px 0 0;border:0;border-radius:0;background:transparent; }
[data-design="emerald"] .cal-workspace .ws-journey-head { padding:0 0 18px;border:0; }
[data-design="emerald"] .cal-workspace .ws-stages { background:transparent;gap:10px; }
[data-design="emerald"] .cal-workspace .ws-stages button { background:var(--paper-inset);border:1px solid var(--hairline);border-radius:var(--r-md);padding:16px 12px;min-height:94px; }
[data-design="emerald"] .cal-workspace .ws-stages button[aria-pressed="true"] { background:var(--paper-raised);border-color:var(--hairline-strong);box-shadow:var(--emerald-inset); }
[data-design="emerald"] .cal-workspace .ws-stage-panel { padding:18px 0; }
[data-design="emerald"] .cal-workspace .ws-stage-panel p { max-width:360px; }
[data-design="emerald"] .cal-workspace .nums { padding-inline:0; }
[data-design="emerald"] .cal-workspace .tool-cols { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
[data-design="emerald"] .cal-workspace .tool-col { display:block;padding:20px;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--paper-inset); }
[data-design="emerald"] .cal-workspace .tool-col .grp { padding:0 8px 16px; }
[data-design="emerald"] .cal-workspace .tool-col :is(a,button) { border-radius:var(--r-sm); }
[data-design="emerald"] .cal-workspace .ws-preview { font-size:12px; }
@media(min-width:1200px) { [data-design="emerald"] .cal-workspace.n-has-rail { padding-left:224px; } }
@media(max-width:1100px) {
 [data-design="emerald"] .campaign .c-wrap { width:calc(100% - 64px); }
 [data-design="emerald"] .campaign .c-nav { gap:18px; }
 [data-design="emerald"] .campaign h1.c-title { font-size:68px; }
 [data-design="emerald"] .campaign .c-title em { font-size:.82em; }
 [data-design="emerald"] .e-hero-copy { padding-block:70px; }
 [data-design="emerald"] .e-world { min-height:640px; }
 [data-design="emerald"] .e-workflow-glass { left:4%;padding:18px; }
 [data-design="emerald"] .e-orbit-label { display:none; }
 [data-design="emerald"] .cal-workspace .ws-intro { grid-template-columns:1fr 190px; }
 [data-design="emerald"] .cal-workspace .ws-ecosystem { width:220px; }
}
@media(max-width:900px) {
 [data-design="emerald"] .campaign .c-hero-grid { grid-template-columns:1fr; }
 [data-design="emerald"] .e-hero-copy { padding:56px 0 0; }
 [data-design="emerald"] .campaign h1.c-title { font-size:82px;margin-right:0; }
 [data-design="emerald"] .campaign .c-lead { max-width:470px; }
 [data-design="emerald"] .e-world { min-height:650px;max-width:650px;width:100%;margin:auto; }
 [data-design="emerald"] .e-art { inset:-30px -20px; }
 [data-design="emerald"] .e-workflow-glass { left:12%;right:8%;bottom:24px; }
 [data-design="emerald"] .campaign .c-section-heading { grid-template-columns:1fr;gap:22px; }
 [data-design="emerald"] .campaign .c-section-heading p { justify-self:start;max-width:450px; }
 [data-design="emerald"] .cal-workspace .n-wrap { padding-inline:28px; }
 [data-design="emerald"] .cal-workspace .ws-workbench { grid-template-columns:1fr; }
 [data-design="emerald"] .cal-workspace .ws-side { display:grid;grid-template-columns:1fr 1fr;gap:0 28px;padding:20px 0; }
 [data-design="emerald"] .cal-workspace .ws-followups { grid-column:2;grid-row:2 / 5;margin:0; }
}
@media(max-width:640px) {
 [data-design="emerald"] .campaign .c-wrap { width:calc(100% - 40px); }
 [data-design="emerald"] .campaign .c-header-inner { min-height:78px;gap:12px; }
 [data-design="emerald"] .campaign .c-header-inner > .c-button { font-size:12px;padding:10px 14px;min-height:42px; }
 [data-design="emerald"] .campaign .c-menu { display:inline-flex;padding:10px 12px;min-height:42px; }
 [data-design="emerald"] .campaign .c-nav { background:var(--paper-inset); }
 [data-design="emerald"] .e-hero-copy { padding-top:38px; }
 [data-design="emerald"] .e-hero-copy .c-kicker { font-size:12px;letter-spacing:.04em; }
 [data-design="emerald"] .campaign h1.c-title { font-size:clamp(43px,11.8vw,72px);margin:24px 0 20px; }
 [data-design="emerald"] .campaign .c-title em { font-size:.91em; }
 [data-design="emerald"] .campaign .c-lead { font-size:16px;line-height:1.7; }
 [data-design="emerald"] .campaign .c-actions { gap:22px; }
 [data-design="emerald"] .campaign .c-button { padding:12px 18px; }
 [data-design="emerald"] .e-world { min-height:570px; }
 [data-design="emerald"] .e-art { inset:-5px -35px 0; }
 [data-design="emerald"] .e-workflow-glass { left:0;right:0;bottom:22px; }
 [data-design="emerald"] .campaign .c-plane h3 { font-size:22px; }
 [data-design="emerald"] .e-hero-footer { flex-wrap:wrap;padding:22px 0; }
 [data-design="emerald"] .e-hero-footer > span { flex-basis:100%;font-size:12px; }
 [data-design="emerald"] .campaign .c-section { padding:64px 0; }
 [data-design="emerald"] .campaign .c-section-heading { margin-bottom:30px; }
 [data-design="emerald"] .campaign .c-section h2 { font-size:36px; }
 [data-design="emerald"] .campaign .c-suite { grid-template-columns:1fr; }
 [data-design="emerald"] .campaign .c-suite-group,[data-design="emerald"] .campaign .c-suite-group:nth-child(even) { padding:28px 0;border-left:0;grid-template-columns:24px 1fr;gap:0 12px; }
 [data-design="emerald"] .campaign .c-suite-group h3 { font-size:25px; }
 [data-design="emerald"] .campaign .c-evidence .container { width:calc(100% - 40px); }
 [data-design="emerald"] .campaign .c-price-box { padding:28px; }
 [data-design="emerald"] .cal-workspace .n-wrap { padding-inline:20px; }
 [data-design="emerald"] .cal-workspace .ws-intro { grid-template-columns:1fr;min-height:0;padding:30px 0; }
 [data-design="emerald"] .cal-workspace .hero { font-size:38px; }
 [data-design="emerald"] .cal-workspace .hero br { display:block; }
 [data-design="emerald"] .cal-workspace .ws-ecosystem { display:none; }
 [data-design="emerald"] .cal-workspace .ws-compose { padding:22px 16px;border-radius:var(--r-md); }
 [data-design="emerald"] .cal-workspace .ws-card-head h2 { font-size:25px; }
 [data-design="emerald"] .cal-workspace .ask { padding:16px; }
 [data-design="emerald"] .cal-workspace .ask textarea { font-size:16px;min-height:150px; }
 [data-design="emerald"] .cal-workspace .ws-side { display:block; }
 [data-design="emerald"] .cal-workspace .ws-followups { margin-top:24px; }
 [data-design="emerald"] .cal-workspace .ws-stages button { min-height:108px; }
 [data-design="emerald"] .cal-workspace .tool-cols { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) { [data-design="emerald"] * { scroll-behavior:auto!important; } }

[data-design="emerald"] .campaign .c-suite-group .c-tools { grid-column:2;grid-row:auto; }
[data-design="emerald"] .campaign .c-tools li:first-child { padding:8px 12px;border:1px solid var(--hairline); }
[data-design="emerald"] .campaign .loan-demo h2 { font-size:30px;line-height:1.2;letter-spacing:-.035em; }

[data-design="emerald"] .e-hero-footer a { display:inline-flex;align-items:center;min-height:32px; }
[data-design="emerald"] .cal-workspace .ask textarea:focus-visible { outline:1px solid var(--hairline-strong);outline-offset:4px;border-radius:var(--r-sm); }
/* Emerald controls and ivory headlines are the default review direction. */
[data-design="emerald"] .campaign .c-button-primary,
[data-design="emerald"] .cal-workspace .n-cta { background:var(--emerald-action);border-color:var(--hairline-strong);color:var(--emerald-action-ink); }
[data-design="emerald"] .campaign .c-button-primary:hover,
[data-design="emerald"] .cal-workspace .n-cta:hover { background:var(--emerald-action-hover); }
[data-design="emerald"] .campaign .c-title em,
[data-design="emerald"] .campaign .c-section h2 em,
[data-design="emerald"] .cal-workspace .hero em { color:var(--ink); }
[data-design="emerald"] .campaign #trial button[type="submit"] { background:var(--emerald-action);color:var(--emerald-action-ink); }
[data-design="emerald"][data-type] .campaign h1.c-title { font-weight:600;letter-spacing:-.045em; }

/* October refinement: a compact working desk and one public file walkthrough. */
[data-design="emerald"] .cal-workspace .ws-intro { min-height:142px;grid-template-columns:minmax(0,1fr) 160px;padding:22px 0; }
[data-design="emerald"] .cal-workspace .hero { font-size:clamp(32px,2.7vw,44px);margin:6px 0 10px; }
[data-design="emerald"] .cal-workspace .ws-lead { margin:0;max-width:none; }
[data-design="emerald"] .cal-workspace .ws-ecosystem { width:180px;height:138px; }
[data-design="emerald"] .cal-workspace .ws-workbench { grid-template-columns:minmax(0,1.65fr) minmax(260px,1fr);gap:32px; }
[data-design="emerald"] .cal-workspace .ws-compose { padding:22px;background:linear-gradient(145deg,var(--campaign-glow),transparent 70%),var(--paper-inset); }
[data-design="emerald"] .cal-workspace .ws-card-head { margin-bottom:16px;align-items:center;gap:10px; }
[data-design="emerald"] .cal-workspace .ws-card-head h2 { font:500 14px/1.4 var(--sans);margin:0;letter-spacing:0; }
[data-design="emerald"] .cal-workspace .ws-cited { display:flex;font-size:12px;padding:0;gap:10px; }
[data-design="emerald"] .cal-workspace .ask { padding:0;background:transparent;border:0;border-radius:0; }
[data-design="emerald"] .cal-workspace .ask textarea { min-height:96px;max-height:260px;font-size:20px;line-height:1.5;padding:4px 0; }
[data-design="emerald"] .cal-workspace .ws-compose:focus-within { border-color:var(--signal);outline:2px solid var(--signal);outline-offset:3px; }
[data-design="emerald"] .cal-workspace .ask .n-chips { margin:12px 0; }
[data-design="emerald"] .cal-workspace #scenarioFacts[hidden],
[data-design="emerald"] .cal-workspace #starters button[hidden] { display:none; }
[data-design="emerald"] .cal-workspace .ask-bar { border-top:1px solid var(--hairline);padding-top:16px; }
[data-design="emerald"] .cal-workspace .ask-hint { flex-basis:auto;margin-left:8px;max-width:180px; }
[data-design="emerald"] .cal-workspace .ask-tools { align-items:center; }
[data-design="emerald"] .cal-workspace .starts { margin-top:16px;gap:8px; }
[data-design="emerald"] .cal-workspace .starts .lbl { font-size:12px; }
[data-design="emerald"] .cal-workspace #starters { gap:6px; }
[data-design="emerald"] .cal-workspace #starters button { min-height:32px;padding:5px 10px;font-size:12px;border-color:var(--hairline); }
[data-design="emerald"] .cal-workspace .ws-more { align-self:flex-start;min-height:32px;border:0;padding:4px 0;background:transparent;color:var(--ink-muted);font:12px var(--sans);cursor:pointer; }
[data-design="emerald"] .cal-workspace .ws-more:hover { color:var(--ink); }
[data-design="emerald"] .cal-workspace .ws-input-note { margin-top:4px;font-size:12px;color:var(--ink-muted); }
[data-design="emerald"] .cal-workspace .ws-side { padding:3px 0 0;display:block; }
[data-design="emerald"] .cal-workspace .ws-side-heading h2 { font:500 20px/1.3 var(--display);margin:0 0 18px; }
[data-design="emerald"] .cal-workspace #recentGrp { margin-top:0; }
[data-design="emerald"] .cal-workspace #recentGrp > .lbl { display:none; }
[data-design="emerald"] .cal-workspace #recent button { position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:14px 22px 14px 0;min-height:70px;text-align:left; }
[data-design="emerald"] .cal-workspace .ws-recent-title { font-size:13px;line-height:1.45; }
[data-design="emerald"] .cal-workspace .ws-recent-meta { font:12px var(--sans);color:var(--ink-muted); }
[data-design="emerald"] .cal-workspace .ws-recent-arrow { position:absolute;right:0;top:18px;font:16px var(--sans);color:var(--ink-muted);transition:translate 160ms var(--campaign-ease); }
[data-design="emerald"] .cal-workspace #recent button:hover .ws-recent-arrow { translate:2px -2px; }
[data-design="emerald"] .cal-workspace .ws-followups { margin-top:22px;padding:18px 0 0;border:0;border-top:1px solid var(--hairline);border-radius:0;background:transparent; }
[data-design="emerald"] .cal-workspace .ws-followups h3 { font-size:16px; }
[data-design="emerald"] .cal-workspace .ws-followups > p { margin:6px 0;color:var(--ink-muted); }
[data-design="emerald"] .cal-workspace :is(.ws-add-step,.ws-coverage) > summary { cursor:pointer;display:flex;align-items:center;gap:18px;min-height:40px;list-style:none;font:13px var(--sans); }
[data-design="emerald"] .cal-workspace :is(.ws-add-step,.ws-coverage) > summary::-webkit-details-marker { display:none; }
[data-design="emerald"] .cal-workspace .ws-add-step > summary span { margin-left:auto; }
[data-design="emerald"] .cal-workspace .ws-add-step[open] > summary { margin-bottom:12px; }
[data-design="emerald"] .cal-workspace .ws-coverage { margin:24px 0 12px;border-block:1px solid var(--hairline);padding:6px 0;color:var(--ink-muted); }
[data-design="emerald"] .cal-workspace .nums { margin:0;border:0;padding-block:16px; }
[data-design="emerald"] .cal-workspace .ws-tool-drawer { margin-top:24px;border-block:1px solid var(--hairline); }
[data-design="emerald"] .cal-workspace .ws-tool-drawer > summary { display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 0;cursor:pointer;list-style:none; }
[data-design="emerald"] .cal-workspace .ws-tool-drawer > summary::-webkit-details-marker { display:none; }
[data-design="emerald"] .cal-workspace .ws-tool-title { display:block;font:500 24px/1.2 var(--display);margin-top:8px; }
[data-design="emerald"] .cal-workspace .ws-tool-toggle { font-size:13px;display:flex;gap:20px;align-items:center; }
[data-design="emerald"] .cal-workspace .ws-tool-drawer[open] .ws-tool-toggle > span { rotate:45deg; }
[data-design="emerald"] .cal-workspace .tool-cols { padding-bottom:24px; }
[data-design="emerald"] .cal-workspace .quest { margin-top:20px; }
[data-design="emerald"] .cal-workspace .promise { margin-top:20px;color:var(--ink-muted); }
[data-design="emerald"] .e-demo-invite h3 { font:500 28px/1.12 var(--display);margin:12px 0;letter-spacing:-.025em; }
[data-design="emerald"] .e-demo-invite p { font-size:13px;margin-bottom:16px; }
[data-design="emerald"] .e-demo-invite a { font-size:13px;min-height:32px;display:inline-flex;align-items:center;gap:24px; }
[data-design="emerald"] .fd-section { scroll-margin-top:90px; }
[data-design="emerald"] .fd-demo { border:1px solid var(--hairline-strong);border-radius:var(--r-lg);overflow:hidden;background:var(--paper-inset);box-shadow:var(--emerald-shadow); }
[data-design="emerald"] .fd-topline { display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 28px;border-bottom:1px solid var(--hairline);font:12px/1.5 var(--sans);color:var(--ink-muted); }
[data-design="emerald"] .fd-file-mark { display:flex;align-items:center;gap:12px;letter-spacing:.07em;color:var(--ink); }
[data-design="emerald"] .fd-example-label { white-space:nowrap; }
[data-design="emerald"] .fd-nav { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--hairline); }
[data-design="emerald"] .fd-nav button { position:relative;border:0;border-right:1px solid var(--hairline);padding:22px 24px 18px;display:grid;grid-template-columns:24px 1fr;gap:8px;background:transparent;text-align:left;color:var(--ink-muted);font:500 16px/1.4 var(--sans);cursor:pointer; }
[data-design="emerald"] .fd-nav button:last-child { border-right:0; }
[data-design="emerald"] .fd-nav button::after { content:'';position:absolute;inset:auto 0 0;height:3px;background:var(--signal);transform:scaleX(0);transform-origin:left;transition:transform 260ms var(--campaign-ease); }
[data-design="emerald"] .fd-nav button[aria-selected="true"] { color:var(--ink);background:var(--emerald-soft); }
[data-design="emerald"] .fd-nav button[aria-selected="true"]::after { transform:scaleX(1); }
[data-design="emerald"] .fd-nav button > span:first-child { font-size:12px;padding-top:3px; }
[data-design="emerald"] .fd-step-note { grid-column:2;font:12px/1.5 var(--sans); }
[data-design="emerald"] .fd-panel { display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center;padding:48px;min-height:440px;box-sizing:border-box;background:radial-gradient(ellipse at 90% 10%,var(--campaign-glow),transparent 60%); }
[data-design="emerald"] .fd-panel[hidden] { display:none; }
[data-design="emerald"] .fd-story h3 { font:500 clamp(28px,3vw,42px)/1.12 var(--display);letter-spacing:-.035em;margin:18px 0; }
[data-design="emerald"] .fd-story > p { max-width:350px;font-size:15px;line-height:1.75;color:var(--ink-muted); }
[data-design="emerald"] .fd-story > a { margin-top:20px; }
[data-design="emerald"] .fd-tool-label { display:inline-flex;border-bottom:1px solid var(--hairline-strong);font:500 13px/1.5 var(--sans);padding:16px 0 8px;margin-top:10px; }
[data-design="emerald"] .fd-visual { min-width:0; }
[data-design="emerald"] .fd-document,[data-design="emerald"] .fd-evidence,[data-design="emerald"] .fd-brief { padding:26px;border:1px solid var(--hairline-strong);border-radius:var(--r-md);background:var(--paper);box-shadow:var(--emerald-inset); }
[data-design="emerald"] .fd-document-top { display:flex;justify-content:space-between;align-items:center;color:var(--ink-muted);font:12px var(--sans);letter-spacing:.08em; }
[data-design="emerald"] .fd-visual h4 { font:500 24px/1.25 var(--display);letter-spacing:-.025em;margin:20px 0; }
[data-design="emerald"] .fd-document dl { margin:0; }
[data-design="emerald"] .fd-document dl > div { display:grid;grid-template-columns:1fr 1.2fr;gap:14px;border-top:1px solid var(--hairline);padding:11px 0;font:13px/1.5 var(--sans); }
[data-design="emerald"] .fd-document dt { color:var(--ink-muted); }
[data-design="emerald"] .fd-document dd { margin:0; }
[data-design="emerald"] .fd-annotation { border-top:1px solid var(--hairline);padding-top:14px;margin:16px 0 0;font:12px/1.6 var(--sans);color:var(--ink-muted); }
[data-design="emerald"] .fd-route { display:flex;gap:18px;padding:24px;border:1px solid var(--hairline-strong);border-radius:var(--r-md);background:var(--paper); }
[data-design="emerald"] .fd-route + .fd-route { margin-top:14px; }
[data-design="emerald"] .fd-route-index { flex:none;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--hairline-strong);border-radius:var(--r-full);color:var(--ink);font:500 14px var(--sans);background:var(--emerald-soft); }
[data-design="emerald"] .fd-route h4 { margin:0;font-size:20px; }
[data-design="emerald"] .fd-route p { font-size:13px;line-height:1.6;color:var(--ink-muted);margin:10px 0; }
[data-design="emerald"] .fd-status { display:inline-flex;font:12px/1.5 var(--sans);padding:4px 9px;border:1px solid var(--hairline-strong);border-radius:var(--r-full);color:var(--ink); }
[data-design="emerald"] .fd-evidence-head { display:flex;align-items:center;justify-content:space-between;gap:12px;font:12px var(--sans);color:var(--ink-muted); }
[data-design="emerald"] .fd-checks { padding:0;margin:0;list-style:none; }
[data-design="emerald"] .fd-checks li { padding:12px 0;border-top:1px solid var(--hairline);font:13px/1.6 var(--sans);display:flex;gap:12px; }
[data-design="emerald"] .fd-checks li span { font-size:18px;line-height:1; }
[data-design="emerald"] .fd-brief ol { padding:0;list-style:none;margin:0; }
[data-design="emerald"] .fd-brief li { display:flex;gap:16px;padding:14px 0;border-top:1px solid var(--hairline); }
[data-design="emerald"] .fd-brief li > span { font:12px/1.6 var(--sans);color:var(--ink-muted);padding-top:3px; }
[data-design="emerald"] .fd-brief li b { font:500 14px/1.5 var(--sans); }
[data-design="emerald"] .fd-brief li p { margin:5px 0 0;font:12px/1.6 var(--sans);color:var(--ink-muted); }
[data-design="emerald"] .fd-bottom { display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 28px;border-top:1px solid var(--hairline); }
[data-design="emerald"] .fd-bottom > p { font:12px/1.5 var(--sans);margin:0;color:var(--ink-muted); }
[data-design="emerald"] .fd-controls { display:flex;gap:20px; }
[data-design="emerald"] .fd-controls button { min-height:40px;border:0;background:transparent;color:var(--ink);font:13px/1.5 var(--sans);cursor:pointer; }
[data-design="emerald"] .fd-controls #fd-next { border:1px solid var(--hairline-strong);padding:9px 16px;border-radius:var(--r-full);background:var(--emerald-action);color:var(--emerald-action-ink); }
[data-design="emerald"] .fd-controls button[hidden] { display:none; }
[data-design="emerald"] .fd-boundary { font:12px/1.65 var(--sans);color:var(--ink-muted);max-width:750px;margin:20px 0 0; }
@media(max-width:1100px) {
 [data-design="emerald"] .cal-workspace .ws-workbench { gap:24px; }
 [data-design="emerald"] .cal-workspace .ws-cited { display:none; }
 [data-design="emerald"] .fd-panel { padding:32px;gap:28px; }
 [data-design="emerald"] .fd-nav button { padding-inline:16px; }
}
@media(max-width:900px) {
 [data-design="emerald"] .cal-workspace .ws-workbench { grid-template-columns:1fr; }
 [data-design="emerald"] .cal-workspace .ws-side { padding-top:12px; }
 [data-design="emerald"] .fd-panel { grid-template-columns:1fr;gap:24px;min-height:0; }
 [data-design="emerald"] .fd-story > p { max-width:none; }
 [data-design="emerald"] .fd-story h3 br { display:none; }
 [data-design="emerald"] .fd-topline { flex-wrap:wrap; }
 [data-design="emerald"] .fd-step-note { display:none; }
}
@media(max-width:640px) {
 [data-design="emerald"] .cal-workspace .ws-intro { grid-template-columns:1fr;min-height:0;padding:24px 0; }
 [data-design="emerald"] .cal-workspace .hero { font-size:34px; }
 [data-design="emerald"] .cal-workspace .hero br { display:none; }
 [data-design="emerald"] .cal-workspace .ws-compose { padding:18px; }
 [data-design="emerald"] .cal-workspace .ask textarea { font-size:18px;min-height:100px; }
 [data-design="emerald"] .cal-workspace .ask-hint { display:none; }
 [data-design="emerald"] .cal-workspace .ws-tool-title { font-size:21px; }
 [data-design="emerald"] .cal-workspace .ws-tool-toggle { font-size:12px;gap:10px; }
 [data-design="emerald"] .fd-topline { padding:18px;gap:10px; }
 [data-design="emerald"] .fd-file-mark { font-size:12px;letter-spacing:0; }
 [data-design="emerald"] .fd-example-label { white-space:normal; }
 [data-design="emerald"] .fd-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
 [data-design="emerald"] .fd-nav button { padding:14px 12px;min-height:60px;font-size:13px;gap:5px; }
 [data-design="emerald"] .fd-nav button:nth-child(2) { border-right:0; }
 [data-design="emerald"] .fd-nav button:nth-child(-n+2) { border-bottom:1px solid var(--hairline); }
 [data-design="emerald"] .fd-panel { padding:24px 18px; }
 [data-design="emerald"] .fd-story h3 { font-size:30px; }
 [data-design="emerald"] .fd-document,[data-design="emerald"] .fd-evidence,[data-design="emerald"] .fd-brief { padding:20px 16px; }
 [data-design="emerald"] .fd-route { padding:18px 14px;gap:12px; }
 [data-design="emerald"] .fd-evidence-head { flex-wrap:wrap; }
 [data-design="emerald"] .fd-bottom { flex-wrap:wrap;padding:16px 18px;gap:8px; }
 [data-design="emerald"] .fd-controls { width:100%;justify-content:space-between;gap:8px; }
}
@media(prefers-reduced-motion:reduce) { [data-design="emerald"] .fd-demo * { animation:none!important;transition:none!important; } }
[data-design="emerald"][data-motion="reduced"] .fd-demo * { animation:none!important;transition:none!important; }

/* Keep the invitation compact and let the artwork breathe on stacked layouts. */
[data-design="emerald"] .e-demo-invite { padding:22px 24px; }
[data-design="emerald"] .e-demo-invite h3 { margin:12px 0 10px;font-size:26px;line-height:1.18; }
[data-design="emerald"] .e-demo-invite p { margin:0 0 14px;line-height:1.6; }
[data-design="emerald"] .e-demo-invite a { padding-block:8px;gap:16px; }
[data-design="emerald"] .e-demo-invite a span { margin-left:0; }
[data-design="emerald"] [data-ambient-toggle][hidden] { display:none; }
[data-design="emerald"][data-ambient="running"] .e-art { animation:cal-emerald-drift 24s ease-in-out infinite alternate; }
@keyframes cal-emerald-drift {
 from { transform:translate3d(-3px,3px,0) scale(1.015); }
 to { transform:translate3d(4px,-5px,0) scale(1.035); }
}
@media(max-width:900px) {
 [data-design="emerald"] .e-world { min-height:0;padding-top:340px;margin-top:24px; }
 [data-design="emerald"] .e-art { inset:0 -20px auto;height:460px; }
 [data-design="emerald"] .e-art img { object-position:center 38%; }
 [data-design="emerald"] .e-demo-invite { position:relative;left:auto;right:auto;bottom:auto;margin:0 0 28px;width:100%;box-sizing:border-box; }
}
@media(max-width:640px) {
 [data-design="emerald"] .e-world { padding-top:clamp(220px,56vw,340px);margin-top:20px; }
 [data-design="emerald"] .e-art { inset:0 -16px auto;height:clamp(330px,84vw,460px); }
 [data-design="emerald"] .e-demo-invite { padding:20px;margin-bottom:24px; }
 [data-design="emerald"] .e-demo-invite h3 { font-size:24px; }
 [data-design="emerald"] .e-hero-footer { gap:14px 24px; }
}
@media(prefers-reduced-motion:reduce) {
 [data-design="emerald"][data-ambient="running"] .e-art { animation:none; }
}
[data-design="emerald"][data-motion="reduced"] .e-art { animation:none; }

[data-design="emerald"] .e-research-link { display:inline-flex;align-items:center;min-height:32px;overflow-wrap:anywhere; }

/* One shared focus ring for the composer replaces nested form/textarea rings.
   Buttons retain their individual keyboard indicators. */
[data-design="emerald"] .cal-workspace .ws-compose { border-radius:var(--r-lg); }
[data-design="emerald"] .cal-workspace .ws-compose:focus-within { border-color:var(--hairline-strong);outline:2px solid var(--signal);outline-offset:3px; }
[data-design="emerald"] .cal-workspace .ask { border-radius:var(--r-md); }
[data-design="emerald"] .cal-workspace .ask:focus-within,
[data-design="emerald"] .cal-workspace .ask textarea:focus-visible { outline-color:transparent; }
[data-design="emerald"] .cal-workspace .ask-bar { border-top:0;padding-top:10px; }
[data-design="emerald"] .cal-workspace .ask .n-cta { transition:transform 180ms ease,background-color 180ms ease; }
[data-design="emerald"] .cal-workspace .ask .n-cta:hover { transform:translateY(-2px); }
[data-design="emerald"] .cal-workspace .ask .n-cta:active { transform:translateY(0); }
@media(prefers-reduced-motion:reduce) {
 [data-design="emerald"] .cal-workspace .ask .n-cta { transition:none;transform:none; }
}
[data-design="emerald"][data-motion="reduced"] .cal-workspace .ask .n-cta { transition:none;transform:none; }

/* Crystal identity: a clear silhouette, steady controls and a slow ambient breath. */
[data-design="emerald"] .cal-workspace .ws-ecosystem { position:relative;width:200px;height:138px; }
[data-design="emerald"] .cal-workspace .ws-ecosystem img { display:block;width:100%;height:138px;object-position:center 45%;mask-image:linear-gradient(to right,transparent,var(--ink) 7%,var(--ink) 93%,transparent); }
[data-design="emerald"] .ws-art-motion { position:absolute;bottom:-28px;right:0;min-height:28px;padding:4px 10px;border:0;border-radius:var(--r-full);background:transparent;color:var(--ink-muted);font:400 12px var(--sans);cursor:pointer; }
[data-design="emerald"] .ws-art-motion:hover { color:var(--ink);background:var(--paper-inset); }
[data-design="emerald"][data-ambient="running"] .ws-ecosystem img { animation:cal-crystal-breathe 10s ease-in-out infinite alternate; }
@keyframes cal-crystal-breathe {
 from { transform:translateY(1px) scale(1);opacity:.88; }
 to { transform:translateY(-3px) scale(1.035);opacity:1; }
}
[data-design="emerald"][data-request-state="working"][data-ambient="running"] .ws-ecosystem img { animation-duration:3s; }
@media(prefers-reduced-motion:reduce) {
 [data-design="emerald"][data-ambient="running"] .ws-ecosystem img { animation:none; }
}
[data-design="emerald"][data-motion="reduced"] .ws-ecosystem img { animation:none; }

/* The invitation follows the hero, leaving the crystal artwork unobstructed. */
[data-design="emerald"] .c-hero > .c-wrap > .e-demo-invite { position:relative;inset:auto;width:calc(100% / 2.05);box-sizing:border-box;margin:40px 0 32px auto; }
@media(max-width:900px) {
 [data-design="emerald"] .c-hero .e-world { padding-top:0;height:460px; }
 [data-design="emerald"] .c-hero > .c-wrap > .e-demo-invite { width:100%;margin:32px 0; }
}
@media(max-width:640px) {
 [data-design="emerald"] .c-hero .e-world { height:clamp(330px,84vw,460px); }
}

/* Real geometry is progressive enhancement; the original art stays as fallback. */
[data-design="emerald"] .e-crystal-stage { position:absolute;inset:0;visibility:hidden; }
[data-design="emerald"] .e-world[data-crystal="ready"] .e-crystal-stage { visibility:visible; }
[data-design="emerald"] .e-world[data-crystal="ready"] .e-art { visibility:hidden;animation:none; }
[data-design="emerald"] .e-crystal-canvas { display:block;width:100%;height:100%;touch-action:pan-y;cursor:grab; }
[data-design="emerald"] .e-crystal-canvas:active { cursor:grabbing; }
[data-design="emerald"] .e-crystal-canvas:focus-visible { outline:2px solid var(--ink);outline-offset:-4px; }
[data-design="emerald"] .e-crystal-instruction { position:absolute;bottom:-14px;left:0;right:0;text-align:center;color:var(--ink-muted);font-size:12px;letter-spacing:.03em;pointer-events:none; }
[data-design="emerald"] .e-crystal-hotspots { display:flex;flex-wrap:wrap;gap:6px;margin:18px 0; }
[data-design="emerald"] .e-crystal-hotspots button { min-height:44px;padding:8px 12px;border:1px solid var(--hairline);border-radius:var(--r-full);background:transparent;color:var(--ink-muted);font:400 13px var(--sans);cursor:pointer; }
[data-design="emerald"] .e-crystal-hotspots button:hover,[data-design="emerald"] .e-crystal-hotspots button[aria-pressed="true"] { color:var(--ink);background:var(--campaign-raised);border-color:var(--campaign-edge); }
[data-design="emerald"] .e-crystal-hotspots button:focus-visible { outline:2px solid var(--ink);outline-offset:3px; }
[data-design="emerald"] .e-hero-explore { display:grid;grid-template-columns:1.05fr 1fr;gap:40px;margin:40px 0 32px;align-items:start; }
[data-design="emerald"] .e-hero-explore > .e-demo-invite { position:relative;inset:auto;margin:0;box-sizing:border-box; }
[data-design="emerald"] .e-crystal-detail { padding:22px 0;max-width:470px; }
[data-design="emerald"] .e-crystal-detail h2 { font:500 28px/1.16 var(--display);letter-spacing:-.03em;margin:12px 0; }
[data-design="emerald"] .e-crystal-detail p { font-size:15px;line-height:1.6;color:var(--ink-muted);margin:0 0 12px; }
[data-design="emerald"] .e-crystal-detail .e-crystal-caption { font-size:12px;margin-top:24px; }
@media(max-width:900px) {
 [data-design="emerald"] .e-hero-explore { grid-template-columns:1fr;gap:20px;margin:32px 0; }
 [data-design="emerald"] .e-crystal-detail { padding:0;max-width:none; }
}
[data-design="emerald"] .e-crystal-stage { mask-image:linear-gradient(to bottom,transparent,var(--ink) 5%,var(--ink) 82%,transparent),linear-gradient(to right,transparent,var(--ink) 6%,var(--ink) 94%,transparent);mask-composite:intersect; }

/* Hero exploration: controls and explanations remain below the art. */
[data-design="emerald"] .e-crystal-toolbar { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 0 auto;width:calc(100% / 2.05);padding-top:8px; }
[data-design="emerald"] .e-crystal-toolbar > div { display:flex;gap:12px;flex-wrap:wrap; }
[data-design="emerald"] .e-crystal-toolbar button { min-height:44px; }
[data-design="emerald"] .e-crystal-scenario { font:500 14px var(--sans);color:var(--ink);background:transparent;border:0;cursor:pointer;padding:8px 0; }
[data-design="emerald"] .e-crystal-scenario[aria-pressed="true"] { text-decoration:underline;text-underline-offset:6px; }
[data-design="emerald"] .e-crystal-hotspots button[aria-pressed="true"] { box-shadow:inset 0 -2px var(--ink);font-weight:600; }
[data-design="emerald"] .e-crystal-detail .e-crystal-example { font-size:12px;color:var(--ink-muted);padding-bottom:12px;border-bottom:1px solid var(--hairline); }
[data-design="emerald"] .e-crystal-story { min-height:152px; }
[data-design="emerald"] .e-world[data-crystal="fallback"] .e-art { animation:none; }
[data-design="emerald"] .e-crystal-toolbar button:disabled { cursor:default;opacity:.75; }
@media(max-width:900px) {
 [data-design="emerald"] .e-crystal-toolbar { width:100%;margin:0; }
}
@media(max-width:640px) {
 [data-design="emerald"] .e-crystal-toolbar { gap:4px; }
 [data-design="emerald"] .e-crystal-toolbar > div { gap:16px; }
 [data-design="emerald"] .e-crystal-story { min-height:190px; }
}

@media(max-width:640px) {
 [data-design="emerald"] .e-crystal-instruction { font-size:12px;bottom:-12px;line-height:1.4; }
 [data-design="emerald"] .e-crystal-toolbar { padding-top:22px; }
}

/* CRM kit: scoped to launch pages and em-* components. */
/* =============================================================================
 * @cal/ui Emerald: the askcal.io launch look, as a kit for signed-in CRM pages.
 * -----------------------------------------------------------------------------
 * Decision: D8_vibe = EMERALD, Chris, 2026-10-19. The CRM surfaces (Today,
 * Pipeline, Contacts, the contact page, the composer, where-are-we) use the
 * launch look from apps/apex/css/launch.css. For these pages that decision
 * overrides the older paper and Night rules on glass and the gradient button.
 *
 * Load order on a page that sets <html data-theme="launch">:
 *
 *   <link rel="stylesheet" href="../../packages/ui/src/index.css">
 *   <link rel="stylesheet" href="../../packages/ui/src/night.css">
 *   <link rel="stylesheet" href="../../packages/ui/src/emerald.css">
 *
 * night.css stays loaded because night.js builds the shell (header, rail, jump
 * menu, account menu, footer) from .n-* classes. night.js has no theme check, so
 * it draws on a launch page unchanged. What it cannot do is paint: night.css
 * reads the paper vocabulary (--paper, --ink, --green and friends). The token
 * bridge below, scoped to html[data-theme="launch"], points that vocabulary at
 * the --launch-* tokens. No chrome is forked and night.css does not change.
 *
 * Rules that still bind here: every colour is a var(--launch-*) token (this file
 * has no hex and no rgb, and no :root block; the values live in cal-brand.css),
 * radii are 7 / 14 / 28 through --launch-control-radius, --launch-panel-radius
 * and --launch-object-radius, mint is for the live dot, the cited square, the
 * primary action and the verdict word and nothing else, no em dashes, motion
 * stops under prefers-reduced-motion.
 * ============================================================================= */

/* ---------- Token bridge ----------
 * Three attribute selectors on purpose. cal-brand.css has a dark-mode block,
 * :root:not([data-theme="light"]):not([data-theme="night"]), at (0,3,0) that
 * would otherwise repaint the paper vocabulary on a dark-mode device. (0,3,1)
 * wins without !important. The component tokens (--btn-*, --card-*, --input-*)
 * are declared on [data-theme] and resolve their var() on this same element, so
 * overriding the base names here carries them; only the ones that differ from
 * Night are set again. */
html[data-theme="launch"][data-theme="launch"][data-theme="launch"] {
  color-scheme: dark;

  --paper:        var(--launch-bg);
  --paper-inset:  var(--launch-glass-lowlight);
  --paper-raised: var(--launch-glass-deep);
  --night-hover:  var(--launch-glass-center);
  --ink:          var(--launch-text);
  --ink-muted:    var(--launch-muted);
  --ink-faint:    var(--launch-countdown-divider);
  --hairline:     var(--launch-line);
  --hairline-strong: var(--launch-line-strong);

  --green:        var(--launch-mint);
  --green-strong: var(--launch-mint);
  --green-dark:   var(--launch-mint);
  --green-deep:   var(--launch-focus);
  --green-hover:  var(--launch-focus);
  --green-active: var(--launch-mint);
  --signal:       var(--launch-mint);
  --on-signal:    var(--launch-ink);
  --on-green:     var(--launch-ink);
  --on-alert:     var(--launch-ink);

  --status-approved: var(--launch-mint);
  --status-alert:    var(--launch-error);
  --status-action:   var(--launch-focus);
  --status-declined: var(--launch-error);
  --focus:           var(--launch-focus);
  --green-wash:    var(--launch-glass-clear);
  --alert-wash:    var(--launch-glass-lowlight);
  --action-wash:   var(--launch-glass-lowlight);
  --declined-wash: var(--launch-glass-lowlight);

  --display: var(--sans);
  --ls-display: -0.04em;

  --r-sm: var(--launch-control-radius);
  --r-md: var(--launch-panel-radius);
  --r-lg: var(--launch-panel-radius);
  --r-xl: var(--launch-object-radius);

  /* the component tokens that differ from Night */
  --btn-h: 44px; --btn-py: 0; --btn-px: 19px; --btn-gap: 12px;
  --btn-fs: 14px; --btn-fw: 600; --btn-ls: normal; --btn-lh: 1.5;
  --btn-radius: var(--launch-control-radius); --btn-border: 1px solid var(--launch-line);
  --btn-bg: transparent; --btn-fg: var(--launch-text);
  --btn-hover-bg: var(--launch-glass-tint); --btn-hover-fg: var(--launch-text);
  --btn-on-card-bg: var(--launch-glass-tint);
  --btn-dur: var(--dur-base);
  --btn-primary-h: 48px; --btn-primary-px: 22px; --btn-primary-fs: 14px; --btn-primary-fw: 600;
  --btn-primary-border: 1px solid var(--launch-mint);
  --btn-primary-bg: var(--launch-cta); --btn-primary-fg: var(--launch-text);
  --btn-primary-hover-bg: var(--launch-cta-hover); --btn-primary-scale: 1;
  --btn-dot-radius: var(--launch-control-radius); --btn-dot-bg: var(--launch-bg); --btn-dot-fg: var(--launch-mint);
  --btn-quiet-fg: var(--launch-soft); --btn-quiet-hover-fg: var(--launch-text);
  --btn-quiet-hover-bg: var(--launch-glass-tint);
  --btn-sm-h: 44px; --btn-sm-px: 16px; --btn-sm-fs: 14px;
  --input-h: 48px; --input-px: 15px; --input-fs: 16px;
  --input-bg: var(--launch-glass-tint); --input-border: var(--launch-line-strong);
  --input-radius: var(--launch-control-radius);
  --input-placeholder: var(--launch-placeholder); --input-focus-border: var(--launch-focus);
  --label-fs: 13px; --label-fg: var(--launch-muted); --help-fg: var(--launch-muted);
  --line-border: var(--launch-line-strong); --line-focus: var(--launch-focus);
  --card-bg: var(--launch-glass-tint); --card-border: 1px solid var(--launch-line);
  --card-radius: var(--launch-panel-radius); --card-tight-radius: var(--launch-panel-radius);
  --card-phone-radius: var(--launch-panel-radius);
  --card-pad: 20px 22px; --card-tight-pad: 14px 18px; --card-phone-pad: 16px 16px;
  --card-hover-bg: var(--launch-glass-tint);
  --chip-bg: var(--launch-glass-tint); --chip-radius: var(--r-full); --chip-hover-bg: var(--launch-glass-center);
  --tag-bg: var(--launch-glass-tint); --tag-radius: var(--r-full);
  --notice-bg: var(--launch-glass-tint); --notice-border: 1px solid var(--launch-line-strong);
  --notice-radius: var(--launch-panel-radius);
  --sq-stroke: 1.5px;
}

/* ---------- Base ----------
 * Zero specificity on purpose (:where), as night.css does: these beat base.css by
 * coming later, and any class, here or in a page, beats them without a fight. */
html[data-theme="launch"] { min-width: 320px; background: var(--launch-bg); scroll-padding-top: 30px; }
:where(html[data-theme="launch"]) body {
  margin: 0; min-width: 320px; background: var(--launch-bg); color: var(--launch-text);
  font-family: var(--sans); font-size: 15px; line-height: 1.5; -webkit-font-smoothing: antialiased; overflow-x: clip;
}
:where(html[data-theme="launch"]) ::selection { background: var(--launch-selection); color: var(--launch-bg); }
:where(html[data-theme="launch"]) ::placeholder { color: var(--launch-placeholder); opacity: 1; }
:where(html[data-theme="launch"]) :is(h1, h2, h3, h4) { font-family: var(--sans); font-weight: 700; letter-spacing: -0.03em; line-height: 1.15; color: var(--launch-text); margin: 0; }
:where(html[data-theme="launch"]) :is(h1, h2) em { font-style: normal; color: inherit; }
:where(html[data-theme="launch"]) p { color: var(--launch-soft); margin: 0; max-width: none; }
:where(html[data-theme="launch"]) a { color: var(--launch-text); text-decoration: underline; text-underline-offset: 4px; }
:where(html[data-theme="launch"]) a:hover { color: var(--launch-text); text-decoration: underline; }
:where(html[data-theme="launch"]) :where(button, input, select, textarea) { font: inherit; color: inherit; }
html[data-theme="launch"] [hidden] { display: none !important; }
:where(html[data-theme="launch"]) hr { border: 0; height: 1px; background: var(--launch-line); }
:where(html[data-theme="launch"]) :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--launch-focus); outline-offset: 3px; }

/* The rail the shell draws from 1200px up; night.css scopes its padding to Night. */
@media (min-width: 1200px) {
  html[data-theme="launch"] body.n-has-rail { padding-left: 240px; }
}

/* ---------- Page grid, around the night.js shell slots ----------
 * <div data-cal-night="header"></div> ... <main class="n-wrap n-main em-page"> ...
 * <div data-cal-night="footer"></div>. The shell supplies .n-wrap and .n-main. */
.em-page { display: flex; flex-direction: column; gap: 24px; min-width: 0; }
.em-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; min-width: 0; }
.em-grid--stats { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.em-split { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 16px; align-items: start; }
.em-stack { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.em-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-width: 0; }
.em-row--between { justify-content: space-between; }
.em-sec { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.em-sec-hd { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; }
.em-sec-hd h2 { font-size: 19px; font-weight: 600; letter-spacing: -0.025em; }
.em-note { font-size: 13px; color: var(--launch-muted); }
.em-label { display: block; font-size: 13px; color: var(--launch-muted); margin-bottom: 6px; }

/* ---------- Page head: the title, and the only place the atmosphere runs ---------- */
.em-head { position: relative; isolation: isolate; overflow: hidden; display: flex; flex-direction: column; gap: 10px;
  min-height: 168px; padding: 28px 28px 24px; border: 1px solid var(--launch-line); border-radius: var(--launch-panel-radius); background: var(--launch-bg); }
.em-head > :not(.launch-art) { position: relative; z-index: 2; }
.em-head .launch-art { position: absolute; z-index: 0; top: 50%; right: -4%; width: min(780px, 82%); aspect-ratio: 3 / 2; transform: translateY(-50%);
  overflow: hidden; pointer-events: none; opacity: .62;
  mask-image: linear-gradient(to right, transparent, var(--launch-text) 38%, var(--launch-text) 78%, transparent); }
.em-head .launch-art img { display: block; width: 100%; height: 100%; object-fit: cover; user-select: none; }
.em-head .launch-atmosphere { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.em-head-act { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: auto; }
.em-title { font-family: var(--sans); font-weight: 800; font-size: clamp(34px, 4.4vw, 56px); line-height: 1; letter-spacing: -0.05em; max-width: 18ch; }
.em-sub { max-width: 60ch; font-size: 15px; color: var(--launch-soft); }
.em-motion { min-height: 44px; padding: 8px 12px; border: 1px solid var(--launch-line); border-radius: var(--launch-control-radius);
  background: transparent; color: var(--launch-muted); font-size: 12px; cursor: pointer; transition: border-color var(--dur-base), color var(--dur-base); }
.em-motion:hover:not(:disabled) { border-color: var(--launch-muted); color: var(--launch-text); }
.em-motion:disabled { cursor: default; opacity: .7; }

/* ---------- Eyebrow: Zodiak, with the one emerald word ---------- */
.em-eyebrow { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.3; letter-spacing: -0.035em; color: var(--launch-text); }
.em-eyebrow :is(em, b, strong) { font-style: normal; font-weight: inherit; color: var(--launch-headline-emerald); }

/* ---------- Panel and card ---------- */
.em-panel { box-sizing: border-box; min-width: 0; padding: 20px; border: 1px solid var(--launch-line); border-radius: var(--launch-panel-radius); background: var(--launch-glass-tint); }
.em-panel--strong { border-color: var(--launch-line-strong); }
.em-panel--flush { padding: 0; overflow: hidden; }
.em-panel-hd { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.em-panel-hd h2, .em-panel-hd h3 { font-size: 17px; font-weight: 600; letter-spacing: -0.025em; }
@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)) {
  .em-panel, .em-card { -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
}
.em-card { box-sizing: border-box; display: flex; flex-direction: column; gap: 10px; min-width: 0; padding: 18px 20px; border: 1px solid var(--launch-line);
  border-radius: var(--launch-object-radius); background: var(--launch-glass-tint); color: inherit; text-decoration: none;
  transition: transform var(--dur-base) var(--ease), border-color var(--dur-base) var(--ease), background-color var(--dur-base) var(--ease); }
a.em-card, button.em-card, .em-card[tabindex] { cursor: pointer; }
.em-card:is(a, button, [tabindex]):hover { transform: translateY(-1px); border-color: var(--launch-line-strong); background: var(--launch-glass-center); text-decoration: none; }
.em-card h3 { font-size: 16px; font-weight: 600; letter-spacing: -0.02em; }
.em-card p { font-size: 14px; color: var(--launch-soft); }
.em-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; font-size: 13px; color: var(--launch-muted); }

/* ---------- Stat: one number, in display type ---------- */
.em-stat { display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 16px 18px; border: 1px solid var(--launch-line); border-radius: var(--launch-panel-radius); background: var(--launch-glass-tint); }
.em-stat-k { font-size: 13px; color: var(--launch-muted); }
.em-stat-n { font-size: 38px; font-weight: 400; letter-spacing: -0.04em; line-height: 1.2; color: var(--launch-text); }
.em-stat-d { font-size: 12px; color: var(--launch-muted); }

/* ---------- Pill: stage, consent, blocked reason; mint only for live ---------- */
.em-pill { display: inline-flex; align-items: center; gap: 7px; flex: none; min-height: 24px; box-sizing: border-box; padding: 0 10px;
  border: 1px solid var(--launch-line); border-radius: var(--r-full); background: transparent; color: var(--launch-soft);
  font-family: var(--sans); font-size: 12px; font-weight: 600; line-height: 1; letter-spacing: 0; white-space: nowrap; text-decoration: none; }
.em-pill--stage { border-color: var(--launch-line-strong); color: var(--launch-text); background: var(--launch-glass-tint); }
.em-pill--live { border-color: var(--launch-line-strong); color: var(--launch-text); }
.em-pill--live::before { content: ""; width: 8px; height: 8px; flex: none; border-radius: var(--r-full); background: var(--launch-mint); animation: em-live 2400ms ease-in-out infinite; }
/* Consent: a filled square when on record, a hollow one when it is not. Neither is mint. */
.em-pill--consent::before, .em-pill--noconsent::before { content: ""; width: 8px; height: 8px; flex: none; box-sizing: border-box; }
.em-pill--consent::before { background: var(--launch-soft); }
.em-pill--noconsent { color: var(--launch-muted); }
.em-pill--noconsent::before { border: 1.5px solid var(--launch-muted); }
/* A blocked reason is text on a quiet ground, never an alarm fill. */
.em-pill--blocked { border-color: var(--launch-error); color: var(--launch-error); background: var(--launch-glass-lowlight); }

/* ---------- Inputs ---------- */
.em-input { width: 100%; box-sizing: border-box; min-height: 44px; padding: 10px 15px; border: 1px solid var(--launch-line-strong); border-radius: var(--launch-control-radius);
  background: var(--launch-glass-tint); color: var(--launch-text); font-size: 16px; }
textarea.em-input { min-height: 112px; resize: vertical; line-height: 1.5; }
.em-input:focus-visible { outline: 2px solid var(--launch-focus); outline-offset: 3px; border-color: var(--launch-focus); }
.em-input[aria-invalid="true"] { border-color: var(--launch-error); }

/* A copy of .launch-input-row (apps/apex/css/launch.css). */
.em-input-row { display: flex; gap: 8px; border: 1px solid var(--launch-line-strong); border-radius: var(--launch-object-radius); padding: 7px; background: var(--launch-glass-tint); }
.em-input-row:focus-within { outline: 2px solid var(--launch-focus); outline-offset: 4px; }
.em-input-row input { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--launch-text); border-radius: var(--launch-object-radius); padding: 10px 15px; font-size: 16px; min-height: 48px; }
.em-input-row input::placeholder { color: var(--launch-placeholder); opacity: 1; }
.em-input-row input:focus-visible { outline: 2px solid var(--launch-focus); outline-offset: 0; }
.em-input-row .em-cta { flex-shrink: 0; }

/* ---------- Buttons: the one gradient CTA, and a quiet button ---------- */
.em-cta { display: inline-flex; align-items: center; justify-content: center; gap: 18px; box-sizing: border-box; min-height: 44px; padding: 11px 24px;
  border: 1px solid var(--launch-mint); border-radius: var(--launch-object-radius); color: var(--launch-text);
  background: linear-gradient(140deg, var(--launch-cta-hover), var(--launch-cta));
  font-family: var(--sans); font-size: 14px; letter-spacing: .06em; text-transform: uppercase; font-weight: 600; text-decoration: none; cursor: pointer;
  box-shadow: inset 0 1px 0 var(--launch-glass-sheen), 0 0 22px var(--launch-glass-ambient);
  transition: background .2s, transform .2s; }
.em-cta:hover { background: var(--launch-cta-hover); color: var(--launch-text); text-decoration: none; }
.em-cta:active { transform: translateY(1px); }
.em-cta:disabled { cursor: wait; opacity: .7; }
.em-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; box-sizing: border-box; min-height: 44px; padding: 9px 16px;
  border: 1px solid var(--launch-line); border-radius: var(--launch-control-radius); background: transparent; color: var(--launch-text);
  font-family: var(--sans); font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .2s, border-color .2s; }
.em-btn:hover { background: var(--launch-glass-tint); border-color: var(--launch-mint); color: var(--launch-text); text-decoration: none; }
.em-btn:disabled { opacity: .55; cursor: default; }

/* ---------- Table: dense, 14px, hairline rows, no glass ---------- */
.em-table-wrap { overflow-x: auto; min-width: 0; }
.em-table { width: 100%; border-collapse: collapse; font-size: 14px; line-height: 1.4; color: var(--launch-text); background: transparent; }
.em-table caption { text-align: left; padding: 0 0 8px; font-size: 13px; color: var(--launch-muted); }
.em-table :is(th, td) { padding: 10px 12px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--launch-line); background: transparent; }
.em-table th { font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--launch-muted); white-space: nowrap; border-bottom-color: var(--launch-line-strong); }
.em-table tbody tr:hover { background: var(--launch-wash); }
.em-table td a { text-underline-offset: 3px; }
.em-table .em-num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.em-table td.em-muted, .em-muted { color: var(--launch-muted); }

/* ---------- Timeline: dense, 14px, hairline rows, no glass ---------- */
.em-timeline { list-style: none; margin: 0; padding: 0; font-size: 14px; line-height: 1.45; }
.em-timeline > li { position: relative; display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 4px 14px; padding: 10px 0 10px 22px; border-bottom: 1px solid var(--launch-line); }
.em-timeline > li::before { content: ""; position: absolute; left: 0; top: 16px; width: 9px; height: 9px; box-sizing: border-box; border: 1.5px solid var(--launch-line-strong); border-radius: var(--r-full); background: var(--launch-bg); }
.em-timeline > li::after { content: ""; position: absolute; left: 4px; top: 28px; bottom: -10px; width: 1px; background: var(--launch-line); }
.em-timeline > li:last-child::after { display: none; }
.em-timeline time { font-family: var(--sans); font-variant-numeric: normal; font-size: 12px; color: var(--launch-muted); padding-top: 2px; }
.em-timeline .em-tl-t { color: var(--launch-text); }
.em-timeline .em-tl-d { margin-top: 2px; font-size: 13px; color: var(--launch-muted); }

/* ---------- Drawer: a sheet from the right ----------
 * Works on a <dialog class="em-drawer"> (open with showModal) or on a <div>
 * that gets .is-open. .em-drawer--inline draws it in the flow, for the kit page. */
.em-drawer { display: none; position: fixed; z-index: 40; top: 0; right: 0; bottom: 0; left: auto; box-sizing: border-box; width: min(480px, 100vw); height: 100%; max-height: none;
  margin: 0 0 0 auto; padding: 22px 24px max(24px, env(safe-area-inset-bottom)); border: 0; border-left: 1px solid var(--launch-line-strong);
  background: var(--launch-glass-dark); color: var(--launch-text); overflow-y: auto; -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.em-drawer[open], .em-drawer.is-open { display: flex; flex-direction: column; gap: 16px; animation: em-slide 200ms var(--ease) both; }
.em-drawer::backdrop { background: var(--launch-art-shadow); }
.em-drawer-hd { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.em-drawer-hd h2 { font-size: 21px; font-weight: 600; letter-spacing: -0.03em; }
.em-drawer--inline { display: flex; flex-direction: column; gap: 16px; position: static; width: 100%; max-width: 480px; height: auto; margin: 0; border: 1px solid var(--launch-line-strong); border-radius: var(--launch-panel-radius); animation: none; }

/* ---------- Kanban: a horizontal scroll of panels, 320px columns ---------- */
.em-kanban { display: flex; align-items: flex-start; gap: 16px; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x proximity; }
.em-kanban-col { flex: 0 0 320px; scroll-snap-align: start; display: flex; flex-direction: column; gap: 10px; box-sizing: border-box; min-width: 0; padding: 14px;
  border: 1px solid var(--launch-line); border-radius: var(--launch-panel-radius); background: var(--launch-glass-tint); }
.em-kanban-hd { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 14px; font-weight: 600; color: var(--launch-text); }
.em-kanban-hd span:last-child { font-size: 12px; font-weight: 400; color: var(--launch-muted); font-variant-numeric: tabular-nums; }

/* A compact kanban: columns share the row instead of holding 320px each, so more of them fit
 * at 1280. The card inside is the page's own (name, one date, a lock dot on two lines). */
.em-kanban--compact { gap: 8px; }
.em-kanban--compact > .em-kanban-col { flex: 1 0 176px; padding: 8px; gap: 8px; }
.em-kanban--compact .em-card { padding: 8px 10px; gap: 4px; border-radius: var(--launch-panel-radius); }

/* The stage picker that stands in for the sideways scroll on a phone. Hidden above 640px. */
.em-picker { display: none; }

/* ---------- Verdict word: one of mint's four jobs ---------- */
.em-verdict { font-family: var(--serif); font-weight: 400; color: var(--launch-mint); }

/* ---------- Footer, the same hairline the launch page closes on ---------- */
.n-foot-in { border-top-color: var(--launch-line); }

/* ---------- Motion ---------- */
@keyframes em-live { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@keyframes em-slide { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  html[data-theme="launch"] *, html[data-theme="launch"] *::before, html[data-theme="launch"] *::after { animation: none !important; transition: none !important; }
  html[data-theme="launch"] { scroll-behavior: auto; }
}
body.motion-paused .em-pill--live::before { animation-play-state: paused; }

/* ---------- Narrow ---------- */
@media (max-width: 900px) {
  .em-split { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .em-head { min-height: 148px; padding: 22px 18px 18px; }
  .em-head .launch-art { right: -30%; width: 140%; opacity: .45; }
  .em-timeline > li { grid-template-columns: minmax(0, 1fr); padding-left: 20px; }
  .em-kanban-col { flex-basis: min(320px, 86vw); }
  .em-input-row { display: block; border-radius: var(--launch-panel-radius); }
  .em-input-row input { width: 100%; }
  .em-input-row .em-cta { width: 100%; margin-top: 5px; justify-content: space-between; }
}

/* ---------- Phone (640px and under): one column, 44px targets, a full-screen drawer ----------
 * The selectors carry html[data-theme="launch"] so they beat a page's own 36px or 40px
 * minimum without !important. .em-tap is for a link that is the whole tap target of a row. */
@media (max-width: 640px) {
  html[data-theme="launch"] :is(.em-btn, .em-cta, .em-motion) { min-height: 44px; min-width: 44px; }
  html[data-theme="launch"] .em-tap { display: flex; align-items: center; min-height: 44px; }
  html[data-theme="launch"] .n-foot-links :is(a, button) { min-height: 44px; min-width: 44px; }
  html[data-theme="launch"] .n-foot-links { gap: 0 8px; }

  .em-picker { display: block; }
  .em-kanban[data-picked] { display: block; overflow-x: visible; padding-bottom: 0; scroll-snap-type: none; }
  .em-kanban[data-picked] > .em-kanban-col { box-sizing: border-box; width: 100%; }
  .em-kanban[data-picked] > .em-kanban-col:not([data-active]) { display: none; }

  .em-drawer:not(.em-drawer--inline) { top: 0; right: 0; bottom: 0; left: 0; box-sizing: border-box; width: 100%; max-width: none; height: 100%; height: 100dvh; max-height: none;
    margin: 0; padding: 16px 16px max(20px, env(safe-area-inset-bottom)); border-left: 0; border-radius: 0; }
}

@media (forced-colors: active) {
  .em-head .launch-art { display: none; }
  .em-panel, .em-card, .em-stat, .em-input, .em-input-row, .em-cta, .em-btn, .em-pill, .em-kanban-col { border: 1px solid CanvasText; }
}
