/* One implementation per UI family; route styles never redefine these. */
/* D39 — independent V2 implementation of the shared alignment contract. */
:where(button, [role="button"]):not([hidden]):has(> :is(svg, .icon)) { display:inline-flex;align-items:center; }
:where(button, [role="button"], a.v2-button, a.gold-button, a.outline-button, a.icon-button, a.round-button) > :is(svg, .icon) { display:block;flex-shrink:0;align-self:center;margin-block:0; }
:where(.v2-button, .gold-button, .outline-button) > span:not(:has(svg, .icon)) { text-box:trim-both cap alphabetic; }
/* Sally pane: the same header, portrait, message rhythm and composer in every V2 role. */
.sally-pane { display:flex;flex-direction:column;width:100%;height:100%;min-height:0;overflow:hidden;border:1px solid var(--sally-border);border-radius:var(--sally-radius);background:var(--sally-panel-background);backdrop-filter:blur(20px);color:var(--sally-text); }
.sally-pane-message-face img { display:block;width:100%;height:100%;object-fit:cover; }
.sally-pane-action { display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:6px;border:0;border-radius:var(--radius-control);background:transparent;color:var(--muted); }
.sally-pane-action:hover { background:var(--surface-raised);color:var(--text); }
.sally-pane-action[aria-pressed="true"] { color:var(--cyan);background:var(--surface-raised); }
.sally-pane-action:disabled { opacity:.4; }
.sally-pane .icon { display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round; }
.sally-pane-stage { display:flex;flex-direction:column;gap:6px;position:relative;flex:0 0 var(--sally-stage-height);min-height:0;overflow:hidden;margin:15px 15px 8px;padding:0;border-radius:var(--sally-radius);background:var(--sally-stage-background); }
.sally-pane-stage-media { position:relative;flex:1;min-height:0;overflow:hidden;border-radius:var(--sally-radius); }
.sally-pane-stage-media>img,.sally-pane-stage-media>video { display:block;width:100%;height:100%;object-fit:cover; }
.sally-pane-stage-media>.sally-pane-action { position:absolute;right:4px;top:4px;width:24px;height:24px;padding:4px;background:var(--sally-background);opacity:0;transition:opacity var(--motion-hover); }
/* The close control appears only while the pointer is on Sally (or it has keyboard focus). */
.sally-pane-stage:hover .sally-pane-stage-media>.sally-pane-action,.sally-pane-stage-media>.sally-pane-action:focus-visible { opacity:1; }
.sally-pane-stage-media>.sally-pane-action .icon{width:14px;height:14px}
.sally-pane-stage-label { flex-shrink:0;color:var(--sally-text);font-size:var(--type-small);font-weight:600;text-align:center;text-transform:uppercase;letter-spacing:.5px; }
.sally-pane-live-actions { position:absolute;bottom:8px;left:8px;right:8px;display:flex;justify-content:center;gap:8px; }
.sally-pane-live-actions button { padding:7px 12px;border:1px solid var(--line-bright);border-radius:var(--radius-control);background:var(--surface);color:var(--text);font-size:var(--type-small); }
.sally-pane-stage[data-live="active"] .sally-pane-live-actions button { background:color-mix(in srgb,var(--surface) 85%,transparent); }
.sally-pane-scroll { flex:1;min-height:0;overflow-y:auto;padding:16px;scrollbar-width:thin;scrollbar-color:var(--line-bright) transparent; }
.sally-pane-messages { display:flex;flex-direction:column;gap:12px; }
.sally-pane-message { display:flex;align-items:flex-start;gap:8px;min-width:0; }
.sally-pane-message-face { display:block;flex:0 0 22px;width:22px;height:22px;overflow:hidden;margin-top:6px;border:1px solid var(--sally-border-hover);border-radius:50%; }
.sally-pane-message>p { flex:1;min-width:0;margin:0;padding:10px 14px;border:1px solid var(--sally-border);border-radius:var(--radius-control);background:var(--sally-background);font-size:var(--type-body);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere; }
.sally-pane-message[data-role="assistant"]>p { border-bottom-left-radius:4px; }
.sally-pane-message[data-role="user"] { justify-content:flex-end;margin-left:30px; }
.sally-pane-message[data-role="user"]>p { flex:0 1 auto;border-color:var(--sally-border-hover);border-bottom-right-radius:4px; }
.sally-pane-message[data-state="failed"] { opacity:.6; }
.sally-pane-topics { display:grid;gap:8px;margin:16px 0 0 30px; }
.sally-pane-topics>button { padding:8px 10px;border:1px solid var(--line-bright);border-radius:var(--radius-control);background:transparent;color:var(--text);font-size:var(--type-small);text-align:left; }
.sally-pane-topics>button:hover { background:var(--surface-raised);border-color:var(--muted); }
.sally-pane-footer { flex-shrink:0;padding:12px;border-top:1px solid var(--sally-border); }
.sally-pane-composer { display:flex;align-items:center;gap:4px;padding:3px 4px;border:1px solid var(--sally-border);border-radius:var(--radius-control);background:var(--sally-surface); }
.sally-pane-composer:focus-within { border-color:var(--sally-border-hover); }
.sally-pane-composer textarea { flex:1;min-width:0;min-height:20px;max-height:200px;resize:none;padding:6px 0;border:0;outline:0;background:transparent;color:var(--sally-text);font-size:var(--type-body);line-height:1.4; }
.sally-pane-composer textarea::placeholder { color:var(--sally-tertiary); }
.sally-pane-composer button[type="submit"] { background:transparent;color:var(--sally-secondary); }
.sally-pane-composer .sally-pane-action { border-radius:0;background:transparent; }
.sally-pane-composer .sally-pane-action[aria-pressed="true"] { color:var(--green); }
.sally-pane-notice { margin:0 0 10px;color:var(--muted);font-size:var(--type-small);line-height:1.4; }
.sally-pane-notice:empty { display:none; }
.sally-pane-notice[data-state="error"] { color:var(--text); }
.sally-pane-footnote { margin:8px 0 0;color:var(--faint);font-size:var(--type-tiny);text-align:center; }
.v2-button,.gold-button { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:32px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);border-radius:var(--radius-control);background:linear-gradient(130deg,color-mix(in srgb,var(--petrol) 45%,transparent),var(--background));font-size:var(--type-small);color:var(--text);transition:box-shadow var(--motion-hover),transform var(--motion-hover),background var(--motion-hover); }
.v2-button:hover,.gold-button:hover { box-shadow:inset 0 0 16px color-mix(in srgb,var(--gold) 9%,transparent),0 0 16px color-mix(in srgb,var(--gold) 13%,transparent); }
.v2-button[data-tone="glass"] { border-color:color-mix(in srgb,var(--cyan) 28%,transparent);background:linear-gradient(130deg,var(--petrol),var(--petrol-dark)); }
.v2-button:disabled { opacity:.4;cursor:not-allowed;box-shadow:none;transform:none; }
.v2-button .icon,.gold-button .icon { width:15px;height:15px;color:var(--gold); }
.v2-badge { display:inline-flex;align-items:center;gap:5px;padding:2px 7px;border:1px solid color-mix(in srgb,var(--cyan) 55%,transparent);border-radius:var(--radius-badge);background:linear-gradient(110deg,var(--background),color-mix(in srgb,var(--cyan) 20%,var(--petrol-dark)));font-size:var(--type-tiny);line-height:1.3;box-shadow:inset 0 0 5px color-mix(in srgb,var(--cyan) 15%,transparent);white-space:nowrap; }
.v2-badge[data-tone="gold"] { border-color:var(--gold);background:linear-gradient(100deg,var(--background),color-mix(in srgb,var(--gold) 40%,var(--surface))); }
.v2-badge[data-tone="error"] { border-color:var(--error);color:var(--error);background:var(--surface); }
.v2-badge[data-tone="muted"] { border-color:var(--line-bright);background:var(--surface);color:var(--muted); }
.v2-panel { padding:20px;border:1px solid color-mix(in srgb,var(--cyan) 14%,transparent);border-radius:var(--radius-panel);background:radial-gradient(ellipse at top right,var(--petrol),transparent 80%),linear-gradient(150deg,var(--petrol-dark),var(--background)); }
.v2-metric { position:relative;min-height:140px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-tile);background:radial-gradient(ellipse at 15% 70%,color-mix(in srgb,var(--rose) 20%,transparent),transparent 68%),var(--background);overflow:hidden; }
.v2-metric-head { display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:var(--type-meta);color:var(--gold-light); }
.v2-metric-body { display:flex;align-items:center;gap:15px;margin-top:12px; }
.v2-metric-value { font-size:var(--type-hero);font-weight:350;letter-spacing:-.04em;line-height:1; }
.v2-metric-caption { display:block;margin-top:7px;font-size:var(--type-tiny);color:var(--muted); }
.v2-dot-chart { width:100%;height:65px;overflow:visible; }
.v2-chart-column { cursor:crosshair;outline:none; }
.v2-chart-column:focus-visible circle,.v2-chart-column:hover circle[data-lit="true"] { fill:var(--cyan); }
.v2-chart-column circle { fill:var(--line-bright);opacity:.3; }
.v2-chart-column circle[data-lit="true"] { fill:var(--gold-light);opacity:.85; }
.v2-chart-button { display:block;flex:1;min-width:0;padding:0;border-radius:var(--radius-control); }
.v2-stat-grid { display:grid;grid-template-columns:1fr 1fr;gap:var(--space-card); }
.v2-stat { padding:17px 14px;border-radius:var(--radius-tile);background:linear-gradient(135deg,color-mix(in srgb,var(--petrol) 58%,transparent),color-mix(in srgb,var(--background) 75%,transparent));border:1px solid color-mix(in srgb,var(--cyan) 6%,transparent); }
.v2-stat strong { display:block;font-size:var(--type-brand);font-weight:350;line-height:1.2; }
.v2-stat span { display:block;font-size:var(--type-small);color:var(--muted);margin-top:7px; }
.v2-state { min-height:120px;display:grid;align-content:center;gap:9px;padding:18px;border:1px solid var(--line-bright);border-radius:var(--radius-tile);background:linear-gradient(145deg,var(--petrol-dark),var(--background)); }
.v2-state strong { font-size:var(--type-label);font-weight:450; }.v2-state p {margin:0;font-size:var(--type-meta);color:var(--muted);line-height:1.6;}
.v2-state[data-state="loading"]::before {content:"";width:36px;height:2px;background:linear-gradient(90deg,transparent,var(--cyan));}
.v2-state[data-state="error"] {border-color:color-mix(in srgb,var(--error) 50%,transparent);}
.v2-dialog { width:min(760px,calc(100vw - 120px));max-height:calc(100dvh - 100px);margin:auto;padding:27px;color:var(--text);border:1px solid color-mix(in srgb,var(--cyan) 35%,transparent);border-radius:var(--radius-panel);background:radial-gradient(ellipse at top right,var(--petrol),transparent 75%),linear-gradient(150deg,var(--petrol-dark),var(--background));box-shadow:0 30px 120px var(--background);scrollbar-color:var(--line-bright) transparent; }
.v2-dialog::backdrop {background:color-mix(in srgb,var(--background) 66%,transparent);backdrop-filter:blur(8px);}
.v2-dialog-head { display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px; }.v2-dialog-head h2 {font-size:var(--type-brand);font-weight:450;line-height:1.25;letter-spacing:-.03em;margin:0;}
.v2-dialog-head button {flex-shrink:0;}
.v2-dialog-body {font-size:var(--type-body);line-height:1.7;overflow-wrap:anywhere;}
.v2-dialog-body>div>.v2-dot-chart {height:190px;}
.v2-dialog-actions {display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:17px;border-top:1px solid var(--line);}
.v2-tabs { display:flex;gap:3px;padding:4px;border:1px solid var(--line-bright);border-radius:var(--radius-control);background:var(--background); }
.v2-tabs button {padding:6px 9px;border-radius:var(--radius-badge);font-size:var(--type-small);color:var(--muted);}
.v2-tabs button[aria-pressed="true"] {background:var(--petrol);color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cyan) 30%,transparent);}
.v2-tabs button:hover {color:var(--gold-light);}
.v2-field {display:grid;gap:7px;font-size:var(--type-meta);color:var(--muted);}
.v2-field input,.v2-field select,.v2-field textarea {font:inherit;color:var(--text);width:100%;padding:10px 12px;border:1px solid var(--line-bright);border-radius:var(--radius-control);background:var(--background);outline:none;}
.v2-field input:focus,.v2-field select:focus,.v2-field textarea:focus {border-color:var(--cyan);box-shadow:0 0 15px color-mix(in srgb,var(--cyan) 10%,transparent);}
.v2-field [aria-invalid="true"] {border-color:var(--error);}
.v2-tooltip {position:fixed;z-index:100;padding:7px 10px;max-width:260px;pointer-events:none;border:1px solid var(--line-bright);border-radius:var(--radius-control);background:var(--background);color:var(--gold-light);font-size:var(--type-small);box-shadow:0 8px 25px var(--background);}
.v2-table {width:100%;border-collapse:collapse;font-size:var(--type-meta);}.v2-table th,.v2-table td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);}.v2-table th{color:var(--muted);font-weight:400;}.v2-table caption{color:var(--muted);text-align:left;margin-bottom:12px;}

/* Existing V2 form family, extended for multiline evidence and correction selection. */
.v2-form {display:grid;gap:var(--space-card);margin-top:var(--space-card);}
.v2-field textarea,.v2-field select {width:100%;padding:10px;border:1px solid var(--line-bright);border-radius:var(--radius-control);background:var(--background);color:var(--text);font:inherit;}
.v2-field textarea {resize:vertical;}

