/* 7IT design language: content templates (docs/redesign-plan.md). Loaded after ds.css.
   The engineering journal: blog, guides, news, research and the /ai/ page. Prefix ct-.
   Title page (ct-title), the article in the chapter grid (ct-art), ledgers for every list (ct-led),
   figures as plates (ds-plate + ds-cap), numbers as a ledger (ct-kv). Colors only through the world variables. */

/* chapter columns never grow past the page (wide tables scroll inside their plate) */
.ds .ds-ch>*{min-width:0}
@media (max-width:600px){.ct-fig .ct-fig-in{padding:16px 14px 12px}.ct-tab{font-size:14px}.ct-tab .w{display:none}}

/* ---------- title page ---------- */
.ct-title{max-width:1440px;margin:0 auto;padding:80px 32px 56px}
.ct-title h1{font-size:clamp(40px,5.6vw,80px);line-height:1;font-weight:760;letter-spacing:-.03em;margin:0;max-width:20ch;text-wrap:balance}
.ct-title.is-short h1{font-size:clamp(48px,7vw,104px);line-height:.95}
.ct-stand{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--mute);max-width:720px;margin:26px 0 0;text-wrap:pretty}
.ct-by{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:30px 0 0;padding:0;font:500 13px/1.5 'JetBrains Mono',ui-monospace,monospace;color:var(--mute)}
.ct-by b{color:var(--ink);font-weight:600}
.ct-by a{color:var(--ink)!important;text-decoration:underline;text-decoration-color:var(--sig);text-decoration-thickness:2px;text-underline-offset:4px}
.ct-by img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:none;filter:grayscale(1)}
.ct-acts{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin-top:30px}
@media (max-width:900px){.ct-title{padding:48px 16px 36px}}

/* ---------- the article: chapter grid, meta column left, text right ---------- */
.ct-art{align-items:start}
.ct-meta{position:sticky;top:96px;display:grid;gap:22px;font-size:14.5px;color:var(--mute)}
.ct-meta dl{margin:0;display:grid;gap:12px}
.ct-meta dt{font:600 11.5px 'JetBrains Mono',monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}
.ct-meta dd{margin:2px 0 0;color:var(--ink);font-size:15px}
.ct-toc{border-top:1px solid var(--rule);padding-top:16px}
.ct-toc p{font:600 11.5px 'JetBrains Mono',monospace;letter-spacing:.04em;text-transform:uppercase;margin:0 0 10px;color:var(--mute)}
.ct-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ct-toc li.l3{padding-left:14px}
.ct-toc a{color:var(--mute)!important;text-decoration:none;line-height:1.35;display:block}
.ct-toc a:hover{color:var(--ink)!important}
.ct-main{min-width:0;max-width:720px}
.ct-main>.prose>:first-child{margin-top:0}
@media (max-width:900px){.ct-meta{position:static;display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px 28px}.ct-meta dl{display:flex;gap:28px}.ct-toc{display:none}.ct-meta .ct-kit{flex-basis:100%}}

