/* IDE theme — shared CSS for full-site preview */
:root{
  --bg:#1e1e1e;--bg-2:#252526;--bg-3:#2d2d30;--bg-hover:#2a2d2e;
  --border:#3e3e42;--border-strong:#5a5d62;
  --text:#d4d4d4;--text-dim:#858585;
  --kw:#569cd6;--str:#ce9178;--com:#6a9955;--num:#b5cea8;--fn:#dcdcaa;--type:#4ec9b0;--const:#c586c0;--err:#f48771;
  --link:#3794ff;--accent:#0098d4;--accent-2:#16825d;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
html{scrollbar-width:thin;scrollbar-color:#525258 transparent}
body{font-family:'JetBrains Mono','Fira Code','Cascadia Mono',ui-monospace,Menlo,Consolas,monospace;background:var(--bg);color:var(--text);font-size:14px;line-height:1.55;overflow-x:hidden}
/* Webkit scrollbars — IDE-theme styling */
::-webkit-scrollbar{width:14px;height:14px;background:transparent}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#525258;border:4px solid transparent;background-clip:padding-box;border-radius:8px;min-height:40px}
::-webkit-scrollbar-thumb:hover{background:#6a6a72;background-clip:padding-box}
::-webkit-scrollbar-thumb:active{background:var(--accent);background-clip:padding-box}
::-webkit-scrollbar-corner{background:transparent}
/* Slim variant for narrow internal panes */
aside.sidebar::-webkit-scrollbar{width:10px}
aside.sidebar::-webkit-scrollbar-thumb{border-width:3px}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
::selection{background:#264f78}
.skip-to-content{position:absolute;left:-9999px;top:0}
.skip-to-content:focus{left:8px;top:8px;background:var(--accent);color:#fff;padding:8px 12px;z-index:1000}

/* ---------- IDE chrome ---------- */
.ide{display:flex;flex-direction:column;min-height:100vh}
.titlebar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:#323233;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-dim);position:sticky;top:0;z-index:30}
.traffic{display:flex;gap:8px}
.traffic span{width:12px;height:12px;border-radius:50%;display:inline-block}
.traffic span:nth-child(1){background:#ff5f57}
.traffic span:nth-child(2){background:#febc2e}
.traffic span:nth-child(3){background:#28c840}
.titlebar .title{flex:1;text-align:center;color:var(--text);letter-spacing:.02em}
.titlebar .meta{font-variant-numeric:tabular-nums}

.ide-body{display:grid;grid-template-columns:280px 1fr;flex:1;min-height:0}

/* ---------- Sidebar / file tree ---------- */
aside.sidebar{background:var(--bg-2);border-right:1px solid var(--border);padding:0;position:sticky;top:36px;align-self:start;height:calc(100vh - 36px);overflow-y:auto;z-index:10}
.explorer-label{padding:10px 16px;font-size:11px;letter-spacing:.12em;color:var(--text-dim);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}
.folder-line{padding:6px 12px;color:var(--text);font-size:13px;display:flex;align-items:center;gap:6px;font-weight:600}
.folder-line::before{content:"▾";color:var(--text-dim);font-size:10px}
.tree-list{list-style:none;padding-left:16px}
.tree-list a, .tree-list h4{display:flex;align-items:center;gap:8px;padding:4px 12px;color:var(--text);font-size:13px;font-weight:400;text-decoration:none;cursor:pointer}
.tree-list a:hover{background:var(--bg-hover);color:#fff;text-decoration:none}
.tree-list a.active{background:#37373d;color:#fff}
.tree-list a::before{content:"";display:inline-block;width:14px;height:14px;background:linear-gradient(135deg,#e8b339 50%,#f2d57b 50%);border-radius:1px;flex-shrink:0;opacity:.85}
.tree-list a.html::before{background:linear-gradient(135deg,#e34c26 50%,#f06529 50%)}
.tree-list a.md::before{background:linear-gradient(135deg,#519aba 50%,#73b7d7 50%)}
.tree-list a.sql::before{background:linear-gradient(135deg,#336791 50%,#4d7fa8 50%)}
.tree-list a.cfg::before{background:linear-gradient(135deg,#4caf50 50%,#81c784 50%)}
.tree-section{margin-top:18px}
.tree-section .tree-section-title{padding:4px 12px;font-size:11px;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:6px;font-weight:600}
.tree-section .tree-section-title::before{content:"▾";color:var(--text-dim);font-size:9px}
.sidebar-cta{padding:18px 16px;margin-top:24px;border-top:1px solid var(--border)}
.sidebar-cta a.btn-cta{display:block;text-align:center;padding:10px 14px;background:var(--accent);color:#fff;font-size:13px;font-weight:600;letter-spacing:.02em;border-radius:3px;text-decoration:none}
.sidebar-cta a.btn-cta:hover{background:#1aaee3;text-decoration:none}
.sidebar-cta .hint{font-size:11px;color:var(--text-dim);margin-top:8px;text-align:center}

/* ---------- Editor area ---------- */
.editor{display:flex;flex-direction:column;min-width:0}
.tab-bar{display:flex;background:var(--bg-3);border-bottom:1px solid var(--border);min-height:36px;overflow-x:auto}
.tab{display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--bg);color:var(--text);font-size:13px;border-right:1px solid var(--border);position:relative;cursor:default;white-space:nowrap}
.tab::before{content:"";width:14px;height:14px;background:linear-gradient(135deg,#e34c26 50%,#f06529 50%);border-radius:1px}
.tab.md::before{background:linear-gradient(135deg,#519aba 50%,#73b7d7 50%)}
.tab::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--accent)}
.tab .x{color:var(--text-dim);margin-left:6px;font-size:14px}
.tab.inactive{background:transparent;color:var(--text-dim)}
.tab.inactive::after{display:none}

.breadcrumb-bar{display:flex;align-items:center;gap:6px;padding:6px 18px;border-bottom:1px solid var(--border);font-size:12px;color:var(--text-dim);background:var(--bg)}
.breadcrumb-bar ol{list-style:none;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.breadcrumb-bar li{display:flex;align-items:center;gap:6px}
.breadcrumb-bar li::before{content:"›";color:var(--text-dim)}
.breadcrumb-bar li:first-child::before{content:""}
.breadcrumb-bar a{color:var(--text-dim)}
.breadcrumb-bar a:hover{color:var(--text);text-decoration:none}

.content{padding:32px 40px 80px;max-width:1100px;width:100%}

/* ---------- Typography ---------- */
.section-tag{font-size:11px;color:var(--text-dim);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.section-tag::before{content:"//";color:var(--com)}
h1{font-family:'Inter','Segoe UI',system-ui,sans-serif;font-size:42px;line-height:1.1;font-weight:700;letter-spacing:-0.02em;color:#fff;margin:24px 0 14px}
h2{font-family:'Inter',system-ui,sans-serif;font-size:26px;color:#fff;font-weight:700;letter-spacing:-0.01em;margin-bottom:8px;line-height:1.25}
h3{font-family:'Inter',sans-serif;font-size:17px;color:#fff;font-weight:600;margin:0 0 8px}
h4{font-family:'Inter',sans-serif;font-size:14px;color:var(--type);font-weight:600;margin:0 0 6px}
section{margin-bottom:64px;scroll-margin-top:20px}
.section-desc, .lede{color:var(--text);margin-bottom:28px;max-width:760px;font-size:14.5px}
.muted{color:var(--text-dim)}
.kw{color:var(--kw)}
.str{color:var(--str)}
.num{color:var(--num)}
.fn{color:var(--fn)}
.type{color:var(--type)}
.const{color:var(--const)}
.com{color:var(--com);font-style:italic}
.punc{color:var(--text)}
code{font-family:inherit;background:var(--bg-3);color:var(--str);padding:1px 6px;border-radius:3px;font-size:13px;border:1px solid var(--border)}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:3px;font-size:13px;font-weight:600;border:1px solid var(--border);background:var(--bg-3);color:var(--text);font-family:inherit;cursor:pointer;text-decoration:none;letter-spacing:.02em}
.btn:hover{background:#3c3c3c;text-decoration:none}
.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.btn-primary:hover{background:#1aaee3;color:#fff}
.btn-primary::before{content:"▶";font-size:10px}
.btn-large{padding:13px 24px;font-size:14px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}

/* ---------- Query block + result table (Hero metaphor) ---------- */
.query-block{margin-bottom:28px;background:#0d1117;border:1px solid var(--border);border-radius:6px;overflow:hidden}
.query-bar{padding:8px 14px;background:var(--bg-3);font-size:12px;color:var(--text-dim);display:flex;justify-content:space-between;border-bottom:1px solid var(--border);align-items:center;gap:10px}
.query-bar .run{color:var(--accent-2);font-weight:600}
.query-body{padding:18px 22px;font-size:14.5px;line-height:1.7}
.query-body .ln{color:var(--text-dim);user-select:none;display:inline-block;width:24px;text-align:right;margin-right:18px;font-variant-numeric:tabular-nums}

.result-table{width:100%;border:1px solid var(--border);border-collapse:collapse;font-size:13px;margin-bottom:14px;font-family:'JetBrains Mono',ui-monospace,monospace}
.result-table th{background:var(--bg-3);color:var(--type);text-align:left;padding:10px 14px;font-weight:600;letter-spacing:.03em;border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border)}
.result-table td{padding:10px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text);vertical-align:top}
.result-table th:last-child, .result-table td:last-child{border-right:0}
.result-table tr:last-child td{border-bottom:0}
.result-table td .num{color:var(--num)}
.result-table td .str::before, .result-table td .str::after{content:"'";color:var(--str)}
.result-table .ok{color:var(--accent-2)}
.result-table .err{color:var(--err)}
.result-meta{color:var(--com);font-style:italic;font-size:12.5px;margin-bottom:24px}
.result-meta::before{content:"-- "}

/* ---------- Terminal block ---------- */
.terminal{background:#0d1117;border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:22px}
.terminal-bar{padding:8px 14px;background:var(--bg-3);font-size:12px;color:var(--text-dim);display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}
.terminal-bar .traffic{margin-right:6px}
.terminal-bar .traffic span{width:10px;height:10px}
.terminal-bar .path{color:var(--type)}
.terminal-bar .right{margin-left:auto}
.terminal-body{padding:18px 22px;font-size:13.5px;line-height:1.85}
.terminal-body p{margin:0}
.prompt{color:var(--accent-2);font-weight:600}
.prompt::before{content:"$ ";color:var(--text-dim)}
.cmd{color:#fff}
.output{color:var(--text-dim);padding-left:14px;display:block}
.output.ok::before{content:"✓ ";color:var(--accent-2)}
.output.warn::before{content:"⚠ ";color:#dcdcaa}
.output.err::before{content:"✗ ";color:var(--err)}
.output.arrow::before{content:"→ ";color:var(--accent)}
.progress{display:inline-block;background:var(--bg-3);border:1px solid var(--border);border-radius:2px;height:8px;width:200px;overflow:hidden;vertical-align:middle;margin:0 8px}
.progress > span{display:block;height:100%;background:var(--accent-2);width:78%}

/* ---------- Schema diagram (databases) ---------- */
.schema{position:relative;padding:30px;background:#0d1117;border:1px solid var(--border);border-radius:6px;min-height:380px;display:grid;grid-template-columns:1fr 1.2fr 1fr;grid-template-rows:auto auto auto;gap:18px;align-items:center}
.schema-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.schema-svg line{stroke:var(--border-strong);stroke-width:1.5;stroke-dasharray:4 4}
.node{position:relative;z-index:1;background:var(--bg-2);border:1px solid var(--border);border-radius:5px;padding:14px 16px;display:flex;align-items:center;gap:12px;font-size:13px}
.node img{width:28px;height:28px}
.node .col{color:var(--text-dim);font-size:11px;display:block}
.node strong{color:var(--type);font-weight:600}
.node.center{grid-row:2;grid-column:2;background:linear-gradient(135deg,#0e2438,#1e3a52);border-color:var(--accent);padding:22px 26px;font-size:15px;flex-direction:column;align-items:flex-start;gap:6px;box-shadow:0 0 0 1px rgba(0,152,212,0.3),0 0 32px rgba(0,152,212,0.18)}
.node.center .pk{color:var(--const);font-size:11px;letter-spacing:.05em}
.node.center .tbl{color:#fff;font-weight:700;font-size:18px}
.node.n1{grid-row:1;grid-column:1}
.node.n2{grid-row:1;grid-column:3}
.node.n3{grid-row:2;grid-column:1}
.node.n4{grid-row:2;grid-column:3}
.node.n5{grid-row:3;grid-column:2}

/* ---------- Step grid (compact tertiary, after a terminal etc.) ---------- */
.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
.step{background:var(--bg-2);border:1px solid var(--border);border-radius:5px;padding:16px}
.step-id{font-size:11px;color:var(--const);letter-spacing:.08em;margin-bottom:6px}
.step h3{font-size:15px}
.step p{color:var(--text-dim);font-size:13px}
.step img{display:none}

/* ---------- PR comment thread (testimonials) ---------- */
.pr-thread{display:flex;flex-direction:column;gap:14px;border-left:2px solid var(--border);padding-left:20px;position:relative}
.pr-thread::before{content:"";position:absolute;left:-7px;top:8px;width:12px;height:12px;background:var(--accent-2);border-radius:50%;border:3px solid var(--bg)}
.pr-comment{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;overflow:hidden;position:relative}
.pr-comment::before{content:"";position:absolute;left:-21px;top:18px;width:10px;height:1px;background:var(--border)}
.pr-header{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-3);border-bottom:1px solid var(--border);font-size:13px;flex-wrap:wrap}
.pr-header img{width:24px;height:24px;border-radius:50%}
.pr-header .user{color:#fff;font-weight:600}
.pr-header .badge{font-size:10px;background:var(--bg);border:1px solid var(--border);color:var(--text-dim);padding:1px 8px;border-radius:12px;letter-spacing:.04em}
.pr-header .ts{color:var(--text-dim);font-size:12px;margin-left:auto}
.pr-body{padding:16px 18px;color:var(--text);font-size:14px;font-family:'Inter',sans-serif;line-height:1.55}

/* ---------- Markdown file grid (features) ---------- */
.file-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.md-file{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color .15s;text-decoration:none;color:inherit;display:block}
.md-file:hover{border-color:var(--border-strong);text-decoration:none}
.md-file-head{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-3);font-size:12px;color:var(--text-dim);border-bottom:1px solid var(--border)}
.md-file-head::before{content:"";width:14px;height:14px;background:linear-gradient(135deg,#519aba 50%,#73b7d7 50%);border-radius:1px}
.md-file-head .filename{color:var(--type)}
.md-file-head .size{margin-left:auto;color:var(--text-dim);font-size:11px}
.md-file-body{padding:18px 20px}
.md-file-body .icon-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:var(--accent)}
.md-file-body .icon-row svg{width:18px;height:18px}
.md-file-body h3{font-family:'Inter',sans-serif;font-size:16px;color:#fff;font-weight:600;margin-bottom:6px;letter-spacing:-0.01em}
.md-file-body h3::before{content:"# ";color:var(--text-dim);font-family:inherit;font-weight:400}
.md-file-body p{color:var(--text);font-size:13.5px}

/* ---------- Install/download section ---------- */
.install-section{background:linear-gradient(180deg,#0d1117 0%,#1a2734 100%);border:1px solid var(--accent);border-radius:8px;overflow:hidden}
.install-section .terminal-bar{background:rgba(0,152,212,0.08);border-bottom-color:rgba(0,152,212,0.3)}
.install-section .terminal-bar .path{color:var(--accent)}
.install-body{padding:24px 28px}
.install-body h2{margin-bottom:8px;font-size:22px}
.install-body > p{margin-bottom:18px;color:var(--text)}
.install-pre{background:#0a0e13;border:1px solid var(--border);border-radius:4px;padding:16px 18px;font-size:13px;line-height:1.85;margin-bottom:20px}
.install-pre .com{display:block;margin-bottom:6px}
.meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin-bottom:22px;font-size:12.5px}
.meta-grid div{color:var(--text-dim)}
.meta-grid div .v{color:var(--text);margin-left:6px}
.install-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.install-actions .docs-link{font-size:12.5px;color:var(--text-dim)}
.install-actions .docs-link a{color:var(--link)}

/* ---------- FAQ as code blocks ---------- */
.faq-blocks{display:flex;flex-direction:column;gap:10px}
.faq-block{background:var(--bg-2);border:1px solid var(--border);border-radius:5px;overflow:hidden}
.faq-q{width:100%;background:none;border:0;padding:12px 16px;text-align:left;font-family:inherit;font-size:14px;color:var(--text);display:flex;align-items:center;gap:10px;cursor:pointer}
.faq-q .arrow{color:var(--text-dim);font-size:10px;transition:transform .15s}
.faq-q .qtag{color:var(--com);font-style:italic;flex-shrink:0}
.faq-q .qtext{color:#fff;font-weight:500;text-align:left}
.faq-q:hover{background:var(--bg-hover)}
.faq-block[data-open="true"] .arrow{transform:rotate(90deg)}
.faq-a{padding:0 16px 14px 38px;display:none;font-size:13.5px;color:var(--text);font-family:'Inter',sans-serif;line-height:1.6}
.faq-a p{margin-bottom:8px}
.faq-a p:last-child{margin-bottom:0}
.faq-a::before{content:"// answer";display:block;color:var(--com);font-style:italic;font-family:'JetBrains Mono',monospace;margin-bottom:6px;font-size:12.5px}
.faq-block[data-open="true"] .faq-a{display:block}

/* ---------- Status bar (footer) ---------- */
.status-bar{display:flex;align-items:center;gap:14px;padding:5px 14px;background:var(--accent);color:#fff;font-size:11.5px;letter-spacing:.02em;border-top:1px solid var(--border);flex-wrap:wrap}
.status-bar a{color:#fff;text-decoration:none}
.status-bar a:hover{text-decoration:underline}
.status-bar .seg{display:flex;align-items:center;gap:6px;padding:0 8px}
.status-bar .seg:not(:last-child){border-right:1px solid rgba(255,255,255,0.25)}
.status-bar .grow{flex:1}

/* ---------- Generic content blocks for prose pages ---------- */
.panel{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:24px;margin-bottom:20px}
.panel h3{margin-bottom:10px}
.panel p{color:var(--text);font-size:14px;line-height:1.65;font-family:'Inter',sans-serif}
.panel p + p{margin-top:10px}
.panel ul, .panel ol{margin:10px 0 0 22px;font-family:'Inter',sans-serif;font-size:14px;line-height:1.7;color:var(--text)}
/* When <ol>/<ul> uses class="panel" directly (not nested in a .panel wrapper), ensure list markers have room to render inside the box. Global *{padding:0} reset zeros the browser default, so without this the markers overflow left of the panel border. */
ol.panel, ul.panel{padding-left:50px;font-family:'Inter',sans-serif;font-size:14px;line-height:1.75;color:var(--text)}
ol.panel li, ul.panel li{padding-left:6px}
ol.panel li::marker{color:var(--type);font-family:'JetBrains Mono','Fira Code',ui-monospace,monospace;font-weight:600}
.panel li{margin-bottom:6px}
.panel li code{font-size:12.5px}
.panel li::marker{color:var(--type)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.four-col{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}

/* Tag chips */
.tag{display:inline-block;background:var(--bg-3);border:1px solid var(--border);color:var(--text);padding:3px 10px;border-radius:12px;font-size:12px;margin:2px 4px 2px 0}
.tag.new{background:rgba(34,197,94,0.12);border-color:rgba(34,197,94,0.4);color:#22c55e}
.tag.improved{background:rgba(0,152,212,0.12);border-color:rgba(0,152,212,0.4);color:var(--accent)}
.tag.fix{background:rgba(244,135,113,0.12);border-color:rgba(244,135,113,0.4);color:var(--err)}

/* Trust badges */
.trust-row{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0 26px}
.trust-chip{display:inline-flex;align-items:center;gap:8px;background:var(--bg-2);border:1px solid var(--border);padding:8px 14px;border-radius:4px;font-size:13px;color:var(--text)}
.trust-chip .ic{color:var(--fn)}

/* Comparison table styling */
.cmp-table{width:100%;border-collapse:collapse;border:1px solid var(--border);font-size:13px;margin:8px 0 24px;font-family:'JetBrains Mono',monospace}
.cmp-table th{background:var(--bg-3);color:var(--type);text-align:left;padding:10px 14px;font-weight:600;border-right:1px solid var(--border);border-bottom:1px solid var(--border-strong)}
.cmp-table td{padding:10px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text)}
.cmp-table th:last-child, .cmp-table td:last-child{border-right:0}
.cmp-table tr:last-child td{border-bottom:0}
.cmp-table .check{color:var(--accent-2)}
.cmp-table .cross{color:var(--err)}

/* Problems-panel style for help troubleshooting cards */
.problems-list{list-style:none;display:flex;flex-direction:column;gap:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg-2)}
.problem-row{display:grid;grid-template-columns:36px 1fr auto;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border);align-items:center;text-decoration:none;color:inherit;transition:background .12s}
.problem-row:hover{background:var(--bg-hover);text-decoration:none}
.problem-row:last-child{border-bottom:0}
.problem-row .sev{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}
.problem-row .sev.err{background:var(--err)}
.problem-row .sev.warn{background:#dcdcaa;color:var(--bg)}
.problem-row .sev.info{background:var(--accent)}
.problem-row .ttl{color:#fff;font-size:14.5px;font-weight:500;margin-bottom:2px;font-family:'Inter',sans-serif}
.problem-row .desc{color:var(--text-dim);font-size:13px;font-family:'Inter',sans-serif;line-height:1.4}
.problem-row .ext{color:var(--text-dim);font-size:12px;font-variant-numeric:tabular-nums}

/* Command palette style (help "How do I...") */
.cmd-group{margin-bottom:28px}
.cmd-group-title{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--const);margin-bottom:8px;font-weight:600}
.cmd-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.cmd-item{background:var(--bg-2);border:1px solid var(--border);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;transition:all .12s}
.cmd-item:hover{background:var(--bg-hover);border-color:var(--accent);text-decoration:none}
.cmd-item .kbd{font-size:11px;color:var(--const);letter-spacing:.05em;margin-bottom:4px;font-family:'JetBrains Mono',monospace}
.cmd-item .ttl{color:#fff;font-size:14px;font-family:'Inter',sans-serif;font-weight:500}
.cmd-item .sub{color:var(--text-dim);font-size:12.5px;font-family:'Inter',sans-serif;margin-top:2px}

/* Legal document styling */
.doc-toc{position:sticky;top:0;background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:14px 18px;margin-bottom:22px}
.doc-toc-label{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);margin-bottom:10px}
.doc-toc ol{margin-left:18px;font-family:'Inter',sans-serif;font-size:13px;color:var(--text)}
.doc-toc ol li{margin-bottom:4px}
.doc-toc a{color:var(--link)}

.doc-section{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:30px 32px;margin-bottom:22px}
.doc-section h2::before{content:"## ";color:var(--text-dim);font-weight:400}
.doc-section h3{margin-top:22px;font-size:16px;color:var(--type)}
.doc-section h3::before{content:"### ";color:var(--text-dim);font-weight:400}
.doc-section p, .doc-section li{font-family:'Inter',sans-serif;font-size:14px;line-height:1.7;color:var(--text)}
.doc-section ul{margin:8px 0 16px 24px}
.doc-section ul li{margin-bottom:6px}
.doc-section strong{color:#fff}

/* 404 page */
.error-screen{padding:60px 40px;text-align:center;background:#0d1117;border:1px solid var(--err);border-radius:6px;margin:40px auto;max-width:780px}
.error-banner{font-size:13px;color:var(--err);letter-spacing:.08em;margin-bottom:18px;font-weight:600}
.error-banner::before{content:"✗ ";font-size:16px}
.error-code{font-family:'Inter',sans-serif;font-size:120px;font-weight:800;line-height:1;letter-spacing:-0.04em;background:linear-gradient(180deg,var(--err),#c0392b);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px}
.error-title{font-family:'Inter',sans-serif;font-size:28px;color:#fff;margin-bottom:16px}
.error-trace{background:#0a0e13;border:1px solid var(--border);border-radius:4px;padding:14px 18px;font-size:13px;text-align:left;color:var(--text-dim);margin:24px auto;max-width:540px}
.error-trace .ln{color:var(--err)}
.error-msg{color:var(--text);font-family:'Inter',sans-serif;margin-bottom:28px;font-size:15px}
.error-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:22px}
.error-links{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;font-size:13px;color:var(--text-dim)}

/* Tool demo walkthrough block */
.tut-block{background:#0d1117;border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:22px}
.tut-head{padding:12px 16px;background:var(--bg-3);border-bottom:1px solid var(--border);font-size:12px;color:var(--text-dim);font-family:'JetBrains Mono','Fira Code',ui-monospace,Menlo,Consolas,monospace;display:flex;justify-content:space-between;align-items:center;gap:10px}
.tut-body{padding:20px 24px;font-family:'Inter',sans-serif}
.tut-body p{color:var(--text);font-size:14px;margin-bottom:14px;line-height:1.65}
.tut-body p:last-child{margin-bottom:0}
.tut-body strong{color:#fff;font-weight:600}
.tut-body pre{background:#0a0e13;border:1px solid var(--border);border-radius:4px;padding:14px 18px;font-family:'JetBrains Mono','Fira Code',ui-monospace,Menlo,Consolas,monospace;font-size:13px;line-height:1.7;margin:12px 0 16px;overflow-x:auto;color:var(--text);white-space:pre}
.tut-body code{font-size:12.5px}
.tut-footer{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);color:var(--text-dim);font-size:13px}

/* Contact form */
.contact-form{background:var(--bg-2);border:1px solid var(--border);border-radius:6px;padding:24px;margin-bottom:22px}
.field{margin-bottom:14px}
.field label{display:block;font-size:12px;color:var(--type);margin-bottom:6px;font-family:'JetBrains Mono',monospace}
.field label::before{content:"// ";color:var(--com)}
.field input, .field textarea{width:100%;background:#0d1117;border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:3px;font-family:inherit;font-size:13.5px}
.field input:focus, .field textarea:focus{outline:0;border-color:var(--accent)}
.field textarea{min-height:120px;resize:vertical}

/* What's new changelog */
.changelog{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.changelog-row{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:10px 14px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;align-items:flex-start}
.changelog-row .what{font-family:'Inter',sans-serif;font-size:14px;color:var(--text)}

/* ---------- Utility classes — replace formerly-inline style attributes ---------- */
/* Trademark footer block — was duplicated as inline style on every page */
.tm-note{max-width:1100px;margin:0 auto;padding:14px 40px;font-size:11.5px;color:var(--text-dim);border-top:1px solid var(--border);background:var(--bg-2);text-align:center;line-height:1.6}
.tm-note .label{color:var(--com)}
.tm-note .domain{color:var(--type);background:none;border:0;padding:0}

/* Spacing */
.mt-sm{margin-top:0.5rem}
.mt-md{margin-top:0.75rem}
.mt-lg{margin-top:1rem}
.mt-xl{margin-top:1.25rem}
.mt-14{margin-top:14px}
.mt-18{margin-top:18px}
.mt-20{margin-top:20px}
.mt-24{margin-top:24px}
.mb-0016{margin:0 0 16px}

/* Compound: small print under a panel */
.fineprint{margin-top:18px;color:var(--text-dim);font-size:13px;font-family:'Inter',sans-serif}
.tip-12{margin-top:10px;font-size:12px}
.tip-14{margin-top:14px;font-size:12px}

/* Hero lede sentence */
.lede-prose{margin-bottom:16px;font-size:15px}

/* Element state */
.no-click{cursor:default}

/* Severity / info-badge color (used inside .sev) */
.sev-i{background:#264f78;color:#9cdcfe}

/* Error-state colors */
.text-err{color:var(--err)}
.bg-err{background:var(--err)}
.text-err-hex{color:#f48771}
.border-accent{border-color:var(--accent)}

/* ---------- Mobile nav (replaces sidebar at narrow widths) ---------- */
.mobile-nav{display:none}

/* ---------- Responsive ---------- */
@media (max-width:880px){
  .ide-body{grid-template-columns:1fr}
  aside.sidebar{display:none}
  .content{padding:24px 18px 60px}
  h1{font-size:30px}
  .schema{grid-template-columns:1fr;grid-template-rows:auto;min-height:0}
  .node.center,.node.n1,.node.n2,.node.n3,.node.n4,.node.n5{grid-column:1;grid-row:auto}
  .schema-svg{display:none}
  .step-grid,.file-grid,.three-col,.four-col,.two-col,.cmd-list{grid-template-columns:1fr}
  .meta-grid{grid-template-columns:1fr}
  .status-bar{flex-wrap:wrap}
  .cmp-table{font-size:12px}
  .cmp-table th, .cmp-table td{padding:6px 8px}
  .error-code{font-size:80px}
  /* mobile pill-nav fallback for the sidebar's file tree */
  .mobile-nav{display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;background:var(--bg-2);border-bottom:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mobile-nav a{display:inline-flex;align-items:center;gap:6px;background:var(--bg-3);border:1px solid var(--border);color:var(--text);padding:5px 11px;border-radius:14px;font-size:12.5px;text-decoration:none;white-space:nowrap;font-family:'JetBrains Mono','Fira Code',ui-monospace,monospace}
  .mobile-nav a:hover,.mobile-nav a.active{background:var(--accent);color:#fff;border-color:var(--accent);text-decoration:none}
  .mobile-nav a::before{content:"";display:inline-block;width:10px;height:10px;background:linear-gradient(135deg,#e34c26 50%,#f06529 50%);border-radius:1px;flex-shrink:0}
  .mobile-nav a.md::before{background:linear-gradient(135deg,#519aba 50%,#73b7d7 50%)}
  /* Terminal bar right-side label can wrap awkwardly on narrow viewports */
  .terminal-bar .right{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}
}