/* Lacaton uses the shared V2 command, editorial, flow and package-map components. */
.v2-command-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-card)}
.v2-section-links{border:0;border-bottom:1px solid var(--line-bright);background:transparent;padding:0 0 12px;gap:25px;border-radius:0;margin-bottom:8px}
.v2-section-links a{font-size:var(--type-body);color:var(--muted);padding:6px 0}
.v2-section-links a[aria-current]{color:var(--text)}
.v2-lacaton-page{display:grid;gap:8px}
.v2-editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;padding:16px 0}
.v2-editorial h2,.v2-editorial-copy h2{font-size:var(--type-hero);font-weight:400;letter-spacing:-.035em;line-height:1.2;margin:12px 0 20px;max-width:26ch}
.v2-editorial p,.v2-editorial-copy>p:last-child{font-size:var(--type-label);line-height:1.65;color:var(--muted);max-width:68ch}
.v2-editorial blockquote{margin:25px 0 0;border-left:1px solid var(--gold);padding:0 0 0 19px;font-size:var(--type-label);line-height:1.7}
.v2-editorial cite{display:block;font-size:var(--type-small);color:var(--muted);font-style:normal;margin-top:10px}
.v2-building{width:100%;fill:none;stroke:var(--line-bright);stroke-width:1.2}
.v2-building [data-part="existing"]{fill:var(--petrol-dark);stroke:var(--muted)}
.v2-building [data-part="extension"]{stroke:var(--gold);fill:color-mix(in srgb,var(--gold) 5%,transparent)}
.v2-building [data-part="window"]{stroke:var(--muted);opacity:.45}
.v2-building [data-part="join"]{stroke:var(--cyan);stroke-width:3}
.v2-building text{fill:var(--muted);stroke:none;font-size:var(--type-small);font-family:var(--font-graph);letter-spacing:.1em}
.v2-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-card)}
.v2-principles h3{font-size:var(--type-value);font-weight:400;margin:12px 0}
.v2-principles p:not(.eyebrow){font-size:var(--type-body);line-height:1.65;color:var(--muted);margin:0}
.v2-flow-diagram{border:1px solid var(--line-bright);border-radius:var(--radius-tile);padding:24px}
.v2-flow-main{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:20px}
.v2-flow-main span{display:flex;align-items:center;flex:1;gap:25px;font-size:var(--type-label)}
.v2-flow-main span:not(:last-child)::after{content:"";height:1px;background:var(--cyan);flex:1}
.v2-flow-main span:last-child{flex:0 0 auto}
.v2-flow-branch{border-left:1px solid var(--gold);border-right:1px solid var(--gold);margin:25px 8% 0;padding:12px 20px 4px}
.v2-flow-steps{list-style:decimal-leading-zero;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding-left:24px;margin-top:20px;color:var(--gold);font-size:var(--type-small)}
.v2-flow-steps strong{display:block;font-size:var(--type-label);font-weight:500;color:var(--text);margin:5px 0 9px}
.v2-flow-steps small{display:block;color:var(--muted);font-size:var(--type-small)}
.v2-lacaton-stats{grid-template-columns:repeat(3,1fr)}
.v2-build-map{display:grid;grid-template-columns:1.05fr 1.35fr 1.15fr 1fr 1fr;gap:18px;margin-top:8px}
.v2-build-phase{min-width:0;position:relative}
.v2-build-phase::before{content:"";position:absolute;top:13px;height:1px;left:18px;right:-18px;background:var(--line-bright)}
.v2-build-phase:last-child::before{right:0}
.v2-build-phase-head{position:relative;display:flex;align-items:center;gap:8px;margin-bottom:10px}
.v2-build-phase-head>span{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--line-bright);border-radius:50%;background:var(--background);font-size:var(--type-tiny);color:var(--gold)}
.v2-build-phase-head h3{background:var(--petrol-dark);font-size:var(--type-small);font-weight:450;margin:0;padding:4px}
.v2-build-node{display:flex;align-items:center;gap:8px;width:100%;padding:6px 9px;margin:0 0 4px;border:1px solid transparent;border-radius:var(--radius-control);background:color-mix(in srgb,var(--surface) 60%,transparent);text-align:left;color:var(--muted);font-size:var(--type-small)}
.v2-build-node small{font-size:var(--type-tiny);flex-shrink:0}
.v2-build-node-dot{width:5px;height:5px;flex-shrink:0;border:1px solid var(--muted);border-radius:50%}
.v2-build-node[data-documented="true"]{color:var(--text);background:color-mix(in srgb,var(--petrol) 35%,var(--background))}
.v2-build-node[data-documented="true"] .v2-build-node-dot{background:var(--text);border-color:var(--text)}
.v2-build-node[aria-pressed="true"]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 9%,var(--background))}
.v2-build-node[aria-pressed="true"] .v2-build-node-dot{background:var(--gold);border-color:var(--gold)}
.v2-build-node:hover{border-color:var(--line-bright);color:var(--text)}
.v2-build-legend,.v2-build-caption,.v2-package-limit{font-size:var(--type-small);line-height:1.6;color:var(--muted);margin:0}
.v2-package-detail{border-radius:var(--radius-tile)}
.v2-package-detail h3{font-size:var(--type-value);font-weight:400;margin:12px 0}
.v2-package-detail>p:not(.eyebrow){font-size:var(--type-body);line-height:1.6;color:var(--muted)}
.v2-package-detail .finding-facts{grid-template-columns:repeat(4,1fr);margin:15px 0}
.v2-package-limit{margin-top:12px}
.v2-state[data-density="compact"]{min-height:0;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.v2-state[data-density="compact"] strong{font-size:var(--type-small)}
.v2-editorial{grid-template-columns:1.35fr 1fr;gap:36px;padding:8px 0}
.v2-building{height:260px}
.v2-editorial h2{margin:8px 0 14px}
.v2-editorial blockquote{margin-top:18px}
.v2-editorial-copy h2{font-size:var(--type-title);max-width:none;margin:8px 0 12px}
.v2-editorial-copy>p:last-child{font-size:var(--type-body);line-height:1.5;max-width:110ch;margin:8px 0}
.v2-flow-diagram{padding:16px 22px}
.v2-flow-main{margin-top:14px}
.v2-flow-branch{margin-top:18px;padding-top:8px}
.v2-flow-steps{margin:12px 0 4px}

.v2-panel[data-tone="mission"] { padding:22px 26px;border:1px solid var(--s01-border);border-radius:8px;background:var(--s01-glass);box-shadow:0 18px 40px color-mix(in srgb,var(--background) 55%,transparent); }
.v2-panel[data-tone="pending"]{padding:18px 20px;border:1px dashed var(--s01-border);border-radius:var(--radius-control);background:var(--s01-glass);color:var(--text)}
.v2-panel[data-tone="pending"] .icon,.s06-feedback .icon{display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v2-evidence { padding:26px 30px;border-radius:5px;background:var(--s02-document);color:var(--s02-document-ink);box-shadow:0 24px 60px color-mix(in srgb,var(--background) 55%,transparent); }
.v2-evidence>header { display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--s02-document-line); }
.v2-evidence>header strong { font-size:var(--type-section);letter-spacing:.2em; }.v2-evidence>header span { font-size:var(--type-small); }
.v2-evidence-date { margin:20px 0 14px;font-size:var(--type-meta); }
.v2-evidence h2 { margin:0 0 20px;font-family:var(--font-graph);font-size:var(--type-hero);font-weight:600;line-height:1.08;white-space:pre-line; }
.v2-evidence blockquote { margin:0;font-size:var(--type-value);line-height:1.5; }.v2-evidence mark { padding:1px 3px;background:var(--s02-mark);color:var(--paper);box-decoration-break:clone; }
.v2-evidence>footer { display:flex;flex-direction:column;gap:6px;margin-top:24px;padding-top:16px;border-top:1px solid var(--s02-document-line);font-size:var(--type-meta); }.v2-evidence>footer strong { font-size:var(--type-label); }.v2-evidence>footer small { font-size:var(--type-small); }
.v2-evidence>footer .v2-button { align-self:flex-start;margin-top:10px;border-color:var(--s02-mark);background:transparent;color:var(--s02-document-ink); }
.v2-evidence[data-scanning] mark { background:linear-gradient(90deg,var(--s02-mark) calc(var(--mark,1)*100%),transparent 0);color:color-mix(in srgb,var(--paper) calc(var(--mark,1)*100%),var(--s02-document-ink)); }
.v2-signal{display:flex;flex-direction:column;gap:5px;padding:11px 13px;border:1px solid var(--s01-border);border-radius:var(--radius-control);background:var(--s01-glass);box-shadow:0 7px 25px color-mix(in srgb,var(--background) 35%,transparent);font-size:var(--type-small);color:var(--s01-muted)}.v2-signal>small{font-size:var(--type-caption);color:var(--s01-gold)}.v2-signal>strong{font-size:var(--type-label);font-weight:500;color:var(--text)}.v2-signal>em{display:none;font-size:var(--type-caption);font-style:normal;color:var(--s01-muted)}.v2-signal[data-decided="true"]>em{display:block}.v2-signal[data-match="true"]{border-color:var(--s01-mint)}.v2-signal[data-match="true"]>em{color:var(--s01-mint)}
.v2-fit-row{display:flex;align-items:center;border-bottom:1px solid var(--s01-border);color:var(--text)}
.sally-pane-context{flex-shrink:0;margin:6px 16px 0;padding:12px 14px;border-left:2px solid var(--s01-gold);border-radius:var(--radius-control);background:var(--sally-surface)}.sally-pane-context>small{font-size:var(--type-caption);letter-spacing:1px;color:var(--s01-gold)}.sally-pane-context>p{margin:7px 0 0;font-size:var(--type-body);line-height:1.45;color:var(--sally-text)}
.v2-fit-row>strong{width:36%;font-family:var(--font-graph);font-size:var(--type-value);font-weight:500;line-height:1.15;opacity:var(--criterion-progress,1);transform:translate(calc((1 - var(--criterion-progress,1))*-90%),var(--criterion-offset-y,0px))}
.v2-fit-evidence{position:absolute;left:60%;width:40%;display:flex;flex-direction:column;gap:5px;transform:translateX(calc((1 - var(--fit-progress,1))*35px));opacity:calc(.2 + var(--fit-progress,1)*.8)}
.v2-fit-evidence>b{font-size:var(--type-label);font-weight:500;line-height:1.15}.v2-fit-evidence>small{font-size:var(--type-small);line-height:1.2;color:var(--s01-muted)}
.v2-fit-evidence>em{display:flex;align-items:center;gap:5px;font-size:var(--type-caption);font-style:normal;color:var(--green);opacity:0}.v2-fit-evidence svg{width:14px;height:14px}.v2-fit-row[data-checked="true"][data-match="true"] .v2-fit-evidence>em{opacity:1}
.v2-person-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--s01-border);border-radius:var(--radius-control);background:var(--s01-glass);box-shadow:0 24px 60px color-mix(in srgb,var(--background) 70%,transparent);color:var(--text)}
.v2-person-card[data-selected="true"]{border-color:var(--s01-gold)}
.v2-person-select{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.v2-person-select:disabled{cursor:default;opacity:1}
.v2-person-tab{flex-shrink:0;padding:7px 14px;background:var(--surface-raised);font-size:var(--type-caption);letter-spacing:1.5px;color:var(--s01-gold)}
.v2-person-select>img{display:block;width:100%;flex:1;min-height:0;object-fit:cover;object-position:50% 26%}
.v2-person-select>strong{flex-shrink:0;padding:10px 14px 2px;font-family:var(--font-graph);font-size:var(--type-value);font-weight:500;line-height:1.05}.v2-person-role{flex-shrink:0;padding:0 14px 9px;font-size:var(--type-meta);color:var(--s01-muted)}
.v2-person-proof{display:flex;flex-direction:column;gap:6px;flex-shrink:0;padding:12px 14px;border-top:1px solid var(--s01-border)}.v2-person-proof>p{margin:0;font-size:var(--type-small);line-height:1.25}.v2-person-proof>small{font-size:var(--type-caption);line-height:1.2;color:var(--s01-muted)}
.v2-person-role-state,.v2-person-contact-state{font-size:var(--type-caption);line-height:1.2;color:var(--s01-muted)}.v2-person-contact-state{padding-top:6px;border-top:1px solid var(--s01-border)}
.v2-person-card[data-role="example_supported"] .v2-person-role-state,.v2-person-card[data-contact="example_checked"] .v2-person-contact-state{color:var(--green)}
.v2-rolodex-entry{display:grid;grid-template-columns:1fr;align-content:center;gap:1px;color:var(--s01-muted)}
.v2-rolodex-entry>strong{font-family:var(--font-graph);font-size:var(--type-caption);font-weight:500}.v2-rolodex-entry>small{display:none}.v2-rolodex-entry-role{font-size:var(--type-tiny);letter-spacing:.2px}
.v2-rolodex-port{position:absolute;width:4px;height:4px;left:calc(-1*var(--rolodex-text-offset) - 2px);top:calc(50% - 2px);border-radius:50%;background:var(--s01-gold);box-shadow:0 0 4px color-mix(in srgb,var(--s01-gold) 70%,transparent)}
.s04-deck::before{content:'';position:absolute;inset:-10% 7% -10% 20%;background:radial-gradient(ellipse at 65% 45%,color-mix(in srgb,var(--s01-mint) 9%,transparent),transparent 65%);opacity:var(--deckEnter,0);pointer-events:none}
.v2-rolodex-origin{display:grid;grid-template-columns:calc(18px*var(--relation-unit,1)) 1fr;grid-template-rows:auto auto;align-content:center;column-gap:calc(8px*var(--relation-unit,1));row-gap:calc(4px*var(--relation-unit,1));padding:calc(9px*var(--relation-unit,1)) calc(16px*var(--relation-unit,1));border:calc(1.4px*var(--relation-unit,1)) solid transparent;border-radius:calc(9px*var(--relation-unit,1));background:linear-gradient(105deg,var(--glass-category-left),var(--glass-category-right-lit)) padding-box,linear-gradient(145deg,var(--glass-category-edge-left) 5%,var(--glass-category-edge-top) 43%,var(--glass-category-edge-bottom) 94%) border-box;box-shadow:inset 0 calc(-1px*var(--relation-unit,1)) 0 var(--glass-category-black),0 calc(2px*var(--relation-unit,1)) 0 var(--glass-category-black)}
.v2-rolodex-origin>strong{font-family:var(--font-graph);font-size:var(--type-glass-category-title);font-weight:400;line-height:1.1;white-space:nowrap}
.v2-rolodex-origin>span:not(.v2-rolodex-category-icon){grid-column:1/-1;padding-left:calc(3px*var(--relation-unit,1));font-size:var(--type-glass-category-label);line-height:1.15;color:var(--s01-muted)}
.v2-rolodex-category-icon{display:flex;align-items:center;color:var(--glass-category-cyan)}
.v2-rolodex-category-icon .icon{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;width:calc(18px*var(--relation-unit,1));height:calc(18px*var(--relation-unit,1))}
.v2-rolodex-origin[data-selected="true"]>.v2-rolodex-category-icon{color:var(--glass-category-rim)}
.v2-person-card[data-extracted="false"]{border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.v2-person-card[data-extracted="false"] .v2-person-select{display:grid;grid-template-columns:21px 1fr;grid-template-rows:13px 11px;column-gap:5px;overflow:hidden}
.v2-person-card[data-extracted="false"] .v2-person-select>img{grid-column:1;grid-row:1/3;width:20px;height:20px;border-radius:50%;object-fit:cover}
.v2-person-card[data-extracted="false"] .v2-person-select>strong{grid-column:2;grid-row:1;padding:0;font-size:var(--type-caption);line-height:13px;white-space:nowrap}
.v2-person-card[data-extracted="false"] .v2-person-role{grid-column:2;grid-row:2;padding:0;font-size:var(--type-tiny);line-height:11px}
.v2-person-card[data-extracted="false"] .v2-person-tab,.v2-person-card[data-extracted="false"] .v2-person-proof{display:none}
.v2-person-pin{position:absolute;left:calc(50% - 5px);top:6px;width:10px;height:10px;z-index:2;border:1px solid var(--s01-gold);border-radius:50%;background:var(--surface-raised);box-shadow:0 2px 8px var(--background);opacity:0}
.v2-person-card[data-pinned="true"]>.v2-person-pin{opacity:1}.v2-person-card[data-pinned="true"]{border-color:var(--s01-gold)}
.v2-person-card[data-extracted="true"]{background:var(--s01-background)}
.v2-person-card[data-extracted="true"]>.v2-rolodex-port{display:none}
.v2-fit-row[data-checked="true"][data-match="false"] .v2-fit-evidence>em{opacity:1;color:var(--text)}
.v2-outreach-draft{display:flex;flex-direction:column;overflow:hidden;padding:18px 22px;border:1px solid var(--s01-gold);border-radius:var(--radius-control);background:var(--s01-background);box-shadow:0 24px 60px color-mix(in srgb,var(--background) 65%,transparent);color:var(--text)}
.v2-outreach-draft>header{display:flex;align-items:center;gap:9px;padding-bottom:12px;border-bottom:1px solid var(--s01-border)}
.v2-outreach-draft>header>svg{width:18px;height:18px;color:var(--s01-gold)}.v2-outreach-draft>header>strong{font-size:var(--type-caption);letter-spacing:1.3px;font-weight:500}.v2-outreach-draft>header>.v2-badge{margin-left:auto;font-size:var(--type-caption);color:var(--s01-muted);white-space:nowrap}
.v2-draft-recipient{display:flex;align-items:baseline;gap:10px;margin-top:13px;font-size:var(--type-meta)}.v2-draft-recipient>span,.v2-draft-recipient>small{color:var(--s01-muted);font-size:var(--type-caption)}.v2-draft-recipient>small{margin-left:auto}
.v2-outreach-draft>h2{margin:10px 0 14px;font-family:var(--font-graph);font-size:var(--type-value);font-weight:500;line-height:1.1}
.v2-draft-body{flex:1;min-height:0;font-size:var(--type-meta);line-height:1.4}.v2-draft-body>p{margin:0 0 12px}.v2-draft-body mark{color:var(--s01-gold);background:transparent}.v2-draft-body .s05-signature{margin-bottom:0;white-space:pre-line;color:var(--s01-muted);font-size:var(--type-small)}
.v2-outreach-draft>footer{padding-top:10px;border-top:1px solid var(--s01-border)}.v2-outreach-draft>footer>p{margin:7px 0 0;font-size:var(--type-tiny);color:var(--s01-muted)}
.v2-draft-trace{display:flex;flex-wrap:wrap;gap:6px}.v2-draft-trace>span{font-size:var(--type-tiny);color:var(--s01-mint);padding-right:7px;border-right:1px solid var(--s01-border)}
.v2-draft-review{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--s01-gold)}.v2-draft-review>svg{width:20px;height:20px;color:var(--s01-gold);flex-shrink:0}.v2-draft-review>div{flex:1}.v2-draft-review strong{display:block;font-size:var(--type-meta);font-weight:500}.v2-draft-review small{display:block;margin-top:4px;color:var(--s01-muted);font-size:var(--type-caption);line-height:1.3}.v2-draft-review>.v2-button{font-size:var(--type-small);white-space:nowrap}

.v2-site-footer{position:absolute;inset:auto 0 0;display:flex;align-items:center;padding:7px 16px 12px;border-top:1px solid var(--site-footer-border);background:var(--site-footer-background);backdrop-filter:blur(20px) saturate(150%);font-family:var(--font);font-size:var(--type-small);line-height:1.2}
.v2-site-footer-row{display:flex;align-items:center;height:20px}
.v2-site-footer-brand{white-space:nowrap;font-weight:400}
.v2-site-footer-lead{color:var(--site-footer-lead);opacity:.8}
.v2-site-footer-name{color:var(--site-footer-name)}
.v2-site-footer sup{font-size:var(--type-small);vertical-align:super}


/* Layered material states for the welcome controls. */
.v2-button[data-motion="reference"]{position:relative;isolation:isolate;overflow:hidden;border-color:color-mix(in srgb,var(--text) 25%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--text) 7%,transparent),transparent 55%),linear-gradient(135deg,var(--petrol-dark),var(--surface));box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 16%,transparent),inset 0 -1px 0 var(--background),0 3px 8px color-mix(in srgb,var(--background) 60%,transparent);transition:border-color var(--motion-hover) var(--ease),box-shadow var(--motion-button-select) var(--ease),transform var(--motion-button-press) var(--ease)}
.v2-button[data-motion="reference"]::before,.v2-button[data-motion="reference"]::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;opacity:0}
.v2-button[data-motion="reference"]::before{background:radial-gradient(ellipse at 50% 120%,color-mix(in srgb,var(--gold) 26%,transparent),transparent 75%);transform:translateY(40%) scale(.9);transition:opacity var(--motion-button-select) var(--ease),transform var(--motion-button-select) var(--ease)}
.v2-button[data-motion="reference"]::after{background:linear-gradient(110deg,transparent 15%,color-mix(in srgb,var(--gold-light) 18%,transparent) 48%,transparent 80%);transform:translateX(-110%);transition:transform var(--motion-button-sweep) var(--ease),opacity var(--motion-hover) var(--ease)}
.v2-button[data-motion="reference"]:is(:hover,:focus-visible,[aria-pressed="true"]):not(:disabled){border-color:var(--gold-light);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold-light) 35%,transparent),0 0 12px color-mix(in srgb,var(--gold) 10%,transparent)}
.v2-button[data-motion="reference"]:is(:hover,:focus-visible,[aria-pressed="true"]):not(:disabled)::before{opacity:1;transform:none}
.v2-button[data-motion="reference"]:is(:hover,:focus-visible):not(:disabled)::after{opacity:1;transform:translateX(110%)}
.v2-button[data-motion="reference"]:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 8px var(--background)}
.v2-button[data-motion="reference"]:disabled{box-shadow:none;transform:none}
.v2-button[data-motion="reference"]:disabled::before,.v2-button[data-motion="reference"]:disabled::after{display:none}
@media(prefers-reduced-motion:reduce){.v2-button[data-motion="reference"],.v2-button[data-motion="reference"]::before,.v2-button[data-motion="reference"]::after{transition:none;animation:none}.v2-button[data-motion="reference"]::after{display:none}.v2-button[data-motion="reference"]:active{transform:none}}

