/* DDMind homepage v3. Generated from prototype/v3; do not edit here. */
/* DDMind v3 | Workspace page
   Loaded after ../v3.css, the homepage's system, which this page shares (nav, footer, type, buttons, bands,
   sections, closing). This file only adds what the Workspace page needs. Every rule is scoped under .v3-root
   and every class it introduces starts with v3-ws-.

   Sections  hero (white) | tour (white) | your own AI (band) | closing (white) | footer (band)
   Trace     the blue full stop starts a short line in the hero's gutter (page.js, from 900px); the tour's tabs
             sit on a gutter line that runs into the app window; in the own-AI section the MCP line joins the
             chat to the DDMind record.
   States    as on the homepage: no script = everything visible and stacked; page.js adds v3-ws-live to the
             tour, v3-ws-filmon to the hero and v3-ws-wait to the own-AI exhibit, and only those classes switch
             the enhanced states on. */

/* ========= Hero ========= */
.v3-root .v3-ws-hero-grid{display:flex;flex-wrap:wrap;align-items:center;margin-top:18px}
/* below 900 the note and the button take their own places around the film */
.v3-root .v3-ws-hero-side{display:contents}
.v3-root .v3-ws-note{order:1;flex:0 0 100%}
.v3-root .v3-ws-film{order:2;position:relative;flex:0 0 100%;margin-top:24px;aspect-ratio:16/9;overflow:hidden;border-radius:var(--v3-r);background:#fff;text-align:left}
/* the film is drawn by script; with no script there is nothing to frame */
.v3-root .v3-ws-film:empty{display:none}
/* a hairline frame above the drawn stage */
.v3-root .v3-ws-film::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:5;border:1px solid var(--v3-hair);border-radius:inherit;pointer-events:none}
.v3-root .v3-ws-hero-cta{order:4;flex:0 0 100%;margin-top:16px}
.v3-root .v3-ws-hero-cta .v3-btn{width:100%}
/* film controls exist only once page.js has found the film's timeline */
.v3-root.v3-ready .v3-ws-film-row{display:none;order:3}
.v3-root.v3-ready .v3-ws-hero-grid.v3-ws-filmon .v3-ws-film-row{display:flex}
.v3-root.v3-ready .v3-ws-film-row::after{display:none}
.v3-root .v3-ws-film-row .v3-film-fill{transition:none}
.v3-root .v3-ws-hero-grid.v3-ws-filmon .v3-ws-film{cursor:pointer}
.v3-root .v3-ws-hero-grid.v3-ws-filmon .v3-ws-hero-cta{margin-top:8px}
.v3-root .v3-ws-hero-grid.v3-ws-filmon.v3-ws-playing .v3-film-toggle::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='2.5' y='1.5' width='2.5' height='9' rx='.6'/%3E%3Crect x='7' y='1.5' width='2.5' height='9' rx='.6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Crect x='2.5' y='1.5' width='2.5' height='9' rx='.6'/%3E%3Crect x='7' y='1.5' width='2.5' height='9' rx='.6'/%3E%3C/svg%3E")}
.v3-root .v3-ws-trace{display:none}

/* --------- The film, re-themed for a light page (rules from assets/wsfilm.css; wsfilm.js builds the markup
   on a fixed 1280x720 stage and scales it to the frame) --------- */
