@font-face{font-family:"Ingest Plex Sans";src:url("fonts/ibm-plex-sans.ttf") format("truetype");font-style:normal;font-weight:100 700;font-display:swap}
@font-face{font-family:"Ingest iA Writer Mono";src:url("fonts/ia-writer-mono.ttf") format("truetype");font-style:normal;font-weight:400 700;font-display:swap}
/* Shared Ingest design: warm paper, readable ink, restrained amber. */
body.app-ingest{color-scheme:light;--bg:#fbfaf7;--surface:#fff;--ink:#242622;--muted:#60635d;--accent:#86520b;--line:#dedfd7;--soft:#eeeee7;--focus:#9c5e06;background:var(--bg);color:var(--ink);font-family:"Ingest Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.app-ingest .family-header{max-width:1248px;padding:22px 24px}
.app-ingest .family-brand{font-size:22px;font-weight:650;letter-spacing:-.6px}
.app-ingest .family-header nav{align-items:center;gap:28px}
.app-ingest .family-header nav a{color:var(--muted);text-decoration:none}
.app-ingest .family-header nav a:hover{text-decoration:underline;color:var(--ink)}
.app-ingest .family-header .nav-download{border:1px solid var(--line);border-radius:8px;padding:9px 14px;color:var(--ink);background:var(--surface);font-weight:600}
.app-ingest .family-footer{max-width:1248px;color:var(--muted);padding:28px 24px}
.app-ingest .family-footer a{color:var(--muted)}
.app-ingest :focus-visible{outline:3px solid var(--focus);outline-offset:5px}
.app-ingest .desktop-shot{margin:28px 0;padding:14px;background:var(--soft);border:1px solid var(--line);border-radius:12px}
.app-ingest .desktop-shot>a{display:block;width:fit-content;max-width:100%;margin:auto}
.app-ingest .desktop-shot img{display:block;width:100%;max-width:var(--capture-width,100%);height:auto;margin:auto;border-radius:6px}
.app-ingest .desktop-shot figcaption{font-size:13px;line-height:1.6;color:var(--muted);padding:14px 3px 0}
.app-ingest kbd{font:500 .88em "Ingest iA Writer Mono",ui-monospace,SFMono-Regular,Menlo,monospace;padding:.18em .42em;border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;background:var(--soft);color:var(--ink);white-space:nowrap}
.app-ingest code{font:500 .9em "Ingest iA Writer Mono",ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--accent);overflow-wrap:anywhere}
/* Documentation navigation stays available without JavaScript. */
.ingest-docs .docs-nav{max-width:1200px;margin:auto;display:flex;flex-wrap:wrap;gap:4px 22px;padding:16px 24px;border-bottom:1px solid var(--line)}
.ingest-docs .docs-nav a{display:inline-flex;align-items:center;min-height:44px;font-size:13px;text-decoration:none;color:var(--muted);border-bottom:2px solid transparent}
.ingest-docs .docs-nav a:hover{color:var(--accent);text-decoration:underline}
.ingest-docs .docs-nav a[aria-current=page]{color:var(--accent);font-weight:650;border-color:var(--accent)}
.ingest-docs .family-document{max-width:920px;margin:60px auto 0;padding:0 24px;line-height:1.75;overflow-wrap:anywhere}
.ingest-docs .reference{max-width:1080px}
.ingest-docs h1,.ingest-docs h2,.ingest-docs h3{color:var(--ink);text-wrap:balance}
.ingest-docs h1{font-size:clamp(36px,4.8vw,58px);line-height:1.08;letter-spacing:-.035em;max-width:20ch;margin:0 0 24px}
.ingest-docs h2{font-size:30px;line-height:1.2;margin:36px 0 16px;letter-spacing:-.025em}
.ingest-docs h3{font-size:21px;line-height:1.3;margin:28px 0 12px;letter-spacing:-.015em}
.ingest-docs p,.ingest-docs li,.ingest-docs dd{color:var(--muted)}
.ingest-docs p{margin:0 0 20px;max-width:78ch}
.ingest-docs strong{color:var(--ink)}
.ingest-docs li+li{margin-top:9px}
.ingest-docs .eyebrow{color:var(--accent);font-size:11px;letter-spacing:.09em;font-weight:650;margin-bottom:18px}
.ingest-docs .intro{font-size:20px;line-height:1.6;max-width:68ch;margin-bottom:32px}
.ingest-docs [id]{scroll-margin-top:28px}
.ingest-docs .guide-toc{position:static;display:flex;flex-wrap:wrap;gap:4px 22px;padding:20px 0;border-block:1px solid var(--line);margin:30px 0 38px}
.ingest-docs .guide-toc a{display:inline-flex;align-items:center;min-height:40px;font-size:14px;padding:6px 0;text-decoration:none}
.ingest-docs .guide-toc a:hover{text-decoration:underline}
.ingest-docs .family-document>section,.ingest-docs .guide-section{padding:8px 0 26px;border-bottom:1px solid var(--line)}
.ingest-docs .guide-table{overflow-x:auto;max-width:100%;margin:24px 0;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.ingest-docs .guide-table table{width:100%;border-collapse:collapse;table-layout:auto;text-align:left;font-size:15px;line-height:1.65}
.ingest-docs .guide-table th,.ingest-docs .guide-table td{padding:14px 16px;border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:normal;word-break:normal}
.ingest-docs .guide-table th{color:var(--ink);font-size:13px;font-weight:650;background:var(--soft)}
.ingest-docs .guide-table td{color:var(--muted)}
.ingest-docs .guide-table td:first-child{min-width:145px;color:var(--ink);white-space:nowrap}
.ingest-docs .guide-table td:nth-child(2){overflow-wrap:break-word}
.ingest-docs .guide-table th:last-child,.ingest-docs .guide-table td:last-child{white-space:nowrap;min-width:9.5rem}
.ingest-docs .guide-table tr:last-child td{border-bottom:0}
.ingest-docs .guide-definitions dt,.ingest-docs dt{font-weight:650;color:var(--ink);margin-top:22px}
.ingest-docs dd{margin:6px 0 18px}
.ingest-docs .steps{counter-reset:step;list-style:none;padding:0}
.ingest-docs .steps>li{counter-increment:step;position:relative;padding:0 0 32px 58px;border-bottom:1px solid var(--line);margin:0 0 32px}
.ingest-docs .steps>li::before{content:counter(step);position:absolute;left:0;top:0;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--accent);display:grid;place-items:center;font-size:14px;font-weight:650}
.ingest-docs .steps h2{margin:0 0 14px;font-size:27px}
.ingest-docs .note{border-left:3px solid var(--accent);padding:18px 22px;background:var(--soft);margin:24px 0}
.ingest-docs .note p:last-child{margin-bottom:0}
.ingest-docs .release-index{display:flex;flex-wrap:wrap;gap:6px 20px;padding:20px 0;border-block:1px solid var(--line);margin:30px 0}
.ingest-docs .release-index a{padding:8px 0;min-height:40px;font-size:14px}
.ingest-docs .release-entry{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:30px;margin:24px 0;scroll-margin-top:24px}
.ingest-docs .release-entry h2{margin:8px 0 14px;font-size:34px}
.ingest-docs .release-entry h3{font-size:22px;margin-top:4px}
.ingest-docs .release-entry li{margin:12px 0}
.ingest-docs .release-entry ul{padding-left:22px}
.ingest-docs .doc-next{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:48px;padding:26px 0;border-block:1px solid var(--line);font-size:14px}
.ingest-docs .doc-next p{margin:0;color:var(--ink);font-weight:600}
@media(max-width:760px){.app-ingest .family-header{padding:16px 20px;gap:12px}.app-ingest .family-header nav{gap:16px}.app-ingest .family-brand{font-size:20px}.app-ingest .family-brand img{width:30px;height:30px}.ingest-docs .docs-nav{padding:10px 20px;gap:0 18px}.ingest-docs .family-document{margin-top:36px;padding:0 20px}.ingest-docs .intro{font-size:18px}.ingest-docs h2{font-size:26px}.ingest-docs .guide-toc{gap:0 18px;margin-block:26px}.ingest-docs .guide-table th,.ingest-docs .guide-table td{padding:12px}.ingest-docs .guide-table table{font-size:14px}.ingest-docs .steps>li{padding:46px 0 26px}.ingest-docs .steps h2{font-size:25px}.ingest-docs .release-entry{padding:22px 18px}.app-ingest .desktop-shot{padding:8px}.ingest-docs .desktop-shot figcaption{font-size:12px}.ingest-docs .doc-next{display:block}.ingest-docs .doc-next a{display:inline-block;margin:12px 18px 0 0;min-height:32px}}