/* The source has a moving local bloom, a dotted face and a continuous bevel. */
.v2-rolodex-origin{isolation:isolate;overflow:visible}
.v2-rolodex-origin>*{position:relative;z-index:2}
.v2-rolodex-origin::before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse 28% 75% at var(--relation-sweep,0%) 0%,var(--glass-category-cyan),transparent 100%);opacity:calc(var(--relation-light,0)*.88);z-index:1}
.v2-rolodex-origin::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(circle,color-mix(in srgb,var(--paper) 3%,transparent) calc(.35px*var(--relation-unit,1)),transparent calc(.65px*var(--relation-unit,1)));background-size:calc(3px*var(--relation-unit,1)) calc(3px*var(--relation-unit,1));z-index:1}
.v2-rolodex-origin[data-selected="true"]{border:calc(4px*var(--relation-unit,1)) solid transparent;border-radius:calc(12px*var(--relation-unit,1));background:linear-gradient(105deg,var(--glass-category-left),var(--glass-category-selected-right)) padding-box,linear-gradient(145deg,var(--glass-category-rim-side),var(--glass-category-rim-top) 28%,var(--glass-category-hot) 58%,var(--glass-category-rim-bottom) 90%) border-box;box-shadow:inset 0 0 0 calc(1px*var(--relation-unit,1)) color-mix(in srgb,var(--paper) 65%,transparent),0 calc(1px*var(--relation-unit,1)) calc(1px*var(--relation-unit,1)) var(--glass-category-black)}
.v2-rolodex-origin[data-selected="true"]::before{background:radial-gradient(ellipse 32% 85% at var(--relation-sweep,0%) 0%,var(--glass-category-hot),transparent 100%)}
.v2-rolodex-origin[data-selected="true"]::after{background-image:radial-gradient(circle,color-mix(in srgb,var(--paper) 7%,transparent) calc(.5px*var(--relation-unit,1)),transparent calc(.7px*var(--relation-unit,1)));box-shadow:inset 0 calc(1px*var(--relation-unit,1)) 0 var(--glass-category-hot)}

.v2-rolodex-origin:not([data-selected="true"])>.v2-rolodex-category-icon::before{content:"";position:absolute;left:calc(-16px*var(--relation-unit,1));top:50%;width:calc(2px*var(--relation-unit,1));height:calc(20px*var(--relation-unit,1));transform:translateY(-50%);background:var(--glass-category-cyan);opacity:.65;pointer-events:none}

/* Explanatory journey glasses: same material, separated from customer states. */
.v2-journey-context{position:absolute;left:28%;top:0;margin:0;color:var(--s01-muted);font-size:var(--type-caption);letter-spacing:1px}
.v2-journey-flow{position:absolute;left:28%;right:0;top:60%;height:28%;display:grid;grid-template-columns:repeat(var(--journey-columns),minmax(0,1fr));gap:24px}
.v2-journey-card{position:relative;isolation:isolate;min-width:0;padding:15px 12px;border:1px solid var(--s01-border);border-radius:6px;background:linear-gradient(110deg,var(--glass-category-left),var(--glass-category-right));box-shadow:inset 0 1px 0 var(--glass-category-edge-top),0 2px 0 var(--glass-category-black);opacity:var(--journey-step,0);transform:translateY(calc((1 - var(--journey-step,0))*16px));overflow:hidden}
.v2-journey-card[data-reached="true"]{border-color:var(--glass-category-rim);box-shadow:inset 0 1px 0 var(--glass-category-rim-top),0 2px 0 var(--glass-category-black)}
.v2-journey-card::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at calc(var(--journey-step,0)*110%) 0%,var(--glass-category-cyan),transparent 45%);opacity:calc((1 - var(--journey-step,0))*.7)}
.v2-journey-symbol{display:block;color:var(--s01-gold);margin-bottom:8px}.v2-journey-symbol .icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.v2-journey-card h2{font-family:var(--font-graph);font-size:var(--type-section);font-weight:400;line-height:1.15;margin:0 0 8px}
.v2-journey-card p{font-size:var(--type-meta);line-height:1.4;color:var(--s01-muted);margin:0}
.v2-journey-note{position:absolute;left:28%;right:0;top:91%;margin:0;color:var(--s01-muted);font-size:var(--type-caption);line-height:1.4}
.s-journey-board[data-journey="S09"] .v2-journey-flow{top:14%;height:48%}
.s-journey-board[data-journey="S09"] .v2-journey-note{top:65%}
.v2-learning-before{display:block;margin-top:16px;color:var(--s01-muted);font-size:var(--type-small);opacity:calc(1 - var(--learningEffect,0)*.75);text-decoration:line-through}
.v2-learning-after{display:block;margin-top:12px;font-size:var(--type-body);font-weight:400;color:var(--s01-mint);opacity:var(--learningEffect,0)}
.s-journey-board[data-journey="S08"] .v2-journey-card{border-style:dashed}

/* Spatial journey: shared glass material, four distinct compositions. */
.s-journey-board .v2-journey-flow{inset:0;display:block;height:auto;perspective:1400px}
.s-journey-board .v2-journey-card{position:absolute;box-sizing:border-box;transform:scale(var(--journey-scale,1)) rotateY(var(--journey-rotation,0deg));transform-origin:left center;padding:18px;overflow:visible}
.s-journey-board .v2-journey-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background-image:radial-gradient(var(--glass-category-edge-top) .6px,transparent .6px);background-size:7px 7px;opacity:.2;z-index:-1}
.s-journey-board .v2-journey-context{left:0;top:0;opacity:var(--journeyFold,0)}
.s-journey-board .v2-journey-note{left:0;top:92%}
.s-journey-board[data-journey="S09"] .v2-journey-flow{top:0;height:auto}
.s-journey-board[data-journey="S09"] .v2-journey-note{top:72%;font-size:var(--type-caption)}
.s-journey-board[data-journey="S08"] .v2-journey-card{border-style:solid}
.s-journey-board[data-journey="S08"] .v2-journey-card:not([data-reached="true"]){border-style:dashed}
.s-journey-board[data-journey="S09"] .v2-learning-before{margin-top:8px}
.s-journey-board[data-journey="S09"] .v2-learning-after{margin-top:6px;font-size:var(--type-meta)}

/* Narrative overlays leave the information sculpture at the centre of each scene. */
.s-journey-board .v2-journey-card{padding:22px;border-color:var(--s01-border);background:linear-gradient(110deg,var(--glass-category-left),var(--glass-category-right));backdrop-filter:blur(12px)}
.s-journey-board .v2-journey-card h2{font-size:var(--type-value);margin:12px 0}
.s-journey-board .v2-journey-card p{font-size:var(--type-body);line-height:1.5}
.s-journey-board .v2-journey-symbol .icon{width:28px;height:28px}
.s-journey-board .v2-journey-note{top:91%;left:0}
.s-journey-board[data-journey="S09"] .v2-journey-note{top:72%}

/* Organic continuation of the original source/person/message composition. */
.j-object{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 24px 24px var(--glass-category-black))}
.j-object-shadow{fill:var(--glass-category-black);opacity:.7;filter:blur(12px)}
.j-metal-face{stroke:var(--s01-gold);stroke-width:1.2}
.j-metal-side{opacity:.8;stroke:var(--s01-gold)}
.j-paper-face{stroke:var(--s01-mint);stroke-width:.8}
.j-paper-side{fill:var(--s01-mint);opacity:.2}
.j-ink,.j-grid{fill:none;stroke:var(--s01-mint);stroke-width:2;opacity:.65}
.j-engraving{fill:none;stroke:var(--s01-gold);stroke-width:.8;opacity:.7}
.j-rim{fill:none;stroke:var(--paper);stroke-width:1.5;opacity:.8}
.j-letter{transform:translateY(calc(var(--dispatchFold,0)*40px));opacity:calc(1 - var(--sendTravel,0)*.75)}
.j-envelope-lid{fill:var(--glass-category-left);stroke:var(--s01-gold);stroke-width:1;transform:scaleY(calc(-1 + var(--dispatchFold,0)*2));transform-origin:120px 88px}
.j-confirm{stroke:var(--green);stroke-width:4;fill:none;stroke-linecap:round}
.j-stop-dark{stop-color:var(--s01-background)}.j-stop-gold{stop-color:var(--s01-gold)}.j-stop-white{stop-color:var(--paper)}.j-stop-mint{stop-color:var(--s01-mint)}.j-stop-glass{stop-color:var(--glass-category-right)}
.j-envelope-lid{fill:var(--glass-category-left)}
.j-object-glint{fill:none;stroke:var(--paper);stroke-width:1;opacity:.7}
.j-asset-body{filter:drop-shadow(0 2px 0 var(--s01-gold))}
.v2-journey-art{position:absolute;inset:0;pointer-events:none;color:var(--paper)}
.v2-journey-art strong,.v2-journey-art small,.v2-journey-art span{display:block}
.v2-journey-art strong{font-family:var(--font-graph);font-size:var(--type-section);font-weight:500;line-height:1.25}
.v2-journey-art span{font-size:var(--type-meta);line-height:1.4;color:var(--s01-muted)}
.v2-journey-art small{font-size:var(--type-caption);letter-spacing:1px;color:var(--s01-gold);margin:0 0 10px}
.j-glass{box-sizing:border-box;padding:20px 22px;border:1px solid var(--s01-border);border-radius:6px;background:linear-gradient(110deg,var(--glass-category-left),var(--glass-category-right));box-shadow:inset 0 1px 0 var(--glass-category-edge-top),0 2px 0 var(--glass-category-black)}
.j-glass strong,.j-glass p{margin:0;font-size:var(--type-body);line-height:1.4;font-family:var(--font-graph);font-weight:400}
.s-journey-board .v2-journey-context{display:none}