.v3-root #wsFilm *{box-sizing:border-box;margin:0;padding:0}
.v3-root #wsFilm .wf-stage{position:absolute;left:0;top:0;width:1280px;height:720px;transform-origin:0 0;overflow:hidden;font-family:"Inter Variablefont Opsz Wght","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:14px;line-height:1.4;letter-spacing:0;color:#0E1630;background:#fff}
.v3-root #wsFilm .wf-h0{opacity:0;visibility:hidden}
.v3-root #wsFilm .wf-bar{position:absolute;left:0;right:0;bottom:0;height:2px;background:#E3E5EA}
.v3-root #wsFilm .wf-fill{height:100%;background:#1F2BB4;transform:scaleX(0);transform-origin:0 50%}
.v3-root .v3-ws-filmon #wsFilm .wf-bar{display:none}
/* title cards */
.v3-root #wsFilm .wf-card{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;color:#0E1630}
.v3-root #wsFilm .wf-logo{width:170px;height:40px;background:url(https://cdn.prod.website-files.com/67daf695223996a51592cfec/6ac8219a7bea6cefb2c129a5_ddmind-logo-v2.svg) center/contain no-repeat}
.v3-root #wsFilm .wf-big{font-size:68px;font-weight:600;letter-spacing:-.03em;line-height:1.05}
.v3-root #wsFilm .wf-big em{font-style:normal;color:#1F2BB4}
/* the opening card would repeat the page's headline right under it: on this page it shows only the logo */
.v3-root #wsFilm .wf-c1 .wf-big{display:none}
.v3-root #wsFilm .wf-sub{font-size:24px;color:#454C63}
.v3-root #wsFilm .wf-cap{position:absolute;left:0;right:0;top:640px;text-align:center;font-size:23px;font-weight:500;letter-spacing:-.012em;color:#0E1630}
/* the DDMind window: light chrome, white panes, hairlines */
.v3-root #wsFilm .wf-app{position:absolute;left:80px;top:44px;width:1120px;height:566px;border:1px solid #E3E5EA;border-radius:16px;background:#F5F6F8}
.v3-root #wsFilm .wf-top{height:52px;display:flex;align-items:center;gap:4px;padding:0 20px;color:#454C63;font-weight:500}
.v3-root #wsFilm .wf-lg{width:88px;height:21px;margin-right:20px;background:url(https://cdn.prod.website-files.com/67daf695223996a51592cfec/6ac8219a7bea6cefb2c129a5_ddmind-logo-v2.svg) left center/contain no-repeat}
.v3-root #wsFilm .wf-it{padding:7px 13px;border-radius:9px}
.v3-root #wsFilm .wf-it.wf-on{background:#fff;color:#0E1630;box-shadow:0 0 0 1px #E3E5EA}
.v3-root #wsFilm .wf-me{margin-left:auto;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#1F2BB4;color:#fff;font-size:10px;font-weight:600}
.v3-root #wsFilm .wf-main{display:grid;grid-template-columns:0px 1fr 256px;gap:10px;height:504px;padding:0 10px 10px}
.v3-root #wsFilm .wf-side{min-width:0;overflow:hidden;display:flex;flex-direction:column;gap:3px;white-space:nowrap}
.v3-root #wsFilm .wf-proj{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:8px 10px;border-radius:12px;background:#fff;font-weight:600;box-shadow:0 0 0 1px #E3E5EA}
.v3-root #wsFilm .wf-proj-ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#0E1630;color:#fff;font-size:13px}
.v3-root #wsFilm .wf-si{height:34px;display:flex;align-items:center;padding:0 12px;border-radius:9px;font-weight:500;color:#454C63;background:rgba(255,255,255,0)}
.v3-root #wsFilm .wf-panel{position:relative;min-width:0;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 0 0 1px #E3E5EA}
.v3-root #wsFilm .wf-v{position:absolute;top:0;left:0;right:0;bottom:0;padding:22px 26px}
.v3-root #wsFilm .wf-crumb{font-size:12px;color:#646B82}
.v3-root #wsFilm .wf-title{font-size:20px;font-weight:600;letter-spacing:-.02em;margin-top:2px}
.v3-root #wsFilm .wf-head{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:16px}
.v3-root #wsFilm .wf-btn{padding:8px 15px;border-radius:999px;background:#1F2BB4;color:#fff;font-size:13px;font-weight:600}
.v3-root #wsFilm .wf-pill{padding:4px 11px;border-radius:999px;background:#F5F6F8;font-size:12px;font-weight:500;color:#454C63}
.v3-root #wsFilm .wf-row{display:grid;grid-template-columns:1.5fr 1.2fr .8fr;gap:12px;align-items:center;padding:13px 0;border-top:1px solid #EEF0F3}
.v3-root #wsFilm .wf-row.wf-rh{border-top:0;border-bottom:1px solid #E3E5EA;padding:0 0 9px;font-size:12px;font-weight:500;color:#646B82}
.v3-root #wsFilm .wf-b{font-weight:600}
.v3-root #wsFilm .wf-mu{color:#454C63}
.v3-root #wsFilm .wf-lab{font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#646B82;margin:6px 0 10px}
.v3-root #wsFilm .wf-drop{height:118px;border-radius:14px;border:2px dashed #C9CDD8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#646B82;font-weight:500;background:#FAFBFC}
.v3-root #wsFilm .wf-drop-ic,.v3-root #wsFilm .wf-fold-ic{width:34px;height:28px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 28'%3E%3Cpath d='M2 5c0-1.7 1.3-3 3-3h8l3.6 4H29c1.7 0 3 1.3 3 3v14c0 1.7-1.3 3-3 3H5c-1.7 0-3-1.3-3-3z' fill='%23DCE0F5' stroke='%231F2BB4' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.v3-root #wsFilm .wf-drop-ic{opacity:.45}
.v3-root #wsFilm .wf-file{display:flex;align-items:center;gap:10px;padding:11px 2px;border-top:1px solid #EEF0F3;font-weight:500}
.v3-root #wsFilm .wf-file:first-child{border-top:0}
.v3-root #wsFilm .wf-doc{width:14px;height:16px;border-radius:3px;border:1.6px solid #1F2BB4;background:#EEF0FB}
.v3-root #wsFilm .wf-files{margin-top:12px}
.v3-root #wsFilm .wf-task{display:grid;grid-template-columns:20px 1fr auto;gap:13px;align-items:center;padding:13px 0;border-top:1px solid #EEF0F3;font-weight:500}
.v3-root #wsFilm .wf-ck{width:20px;height:20px;border-radius:50%;border:1.6px solid #9AA2D8;background:rgba(46,158,88,0);display:grid;place-items:center;color:#fff;font-size:12px;font-weight:600}
.v3-root #wsFilm .wf-ck-m{opacity:0}
.v3-root #wsFilm .wf-who{color:#454C63;font-weight:400}
.v3-root #wsFilm .wf-tag{padding:3px 9px;border-radius:999px;background:#EAF4EE;color:#2B7A4B;font-size:11.5px;font-weight:600;white-space:nowrap}
.v3-root #wsFilm .wf-tag-b{background:#EEF0FB;color:#1F2BB4}
.v3-root #wsFilm .wf-ai{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:#1F2BB4;padding-bottom:8px;border-bottom:1px solid #C5CAE2}
.v3-root #wsFilm .wf-ai::before{content:"";width:6px;height:6px;border-radius:50%;background:#1F2BB4}
.v3-root #wsFilm .wf-note{display:flex;align-items:center;gap:12px;margin-top:16px;padding:13px 16px;border-radius:12px;background:#F8F9FB;font-weight:500;box-shadow:0 0 0 1px #1F2BB4}
.v3-root #wsFilm .wf-note .wf-tag{margin-left:auto}
.v3-root #wsFilm .wf-trail{display:flex;align-items:center;gap:10px;margin-bottom:16px;font-size:12px;font-weight:600}
.v3-root #wsFilm .wf-ch{padding:5px 12px;border-radius:999px;background:#F0F1F4;color:#646B82}
.v3-root #wsFilm .wf-ar{width:20px;height:1px;background:#C9CDD8}
.v3-root #wsFilm .wf-rep{display:grid;grid-template-columns:1fr 268px;gap:22px}
.v3-root #wsFilm .wf-rt{font-size:15px;font-weight:600}
.v3-root #wsFilm .wf-rp{color:#454C63;line-height:1.65;margin-top:6px}
.v3-root #wsFilm .wf-fig{display:inline-block;padding:1px 5px;border-radius:4px;background:#EEF0FB;color:#0E1630;font-weight:600}
.v3-root #wsFilm .wf-bars{display:flex;align-items:flex-end;gap:10px;height:130px;margin-top:18px}
.v3-root #wsFilm .wf-bar-c{flex:1;border-radius:5px 5px 0 0;background:#C5CAE2}
.v3-root #wsFilm .wf-bar-c.wf-hi{background:#1F2BB4}
.v3-root #wsFilm .wf-box{border-radius:12px;padding:14px 16px;background:#fff;box-shadow:0 0 0 1px #E3E5EA}
.v3-root #wsFilm .wf-box+.wf-box{margin-top:12px}
.v3-root #wsFilm .wf-bt{font-size:13px;font-weight:600}
.v3-root #wsFilm .wf-f{margin-top:8px;padding:8px 10px;border-radius:8px;background:#F5F6F8;font-size:12.5px}
.v3-root #wsFilm .wf-f b{color:#1F2BB4}
.v3-root #wsFilm .wf-src{margin-top:8px;font-size:12.5px;line-height:1.6;color:#454C63}
.v3-root #wsFilm .wf-hl{color:#0E1630;font-weight:600;background:linear-gradient(#FFE99A,#FFE99A) 0 62%/0% 62% no-repeat}
.v3-root #wsFilm .wf-an{display:flex;flex-direction:column;min-width:0;padding:18px 16px 16px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px #E3E5EA}
.v3-root #wsFilm .wf-an-h{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:600}
.v3-root #wsFilm .wf-an-h::before{content:"";width:8px;height:8px;border-radius:50%;background:#2E9E58;box-shadow:0 0 0 3px #EAF4EE}
.v3-root #wsFilm .wf-msg{align-self:flex-end;max-width:94%;margin-top:16px;padding:10px 13px;border-radius:14px 14px 4px 14px;background:#EEF0FB;line-height:1.45}
.v3-root #wsFilm .wf-steps{display:flex;flex-direction:column;gap:7px;margin-top:14px;color:#454C63}
.v3-root #wsFilm .wf-st::before{content:"\2713";margin-right:9px;color:#2E9E58;font-weight:600}
.v3-root #wsFilm .wf-res{margin-top:14px;padding:11px 13px;border-radius:12px;font-weight:600;box-shadow:0 0 0 1px #E3E5EA}
.v3-root #wsFilm .wf-ask{margin-top:auto;padding:10px 16px;border-radius:999px;color:#646B82;box-shadow:0 0 0 1px #E3E5EA}
.v3-root #wsFilm .wf-fold{position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 12px;border-radius:12px;background:#fff;font-weight:600;box-shadow:0 0 0 1px #C9CDD8}
.v3-root #wsFilm .wf-cur{position:absolute;left:0;top:0;width:22px;height:26px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 26'%3E%3Cpath d='M3 2l15 11-7 1.2 4.3 8-3 1.4-4.2-8L3 20z' fill='%230E1630' stroke='%23fff' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
/* the Claude window keeps its own warm neutral */
.v3-root #wsFilm .wf-cl{position:absolute;left:250px;top:56px;width:780px;height:540px;display:flex;flex-direction:column;padding:22px 30px;border-radius:16px;background:#F6F4EE;font-size:16px;box-shadow:0 0 0 1px #E4E0D6}
.v3-root #wsFilm .wf-cl-bar{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid rgba(14,22,48,.1);font-size:17px;font-weight:600}
.v3-root #wsFilm .wf-conn{display:flex;align-items:center;gap:7px;padding:5px 12px;border-radius:999px;background:#fff;font-size:13px;font-weight:500;color:#454C63}
.v3-root #wsFilm .wf-conn::before{content:"";width:7px;height:7px;border-radius:50%;background:#2E9E58}
.v3-root #wsFilm .wf-u{align-self:flex-end;max-width:78%;margin-top:18px;padding:11px 16px;border-radius:16px;background:#E9E6DC}
.v3-root #wsFilm .wf-tool{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;font-weight:500;color:#1F2BB4}
.v3-root #wsFilm .wf-tool::before{content:"";width:15px;height:15px;background:url(https://cdn.prod.website-files.com/67daf695223996a51592cfec/6ac8219a7bea6cefb2c129a5_ddmind-logo-v2.svg) 0 50%/auto 100% no-repeat}
.v3-root #wsFilm .wf-ans{margin-top:10px;line-height:1.55}
.v3-root #wsFilm .wf-li{display:flex;gap:10px;margin-top:5px;color:#454C63}
.v3-root #wsFilm .wf-li::before{content:"";flex:none;width:5px;height:5px;margin-top:10px;border-radius:50%;background:#646B82}

/* ========= Tour =========
   Base (phones, and any width without page.js): the four tab names, the copy of every tab, then the app window
   with every view stacked. With page.js (.v3-ws-live) only the open tab's copy and view are shown. */
.v3-root .v3-ws-tour{padding-top:var(--v3-sec)}
.v3-root .v3-ws-stage{position:relative}

/* tabs: two by two on phones, four in a row on tablets (as the homepage's tablet stepper), the margin stepper from 900 */
.v3-root .v3-ws-tabs{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}
.v3-root .v3-ws-tab{position:relative;padding:12px 0 16px;border-top:1px solid var(--v3-hair2)}
.v3-root .v3-ws-tab-hit,.v3-root .v3-ws-tab-prog{display:none}
.v3-root .v3-ws-tab-n{font-size:13px;line-height:20px;font-weight:500;letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--v3-muted)}
.v3-root .v3-ws-tab-t{margin-top:2px;font-size:18px;line-height:1.25;font-weight:600;letter-spacing:-.014em;color:var(--v3-ink)}
.v3-root .v3-ws-live .v3-ws-tab-hit{display:block;position:absolute;top:-6px;left:-6px;right:-6px;bottom:4px;z-index:3;border-radius:8px}
.v3-root .v3-ws-live .v3-ws-tab-prog{display:block;position:absolute;left:0;top:-1.5px;width:100%;height:2px;background:var(--v3-blue);transform:scaleX(0);transform-origin:0 50%}
.v3-root .v3-ws-live .v3-ws-tab.v3-ws-run .v3-ws-tab-prog{animation:v3-prog-x 5.2s linear forwards}
.v3-root .v3-ws-live.v3-ws-manual .v3-ws-tab.v3-ws-on .v3-ws-tab-prog{transform:scaleX(1);transition:transform .4s var(--v3-out)}
.v3-root .v3-ws-live .v3-ws-tab-n,.v3-root .v3-ws-live .v3-ws-tab-t{transition:color .3s ease-out}
.v3-root .v3-ws-live .v3-ws-tab-t{color:var(--v3-muted)}
.v3-root .v3-ws-live .v3-ws-tab:hover .v3-ws-tab-t,.v3-root .v3-ws-live .v3-ws-tab.v3-ws-on .v3-ws-tab-t{color:var(--v3-ink)}
.v3-root .v3-ws-live .v3-ws-tab.v3-ws-on .v3-ws-tab-n{color:var(--v3-blue)}

