/* DropZoom design system B: DropZoom teal on Geist structure. The one stylesheet for every first-party page (the Inter font faces live in fonts.css, loaded before this sheet).
   Component classes are ds- prefixed. Spec: docs/superpowers/specs/2026-10-09-design-system-b.md */

/* ---- Tokens: colour. Light is the default; the dark set is written twice (OS preference when no choice is stored, and an explicit choice) and a test keeps the two identical. ---- */
:root{
  color-scheme:light;
  --ds-bg:#f7f9f8; --ds-surface:#ffffff; --ds-surface-2:#f0f4f2;
  --ds-border:#dde5e1; --ds-control-border:#758a83;
  --ds-text:#102a2b; --ds-text-muted:#526967;
  --ds-primary:#087f72; --ds-primary-hover:#06675d; --ds-on-primary:#ffffff;
  --ds-accent-text:#06675d; --ds-accent-soft:#e3f4f0; --ds-focus:#087f72;
  --ds-success:#0a7d33; --ds-success-soft:#e9f8ee; --ds-warn:#9a5100; --ds-warn-soft:#fff4e0; --ds-danger:#b42318; --ds-danger-soft:#fdeceb;
  --ds-shadow:0 1px 2px rgba(16,42,43,.05),0 4px 12px rgba(16,42,43,.06); --ds-shadow-lg:0 8px 30px rgba(16,42,43,.18);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme]){
    color-scheme:dark;
    --ds-bg:#0c0f0e; --ds-surface:#121816; --ds-surface-2:#18211f;
    --ds-border:#26332f; --ds-control-border:#5f756e;
    --ds-text:#f2f6f4; --ds-text-muted:#a9bdb6;
    --ds-primary:#74e0c1; --ds-primary-hover:#9aead3; --ds-on-primary:#0a2a24;
    --ds-accent-text:#74e0c1; --ds-accent-soft:#0f2a24; --ds-focus:#74e0c1;
    --ds-success:#4ade80; --ds-success-soft:#07230f; --ds-warn:#f5a524; --ds-warn-soft:#2a1b00; --ds-danger:#ffb4ab; --ds-danger-soft:#2d0f0c;
    --ds-shadow:0 0 0 1px #26332f; --ds-shadow-lg:0 8px 30px rgba(0,0,0,.6);
  }
}
:root[data-theme=dark]{
  color-scheme:dark;
  --ds-bg:#0c0f0e; --ds-surface:#121816; --ds-surface-2:#18211f;
  --ds-border:#26332f; --ds-control-border:#5f756e;
  --ds-text:#f2f6f4; --ds-text-muted:#a9bdb6;
  --ds-primary:#74e0c1; --ds-primary-hover:#9aead3; --ds-on-primary:#0a2a24;
  --ds-accent-text:#74e0c1; --ds-accent-soft:#0f2a24; --ds-focus:#74e0c1;
  --ds-success:#4ade80; --ds-success-soft:#07230f; --ds-warn:#f5a524; --ds-warn-soft:#2a1b00; --ds-danger:#ffb4ab; --ds-danger-soft:#2d0f0c;
  --ds-shadow:0 0 0 1px #26332f; --ds-shadow-lg:0 8px 30px rgba(0,0,0,.6);
}
:root[data-theme=light]{color-scheme:light}

/* ---- Tokens: type, space, radius, motion. 4px space scale; the type scale is size/line-height pairs. ---- */
:root{
  --ds-font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ds-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --ds-fs-12:12px; --ds-lh-12:16px; --ds-fs-13:13px; --ds-lh-13:20px; --ds-fs-14:14px; --ds-lh-14:20px;
  --ds-fs-16:16px; --ds-lh-16:24px; --ds-fs-20:20px; --ds-lh-20:28px; --ds-fs-24:24px; --ds-lh-24:32px; --ds-fs-32:32px; --ds-lh-32:40px; --ds-fs-48:48px; --ds-lh-48:56px;
  --ds-s-1:4px; --ds-s-2:8px; --ds-s-3:12px; --ds-s-4:16px; --ds-s-5:20px; --ds-s-6:24px; --ds-s-8:32px; --ds-s-10:40px; --ds-s-12:48px; --ds-s-16:64px;
  --ds-r-sm:6px; --ds-r-md:8px; --ds-r-lg:12px; --ds-r-pill:999px;
  --ds-bw:1px; --ds-focus-ring:2px solid var(--ds-focus); --ds-focus-offset:2px;
  --ds-control-h:40px; --ds-control-h-sm:32px; --ds-hit:44px;
  --ds-content:1080px; --ds-content-narrow:640px;
  --ds-ease:160ms ease-out;
}