/* Public composer follows the existing app input row. */
.sally-pane-footer{position:relative}
.sally-pane-composer .sally-pane-action{width:32px;height:32px;padding:0;border-radius:50%;color:var(--sally-secondary)}
.sally-pane-composer .sally-pane-action .icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.sally-pane-composer .sally-pane-plus{color:var(--sally-tertiary)}
.sally-pane-composer .sally-pane-plus .icon{width:18px;height:18px;stroke-width:2}
.sally-pane-actions{position:absolute;left:12px;right:12px;bottom:calc(100% - 6px);z-index:3;padding:6px 0;border:1px solid var(--sally-border);border-radius:var(--radius-control);background:var(--sally-background);box-shadow:0 8px 24px var(--glass-category-black)}
.sally-pane-actions button,.sally-pane-actions a{display:block;width:100%;padding:10px 14px;border:0;background:transparent;color:var(--sally-secondary);font-size:var(--type-body);line-height:1.4;text-align:left;text-decoration:none}
.sally-pane-actions button:hover,.sally-pane-actions a:hover{background:var(--sally-surface);color:var(--sally-text)}

.v2-site-footer-row{width:100%;justify-content:space-between}
.v2-site-footer-actions{display:flex;align-items:center;gap:8px}
.v2-site-footer-actions button,.v2-site-footer-actions select{height:28px;padding:1px 6px;border:1px solid var(--sally-border);border-radius:var(--radius-control);background:var(--surface);color:var(--muted);font-family:var(--font);font-size:var(--type-small)}
.v2-site-footer-actions button{display:flex;align-items:center;justify-content:center;width:28px;cursor:pointer}
.v2-site-footer-actions .icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.v2-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

.sally-pane-topic-end{margin:16px 0 0;padding:12px 0;border-top:1px solid var(--sally-border)}
.sally-pane-topic-end p{margin:0 0 10px;color:var(--sally-text);font-size:var(--type-body)}
.sally-pane-topic-end button{width:100%;padding:8px 12px;border:1px solid var(--sally-border-hover);border-radius:var(--radius-control);background:var(--sally-surface);color:var(--sally-text);font-family:var(--font);font-size:var(--type-body);cursor:pointer}

.v2-presentation-panel{position:absolute;left:calc(var(--start-sidebar-width) + 20px);right:calc(var(--start-sally-width) + 2*var(--start-sally-gap));top:80px;bottom:60px;border:1px solid var(--presentation-panel-border);border-radius:var(--presentation-radius);background:var(--presentation-panel-background);z-index:-2}
.s01-topics>button{border-radius:var(--radius-control);background:transparent;border:1px solid transparent;color:var(--start-frame-muted)}
.s01-topics>button[aria-current],.s01-topics>button:hover{background:var(--start-frame-active);color:var(--start-frame-text)}

/* Presentation cards inherit the approved Rolodex material and tab hierarchy. */
.v2-person-card,.v2-presentation .v2-presentation-card{box-sizing:border-box;overflow:hidden;border:1px solid var(--s01-border);border-radius:var(--radius-control);background:var(--s01-background);box-shadow:0 24px 60px color-mix(in srgb,var(--background) 70%,transparent);color:var(--text)}
.v2-presentation .v2-presentation-card>header{background:var(--surface-raised);color:var(--s01-gold);border-bottom:1px solid var(--s01-border)}
.v2-presentation .s02-fund.v2-presentation-card{padding:0 14px 14px;gap:10px}
.v2-presentation .s02-fund.v2-presentation-card>span{align-self:stretch;margin:0 -14px;padding:7px 14px;background:var(--surface-raised);border-bottom:1px solid var(--s01-border);font-size:var(--type-caption);letter-spacing:1.5px}
.v2-presentation .s02-document.v2-presentation-card{padding:0 24px 20px}
.v2-presentation .s02-document>header{margin:0 -24px;padding:12px 24px}.v2-presentation .s02-document>header strong{font-size:var(--type-label);letter-spacing:1.5px}
.v2-presentation .s02-document>footer{border-color:var(--s01-border)}
.v2-presentation .s02-document>footer .v2-button{color:var(--text);border-color:var(--s01-border)}
.v2-presentation .s02-document[data-scanning] mark{color:var(--paper)}

.v2-presentation .s01-example.v2-presentation-card,.v2-presentation .s03-mission.v2-presentation-card{padding:0 18px 18px}
.v2-presentation .s01-example>.s01-overline,.v2-presentation .s03-mission>.s01-overline{margin:0 -18px;padding:7px 14px;background:var(--surface-raised);border-bottom:1px solid var(--s01-border);font-size:var(--type-caption);letter-spacing:1.5px}
.v2-presentation .s05-draft.v2-presentation-card{padding-top:0}
.v2-presentation .s05-draft>header{margin:0 -22px;padding:10px 22px}

/* Dialog unfolds; evidence cards fan into a trail; feedback splits into the next inputs. */