/* prose details the shared base leaves */
.ds .prose{font-size:1.1rem;line-height:1.75}
.ds .prose>p:first-of-type{font-size:1.2rem;line-height:1.65}
.ds .prose h2{font-weight:760;letter-spacing:-.02em;line-height:1.15}
.ds .prose h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin:2.2rem 0 .6rem}
.ds .prose ul{list-style:none;padding-left:0}
.ds .prose ul li{position:relative;padding-left:1.4rem}
.ds .prose ul li::before{content:"";position:absolute;left:.15rem;top:.72em;width:7px;height:7px;border:0!important;background:var(--sig);transform:none!important}
.ds .prose ol{padding-left:1.4rem}
.ds .prose ol li::marker{font:600 .85em 'JetBrains Mono',monospace;color:var(--sig)}
.ds .prose blockquote{padding:.25rem 0 .25rem 1.25rem;margin:2rem 0;font-size:1.15rem}
.ds .prose table{width:100%;border-collapse:collapse;margin:1.75rem 0;font-size:.95rem}
.ds .prose th{font:600 12px 'JetBrains Mono',monospace;text-transform:uppercase;letter-spacing:.04em;color:var(--mute);text-align:left;padding:0 12px 10px 0;border-bottom:1.5px solid var(--ink)}
.ds .prose td{padding:12px 12px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.ds .prose code{font-size:.88em;padding:.1em .35em}
.ds .prose img{margin:2rem 0}

/* the closing invitation (scripts/cta.mjs), set as a chapter */
.ds .cta-card{margin-top:4rem;padding:32px 0 0;border:0;border-top:1.5px solid var(--ink);text-align:left;display:grid;gap:14px}
.ds .cta-card .cta-art{display:none}
.ds .cta-eyebrow{display:none}
.ds .cta-line{font-size:clamp(26px,2.6vw,34px);line-height:1.1;font-weight:760;letter-spacing:-.02em;color:var(--ink);margin:0;max-width:22ch}
.ds .cta-sub{color:var(--mute);margin:0;max-width:34rem}
.ds .cta-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:8px}
.ds .cta-primary{display:inline-block;padding:14px 24px;font-weight:700;font-size:15px;text-decoration:none!important;transition:transform .2s cubic-bezier(.23,1,.32,1)}
.ds .cta-primary:hover{transform:translateY(-1px)}
.ds .cta-quiet{color:var(--ink)!important;font-size:15px;text-decoration:underline;text-decoration-color:var(--sig);text-decoration-thickness:2px;text-underline-offset:4px}

/* the Launch Review block (scripts/launch-review-cta.mjs), set as a chapter */
.ds .lrc{max-width:1440px;margin:0 auto;padding:0}
.ds .lrc-in{border-radius:0;background:var(--paper);border:0;border-top:1.5px solid var(--ink);padding:56px 32px;display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:56px;row-gap:16px;color:var(--ink);font-family:inherit}
.ds .lrc-in::before{display:none}
.ds .lrc-in>*{grid-column:2}
.ds .lrc-eye{grid-column:1;grid-row:1/span 4;font:760 30px/1.05 'Archivo',sans-serif;font-stretch:var(--wd);letter-spacing:-.02em;color:var(--ink)}
.ds .lrc-h{font-size:clamp(24px,2.4vw,32px);color:var(--ink);font-weight:760}
.ds .lrc-h em{color:inherit}
.ds .lrc-p{color:var(--mute)}
.ds .lrc-row{color:var(--ink)}
.ds .lrc-row li::before{border-radius:0;background:var(--ink);width:6px;height:6px}
.ds .lrc-go{border-radius:0;background:var(--ink);color:var(--paper)!important;min-height:0;padding:14px 24px;font-size:15px;font-weight:700}
.ds .lrc-go:hover{background:var(--ink)}
.ds .lrc-go span{display:none}
@media (max-width:900px){.ds .lrc-in{grid-template-columns:1fr;padding:40px 16px}.ds .lrc-in>*{grid-column:1}.ds .lrc-eye{grid-row:auto;font-size:26px}}

/* the Field Kit pointer on guides */
.ct-kit{display:grid;gap:4px;padding:14px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-decoration:none!important;color:var(--ink)!important}
.ct-kit span{font:500 12.5px 'JetBrains Mono',monospace;color:var(--mute)}
.ct-kit b{font-weight:700;font-size:16px;text-decoration:underline;text-decoration-color:var(--sig);text-decoration-thickness:2px;text-underline-offset:4px}
.ct-main>.ct-kit{margin:3.5rem 0 0}