/* ---- Base: reset, type, links, focus. Every page is on the system, so these are global. ---- */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--ds-s-8);background:var(--ds-bg)}
body{margin:0;min-height:100dvh;background:var(--ds-bg);color:var(--ds-text);font:400 var(--ds-fs-14)/var(--ds-lh-14) var(--ds-font);font-synthesis:none;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
fieldset{border:0;margin:0;padding:0;min-inline-size:0}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:var(--ds-font);font-weight:600;letter-spacing:-.01em;margin:0;text-wrap:balance}
h1{font-size:var(--ds-fs-24);line-height:var(--ds-lh-24);letter-spacing:-.02em}
h2{font-size:var(--ds-fs-20);line-height:var(--ds-lh-20)}
h3{font-size:var(--ds-fs-16);line-height:var(--ds-lh-16)}
h4{font-size:var(--ds-fs-14);line-height:var(--ds-lh-14)}
p{margin:0}
a{color:var(--ds-accent-text);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
code,pre,kbd{font-family:var(--ds-mono)}
code{overflow-wrap:anywhere}
:focus-visible{outline:var(--ds-focus-ring);outline-offset:var(--ds-focus-offset);border-radius:var(--ds-r-sm)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ds-skip{position:absolute;z-index:60;left:var(--ds-s-4);top:-100px;background:var(--ds-primary);color:var(--ds-on-primary);padding:var(--ds-s-3) var(--ds-s-4);border-radius:var(--ds-r-md);font-weight:500}
.ds-skip:focus{top:var(--ds-s-3)}

/* ---- Chrome: header, nav, footer, page widths ---- */
.ds-header{width:min(var(--ds-content),calc(100% - 2*var(--ds-s-4)));margin-inline:auto;min-height:56px;display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-s-2) var(--ds-s-4);padding-block:var(--ds-s-2);border-bottom:var(--ds-bw) solid var(--ds-border)}
.ds-brand{display:inline-flex;align-items:center;text-decoration:none;flex:none}
.ds-brand img{height:28px;width:auto;max-width:min(170px,42vw)}
.ds-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-s-1)}
.ds-nav__link{padding:6px 10px;min-height:32px;display:inline-flex;align-items:center;border-radius:var(--ds-r-md);text-decoration:none;color:var(--ds-text-muted);font-weight:500}
.ds-nav__link:hover,.ds-nav__link[aria-current=page]{color:var(--ds-text);background:var(--ds-surface-2)}
.ds-nav--end{margin-left:auto}
.ds-header .ds-theme{margin-left:auto}
.ds-nav--end+.ds-theme{margin-left:0}
.ds-main{width:min(var(--ds-content),calc(100% - 2*var(--ds-s-4)));margin-inline:auto;padding-block:var(--ds-s-8) var(--ds-s-12)}
.ds-main--form{max-width:760px}
.ds-main--read{max-width:760px}
.ds-footer{width:min(var(--ds-content),calc(100% - 2*var(--ds-s-4)));margin:var(--ds-s-8) auto 0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--ds-s-2) var(--ds-s-5);padding:var(--ds-s-5) 0 var(--ds-s-8);border-top:var(--ds-bw) solid var(--ds-border);color:var(--ds-text-muted);font-size:var(--ds-fs-12);line-height:var(--ds-lh-12)}
.ds-footer a{color:inherit;text-decoration:none}
.ds-footer a:hover{text-decoration:underline}
.ds-footer .ds-brand img{height:24px}
.ds-footer__links{display:flex;flex-wrap:wrap;gap:var(--ds-s-1) var(--ds-s-4)}
.ds-footer__release{margin-left:auto;font-variant-numeric:tabular-nums}
@media (max-width:760px){.ds-main{padding-block:var(--ds-s-5) var(--ds-s-8)}}
@media (max-width:760px){.ds-nav{order:3;flex:1 1 100%;margin-inline:calc(-1*var(--ds-s-2))}.ds-nav--end{margin-left:calc(-1*var(--ds-s-2))}.ds-header .ds-theme{order:2}.ds-nav__link{padding-inline:var(--ds-s-2)}}
.ds-main--narrow{max-width:var(--ds-content-narrow);padding-block:var(--ds-s-8) var(--ds-s-12)}
@media (max-width:760px){.ds-main--narrow{padding-block:var(--ds-s-5) var(--ds-s-8)}}
.ds-stack{display:grid;gap:var(--ds-s-4)}
.ds-stack--lg{display:grid;gap:var(--ds-s-6)}
.ds-cluster{display:flex;flex-wrap:wrap;gap:var(--ds-s-2);align-items:center}
.ds-muted{color:var(--ds-text-muted)}
.ds-meta{font-size:var(--ds-fs-12);line-height:var(--ds-lh-12);color:var(--ds-text-muted)}
.ds-eyebrow{font-size:var(--ds-fs-13);line-height:var(--ds-lh-13);color:var(--ds-text-muted);font-weight:500;letter-spacing:0}
.ds-mono{font-family:var(--ds-mono)}
.ds-link{font-weight:500}
.ds-linkbtn{background:none;border:0;padding:0;font:inherit;font-weight:500;color:var(--ds-accent-text);text-decoration:underline;text-underline-offset:3px;cursor:pointer;min-height:24px}
.ds-code{display:block;padding:var(--ds-s-3) var(--ds-s-4);background:var(--ds-surface-2);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-md);font:400 var(--ds-fs-13)/20px var(--ds-mono);color:var(--ds-text);overflow-wrap:anywhere;white-space:pre-wrap}
code.ds-code{background:var(--ds-surface-2);color:var(--ds-text)}

/* ---- Button ---- */
.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--ds-s-2);min-height:var(--ds-hit);padding:0 var(--ds-s-4);border-radius:var(--ds-r-md);border:var(--ds-bw) solid var(--ds-control-border);background:var(--ds-surface);color:var(--ds-text);font:500 var(--ds-fs-14)/var(--ds-lh-14) var(--ds-font);cursor:pointer;text-decoration:none;transition:background-color var(--ds-ease),border-color var(--ds-ease),transform var(--ds-ease)}
.ds-btn:hover{background:var(--ds-surface-2)}
.ds-btn:active{transform:scale(.98)}
.ds-btn--primary{background:var(--ds-primary);border-color:var(--ds-primary);color:var(--ds-on-primary)}
.ds-btn--primary:hover{background:var(--ds-primary-hover);border-color:var(--ds-primary-hover)}
.ds-btn--ghost{border-color:transparent;background:transparent;color:var(--ds-accent-text)}
.ds-btn--ghost:hover{background:var(--ds-surface-2)}
.ds-btn--danger{color:var(--ds-danger);border-color:var(--ds-danger)}
.ds-btn--danger:hover{background:var(--ds-danger-soft)}
.ds-btn--sm{min-height:var(--ds-control-h-sm);padding:0 var(--ds-s-3);font-size:var(--ds-fs-13)}
.ds-btn--block{width:100%}
.ds-btn:disabled,.ds-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.ds-btn:disabled:active{transform:none}
.ds-btn:disabled:hover{background:var(--ds-surface)}
.ds-btn--primary:disabled:hover{background:var(--ds-primary)}
@media (max-width:760px){.ds-btn--sm{min-height:var(--ds-hit)}}