.w-world{position:absolute;left:8%;top:15%;width:75%;height:75%;overflow:hidden}
.w-graticule path{fill:none;stroke:var(--s01-border);stroke-width:.5}.w-grid{opacity:.3}
.w-land{fill:var(--surface-raised);stroke:var(--s01-muted);stroke-width:1}
.w-earth{transform-origin:422px 100px;transform:translate(calc(var(--world-focus)*-35px),calc(var(--world-focus)*70px)) scale(calc(1 + var(--world-focus)*1.4))}
.w-dach{fill:var(--s01-gold);stroke:var(--paper);stroke-width:.7}
.w-target{fill:none;stroke:var(--s01-gold);stroke-width:1;opacity:var(--world-focus)}
/* One spatial case, projected into five different working views. */
.flow-workspace{position:absolute;inset:0;isolation:isolate;color:var(--text);font-family:var(--font);container-type:inline-size}
.flow-workspace>svg.flow-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.flow-wires path{fill:none;stroke:var(--s01-gold);stroke-width:.7;stroke-dasharray:100;stroke-dashoffset:calc((1 - var(--wire-reveal,0))*100)}
.flow-wire-glow path{stroke-width:4;opacity:.11;filter:blur(3px)}.flow-wire-lines path{opacity:.65}.flow-wire-points circle{fill:var(--glass-category-hot);filter:drop-shadow(0 0 4px var(--s01-gold))}
.flow-workspace[data-scene="S05"]>svg.flow-wires{z-index:5}
.flow-step-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:16px;font-size:var(--type-tiny);color:var(--s01-muted);letter-spacing:.4px;z-index:5}
.flow-step-label strong{font-weight:400;color:var(--s01-gold)}
.s01[data-scene] .flow-workspace>.s02-fund,.s01[data-scene] .flow-workspace>.s05-draft{position:absolute;left:var(--flow-x);top:var(--flow-y);width:var(--flow-w);height:var(--flow-h);opacity:var(--flow-opacity);visibility:visible;transform:none;box-sizing:border-box;z-index:4}
.s01[data-scene] .flow-workspace>.s02-fund{align-items:stretch;text-align:left;gap:8px;pointer-events:auto}
.flow-workspace>.s02-fund h2{font-size:var(--type-section);font-weight:400;line-height:1.1}.flow-workspace>.s02-fund>p{font-size:var(--type-tiny)}
.flow-workspace .s02-proof{display:flex;flex-direction:column;gap:3px;font-size:var(--type-tiny);opacity:1;transform:none}
.s01[data-scene] .flow-workspace>.s04-fan{position:absolute;inset:0;opacity:1;visibility:visible;perspective:none;transform:none;pointer-events:none;z-index:4}
.s01[data-scene] .flow-workspace .s04-person{left:var(--flow-x);top:var(--flow-y);width:var(--flow-w);height:var(--flow-h);opacity:var(--flow-opacity);transform:none;visibility:visible;z-index:4;box-sizing:border-box;pointer-events:none}
.flow-workspace .s04-person .v2-person-proof{max-height:200px;opacity:calc(1 - var(--flow-compact));padding:12px 14px;overflow:hidden}
.flow-workspace .s04-person .v2-person-role{font-size:var(--type-small)}
.flow-workspace .s04-person .v2-person-tab{letter-spacing:.6px;font-size:var(--type-tiny)}
.s01[data-scene] .flow-workspace .s04-person .v2-person-select>strong{font-size:var(--type-section);font-family:var(--font)}
.flow-entry-status{display:none}.flow-workspace .v2-person-pin{display:none}
.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select{display:grid;grid-template-columns:48px 1fr;grid-template-rows:19px 1fr;column-gap:10px;padding:12px}
.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select>img{grid-column:1;grid-row:1/3;width:46px;height:46px;border-radius:var(--radius-control);object-fit:cover;object-position:50% 20%}
.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select>.v2-person-tab{grid-column:2;grid-row:1;padding:0;border:0;background:none;color:var(--s01-muted);overflow:hidden;white-space:nowrap}
.s01[data-scene] .flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select>strong{grid-column:2;grid-row:2;font-size:var(--type-meta);padding:0;line-height:1.25;font-weight:400}
.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-role,.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-proof{display:none}
.flow-workspace .s04-person[data-flow-compact="true"] .flow-entry-status{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 12px;border-top:1px solid var(--s01-border);font-size:var(--type-tiny);color:var(--s01-muted)}
.flow-entry-status strong{font-weight:400;color:var(--s01-muted)}
.flow-workspace .s04-person[data-flow-reply="true"]{border-color:var(--s01-gold);box-shadow:0 0 calc(var(--flow-pulse)*20px) color-mix(in srgb,var(--s01-gold) 16%,transparent),0 24px 60px color-mix(in srgb,var(--background) 70%,transparent)}
.flow-workspace .s04-person[data-flow-reply="true"] .flow-entry-status span{color:var(--text);opacity:var(--flow-pulse)}
.s01[data-scene] .flow-workspace>.s05-draft{pointer-events:auto;transform-origin:left center;padding:0 20px 16px;overflow:auto}
.flow-workspace>.s05-draft>header{margin:0 -20px 0;padding:10px 20px}
.flow-workspace>.s05-draft .v2-draft-recipient,.flow-workspace>.s05-draft h2,.flow-workspace .s05-salutation,.flow-workspace .s05-question,.flow-workspace .s05-signature,.flow-workspace>.s05-draft footer{opacity:1;transform:none;clip-path:none}
.flow-workspace>.s05-draft .s05-occasion,.flow-workspace>.s05-draft .s05-offer{clip-path:none}
.flow-workspace[data-scene="S05"]:not([data-mode="message"])>.s05-draft .v2-draft-recipient,.flow-workspace[data-scene="S05"]:not([data-mode="message"])>.s05-draft h2,.flow-workspace[data-scene="S05"]:not([data-mode="message"]) .s05-salutation{opacity:var(--draftRecipient,0)}
.flow-workspace[data-scene="S05"]:not([data-mode="message"])>.s05-draft .s05-occasion{clip-path:inset(0 calc((1 - var(--draftOccasion,0))*100%) 0 0)}
.flow-workspace[data-scene="S05"]:not([data-mode="message"])>.s05-draft .s05-offer{clip-path:inset(0 calc((1 - var(--draftOffer,0))*100%) 0 0)}
.flow-workspace[data-scene="S05"]:not([data-mode="message"]) .s05-question,.flow-workspace[data-scene="S05"]:not([data-mode="message"]) .s05-signature,.flow-workspace[data-scene="S05"]:not([data-mode="message"])>.s05-draft footer{opacity:var(--draftQuestion,0)}
.flow-workspace>.s05-draft .v2-draft-body{max-height:none;opacity:1;overflow:visible}
.flow-workspace>.s05-draft .v2-draft-body p{padding-left:9px;border-left:1px solid transparent;line-height:1.5}
.flow-workspace[data-focus="occasion"]>.s05-draft .s05-occasion,.flow-workspace[data-focus="offer"]>.s05-draft .s05-offer{border-left-color:var(--s01-gold);background:color-mix(in srgb,var(--s01-gold) 4%,transparent)}
.s01[data-scene] .flow-workspace>.s05-context{left:1%;top:57%;width:19%;opacity:var(--flow-offer);z-index:3}.flow-workspace>.s05-context strong{font-size:var(--type-label);font-weight:400}.flow-workspace>.s05-context p{font-size:var(--type-small)}
.flow-workspace[data-condensed="true"]>.s05-draft{overflow:hidden}
.flow-workspace[data-condensed="true"]>.s05-draft .v2-draft-body,.flow-workspace[data-condensed="true"]>.s05-draft footer,.flow-workspace[data-condensed="true"]>.s05-draft .v2-draft-recipient{display:none}
.flow-workspace[data-condensed="true"]>.s05-draft h2{font-size:var(--type-meta);line-height:1.35;margin-top:14px}
.flow-workspace[data-condensed="true"]>.s05-draft>header{padding:8px 12px;flex-wrap:wrap;margin:0 -20px}
.flow-workspace[data-condensed="true"]>.s05-draft>header>.icon{display:none}
.flow-workspace[data-condensed="true"]>.s05-draft>header .v2-badge{margin-left:0}
.flow-calendar,.flow-kanban,.flow-trail{position:absolute;left:22%;right:0;top:9%;bottom:10%;z-index:0}
/* CRM week anatomy, projected as one living badge. Contacts share its plane. */
.flow-calendar-plane{position:absolute;inset:0;transform-origin:62% 50%;transform:perspective(1400px) rotateY(calc(var(--flow-calendar)*-7deg)) rotateZ(calc(var(--flow-calendar)*-1.5deg));pointer-events:none}
.s01[data-scene] .flow-workspace .flow-calendar-plane>.s04-fan{position:absolute;inset:0;opacity:1;visibility:visible;perspective:none;transform:none;pointer-events:none;z-index:4}
.flow-calendar{top:5%;bottom:6%;opacity:var(--flow-calendar);transform-origin:0 40%;transform:perspective(1400px) translateX(calc((1 - var(--flow-calendar))*-80px)) rotateY(calc((1 - var(--flow-calendar))*55deg)) scale(calc(.82 + var(--flow-calendar)*.18));background:color-mix(in srgb,var(--surface-raised) 70%,var(--s01-background));border:1px solid var(--s01-border);border-radius:8px;box-shadow:0 24px 60px var(--glass-category-black)}
.flow-calendar-head{position:absolute;inset:0 0 90%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border-bottom:1px solid var(--s01-border);color:var(--s01-muted);font-size:var(--type-small)}
.flow-calendar-head strong{font-weight:400;color:var(--s01-gold)}
.flow-calendar-views,.flow-calendar-nav{display:flex;align-items:center;gap:10px;font-size:var(--type-tiny)}
.flow-calendar-views{border:1px solid var(--s01-border);border-radius:5px;gap:0;overflow:hidden}.flow-calendar-views>span{padding:5px 10px}.flow-calendar-views>[aria-current]{background:var(--surface-raised);color:var(--text)}
.flow-calendar-nav .icon{width:12px;height:12px}.flow-calendar-nav .icon:first-child{transform:rotate(180deg)}
.flow-calendar-days{position:absolute;inset:10% 0 76%;display:grid;grid-template-columns:5.76923% repeat(7,1fr);margin:0;color:var(--s01-muted);font-size:var(--type-tiny)}
.flow-calendar-days>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-left:1px solid var(--s01-border)}.flow-calendar-days span{padding:0}.flow-calendar-days strong{font-size:var(--type-label);font-weight:400;color:var(--text)}
.flow-calendar .is-weekend{background:color-mix(in srgb,var(--surface-raised) 35%,transparent);opacity:.5}
.flow-calendar-grid{position:absolute;inset:24% 0 4%;display:flex;flex-direction:column;background:none}
.flow-calendar-grid>.flow-calendar-hour{display:grid;grid-template-columns:5.76923% repeat(7,1fr);flex:1 1 0px;min-height:0;border-top:1px solid var(--s01-border)}
.flow-calendar-grid>.flow-calendar-hour>span{position:static;align-self:start;padding:2px 3px;font-size:var(--type-caption);color:var(--s01-muted)}
.flow-calendar-hour>i{border-left:1px solid var(--s01-border)}
.s01[data-scene] .flow-calendar-plane .s04-person[data-flow-compact="true"] .v2-person-select{grid-template-columns:calc(46px - var(--flow-calendar)*24px) 1fr;gap:3px 5px;padding:5px;min-height:0}
.s01[data-scene] .flow-calendar-plane .s04-person[data-flow-compact="true"] .v2-person-select img{width:calc(46px - var(--flow-calendar)*24px);height:calc(46px - var(--flow-calendar)*22px);grid-row:1 / 3}
.s01[data-scene] .flow-calendar-plane .s04-person[data-flow-compact="true"] .v2-person-select>strong{font-size:var(--type-meta);line-height:1.1}
.flow-calendar-plane .s04-person[data-flow-compact="true"] .flow-entry-status{padding:3px 5px;gap:3px;font-size:var(--type-caption);flex-wrap:wrap}
.flow-channel{position:absolute;bottom:-3%;right:0;color:var(--s01-muted);font-size:var(--type-tiny)}
.flow-kanban{opacity:var(--flow-kanban);display:grid;grid-template-columns:repeat(3,1fr);gap:16px;top:20%;bottom:12%}
.flow-kanban>section{border-left:1px solid var(--s01-border);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-raised) 22%,transparent),transparent)}
.flow-kanban header{padding:14px 10px;border-top:1px solid var(--s01-border);font-size:var(--type-small);color:var(--s01-muted)}
.flow-reply,.flow-proof,.flow-feedback,.flow-next{position:absolute;z-index:6;pointer-events:none}
.flow-reply{left:49%;top:27%;width:26%;opacity:calc(var(--flow-kanban)*var(--flow-reply));transform:translateY(calc((1 - var(--flow-reply))*12px))}
.flow-reply>header,.flow-proof>header,.flow-feedback>header,.flow-next>header{padding:8px 12px;font-size:var(--type-tiny);letter-spacing:.6px}
.flow-reply blockquote{padding:12px;margin:0;font-size:var(--type-meta);line-height:1.4}.flow-reply>small{display:block;padding:0 12px 12px;font-size:var(--type-tiny);color:var(--s01-muted)}
.flow-trail{left:28%;top:24%;bottom:15%;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;opacity:var(--flow-evidence);pointer-events:none}
.flow-trail-axis{position:absolute;top:18px;left:0;right:0;border-top:1px solid var(--s01-gold);opacity:.5}
.flow-event{position:relative;align-self:start;display:flex;flex-direction:column;gap:12px;padding:0 8px 16px 0;background:none;border:0;text-align:left;color:var(--text);font-family:var(--font);pointer-events:auto;cursor:pointer}
.flow-event>i{display:block;width:32px;height:32px;border:1px solid var(--s01-border);border-radius:50%;background:var(--s01-background);box-shadow:inset 0 0 9px var(--glass-category-black)}
.flow-event:first-of-type>i{border-color:var(--s01-gold);box-shadow:0 0 18px color-mix(in srgb,var(--s01-gold) 12%,transparent)}
.flow-event>strong{font-weight:400;font-size:var(--type-label)}.flow-event>span{font-size:var(--type-small);line-height:1.4;color:var(--s01-muted)}.flow-event>small{font-size:var(--type-tiny);color:var(--s01-muted);border-top:1px solid var(--s01-border);padding-top:8px}
.flow-event:not(:first-of-type){opacity:.55}.flow-event:hover,.flow-event:focus-visible{opacity:1}.flow-event:focus-visible{outline:1px solid var(--s01-gold);outline-offset:4px}
.flow-trail>p{position:absolute;left:0;right:0;top:53%;color:var(--s01-muted);font-size:var(--type-small);line-height:1.4}
.flow-proof{left:35%;right:7%;top:67%;opacity:var(--flow-evidence);pointer-events:auto}
.flow-proof>strong,.flow-proof>p,.flow-proof>small{display:block;padding:10px 14px;margin:0;font-size:var(--type-small);line-height:1.4}.flow-proof>small{color:var(--s01-muted);font-size:var(--type-tiny);border-top:1px solid var(--s01-border)}
.flow-workspace:not([data-scene="S08"]):not([data-scene="S09"]) .flow-trail,.flow-workspace:not([data-scene="S08"]):not([data-scene="S09"]) .flow-proof{visibility:hidden}
.flow-workspace[data-scene="S08"]>.s02-fund .s02-proof{display:none}
.flow-workspace[data-scene="S08"] .flow-entry-status strong{display:none}
.flow-feedback{left:1%;top:3%;width:27%;opacity:var(--flow-roles)}
.flow-feedback>del,.flow-feedback>strong,.flow-feedback>small{display:block;padding:10px 14px;font-size:var(--type-meta);font-weight:400}.flow-feedback>del{color:var(--s01-muted)}.flow-feedback>strong{color:var(--s01-gold);border-top:1px solid var(--s01-border)}.flow-feedback>small{font-size:var(--type-tiny);color:var(--s01-muted)}
.flow-workspace .s04-deck{z-index:3;perspective:none;visibility:hidden;pointer-events:none}.flow-workspace[data-scene="S09"] .s04-deck{visibility:visible}.flow-workspace .s04-deck #s04-branches{display:none}
.flow-workspace .s04-candidate{opacity:0;font-family:var(--font);pointer-events:none}.flow-workspace .s04-candidate strong{font-family:var(--font);font-weight:400}
.flow-role-note{display:none}.flow-workspace .s04-candidate[data-flow-selected="true"]{width:var(--flow-role-width);height:var(--flow-role-height);background:var(--s01-background);border:1px solid var(--s01-gold);border-radius:var(--radius-control);box-shadow:0 24px 60px color-mix(in srgb,var(--background) 70%,transparent);transform:translate(-50%,-50%) scale(var(--person-scale,1));overflow:hidden}
.flow-workspace .s04-candidate[data-flow-selected="true"] strong{display:block;padding:calc(8px * var(--flow-role-select)) calc(12px * var(--flow-role-select));font-size:var(--type-meta);background:var(--surface-raised);border-bottom:1px solid var(--s01-border)}
.flow-workspace .s04-candidate[data-flow-selected="true"] .v2-rolodex-port,.flow-workspace .s04-candidate[data-flow-selected="true"] .v2-rolodex-entry-role{display:none}
.flow-workspace .s04-candidate[data-flow-selected="true"] small{display:none}.flow-workspace .s04-candidate[data-flow-selected="true"] .flow-role-note{display:block;opacity:var(--flow-role-select);font-size:var(--type-small);line-height:1.4;padding:12px;margin:0;color:var(--s01-muted)}
.flow-next{left:30%;top:64%;width:52%;opacity:var(--flow-nextDraft)}.flow-next p{font-size:var(--type-meta);line-height:1.4;margin:12px 14px}.flow-next small{display:block;padding:0 14px 12px;color:var(--s01-muted);font-size:var(--type-tiny)}
.flow-workspace:not([data-scene="S09"]) .flow-feedback,.flow-workspace:not([data-scene="S09"]) .flow-next{visibility:hidden}
.flow-region{position:absolute;inset:0;z-index:9;opacity:var(--flow-world);visibility:hidden;background:var(--s01-background)}.flow-workspace[data-mode="region"] .flow-region{visibility:visible}
.flow-region .w-world{left:13%;top:8%;width:87%;height:80%}.flow-region-label{position:absolute;top:3%;left:1%;display:flex;flex-direction:column;gap:14px;width:30%;z-index:2}.flow-region-label strong{font-size:var(--type-label);font-weight:400}.flow-region-label span{color:var(--s01-gold);font-size:var(--type-section)}.flow-region-label small{font-size:var(--type-small);color:var(--s01-muted);line-height:1.4}
.flow-diff{position:absolute;inset:0 0 7%;display:grid;grid-template-columns:1fr 1fr;gap:20px;z-index:12;background:var(--s01-background)}.flow-diff[hidden]{display:none}
.flow-diff>article{position:relative;align-self:start;max-height:92%;overflow:auto}.flow-diff header{padding:10px 14px;font-size:var(--type-small)}.flow-diff article>div{padding:16px;white-space:pre-wrap;font-size:var(--type-meta);line-height:1.65}.flow-diff>small{grid-column:1/-1;color:var(--s01-muted);font-size:var(--type-small);align-self:end}
.flow-diff del{color:var(--error);text-decoration:line-through;background:color-mix(in srgb,var(--error) 9%,transparent)}.flow-diff ins{color:var(--green);text-decoration:none;background:color-mix(in srgb,var(--green) 9%,transparent)}
.flow-diff [data-state="pending"],.flow-diff [data-state="failed"]{color:var(--s01-muted)}
@media(max-width:1500px){.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select{grid-template-columns:32px 1fr;gap:6px;padding:8px}.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select>img{width:30px;height:36px}.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select>.v2-person-tab{display:none}.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select>strong{grid-row:1/3;font-size:var(--type-small)}.flow-workspace>.s02-fund h2{font-size:var(--type-label)}.flow-workspace>.s05-draft .v2-draft-recipient small{display:none}.flow-workspace>.s05-draft h2{font-size:var(--type-section)}.flow-workspace>.s05-draft .v2-draft-body{font-size:var(--type-small)}.flow-entry-status{flex-wrap:wrap}.flow-event>strong{font-size:var(--type-meta)}.flow-event>span{font-size:var(--type-tiny)}}

.flow-workspace[data-mode="region"]>.s04-fan,.flow-workspace[data-mode="region"]>.s05-draft,.flow-workspace[data-mode="region"]>.s02-fund{opacity:calc(1 - var(--flow-world))}

.flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select>.v2-person-tab{display:none}
.s01[data-scene] .flow-workspace .s04-person[data-flow-compact="true"] .v2-person-select>strong{grid-row:1/3}
.flow-workspace[data-scene="S08"]>.s02-fund>p{display:none}

.s01[data-scene] .flow-workspace .s04-deck{opacity:var(--flow-roles)}
.flow-workspace .s04-candidate{opacity:var(--person-opacity,0)}
.s01[data-scene] .flow-workspace[data-scene="S07"] .s04-person[data-flow-compact="true"] .v2-person-proof{display:block;opacity:1;max-height:none;padding:9px 12px}
.flow-workspace[data-scene="S07"] .v2-person-proof>small,.flow-workspace[data-scene="S07"] .v2-person-role-state,.flow-workspace[data-scene="S07"] .v2-person-contact-state{display:none}
.s01[data-scene] .flow-workspace[data-scene="S08"] .s04-person .v2-person-proof{opacity:1;padding:8px 12px;max-height:none}
.flow-workspace[data-scene="S08"] .s04-person .v2-person-select>img{object-position:50% 15%}
.flow-workspace[data-scene="S09"]>.s02-fund .s02-proof{display:none}
.flow-next>small{display:none}
.s01[data-scene="S09"] .s06-invitation{top:84%;bottom:2%;z-index:8}
.s01[data-scene="S09"] .s06-invitation h2{font-size:var(--type-section)}

.s01[data-scene] .flow-workspace .s04-person[data-flow-compact="true"]{height:max(var(--flow-h),var(--flow-min-height))}
.s01[data-scene] .flow-workspace[data-scene="S08"] .s04-person .v2-person-proof{display:block}
.flow-workspace[data-scene="S08"] .v2-person-proof>small,.flow-workspace[data-scene="S08"] .v2-person-role-state,.flow-workspace[data-scene="S08"] .v2-person-contact-state{display:none}
.s01[data-scene="S09"] #scene-S09 .s06-invitation{top:88%;bottom:1%;padding-top:10px}
.s01[data-scene="S09"] #scene-S09 .s06-invitation .s01-overline,.s01[data-scene="S09"] #scene-S09 .s06-onboarding>small{display:none}
.s01[data-scene="S09"] #scene-S09 .s06-invitation h2{margin:0;font-size:var(--type-section)}
.s01[data-scene="S09"] #scene-S09 .s06-invitation p{margin:4px 0 0;font-size:var(--type-tiny);line-height:1.3}

.flow-workspace[data-mode="region"] .flow-region{left:22%}
.flow-workspace[data-mode="region"] .flow-region .w-world{left:0;top:15%;width:100%;height:82%}
.flow-workspace[data-mode="region"] .flow-region-label{width:40%}
.flow-workspace[data-mode="region"]>.s02-fund,.flow-workspace[data-mode="region"]>.s05-draft{opacity:var(--flow-opacity)}
.flow-workspace[data-mode="region"] .flow-calendar{opacity:calc(var(--flow-calendar)*(1 - var(--flow-world)))}
.flow-workspace[data-mode="message"] .flow-diff{left:27%}

/* Scene changes keep only the active board in the compositor. */
.s01 [id^="scene-S"][aria-hidden="true"]{visibility:hidden}
.s01 [data-idle]{content-visibility:hidden}

/* Desktop presentation reserves a narrow, reopenable topic rail. */
.s01-topics-toggle{display:none}
@media(min-width:1100px){
 .s01[data-topics-collapsed="true"]{--start-sidebar-width:44px;--start-content-left:84px}
 .s01 .s01-brand{width:266px}
 .s01 .s01-footer{padding:8px 12px;z-index:5}
 .s01-topics-toggle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 0 12px;border:1px solid var(--start-frame-border);border-radius:var(--radius-control);background:var(--start-frame-background);color:var(--start-frame-text);cursor:pointer}
 .s01-topics-toggle svg{display:block;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}
 .s01-topics-toggle:focus-visible{outline:2px solid var(--s01-gold);outline-offset:3px}
 .s01[data-topics-collapsed="true"] .s01-topics{display:none}
}