/* the copy of each tab (its heading, sentence and three points carry no classes of their own) */
.v3-root .v3-ws-copies{margin-top:28px}
.v3-root .v3-ws-cp + .v3-ws-cp{margin-top:56px}
.v3-root .v3-ws-cp h2{margin-left:-.03em;font-size:30px;line-height:1.1;font-weight:600;letter-spacing:-.022em;color:var(--v3-ink);text-wrap:balance}
.v3-root .v3-ws-cp p{max-width:31em;margin-top:14px;font-size:17px;line-height:1.5;letter-spacing:-.006em;color:var(--v3-text);text-wrap:pretty}
.v3-root .v3-ws-cp ul{margin-top:20px}
.v3-root .v3-ws-cp li{position:relative;padding:10px 0 11px 18px;border-top:1px solid var(--v3-hair);font-size:16px;line-height:24px;font-weight:500;letter-spacing:-.006em;color:var(--v3-ink);text-wrap:balance}
.v3-root .v3-ws-cp li::before{content:"";position:absolute;left:1px;top:21px;width:5px;height:5px;border-radius:50%;background:var(--v3-ink)}
.v3-root .v3-ws-live .v3-ws-copies{display:grid}
.v3-root .v3-ws-live .v3-ws-cp{grid-area:1 / 1;margin-top:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s ease-out,transform 0s linear .2s,visibility 0s linear .2s}
.v3-root .v3-ws-live .v3-ws-cp.v3-ws-on{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease-out .12s,transform .6s var(--v3-out) .12s,visibility 0s linear 0s}
/* the open panel takes focus after the tab list (page.js): the site's own ring */
.v3-root .v3-ws-cp:focus{outline:0}
.v3-root .v3-ws-cp:focus-visible{outline:2px solid var(--v3-blue);outline-offset:8px;border-radius:6px}

/* --------- The app window (an illustration, labelled for assistive technology) ---------
   The markup is kept lean: table cells, avatars and labels are styled by their position. */
/* nothing in the window works, so nothing in it reacts to the pointer, and its controls are drawn as quiet labels
   rather than in the page's own button and link styles */