/* ---- Input, field, checkbox ---- */
.ds-field{display:grid;gap:6px;min-width:0}
.ds-label{display:block;font-size:var(--ds-fs-13);line-height:var(--ds-lh-13);font-weight:500;margin:0}
.ds-label .ds-opt{color:var(--ds-text-muted);font-weight:400}
.ds-input{width:100%;min-height:var(--ds-hit);padding:0 var(--ds-s-3);border:var(--ds-bw) solid var(--ds-control-border);border-radius:var(--ds-r-md);background:var(--ds-surface);color:var(--ds-text);font:400 var(--ds-fs-14)/var(--ds-lh-14) var(--ds-font)}
.ds-input::placeholder{color:var(--ds-text-muted);opacity:1}
.ds-input:focus-visible{outline:var(--ds-focus-ring);outline-offset:0;border-color:var(--ds-focus)}
.ds-input[aria-invalid=true]{border-color:var(--ds-danger)}
.ds-hint{font-size:var(--ds-fs-12);line-height:var(--ds-lh-12);color:var(--ds-text-muted)}
.ds-hint--error{color:var(--ds-danger)}
.ds-check{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--ds-s-3);align-items:start;padding:var(--ds-s-3);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-md);background:var(--ds-surface);cursor:pointer;margin:0}
.ds-check:has(input:checked){border-color:var(--ds-control-border);background:var(--ds-surface-2)}
.ds-check:has(input:focus-visible){outline:var(--ds-focus-ring);outline-offset:var(--ds-focus-offset)}
.ds-check input{width:18px;height:18px;min-height:0;margin:1px 0 0;accent-color:var(--ds-primary)}
.ds-check__title{font-size:var(--ds-fs-14);line-height:var(--ds-lh-14);font-weight:500;color:var(--ds-text)}
.ds-check__desc{display:block;color:var(--ds-text-muted);font-size:var(--ds-fs-13);line-height:var(--ds-lh-13);margin-top:2px;font-weight:400}
.ds-pwd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ds-s-2)}
.ds-form-row{display:flex;flex-wrap:wrap;align-items:end;gap:var(--ds-s-3)}
.ds-form-row>.ds-field{flex:1 1 220px}
.ds-form-row>.ds-btn{flex:0 0 auto}

/* ---- Card, section ---- */
.ds-card{background:var(--ds-surface);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-lg);box-shadow:var(--ds-shadow);min-width:0}
.ds-card__head{padding:var(--ds-s-5) var(--ds-s-6) var(--ds-s-4);display:grid;gap:var(--ds-s-1)}
.ds-card__body{padding:var(--ds-s-5) var(--ds-s-6);display:grid;gap:var(--ds-s-4)}
.ds-card__head+.ds-card__body{padding-top:var(--ds-s-2)}
.ds-card__foot{padding:var(--ds-s-4) var(--ds-s-6);border-top:var(--ds-bw) solid var(--ds-border);background:var(--ds-bg);border-radius:0 0 var(--ds-r-lg) var(--ds-r-lg);display:grid;gap:var(--ds-s-3)}
.ds-card__status{padding:0 var(--ds-s-6) var(--ds-s-5)}
.ds-card__status:has(>.ds-status:empty){padding:0;height:0;overflow:hidden}
.ds-card__rule{border:0;border-top:var(--ds-bw) solid var(--ds-border);margin:0}
.ds-section{display:grid;gap:var(--ds-s-4);min-width:0}
.ds-section__head{display:grid;gap:var(--ds-s-1)}
.ds-section__head p{color:var(--ds-text-muted)}
.ds-section--danger .ds-card{border-color:var(--ds-danger)}