/* Condensed provenance remains readable at desktop heights. */
.s01[data-scene] .flow-workspace[data-condensed="true"]>.s05-draft{min-height:148px;overflow:hidden}
.s01[data-scene] .flow-workspace[data-condensed="true"]>.s02-fund{min-height:92px}
.flow-workspace[data-condensed="true"]>.s02-fund>p{display:none}
.flow-workspace[data-condensed="true"]>.s02-fund .s02-proof>span,.flow-workspace[data-condensed="true"]>.s02-fund .s02-proof>small{display:none}
.flow-workspace[data-scene="S08"]>.s02-fund,.flow-workspace[data-scene="S09"]>.s02-fund{gap:5px}
.flow-workspace[data-scene="S08"]>.s02-fund>span,.flow-workspace[data-scene="S09"]>.s02-fund>span{padding-top:5px;padding-bottom:5px}

.flow-workspace[data-mode="message"]>.s02-fund .s02-proof{display:none}
.flow-workspace[data-mode="message"]>.s05-context{top:65%;width:22%}

.s01[data-scene] .flow-workspace[data-mode="message"]>.s05-context{top:65%;width:22%}
.flow-workspace[data-mode="message"] .flow-entry-status strong{display:none}
.s01[data-scene] .flow-workspace[data-mode="message"] .s04-person .v2-person-proof{display:block;opacity:1;max-height:none;padding:8px 12px}
.flow-workspace[data-mode="message"] .v2-person-proof>small,.flow-workspace[data-mode="message"] .v2-person-role-state,.flow-workspace[data-mode="message"] .v2-person-contact-state{display:none}
.flow-workspace[data-mode="region"] .flow-region .w-world{top:30%;height:67%}
.flow-workspace[data-mode="region"] .flow-region-label{width:92%}

.flow-workspace[data-scene="S09"] .flow-step-label{display:none}

.flow-workspace .s04-candidate[data-flow-selected="true"]{align-content:start;gap:0}
.flow-workspace .s04-candidate[data-flow-selected="true"] .flow-role-note{max-height:calc(72px * var(--flow-role-note));opacity:var(--flow-role-note);padding-top:calc(12px * var(--flow-role-note));padding-bottom:calc(12px * var(--flow-role-note));overflow:hidden}

.flow-event[aria-pressed="true"]>strong{color:var(--s01-gold)}

/* Presentation badges share the measured Rolodex glass and bevel material. */
.s01 .v2-presentation-badge{--relation-unit:.85;isolation:isolate;border:1.4px solid transparent;border-radius:9px;background:linear-gradient(105deg,var(--glass-category-left),var(--glass-category-right-lit)) padding-box,linear-gradient(145deg,var(--glass-category-edge-left) 5%,var(--glass-category-edge-top) 43%,var(--glass-category-edge-bottom) 94%) border-box;box-shadow:inset 0 -1px 0 var(--glass-category-black),0 2px 0 var(--glass-category-black)}
.s01 .s02-source.v2-presentation-badge{position:relative;min-height:118px}
.s01 .v2-presentation-badge>*{position:relative;z-index:2}

.s01 .s05-draft .v2-presentation-badge{position:relative}

/* Smooth rim transport continues on the reading pose; explicit pause freezes it. */
.flow-workspace[data-scene="S05"]:not([data-condensed="true"])>.s05-draft .v2-draft-body{font-size:var(--type-section)}
.flow-workspace[data-scene="S05"]:not([data-condensed="true"])>.s05-draft .v2-draft-body p{line-height:1.6;margin-bottom:18px}
.flow-workspace[data-scene="S05"]:not([data-condensed="true"])>.s05-draft .s05-signature{font-size:var(--type-label)}
.flow-workspace[data-scene="S05"]:not([data-condensed="true"])>.s05-draft h2{font-size:var(--type-title);line-height:1.2;margin-top:16px;margin-bottom:20px}

.flow-workspace[data-scene="S05"]:not([data-condensed="true"])>.s05-draft .v2-draft-body{flex:1 0 auto}
@media(min-width:1100px) and (max-width:1500px){
 .flow-workspace[data-scene="S05"]:not([data-condensed="true"])>.s05-draft .v2-draft-body{font-size:var(--type-label)}
 .flow-workspace[data-scene="S05"]:not([data-condensed="true"])>.s05-draft h2{font-size:var(--type-section)}
}




/* Reusable glass card: active interior spotlight + cyan edge bloom. */
@property --v2-glow-angle{syntax:"<angle>";inherits:true;initial-value:0deg}
@keyframes v2-active-glow-orbit{from{--v2-glow-angle:0deg}to{--v2-glow-angle:360deg}}
:where(.v2-active-glow){position:relative}
.v2-active-glow[data-glow-active]:not([hidden]){isolation:isolate;overflow:visible;border:1.4px solid transparent;border-radius:9px;background:linear-gradient(105deg,var(--glass-category-left),var(--glass-category-right-lit)) padding-box,linear-gradient(145deg,var(--glass-category-edge-left) 5%,var(--glass-category-edge-top) 43%,var(--glass-category-edge-bottom) 94%) border-box;box-shadow:inset 0 -1px 0 var(--glass-category-black),0 2px 0 var(--glass-category-black)}
:where(.v2-active-glow)>:where(:not(.v2-active-glow-halo)){position:relative;z-index:2}
.v2-active-glow[data-glow-active]::before,.v2-active-glow[data-glow-active]::after,.v2-active-glow[data-glow-active]>.v2-active-glow-halo{display:none;pointer-events:none}
.v2-active-glow[data-glow-active="true"]{animation:v2-active-glow-orbit var(--motion-badge-rim) var(--ease-badge-rim) infinite;animation-delay:calc(-1 * var(--glow-index,0) * var(--motion-badge-offset));animation-play-state:var(--glow-play-state,running)}
.v2-active-glow[data-glow-active="true"]::before{display:block;content:"";position:absolute;inset:1px;border-radius:inherit;z-index:1;background:radial-gradient(ellipse 48% 110% at calc(50% + 30% * cos(var(--v2-glow-angle))) calc(50% + 25% * sin(var(--v2-glow-angle))),color-mix(in srgb,var(--glass-category-cyan) 70%,transparent),transparent 85%);opacity:.65}
.v2-active-glow[data-glow-active="true"]::after{display:block;content:"";position:absolute;inset:-1px;padding:1.5px;border-radius:inherit;z-index:3;background:conic-gradient(from var(--v2-glow-angle),transparent 0deg 250deg,var(--glass-category-cyan) 275deg,var(--paper) 290deg,var(--glass-category-cyan) 305deg,transparent 330deg);mask:linear-gradient(var(--paper) 0 0) content-box,linear-gradient(var(--paper) 0 0);mask-composite:exclude;opacity:.95}
.v2-active-glow[data-glow-active="true"]>.v2-active-glow-halo{display:block;position:absolute;inset:-2px;z-index:0;border-radius:inherit;filter:blur(6px);background:none}
.v2-active-glow-halo::before{content:"";position:absolute;inset:0;padding:3px;border-radius:inherit;background:conic-gradient(from var(--v2-glow-angle),transparent 0deg 240deg,var(--glass-category-cyan) 290deg,transparent 335deg);mask:linear-gradient(var(--paper) 0 0) content-box,linear-gradient(var(--paper) 0 0);mask-composite:exclude;opacity:.9}
@media(prefers-reduced-motion:reduce){.v2-active-glow[data-glow-active="true"]{animation:none}.v2-active-glow[data-glow-active="true"]>.v2-active-glow-halo{opacity:.35}}

/* Scrollable document cards keep decorative light inside the scroll bounds. */
.s05-draft.v2-active-glow::after{inset:1px}
.s05-draft.v2-active-glow>.v2-active-glow-halo{inset:1px}

/* Keep calendar geometry above the generic badge child stacking rule. */
.s01 .flow-calendar>.flow-calendar-head,.s01 .flow-calendar>.flow-calendar-days,.s01 .flow-calendar>.flow-calendar-grid{position:absolute}
.s01 .flow-calendar>.flow-calendar-grid{display:flex;flex-direction:column}
.s01 .flow-calendar-grid>.flow-calendar-hour{flex-grow:1;flex-shrink:1;flex-basis:0px}

.s01 .flow-calendar-grid>.flow-calendar-hour[data-busy="true"]{flex-grow:5}

@media (min-width:1100px) and (max-width:1500px){
.s01[data-scene] .flow-calendar-plane .s04-person[data-flow-compact="true"] .v2-person-select{grid-template-columns:1fr;padding:4px}
.s01[data-scene] .flow-calendar-plane .s04-person[data-flow-compact="true"] .v2-person-select img{display:none}
.s01[data-scene] .flow-calendar-plane .s04-person[data-flow-compact="true"] .v2-person-select>strong{grid-column:1;grid-row:1;font-size:var(--type-tiny)}
.flow-calendar-plane .s04-person[data-flow-compact="true"] .flow-entry-status{gap:2px;padding:3px 4px;font-size:var(--type-caption)}
}

/* Muted work fills every hour; the three moving contacts fit measured cells. */
.flow-calendar-slot{position:relative;min-width:0;min-height:0;border-left:1px solid var(--s01-border);overflow:hidden}
.flow-calendar-other{position:absolute;inset:3px 4px;display:flex;align-items:center;flex-wrap:wrap;align-content:center;gap:2px 5px;padding:0 5px;border:1px solid color-mix(in srgb,var(--s01-muted) 22%,transparent);border-radius:3px;background:color-mix(in srgb,var(--s01-muted) 7%,transparent);color:var(--s01-muted);opacity:.38;font-size:var(--type-caption);line-height:1.1;overflow:hidden}
.flow-calendar-other>span{white-space:normal}
.flow-calendar-hour[data-busy="false"] .flow-calendar-other-action{display:none}
.flow-workspace[data-scene="S06"] .flow-calendar-plane .s04-person[data-flow-compact="true"]{min-height:0;overflow:hidden;display:flex;flex-direction:column}
.flow-workspace[data-scene="S06"] .flow-calendar-plane .s04-person[data-flow-compact="true"] .v2-person-select{flex:1;grid-template-rows:1fr;align-items:center;min-height:0}
.flow-workspace[data-scene="S06"] .flow-calendar-plane .s04-person[data-flow-compact="true"] .v2-person-tab{display:none}
.s01[data-scene="S06"] .flow-calendar-plane .s04-person[data-flow-compact="true"] .v2-person-select>strong{grid-row:1}
.flow-workspace[data-scene="S06"] .flow-calendar-plane .s04-person[data-flow-compact="true"] .flow-entry-status{flex-shrink:0}

@media (min-width:1100px) and (max-width:1500px){
.flow-workspace[data-scene="S06"] .flow-calendar-plane .flow-entry-status>strong{display:none}
.flow-workspace[data-scene="S06"] .flow-calendar-plane .s04-person[data-flow-compact="true"] .flow-entry-status{font-size:var(--type-caption);line-height:1.1}
}

@media (min-width:1100px) and (max-width:1500px){.flow-calendar-hour[data-busy="true"] .flow-calendar-other>time{display:none}}

/* CRM pipeline: five stages, count heads and uniform two-part contact cards. */
.flow-calendar-plane{transform:perspective(1400px) rotateY(calc((var(--flow-calendar) + var(--flow-kanban))*-7deg)) rotateZ(calc((var(--flow-calendar) + var(--flow-kanban))*-1.5deg))}
.flow-kanban{top:16%;bottom:5%;display:block;border:1px solid var(--s01-border);border-radius:8px;background:color-mix(in srgb,var(--surface-raised) 70%,var(--s01-background));transform-origin:0 40%;transform:perspective(1400px) translateX(calc((1 - var(--flow-kanban))*-80px)) rotateY(calc((1 - var(--flow-kanban))*55deg)) scale(calc(.82 + var(--flow-kanban)*.18));padding:0}
.s01 .flow-kanban>.flow-kanban-toolbar{position:absolute;inset:0 0 auto;height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 12px;border-bottom:1px solid var(--s01-border);font-size:var(--type-small);color:var(--s01-gold)}
.flow-kanban-toolbar>strong{font-weight:400}.flow-kanban-toolbar>span{font-size:var(--type-caption);color:var(--s01-muted)}
.s01 .flow-kanban>.flow-kanban-columns{position:absolute;inset:44px 0 0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:0 8px 8px}
.flow-kanban-columns>section{min-width:0;border-left:1px solid var(--s01-border);background:color-mix(in srgb,var(--surface-raised) 20%,transparent)}
.flow-kanban-columns>section>header{height:44px;display:flex;align-items:center;gap:6px;padding:5px 8px;border-top:0;font-size:var(--type-small);line-height:1.1;color:var(--text)}
.flow-kanban-columns>section>header>i{width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--s01-muted)}
.flow-kanban-columns>section:first-child>header>i{background:var(--glass-category-cyan)}
.flow-kanban-columns>section>header>small{margin-left:auto;padding:2px 4px;border:1px solid var(--s01-border);border-radius:4px;color:var(--s01-muted);font-size:var(--type-caption)}
.flow-kanban-content{display:grid;grid-template-rows:repeat(4,minmax(0,1fr));gap:8px;height:calc(100% - 44px);padding:0 5px 5px;box-sizing:border-box}
.flow-kanban-columns>section{position:relative}.flow-kanban-content{position:relative}.flow-kanban-current{position:relative;min-height:0}
.flow-kanban-other{min-width:0;min-height:0;border:1px solid var(--s01-border);border-radius:5px;background:var(--surface-raised);opacity:.3;overflow:hidden}
.flow-kanban-other>header{display:flex;align-items:center;gap:5px;min-height:30px;padding:4px 6px;background:var(--background);border-top:0;border-bottom:1px solid var(--s01-border);font-size:var(--type-tiny)}
.flow-kanban-other strong{font-weight:400;line-height:1.15}.flow-kanban-avatar{display:grid;place-items:center;flex-shrink:0;width:20px;height:20px;border:1px solid var(--s01-border);border-radius:50%;font-size:var(--type-caption)}
.flow-kanban-other>p{margin:0;padding:7px 6px;font-size:var(--type-tiny);line-height:1.3;color:var(--s01-muted)}
.flow-pipeline-message{display:none}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"]{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-select{display:flex;flex-direction:row;align-items:center;gap:6px;padding:5px 7px;min-height:34px;flex:0 0 auto;box-sizing:border-box;background:var(--background);border-bottom:1px solid var(--s01-border)}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-select>img{display:block;width:22px;height:22px;border-radius:50%}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-select>strong{font-size:var(--type-small);line-height:1.2}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-tab,.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-role,.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-proof,.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .flow-entry-status{display:none}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .flow-pipeline-message{display:block;margin:0;padding:7px;font-size:var(--type-small);line-height:1.3;color:var(--text)}
.flow-calendar-plane>.flow-reply{left:23%;top:0;width:74%;display:flex;align-items:center;gap:10px;transform:none;min-height:0}
.flow-calendar-plane>.flow-reply>header{border:0;flex:0 0 22%;font-size:var(--type-caption)}
.flow-calendar-plane>.flow-reply>blockquote{font-size:var(--type-small);padding:8px}.flow-calendar-plane>.flow-reply>small{display:none}
@media(min-width:1100px) and (max-width:1500px){
.flow-kanban-columns>section>header{font-size:var(--type-tiny);gap:3px;padding:4px}
.flow-kanban-other>header{padding:4px;gap:3px}.flow-kanban-avatar{display:none}
.flow-kanban-other>p{font-size:var(--type-caption);padding:6px 4px}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-select{padding:5px;gap:0}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-select>img{display:none}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-select>strong{font-size:var(--type-tiny)}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .flow-pipeline-message{font-size:var(--type-tiny);padding:6px 5px}
}