/* ---------- ledgers ---------- */
.ct-led{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.ct-led>li{border-bottom:1px solid var(--rule)}
.ct-led a.ct-row,.ct-led .ct-row{display:grid;grid-template-columns:128px minmax(0,1fr) 150px 64px;gap:20px;align-items:baseline;padding:18px 0;text-decoration:none!important;color:var(--ink)!important}
.ct-row .d,.ct-row .k,.ct-row .t{font:500 13px 'JetBrains Mono',monospace;color:var(--mute)}
.ct-row .t{text-align:right}
.ct-row h2,.ct-row h3,.ct-row b{display:block;font-size:19px;line-height:1.3;font-weight:700;letter-spacing:-.01em;margin:0}
.ct-row p{margin:6px 0 0;color:var(--mute);font-size:15px;line-height:1.5;max-width:68ch}
.ct-row:hover h2,.ct-row:hover h3,.ct-row:hover b{text-decoration:underline;text-decoration-color:var(--sig);text-decoration-thickness:2px;text-underline-offset:4px}
.ct-led.two a.ct-row,.ct-led.two .ct-row{grid-template-columns:128px minmax(0,1fr)}
.ct-led.three a.ct-row,.ct-led.three .ct-row{grid-template-columns:minmax(0,1fr) 170px 110px}
.ct-led.three .ct-row .k,.ct-led.three .ct-row .t{text-align:right}
@media (max-width:900px){
  .ct-led a.ct-row,.ct-led .ct-row,.ct-led.two a.ct-row,.ct-led.two .ct-row{grid-template-columns:1fr auto;gap:4px 12px;padding:16px 0}
  .ct-row .d{grid-row:1;grid-column:1}
  .ct-row .k{grid-row:1;grid-column:2;text-align:right}
  .ct-row>div,.ct-row>span:not(.d):not(.k):not(.t){grid-column:1/-1}
  .ct-row .t{display:none}
  .ct-led.three a.ct-row,.ct-led.three .ct-row{grid-template-columns:1fr auto}
  .ct-led.three .ct-row>div{grid-column:1/-1;grid-row:1}
  .ct-led.three .ct-row .k{grid-row:2;grid-column:1;text-align:left}
  .ct-led.three .ct-row .t{display:block;grid-row:2;grid-column:2}
}

/* list filters (blog and guides) */
.ct-filter{display:grid;gap:20px;align-self:start;align-content:start;position:sticky;top:96px}
@media (max-width:900px){.ct-filter{position:static}}
.ct-chips{display:flex;flex-wrap:wrap;gap:6px 14px}
.ct-chips button{background:none;border:0;padding:2px 0;font:500 13px 'JetBrains Mono',monospace;color:var(--mute);cursor:pointer;text-align:left}
.ct-chips button:hover{color:var(--ink)}
.ct-chips button.is-on{color:var(--ink);text-decoration:underline;text-decoration-color:var(--sig);text-decoration-thickness:2px;text-underline-offset:5px}
.ct-filter .ds-field{max-width:none}
.ct-none{padding:28px 0;color:var(--mute)}
.ct-none[hidden]{display:none}

/* ---------- numbers as a ledger ---------- */
.ct-kv{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.ct-kv>li{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--rule)}
.ct-kv b{font:600 30px/1 'JetBrains Mono',monospace;letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.ct-kv b small{font-size:.5em;color:var(--mute);letter-spacing:0}
.ct-kv span{font-size:16px;line-height:1.45;color:var(--ink)}
.ct-kv em{display:block;font:normal 500 12.5px 'JetBrains Mono',monospace;color:var(--mute);margin-top:4px}
.ct-kv .ct-meter{grid-column:2}
.ct-title-kv{margin-top:44px;max-width:900px}
.ct-kv span .ct-meter{margin-top:10px}
@media (max-width:600px){.ct-kv>li{grid-template-columns:1fr;gap:6px}.ct-kv .ct-meter{grid-column:1}}

/* ---------- plates: figures ---------- */
.ct-fig{margin:0}
.ct-fig+.ct-fig{margin-top:28px}
.ct-fig .ct-fig-in{padding:22px 22px 18px}
.ct-fig .ds-cap span:last-child{text-align:right}
.ct-fig svg{display:block;width:100%;height:auto;overflow:visible}
.ct-svg-t{font:500 11px 'JetBrains Mono',monospace;fill:var(--mute)}
.ct-svg-v{font:600 12px 'JetBrains Mono',monospace;fill:var(--ink)}
.ct-svg-g{stroke:var(--rule);stroke-width:1}
.ct-svg-a{stroke:var(--ink);stroke-width:1.5}
.ct-svg-l{fill:none;stroke:var(--sig);stroke-width:2}
.ct-svg-d{fill:var(--paper);stroke:var(--sig);stroke-width:2}

/* bars: one row per value (label, bar, value) */
.ct-bars{width:100%;border-collapse:collapse}
.ct-bars tr,.ct-bars .r{border-bottom:1px solid var(--rule)}
.ct-bars tr:last-child,.ct-bars .r:last-child{border-bottom:0}
.ct-bars td{padding:10px 12px 10px 0;font-size:15px;vertical-align:middle}
.ct-bars td.b{width:42%}
.ct-bars td:last-child{text-align:right;white-space:nowrap;font:500 13.5px 'JetBrains Mono',monospace;padding-right:0;width:96px}
.ct-bar{display:block;height:10px;background:var(--paper-2)}
.ct-bar i{display:block;height:100%;background:var(--ink);transform-origin:left}
.ct-bar i.bad{background:var(--sig)}
.ct-bar i.mid{background:var(--mute)}
.ct-meter{display:block;height:6px;background:var(--paper-2);margin-top:10px;max-width:420px}
.ct-meter i{display:block;height:100%;background:var(--ink);transform-origin:left}

/* data tables: the ledger with numbers right-aligned */
.ct-scroll{overflow-x:auto}
.ct-tab{width:100%;border-collapse:collapse;font-size:15.5px}
.ct-tab th{font:600 12px 'JetBrains Mono',monospace;color:var(--mute);text-transform:uppercase;letter-spacing:.04em;text-align:left;padding:0 12px 10px 0;border-bottom:1.5px solid var(--ink);vertical-align:bottom}
.ct-tab td{padding:13px 12px 13px 0;border-bottom:1px solid var(--rule);vertical-align:middle;font-variant-numeric:tabular-nums}
.ct-tab .n{text-align:right;white-space:nowrap;font-family:'JetBrains Mono',monospace;font-size:13.5px}
.ct-tab th.n{font-size:12px}
.ct-tab .w{width:34%;min-width:120px}
.ct-tab tbody th{font:inherit;color:var(--ink);text-transform:none;letter-spacing:0;border-bottom:1px solid var(--rule);padding:13px 12px 13px 0}

/* chapter body text */
.ct-p{font-size:17px;line-height:1.65;color:var(--ink);max-width:68ch;margin:0}
.ct-p+.ct-p,.ct-p+.ct-scroll,.ct-scroll+.ct-p,.ct-fig+.ct-p,.ct-kv+.ct-p,.ct-tab+.ct-p{margin-top:18px}
.ct-p.m{color:var(--mute);font-size:15px}
.ct-p a,.ct-note a,.ct-list a{color:var(--ink)!important;text-decoration:underline;text-decoration-color:var(--sig);text-decoration-thickness:2px;text-underline-offset:4px}
.ct-h3{font-size:22px;font-weight:760;letter-spacing:-.02em;margin:48px 0 16px;line-height:1.15}
.ct-h3:first-child{margin-top:0}
.ct-list{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink);max-width:860px}
.ct-list>li{padding:16px 0 16px 22px;border-bottom:1px solid var(--rule);font-size:17px;line-height:1.6;position:relative}
.ct-list>li::before{content:"";position:absolute;left:2px;top:27px;width:7px;height:7px;background:var(--sig)}
.ct-list b{font-weight:700}
.ct-cite{margin:0;padding:16px 18px;border:1.5px solid var(--ink);font:14px/1.6 'JetBrains Mono',monospace;color:var(--ink);overflow-wrap:anywhere;max-width:820px}
.ct-note{font-size:14.5px;line-height:1.6;color:var(--mute);margin:22px 0 0;max-width:72ch}
.ds .ct-ch-tight{padding-top:40px}

/* copy boxes on research pages (PAGE_SCRIPT wires .gx-code button) */
.ds .gx-code{display:flex;align-items:stretch;border:1.5px solid var(--ink);max-width:820px;margin-top:10px}
.ds .gx-code code{flex:1;min-width:0;padding:13px 16px;font:13.5px/1.6 'JetBrains Mono',monospace;color:var(--ink);overflow-wrap:anywhere;background:none}
.ds .gx-code button{flex:none;background:var(--ink);color:var(--paper);border:0;padding:0 18px;font-weight:700;font-size:14px;cursor:pointer}
.ds .ct-tools{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:flex-start;font-size:14px}
.ds .ct-tools a,.ds .ct-tools summary,.ds .tv summary{color:var(--ink);cursor:pointer;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:4px}
.ds .ct-tools details[open]{flex-basis:100%}
.ds .tv{margin-top:14px;font-size:14px;overflow-x:auto}
.ds .tv table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13.5px}
.ds .tv th,.ds .tv td{padding:8px 8px 8px 0;border-bottom:1px solid var(--rule);text-align:left;color:var(--mute);font-weight:400}
.ds .tv th[scope=row]{color:var(--ink)}
.ds .tv td{font-family:'JetBrains Mono',monospace;font-size:12.5px;white-space:nowrap}
.ds .ds-btn.o{background:transparent;color:var(--ink)!important;box-shadow:inset 0 0 0 1.5px var(--ink)}