/* ---- Account shell: side nav on wide screens, scrollable tabs on a phone. The nav items are links to section anchors. ---- */
.ds-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--ds-s-8);align-items:start}
.ds-sidenav{display:grid;gap:2px;position:sticky;top:var(--ds-s-4)}
.ds-sidenav__link{display:flex;justify-content:space-between;align-items:center;padding:8px var(--ds-s-3);min-height:var(--ds-hit);border-radius:var(--ds-r-md);color:var(--ds-text-muted);font-weight:500;text-decoration:none}
.ds-sidenav__link:hover{background:var(--ds-surface-2);color:var(--ds-text)}
.ds-sidenav__link[aria-current=page]{background:var(--ds-surface-2);color:var(--ds-text)}
.ds-pane{display:grid;gap:var(--ds-s-6);min-width:0}
.ds-pane[hidden]{display:none}
.ds-account-wide{max-width:var(--ds-content)}
.ds-account-narrow{max-width:680px}
.ds-workspace{width:100%;max-width:680px;margin-inline:auto}
.ds-workspace:has(#view-account:not([hidden])){max-width:var(--ds-content)}
.ds-page-head{display:grid;gap:var(--ds-s-1);margin-bottom:var(--ds-s-6)}
.ds-page-head p{color:var(--ds-text-muted)}
.ds-statusbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--ds-s-3);margin-bottom:var(--ds-s-6)}
@media (max-width:760px){
  .ds-shell{grid-template-columns:minmax(0,1fr);gap:var(--ds-s-4)}
  .ds-sidenav{position:static;display:flex;gap:var(--ds-s-5);overflow-x:auto;border-bottom:var(--ds-bw) solid var(--ds-border);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .ds-sidenav__link:focus-visible{outline-offset:-2px}
  .ds-sidenav__link{border-radius:0;padding:10px 0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none!important;white-space:nowrap;flex:0 0 auto}
  .ds-sidenav__link[aria-current=page]{border-bottom-color:var(--ds-accent-text);color:var(--ds-text)}
  .ds-card__head,.ds-card__body,.ds-card__foot,.ds-card__status{padding-inline:var(--ds-s-4)}
  .ds-main--narrow{padding-block:var(--ds-s-5) var(--ds-s-8)}
}

/* ---- List rows. A list is `ul.ds-list` (usually also a card); its items are rows, whether the page renders them or dashboard.mjs builds them at run time.
   Title, meta and actions are classed children; the actions sit to the right on a normal list and below on `ds-list--wide` (and on a phone). ---- */
.ds-list{list-style:none;margin:0;padding:0}
.ds-list>li,.ds-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--ds-s-1) var(--ds-s-4);align-items:center;padding:var(--ds-s-3) var(--ds-s-5);border-top:var(--ds-bw) solid var(--ds-border)}
.ds-list>li:first-child,.ds-row:first-child{border-top:0}
.ds-row__title{font-weight:500;overflow-wrap:anywhere;color:var(--ds-text)}
.ds-row__url{overflow-wrap:anywhere}
.ds-row__meta{grid-column:1;color:var(--ds-text-muted);font-size:var(--ds-fs-13);line-height:var(--ds-lh-13);overflow-wrap:anywhere}
.ds-row__aside{grid-column:2;grid-row:1;color:var(--ds-text-muted);font-size:var(--ds-fs-13);white-space:nowrap}
.ds-row__actions{grid-column:2;grid-row:1/span 2;display:flex;flex-wrap:wrap;gap:var(--ds-s-2);margin:0}
.ds-list>li>*:not(.ds-row__title):not(.ds-row__url):not(.ds-row__meta):not(.ds-row__aside):not(.ds-row__actions){grid-column:1/-1}
.ds-list>li>.ds-row__url{grid-column:1}
.ds-list>li>.ds-badge,.ds-list .ds-badge{justify-self:start}
.ds-list--wide>li{grid-template-columns:minmax(0,1fr)}
.ds-list--wide>li>*{grid-column:1}
.ds-list--wide .ds-row__actions{grid-column:1;grid-row:auto;margin-top:var(--ds-s-2)}
@media (max-width:760px){
  .ds-list>li,.ds-row{grid-template-columns:minmax(0,1fr);padding-inline:var(--ds-s-4)}
  .ds-list>li>*{grid-column:1}
  .ds-row__aside{grid-row:auto}
  .ds-row__actions{grid-column:1;grid-row:auto;margin-top:var(--ds-s-2)}
}
.ds-card__body>.ds-list:not(.ds-card){margin-inline:calc(-1*var(--ds-s-6))}
@media (max-width:760px){.ds-card__body>.ds-list:not(.ds-card){margin-inline:calc(-1*var(--ds-s-4))}}
.ds-card__body>.ds-muted+.ds-muted{margin-top:calc(-1*var(--ds-s-2))}
.ds-feedback{list-style:none;margin:var(--ds-s-2) 0 0;padding:0;display:grid;gap:var(--ds-s-2)}
.ds-feedback>li{display:grid;gap:var(--ds-s-1);padding:var(--ds-s-3);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-md);background:var(--ds-surface-2)}
.ds-feedback .ds-row__actions{margin-top:var(--ds-s-1)}
.ds-btn.ds-feedback-badge{justify-self:start;color:var(--ds-accent-text);background:var(--ds-accent-soft);border-color:transparent}
.ds-files{list-style:none;margin:var(--ds-s-2) 0 0;padding:0}
.ds-files__row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--ds-s-1) var(--ds-s-3);align-items:center;padding:var(--ds-s-2) 0;border-top:var(--ds-bw) solid var(--ds-border)}
.ds-files__name{overflow-wrap:anywhere}
.ds-files__size{color:var(--ds-text-muted);font-size:var(--ds-fs-12);white-space:nowrap}
@media (max-width:760px){.ds-files__row{grid-template-columns:minmax(0,1fr) auto}.ds-files__row>.ds-btn{grid-column:1/-1;justify-self:start}}

/* ---- Badge ---- */
.ds-badge{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:var(--ds-r-pill);font-size:var(--ds-fs-12);font-weight:500;background:var(--ds-surface-2);border:var(--ds-bw) solid var(--ds-border);color:var(--ds-text-muted);white-space:nowrap}
.ds-badge::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.ds-badge--ok{color:var(--ds-success);background:var(--ds-success-soft);border-color:transparent}
.ds-badge--warn{color:var(--ds-warn);background:var(--ds-warn-soft);border-color:transparent}
.ds-badge--err{color:var(--ds-danger);background:var(--ds-danger-soft);border-color:transparent}
.ds-badge--accent{color:var(--ds-accent-text);background:var(--ds-accent-soft);border-color:transparent}

/* ---- Notice (banner). The icon is a text glyph so it never depends on colour alone. ---- */
.ds-notice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--ds-s-3);align-items:start;padding:var(--ds-s-3) var(--ds-s-4);border-radius:var(--ds-r-md);border:var(--ds-bw) solid var(--ds-border);background:var(--ds-surface-2)}
.ds-notice__icon{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:12px;font-weight:700;background:var(--ds-text);color:var(--ds-bg)}
.ds-notice__title{font-weight:600}
.ds-notice__body{color:var(--ds-text-muted);font-size:var(--ds-fs-13);line-height:var(--ds-lh-13);margin-top:2px}
.ds-notice__body strong{color:var(--ds-text)}
.ds-notice__actions{grid-column:2;display:flex;gap:var(--ds-s-2);flex-wrap:wrap;margin-top:var(--ds-s-2)}
.ds-notice--info .ds-notice__icon{background:var(--ds-primary);color:var(--ds-on-primary)}
.ds-notice--ok{background:var(--ds-success-soft);border-color:transparent}.ds-notice--ok .ds-notice__icon{background:var(--ds-success);color:var(--ds-bg)}
.ds-notice--warn{background:var(--ds-warn-soft);border-color:transparent}.ds-notice--warn .ds-notice__icon{background:var(--ds-warn);color:var(--ds-bg)}
.ds-notice--err{background:var(--ds-danger-soft);border-color:transparent}.ds-notice--err .ds-notice__icon{background:var(--ds-danger);color:var(--ds-bg)}
.ds-notice--warn .ds-notice__body,.ds-notice--err .ds-notice__body,.ds-notice--ok .ds-notice__body{color:var(--ds-text)}
#agent-banner{padding:0;border:0;margin:0}
#agent-banner>.ds-banner-item{padding:var(--ds-s-4);border-radius:var(--ds-r-md);background:var(--ds-warn-soft);border:var(--ds-bw) solid var(--ds-warn);display:grid;gap:var(--ds-s-3)}
#agent-banner p{color:var(--ds-text)}
.ds-card--danger{border-color:var(--ds-danger)}
.ds-panes{display:grid;gap:var(--ds-s-6);min-width:0}
.ds-details>summary{cursor:pointer;font-weight:500;padding:var(--ds-s-3) var(--ds-s-4);min-height:var(--ds-hit);display:flex;align-items:center;gap:var(--ds-s-2);list-style:none}
.ds-details>summary::-webkit-details-marker{display:none}
.ds-details>summary::after{content:"+";margin-left:auto;font-size:var(--ds-fs-20);line-height:1;font-weight:400;color:var(--ds-text-muted)}
.ds-details[open]>summary::after{content:"−"}
.ds-details.ds-card>summary{padding-inline:var(--ds-s-6)}
.ds-details[open]>summary{border-bottom:var(--ds-bw) solid var(--ds-border)}
.ds-details:not(.ds-card)>summary{padding-inline:0;color:var(--ds-text-muted)}
.ds-details:not(.ds-card)[open]>summary{border-bottom:0}
.ds-details:not(.ds-card)>:not(summary){margin-top:var(--ds-s-2)}
.ds-details summary .ds-opt{color:var(--ds-text-muted);font-weight:400}