.flow-kanban{top:20%}
.flow-kanban-columns>section{min-height:0}
.flow-kanban-content{grid-template-rows:repeat(3,minmax(0,1fr))}
.flow-calendar-plane>.flow-reply{top:9%}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .v2-person-select>img{flex:0 0 22px;object-fit:cover}

/* The example contact traverses the measured top slot of each CRM stage. */
.flow-kanban{top:24%}
.flow-kanban-columns>section:not([data-current="true"])>header>i{background:var(--s01-muted)}
.flow-kanban-columns>section[data-current="true"]>header>i{background:var(--glass-category-cyan);box-shadow:0 0 8px var(--glass-category-cyan)}
.flow-kanban-columns>section[data-current="true"]>header>span{color:var(--paper)}
.flow-calendar-plane>.flow-reply{align-items:flex-start}
.flow-calendar-plane>.flow-reply>header{flex-basis:18%;padding-top:10px}
.flow-calendar-plane>.flow-reply>blockquote{line-height:1.4;margin:0}

.flow-kanban-other[data-pipeline-slot]{opacity:var(--pipeline-ghost-opacity,.3)}

/* One projected surface for an underlay AND every card it carries.
   Never rotate/scale the underlay independently from its content. */
.flow-calendar-plane.v2-underlay-plane{
 --underlay-reveal:calc(var(--underlay-progress)*(1 - var(--underlay-progress)));
 transform:perspective(1400px) translateX(calc(var(--underlay-reveal)*-80px)) rotateY(calc(var(--underlay-progress)*-7deg + var(--underlay-reveal)*55deg)) rotateZ(calc(var(--underlay-progress)*-3deg)) scale(calc(1 - var(--underlay-reveal)*.18));
}
.v2-underlay-plane>.flow-calendar,.v2-underlay-plane>.flow-kanban{transform:none}

/* Every calendar cell reads as another outreach, even in short hour rows. */
.flow-calendar-other{inset:1px 3px;gap:2px 4px;padding:0 4px;opacity:.55;background:color-mix(in srgb,var(--s01-muted) 12%,transparent);border-color:color-mix(in srgb,var(--s01-muted) 30%,transparent)}
.flow-calendar-other>.icon{width:10px;height:10px;flex:0 0 10px}
.flow-calendar-other-name{white-space:nowrap}
.flow-calendar-hour[data-busy="false"] .flow-calendar-other{flex-wrap:nowrap}
.flow-calendar-hour[data-busy="true"] .flow-calendar-other-action{flex-basis:100%;padding-left:14px}
@media(min-width:1100px) and (max-width:1500px){
.flow-calendar-other{padding:0 2px;gap:1px 2px}
.flow-calendar-other>.icon{width:8px;height:8px;flex-basis:8px}
.flow-calendar-hour[data-busy="true"] .flow-calendar-other-action{padding-left:0}
}

.flow-calendar-other>.icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Inserting a contact pushes the existing stack down by one whole card pitch. */
.flow-kanban-content{grid-template-rows:repeat(4,minmax(0,1fr))}
.flow-kanban-other,.flow-kanban-other[data-pipeline-slot]{opacity:.3;transform:translateY(calc(var(--pipeline-insert,0)*(100% + 8px)))}

/* Deal totals follow the same insertion progress as the moving contact. */
.flow-kanban-columns>section>header{display:grid;grid-template-columns:5px minmax(0,1fr) auto;grid-template-rows:auto auto;align-content:center;row-gap:5px;height:68px;box-sizing:border-box}
.flow-kanban-columns>section>header>i{grid-column:1;grid-row:1}
.flow-kanban-columns>section>header>span:not(.flow-kanban-deal){grid-column:2;grid-row:1}
.flow-kanban-columns>section>header>small{grid-column:3;grid-row:1}
.flow-kanban-columns>section>header>.flow-kanban-deal{grid-column:2 / 4;grid-row:2;font-size:var(--type-meta);font-variant-numeric:tabular-nums;color:var(--s01-muted);white-space:nowrap}
.flow-kanban-columns>section[data-current="true"]>header>.flow-kanban-deal{color:var(--paper)}
.flow-kanban-content{height:calc(100% - 68px)}
@media(min-width:1100px) and (max-width:1500px){.flow-kanban-columns>section>header>.flow-kanban-deal{font-size:var(--type-tiny)}}

@media(min-width:1100px) and (max-width:1500px){
.flow-kanban-other>p{padding:4px;line-height:1.2}
.s01[data-scene] .flow-workspace .flow-calendar-plane .s04-person[data-pipeline-card="true"] .flow-pipeline-message{padding:4px 5px;line-height:1.2}
}

/* Reinforcement makes the feedback → selection → message loop visible. */
.flow-learning{display:none}
.flow-workspace[data-scene="S09"] .flow-learning{display:flex;position:absolute;left:0;top:2%;width:27%;bottom:12%;flex-direction:column;gap:8px;z-index:5;opacity:var(--flow-learningInputs)}
.flow-learning-input{flex:1;min-height:0;opacity:.35}.flow-learning-input[data-learning-active="true"]{opacity:1}
.flow-learning-input>header{padding:7px 10px;font-size:var(--type-small);color:var(--s01-gold)}
.flow-learning-input>p{padding:5px 10px;margin:0;font-size:var(--type-small);line-height:1.3;color:var(--s01-muted)}
.flow-learning>p{font-size:var(--type-small);line-height:1.4;color:var(--s01-muted);margin:5px}
.flow-workspace[data-scene="S09"] .flow-feedback{left:30%;top:2%;width:68%;opacity:var(--flow-learningInputs)}
.flow-workspace[data-scene="S09"] .flow-feedback>p{margin:0;padding:8px 12px;font-size:var(--type-small);line-height:1.3;color:var(--s01-muted)}
.flow-workspace[data-scene="S09"] .flow-next{display:none}
.flow-workspace[data-scene="S09"] .flow-diff{inset:46% 0 12% 30%;gap:12px;opacity:var(--flow-nextDraft);background:none;z-index:8}
.flow-workspace[data-scene="S09"] .flow-diff>article{align-self:stretch;height:100%;max-height:100%;overflow:auto}
.flow-workspace[data-scene="S09"] .flow-diff article>div{font-size:var(--type-small);line-height:1.4;padding:10px}
.flow-workspace[data-scene="S09"] .flow-diff header{font-size:var(--type-tiny);padding:7px 10px}
.flow-workspace[data-scene="S09"] .flow-diff>small{display:none}
.flow-workspace[data-scene="S09"] .s04-deck{inset:0}

.flow-workspace[data-scene="S09"] .flow-diff{top:40%}
.flow-diff .v2-active-glow::after,.flow-diff .v2-active-glow>.v2-active-glow-halo{inset:1px}

.flow-learning-input{transform:translateX(calc((1 - var(--flow-learningInputs))*-20px))}