/* research charts (ai-app-security, mcp-tool-annotations) */
.ds .hb{display:grid;gap:0}
.ds .hb-r{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 96px;gap:14px;align-items:center;font-size:15px;padding:9px 0;border-bottom:1px solid var(--rule)}
.ds .hb-r:last-child{border-bottom:0}
.ds .hb-l{color:var(--ink);min-width:0;overflow-wrap:anywhere}
.ds .hb-t{height:10px;background:var(--paper-2)}
.ds .hb-t i{display:block;height:100%;width:var(--w);background:var(--ink);transform-origin:left}
.ds .hb-v{text-align:right;font:600 13.5px 'JetBrains Mono',monospace;color:var(--ink)}
.ds .hb-v.s,.ds .cb-v.s{color:var(--mute);font-weight:400;font-size:12px}
@media (max-width:560px){.ds .hb-r{grid-template-columns:1fr 80px;row-gap:6px}.ds .hb-t{grid-column:1/-1;grid-row:2}.ds .hb-v{grid-row:1;grid-column:2}}
.ds .cb{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;align-items:end;height:210px;border-bottom:1.5px solid var(--ink)}
.ds .cb-c{display:flex;flex-direction:column;align-items:center;height:100%;min-width:0}
.ds .cb-v{font:600 12px 'JetBrains Mono',monospace;color:var(--ink);min-height:20px}
.ds .cb-t{flex:1;width:100%;max-width:48px;display:flex;align-items:flex-end}
.ds .cb-t i{display:block;width:100%;height:var(--h);background:var(--ink);transform-origin:bottom}
.ds .cb-l{font:500 11px/1.25 'JetBrains Mono',monospace;color:var(--mute);margin-top:8px;text-align:center;min-height:30px}
.ds .cb-ls{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}
.ds .rgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;border-top:0}
.ds .rg{display:grid;gap:4px;padding:6px 18px 6px 0}
.ds .rg svg{display:none}
.ds .rg-v{font:600 34px/1 'JetBrains Mono',monospace;letter-spacing:-.03em;color:var(--ink)}
.ds .rg-l{font-size:14.5px;line-height:1.4;color:var(--mute)}
.ds .ch-n{color:var(--mute);font-size:13px;margin:10px 0 0}
.ds .ch{margin:0}