/* ---- Dialog (native <dialog>), toast, empty state ---- */
.ds-dialog{max-width:420px;width:calc(100% - 32px);padding:0;border-radius:var(--ds-r-lg);background:var(--ds-surface);color:var(--ds-text);border:var(--ds-bw) solid var(--ds-border);box-shadow:var(--ds-shadow-lg)}
.ds-dialog::backdrop{background:rgba(0,0,0,.5)}
.ds-toast{display:flex;gap:var(--ds-s-3);align-items:center;justify-content:space-between;max-width:380px;padding:var(--ds-s-3) var(--ds-s-4);border-radius:var(--ds-r-md);background:var(--ds-text);color:var(--ds-bg);box-shadow:var(--ds-shadow-lg)}
.ds-toast--err{background:var(--ds-danger);color:var(--ds-bg)}
.ds-empty{display:grid;justify-items:center;text-align:center;gap:var(--ds-s-2);padding:var(--ds-s-8) var(--ds-s-4);border:var(--ds-bw) dashed var(--ds-control-border);border-radius:var(--ds-r-lg);background:var(--ds-bg)}
.ds-empty__title{font-weight:600}
.ds-empty__text{color:var(--ds-text-muted)}
.ds-fallback{display:none}
.ds-pane [hidden]+.ds-fallback{display:grid}

/* ---- Status line (role=status). dashboard.mjs and consent JS toggle .error on it. ---- */
.ds-status{min-height:1.4em;color:var(--ds-text)}
.ds-status:empty{min-height:0}
.ds-status.error{color:var(--ds-danger);font-weight:500}
.ds-status.error::before{content:"! ";font-weight:700}
.ds-conn{color:var(--ds-text-muted);font-size:var(--ds-fs-13)}
.ds-conn.connected{color:var(--ds-success)}
.ds-conn.error{color:var(--ds-danger)}
.ds-conn::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:var(--ds-s-2)}

/* ---- Theme switch (light / dark / system). Buttons carry aria-pressed; theme-switch.js sets it. ---- */
.ds-theme{display:inline-flex;border:var(--ds-bw) solid var(--ds-control-border);border-radius:var(--ds-r-md);overflow:hidden;margin-left:auto}
.ds-theme__btn{min-height:32px;padding:0 var(--ds-s-3);border:0;background:var(--ds-surface);color:var(--ds-text-muted);font:500 var(--ds-fs-12)/var(--ds-lh-12) var(--ds-font);cursor:pointer}
.ds-theme__btn+.ds-theme__btn{border-left:var(--ds-bw) solid var(--ds-border)}
.ds-theme__btn:hover{background:var(--ds-surface-2);color:var(--ds-text)}
.ds-theme__btn[aria-pressed=true]{background:var(--ds-primary);color:var(--ds-on-primary)}
.ds-theme__btn:focus-visible{outline-offset:-2px}
.ds-wm{display:block}
.ds-challenge{display:grid;gap:var(--ds-s-2)}
.ds-wm--dark{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme]) .ds-wm--light{display:none}:root:not([data-theme]) .ds-wm--dark{display:block}}
:root[data-theme=dark] .ds-wm--light{display:none}
:root[data-theme=dark] .ds-wm--dark{display:block}

/* ---- Consent card ---- */
.ds-consent-app{display:grid;gap:var(--ds-s-1)}
.ds-consent-app strong{overflow-wrap:anywhere}
.ds-consent-list{display:grid;gap:var(--ds-s-2)}
.ds-consent-actions{display:flex;flex-wrap:wrap;gap:var(--ds-s-3);align-items:center}
.ds-consent-actions .ds-btn--primary{flex:1 1 220px}
#reviewer-box{display:grid;gap:var(--ds-s-3);padding-top:var(--ds-s-4);border-top:var(--ds-bw) solid var(--ds-border)}

