/* Consistent type scale: 12 metadata, 14 controls, 16 text, 22 sections, 36 titles. */
body { --type-caption:12px; --type-control:14px; --type-body:16px; --type-section:22px; --type-title:36px; }
.md-typeset { font-size:var(--type-body); line-height:1.7; }
.eyebrow, .hero-caption, .phase-top, .phase-tags, .scene-heading, .scene-bottom, .notebook-meta, .notebook-banner .eyebrow, .notebook-banner > span:last-child, .footer-col h3, .footer-brand span, .footer-bottom, .notebook-pagination small, .catalog-search, .catalog-status, .table-controls, .record-grid dt { font-family:var(--md-text-font-family); font-size:var(--type-caption); letter-spacing:.3px; line-height:1.5; }
.studio-brand { font-size:20px; }.brand-subtitle { font:10px var(--md-text-font-family); letter-spacing:1px; }
.header-home, .project-menu > summary, .chapter-pages a, .md-typeset .action, .notebook-content .md-button, .md-typeset .md-button { font-size:var(--type-control); }
.md-typeset .data-hero h1 { font-size:clamp(40px,4.3vw,58px); letter-spacing:-2px; line-height:1.1; }.data-hero h1 em { font-family:inherit; font-style:normal; font-weight:600; }
.hero-description { font-size:16px; line-height:1.75; }.data-hero { padding:52px 0; gap:38px; }.hero-caption { font-size:11px; letter-spacing:.5px; }.hero-actions { margin-top:24px; }.schema-scene { height:435px; }
.md-typeset .section-top h2, .md-typeset .project-spotlight h2 { font-size:30px; letter-spacing:-.8px; line-height:1.25; }.section-top > p, .project-spotlight p, .phase-card p, .stack-list p, .team-grid p { font-size:14px; line-height:1.65; }
.md-typeset .phase-card h3 { font-size:20px; letter-spacing:-.4px; }.phase-top { font-size:12px; }.phase-tags { font-size:11px; }.phase-symbol { font-size:26px; margin:16px 0 0; }.md-typeset .phase-card { padding:22px; min-height:285px; }.foundation-strip strong { font-size:30px; }.foundation-strip span, .foundation-strip p { font-size:13px; }.journey-section { padding:56px 0; }.project-spotlight { margin-bottom:56px; }.md-typeset .stack-list h3 { font-size:17px; }.stack-list a > span { font-size:12px; }.team-grid strong { font-size:16px; }.footer-col a, .footer-contact, .footer-intro p { font-size:14px; }.footer-intro h2 { font-size:24px; }.footer-bottom { font-size:12px; }.footer-col h3 { margin-bottom:18px; }.footer-main { gap:30px; }
.md-content__inner:has(.notebook) { max-width:1120px; }.notebook-kind { display:none; }.notebook-meta { margin-bottom:16px; }.chapter-pages { margin-bottom:24px; padding-bottom:18px; gap:4px; }.chapter-pages a { padding:8px 12px; }
.notebook-content .home-hero { background:transparent; border:0; padding:12px 0 28px; margin-bottom:16px; border-bottom:1px solid var(--line); border-radius:0; }.notebook-content .home-hero::before { display:none; }.notebook-content h1 { font-size:var(--type-title); line-height:1.2; letter-spacing:-1px; margin:0 0 18px; }.notebook-content .home-hero p { font-size:16px; max-width:790px; }.notebook-banner { padding-bottom:12px; }.notebook-banner .eyebrow { text-transform:none; }.notebook-content .home-hero p:last-child { margin-top:18px; }
/* A restrained editorial rhythm replaces repeated oversized boxes. */
.chapter-panel { background:transparent; border:0; border-radius:0; padding:28px 0; margin:0; border-bottom:1px solid var(--line); }.chapter-panel::before { display:none; }.md-typeset .chapter-panel > h2 { font-size:var(--type-section); margin:0 0 22px; line-height:1.35; letter-spacing:-.4px; }.section-editorial { display:grid; grid-template-columns:235px minmax(0,1fr); gap:36px; }.section-editorial > h2 { padding-right:12px; }.section-body { min-width:0; }.section-body > :first-child { margin-top:0; }.section-body > :last-child { margin-bottom:0; }.section-body p, .section-body > ul, .section-body > ol { font-size:16px; line-height:1.7; }.section-body h3 { font-size:18px; }.section-body h4 { font-size:16px; }.section-body hr { display:none; }.section-body .grid.cards p { font-size:15px; }.section-body .grid.cards strong { font-size:16px; }.section-body .grid.cards > ul > li { padding:22px; }
.md-typeset .insight-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:20px 0; padding:0; list-style:none; }.md-typeset .insight-list > li { margin:0; list-style:none; border-left:3px solid var(--green); background:var(--surface-soft); padding:16px; font-size:15px; border-radius:0 7px 7px 0; }.insight-list strong { display:block; margin-bottom:7px; }.insight-list br { display:none; }
.md-typeset .workflow-path { list-style:none; counter-reset:flow; padding:0; margin:22px 0; }.md-typeset .workflow-path > li { counter-increment:flow; margin:0; padding:0 0 24px 48px; position:relative; border-left:1px solid var(--line); margin-left:15px; font-size:15px; }.workflow-path > li::before { content:counter(flow,decimal-leading-zero); position:absolute; top:-2px; left:-16px; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:var(--green); color:var(--paper); font-size:12px; }.workflow-path > li:last-child { border-left-color:transparent; padding-bottom:0; }
.chapter-panel.outcome-panel { display:block; background:var(--green-soft); border:1px solid var(--line); border-radius:10px; padding:24px; margin:28px 0; }.md-typeset .outcome-panel > h2 { font-size:20px; margin-bottom:14px; }.outcome-panel .insight-list > li { background:var(--paper); }
.md-typeset .architecture-flow > ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; counter-reset:layers; }.architecture-flow > ul > li { counter-increment:layers; position:relative; border-top:3px solid var(--green) !important; }.architecture-flow > ul > li::before { content:'LAYER 0' counter(layers); display:block; font-size:12px; color:var(--green); margin-bottom:14px; }.architecture-flow > ul > li:not(:last-child)::after { content:'→'; position:absolute; top:48%; right:-22px; color:var(--green); font-size:20px; }.architecture-flow .twemoji { display:none; }.architecture-flow strong { display:block; }
/* Technical references keep readable code and a deliberate information density. */
.md-typeset .catalog-card h3 { font:600 15px var(--md-text-font-family); letter-spacing:0; }.md-typeset .catalog-card pre > code, .md-typeset pre > code { font-size:13px; line-height:1.75; }.catalog-search { font-size:14px; }.catalog-search input { font-size:15px; padding:13px; }.catalog-status { font-size:13px; }.notebook table:not([class]) { font-size:14px; }.table-controls { font-size:13px; }.table-controls button { font-size:13px; padding:9px 12px; }.record-grid { grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr)); gap:14px; }.record-grid dt { font-size:12px; text-transform:none; }.md-typeset .record-grid dd { font-size:15px; line-height:1.6; }.record-grid dd:nth-child(2) { font-size:17px; }.record-grid dl { padding:20px; }.notebook-pagination strong { font-size:15px; }.notebook .pdf-embed__title, .pdf-embed__actions { font-size:14px; }
.topic-disclosure { border:1px solid var(--line) !important; background:var(--surface) !important; border-radius:8px !important; box-shadow:none !important; margin:10px 0 !important; padding:0 22px 18px !important; font-size:15px !important; }.md-typeset .topic-disclosure summary { font-size:16px; font-weight:600; background:transparent; margin:0 -22px; padding:18px 42px 18px 22px; }.topic-disclosure:not([open]) { padding-bottom:0 !important; }.md-typeset .topic-disclosure summary::before { display:none; }.topic-disclosure > p, .topic-disclosure > ul { font-size:15px; }
.content-inspector { margin:26px 0; border:1px solid var(--line); background:var(--surface); border-radius:12px; overflow:hidden; }.inspector-controls { padding:22px 26px; background:var(--surface-soft); border-bottom:1px solid var(--line); }.inspector-controls label { display:flex; align-items:center; justify-content:space-between; gap:18px; font-size:15px; font-weight:600; }.inspector-controls select { font:14px var(--md-text-font-family); color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:6px; padding:10px 32px 10px 12px; max-width:100%; }.content-inspector > .chapter-panel { padding:26px; border:0; }.inspector-steps { display:flex; gap:8px; margin-top:16px; flex-wrap:wrap; }.inspector-steps button { flex:1; text-align:left; cursor:pointer; padding:13px; border:1px solid var(--line); border-radius:7px; color:var(--muted); font:14px var(--md-text-font-family); background:var(--surface); }.inspector-steps button[aria-pressed=true] { color:var(--paper); background:var(--green); }.normal-forms .section-editorial { display:block; }.content-inspector[hidden],.project-menu [hidden] { display:none !important; }
/* Compact navigator: one category at a time, with search across all pages. */
.project-menu-panel { left:auto; right:32px; width:min(660px,calc(100vw - 32px)); max-height:calc(100dvh - 105px); padding:0; border-radius:12px; overflow:auto; }
.project-menu-heading { padding:20px; margin:0; }.project-menu-heading label { display:block; font-size:14px; font-weight:600; margin-bottom:10px; }.project-menu-heading input { display:block; width:100%; border:1px solid var(--line); border-radius:7px; padding:12px 14px; background:var(--paper); font:15px var(--md-text-font-family); color:var(--ink); }.finder-status { display:block; font-size:13px; color:var(--muted); }.finder-status:not(:empty) { margin-top:8px; }
.project-menu-grid { display:block; padding:20px; }.project-menu-grid > nav { margin-bottom:20px; }.project-menu-grid h2 { font:600 14px var(--md-text-font-family); text-transform:none; letter-spacing:0; margin:0 0 10px; }.project-menu-grid a { font-size:15px; color:var(--ink); border-radius:6px; padding:10px 12px; line-height:1.4; }.project-menu-grid a:hover, .project-menu-grid a[aria-current] { background:var(--green-soft); color:var(--green); text-decoration:none; }.finder-ready .project-menu-panel { display:grid; grid-template-columns:190px minmax(0,1fr); }.finder-ready .project-menu-heading { grid-column:1/-1; }.project-menu-categories { padding:12px; border-right:1px solid var(--line); background:var(--paper); }.project-menu-categories button { display:block; width:100%; text-align:left; border-radius:5px; padding:8px 10px; font:14px var(--md-text-font-family); cursor:pointer; color:var(--muted); line-height:1.35; }.project-menu-categories button[aria-pressed=true] { color:var(--green); background:var(--green-soft); font-weight:600; }.finder-ready .project-menu-grid { max-height:360px; overflow:auto; min-height:320px; }.project-menu-grid a:focus-visible, .project-menu-categories button:focus-visible, .inspector-controls button:focus-visible, .inspector-controls select:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
@media(max-width:900px) { .section-editorial { grid-template-columns:190px minmax(0,1fr); gap:24px; }.footer-main { grid-template-columns:repeat(3,1fr); }.footer-intro { grid-column:1/-1; }.hero-caption { font-size:11px; }.data-hero { grid-template-columns:1fr; }.hero-copy { max-width:650px; } }
@media(max-width:600px) { body { --type-body:15px; --type-title:30px; --type-section:21px; }.md-typeset .data-hero h1 { font-size:40px; letter-spacing:-1.4px; }.eyebrow { font-size:11px; }.hero-caption { font-size:11px; letter-spacing:0; }.hero-description { font-size:15px; }.data-hero { padding:32px 0; }.hero-actions { gap:10px; }.md-typeset .action { font-size:14px; padding:12px 14px; gap:12px; }.md-typeset .section-top h2, .md-typeset .project-spotlight h2 { font-size:27px; }.foundation-strip span { font-size:12px; }.phase-tags { font-size:12px; }.footer-main { grid-template-columns:1fr 1fr; }.section-editorial { display:block; }.notebook-content .home-hero { padding:12px 0 24px; }.notebook-content .home-hero p, .section-body p, .section-body > ul, .section-body > ol { font-size:15px; }.md-typeset .insight-list { grid-template-columns:1fr; }.md-typeset .architecture-flow > ul { grid-template-columns:1fr; gap:24px; }.architecture-flow > ul > li:not(:last-child)::after { content:'↓'; top:auto; bottom:-27px; right:50%; }.content-inspector > .chapter-panel { padding:20px; }.inspector-controls { padding:18px; }.inspector-controls label { align-items:start; flex-direction:column; gap:10px; }.inspector-controls select { width:100%; }.inspector-steps { flex-direction:column; }.chapter-pages a { font-size:13px; }.project-menu > summary { font-size:13px; padding:9px; gap:8px; }.studio-header .md-header__inner { gap:6px; }.studio-brand { font-size:17px; }.brand-subtitle { font-size:8px; }.project-menu-panel { right:10px; width:calc(100vw - 20px); }.finder-ready .project-menu-panel { grid-template-columns:128px minmax(0,1fr); }.project-menu-heading { padding:16px; }.project-menu-categories { padding:8px; }.project-menu-categories button { font-size:12px; padding:9px 6px; }.project-menu-grid { padding:12px; }.project-menu-grid a { font-size:14px; padding:10px 8px; }.finder-ready .project-menu-grid { min-height:330px; max-height:360px; }.project-menu-grid h2 { font-size:13px; }.notebook .pdf-embed__toolbar { gap:12px; }.notebook-pagination a { padding:16px; } }
@media print { .project-menu, .inspector-controls { display:none !important; }.notebook .content-inspector > .chapter-panel[hidden] { display:block !important; }.topic-disclosure { display:block; }.topic-disclosure::details-content { display:block; content-visibility:visible; }.section-editorial { display:block; } }
.project-menu-panel, .project-menu-panel * { box-sizing:border-box; }
.finder-ready .project-menu-grid { min-width:0; }
.md-typeset .section-body > ul.insight-list { display:grid; padding:0; margin:20px 0; }
.md-typeset .section-body > ul.insight-list > li { margin:0; }
.scene-heading, .scene-bottom { font-size:10px; }.scene-note { font-size:12px; }.scene-note > span:last-child { font-size:10px; }.entity { font-size:10px; }.entity .entity-title { font-size:12px; }.entity > div > span:last-child, .entity-title small { font-size:9px; }.entity b { font-size:9px; }.database-core > span { font-size:8px; letter-spacing:.3px; }
@media(max-width:600px) { .scene-heading, .scene-bottom { font-size:8px; }.scene-note { font-size:10px; }.scene-note > span:last-child { font-size:8px; }.entity { font-size:9px; }.entity .entity-title { font-size:10px; }.entity > div > span:last-child { font-size:7px; }.database-core > span { font-size:6px; } }