/* stacked label bars (mcp-tool-annotations): four tones of ink and signal */
.ds .ct-stk{--s1:var(--sig);--s2:color-mix(in srgb,var(--sig) 45%,var(--paper));--s3:var(--ink);--s4:color-mix(in srgb,var(--ink) 28%,var(--paper))}
.ds .lg{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:0 0 18px;font-size:13.5px;color:var(--mute)}
.ds .lg li{display:flex;align-items:center;gap:8px}
.ds .lg i{width:12px;height:12px;display:inline-block;box-shadow:inset 0 0 0 1px var(--ink)}
.ds .s1{background:var(--s1)}.ds .s2{background:var(--s2)}.ds .s3{background:var(--s3)}.ds .s4{background:var(--s4)}
.ds .sk{display:grid;gap:0}
.ds .sk-r{padding:12px 0;border-bottom:1px solid var(--rule)}
.ds .sk-r:last-child{border-bottom:0}
.ds .sk-h{display:flex;justify-content:space-between;gap:12px;font-size:15px;color:var(--ink)}
.ds .sk-l em{font-style:normal;font:500 11.5px 'JetBrains Mono',monospace;color:var(--sig);margin-left:8px}
.ds .sk-n{color:var(--mute);font:500 12.5px 'JetBrains Mono',monospace;white-space:nowrap}
.ds .sk-t{display:flex;gap:2px;height:14px;margin-top:8px;box-shadow:inset 0 0 0 1px var(--rule)}
.ds .sk-t i{display:block;height:100%;width:var(--w);flex:none}
.ds .sk-v{display:flex;flex-wrap:wrap;gap:4px 16px;font:500 12px 'JetBrains Mono',monospace;color:var(--mute);margin-top:6px}