/* ---- Page structure shared by the app pages ---- */
.ds-view{min-width:0}
.ds-fieldset{display:grid;gap:var(--ds-s-4)}
.ds-lead{font-size:var(--ds-fs-16);line-height:var(--ds-lh-16);color:var(--ds-text-muted)}
.ds-identity{font-weight:600;color:var(--ds-accent-text)}
.ds-page-head h1{font-size:var(--ds-fs-32);line-height:var(--ds-lh-32);letter-spacing:-.02em}
@media (max-width:760px){.ds-page-head h1{font-size:var(--ds-fs-24);line-height:var(--ds-lh-24)}}
.ds-split{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-s-3)}
.ds-grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-s-4)}
.ds-twocol{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:var(--ds-s-6);align-items:start}
@media (max-width:800px){.ds-grid2,.ds-twocol{grid-template-columns:minmax(0,1fr)}#owner-identity{display:none}}
.ds-textarea{display:block;min-height:160px;padding:var(--ds-s-3);resize:vertical;line-height:var(--ds-lh-14)}
.ds-textarea--mono{min-height:240px;font-family:var(--ds-mono);font-size:var(--ds-fs-13);white-space:pre-wrap;overflow-wrap:anywhere}
.ds-points{margin:0;padding-left:var(--ds-s-5);color:var(--ds-text-muted);display:grid;gap:var(--ds-s-1)}
.ds-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--ds-s-1) var(--ds-s-3);margin:0;font-size:var(--ds-fs-13);color:var(--ds-text-muted)}
.ds-facts dt{font-weight:600}
.ds-facts dd{margin:0;overflow-wrap:anywhere}
@media (max-width:520px){.ds-facts{grid-template-columns:minmax(0,1fr)}.ds-facts dd{margin-bottom:var(--ds-s-2)}}
.ds-thanks:focus{outline:none}
.ds-summary{padding:var(--ds-s-3) var(--ds-s-4);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-md);background:var(--ds-surface-2);display:grid;gap:var(--ds-s-1)}
.ds-sitelink{display:block;font-weight:600;font-size:var(--ds-fs-16);line-height:var(--ds-lh-16);overflow-wrap:anywhere}
.ds-warning{font-weight:600}
.ds-offer{display:grid;gap:var(--ds-s-2);border-top:var(--ds-bw) solid var(--ds-border);padding-top:var(--ds-s-4);margin-top:var(--ds-s-2)}
.ds-offer p{color:var(--ds-text-muted)}
.ds-doc{display:grid;gap:var(--ds-s-4)}
.ds-doc h2{margin-top:var(--ds-s-4)}
.ds-doc>p>a.ds-btn{margin-top:var(--ds-s-1)}
.ds-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--ds-s-2);min-height:clamp(168px,28vh,260px);padding:var(--ds-s-6) var(--ds-s-4);border:1.5px dashed var(--ds-control-border);border-radius:var(--ds-r-lg);background:var(--ds-surface-2)}
.ds-drop__mark{font-size:24px;line-height:1;color:var(--ds-text-muted)}
.ds-drop #selection{font-size:var(--ds-fs-16)}
.ds-drop__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--ds-s-2);margin-top:var(--ds-s-1)}
.ds-picker{position:relative}
.ds-picker__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.ds-picker:has(.ds-picker__input:focus-visible){outline:var(--ds-focus-ring);outline-offset:var(--ds-focus-offset)}
.ds-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--ds-s-6);background:color-mix(in srgb,var(--ds-bg) 88%,transparent);backdrop-filter:blur(2px)}
.ds-overlay__card{width:100%;max-width:440px;text-align:center;padding:var(--ds-s-8);border:2px dashed var(--ds-primary);border-radius:var(--ds-r-lg);background:var(--ds-surface);box-shadow:var(--ds-shadow-lg)}
.ds-overlay__card .ds-drop__mark{color:var(--ds-accent-text);font-size:32px}
.ds-overlay__title{font-size:var(--ds-fs-20);line-height:var(--ds-lh-20);font-weight:600;margin:var(--ds-s-2) 0 var(--ds-s-1)}
.ds-challenge__label{margin:0 0 var(--ds-s-2)}
.ds-challenge__label[data-state=complete]::before{content:"✓ ";font-weight:600}
.ds-challenge__label[data-state=expired]::before,.ds-challenge__label[data-state=error]::before{content:"! ";font-weight:600}
.ds-challenge__label[data-state=complete]{color:var(--ds-success)}
.ds-challenge__label[data-state=expired],.ds-challenge__label[data-state=error]{color:var(--ds-danger)}
.ds-progress{display:grid;gap:var(--ds-s-1);padding:var(--ds-s-3) var(--ds-s-4);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-md);background:var(--ds-surface-2)}
.ds-progress__phase{font-weight:600}
.ds-progress progress{width:100%;accent-color:var(--ds-primary)}
.ds-card>.ds-progress,.ds-card__body>.ds-progress{margin:0}