.v3-root .v3-ws-app{position:relative;margin-top:32px;overflow:hidden;border:1px solid var(--v3-hair);border-radius:var(--v3-r);background:var(--v3-band);font-size:13px;line-height:1.4;letter-spacing:0;color:var(--v3-ink);cursor:default;pointer-events:none}
.v3-root .v3-ws-top{display:flex;align-items:center;gap:2px;height:48px;padding:0 10px 0 14px;color:var(--v3-text)}
.v3-root .v3-ws-lg{flex:none;width:76px;height:18px;margin-right:12px;background:url(https://cdn.prod.website-files.com/67daf695223996a51592cfec/6ac8219a7bea6cefb2c129a5_ddmind-logo-v2.svg) left center/contain no-repeat}
.v3-root .v3-ws-top > div:not(.v3-ws-lg):not(.v3-ws-me){padding:6px 10px;font-weight:500;white-space:nowrap}
.v3-root .v3-ws-top > .v3-ws-on{font-weight:600;color:var(--v3-ink)}
.v3-root .v3-ws-opt{display:none}
.v3-root .v3-ws-me{display:flex;align-items:center;gap:8px;margin-left:auto;font-weight:500;color:var(--v3-ink);white-space:nowrap}
.v3-root .v3-ws-me > div + div{display:none}
/* avatars: blue by default, green, amber or ink by class */
.v3-root :where(.v3-ws-av),.v3-root :where(.v3-ws-avs > div),.v3-root :where(.v3-ws-who > div:first-child){flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--v3-blue);color:#fff;font-size:9.5px;line-height:1;font-weight:600;letter-spacing:.02em}
.v3-root .v3-ws-g{background:#2B7A4B}
.v3-root .v3-ws-a{background:#8F6418}
.v3-root .v3-ws-k{background:var(--v3-ink)}
.v3-root .v3-ws-avs{display:flex}
.v3-root .v3-ws-avs > div{position:relative;margin-left:-3px;box-shadow:0 0 0 2px #fff}
.v3-root .v3-ws-avs > div:first-child{z-index:3;margin-left:0}
.v3-root .v3-ws-avs > div:nth-child(2){z-index:2}
.v3-root .v3-ws-body{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:0 8px 8px}
.v3-root .v3-ws-side{display:none}
.v3-root .v3-ws-panel,.v3-root .v3-ws-an{min-width:0;border:1px solid var(--v3-hair);border-radius:10px;background:#fff}
.v3-root .v3-ws-panel{padding:16px 14px 18px}
.v3-root .v3-ws-view + .v3-ws-view{margin-top:28px;padding-top:24px;border-top:1px solid var(--v3-hair)}
.v3-root .v3-ws-live .v3-ws-panel{display:grid}
.v3-root .v3-ws-live .v3-ws-view{grid-area:1 / 1;min-width:0;margin-top:0;padding-top:0;border-top:0;opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility 0s linear .2s}
.v3-root .v3-ws-live .v3-ws-view.v3-ws-on{opacity:1;visibility:visible;transition:opacity .45s ease-out .1s,visibility 0s linear 0s}
/* phones: one pane at a time; on the Analyst tab the Analyst pane takes the panel's place */
.v3-root .v3-ws-live .v3-ws-panel,.v3-root .v3-ws-live .v3-ws-an{grid-area:1 / 1}
.v3-root .v3-ws-live .v3-ws-an{opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility 0s linear .2s}
.v3-root .v3-ws-live .v3-ws-is-analyst .v3-ws-an{opacity:1;visibility:visible;transition:opacity .45s ease-out .1s,visibility 0s linear 0s}
.v3-root .v3-ws-live .v3-ws-is-analyst .v3-ws-panel{opacity:0;visibility:hidden;transition:opacity .2s ease-out,visibility 0s linear .2s}

/* panel heading: crumb and title, a count on the right */
.v3-root .v3-ws-ph{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:14px}
.v3-root .v3-ws-ph > div:first-child{min-width:0}
.v3-root .v3-ws-ph > div:first-child > div:first-child{font-size:12px;color:var(--v3-muted)}
.v3-root .v3-ws-ph > div:first-child > div + div{margin-top:2px;font-size:17px;line-height:1.2;font-weight:600;letter-spacing:-.016em}
.v3-root .v3-ws-ph > div + div{padding-bottom:2px;font-size:12px;color:var(--v3-muted);white-space:nowrap}

/* project list: project | type | team | updated | role (type and updated from 600) */
.v3-root .v3-ws-tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;column-gap:14px;align-items:center;padding:10px 0;border-top:1px solid #EEF0F3}
.v3-root .v3-ws-th{padding:0 0 9px;border-top:0;border-bottom:1px solid var(--v3-hair);font-size:12px;font-weight:500;color:var(--v3-muted)}
.v3-root .v3-ws-th + .v3-ws-tr{border-top:0}
.v3-root .v3-ws-tr > div{min-width:0}
.v3-root .v3-ws-tr > div:nth-child(2),.v3-root .v3-ws-tr > div:nth-child(4){display:none}
.v3-root .v3-ws-tr > div:nth-child(5){justify-self:end}
/* cells wrap rather than cut: where a column is narrow a name takes two lines and stays readable */
.v3-root .v3-ws-tr:not(.v3-ws-th) > div:first-child{font-weight:600;text-wrap:balance}
.v3-root .v3-ws-tr:not(.v3-ws-th) > div:nth-child(2),.v3-root .v3-ws-tr:not(.v3-ws-th) > div:nth-child(4){color:var(--v3-text)}
.v3-root .v3-ws-tr:not(.v3-ws-th) > div:nth-child(5){padding:2px 9px;border-radius:999px;background:var(--v3-band);font-size:11.5px;font-weight:500;color:var(--v3-text)}
.v3-root .v3-ws-tr:not(.v3-ws-th) > div.v3-ws-ow{background:#EEF0FB;color:var(--v3-blue)}

/* tasks: checkbox | task | adviser | owner (adviser and owner's name from 600) */
.v3-root .v3-ws-grp{padding:0 0 8px;border-bottom:1px solid var(--v3-hair);font-size:12px;font-weight:500;color:var(--v3-muted)}
.v3-root .v3-ws-grp.v3-ws-by-ai{display:flex;align-items:center;gap:8px;margin-top:18px;color:var(--v3-blue);border-bottom-color:#C5CAE2}
.v3-root .v3-ws-grp.v3-ws-by-ai::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--v3-blue)}
.v3-root .v3-ws-task{display:grid;grid-template-columns:16px minmax(0,1fr) auto;column-gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #EEF0F3}
.v3-root .v3-ws-task::before{content:"";width:16px;height:16px;border-radius:50%;border:1.5px solid var(--v3-hair2)}
.v3-root .v3-ws-task.v3-ws-new::before{border-color:#8E97D6}
.v3-root .v3-ws-task:last-child{border-bottom:0}
.v3-root .v3-ws-task > div:first-child{font-weight:500;text-wrap:balance}
.v3-root .v3-ws-task > div:nth-child(2){display:none;color:var(--v3-text);text-wrap:balance}
.v3-root .v3-ws-who{display:flex;align-items:center;gap:8px;color:var(--v3-text);white-space:nowrap}
.v3-root .v3-ws-who > div:first-child{width:22px;height:22px;font-size:9px}
.v3-root .v3-ws-who > div + div{display:none}

/* report: figure, calculation, source page */
.v3-root .v3-ws-trail{--v3-ws-tg:clamp(12px,3.4vw,24px);display:flex;align-items:center;gap:var(--v3-ws-tg);margin:-2px 0 16px;font-size:11.5px;font-weight:600}
.v3-root .v3-ws-trail > div{position:relative;padding:4px 9px;border-radius:999px;background:var(--v3-blue);color:#fff;white-space:nowrap;transition:background-color .4s ease-out,color .4s ease-out}
.v3-root .v3-ws-trail > div + div::before{content:"";position:absolute;right:calc(100% + 3px);top:50%;width:calc(var(--v3-ws-tg) - 6px);height:1px;background:#C9CDD8}
.v3-root .v3-ws-rep{display:flex;flex-wrap:wrap;gap:20px;align-items:flex-start}
.v3-root .v3-ws-rep-main{flex:1 1 260px;min-width:0}
.v3-root .v3-ws-rep-t{font-size:14.5px;font-weight:600;letter-spacing:-.01em}
.v3-root .v3-ws-rep-p{margin-top:6px;line-height:1.65;color:var(--v3-text)}
.v3-root .v3-ws-fig{position:relative;display:inline-block;margin-right:21px;padding:0 4px;border-radius:4px;background:#EEF0FB;font-weight:600;color:var(--v3-ink)}
/* the traced figure carries its marker, so the two never part across lines */
.v3-root .v3-ws-fig::after{content:"1";position:absolute;left:100%;top:50%;display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin:-8px 0 0 4px;border-radius:50%;background:var(--v3-blue);color:#fff;font-size:10px;line-height:1;font-weight:600}
.v3-root .v3-ws-cite,.v3-root .v3-ws-r > div:nth-child(3) > div + div{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;margin-left:3px;border-radius:50%;background:#EEF0FB;color:var(--v3-blue);font-size:10px;line-height:1;font-weight:600;vertical-align:1px}
.v3-root .v3-ws-bars{display:flex;align-items:flex-end;gap:10px;height:150px;margin-top:18px}
.v3-root .v3-ws-bars > div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;text-align:center;font-size:11.5px}
.v3-root .v3-ws-bars > div > div:first-child{padding-bottom:5px;font-weight:600;color:var(--v3-text)}
.v3-root .v3-ws-bars > div > div:nth-child(2){height:78px;border-radius:4px 4px 0 0;background:#C5CAE2}
.v3-root .v3-ws-bars > div > div:last-child{padding-top:6px;border-top:1px solid var(--v3-hair);color:var(--v3-muted)}
.v3-root .v3-ws-bars > div:nth-child(2) > div:nth-child(2){height:82px}
.v3-root .v3-ws-bars > div:nth-child(3) > div:nth-child(2){height:87px}
.v3-root .v3-ws-bars > div:nth-child(4) > div:nth-child(2){height:91px}
.v3-root .v3-ws-bars > div:nth-child(5) > div:nth-child(2){height:95px}
.v3-root .v3-ws-bars > div:nth-child(6) > div:nth-child(2){height:100px}
.v3-root .v3-ws-bars > div:nth-child(1) > div:nth-child(2),.v3-root .v3-ws-bars > div:nth-child(6) > div:nth-child(2){background:var(--v3-blue)}
.v3-root .v3-ws-bars > div:nth-child(1) > div:first-child,.v3-root .v3-ws-bars > div:nth-child(6) > div:first-child{color:var(--v3-blue)}
.v3-root .v3-ws-cap{margin-top:8px;font-size:11.5px;color:var(--v3-muted)}
.v3-root .v3-ws-tcol{position:relative;flex:1 1 230px;max-width:300px;min-width:0;display:flex;flex-direction:column;gap:12px}
.v3-root .v3-ws-calc,.v3-root .v3-ws-src{border:1px solid var(--v3-hair);border-radius:10px;background:#fff;transition:opacity .5s ease-out,transform .6s var(--v3-out)}
.v3-root .v3-ws-calc{padding:14px 14px 13px}
.v3-root .v3-ws-calc-hd{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600}
.v3-root .v3-ws-calc-hd::before{content:"1";flex:none;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--v3-blue);color:#fff;font-size:10px;line-height:1;font-weight:600}
.v3-root .v3-ws-f{display:flex;flex-wrap:wrap;gap:0 6px;margin-top:10px;padding:7px 9px;border-radius:7px;background:var(--v3-band);font-size:12px;font-variant-numeric:tabular-nums}
.v3-root .v3-ws-f > div + div{font-weight:600;color:var(--v3-blue)}
.v3-root .v3-ws-lab{margin-top:10px;font-size:11.5px;color:var(--v3-muted)}
.v3-root .v3-ws-inp{display:flex;justify-content:space-between;gap:12px;margin-top:5px;color:var(--v3-text)}
.v3-root .v3-ws-inp > div + div{font-weight:600;color:var(--v3-ink)}
.v3-root .v3-ws-src{padding:12px 14px 13px;background:#FCFCFD}
.v3-root .v3-ws-src-hd{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}
.v3-root .v3-ws-src-hd::before{content:"";flex:none;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='%231F2BB4' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 1.6h5l3 3v7.8H3z'/%3E%3Cpath d='M8 1.6v3h3M5 7.6h4M5 9.8h4'/%3E%3C/svg%3E") center/contain no-repeat}
.v3-root .v3-ws-src-hd > div:first-child{min-width:0;overflow-wrap:anywhere}
.v3-root .v3-ws-src-hd > div + div{margin-left:auto;font-weight:500;color:var(--v3-muted);white-space:nowrap}
/* the passage, set off like an excerpt of the page */
.v3-root .v3-ws-src-tx{margin-top:10px;padding-top:9px;border-top:1px solid #EEF0F3;font-size:12px;line-height:1.65;color:var(--v3-text)}
.v3-root .v3-ws-hl{padding:0 1px;font-weight:600;color:var(--v3-ink);background:linear-gradient(#FFE99A,#FFE99A) 0 62%/100% 62% no-repeat;transition:background-size .5s ease-out}
/* the trace plays (page.js): figure, then its calculation, then the source page */
.v3-root .v3-ws-view.v3-ws-tr0 .v3-ws-trail > div{background:var(--v3-band);color:var(--v3-muted)}
.v3-root .v3-ws-view.v3-ws-tr0.v3-ws-tr1 .v3-ws-ch1,.v3-root .v3-ws-view.v3-ws-tr0.v3-ws-tr2 .v3-ws-ch2,.v3-root .v3-ws-view.v3-ws-tr0.v3-ws-tr3 .v3-ws-ch3{background:var(--v3-blue);color:#fff}
.v3-root .v3-ws-view.v3-ws-tr0 .v3-ws-calc,.v3-root .v3-ws-view.v3-ws-tr0 .v3-ws-src{opacity:.25;transform:translateY(8px)}
.v3-root .v3-ws-view.v3-ws-tr0.v3-ws-tr2 .v3-ws-calc,.v3-root .v3-ws-view.v3-ws-tr0.v3-ws-tr3 .v3-ws-src{opacity:1;transform:none}
.v3-root .v3-ws-view.v3-ws-tr0 .v3-ws-hl{background-size:0% 62%}
.v3-root .v3-ws-view.v3-ws-tr0.v3-ws-tr3 .v3-ws-hl{background-size:100% 62%;transition-delay:.4s}
.v3-root .v3-ws-view.v3-ws-tr0.v3-ws-tr3 .v3-ws-hl + .v3-ws-hl{transition-delay:.7s}
.v3-root .v3-ws-view.v3-ws-tr0.v3-ws-tr1 .v3-ws-fig{animation:v3-ws-pulse .5s ease-out}
@keyframes v3-ws-pulse{50%{transform:scale(1.14)}}

/* versions: the unchecked change, the history, the table it changed */
.v3-root .v3-ws-change{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 8px 8px 12px;border-radius:10px;background:#FBF5E8;font-size:12.5px}
.v3-root .v3-ws-change > div:first-child{display:flex;align-items:center;gap:8px;font-weight:600;color:#7E5610}
.v3-root .v3-ws-change > div:first-child::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#B7791F}
.v3-root .v3-ws-change > div:nth-child(2){display:none;color:var(--v3-text)}
.v3-root .v3-ws-acts{display:flex;gap:6px;margin-left:auto}
.v3-root .v3-ws-acts > div{padding:3px 8px;border-radius:5px;background:rgba(255,255,255,.65);font-size:11.5px;font-weight:500;color:var(--v3-text)}
.v3-root .v3-ws-acts > div:first-child{font-weight:600;color:var(--v3-ink)}
.v3-root .v3-ws-hist{display:flex;flex-wrap:wrap;gap:16px 20px;align-items:flex-start;margin-top:16px}
.v3-root .v3-ws-vers{flex:1 1 100%;display:flex;flex-direction:column;gap:2px}
.v3-root .v3-ws-vers > div{display:flex;align-items:flex-start;gap:10px;padding:8px 9px;border-radius:8px}
.v3-root .v3-ws-vers > .v3-ws-cur{background:#EEF0FB}
.v3-root .v3-ws-vers > div > div:first-child{flex:none;width:18px;padding-top:1px;font-size:12px;font-weight:600;color:var(--v3-muted)}
.v3-root .v3-ws-vers > .v3-ws-cur > div:first-child{color:var(--v3-blue)}
.v3-root .v3-ws-vers > div > div + div > div:first-child{font-weight:600}
.v3-root .v3-ws-vers > div > div + div > div + div{margin-top:1px;font-size:12px;color:var(--v3-muted)}
.v3-root .v3-ws-kpc{flex:3 1 320px;min-width:0}
.v3-root .v3-ws-r{display:grid;grid-template-columns:minmax(0,1fr) 44px;column-gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid #EEF0F3}
.v3-root .v3-ws-r:last-child{border-bottom:0}
.v3-root .v3-ws-r > div:first-child{font-weight:500}
.v3-root .v3-ws-r.v3-ws-rh{padding-top:0;padding-bottom:9px;border-bottom-color:var(--v3-hair);font-size:12px;font-weight:500;color:var(--v3-muted)}
.v3-root .v3-ws-r.v3-ws-chg{border-radius:7px;border-bottom-color:transparent;background:#FBF5E8}
.v3-root .v3-ws-r > div:nth-child(3){display:flex;align-items:center;gap:4px;min-width:0;color:var(--v3-text)}
.v3-root .v3-ws-r > div:nth-child(3) > div:first-child{min-width:0;text-wrap:balance}
.v3-root .v3-ws-lv{width:7px;height:7px;border-radius:50%;background:var(--v3-blue);box-shadow:11px 0 0 var(--v3-blue),22px 0 0 var(--v3-blue)}
.v3-root .v3-ws-lv.v3-ws-lv2{box-shadow:11px 0 0 var(--v3-blue),22px 0 0 var(--v3-hair2)}
.v3-root .v3-ws-lv.v3-ws-lv1{box-shadow:11px 0 0 var(--v3-hair2),22px 0 0 var(--v3-hair2)}

/* the Analyst pane */
.v3-root .v3-ws-an{display:flex;flex-direction:column;padding:16px 14px 14px}
.v3-root .v3-ws-an-hd{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:600;letter-spacing:-.012em}
.v3-root .v3-ws-an-hd::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#2E9E58;box-shadow:0 0 0 3px #EAF4EE}
.v3-root .v3-ws-an-hd::after{content:"";flex:none;width:24px;height:24px;margin-left:auto;border-radius:7px;background:var(--v3-band) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 3.8v8.4M3.8 8h8.4' fill='none' stroke='%23454C63' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") center/13px no-repeat}
.v3-root .v3-ws-scope{display:flex;gap:5px;align-self:flex-start;max-width:100%;margin-top:12px;padding:4px 10px;border-radius:999px;background:var(--v3-band);font-size:11.5px;color:var(--v3-text);white-space:nowrap}
.v3-root .v3-ws-scope > div + div{font-weight:600;color:var(--v3-ink)}
.v3-root .v3-ws-msg{align-self:flex-end;max-width:94%;margin-top:14px;padding:9px 12px;border-radius:12px 12px 4px 12px;background:#EEF0FB;line-height:1.45}
.v3-root .v3-ws-work{display:flex;flex-direction:column;gap:6px;margin-top:14px;color:var(--v3-text)}
.v3-root .v3-ws-work > div{display:flex;align-items:center;gap:8px}
.v3-root .v3-ws-work > div::before{content:"";flex:none;width:13px;height:13px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.4 5.8 10 11 4.4' fill='none' stroke='%232E9E58' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.v3-root .v3-ws-res{display:flex;align-items:center;gap:10px;margin:14px 0 18px;padding:10px 12px;border:1px solid var(--v3-hair);border-radius:10px}
.v3-root .v3-ws-res::before{content:"";flex:none;width:26px;height:26px;border-radius:7px;background:#EEF0FB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%231F2BB4' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6.2l1.4 1.4L8 5M11 6.4h5M4 12.6l1.4 1.4L8 11.4M11 12.8h5'/%3E%3C/svg%3E") center/16px no-repeat}
.v3-root .v3-ws-res > div:first-child{min-width:0}
.v3-root .v3-ws-res > div:first-child > div:first-child{font-weight:600;white-space:nowrap}
.v3-root .v3-ws-res > div:first-child > div + div{margin-top:1px;font-size:11.5px;color:var(--v3-muted)}
.v3-root .v3-ws-res > div + div{margin-left:auto;font-size:12px;font-weight:500;color:var(--v3-muted)}
.v3-root .v3-ws-ask{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding:5px 5px 5px 14px;border:1px solid var(--v3-hair);border-radius:999px;color:var(--v3-muted);white-space:nowrap}
.v3-root .v3-ws-ask::after{content:"";flex:none;width:28px;height:28px;border-radius:50%;background:var(--v3-band) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 12.5v-9M4.2 7.2 8 3.4l3.8 3.8' fill='none' stroke='%23646B82' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat}
/* the Analyst at work: its steps and the tasks it adds come in one after the other (page.js) */
.v3-root .v3-ws-fresh .v3-ws-work > div,.v3-root .v3-ws-fresh .v3-ws-task.v3-ws-new{animation:v3-ws-slide .5s var(--v3-out) both}
.v3-root .v3-ws-fresh .v3-ws-work > div:nth-child(2),.v3-root .v3-ws-fresh .v3-ws-new + .v3-ws-new{animation-delay:.12s}
.v3-root .v3-ws-fresh .v3-ws-work > div:nth-child(3),.v3-root .v3-ws-fresh .v3-ws-new + .v3-ws-new + .v3-ws-new{animation-delay:.24s}
.v3-root .v3-ws-fresh .v3-ws-work > div:nth-child(4),.v3-root .v3-ws-fresh .v3-ws-new + .v3-ws-new + .v3-ws-new + .v3-ws-new{animation-delay:.36s}
.v3-root .v3-ws-fresh .v3-ws-work > div:nth-child(5){animation-delay:.48s}
@keyframes v3-ws-slide{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}

/* side bar: the project switcher, the project's sections (an icon each), the reports below */
.v3-root .v3-ws-proj{display:flex;align-items:center;gap:9px;margin-bottom:10px;padding:7px 9px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--v3-hair)}
.v3-root .v3-ws-proj > div:first-child{flex:none;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:var(--v3-ink);color:#fff;font-size:12.5px;font-weight:600}
.v3-root .v3-ws-proj > div + div{flex:1;min-width:0}
.v3-root .v3-ws-proj > div + div > div:first-child{font-weight:600;line-height:1.25}
.v3-root .v3-ws-proj > div + div > div + div{font-size:11px;line-height:1.25;color:var(--v3-muted)}
.v3-root .v3-ws-proj::after{content:"";flex:none;width:12px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath d='M3.2 6 6 3.2 8.8 6M3.2 10 6 12.8 8.8 10' fill='none' stroke='%23646B82' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.v3-root .v3-ws-si{display:flex;align-items:center;gap:9px;height:32px;padding:0 9px;border-radius:8px;font-weight:500;color:var(--v3-text);white-space:nowrap;transition:background-color .3s ease-out,color .3s ease-out}
.v3-root .v3-ws-si.v3-ws-on{background:#fff;color:var(--v3-ink);box-shadow:0 0 0 1px var(--v3-hair)}
.v3-root .v3-ws-si.v3-ws-par.v3-ws-on{background:transparent;box-shadow:none}
.v3-root .v3-ws-par::after{content:"";flex:none;width:6px;height:6px;margin:-3px 3px 0 auto;border-right:1.5px solid var(--v3-muted);border-bottom:1.5px solid var(--v3-muted);transform:rotate(45deg)}
.v3-root .v3-ws-sub{display:flex;flex-direction:column;gap:2px;margin:2px 0 6px 16px;padding-left:9px;border-left:1px solid var(--v3-hair2)}
.v3-root .v3-ws-sub > div{display:flex;align-items:center;height:28px;padding:0 9px;border-radius:7px;font-size:12.5px;color:var(--v3-text);white-space:nowrap;transition:background-color .3s ease-out,color .3s ease-out}
.v3-root .v3-ws-sub > div:last-child{color:var(--v3-muted)}
.v3-root .v3-ws-sub > div.v3-ws-on{background:#fff;font-weight:600;color:var(--v3-ink);box-shadow:0 0 0 1px var(--v3-hair)}
/* icons (side bar and the DDMind record): a mask in the text colour, blue when the row is active */
.v3-root .v3-ws-si::before,.v3-root .v3-ws-ddc-r::before{content:"";flex:none;width:16px;height:16px;background:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.v3-root .v3-ws-si.v3-ws-on::before,.v3-root .v3-ws-ddc-r.v3-ws-on::before{background:var(--v3-blue)}
.v3-root .v3-ws-ic-ov::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 2.5h4.4v4.4H2.5zM9.1 2.5h4.4v4.4H9.1zM2.5 9.1h4.4v4.4H2.5zM9.1 9.1h4.4v4.4H9.1z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 2.5h4.4v4.4H2.5zM9.1 2.5h4.4v4.4H9.1zM2.5 9.1h4.4v4.4H2.5zM9.1 9.1h4.4v4.4H9.1z'/%3E%3C/svg%3E")}
.v3-root .v3-ws-ic-tk::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.4 4.2l1.2 1.2 2-2.2M8.2 4.4h5.4M2.4 10.6l1.2 1.2 2-2.2M8.2 10.8h5.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.4 4.2l1.2 1.2 2-2.2M8.2 4.4h5.4M2.4 10.6l1.2 1.2 2-2.2M8.2 10.8h5.4'/%3E%3C/svg%3E")}
.v3-root .v3-ws-ic-rp::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 1.8h5.6l3.4 3.4v9H3.5z'/%3E%3Cpath d='M9 1.8v3.5h3.5M5.8 8.4h4.4M5.8 11h4.4'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 1.8h5.6l3.4 3.4v9H3.5z'/%3E%3Cpath d='M9 1.8v3.5h3.5M5.8 8.4h4.4M5.8 11h4.4'/%3E%3C/svg%3E")}
.v3-root .v3-ws-ic-qi::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 13.5h11M4.4 11V7.6M8 11V3.6M11.6 11V6'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 13.5h11M4.4 11V7.6M8 11V3.6M11.6 11V6'/%3E%3C/svg%3E")}
.v3-root .v3-ws-ic-fl::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.8 4.2c0-.7.5-1.2 1.2-1.2h3l1.5 1.7H13c.7 0 1.2.5 1.2 1.2v5.9c0 .7-.5 1.2-1.2 1.2H3c-.7 0-1.2-.5-1.2-1.2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.8 4.2c0-.7.5-1.2 1.2-1.2h3l1.5 1.7H13c.7 0 1.2.5 1.2 1.2v5.9c0 .7-.5 1.2-1.2 1.2H3c-.7 0-1.2-.5-1.2-1.2z'/%3E%3C/svg%3E")}

/* ========= Your own AI: the chat, the MCP line, the DDMind record ========= */
.v3-root .v3-ws-quiet{color:var(--v3-doubt)}
.v3-root .v3-ws-bridge{position:relative;margin-top:var(--v3-gap)}
.v3-root .v3-ws-chat{padding:16px 16px 18px;border:1px solid #E4E0D6;border-radius:var(--v3-r);background:#F6F4EE;font-size:15px;line-height:1.5;color:var(--v3-ink)}
.v3-root .v3-ws-chat-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(14,22,48,.1)}
.v3-root .v3-ws-chat-bar > div:first-child{font-size:15px;font-weight:600;letter-spacing:-.01em}
.v3-root .v3-ws-chat-bar > div + div{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;color:var(--v3-text);white-space:nowrap}
.v3-root .v3-ws-chat-bar > div + div::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#2E9E58}
.v3-root .v3-ws-u{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:88%;margin-left:auto;padding:9px 14px;border-radius:14px;background:#E9E5DA;font-size:14.5px;line-height:1.45}
.v3-root .v3-ws-u.v3-ws-late{margin-top:18px}
.v3-root .v3-ws-used{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13px;font-weight:500;color:var(--v3-blue)}
/* the DDMind mark beside every tool call and the log line */
.v3-root .v3-ws-used::before,.v3-root .v3-ws-from::before{content:"";flex:none;width:14px;height:14px;background:url(https://cdn.prod.website-files.com/67daf695223996a51592cfec/6ac8219a7bea6cefb2c129a5_ddmind-logo-v2.svg) 0 50%/auto 100% no-repeat}
.v3-root .v3-ws-say{margin-top:8px;font-size:15px;line-height:1.55;text-wrap:pretty}
.v3-root .v3-ws-tk{margin-top:10px;overflow:hidden;border:1px solid var(--v3-hair);border-radius:8px;background:#fff;font-size:13px}
.v3-root .v3-ws-tk > div{display:grid;grid-template-columns:52px minmax(0,1fr) 64px;column-gap:10px;padding:8px 11px;border-top:1px solid #EEF0F3}
.v3-root .v3-ws-tk > div.v3-ws-tk-h{border-top:0;background:#FAFAFB;font-size:12px;font-weight:600}
.v3-root .v3-ws-tk > div.v3-ws-tk-more{display:block;font-size:12px;color:var(--v3-muted)}
.v3-root .v3-ws-from{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12.5px;color:var(--v3-muted)}
/* the connection: one dotted line, a node where it meets each side, the protocol named on it */
.v3-root .v3-ws-link{position:relative;height:96px}
.v3-root .v3-ws-link-line{position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:repeating-linear-gradient(180deg,var(--v3-blue) 0 3px,transparent 3px 7px)}
.v3-root .v3-ws-link::before,.v3-root .v3-ws-link::after{content:"";position:absolute;left:50%;width:7px;height:7px;margin-left:-3.5px;border-radius:50%;background:var(--v3-blue)}
.v3-root .v3-ws-link::before{top:-3.5px}
.v3-root .v3-ws-link::after{bottom:-3.5px}
.v3-root .v3-ws-link-p{position:absolute;z-index:2;left:50%;top:50%;padding:4px 10px;background:var(--v3-band);font-size:12px;line-height:16px;font-weight:600;letter-spacing:.12em;color:var(--v3-ink);transform:translate(-50%,-50%)}
.v3-root .v3-ws-pulse{display:none}
.v3-root .v3-ws-ddc{padding:14px 8px 6px;border:1px solid var(--v3-hair);border-radius:var(--v3-r);background:#fff;font-size:14px;color:var(--v3-ink)}
.v3-root .v3-ws-ddc-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 8px 10px;font-size:13px;font-weight:600;color:var(--v3-text)}
.v3-root .v3-ws-ddc-hd::before{content:"";flex:none;width:84px;height:20px;background:url(https://cdn.prod.website-files.com/67daf695223996a51592cfec/6ac8219a7bea6cefb2c129a5_ddmind-logo-v2.svg) left center/contain no-repeat}
.v3-root .v3-ws-ddc-r{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;font-weight:500;color:var(--v3-text)}
.v3-root .v3-ws-ddc-r + .v3-ws-ddc-r{margin-top:4px}
.v3-root .v3-ws-ddc-r.v3-ws-on{color:var(--v3-ink);box-shadow:inset 0 0 0 1px var(--v3-blue)}
.v3-root .v3-ws-ddc-r > div:first-child{min-width:0}
.v3-root .v3-ws-ddc-r > div + div{margin-left:auto;font-size:12.5px;color:var(--v3-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.v3-root .v3-ws-ddc-r > div.v3-ws-tag{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--v3-blue)}
.v3-root .v3-ws-ddc-log{display:flex;align-items:center;gap:8px;margin-top:8px;padding:12px 10px 10px;border-top:1px solid var(--v3-hair);font-size:12.5px;line-height:1.4;color:var(--v3-text);text-wrap:pretty}
.v3-root .v3-ws-ddc-log::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:#2E9E58}
.v3-root .v3-ws-ddc-log + .v3-ws-ddc-log{margin-top:0;padding-top:0;border-top:0}
.v3-root .v3-ws-clients{display:flex;flex-wrap:wrap;margin-top:24px;font-size:14px;line-height:20px;color:var(--v3-muted)}
.v3-root .v3-ws-clients > li + li::before{content:"\00B7";margin:0 8px}
/* the second exchange waits until the exhibit is in view (page.js), then follows the first */
.v3-root .v3-ws-late{transition:opacity .5s ease-out,transform .6s var(--v3-out),visibility 0s linear 0s}
.v3-root .v3-ws-bridge.v3-ws-wait .v3-ws-late:not(.v3-ws-shown){opacity:0;visibility:hidden;transform:translateY(8px);transition:none}
/* in the DDMind record the new lines make room for themselves as they arrive */
.v3-root .v3-ws-ddc .v3-ws-late{max-height:80px;transition:opacity .5s ease-out .15s,transform .6s var(--v3-out) .15s,max-height .45s var(--v3-out),margin .45s var(--v3-out),padding .45s var(--v3-out),visibility 0s linear 0s}
.v3-root .v3-ws-bridge.v3-ws-wait .v3-ws-ddc .v3-ws-late:not(.v3-ws-shown){max-height:0;margin-top:0;padding-top:0;padding-bottom:0;overflow:hidden}
.v3-root .v3-ws-pulse.v3-ws-go-dd{display:block;animation:v3-ws-down .9s ease-in-out both}
.v3-root .v3-ws-pulse.v3-ws-go-cl{display:block;animation:v3-ws-up .9s ease-in-out both}
.v3-root .v3-ws-pulse{position:absolute;left:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--v3-blue);box-shadow:0 0 0 3px rgba(31,43,180,.16)}
@keyframes v3-ws-down{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:100%;opacity:0}}
@keyframes v3-ws-up{0%{top:100%;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:0;opacity:0}}
@keyframes v3-ws-right{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
@keyframes v3-ws-left{0%{left:100%;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:0;opacity:0}}

/* ========= Phones ========= */
@media (max-width:599.98px){
  .v3-root .v3-ws-hero .v3-h1{font-size:clamp(44px,calc(var(--v3-w) / 5.6),62px)}
  /* hero and tour are both white: less air between them than between two bands */
  .v3-root .v3-ws-tour{padding-top:40px}
  /* The window on phones. All four views share one height (the tallest), so switching tabs never moves the page;
     each view is kept compact enough that none of them leaves a hole: the type of project goes under its name,
     the report keeps its trace but not its chart, the versions sit side by side. */
  .v3-root .v3-ws-tr:not(.v3-ws-th) > div:nth-child(2){display:block;grid-column:1;grid-row:2;margin-top:1px;font-size:12px;line-height:16px}
  .v3-root .v3-ws-tr > div:nth-child(1){grid-column:1;grid-row:1}
  .v3-root .v3-ws-tr > div:nth-child(3){grid-column:2;grid-row:1 / span 2}
  .v3-root .v3-ws-tr > div:nth-child(5){grid-column:3;grid-row:1 / span 2}
  .v3-root .v3-ws-bars,.v3-root .v3-ws-cap{display:none}
  .v3-root .v3-ws-rep{gap:14px}
  .v3-root .v3-ws-tcol{max-width:none;gap:10px}
  .v3-root .v3-ws-calc{padding:12px 12px 11px}
  .v3-root .v3-ws-src{padding:11px 12px 12px}
  .v3-root .v3-ws-vers{flex-direction:row;gap:4px}
  .v3-root .v3-ws-vers > div{flex:1 1 0;min-width:0;flex-direction:column;gap:1px;padding:7px 8px}
  .v3-root .v3-ws-vers > div > div + div > div:first-child{font-size:12.5px;line-height:1.3}
  .v3-root .v3-ws-vers > div > div + div > div + div{font-size:11.5px;line-height:1.35}
  .v3-root .v3-ws-hist{margin-top:12px;gap:12px}
  .v3-root .v3-ws-r{padding:8px 6px}
}
/* the narrowest phones: the three steps of the trace still fit on one line */
@media (max-width:359.98px){
  .v3-root .v3-ws-trail{--v3-ws-tg:10px}
  .v3-root .v3-ws-trail > div{padding:4px 7px;font-size:10.5px}
}

/* ========= Tablet and up (600) ========= */
@media (min-width:600px){
  .v3-root .v3-ws-h1{font-size:calc(var(--v3-w) / 10.95)}
  .v3-root .v3-ws-hero-cta{flex:0 0 auto;margin-top:20px}
  .v3-root .v3-ws-hero-cta .v3-btn{width:auto}
  .v3-root .v3-ws-hero-grid.v3-ws-filmon .v3-ws-hero-cta{margin-top:12px}

  .v3-root .v3-ws-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
  .v3-root .v3-ws-tab{padding:16px 0 26px}
  .v3-root .v3-ws-tab-t{font-size:20px}
  .v3-root .v3-ws-copies{margin-top:36px}
  .v3-root .v3-ws-cp h2{font-size:clamp(34px,calc(var(--v3-w) / 17),42px);line-height:1.06}
  .v3-root .v3-ws-cp p{margin-top:18px;font-size:19px}
  .v3-root .v3-ws-cp ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;margin-top:28px}
  .v3-root .v3-ws-cp li{padding:12px 0 0;font-size:15px;line-height:22px}
  .v3-root .v3-ws-cp li::before{display:none}
  .v3-root .v3-ws-app{margin-top:40px;font-size:13.5px}
  .v3-root .v3-ws-top{height:52px;padding:0 14px 0 18px}
  .v3-root .v3-ws-lg{width:84px;height:20px;margin-right:18px}
  .v3-root .v3-ws-opt,.v3-root .v3-ws-me > div + div{display:block}
  .v3-root .v3-ws-body{gap:10px;padding:0 10px 10px}
  .v3-root .v3-ws-panel{padding:20px 22px 22px}
  .v3-root .v3-ws-ph > div:first-child > div + div{font-size:19px}
  .v3-root .v3-ws-tr{grid-template-columns:minmax(0,1.5fr) minmax(0,1.2fr) minmax(0,.8fr) minmax(0,.7fr) auto}
  .v3-root .v3-ws-tr > div:nth-child(2),.v3-root .v3-ws-tr > div:nth-child(4){display:block}
  .v3-root .v3-ws-task{grid-template-columns:16px minmax(0,1.6fr) minmax(0,1fr) 104px;column-gap:14px}
  .v3-root .v3-ws-task > div:nth-child(2),.v3-root .v3-ws-who > div + div{display:block}
  .v3-root .v3-ws-r{grid-template-columns:minmax(0,.9fr) 50px minmax(0,1.1fr)}
  .v3-root .v3-ws-change > div:nth-child(2){display:block}
  .v3-root .v3-ws-vers{flex:1 1 140px;max-width:160px}

  .v3-root .v3-ws-chat{padding:20px 24px 22px}
  .v3-root .v3-ws-tk > div{grid-template-columns:62px minmax(0,1fr) 80px}
  .v3-root .v3-ws-ddc{padding:16px 10px 6px}
}

/* from 800: the Analyst pane sits beside the panel */
@media (min-width:800px){
  .v3-root .v3-ws-body{grid-template-columns:minmax(0,1fr) clamp(224px,24vw,276px)}
  .v3-root .v3-ws-live .v3-ws-panel{grid-area:auto}
  .v3-root .v3-ws-live .v3-ws-an,.v3-root .v3-ws-live .v3-ws-is-analyst .v3-ws-an{grid-area:auto;opacity:1;visibility:visible;transition:none}
  .v3-root .v3-ws-live .v3-ws-is-analyst .v3-ws-panel{opacity:1;visibility:visible;transition:none}
}

/* ========= Desktop (900): exhibit | gutter | margin ========= */
@media (min-width:900px){
  /* the film takes the height of the window that is left after the nav, the headline and the progress row
     (nav 64 + 20 + headline + 24 + film + row 28 + 16 spare); the headline is sized from the film's width */
  .v3-root .v3-ws-hero{
    --v3-fx:calc((100vh - 152px) * 1.5195);
    --v3-fw:min(var(--v3-main),max(min(var(--v3-main),520px),calc(var(--v3-fx) + clamp(0px,calc((var(--v3-fx) - var(--v3-main) + 20px) * 999),20px))));
    padding-bottom:clamp(80px,8.9vw,128px);
  }
  .v3-root .v3-ws-h1{font-size:calc(var(--v3-fw) / 10.88)}
  .v3-root .v3-ws-hero-grid{display:grid;grid-template-columns:var(--v3-fw) minmax(0,1fr);column-gap:var(--v3-gut);align-items:start;margin-top:24px}
  .v3-root .v3-ws-hero-side{grid-column:2;grid-row:1;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;max-width:var(--v3-mw)}
  .v3-root .v3-ws-note{flex:none;max-width:13.4em;margin-top:-5px;font-size:20px;line-height:28px;letter-spacing:-.014em}
  .v3-root .v3-ws-film{grid-column:1;grid-row:1;margin-top:0}
  .v3-root.v3-ready .v3-ws-film-row{grid-column:1;grid-row:2}
  .v3-root .v3-ws-hero-cta,.v3-root .v3-ws-hero-grid.v3-ws-filmon .v3-ws-hero-cta{flex:none;margin-top:24px}
  /* no film (no script): the note and the button stand under the headline, and the hero is only as tall as they are */
  .v3-root .v3-ws-hero-grid:has(> .v3-ws-film:empty){grid-template-columns:minmax(0,1fr)}
  .v3-root .v3-ws-hero-grid:has(> .v3-ws-film:empty) .v3-ws-hero-side{grid-column:1}
  .v3-root .v3-ws-hero:has(.v3-ws-film:empty){min-height:0}
  .v3-root .v3-ws-trace{display:block;position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none}
  /* the line leaves from under the full stop, as on the homepage, never across it */
  .v3-root .v3-ws-h1{position:relative;z-index:2}
  .v3-root .v3-ws-trace-svg{position:absolute;top:0;left:0;display:block;overflow:visible}
  .v3-root .v3-ws-t-line{fill:none;stroke-width:1;transition:stroke-dashoffset 1.4s var(--v3-out)}
  .v3-root .v3-ws-t-tick{fill:none;stroke:var(--v3-blue);stroke-width:1;transition:stroke-dashoffset .5s var(--v3-out)}
  .v3-root .v3-ws-t-node{fill:var(--v3-blue);opacity:0;transition:opacity .4s ease-out}
  .v3-root .v3-ws-t-join{fill:none;stroke-width:1;opacity:0}
  .v3-root .v3-ws-t-join.v3-ws-lit{opacity:1}
  .v3-root .v3-ws-t-node.v3-ws-lit{opacity:1}

  /* tour: the copy of the open tab in the main column, the tabs as the margin stepper, the window below across both.
     Hero and tour are both white, with no band change between them: half a section pad of air is enough */
  .v3-root .v3-ws-tour{padding-top:calc(var(--v3-sec) * .5)}
  .v3-root .v3-ws-stage{display:grid;grid-template-columns:var(--v3-main) minmax(0,var(--v3-mw));column-gap:var(--v3-gut);align-items:start}
  .v3-root .v3-ws-tabs{grid-column:2;grid-row:1;align-self:stretch;display:flex;flex-direction:column;column-gap:0}
  .v3-root .v3-ws-tab{flex:1 1 0;min-height:64px;padding:0 0 16px;border-top:0}
  .v3-root .v3-ws-tab-t{margin-top:4px;font-size:clamp(20px,1.65vw,24px);line-height:1.15;letter-spacing:-.018em}
  .v3-root .v3-ws-copies{grid-column:1;grid-row:1;margin-top:0}
  .v3-root .v3-ws-cp h2{font-size:clamp(34px,calc(var(--v3-main) / 19.5),48px);line-height:1.05}
  .v3-root .v3-ws-cp p{margin-top:20px;font-size:clamp(18px,1.45vw,21px)}
  .v3-root .v3-ws-cp ul{column-gap:32px;margin-top:32px}
  .v3-root .v3-ws-cp li{font-size:16px;line-height:24px}
  .v3-root .v3-ws-app{grid-column:1 / -1;grid-row:2;margin-top:var(--v3-gap)}
  /* the stepper on its gutter line, which runs on into the top edge of the window */
  .v3-root .v3-ws-live .v3-ws-tabs::before{content:"";position:absolute;left:calc(var(--v3-gut) / -2 - .5px);top:-40px;bottom:calc(var(--v3-gap) * -1);width:1px;background:linear-gradient(rgba(197,202,226,0),var(--v3-line) 40px)}
  .v3-root .v3-ws-live.v3-ws-joined .v3-ws-tabs::before{top:-40px;background:var(--v3-line)}
  .v3-root .v3-ws-live .v3-ws-tabs::after{content:"";position:absolute;left:calc(var(--v3-gut) / -2 - 3.5px);bottom:calc(var(--v3-gap) * -1 - 3.5px);z-index:4;width:7px;height:7px;border-radius:50%;background:var(--v3-blue)}
  .v3-root .v3-ws-live .v3-ws-tab::before{content:"";position:absolute;left:calc(var(--v3-gut) / -2 - 4.5px);top:5.5px;width:9px;height:9px;border:1.5px solid var(--v3-blue);border-radius:50%;background:#fff;transition:background-color .3s ease-out}
  .v3-root .v3-ws-live .v3-ws-tab.v3-ws-on::before{background:var(--v3-blue)}
  .v3-root .v3-ws-live .v3-ws-tab::after{content:"";position:absolute;left:calc(var(--v3-gut) * -1);top:9.5px;width:calc(var(--v3-gut) / 2 - 4.5px);height:1px;background:var(--v3-blue);transform:scaleX(0);transform-origin:100% 50%;transition:transform .4s var(--v3-out)}
  .v3-root .v3-ws-live .v3-ws-tab.v3-ws-on::after{transform:none}
  .v3-root .v3-ws-live .v3-ws-tab-hit{top:-6px;left:calc(var(--v3-gut) / -2 - 12px);right:0;bottom:6px}
  .v3-root .v3-ws-live .v3-ws-tab-prog{left:calc(var(--v3-gut) / -2 - 1px);top:10px;width:2px;height:100%;transform:scaleY(0);transform-origin:50% 0}
  .v3-root .v3-ws-live .v3-ws-tab:last-child .v3-ws-tab-prog{height:calc(100% - 10px + var(--v3-gap))}
  .v3-root .v3-ws-live .v3-ws-tab.v3-ws-run .v3-ws-tab-prog{animation-name:v3-prog-y}
  .v3-root .v3-ws-live.v3-ws-manual .v3-ws-tab.v3-ws-on .v3-ws-tab-prog{transform:scaleY(1)}

  /* own AI: the chat in the main column, the MCP line across the gutter, the DDMind record in the margin */
  .v3-root .v3-ws-bridge{display:grid;grid-template-columns:calc(var(--v3-main) * .62) minmax(0,1fr) minmax(0,var(--v3-mw));align-items:center}
  .v3-root .v3-ws-link{height:24px}
  .v3-root .v3-ws-link-line{left:0;right:0;top:50%;bottom:auto;width:auto;height:1px;margin:-.5px 0 0;background:repeating-linear-gradient(90deg,var(--v3-blue) 0 3px,transparent 3px 7px)}
  .v3-root .v3-ws-link::before,.v3-root .v3-ws-link::after{top:50%;bottom:auto;margin:-3.5px 0 0}
  .v3-root .v3-ws-link::before{left:-3.5px}
  .v3-root .v3-ws-link::after{left:auto;right:-3.5px}
  .v3-root .v3-ws-link-p{left:calc(50% - var(--v3-gut) / 2)}
  .v3-root .v3-ws-pulse{top:50%;left:0}
  .v3-root .v3-ws-pulse.v3-ws-go-dd{animation-name:v3-ws-right}
  .v3-root .v3-ws-pulse.v3-ws-go-cl{animation-name:v3-ws-left}
  .v3-root .v3-ws-chat{padding:22px 28px 24px}
  .v3-root .v3-ws-clients{max-width:calc(var(--v3-main) * .62);margin-top:28px}
  /* With page.js the line leaves from the tool call that reads DDMind ("Reading tasks from DDMind"), runs
     across the chat and over MCP, and arrives at the record it read (Tasks), as on the homepage a claim is
     tied to its source. page.js measures the two rows and sets --v3-ws-ly and --v3-ws-cy. */
  .v3-root .v3-ws-bridge.v3-ws-aligned{align-items:start}
  .v3-root .v3-ws-bridge.v3-ws-aligned .v3-ws-link{margin-top:calc(var(--v3-ws-ly) - 12px)}
  .v3-root .v3-ws-bridge.v3-ws-aligned .v3-ws-ddc{margin-top:var(--v3-ws-cy)}
  .v3-root .v3-ws-bridge.v3-ws-aligned .v3-ws-used-1::after{content:"";flex:1 1 auto;min-width:16px;height:1px;margin:0 -29px 0 6px;background:var(--v3-blue)}
}

/* where the column for the copy is narrow, the three points stack as on phones instead of breaking into three
   short lines each */
@media (min-width:600px) and (max-width:759.98px),(min-width:900px) and (max-width:999.98px){
  .v3-root .v3-ws-cp ul{display:block;margin-top:24px}
  .v3-root .v3-ws-cp li{padding:10px 0 11px 18px;font-size:16px;line-height:24px}
  .v3-root .v3-ws-cp li::before{display:block}
}

/* from 1240: the project sidebar, except on the project list, which sits outside any project */
@media (min-width:1240px){
  .v3-root .v3-ws-body{grid-template-columns:clamp(172px,13.5vw,200px) minmax(0,1fr) clamp(244px,19.5vw,280px)}
  .v3-root .v3-ws-side{display:flex;flex-direction:column;gap:2px;min-width:0;padding-top:2px;overflow:hidden}
  .v3-root .v3-ws-live .v3-ws-is-projects .v3-ws-body{grid-template-columns:minmax(0,1fr) clamp(244px,19.5vw,280px)}
  .v3-root .v3-ws-live .v3-ws-is-projects .v3-ws-side{display:none}
}

@media (min-width:1440px){
  .v3-root .v3-ws-note{max-width:12.6em;font-size:24px;line-height:30px;letter-spacing:-.016em}
}

/* ========= Reduced motion: everything in its final state ========= */
@media (prefers-reduced-motion:reduce){
  .v3-root .v3-ws-live .v3-ws-cp,.v3-root .v3-ws-live .v3-ws-cp.v3-ws-on,.v3-root .v3-ws-live .v3-ws-view,.v3-root .v3-ws-live .v3-ws-view.v3-ws-on,.v3-root .v3-ws-live .v3-ws-an,.v3-root .v3-ws-live .v3-ws-panel{transition:none}
  .v3-root .v3-ws-live .v3-ws-tab-prog,.v3-root .v3-ws-live .v3-ws-tab::after,.v3-root .v3-ws-live .v3-ws-tab::before,.v3-root .v3-ws-late,.v3-root .v3-ws-calc,.v3-root .v3-ws-src,.v3-root .v3-ws-hl,.v3-root .v3-ws-trail > div,.v3-root .v3-ws-si,.v3-root .v3-ws-sub > div{transition:none}
  .v3-root .v3-ws-live .v3-ws-tab.v3-ws-run .v3-ws-tab-prog,.v3-root .v3-ws-fresh .v3-ws-work > div,.v3-root .v3-ws-fresh .v3-ws-task.v3-ws-new,.v3-root .v3-ws-pulse,.v3-root .v3-ws-view.v3-ws-tr0.v3-ws-tr1 .v3-ws-fig{animation:none}
  .v3-root .v3-ws-t-line,.v3-root .v3-ws-t-tick,.v3-root .v3-ws-t-node,.v3-root .v3-ws-ddc .v3-ws-late{transition:none}
}

/* Windows contrast themes: the parts drawn with a background colour keep their colours */
@media (forced-colors:active){
  .v3-root .v3-ws-tab::before,.v3-root .v3-ws-tab-prog,.v3-root .v3-ws-link-line,.v3-root .v3-ws-link::before,.v3-root .v3-ws-link::after,.v3-root .v3-ws-si::before,.v3-root .v3-ws-ddc-r::before{forced-color-adjust:none}
  .v3-root .v3-ws-live .v3-ws-tab.v3-ws-on .v3-ws-tab-t{text-decoration:underline}
}
