/* action ai · the Capture sheet's own screens (REDESIGN-R3-CAPTURE-2026-10-06).
   LIFTED from BUILD HANDOVER 2026-10-05: mockups/Capture (36 states) (review round 4).html, built by
   src/areas/capture/capture.py on src/kit/kit.css (+ fx3.css E08 E09 E12 E17). Every value is the mockup's.
   Adapted for the app only: the mockup's kit parts (.sheet .pc .field .cta .sec .tile .qb .lbl) are mapped onto the
   classes each real component already renders (ScanModal, ScanVisionOverlay, CaptureConfirm, ContactMatchModal,
   QuickNoteSheet, QuickNoteContactPicker, MicPermissionDeniedModal, AiConsentModal, VoiceUpsellSheet,
   ParkedCaptureBanner, the voice / AI listening and processing overlays), so nothing is added, removed or reworded:
   only the look changes. Every rule is scoped under one of those components' own root classes; keyframes carry a
   cx- prefix and custom properties are the R1 kit's (kit-tokens.css), so no name collides with the app's (KIT-1). */

/* ── H3 · capture reveal (EFFECTS.md §C H3; capture.py extra CSS) ───────────────────────────── */
.capture-sheet .aifill{background-image:linear-gradient(90deg,#FF7676,#FDCB6E 30%,#55EFC4 55%,#74B9FF 78%,#A29BFE);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;caret-color:#F4F4F5}
.capture-sheet .aifill::placeholder{-webkit-text-fill-color:currentColor}
/* R3-FIX-2: a field waiting for its reveal draws no text (React may write its value back before its turn) */
.capture-sheet .h3wait{-webkit-text-fill-color:transparent!important}
.capture-sheet .h3wait::placeholder{-webkit-text-fill-color:currentColor}
/* R3-FIX-2: from the sheet's first paint until the reveal starts, no field the reveal types draws its text */
.capture-sheet.h3pending input,.capture-sheet.h3pending textarea,.capture-sheet.h3pending .event-chosen-name,.capture-sheet.h3pending .sheet-note-hl,.capture-sheet.h3pending .action-text{-webkit-text-fill-color:transparent!important}
.capture-sheet.h3pending input::placeholder,.capture-sheet.h3pending textarea::placeholder{-webkit-text-fill-color:currentColor}
.capture-sheet .h3glow{animation:cx-h3glow 1.1s ease-out}
@keyframes cx-h3glow{0%{box-shadow:inset 0 0 0 1.5px #A29BFE,0 0 26px -4px rgba(162,155,254,.9)}100%{box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 0 0 0 rgba(162,155,254,0)}}
.capture-sheet .h3hide{position:relative;color:transparent!important;-webkit-text-fill-color:transparent!important}
.capture-sheet .h3hide>:not(.h3ov),.capture-sheet .h3hide>:not(.h3ov) *{color:transparent!important;-webkit-text-fill-color:transparent!important;background:transparent!important;box-shadow:none!important}
.capture-sheet .h3ov{position:absolute;inset:0;padding:inherit;font:inherit;line-height:inherit;letter-spacing:inherit;white-space:inherit;text-align:inherit;pointer-events:none;-webkit-text-fill-color:currentColor}
.capture-sheet .h3ov .rv-char{-webkit-text-fill-color:currentColor}
/* CAPTURE FILL MOTION (CAPTURE-FILL-MOTION-BUILD-2026-10-10, option B v2 LOCKED by Alex 2026-10-10): h3-reveal.js
   motion(). The scroller hosts the layers so they move with the boxes; isolation keeps the light and trail above the
   sheet's own background and below the form. Outline: --aa-spectral-edge 1px ring (the .c1-card::before mask), .9s in,
   stays at .85. Light: E07 touch light (fx3.css .fxw::before) gradient and .35s fade, verbatim. Trail: the constellation
   line (home-morph.css .hc .ln.on) width .9 and glow, .7 while it flies, .3 at rest. */
.capture-sheet .h3fx{position:relative;isolation:isolate}
.capture-sheet .h3layer{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:3}
.capture-sheet .h3ol{position:absolute;box-sizing:border-box;padding:1px;background:var(--aa-spectral-edge);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .9s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.capture-sheet .h3ol.on{opacity:.85}
.capture-sheet .h3ol.still{transition:none}
.capture-sheet .h3bg{position:absolute;left:0;top:0;width:0;height:0;overflow:hidden;pointer-events:none;z-index:-1}
.capture-sheet .h3light{position:absolute;left:0;top:0;width:480px;height:480px;pointer-events:none;opacity:0;will-change:transform;transition:opacity .35s var(--out,cubic-bezier(.23,1,.32,1));background:radial-gradient(240px circle at 50% 50%,rgba(199,192,255,.24),transparent 65%)}
.capture-sheet .h3light.on{opacity:1}
.capture-sheet .h3trail{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;opacity:.7;transition:opacity 1.2s cubic-bezier(.2,.8,.2,1)}
.capture-sheet .h3trail.rest{opacity:.3}
.capture-sheet .h3tr{fill:none;stroke-width:.9;stroke-dasharray:100 100;stroke-dashoffset:100;stroke-linecap:round;filter:drop-shadow(0 0 2px rgba(199,192,255,.7))}

/* ══ R3 PART 2 (R3-PART2-2026-10-08) · CAP-1 · CAP-2 · CAP-5 ══════════════════════════════════════════
   The rest of the Capture sheet screens, lifted from capture.py (CSS block + the kit parts it uses from
   kit.css) and fx3.css (E08 E09 E12 E17). Each real component opts in with the class .cx on its own root
   (ScanModal, CaptureConfirm, ContactMatchModal, QuickNoteSheet, QuickNoteContactPicker,
   MicPermissionDeniedModal, AiConsentModal, VoiceUpsellSheet, ParkedCaptureBanner); nothing outside those
   roots is styled. Dark theme only: the mockup is drawn dark, and light mode's contrast fixes are a locked
   feature (qa/LOCKED-FEATURES.md "Light-mode contrast fixes"), so html[data-theme="light"] keeps today's look.
   Kit -> app part map:  .scrim -> the component's overlay · .sheet -> the sheet panel · .grab -> .sheet-grip ·
   .eb -> .sheet-eyebrow · .ib -> .sheet-close · .pc.tile -> .scan-tile · .qb -> .scan-tile-icon ·
   .ghost.bk -> .scan-back · .field -> .contact-input / .sheet-name-input / textareas · .cta -> .btn-primary ·
   .sec -> .btn-ghost · .dialog -> .discard-card. */

/* ── E08 · the sheet: slides from translateY 105% to 0 over .55s on --sheet; scrim fades in over .35s ── */
html:not([data-theme="light"]) .cx.modal-overlay,
html:not([data-theme="light"]) .cx.ai-modal-backdrop,
html:not([data-theme="light"]) .cx.evpick-scrim,
html:not([data-theme="light"]) .cx.cx-match{background:rgba(3,3,5,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:cx-fade .35s cubic-bezier(.23,1,.32,1) both;align-items:flex-end;justify-content:center;padding:0}
@keyframes cx-fade{from{opacity:0}}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-sheet,
html:not([data-theme="light"]) :is(.cx .capture-sheet,.quick-note-sheet),
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal,
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-sheet,
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-sheet{width:100%;max-width:480px;border:0;border-radius:28px 28px 0 0;background:#0f0f12;box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:var(--t1);animation:cx-sheet .55s cubic-bezier(.32,.72,0,1) backwards}
/* the short sheets size to their content like the kit sheet; CaptureConfirm / QuickNoteSheet and the picker keep
   their own flex column + inner scroller (the H3 keep-in-view rule and the keyboard fit depend on it) */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.scan-sheet,.ai-modal,.cx-match-sheet){max-height:92%;overflow:auto;padding:10px 16px calc(28px + env(safe-area-inset-bottom,0px))}
html:not([data-theme="light"]) :is(.cx .capture-sheet,.quick-note-sheet){padding:10px 16px 0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-sheet{padding:10px 16px calc(28px + env(safe-area-inset-bottom,0px));max-height:92%}
@keyframes cx-sheet{from{translate:0 105%}to{translate:0 0}}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-grip{width:40px;height:5px;border-radius:3px;background:rgba(255,255,255,.22);margin:0 auto 12px}
/* header: eyebrow left, 44px round close right */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:0 12px;min-height:44px;margin-bottom:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-eyebrow{font-size:14px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);padding-top:12px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-close{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:var(--t1);margin-left:auto}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-close svg{width:20px;height:20px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-filing{flex-basis:100%;order:3;font-size:14px;color:var(--mint);margin:2px 0 0}
/* .cta: the one loud button (white, spectral ring) */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-primary{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#0b0b12;font-weight:800;font-size:17px;border-radius:18px;min-height:56px;padding:0 18px;position:relative;isolation:isolate;border:0;box-shadow:0 0 0 2px #07070a,0 18px 40px -16px rgba(162,155,254,.6);transition:scale 120ms cubic-bezier(.23,1,.32,1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-primary::after{content:"";position:absolute;inset:-3px;border-radius:21px;padding:2.5px;background:var(--conic);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:kx-spin 4s steps(60) infinite;pointer-events:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-primary svg{width:20px;height:20px;flex:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-primary:disabled{opacity:.45}
/* .sec: quiet glass button */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-ghost{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:0 16px;border-radius:16px;background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);border:0;font-size:16px;font-weight:600;color:var(--t2);transition:scale 120ms cubic-bezier(.23,1,.32,1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-ghost svg{width:20px;height:20px;flex:none}
/* E06 · press: soft scale while held */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.btn-primary,.btn-ghost,.scan-tile,.scan-pill,.event-chip,.cx-match-row,.evpick-row):active{transform:none;scale:.98}
/* .field: glass input; E12 · focus glow inset 1px rgba(162,155,254,.55) + 24px soft glow over .2s */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.contact-input,.sheet-name-input,.evpick-search-input,.custom-action-input){display:block;width:100%;min-height:52px;padding:0 14px;border-radius:16px;border:0;background-color:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:#fff;font-size:16px;outline:0;transition:box-shadow .2s cubic-bezier(.23,1,.32,1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.contact-input,.sheet-name-input,.evpick-search-input,.custom-action-input)::placeholder{color:var(--t4)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.contact-input,.sheet-name-input,.evpick-search-input,.custom-action-input,.sheet-textarea-wrap,.sheet-quote-edit):focus-within{box-shadow:inset 0 0 0 1px rgba(162,155,254,.55),0 0 24px -8px rgba(162,155,254,.55)}

/* ── CAP-1 · ScanModal ── */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-picker{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-tile{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#111114;border:0;box-shadow:inset 0 0 0 1px var(--kx-line);min-height:72px;width:100%;text-align:left;color:var(--t1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-tile-icon,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-tile-icon.li,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-tile-icon.cam,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-tile-icon.img{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;color:var(--t2);background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-tile-icon svg{width:18px;height:18px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-tile-name{font-size:16px;font-weight:700;color:#fff;letter-spacing:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-tile-arrow{color:var(--t3);display:grid;place-items:center;width:20px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-tile-arrow svg{width:20px;height:20px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-back{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;min-height:44px;padding:0 12px 0 0;margin:0;font-size:16px;font-weight:600;color:var(--t3)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-back svg{width:20px;height:20px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-linkedin{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-sheet .btn-ghost{margin-top:2px}
/* the scan overlays sit full screen over the sheet (kit .full) */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .parsing-overlay{background:radial-gradient(80% 60% at 50% 35%,rgba(162,155,254,.14),transparent 70%),#06060a}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .parsing-label{font-size:20px;font-weight:700;text-align:center;color:var(--t1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-anim-viewport{border-radius:18px;box-shadow:inset 0 0 0 1px var(--kx-line)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-anim-pulled .rule{height:2px;width:72px;border-radius:2px;background:var(--edge);margin:4px 0 8px}

/* ── CAP-2 · ContactMatchModal. Base = its former inline styles, unchanged (light theme keeps exactly this);
   the dark theme takes the mockup's match sheet (capture.py match()). ── */
.cx-match{position:fixed;inset:0;background:rgba(0,0,0,0.7);z-index:calc(var(--z-sheet) + 50);display:flex;align-items:flex-end;justify-content:center;padding:0}
.cx-match-sheet{background:var(--surface);border:1px solid var(--line-strong);border-top-left-radius:20px;border-top-right-radius:20px;width:100%;max-width:480px;padding:18px 18px 22px;display:flex;flex-direction:column;gap:12px}
.cx-match-sheet>.sheet-grip{display:none}
.cx-match-eb{font-size:var(--ts-eyebrow);color:var(--text-3);text-transform:uppercase;letter-spacing:1.2px;font-weight:600}
.cx-match-q{font-size:var(--ts-subhead);font-weight:700;margin-top:4px}
.cx-match-p{font-size:var(--ts-caption);color:var(--text-2);margin-top:4px;line-height:1.4}
.cx-match-list{display:flex;flex-direction:column;gap:6px;max-height:50vh;overflow:auto}
.cx-match-row{text-align:left;padding:10px 12px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px}
.cx-match-m{min-width:0}
.cx-match-t{font-size:var(--ts-body-sm);font-weight:600}
.cx-match-s{font-size:var(--ts-caption);color:var(--text-3);margin-top:2px}
.cx-match-att{font-size:var(--ts-caption);color:var(--text-3)}
.cx-match-foot{display:flex;gap:8px;margin-top:4px}
.cx-match-foot .btn{flex:1;font-size:var(--ts-body-sm)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-sheet{display:block;gap:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-sheet>.sheet-grip{display:block}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-eb{font-size:14px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--t3);margin:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-q{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-top:4px;color:var(--t1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-p{font-size:16px;line-height:1.5;color:var(--t2);margin-top:4px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-p strong{color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-list{gap:10px;margin-top:16px;max-height:none;overflow:visible}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-row{gap:12px;padding:14px;border-radius:18px;background:#111114;border:0;box-shadow:inset 0 0 0 1px var(--kx-line);width:100%;color:var(--t1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-m{flex:1}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-t{font-size:16px;font-weight:700;color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-s{font-size:14px;color:var(--t3);margin-top:1px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-att{font-size:14px;color:var(--t3);flex:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-foot{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;align-items:center}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-match-foot .btn{font-size:16px}

/* ── CAP-5 · MicPermissionDeniedModal, AiConsentModal, VoiceUpsellSheet (capture.py MIC, consent(), upsell()).
   Base = the Mic modal's former inline styles, unchanged; the grip only shows in the dark sheet. ── */
.ai-modal>.sheet-grip{display:none}
.cx-mic-p{margin:0 0 12px;color:var(--text-2)}
.cx-mic-steps{margin:0 0 12px 18px;padding:0;color:var(--text)}
.cx-mic-steps li{margin-bottom:6px;font-size:var(--ts-body-sm)}
.cx-mic-fine{margin:8px 0 0;font-size:var(--ts-caption);color:var(--text-3)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal>.sheet-grip{display:block}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-spark{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;margin:6px auto 0;color:var(--peri2);background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);font-size:inherit}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-spark svg{width:26px;height:26px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-title{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--t1);margin:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-spark+.ai-modal-title{text-align:center;margin-top:8px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-body{font-size:16px;line-height:1.5;color:var(--t2);margin:8px 0 0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-body strong{color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-fine{font-size:16px;color:var(--t3);margin:10px 0 0;line-height:1.5}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-details{margin:8px 0 0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-details>summary{color:var(--peri2);font-weight:700;font-size:16px;min-height:44px;display:inline-flex;align-items:center;gap:4px;cursor:pointer;list-style:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-details>summary::before{content:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-details .ai-modal-fine{margin:10px 0 0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-actions{display:grid;grid-template-columns:1fr 2.1fr;gap:10px;margin-top:22px;align-items:center}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-actions>.btn:only-child{grid-column:1/-1}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-actions .btn{min-width:0;width:100%}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.ai-modal-body,.ai-modal-details)+.ai-modal-actions{margin-top:12px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .ai-modal-body .cx-mic-p{margin:0;color:var(--t2);font-size:16px;line-height:1.5}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-mic-steps{margin:12px 0 0 22px;font-size:16px;color:var(--t1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-mic-steps li{font-size:16px;margin-bottom:6px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-mic-fine{font-size:16px;color:var(--t3);margin:10px 0 0;line-height:1.5}

/* ── CAP-5 · ParkedCaptureBanner (capture.py PARKED: .pc.parked.edge + .go + .qb). Base = its former inline
   styles, unchanged (light theme keeps exactly this). ── */
.parked-capture-banner.cx{margin:10px 16px 0;padding:12px 14px;border-radius:var(--r-xl,18px);border:1px solid var(--skin-ring,rgba(162,155,254,0.3));background:var(--surface-2,var(--surface));display:flex;align-items:center;gap:12px}
.cx-parked-m{flex:1;min-width:0}
.cx-parked-t{font-weight:600;font-size:var(--ts-body,14px)}
.cx-parked-s{font-size:var(--ts-eyebrow,12px);color:var(--text-2,inherit)}
.cx-parked-go{flex:0 0 auto;min-height:40px;padding:8px 14px}
.cx-parked-x{flex:0 0 auto}
html:not([data-theme="light"]) .parked-capture-banner.cx{position:relative;isolation:isolate;align-items:flex-start;flex-wrap:wrap;gap:12px;padding:14px;border:0;border-radius:18px;background:#111114;box-shadow:inset 0 0 0 1px var(--kx-line)}
html:not([data-theme="light"]) .parked-capture-banner.cx::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:var(--edge);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:.8}
html:not([data-theme="light"]) .parked-capture-banner.cx .cx-parked-m{flex-basis:100%}
html:not([data-theme="light"]) .parked-capture-banner.cx .cx-parked-t{display:block;font-size:16px;font-weight:700;color:#fff}
html:not([data-theme="light"]) .parked-capture-banner.cx .cx-parked-s{display:block;font-size:16px;line-height:1.4;color:var(--t3);margin-top:1px}
html:not([data-theme="light"]) .parked-capture-banner.cx .cx-parked-go{flex:none;margin-left:auto;min-width:76px;height:44px;min-height:44px;padding:0 16px;border-radius:99px;background:#F4F4F5;color:#0b0b12;font-weight:800;font-size:15px;position:relative;isolation:isolate;border:0;box-shadow:none}
html:not([data-theme="light"]) .parked-capture-banner.cx .cx-parked-go::before{content:"";position:absolute;inset:-4px;border-radius:99px;padding:1.5px;background:var(--conic);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:kx-spin 12s steps(180) infinite;opacity:.75}
html:not([data-theme="light"]) .parked-capture-banner.cx .cx-parked-x{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--t2);background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);font-size:20px;border:0}
html:not([data-theme="light"]) .parked-capture-banner.cx .cx-parked-go::after{content:none}

/* ── CAP-2 · CaptureConfirm + QuickNoteSheet (capture.py confirm(), quicknote(); kit .lbl .ln .pc .sl .field
   .panel .led .skel .seg .link .go .foot). Base for the converted inline styles first (light theme keeps exactly
   these), then the dark mockup look. ── */
.cx-kind{display:flex;gap:4px;margin-bottom:6px}
.cx-kind-b{font-size:var(--ts-eyebrow);padding:3px 8px;border-radius:999px;border:1px solid rgba(255,255,255,0.12);background:transparent;color:var(--text-3);cursor:pointer;font-weight:600}
.cx-kind-task.on{border-color:rgba(195,154,78,0.5);background:rgba(195,154,78,0.12);color:#FDCB6E}
.cx-kind-note.on{border-color:rgba(162,155,254,0.5);background:rgba(162,155,254,0.12);color:#A29BFE}
.cx-skelbar{height:36px;border-radius:8px;background:linear-gradient(90deg,rgba(255,255,255,0.04) 0%,rgba(255,255,255,0.10) 50%,rgba(255,255,255,0.04) 100%);background-size:200% 100%;animation:v438shimmer 1.2s linear infinite}
.cx-skelbar-2{animation-delay:.15s}
.cx-hint{font-size:var(--ts-caption);opacity:.78;margin-bottom:-4px;color:var(--accent,#A29BFE)}
/* dark: the mockup */
html:not([data-theme="light"]) :is(.cx .capture-sheet,.quick-note-sheet) .sheet-head{margin-bottom:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .capture-scroll{padding-bottom:12px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-section{padding:0;margin:0;border:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-label{display:block;font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--t3);margin:16px 0 8px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-scan-row{display:flex;gap:8px;flex-wrap:wrap}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-pill{flex:none;height:44px;padding:0 16px;border-radius:99px;font-size:14px;font-weight:600;color:var(--t2);background:none;border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);display:inline-flex;align-items:center;gap:6px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-pill-icon,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-pill-icon.li,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-pill-icon.cam,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-pill-icon.img{display:inline-grid;place-items:center;width:18px;height:18px;background:none;color:inherit;padding:0;border-radius:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .scan-pill-icon svg{width:18px;height:18px}
/* Met at */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-chosen{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#111114;border:0;box-shadow:inset 0 0 0 1px var(--kx-line)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-chosen-info{flex:1;min-width:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-chosen-name{display:block;font-size:16px;font-weight:700;color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-chosen-date{display:block;font-size:14px;color:var(--t3);margin-top:1px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.event-chosen-clear,.action-x){flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:var(--t2);background:var(--glass);border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);padding:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.event-chosen-clear,.action-x) svg{width:18px;height:18px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.event-suggest,.event-new-btn){display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:52px;padding:10px 16px;border-radius:16px;background:var(--glass);border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);font-size:16px;font-weight:600;color:var(--t2);text-align:left;line-height:1.35}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.event-suggest,.event-new-btn) strong{color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.event-suggest,.event-new-btn) svg{width:20px;height:20px;flex:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-chosen+.event-suggest{margin-top:10px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-new-btn{margin-top:12px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-picker{display:block}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-group{margin:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-group-label{font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--t4);margin:14px 0 8px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-chips{display:flex;gap:8px;flex-wrap:wrap}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-chip{flex:none;height:44px;padding:0 16px;border-radius:99px;font-size:14px;font-weight:600;color:var(--t2);background:none;border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);display:inline-flex;align-items:center;gap:6px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .event-chip-date{font-style:normal;color:var(--t4);margin:0;font-size:14px}
/* Step 1 / Step 2 section labels with the Spectral hairline */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-stage-head{display:flex;align-items:center;gap:12px;margin:26px 0 4px;padding:0;border:0;font-size:14px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--t3)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-stage-head::before{content:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-stage-head::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,.14),transparent)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-stage-head+.sheet-section>.sheet-label:first-child{margin-top:10px}
/* the note field (kit .field.ta) and its highlight toggle (.link) */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-textarea-wrap{display:flex;align-items:flex-start;gap:10px;padding:0 14px;border-radius:16px;background:var(--glass);border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:box-shadow .2s cubic-bezier(.23,1,.32,1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-textarea-wrap textarea.sheet-quote-edit{flex:1;min-width:0;min-height:110px;padding:14px 0;margin:0;border:0;background:none;box-shadow:none;resize:none;line-height:1.5;font-size:16px;color:#fff;outline:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-textarea-wrap textarea.sheet-quote-edit::placeholder{color:var(--t4)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-note-hl{padding:14px;border-radius:16px;background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);font-size:16px;line-height:1.5}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .note-hl-toggle{color:var(--peri2);font-weight:700;font-size:16px;min-height:44px;display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;margin-left:auto}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-label.cx-hl-row{display:flex;justify-content:flex-end;margin:-6px 0 0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-label:empty{display:none}
/* the voice control in the sheet (Home's .c1 element, MIC-UNIFY-02) wears the mockup's quiet .sec look */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-capture-hold{display:block;margin:12px 0 0;width:100%;padding:0;box-shadow:none;border-radius:16px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-capture-hold .c1-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;height:auto;padding:0 16px;border-radius:16px;background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);border:0;font-size:16px;font-weight:600;color:var(--t2)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-capture-hold .c1-btn::before,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-capture-hold .c1-btn::after,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-capture-hold:not(.c1-working)::before,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-capture-hold::after{content:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-capture-hold .c1-btn svg{width:20px;height:20px;color:currentColor;fill:currentColor}
/* Contact details (kit .pc.ch + the two-column grid) */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-header{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:14px;margin-top:18px;border-radius:18px;background:#111114;border:0;box-shadow:inset 0 0 0 1px var(--kx-line);text-align:left;color:var(--t1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-header-title{flex:1;min-width:0;font-size:16px;font-weight:700;color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.contact-header-count,.contact-header-opt){font-size:14px;font-weight:400;color:var(--t3);margin-left:4px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-header-icon{color:var(--t3);display:grid;place-items:center;width:20px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-header-icon svg{width:20px;height:20px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-body{padding:0;margin:0;border:0;background:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 10px;margin-top:4px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-field{display:block;min-width:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-field-wide{grid-column:1/-1}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-field-label{display:block;font-size:14px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--t3);margin:16px 0 8px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-field .contact-input{min-height:48px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .contact-field textarea.contact-input{min-height:64px;padding:14px;line-height:1.5;resize:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-hint{grid-column:1/-1;font-size:14px;opacity:1;color:var(--peri2);margin:14px 0 0}
/* commitments head + Polish pill (kit .ln.polish) */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-label.cx-chead{margin-top:20px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .sheet-label .lg-button.lg-pill{flex:none;height:44px;min-height:44px;padding:0 16px;border-radius:99px;font-size:14px;font-weight:600;color:var(--peri2);background:rgba(162,155,254,.14);border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
/* the ledger (kit .panel.ledger + .led + .skel with the E17 shimmer) */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-ledger{position:relative;margin:12px 0 10px;padding:14px;border-radius:22px;overflow:hidden;background:rgba(20,20,24,.55);border:0;box-shadow:inset 0 0 0 1px var(--kx-line)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-lrow{display:flex;align-items:center;gap:10px;min-height:30px;font-size:14px;color:var(--t2)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-ld{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-ld.them{background:var(--t1);box-shadow:0 0 8px var(--t1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-ld.you{background:var(--kx-amber);box-shadow:0 0 8px var(--kx-amber)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-lside{min-width:72px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-lcount{margin-left:auto;font-weight:700;color:#fff;font-size:16px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-ledger .chroma-skel{position:relative;overflow:hidden;flex:1;height:14px;border-radius:7px;background:rgba(255,255,255,.08);animation:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-lstatus{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--t3);margin-top:8px;line-height:1.5}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-ledger>.cc-lstatus:first-child{font-size:16px;color:var(--t2);margin-top:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cc-ledger .btn-ghost{margin-top:12px}
/* E17 · every loading placeholder: a band of rgba(255,255,255,.16) sweeps across every 1.6s, linear */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-skelbar{position:relative;overflow:hidden;height:44px;margin-top:8px;border-radius:18px;background:rgba(255,255,255,.08);animation:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.cx-skelbar,.cc-ledger .chroma-skel)::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.16) 50%,transparent 70%);background-size:220% 100%;animation:cx-shim 1.6s linear infinite}
@keyframes cx-shim{from{background-position:120% 0}to{background-position:-120% 0}}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-skelbar+.cx-skelbar{margin-top:0}
/* action rows (kit .pc.arow + .seg.sm + contenteditable text + remove .qb) */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .actions-list{display:flex;flex-direction:column;gap:10px}
html:not([data-theme="light"]) :is(.cx .capture-sheet,.quick-note-sheet):not(.quick-note-sheet) .action-row{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:14px;border-radius:18px;background:#111114;border:0;box-shadow:inset 0 0 0 1px var(--kx-line);position:relative}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .cx-kind,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .action-row .assignee-toggle{display:flex;align-self:flex-start;gap:0;margin:0;padding:3px;border-radius:14px;background:#121215;border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.cx-kind-b,.action-row .assignee-btn){flex:1;height:44px;padding:0 14px;border-radius:11px;font-size:14px;font-weight:700;color:var(--t3);background:none;border:0;box-shadow:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.cx-kind-b.on,.action-row .assignee-btn.on,.action-row .assignee-btn.active,.action-row .assignee-btn[aria-pressed="true"]){background:#26262b;color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .action-text-edit-wrap{display:flex;gap:8px;align-items:flex-start;font-size:16px;font-weight:600;color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .action-text-editable{outline:0;border-bottom:1px dashed rgba(255,255,255,.3);font-size:16px;font-weight:600;color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .action-text-pencil{color:var(--t3);padding-top:3px;font-size:14px}
html:not([data-theme="light"]) :is(.cx .capture-sheet,.quick-note-sheet):not(.quick-note-sheet) .action-row .action-x{position:absolute;right:14px;bottom:14px}
/* talking points + the custom add forms */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .tp-list{display:flex;flex-direction:column;gap:10px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .tp-row{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#111114;border:0;box-shadow:inset 0 0 0 1px var(--kx-line)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .tp-row .action-text{flex:1;min-width:0;font-size:16px;font-weight:700;color:#fff;outline:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .tp-section-head{margin-top:16px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .custom-action-trigger{display:flex;align-items:center;gap:4px;margin-top:12px;min-height:44px;padding:0;background:none;border:0;color:var(--peri2);font-weight:700;font-size:16px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .custom-action-trigger svg{width:16px;height:16px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .custom-action-form{margin-top:14px;padding:0;border:0;background:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .custom-action-row{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .custom-action-row .assignee-toggle{display:flex;gap:0;padding:3px;border-radius:14px;background:#121215;border:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .custom-action-row .assignee-btn{height:44px;padding:0 14px;border-radius:11px;font-size:14px;font-weight:700;color:var(--t3);background:none;border:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .custom-action-row :is(.assignee-btn.on,.assignee-btn.active,.assignee-btn[aria-pressed="true"]){background:#26262b;color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-primary.custom-action-add{flex:none;width:auto;min-width:76px;height:44px;min-height:44px;padding:0 16px;border-radius:99px;background:#F4F4F5;color:#0b0b12;font-weight:800;font-size:15px;box-shadow:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-primary.custom-action-add::after{content:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-primary.custom-action-add::before{content:"";position:absolute;inset:-4px;border-radius:99px;padding:1.5px;background:var(--conic);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:kx-spin 12s steps(180) infinite;opacity:.75}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-ghost.custom-action-cancel{width:auto;min-height:44px;padding:0 12px;background:none;box-shadow:none;color:var(--t3)}
/* footer: Cancel (quiet) + Save (the one loud button) */
html:not([data-theme="light"]) :is(.cx .capture-sheet,.quick-note-sheet) .sheet-actions{display:grid;grid-template-columns:1fr 2.1fr;gap:10px;align-items:center;margin:0 -16px;padding:12px 16px calc(28px + env(safe-area-inset-bottom,0px));background:#0f0f12;border-top:0;box-shadow:none}
html:not([data-theme="light"]) :is(.cx .capture-sheet,.quick-note-sheet) .sheet-actions .btn{width:100%;margin:0}
/* QuickNoteSheet: the picked-up actions (kit .pc + .tag) */
html:not([data-theme="light"]) .capture-sheet.quick-note-sheet .sheet-textarea-wrap{margin-top:14px}
html:not([data-theme="light"]) .capture-sheet.quick-note-sheet .action-list{display:flex;flex-direction:column;gap:10px}
html:not([data-theme="light"]) .capture-sheet.quick-note-sheet .action-row{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#111114;border:0;box-shadow:inset 0 0 0 1px var(--kx-line)}
html:not([data-theme="light"]) .capture-sheet.quick-note-sheet .action-text{flex:1;min-width:0;font-size:16px;font-weight:700;color:#fff}

/* ── CAP-2 · the discard confirm (kit .dialog; E09 · 0.55s on --spring from translateY(-50%) scale .86) ── */
html:not([data-theme="light"]) .cx.discard-ask{align-items:center;justify-content:center;padding:24px;background:rgba(3,3,5,.75);z-index:8000}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .discard-card{width:100%;max-width:none;border:0;border-radius:24px;background:#141418;box-shadow:inset 0 0 0 1px var(--kx-line2),0 30px 60px -20px #000;padding:20px;color:var(--t1);animation:cx-dlg .55s cubic-bezier(.34,1.56,.64,1) backwards}
@keyframes cx-dlg{from{opacity:0;transform:scale(.86)}}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .discard-title{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--t1);margin:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .discard-sub{font-size:16px;line-height:1.5;color:var(--t2);margin:8px 0 0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .discard-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px;align-items:center}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .discard-actions .btn{width:100%;margin:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn.discard-confirm{display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 16px;border-radius:16px;background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);border:0;font-size:16px;font-weight:600;color:var(--coral)}

/* ── CAP-2 · QuickNoteContactPicker (capture.py picker(): .shd h2 + p, .field, .pc rows with avatars, .sec) ── */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-sheet{display:flex;flex-direction:column;overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-height:44px;padding:0;border:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-title{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--t1)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-sub{font-size:16px;line-height:1.5;color:var(--t2);margin-top:4px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-close{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);color:var(--t1);font-size:20px;border:0}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-search{padding:0;margin-top:14px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-list{padding:0;margin-top:16px;display:flex;flex-direction:column;gap:10px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-row{display:flex;align-items:center;gap:12px;padding:14px;border-radius:18px;background:#111114;border:0;box-shadow:inset 0 0 0 1px var(--kx-line);min-height:0;flex:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-row .aa-avatar-initials{width:44px!important;height:44px!important;font-size:15px!important;flex:none}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-row-name{font-size:16px;font-weight:700;color:#fff}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-row-sub{font-size:14px;color:var(--t3);margin-top:1px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:48px 24px;color:var(--t3);font-size:16px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-foot{padding:0;border:0;margin-top:12px}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .evpick-new{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:0 16px;border-radius:16px;background:var(--glass);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);border:0;font-size:16px;font-weight:600;color:var(--t2)}

@media (prefers-reduced-motion:reduce){
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.modal-overlay,.ai-modal-backdrop,.evpick-scrim),html:not([data-theme="light"]) .cx.modal-overlay,html:not([data-theme="light"]) .cx.ai-modal-backdrop,html:not([data-theme="light"]) .cx.evpick-scrim,html:not([data-theme="light"]) .cx.cx-match,
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.scan-sheet,.capture-sheet,.ai-modal,.evpick-sheet,.cx-match-sheet,.discard-card){animation:none!important}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.cx-skelbar,.cc-ledger .chroma-skel)::after,html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) .btn-primary::after{animation:none!important}}
/* QuickNoteSheet · who owes each picked-up action (kit .tag; the contact's side amber) */
html:not([data-theme="light"]) .capture-sheet.quick-note-sheet .aa-assignee{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:99px;font-size:14px;font-weight:700;color:var(--peri2);background:rgba(162,155,254,.14);border:0;flex:none}
html:not([data-theme="light"]) .capture-sheet.quick-note-sheet .aa-assignee--them{color:var(--kx-amber);background:rgba(253,203,110,.14)}
/* the owner switch: the kit segmented control in both the action rows and the Add form */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.action-row,.custom-action-row) .assignee-btn.active{background:#26262b;color:#fff;box-shadow:none;border:0}
/* ASSIGNEE-COLOUR (M-ASSIGNEE-TOGGLE-COLOUR-AND-DENSITY): the two lit sides keep their two colours on the sheet, the same pair index.html gives the profile (You = accent, contact = text) */
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.action-row,.custom-action-row) .assignee-btn.active.active--user{background:var(--accent);color:var(--skin-accent-ink,#17171a)}
html:not([data-theme="light"]) :is(.cx,.quick-note-sheet) :is(.action-row,.custom-action-row) .assignee-btn.active.active--contact{background:var(--text);color:var(--bg)}

/* ── PART-1 fidelity (states voice · ai-listening · ai-transcribing): the listening screens' chrome is the mockup's
   (capture.py VOICE / aicap(): .full background, plain .ghost Cancel, full-width .cta Capture, .aist status line).
   VoiceOverlay draws THE listening animation in .cx-voice-canvas on the dark theme; the light theme keeps the blob. ── */
.cx-voice-canvas{display:none}
html:not([data-theme="light"]) .voice-overlay{background:radial-gradient(80% 60% at 50% 35%,rgba(162,155,254,.14),transparent 70%),#06060a}
html:not([data-theme="light"]) .voice-overlay .voice-cancel{top:max(env(safe-area-inset-top,0px),12px);left:16px;min-height:44px;padding:0 12px 0 0;border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;font-size:16px;font-weight:600;color:var(--t2)}
html:not([data-theme="light"]) .voice-overlay .voice-stop-row{padding:0 16px max(env(safe-area-inset-bottom,0px),36px)}
html:not([data-theme="light"]) .voice-overlay .voice-stop--labelled{width:100%;min-width:0;height:56px;min-height:56px;padding:0 18px;gap:10px;border-radius:18px;background:#fff;color:#0b0b12;font-size:17px;font-weight:800;position:relative;isolation:isolate;box-shadow:0 0 0 2px #07070a,0 18px 40px -16px rgba(162,155,254,.6)}
html:not([data-theme="light"]) .voice-overlay .voice-stop--labelled::after{content:"";position:absolute;inset:-3px;border-radius:21px;padding:2.5px;background:var(--conic);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:kx-spin 4s steps(60) infinite;pointer-events:none}
html:not([data-theme="light"]) .voice-overlay .voice-stop-arrow{font-size:20px;color:#0b0b12}
html:not([data-theme="light"]) .voice-overlay .voice-stop-label{letter-spacing:0}
html:not([data-theme="light"]) .voice-overlay .voice-blob-wrap .siri-blob,html:not([data-theme="light"]) .voice-overlay .voice-blob-wrap .siri-core{display:none}
html:not([data-theme="light"]) .voice-overlay .cx-voice-canvas{display:block;width:375px;max-width:100vw;height:440px}
html:not([data-theme="light"]) .voice-overlay .vt-label{font-size:14px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--t3)}
html:not([data-theme="light"]) .voice-overlay .vt-text{font-size:16px;color:var(--t3);margin-top:6px}
html:not([data-theme="light"]) .voice-overlay .aai-capture-status{font-size:16px;font-weight:600;color:var(--t2)}
html:not([data-theme="light"]) .voice-overlay .aai-cap-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 8px var(--coral)}
@media (prefers-reduced-motion:reduce){html:not([data-theme="light"]) .voice-overlay .voice-stop--labelled::after{animation:none}}