/* ---- Prose: legal pages, What's new, public docs ---- */
.ds-prose{font-size:var(--ds-fs-16);line-height:var(--ds-lh-16)}
.ds-prose h1{font-size:var(--ds-fs-32);line-height:var(--ds-lh-32);letter-spacing:-.02em;margin:0 0 var(--ds-s-4)}
.ds-prose h2{font-size:var(--ds-fs-20);line-height:var(--ds-lh-20);margin:var(--ds-s-8) 0 var(--ds-s-2)}
.ds-prose h3{font-size:var(--ds-fs-16);line-height:var(--ds-lh-16);margin:var(--ds-s-6) 0 var(--ds-s-1)}
.ds-prose p,.ds-prose ul,.ds-prose ol{margin:0 0 var(--ds-s-4)}
.ds-prose ul,.ds-prose ol{padding-left:var(--ds-s-6)}
.ds-prose li{margin-bottom:6px}
.ds-prose .ds-eyebrow{margin-bottom:var(--ds-s-2)}
.ds-prose .ds-meta{margin:calc(-1*var(--ds-s-1)) 0 var(--ds-s-2)}
.ds-prose code{font-size:.9em;background:var(--ds-surface-2);border:var(--ds-bw) solid var(--ds-border);border-radius:4px;padding:1px 5px}
.ds-prose pre{margin:0 0 var(--ds-s-5);padding:var(--ds-s-4);background:var(--ds-surface-2);color:var(--ds-text);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-md);overflow-x:auto;font-size:var(--ds-fs-13);line-height:22px}
.ds-prose pre code{background:none;border:0;border-radius:0;padding:0;font-size:inherit;white-space:pre;overflow-wrap:normal}
.ds-prose table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:0 0 var(--ds-s-5);font-size:var(--ds-fs-14);line-height:var(--ds-lh-14)}
.ds-prose th,.ds-prose td{text-align:left;vertical-align:top;padding:var(--ds-s-2) var(--ds-s-3);border-bottom:var(--ds-bw) solid var(--ds-border)}
.ds-prose th{font-weight:600;border-bottom-color:var(--ds-control-border)}
.ds-prose .align-center{text-align:center}
.ds-prose .align-right{text-align:right}
.ds-prose blockquote{margin:0 0 var(--ds-s-4);padding:var(--ds-s-1) var(--ds-s-4);border-left:3px solid var(--ds-primary)}
.ds-prose hr{border:0;border-top:var(--ds-bw) solid var(--ds-border);margin:var(--ds-s-8) 0}
.ds-error{padding-block:var(--ds-s-16)}
.ds-error h1{font-size:var(--ds-fs-48);line-height:var(--ds-lh-48);letter-spacing:-.03em;margin:var(--ds-s-5) 0}
.ds-error p{color:var(--ds-text-muted);margin-bottom:var(--ds-s-6)}
.ds-docs{flex:1 0 auto;width:min(var(--ds-content),calc(100% - 2*var(--ds-s-4)));margin-inline:auto;display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--ds-s-10);padding-block:var(--ds-s-8) var(--ds-s-12)}
.ds-docs__nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px;position:sticky;top:var(--ds-s-4)}
.ds-docs__nav a{display:flex;align-items:center;min-height:36px;padding:6px var(--ds-s-3);border-radius:var(--ds-r-md);color:var(--ds-text-muted);font-weight:500;text-decoration:none}
.ds-docs__nav a:hover{color:var(--ds-text);background:var(--ds-surface-2)}
.ds-docs__nav a[aria-current=page]{color:var(--ds-text);background:var(--ds-surface-2);box-shadow:inset 3px 0 0 var(--ds-primary)}
.ds-docs__content{max-width:780px;min-width:0}
@media (max-width:760px){.ds-docs{grid-template-columns:minmax(0,1fr);gap:var(--ds-s-4);padding-block:var(--ds-s-5) var(--ds-s-8)}.ds-docs__nav ul{position:static;display:flex;flex-wrap:wrap;gap:var(--ds-s-1) var(--ds-s-2)}}