/* Site command palette */
.ingest-docs .family-header .nav-search,
.app-ingest .family-header .nav-search{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:7px 12px;color:var(--muted);background:var(--surface);font:inherit;font-size:13px;cursor:pointer;text-decoration:none}
.ingest-docs .family-header .nav-search:hover,
.app-ingest .family-header .nav-search:hover{color:var(--ink);text-decoration:none}
.ingest-docs .family-header .nav-search kbd,
.app-ingest .family-header .nav-search kbd{font:500 11px "Ingest iA Writer Mono",ui-monospace,SFMono-Regular,Menlo,monospace;padding:.12em .4em;border:1px solid var(--line);border-radius:4px;background:var(--soft);color:var(--muted)}
html.ingest-palette-open{overflow:hidden}
.ingest-palette{position:fixed;inset:0;z-index:1000;display:grid;place-items:start center;padding:12vh 16px 24px}
.ingest-palette[hidden]{display:none!important}
.ingest-palette-backdrop{position:absolute;inset:0;background:rgba(22,20,16,.42)}
.ingest-palette-dialog{position:relative;width:min(560px,100%);background:var(--surface,#fff);color:var(--ink,#1c1914);border:1px solid var(--line,#d9d3c7);border-radius:14px;box-shadow:0 24px 80px rgba(22,20,16,.28);overflow:hidden}
.ingest-palette-input-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line,#d9d3c7)}
.ingest-palette-input{flex:1;border:0;outline:0;font:inherit;font-size:17px;background:transparent;color:inherit}
.ingest-palette-esc{font:500 11px "Ingest iA Writer Mono",ui-monospace,SFMono-Regular,Menlo,monospace;padding:.18em .45em;border:1px solid var(--line,#d9d3c7);border-radius:5px;color:var(--muted,#6d675c)}
.ingest-palette-list{list-style:none;margin:0;padding:8px;max-height:min(52vh,420px);overflow:auto}
.ingest-palette-option{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 12px;border-radius:8px;cursor:pointer}
.ingest-palette-option.is-active{background:var(--soft,#f4f1e9)}
.ingest-palette-title{font-size:15px;line-height:1.35;color:var(--ink,#1c1914)}
.ingest-palette-hint{font-size:12px;color:var(--muted,#6d675c);white-space:nowrap}
.ingest-palette-empty{margin:0;padding:28px 18px;color:var(--muted,#6d675c);font-size:14px}
.ingest-palette-footer{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:10px 16px 14px;border-top:1px solid var(--line,#d9d3c7);font-size:12px;color:var(--muted,#6d675c)}
@media(max-width:600px){
  .ingest-palette{padding-top:8vh}
  .ingest-docs .family-header .nav-search kbd,
  .app-ingest .family-header .nav-search kbd{display:none}
}




/* Typing grammar demos (rename tokens only) */
.typing-demo{margin:28px 0;padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.typing-demo h3{margin:0 0 8px;font-size:18px;letter-spacing:-.015em}
.typing-demo>p{margin:0 0 14px;font-size:14px;color:var(--muted);max-width:none}
.typing-demo-shell{position:relative}
.typing-demo-input{width:100%;box-sizing:border-box;font:500 15px "Ingest iA Writer Mono",ui-monospace,SFMono-Regular,Menlo,monospace;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}
.typing-demo-hint{margin:10px 0 0;font-size:13px;color:var(--muted)}
.typing-demo-output{margin-top:12px;padding:12px 14px;border-radius:8px;background:var(--surface);border:1px solid var(--line);font:500 15px "Ingest iA Writer Mono",ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--ink);overflow-wrap:anywhere}
.ingest-home .typing-demo{background:#f4f1e9}

/* Keep mobile header actions together beside the logo. */
.app-ingest .family-header .nav-download-icon{display:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:760px){
  .app-ingest .family-header{display:grid;grid-template-columns:minmax(0,1fr) max-content max-content;grid-template-rows:auto auto;column-gap:12px;row-gap:8px;align-items:center}
  .app-ingest .family-header .family-brand{grid-column:1;grid-row:1}
  .app-ingest .family-header nav{display:contents}
  .app-ingest .family-header nav>a:nth-of-type(1){grid-column:1;grid-row:2;white-space:nowrap}
  .app-ingest .family-header nav>a:nth-of-type(2){grid-column:2;grid-row:2;white-space:nowrap}
  .app-ingest .family-header nav>a:nth-of-type(3){grid-column:3;grid-row:2;white-space:nowrap}
  .app-ingest .family-header nav>.nav-search{grid-column:2;grid-row:1;white-space:nowrap}
  .app-ingest .family-header nav>.nav-download{grid-column:3;grid-row:1;justify-self:end;width:36px;height:36px;padding:7px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
  .app-ingest .family-header nav>.nav-download .nav-download-label{display:none}
  .app-ingest .family-header nav>.nav-download .nav-download-icon{display:block}
}

/* The landing page stylesheet comes after this file; keep its mobile header grid. */
@media (max-width:760px){
  .app-ingest.ingest-home .family-header{display:grid}
  .app-ingest.ingest-home .family-header nav{display:contents}
}

/* Ingest lightbox + detail modals (cream / IBM Plex). */
html.ingest-overlay-open{overflow:hidden;overscroll-behavior:none}
.ingest-overlay{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:max(12px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
.ingest-overlay-backdrop{position:absolute;inset:0;background:rgba(22,20,16,.55)}
.ingest-overlay-dialog{position:relative;z-index:1;width:min(960px,100%);max-height:min(92vh,920px);overflow:auto;background:var(--surface,#fff);color:var(--ink,#242622);border:1px solid var(--line,#dedfd7);border-radius:16px;box-shadow:0 28px 90px rgba(22,20,16,.34);padding:28px 24px 24px;font-family:"Ingest Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.ingest-overlay-close{position:absolute;top:12px;right:12px;font:inherit;font-size:13px;font-weight:600;min-height:40px;padding:8px 14px;border:1px solid var(--line,#dedfd7);border-radius:8px;background:var(--soft,#eeeee7);color:var(--ink,#242622);cursor:pointer}
.ingest-overlay-close:hover{background:#efad39;color:#231908;border-color:#d2942b}
.ingest-overlay-body{padding-top:8px}
.ingest-lightbox .ingest-overlay-dialog{width:min(1100px,100%);padding:18px;background:#111113;border-color:#2a2a2c;color:#f4f1e9}
.ingest-lightbox .ingest-overlay-close{background:#1c1c1e;color:#f4f1e9;border-color:#3a3a3c}
.ingest-lightbox .ingest-overlay-close:hover{background:#efad39;color:#231908;border-color:#d2942b}
.ingest-lightbox-figure{margin:0}
.ingest-lightbox-figure img{display:block;width:100%;height:auto;max-height:min(78vh,860px);object-fit:contain;margin:auto;border-radius:8px;background:#000}
.ingest-lightbox-figure figcaption{margin:14px 4px 0;font-size:13px;line-height:1.55;color:#c9c6bc}
.ingest-detail-title{font-size:clamp(22px,3vw,30px);line-height:1.15;letter-spacing:-.025em;margin:0 28px 14px 0;color:var(--ink,#242622);font-weight:600}
.ingest-detail-copy{font-size:15px;line-height:1.7;color:var(--muted,#60635d);max-width:62ch}
.ingest-detail-copy p{margin:0 0 14px}
.ingest-detail-copy p:last-child{margin-bottom:0}
.ingest-detail-copy kbd{font:500 .88em "Ingest iA Writer Mono",ui-monospace,SFMono-Regular,Menlo,monospace;padding:.18em .42em;border:1px solid var(--line,#dedfd7);border-bottom-width:2px;border-radius:5px;background:var(--soft,#eeeee7);color:var(--ink,#242622)}
.ingest-detail-copy a{color:var(--accent,#86520b)}
.ingest-detail-chips{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.ingest-detail-chip{font:inherit;font-size:13px;font-weight:600;color:var(--muted,#60635d);background:var(--surface,#fff);border:1px solid #d2d4cc;border-radius:999px;padding:8px 14px;min-height:40px;cursor:pointer;box-shadow:0 1px 1px #25281e0a}
.ingest-detail-chip:hover,.ingest-detail-chip:focus-visible{color:var(--ink,#242622);background:#f4f1e9;border-color:#b8bbb1}
.ingest-detail-chip:focus-visible{outline:2px solid var(--ink,#242622);outline-offset:3px}
.ingest-detail-source[hidden]{display:none!important}
@media(max-width:600px){
  .ingest-overlay{padding:8px;align-items:end}
  .ingest-overlay-dialog{width:100%;max-height:min(94vh,100%);border-radius:14px 14px 10px 10px;padding:22px 16px 18px}
  .ingest-lightbox .ingest-overlay-dialog{align-self:center;border-radius:12px;padding:12px}
  .ingest-lightbox-figure img{max-height:min(70vh,640px)}
  .ingest-detail-title{font-size:22px;margin-right:64px}
  .ingest-detail-chips{gap:6px}
  .ingest-detail-chip{font-size:12px;padding:8px 12px}
}


/* Workspace setup detail bodies (chips → modal). */
.ingest-detail-copy .workspace-pitch{font-size:clamp(20px,2.4vw,26px);line-height:1.2;letter-spacing:-.025em;margin:0 0 10px;color:var(--ink,#242622);font-weight:600}
.ingest-detail-copy .workspace-description{font-size:15px;line-height:1.65;margin:0 0 18px}
.ingest-detail-copy h4{font-size:13px;line-height:1.5;margin:22px 0 10px;color:var(--ink,#242622);font-weight:650}
.ingest-detail-copy .workspace-summary{margin:0;border-top:1px solid var(--line,#dedfd7)}
.ingest-detail-copy .workspace-summary>div{padding:12px 0;border-bottom:1px solid var(--line,#dedfd7);display:grid;grid-template-columns:95px minmax(0,1fr);gap:12px;font-size:14px}
.ingest-detail-copy .workspace-summary dt{color:var(--muted,#60635d)}
.ingest-detail-copy .workspace-summary dd{margin:0;overflow-wrap:anywhere;color:var(--ink,#242622)}
.ingest-detail-copy .workspace-summary dd span{display:block}
.ingest-detail-copy .workspace-summary dd span+span{margin-top:4px;color:var(--muted,#60635d)}
.ingest-detail-copy .workspace-tree{font:500 12px "Ingest iA Writer Mono",ui-monospace,SFMono-Regular,Menlo,monospace;line-height:1.8;padding:16px;background:var(--soft,#eeeee7);border:1px solid var(--line,#dedfd7);border-radius:8px;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--ink,#242622)}
.ingest-detail-copy .workspace-backup{font-size:13px;line-height:1.7;overflow-wrap:anywhere;margin:0 0 8px}
.ingest-detail-copy .workspace-receiving{font-size:13px;color:var(--muted,#60635d);line-height:1.6;margin:0 0 18px}
.ingest-detail-copy .desktop-shot{margin:18px 0;padding:10px;background:var(--soft,#eeeee7);border:1px solid var(--line,#dedfd7);border-radius:10px}
.ingest-detail-copy .desktop-shot>a{display:block;width:fit-content;max-width:100%;margin:auto}
.ingest-detail-copy .desktop-shot img{display:block;width:100%;max-width:min(var(--capture-width,520px),100%);height:auto;margin:auto;border-radius:6px}
.ingest-detail-copy .desktop-shot figcaption{font-size:12px;line-height:1.5;color:var(--muted,#60635d);padding:10px 2px 0;display:flex;justify-content:space-between;gap:12px}
.ingest-detail-modal .ingest-overlay-dialog{width:min(720px,100%)}
.ingest-detail-copy{max-width:none}
@media(max-width:600px){
  .ingest-detail-copy .workspace-summary>div{grid-template-columns:1fr;gap:4px}
  .ingest-detail-copy .workspace-tree{padding:12px;font-size:11px}
}

/* Keep / feeling static on phones: vertical pan only, no sideways rubber-band. */
html:has(body.app-ingest),body.app-ingest{touch-action:pan-y pinch-zoom;overscroll-behavior-x:none}
body.app-ingest{overflow-x:hidden}
