/* Model-page layout only. Site palette, typography, cards, header and theme stay in site.css. */
.neijing-page .page-hero{margin-bottom:24px;padding-block:42px 26px}
.nj-section{padding-block:28px;scroll-margin-top:92px}
.nj-tabs{display:flex;flex-wrap:wrap;gap:8px 24px;border-bottom:1px solid var(--line);padding-block:4px 16px}
.nj-tabs a{font-size:14px;color:var(--muted)}
.nj-tabs a:hover{color:var(--accent)}
.nj-note{color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:12px}
.nj-model-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.nj-model-node{text-align:left;display:flex;flex-direction:column;gap:6px;min-height:104px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:18px;transition:border-color .15s ease}
.nj-model-node strong{font-size:22px}.nj-model-node span{font-size:13px;color:var(--muted)}
.nj-model-node[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}
.nj-definition{border-left:3px solid var(--accent);padding:16px 20px;margin-top:18px;background:var(--surface-soft)}
.nj-definition p{margin-bottom:8px}.nj-definition a{color:var(--accent);font-size:13px}
.nj-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;min-width:0}
.nj-route-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px}
.nj-layer-tabs,.nj-controls,.nj-upload-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.nj-layer-tabs button,.nj-controls button,.nj-action,.nj-run-button{border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;background:var(--surface);color:var(--ink);font-size:14px}
.nj-layer-tabs button[aria-pressed=true],.nj-controls .nj-primary,.nj-action.nj-primary{background:var(--accent-deep);color:var(--surface);border-color:var(--accent-deep)}
.nj-route-list{display:grid;gap:4px;max-height:680px;overflow:auto}
.nj-route{display:block;width:100%;text-align:left;border:0;border-left:2px solid transparent;padding:10px 12px;background:transparent;color:var(--text);font-size:14px}
.nj-route[aria-pressed=true]{border-left-color:var(--accent);background:var(--accent-soft);color:var(--accent-deep)}
.nj-network{max-height:510px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--canvas);margin-bottom:14px}
.nj-network svg{width:100%;min-width:480px}.nj-network line{stroke:var(--line-strong);stroke-width:1.5}
.nj-network .nj-sequence{stroke-dasharray:4 5}.nj-network circle{fill:var(--surface);stroke:var(--accent);stroke-width:1.5}
.nj-network text{fill:var(--text);font-family:var(--sans);font-size:13px}
.nj-network .nj-target{fill:var(--muted);font-size:12px}
.nj-network g[aria-current=true] circle{fill:var(--accent-deep)}
.nj-network g[role=button]{cursor:pointer}.nj-network g:focus-visible{outline:none}.nj-network g:focus-visible circle{stroke-width:4}
.nj-source-text{font-size:14px;white-space:pre-wrap;line-height:1.9;color:var(--text);margin:12px 0;max-height:250px;overflow:auto}
.nj-slider{width:100%;accent-color:var(--accent)}
.nj-metadata{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}
.nj-metadata>div{padding:12px 14px;background:var(--surface-soft);border-radius:var(--radius-sm);min-width:0}
.nj-metadata dt{font-size:11px;color:var(--muted);margin-bottom:5px}.nj-metadata dd{font-size:13px;margin:0;overflow-wrap:anywhere}
.nj-status{padding:10px 14px;background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:14px}
.nj-status[data-error=true]{border-color:var(--heritage);color:var(--heritage)}
.nj-file{display:grid;gap:6px;font-size:13px;color:var(--muted);flex:1;min-width:240px}.nj-file input{font-size:13px;max-width:100%}
.nj-controls button:disabled,.nj-action:disabled{opacity:.45;cursor:not-allowed}
.nj-data-pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto;font-size:12px;line-height:1.65;padding:14px;background:var(--surface-soft);border-radius:var(--radius-sm);border:1px solid var(--line)}
.nj-event{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.nj-event h4{font-size:15px;margin:0 0 8px;overflow-wrap:anywhere}
.nj-event-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-block:10px}
.nj-axis{padding:10px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:12px;overflow-wrap:anywhere}.nj-axis strong{display:block;margin-bottom:6px}
.nj-failure{border-left:3px solid var(--heritage);padding-left:14px}
.nj-table-wrap{overflow:auto}.nj-table{border-collapse:collapse;width:100%;font-size:13px}.nj-table th,.nj-table td{padding:11px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.nj-table th{font-weight:600;color:var(--ink)}.nj-table button{font-size:12px}.nj-table td code{font-size:11px;overflow-wrap:anywhere}
.nj-version-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.nj-version-grid a{color:var(--accent)}.nj-version-grid h3{font-size:17px;margin-bottom:8px}
.nj-source-only{font-size:13px;line-height:1.7}.nj-source-only dt{margin-top:10px;overflow-wrap:anywhere}.nj-source-only dd{margin:3px 0;color:var(--muted)}
.nj-spaced{margin-top:18px}.nj-small{font-size:12px;color:var(--muted)}
@media(max-width:900px){.nj-route-layout{grid-template-columns:180px minmax(0,1fr)}.nj-metadata{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.nj-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nj-route-layout{grid-template-columns:1fr}.nj-route-list{display:flex;max-height:none;overflow:auto;padding-bottom:8px}.nj-route{min-width:150px}.nj-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nj-version-grid{grid-template-columns:1fr}.nj-panel{padding:16px}.nj-metadata{grid-template-columns:1fr 1fr}.nj-tabs{gap:10px 20px}}
@media(prefers-reduced-motion:reduce){.nj-model-node{transition:none}}