/* the plate's signature moment: bars draw in once (one easing, under 300ms per bar) */
.js .ct-grow .hb-t i,.js .ct-grow .ct-bar i{transform:scaleX(0);transition:transform .28s cubic-bezier(.23,1,.32,1) var(--d,0ms)}
.js .ct-grow.in .hb-t i,.js .ct-grow.in .ct-bar i,.no-io .ct-grow .hb-t i,.no-io .ct-grow .ct-bar i{transform:none}
.js .ct-grow .cb-t i,.js .ct-grow .ct-col{transform:scaleY(0);transition:transform .28s cubic-bezier(.23,1,.32,1) var(--d,0ms)}
.js .ct-grow.in .cb-t i,.js .ct-grow.in .ct-col,.no-io .ct-grow .cb-t i,.no-io .ct-grow .ct-col{transform:none}
.ct-col{transform-box:fill-box;transform-origin:50% 100%;fill:var(--ink)}
.ct-col.bad{fill:var(--sig)}.ct-col.mid{fill:var(--mute)}
@media (prefers-reduced-motion:reduce){.js .ct-grow .hb-t i,.js .ct-grow .ct-bar i,.js .ct-grow .cb-t i,.js .ct-grow .ct-col{transform:none;transition:none}}

/* research hub ledger: the stat on the right */
.ct-led .ct-row .st{text-align:right}
.ct-led .ct-row .st b{font:600 26px/1 'JetBrains Mono',monospace;letter-spacing:-.03em}
.ct-led .ct-row .st span{display:block;font-size:12.5px;line-height:1.35;color:var(--mute);margin-top:6px}
.ct-led.hub a.ct-row{grid-template-columns:200px minmax(0,1fr) 230px}
@media (max-width:900px){.ct-led.hub a.ct-row{grid-template-columns:1fr}.ct-led.hub .ct-row .k{grid-row:auto;grid-column:1;text-align:left}.ct-led.hub .ct-row .st{text-align:left;grid-column:1}}