/* ---- Marketing: homepage and Teams ---- */
.ds-wrap{width:min(var(--ds-content),calc(100% - 2*var(--ds-s-4)));margin-inline:auto}
.ds-marketing{font-size:var(--ds-fs-16);line-height:var(--ds-lh-16)}
.ds-marketing h2{font-size:var(--ds-fs-32);line-height:var(--ds-lh-32);letter-spacing:-.02em}
.ds-marketing h3{font-size:var(--ds-fs-20);line-height:var(--ds-lh-20)}
.ds-heading{display:grid;gap:var(--ds-s-3);align-content:start}
.ds-heading p:not(.ds-eyebrow){color:var(--ds-text-muted);max-width:340px}
.ds-cluster--lg{gap:var(--ds-s-3) var(--ds-s-5)}
.ds-dot{width:8px;height:8px;border-radius:50%;background:var(--ds-primary);flex:none}
.ds-eyebrow:has(.ds-dot){display:flex;align-items:center;gap:var(--ds-s-2)}
.ds-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--ds-s-12);align-items:center;padding-block:var(--ds-s-16) var(--ds-s-12)}
.ds-hero--single{grid-template-columns:minmax(0,760px)}
.ds-hero h1{font-size:var(--ds-fs-48);line-height:var(--ds-lh-48);letter-spacing:-.03em}
.ds-hero__copy{display:grid;gap:var(--ds-s-5);justify-items:start}
.ds-hero__copy .ds-lead{max-width:520px}
.ds-hero__art{margin:0;display:grid;gap:var(--ds-s-4);padding:var(--ds-s-5);background:var(--ds-surface-2);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-lg);box-shadow:var(--ds-shadow)}
.ds-hero__visual{position:relative}
.ds-hero__art img{width:100%;height:auto;border-radius:var(--ds-r-md)}
.ds-hero__chip{position:absolute;right:4%;top:9%;display:inline-flex;align-items:center;gap:var(--ds-s-2);max-width:92%;padding:var(--ds-s-2) var(--ds-s-3);border-radius:var(--ds-r-md);background:var(--ds-surface);color:var(--ds-text);box-shadow:var(--ds-shadow-lg);font:600 12px/1 var(--ds-mono);white-space:nowrap}
.ds-hero__chip svg{width:16px;height:16px;flex:none}
.ds-usecases{display:grid;gap:var(--ds-s-4);padding-block:var(--ds-s-8);border-block:var(--ds-bw) solid var(--ds-border)}
.ds-usecases__list{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ds-s-5);padding:0;margin:0}
.ds-usecases__list li{display:grid;gap:var(--ds-s-2);align-content:start;font-weight:500}
.ds-usecases__list img{width:100%;height:auto;border-radius:var(--ds-r-md);border:var(--ds-bw) solid var(--ds-border);background:var(--ds-surface)}
.ds-usecases__hint{display:none}
.ds-section-space{padding-block:var(--ds-s-16)}
.ds-section-space>.ds-heading{margin-bottom:var(--ds-s-8)}
.ds-split-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--ds-s-12)}
.ds-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-s-6)}
.ds-steps li{display:grid;gap:var(--ds-s-2);align-content:start;border-top:var(--ds-bw) solid var(--ds-border);padding-top:var(--ds-s-4)}
.ds-steps__n{font:500 var(--ds-fs-13)/var(--ds-lh-13) var(--ds-mono);color:var(--ds-text-muted)}
.ds-steps p,.ds-features p,.ds-note,.ds-roadmap li{color:var(--ds-text-muted)}
.ds-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-s-6)}
.ds-features--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ds-features article{display:grid;gap:var(--ds-s-2);align-content:start}
.ds-features__mark{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-md);background:var(--ds-surface);color:var(--ds-text-muted);font-size:20px;line-height:1;margin-bottom:var(--ds-s-2)}
.ds-note{display:grid;gap:var(--ds-s-3);max-width:720px}
.ds-roadmap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ds-s-6)}
.ds-roadmap>article{border-top:var(--ds-bw) solid var(--ds-border);padding-top:var(--ds-s-4)}
.ds-roadmap ul{margin:var(--ds-s-3) 0 0;padding-left:var(--ds-s-5);display:grid;gap:var(--ds-s-2)}
.ds-band{background:var(--ds-surface-2);border-block:var(--ds-bw) solid var(--ds-border);padding-block:var(--ds-s-12)}
.ds-agent{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ds-s-12);align-items:center}
.ds-agent__copy{display:grid;gap:var(--ds-s-4);justify-items:start}
.ds-agent__copy p:not(.ds-eyebrow){color:var(--ds-text-muted);max-width:480px}
.ds-term{min-width:0;overflow:hidden;background:var(--ds-surface);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-lg);box-shadow:var(--ds-shadow)}
.ds-term__head{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-s-3);padding:var(--ds-s-3) var(--ds-s-5);min-height:56px;border-bottom:var(--ds-bw) solid var(--ds-border);font-weight:500}
.ds-term__steps{margin:0;padding:var(--ds-s-5) var(--ds-s-5) 0 var(--ds-s-10);display:grid;gap:var(--ds-s-3);font-size:var(--ds-fs-14);line-height:var(--ds-lh-14);color:var(--ds-text-muted)}
.ds-term__steps code,.ds-term__steps pre{font-family:var(--ds-mono);color:var(--ds-text);overflow-wrap:anywhere}
.ds-term__steps pre{margin:var(--ds-s-2) 0 0;padding:var(--ds-s-3);background:var(--ds-surface-2);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-md);white-space:pre-wrap}
.ds-term__foot{margin:var(--ds-s-5) var(--ds-s-5) 0;padding-top:var(--ds-s-4);border-top:var(--ds-bw) solid var(--ds-border);font-size:var(--ds-fs-14);color:var(--ds-text-muted)}
.ds-term .ds-status{padding:var(--ds-s-2) var(--ds-s-5) var(--ds-s-4);color:var(--ds-success)}
.ds-faq{border-top:var(--ds-bw) solid var(--ds-border);align-self:start}
.ds-faq details{border-bottom:var(--ds-bw) solid var(--ds-border)}
.ds-faq summary{position:relative;list-style:none;cursor:pointer;min-height:var(--ds-hit);padding:var(--ds-s-4) var(--ds-s-10) var(--ds-s-4) 0;font-weight:600}
.ds-faq summary::-webkit-details-marker{display:none}
.ds-faq summary::after{content:"+";position:absolute;right:var(--ds-s-1);top:var(--ds-s-3);font-weight:400;font-size:24px;line-height:28px;color:var(--ds-text-muted)}
.ds-faq details[open] summary::after{content:"−"}
.ds-faq details p{padding:0 var(--ds-s-10) var(--ds-s-4) 0;color:var(--ds-text-muted)}
.ds-faq-section{padding-bottom:var(--ds-s-16)}
.ds-cta{display:flex;align-items:center;justify-content:space-between;gap:var(--ds-s-8);padding:var(--ds-s-10) var(--ds-s-12);background:var(--ds-surface);border:var(--ds-bw) solid var(--ds-border);border-radius:var(--ds-r-lg);box-shadow:var(--ds-shadow)}
.ds-cta>div{display:grid;gap:var(--ds-s-2)}
.ds-cta .ds-btn{flex:none}
.ds-interest{padding-block:var(--ds-s-16)}
.ds-interest>div:last-child{display:grid;gap:var(--ds-s-4);justify-items:start}
.ds-interest p{color:var(--ds-text-muted)}
.ds-footer p{margin:0}
.ds-footer__link{text-decoration:none}
.ds-footer__link:hover{text-decoration:underline}
@media (max-width:1000px){
  .ds-hero{gap:var(--ds-s-8);padding-block:var(--ds-s-12) var(--ds-s-10)}
  .ds-split-section{grid-template-columns:minmax(0,1fr);gap:var(--ds-s-6)}
  .ds-agent{gap:var(--ds-s-8)}
  .ds-section-space,.ds-interest{padding-block:var(--ds-s-12)}
}
@media (max-width:800px){
  .ds-nav__detail{display:none}
  .ds-hero{grid-template-columns:minmax(0,1fr);padding-block:var(--ds-s-8)}
  .ds-hero h1{font-size:var(--ds-fs-32);line-height:var(--ds-lh-32)}
  .ds-agent,.ds-roadmap,.ds-features--2{grid-template-columns:minmax(0,1fr)}
  .ds-usecases__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ds-cta{flex-direction:column;align-items:flex-start;padding:var(--ds-s-6)}
  .ds-band{padding-block:var(--ds-s-10)}
}
@media (max-width:560px){
  .ds-steps,.ds-features{grid-template-columns:minmax(0,1fr)}
  .ds-usecases__list{display:flex;gap:var(--ds-s-4);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;padding:0 18% var(--ds-s-3) 0;scrollbar-width:none}
  .ds-usecases__list::-webkit-scrollbar{display:none}
  .ds-usecases__list li{flex:0 0 82%;scroll-snap-align:start}
  .ds-usecases__hint{display:flex;align-items:center;gap:var(--ds-s-2);color:var(--ds-text-muted);font-size:var(--ds-fs-13);font-weight:500}
  .ds-usecases__hint span{color:var(--ds-accent-text)}
  .ds-term__head,.ds-term__foot{padding-inline:var(--ds-s-4)}
  .ds-term__steps{padding-left:var(--ds-s-8);padding-right:var(--ds-s-4)}
}

/* ---- Motion: nothing essential is animated; honour reduced motion anyway. ---- */
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