/* Final conversion scene: visible sales development and one clear trial entry. */
.flow-growth{display:none}
.flow-workspace[data-scene="S10"] .flow-growth{display:block;position:absolute;left:0;top:5%;width:53%;bottom:7%;z-index:10;opacity:var(--flow-closing);transform:perspective(1400px) translateY(calc((1 - var(--flow-closing))*30px)) rotateY(-5deg) rotateZ(-1deg);transform-origin:center;background:radial-gradient(ellipse at 55% 60%,color-mix(in srgb,var(--glass-category-cyan) 12%,transparent),transparent 65%),var(--s01-background);border:1px solid var(--s01-border);border-radius:var(--radius-panel);padding:22px;box-sizing:border-box;pointer-events:none}
.flow-growth>header{display:flex;flex-direction:column;gap:10px;font-size:var(--type-caption);letter-spacing:1.2px;color:var(--s01-gold)}
.flow-growth>header>strong{font-family:var(--font);font-size:var(--type-title);letter-spacing:0;font-weight:400;color:var(--text)}
.flow-growth-legend{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px;font-size:var(--type-small)}
.flow-growth-legend>span{display:flex;align-items:center;gap:6px}.flow-growth-legend i{height:2px;width:14px;background:currentColor}
.flow-growth [data-growth-label="0"],.flow-growth [data-growth-series="0"]{color:var(--glass-category-cyan)}
.flow-growth [data-growth-label="1"],.flow-growth [data-growth-series="1"]{color:var(--s01-gold)}
.flow-growth [data-growth-label="2"],.flow-growth [data-growth-series="2"]{color:var(--s01-mint)}
.flow-growth [data-growth-label="3"],.flow-growth [data-growth-series="3"]{color:var(--paper)}
.flow-growth-chart{position:relative;width:100%;height:calc(100% - 155px);overflow:visible;z-index:2;margin-top:12px}
.flow-growth-grid{stroke:var(--s01-border);stroke-width:1;fill:none}.flow-growth-axis{stroke:var(--s01-muted);stroke-width:1;fill:none;opacity:.5}
.flow-growth-chart text{fill:var(--s01-muted);font-family:var(--font);font-size:var(--type-small)}
.flow-growth-series>path{fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--growth-reveal,0))}
.flow-growth-series>.flow-growth-halo{stroke-width:7;filter:url(#growth-light);opacity:.3}
.flow-growth-series[data-growth-series="0"]{--growth-reveal:var(--growth-reveal-0)}
.flow-growth-series[data-growth-series="1"]{--growth-reveal:var(--growth-reveal-1)}
.flow-growth-series[data-growth-series="2"]{--growth-reveal:var(--growth-reveal-2)}
.flow-growth-series[data-growth-series="3"]{--growth-reveal:var(--growth-reveal-3)}
.flow-growth>small{position:absolute;left:22px;right:22px;bottom:18px;font-size:var(--type-caption);line-height:1.4;color:var(--s01-muted);z-index:2}
.flow-workspace[data-scene="S10"] .flow-learning{opacity:calc(var(--flow-learningInputs)*(1 - var(--flow-closing)))}
.flow-workspace[data-scene="S10"] .flow-feedback{opacity:calc(var(--flow-learningInputs)*(1 - var(--flow-closing)))}
.s01[data-scene="S10"] .flow-workspace .s04-deck{opacity:calc(var(--flow-roles)*(1 - var(--flow-closing)))}
.flow-workspace[data-scene="S10"] .flow-diff{opacity:calc(var(--flow-nextDraft)*(1 - var(--flow-closing)))}
.s01[data-scene="S10"] #scene-S10 .s06-invitation{left:58%;right:1%;top:5%;bottom:7%;padding:10px 0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:28px;border:0;z-index:14;transform:translateY(calc((1 - var(--questionInvite))*24px));box-sizing:border-box}
.s01[data-scene="S10"] #scene-S10 .s06-invitation .s01-overline{display:block;margin:0 0 18px;font-size:var(--type-caption);letter-spacing:1.5px;color:var(--s01-gold)}
.s01[data-scene="S10"] #scene-S10 .s06-invitation h2{font-family:var(--font);font-size:var(--type-hero);font-weight:400;line-height:1.12;margin:0 0 20px}
.s01[data-scene="S10"] #scene-S10 .s06-invitation p:not(.s01-overline){font-size:var(--type-section);line-height:1.5;color:var(--s01-muted);margin:0}
.flow-finale-benefits{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:var(--type-label);line-height:1.4}
.flow-finale-benefits>li{padding-left:12px;border-left:2px solid var(--glass-category-cyan)}
.s01[data-scene="S10"] #scene-S10 .s06-onboarding{max-width:none;width:100%;align-items:stretch;text-align:left;gap:12px}
.s01[data-scene="S10"] #scene-S10 .s06-onboarding>.v2-button{display:flex;align-items:center;justify-content:center;min-height:52px;font-size:var(--type-section);background:var(--s01-gold);border-color:var(--s01-gold);color:var(--background);font-weight:500}
.s01[data-scene="S10"] #scene-S10 .s06-onboarding>small{display:block;font-size:var(--type-small);color:var(--s01-muted);line-height:1.4}
@media(min-width:1100px) and (max-width:1500px){
.flow-workspace[data-scene="S10"] .flow-growth{padding:16px;width:52%}
.flow-growth>header>strong{font-size:var(--type-brand)}
.flow-growth-legend{font-size:var(--type-tiny);gap:8px 12px;margin-top:16px}
.flow-growth>small{left:16px;right:16px;font-size:var(--type-caption)}
.s01[data-scene="S10"] #scene-S10 .s06-invitation{left:57%;gap:20px}
.s01[data-scene="S10"] #scene-S10 .s06-invitation h2{font-size:var(--type-title);margin-bottom:14px}
.s01[data-scene="S10"] #scene-S10 .s06-invitation p:not(.s01-overline){font-size:var(--type-label);line-height:1.4}
.flow-finale-benefits{font-size:var(--type-body);gap:8px;margin-top:16px}
}

.flow-growth [data-growth-label="2"],.flow-growth [data-growth-series="2"]{color:var(--mint-hi)}
.flow-workspace[data-scene="S10"]>.flow-wires{display:none}
.s01[data-scene="S10"] .s01-function-canvas{opacity:calc(1 - var(--questionInvite,0))}
.s01 .flow-growth>small{position:absolute}

.flow-workspace[data-scene="S10"] .flow-learning,.flow-workspace[data-scene="S10"] .flow-feedback,.flow-workspace[data-scene="S10"] .flow-diff,.flow-workspace[data-scene="S10"] .s04-deck{visibility:hidden;pointer-events:none}
.s01[data-scene="S10"] .s01-function-canvas{opacity:0}

.s01[data-scene="S10"] #scene-S10{opacity:1;visibility:visible;pointer-events:auto}
.s01[data-scene="S10"] .s01-atmosphere{opacity:.12}

.flow-workspace[data-scene="S10"] .flow-step-label{display:none}

/* Reinforcement: one continuous descent from signals to selection to message. */
.flow-learning-chapters,.flow-learning-stage-copy,.flow-learning-outcome,.flow-learning-boundary{display:none}
.flow-workspace[data-scene="S09"] .flow-learning-chapters{display:flex;position:absolute;left:1%;right:1%;top:0;gap:24px;z-index:8;opacity:var(--learning-entry)}
.flow-learning-chapters>div{display:flex;align-items:center;gap:9px;flex:1;color:var(--s01-muted);font-size:var(--type-meta)}
.flow-learning-chapters>div>span{font-size:var(--type-small);color:var(--s01-gold)}
.flow-learning-chapters strong{font-weight:400;white-space:nowrap}
.flow-learning-chapters i{height:1px;flex:1;margin-left:8px;background:var(--s01-border)}
.flow-learning-chapters [data-current="true"]{color:var(--text)}
.flow-learning-chapters [data-current="true"] i{background:linear-gradient(90deg,var(--glass-category-cyan),var(--s01-border));box-shadow:0 0 8px var(--glass-category-cyan)}
.flow-workspace[data-scene="S09"] .flow-learning{display:block;inset:0;width:auto;opacity:1;pointer-events:none}
.flow-workspace[data-scene="S09"] .flow-learning-input{position:absolute;left:var(--flow-x);top:var(--flow-y);width:var(--flow-w);height:var(--flow-h);opacity:var(--flow-opacity);box-sizing:border-box;transform:none;border-radius:var(--radius-control);overflow:hidden;background:linear-gradient(115deg,var(--glass-category-left),var(--glass-category-right-lit));box-shadow:inset 0 -1px 0 var(--glass-category-black),0 18px 48px color-mix(in srgb,var(--background) 45%,transparent)}
.flow-learning-input>header{display:flex;align-items:center;gap:8px;padding:9px 12px;background:var(--surface-raised);font-size:var(--type-label);letter-spacing:.2px;color:var(--text)}
.flow-learning-input>header>small{margin-left:auto;font-size:var(--type-caption);font-weight:400;color:var(--s01-muted)}
.flow-learning-icon{display:flex;color:var(--glass-category-cyan)}
.flow-learning-icon>.icon{width:16px;height:16px}
.flow-learning-input>p{padding:8px 12px;font-size:var(--type-meta);line-height:1.35;color:var(--s01-muted)}
.flow-learning-trace{display:flex;align-items:end;gap:3px;position:absolute;bottom:0;right:12px;height:9px;width:44%;opacity:.3;pointer-events:none}
.flow-learning-trace>i{height:100%;transform:scaleY(var(--trace-height));transform-origin:bottom;flex:1;background:var(--glass-category-cyan)}
.flow-workspace[data-scene="S09"] .flow-feedback{left:var(--flow-x);top:var(--flow-y);width:var(--flow-w);height:var(--flow-h);opacity:var(--learning-entry);border:0;border-radius:50%;padding:0;overflow:visible;background:none;box-shadow:none;z-index:4}
:is(.flow-workspace[data-scene="S09"] .flow-feedback,.s01-intelligence.flow-feedback){border:0;border-radius:50%;padding:0;overflow:visible;background:none;box-shadow:none}
.flow-feedback>.flow-learning-rings{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--glass-category-cyan) 9%,transparent) 5%,transparent 65%);box-shadow:0 0 100px color-mix(in srgb,var(--glass-category-cyan) 10%,transparent)}
.flow-learning-rings>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none}
.flow-learning-rings circle,.flow-learning-ring-ticks{stroke:var(--s01-gold);stroke-width:.6}
.flow-learning-ring-outer{opacity:.35}
.flow-learning-ring-dashed{stroke-dasharray:1 7;opacity:.45}
.flow-learning-ring-inner{opacity:.18}
.flow-learning-ring-ticks{transform:rotate(var(--learning-turn));transform-origin:150px 150px;opacity:.6}
.flow-learning-rings .flow-learning-ring-arc{stroke:var(--glass-category-cyan);stroke-width:1.8;stroke-dasharray:130 660;transform:rotate(var(--learning-turn));transform-origin:150px 150px;filter:drop-shadow(0 0 5px var(--glass-category-cyan))}
.flow-learning-kernel{position:absolute;left:calc(50% - 17px);top:17%;width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 32% 25%,var(--gold-light),var(--s01-gold) 20%,var(--glass-category-left) 75%);box-shadow:0 0 22px color-mix(in srgb,var(--s01-gold) 35%,transparent),inset 0 0 7px var(--glass-category-black)}
.flow-learning-core-copy{position:absolute;inset:35% 12% auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.flow-learning-core-copy>small{font-size:var(--type-caption);letter-spacing:1.5px;color:var(--s01-gold)}
.flow-learning-core-copy>strong{font-family:var(--font-graph);font-size:var(--type-title);font-weight:500;line-height:1.05;color:var(--text)}
.flow-learning-core-copy>p{font-size:var(--type-small);line-height:1.4;margin:0;color:var(--s01-muted)}
.flow-learning-weights{position:absolute;top:calc(100% + 18px);left:-8%;right:-8%;display:flex;flex-direction:column;gap:9px;opacity:var(--learning-entry)}
.flow-learning-weights>div{display:grid;grid-template-columns:1fr 40px 1fr;gap:8px;align-items:center;font-size:var(--type-small);color:var(--s01-muted)}
.flow-learning-weights>div>span{text-align:right;white-space:nowrap}
.flow-learning-weights em{font-style:normal;color:var(--text);white-space:nowrap}
.flow-learning-weights i{height:2px;background:var(--s01-border)}
.flow-learning-weights b{display:block;height:100%;width:calc(var(--weight-fill)*100%);background:var(--s01-gold);box-shadow:0 0 7px color-mix(in srgb,var(--s01-gold) 30%,transparent)}
.flow-workspace[data-scene="S09"] .flow-feedback.v2-active-glow::after,.flow-workspace[data-scene="S09"] .flow-feedback>.v2-active-glow-halo{border-radius:50%}
.flow-workspace[data-scene="S09"] .s04-deck{opacity:calc(var(--flow-roles)*(1 - var(--learning-exit)))}
.flow-workspace[data-scene="S09"] .flow-learning-stage-copy{display:flex;position:absolute;left:52%;right:2%;top:10%;flex-direction:column;gap:7px;opacity:calc(var(--learning-shift)*(1 - var(--learning-exit)));z-index:7}
.flow-learning-stage-copy>strong{font-family:var(--font-graph);font-size:var(--type-title);font-weight:400;line-height:1.15;color:var(--text)}
.flow-learning-stage-copy>small{font-size:var(--type-small);color:var(--s01-muted)}
.flow-workspace[data-scene="S09"] .s04-candidate[data-flow-selected="true"]{width:var(--flow-role-width);height:var(--flow-role-height);border-color:var(--s01-border);background:linear-gradient(115deg,var(--glass-category-left),var(--glass-category-right-lit))}
.flow-workspace[data-scene="S09"] .s04-candidate[data-flow-selected="true"] strong{font-size:var(--type-value);font-weight:400}
.flow-workspace[data-scene="S09"] .s04-candidate[data-flow-selected="true"] .flow-role-note{font-size:var(--type-meta)}
.flow-workspace[data-scene="S09"] .flow-diff{left:26%;right:1%;top:13%;bottom:13%;gap:18px;opacity:var(--flow-nextDraft);z-index:8}
.flow-workspace[data-scene="S09"] .flow-diff>article{border-radius:var(--radius-control);background:linear-gradient(130deg,var(--glass-category-left),var(--glass-category-right-lit))}
.flow-workspace[data-scene="S09"] .flow-diff header{padding:14px 16px;font-size:var(--type-meta);background:var(--surface-raised)}
.flow-workspace[data-scene="S09"] .flow-diff article>div{font-size:var(--type-label);line-height:1.5;padding:18px;white-space:pre-wrap}
.flow-workspace[data-scene="S09"] .flow-learning-outcome{display:flex;position:absolute;left:1.5%;top:73%;width:20%;flex-direction:column;gap:8px;opacity:var(--learning-exit);z-index:7}
.flow-learning-outcome>strong{font-size:var(--type-value);font-weight:400;line-height:1.2;color:var(--text)}
.flow-learning-outcome>p{font-size:var(--type-meta);line-height:1.4;color:var(--s01-muted);margin:0}
.flow-workspace[data-scene="S09"] .flow-learning-boundary{display:block;position:absolute;left:1%;bottom:3%;margin:0;font-size:var(--type-small);color:var(--s01-muted);z-index:8}
@media(max-width:1500px){.flow-learning-core-copy>strong{font-size:var(--type-brand)}.flow-learning-core-copy{left:10%;right:10%;gap:6px}.flow-learning-core-copy>p{font-size:var(--type-caption)}.flow-learning-input>header{font-size:var(--type-meta);padding:7px 9px;gap:5px}.flow-learning-input>p{font-size:var(--type-small);padding:6px 9px}.flow-learning-input>header>small{display:none}.flow-learning-weights{left:-20%;right:-20%}.flow-learning-weights>div{font-size:var(--type-caption);grid-template-columns:1fr 22px 1fr;gap:5px}.flow-learning-stage-copy>strong{font-size:var(--type-brand)}.flow-workspace[data-scene="S09"] .flow-diff article>div{font-size:var(--type-meta);padding:12px}.flow-workspace[data-scene="S09"] .flow-diff header{padding:10px 12px;font-size:var(--type-small)}}

/* Preserve absolute choreography above the shared badge child stacking rule. */
.flow-feedback>.flow-learning-core-copy{position:absolute;min-width:0}
.flow-feedback>.flow-learning-core-copy>strong{max-width:100%;white-space:normal;overflow-wrap:normal}
.flow-feedback>.flow-learning-core-copy>p{max-width:100%}
.flow-feedback>.flow-learning-weights{position:absolute;opacity:calc(var(--learning-entry)*(1 - var(--learning-exit)))}
.flow-learning-input>.flow-learning-trace{position:absolute}
.flow-learning-icon>.icon{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.flow-learning-input>p{font-size:var(--type-small);padding:7px 12px;line-height:1.35}
@media(max-width:1500px){.flow-workspace[data-scene="S09"] .flow-diff{left:31%;gap:10px}.flow-workspace[data-scene="S09"] .flow-learning-outcome{width:26%}.flow-learning-core-copy>p{font-size:var(--type-small)}.flow-learning-input>p{padding:7px 9px}.flow-learning-weights{left:-15%;right:-15%}}
.s01[data-scene="S09"] .flow-workspace .s04-deck{opacity:calc(var(--flow-roles)*(1 - var(--learning-exit)))}
.flow-workspace[data-scene="S09"] .flow-learning-stage-copy{top:8.5%}
@media(max-width:1500px){.flow-workspace[data-scene="S09"] .flow-learning-outcome{top:69%}}
.flow-workspace[data-scene="S09"] .flow-feedback{z-index:6}
.flow-feedback>.flow-learning-rings::before{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(ellipse at 55% 50%,color-mix(in srgb,var(--glass-category-cyan) 10%,var(--s01-background)),var(--s01-background));z-index:-1}
.flow-workspace[data-learning-phase="selection"] .flow-learning-core-copy>p,.flow-workspace[data-learning-phase="message"] .flow-learning-core-copy>p{display:none}

/* SAINT intelligence dial: owner reference in DESIGN-GUIDE chapter 11. */
.v2-intelligence-dial{width:var(--size-intelligence-dial);height:var(--size-intelligence-dial);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-family:var(--font-graph);pointer-events:none;color:var(--paper)}
.flow-workspace[data-scene="S09"] .flow-feedback.v2-intelligence-dial{left:calc(var(--flow-x) + var(--flow-w)/2 - var(--size-intelligence-dial)/2);top:calc(var(--flow-y) + var(--flow-h)/2 - var(--size-intelligence-dial)/2);width:var(--size-intelligence-dial);height:var(--size-intelligence-dial)}
.flow-feedback.v2-intelligence-dial>.flow-learning-weights{left:50%;right:auto;width:calc(var(--size-intelligence-dial)*2.4);transform:translateX(-50%)}
.v2-intelligence-dial>.v2-intelligence-reading{position:absolute;inset:0;z-index:4}
.v2-intelligence-reading>strong{position:absolute;left:50%;top:67%;transform:translate(-50%,-50%) scale(1.5);display:flex;align-items:baseline;font-weight:300;line-height:1;gap:2px}
.v2-intelligence-dial b{font-size:var(--type-value);font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.v2-intelligence-dial small{font-size:var(--type-tiny);font-weight:300}


.v2-intelligence-reading>.v2-intelligence-emblem{display:none}
/* Steel face only; the original Reinforcement rings, ticks and glow remain. */
.v2-intelligence-dial>.flow-learning-rings::before{inset:0;background:url('/assets/saint-steel-face.png') center/contain no-repeat;filter:grayscale(1) brightness(.34) contrast(1.08);clip-path:circle(41% at 49% 49%)}
.v2-material-filters{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.v2-material-filters feSpecularLighting{lighting-color:var(--paper)}
.v2-material-depth{flood-color:var(--line-bright)}
.v2-intelligence-dial .v2-intelligence-reading>strong{color:var(--paper-shade);text-shadow:none;filter:url('#v2-steel-emboss')}
.v2-intelligence-dial .v2-intelligence-reading b{font-weight:500}
.v2-intelligence-dial .v2-intelligence-reading :is(b,small){color:var(--paper);background:none;-webkit-text-stroke:0}
.v2-intelligence-dial>.flow-learning-rings::after{content:'';position:absolute;inset:0;border-radius:50%;z-index:-1;filter:brightness(.42);background:repeating-conic-gradient(from 0deg,transparent 0deg .25deg,color-mix(in srgb,var(--paper) 12%,transparent) .3deg .45deg,transparent .5deg 1deg),conic-gradient(from 15deg,var(--line-bright),var(--paper-shade) 12%,var(--faint) 24%,var(--surface) 33%,var(--muted) 43%,var(--paper-shade) 55%,var(--line-bright) 68%,var(--surface) 77%,var(--paper-shade) 91%,var(--line-bright));mask:radial-gradient(circle,transparent 59%,var(--background) 60% 67%,transparent 68%);box-shadow:inset 0 1px 1px var(--paper-shade)}
.v2-intelligence-dial .flow-learning-ring-outer,.v2-intelligence-dial .flow-learning-ring-inner,.v2-intelligence-dial .flow-learning-ring-dashed,.v2-intelligence-dial .flow-learning-ring-ticks{stroke:var(--paper-shade)}

/* The only animated arc is the actual outer loader; omit the inner decorative sweep. */
.v2-intelligence-dial .flow-learning-ring-arc:not(.flow-learning-ring-progress){display:none}
.v2-intelligence-dial .flow-learning-ring-progress{stroke-dasharray:var(--intelligence-loaded,0) 100;transform:rotate(-90deg)}

.v2-saint-node[hidden]{display:none}

/* Keep light on the outer loader, below the opaque, embossed live reading. */
.v2-intelligence-dial.v2-active-glow::before{display:none}
.v2-intelligence-dial.v2-active-glow[data-glow-active="true"]::after{display:block;opacity:.95}
.v2-intelligence-dial.v2-active-glow>.v2-active-glow-halo{opacity:1}
.v2-intelligence-dial .v2-active-glow-halo::after{content:'';position:absolute;inset:-22px;border-radius:50%;background:radial-gradient(circle,transparent 60%,color-mix(in srgb,var(--glass-category-cyan) 35%,transparent) 68%,transparent 79%);animation:v2-intelligence-corona var(--motion-badge-rim) var(--ease) infinite alternate;animation-play-state:var(--glow-play-state,running)}
@keyframes v2-intelligence-corona{from{opacity:.45;transform:scale(.97)}to{opacity:.9;transform:scale(1.04)}}
@media(prefers-reduced-motion:reduce){.v2-intelligence-dial .v2-active-glow-halo::after{animation:none;opacity:.6}}
.v2-intelligence-dial .flow-learning-ring-progress{filter:drop-shadow(0 0 5px var(--glass-category-cyan));opacity:1}