/* ---------- 7IT news (/news/): its own shell, no Tailwind preflight ---------- */
.ds-news *{box-sizing:border-box}
body.ds-news{margin:0;font-size:17px;line-height:1.6;overflow-wrap:break-word}
.ds-news h1,.ds-news h2,.ds-news h3,.ds-news p,.ds-news figure,.ds-news blockquote{margin:0}
.ds-news a{color:var(--ink)}
.ds-news main a:not(.ds-btn){text-decoration:underline;text-decoration-color:var(--sig);text-decoration-thickness:2px;text-underline-offset:4px}
.ds-news main[hidden]{display:none}
.ds-news .eyebrow:empty{display:none}
.ds-news .mute{color:var(--mute);font-size:15px}
.ds-news .feedlink{display:inline-flex;align-items:center;gap:8px;font:500 13px 'JetBrains Mono',monospace;color:var(--ink)}
.ds-news .feedlink svg{width:12px;height:12px;flex:none}
/* index: title page, then the ledger */
.ds-news .hero{max-width:1440px;margin:0 auto;padding:80px 32px 56px;display:grid;gap:24px;justify-items:start}
.ds-news .hero h1{font-size:clamp(40px,5.6vw,80px);line-height:1;font-weight:760;letter-spacing:-.03em;max-width:18ch;text-wrap:balance}
.ds-news .hero .lead{font-size:clamp(18px,1.6vw,22px);line-height:1.5;color:var(--mute);max-width:720px}
.ds-news .news{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--ink)}
.ds-news .news>li{border-bottom:1px solid var(--rule)}
.ds-news .news .card{display:grid;grid-template-columns:128px minmax(0,1fr);gap:20px;align-items:baseline;padding:20px 0}
.ds-news .news time{font:500 13px 'JetBrains Mono',monospace;color:var(--mute);white-space:nowrap}
.ds-news .news h2{font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
.ds-news .news h2 a{text-decoration:none!important}
.ds-news .news h2 a:hover{text-decoration:underline!important}
.ds-news .news p{margin-top:6px;color:var(--mute);font-size:15.5px;line-height:1.55;max-width:72ch}
.ds-news .ct-foot{padding:28px 0 16px;display:grid;gap:10px}
.ds-news .ct-foot .mute{max-width:76ch}
@media (max-width:900px){.ds-news .hero{padding:48px 16px 36px}.ds-news .news .card{grid-template-columns:1fr;gap:6px}}
/* item: title page, then each briefing line as a chapter row */
.ds-news .article{max-width:1440px;margin:0 auto;padding:80px 32px 0;display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:56px}
.ds-news .article>*{grid-column:1/-1}
.ds-news .article h1{font-size:clamp(36px,4.6vw,68px);line-height:1.02;font-weight:760;letter-spacing:-.03em;max-width:22ch;text-wrap:balance}
.ds-news .article .by{display:flex;align-items:center;gap:12px;margin:28px 0 56px}
.ds-news .article .by img{width:40px;height:40px;border-radius:50%;object-fit:cover;filter:grayscale(1)}
.ds-news .article .by .who{display:grid;line-height:1.35}
.ds-news .article .by .who b{font-weight:700;font-size:15.5px}
.ds-news .article .by .who span{font:500 13px 'JetBrains Mono',monospace;color:var(--mute)}
.ds-news .brief{display:contents}
.ds-news .ln,.ds-news .take,.ds-news .seen,.ds-news .article>div:not(.by):not(.brief):not(.tags){grid-column:1/-1;display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:56px;border-top:1.5px solid var(--ink);padding:36px 0}
.ds-news .ln b,.ds-news .seen>b,.ds-news .article>div>p.mute:first-child{font-size:24px;line-height:1.1;font-weight:760;letter-spacing:-.02em;color:var(--ink);text-transform:none}
.ds-news .ln p{font-size:19px;line-height:1.65;max-width:62ch}
.ds-news .take blockquote{grid-column:2;grid-row:1}
.ds-news .take blockquote p{font-size:clamp(22px,2.2vw,28px);line-height:1.35;font-weight:600;letter-spacing:-.015em;max-width:40ch;padding-left:22px;border-left:3px solid var(--sig)}
.ds-news .take figcaption{grid-column:1;grid-row:1;display:flex;align-items:flex-start;gap:10px;font-size:24px;line-height:1.1;font-weight:760;letter-spacing:-.02em}
.ds-news .take figcaption img{width:28px;height:28px;border-radius:50%;object-fit:cover;filter:grayscale(1);margin-top:-1px}
.ds-news .take figcaption b{font-weight:760}
.ds-news .seen{border-left:0;border-right:0;border-bottom:0}
.ds-news .seen>b{display:block;grid-row:1/span 2}
.ds-news .seen>b svg{display:none}
.ds-news .seen>p{grid-column:2;font-size:17px;max-width:66ch}
.ds-news .seen>p+p{margin-top:10px}
.ds-news .h{font:500 12.5px 'JetBrains Mono',monospace;color:var(--mute)}
.ds-news .src{grid-column:2;list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:16px}
.ds-news .tags{grid-column:2;display:flex;flex-wrap:wrap;gap:6px 14px;padding:0 0 8px}
.ds.ds-news .card{border:0!important;background:none!important}
.ds.ds-news .tag{font:500 12.5px 'JetBrains Mono',monospace;color:var(--mute)!important;border:0!important;padding:0}
.ds-news .tag::before{content:"#"}
.ds-news .article>.ai{grid-column:2;font-size:14px;padding-bottom:40px}
.ds-news .pager{max-width:1440px;margin:0 auto;padding:28px 32px;display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1.5px solid var(--ink);font-size:16px}
.ds-news .pager a:last-child:not(:first-child){text-align:right}
.ds-news .article~.mute{max-width:1440px;margin:0 auto;padding:0 32px 14px}
.ds-news .article~.mute:last-child{padding-bottom:64px}
@media (max-width:900px){
  .ds-news .article{padding:48px 16px 0;grid-template-columns:1fr}
  .ds-news .ln,.ds-news .take,.ds-news .seen,.ds-news .article>div:not(.by):not(.brief):not(.tags){grid-template-columns:1fr;row-gap:12px;padding:28px 0}
  .ds-news .take blockquote,.ds-news .take figcaption,.ds-news .seen>p,.ds-news .src,.ds-news .tags,.ds-news .article>.ai{grid-column:1;grid-row:auto}
  .ds-news .take figcaption{grid-row:1}
  .ds-news .seen>b{grid-row:auto}
  .ds-news .ln b,.ds-news .seen>b,.ds-news .article>div>p.mute:first-child,.ds-news .take figcaption{font-size:20px}
  .ds-news .pager{grid-template-columns:1fr;padding:24px 16px}
  .ds-news .pager a:last-child:not(:first-child){text-align:left}
  .ds-news .article~.mute{padding:0 16px 12px}
}

/* ---------- /ai/ (the MCP page) ---------- */
.ct-url{display:flex;border:1.5px solid var(--ink);max-width:640px;margin-top:30px}
.ct-url code{flex:1;min-width:0;padding:15px 16px;font:500 16px 'JetBrains Mono',monospace;color:var(--ink);overflow-wrap:anywhere;background:none}
.ct-url button{flex:none;background:var(--ink);color:var(--paper);border:0;padding:0 22px;font-weight:700;font-size:15px;cursor:pointer}
.ct-tool .k{font:500 12.5px 'JetBrains Mono',monospace;color:var(--mute);overflow-wrap:anywhere}
.ct-tool q{display:block;margin-top:10px;padding-left:14px;border-left:3px solid var(--sig);color:var(--ink);font-size:15px;quotes:none}
.ct-pre{margin:12px 0 0;background:var(--code-bg);color:var(--code-ink);border:1.5px solid var(--ink);padding:14px 16px;font:13px/1.6 'JetBrains Mono',monospace;overflow-x:auto;white-space:pre}
.ct-video{display:block;width:100%;height:auto;background:var(--ink)}
