/* System registry: local styles, physical systems and explicit information limits. */
.systems-page { --s-line:#3c4839; --s-muted:#a7b19c; padding-bottom:60px; }
.systems-page [hidden] { display:none!important; }
.s-wrap { width:88%; max-width:1390px; margin:auto; }
.s-intro { display:grid; grid-template-columns:1fr 310px; gap:65px; align-items:center; padding:24px 0 20px; }
.systems-page .eyebrow { color:#bea477; font:10px/1.8 var(--mono); }
.s-intro h1 { font:500 clamp(64px,6vw,78px)/.95 var(--display); margin:10px 0 14px; }
.s-intro .s-lead { font:500 25px/1.15 var(--display); color:#d0d8c6; margin:12px 0; }
.s-intro p { font:14px/1.8 Arial,sans-serif; color:var(--s-muted); max-width:630px; }
.s-index-meta { font:10px/1.8 var(--mono); }
.s-index-meta>div { display:flex; justify-content:space-between; gap:20px; border-bottom:1px solid var(--s-line); padding:10px 0; }
.s-index-meta dt { color:var(--s-muted); }
.s-index-meta dd { color:#c4b38c; margin:0; }
.s-hero { display:block; position:relative; height:clamp(300px,29vw,390px); overflow:hidden; border-bottom:1px solid #8c805a; }
.s-hero>img { width:100%; height:100%; object-fit:cover; object-position:center 53%; transition:transform .45s ease; }
.s-hero:hover>img { transform:scale(1.015); }
.s-hero-title { position:absolute; bottom:0; left:0; right:0; padding:60px 30px 24px; background:linear-gradient(transparent,#0c130ff2); }
.s-hero-title>span { font:10px var(--mono); color:#c7bea2; }
.s-hero-title h2 { font:500 clamp(38px,4.5vw,65px)/1 var(--display); margin:12px 0; color:#e0e2ce; }
.s-hero-title p { font:10px var(--mono); color:#c4cbb1; margin:0; display:flex; justify-content:space-between; }
.s-hero-title p>span { font-size:22px; }
.s-index-principle { display:flex; justify-content:space-between; align-items:baseline; gap:25px; padding:24px 0; }
.s-index-principle h2 { font:500 39px var(--display); color:#cbb78b; margin:0; }
.s-index-principle p { font:10px/1.8 var(--mono); color:#aab69c; }
.s-controls { display:grid; grid-template-columns:1fr minmax(200px,.65fr) auto; gap:20px; align-items:end; padding:15px 0 25px; border-top:1px solid var(--s-line); }
.s-controls label { display:grid; gap:8px; font:10px var(--mono); color:var(--s-muted); min-width:0; }
.s-controls input,.s-controls select { width:100%; min-width:0; min-height:44px; border-radius:0; border:1px solid #46533c; background:#151e17; color:#c6cfb7; font:11px/1.8 var(--mono); padding:10px; }
.s-controls input::placeholder { color:#a1ac93; }
.s-controls button { min-height:44px; border:0; border-bottom:1px solid #8a7850; background:none; color:#c8af7e; font:10px var(--mono); cursor:pointer; }
.s-register-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; }
.s-register-heading h2 { font:500 28px var(--display); }
.s-register-heading span { color:#a8b497; font:10px var(--mono); }
.s-register { margin:0 0 35px; padding:0; list-style:none; border-top:1px solid var(--s-line); }
.s-register li>a { display:grid; grid-template-columns:28px minmax(0,1fr) 210px 18px; gap:22px; padding:23px 0; border-bottom:1px solid var(--s-line); transition:background .18s; }
.s-register li>a:hover { background:#19221a; }
.s-ref { color:#a3ad93; font:10px/1.8 var(--mono); }
.s-register h3 { font:500 29px/1.1 var(--display); color:#d1d9c5; margin:0 0 10px; }
.s-register p { font:13px/1.8 Arial,sans-serif; color:var(--s-muted); margin:9px 0 0; }
.s-register .s-type { font:10px/1.8 var(--mono); color:#b5bda6; margin:0; }
.s-row-status { font:10px/1.8 var(--mono); color:#c6b087; }
.s-empty { font:12px/1.8 var(--mono); color:#c3b086; padding:30px 0; }
.s-record { margin-top:22px; scroll-margin-top:20px; }
.s-toolbar { display:flex; gap:25px; align-items:center; border-bottom:1px solid var(--s-line); padding:12px 0; font:10px/1.8 var(--mono); color:#c2ad81; }
.s-toolbar>span { margin-left:auto; color:#a2ad93; }
.s-toolbar nav { display:flex; gap:24px; }
.s-toolbar a { display:inline-block; padding:10px 0; }
.s-record-head { padding:25px 0; }
.s-record-head h2 { font:500 clamp(40px,5vw,69px)/1.04 var(--display); color:#d1d8c4; margin:15px 0 25px; }
.s-record-head h2:focus { outline:none; }
.s-record-head dl { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin:0; padding:19px 0; border-block:1px solid var(--s-line); }
.s-record-head dt { font:9px/1.8 var(--mono); color:#9eab8d; }
.s-record-head dd { font:11px/1.8 var(--mono); color:#c5ceb5; margin:6px 0 0; overflow-wrap:anywhere; }
.s-record-body { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:55px; align-items:start; }
.s-evidence { min-width:0; }
.s-block { margin-bottom:32px; }
.s-block h3 { font:10px/1.8 var(--mono); text-transform:uppercase; color:#bea77c; margin:0 0 15px; }
.s-block p { font:15px/1.85 Arial,sans-serif; color:#b1bca4; margin:0 0 17px; max-width:850px; }
.s-list { display:grid; grid-template-columns:1fr 1fr; gap:7px 20px; list-style:none; padding:0; margin:0; }
.s-list li { border-bottom:1px solid var(--s-line); padding:9px 0; color:#bbc6ac; font:10px/1.8 var(--mono); }
.s-principle { font:500 clamp(30px,3.4vw,45px)/1.12 var(--display); color:#cdb78c; padding:22px 0; border-block:1px solid #696347; margin:25px 0 32px; }
.systems-page figure { margin:0 0 28px; }
.systems-page figure>img { display:block; width:100%; height:auto; }
.systems-page figcaption { font:9px/1.8 var(--mono); color:#a5b296; padding:13px 0; }
.s-network { border-block:1px solid #667153; padding:5px 0 22px; }
.s-network>strong { font:500 34px/1.1 var(--display); color:#c4d0b3; display:block; padding:18px 0 26px; }
.s-network ul { border-left:1px solid #9b895d; padding:0 0 0 20px; list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.s-network li { font:10px/1.8 var(--mono); color:#b6c3a6; border-top:1px solid #566446; padding:12px 0; }
.s-blueprint { border-block:1px solid #566446; }
.s-blueprint ul,.s-component-study ol { padding:0; list-style:none; font:9px/1.8 var(--mono); color:#b6c3a6; }
.s-blueprint li { padding:8px 0; border-top:1px solid var(--s-line); }
.s-blueprint p { font:9px/1.8 var(--mono); color:#a2ad92; }
.s-authority { border-block:1px solid #757052; padding-bottom:20px; }
.s-command-inputs,.s-command-results { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; font:10px/1.8 var(--mono); color:#bec6ac; padding:20px 0; }
.s-command-inputs span { border-bottom:1px solid #737d5b; padding-bottom:15px; }
.s-authority ol { list-style:decimal-leading-zero; padding-left:30px; font:11px/1.9 var(--mono); color:#c0c9af; }
.s-authority li { padding:12px 0; border-bottom:1px solid var(--s-line); }
.s-authority>p { border-top:1px solid #817353; padding-top:22px; font:11px/1.8 var(--mono); color:#cbb68b; }
.s-authority-conflict { border-left:1px solid #a9905e; padding-left:20px; margin:25px 0; }
.s-authority-conflict>div { padding:13px 0; }
.s-authority-conflict span { color:#bea77b; font:11px var(--mono); display:block; margin-bottom:10px; }
.s-authority-conflict strong { font:500 26px var(--display); }
.s-authority-conflict p { font:14px/1.8 Arial,sans-serif; color:#b3bea4; }
.s-surface,.s-underground { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:25px 0; font:9px/1.8 var(--mono); color:#b9c5a9; }
.s-surface { border-bottom:2px solid #847b56; }
.s-underground { grid-template-columns:1fr 1fr; border-left:1px dashed #77815d; padding-left:20px; }
.s-underground span { border-top:1px solid var(--s-line); padding:10px 0; }
.s-underground .s-unknown { border:1px dashed #6a7452; padding:10px; color:#c0ad80; }
.s-hrafn>p { font:9px/1.8 var(--mono); color:#a5ae95; }
.s-component-study ol { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.s-role-table { margin:0 0 30px; }
.s-role-table>div { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding:15px 0; border-bottom:1px solid var(--s-line); }
.s-role-table dt { font:10px/1.8 var(--mono); color:#c2cbb3; }
.s-role-table dd { font:13px/1.8 Arial,sans-serif; color:#adba9e; margin:0; }
.s-ew-controls { display:flex; gap:15px; }
.s-ew-controls button { flex:1; padding:12px 5px; background:none; border:0; border-bottom:1px solid #697555; color:#aebc9c; font:9px/1.8 var(--mono); cursor:pointer; }
.s-ew-controls button[aria-pressed=true] { color:#d0bb8a; border-bottom:2px solid #c4a977; }
.s-ew-state { padding:23px 0; }
.s-ew-state h4 { font:500 30px var(--display); color:#c4cfb3; }
.s-ew-nodes { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; border-top:2px solid #8a976c; padding-top:25px; }
.s-ew-nodes span { padding:12px 5px; border:1px solid #717f59; font:9px/1.8 var(--mono); color:#c3cfb2; text-align:center; }
.s-denied .s-ew-nodes { border-top:2px dashed #89714e; }
.s-denied .s-ew-nodes span { border-style:dashed; }
.s-ew-state p { color:#bba67c; font:9px/1.8 var(--mono); margin-top:22px; }
.s-related { display:flex; flex-wrap:wrap; gap:10px 25px; border-top:1px solid #515d42; padding:20px 0; }
.s-related h3 { width:100%; margin:0 0 8px; font:10px var(--mono); color:#a5af96; }
.s-related a { font:11px/1.8 var(--mono); color:#c9b183; padding:8px 0; }
.s-related a:hover { color:#e1c89c; }
.s-context { border-color:var(--s-line); }
.s-context a { font-size:10px; color:#b0baa2; }
@keyframes system-enter { from { opacity:.5; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
.s-enhanced .s-record:not([hidden]) { animation:system-enter .2s ease-out; }
@media(max-width:900px) { .s-intro { grid-template-columns:1fr 280px; gap:30px; } .s-record-body { gap:30px; } .s-register li>a { grid-template-columns:23px minmax(0,1fr) 160px 14px; gap:16px; } }
@media(max-width:750px) { .s-intro { grid-template-columns:1fr; gap:12px; } .s-index-meta { display:grid; grid-template-columns:1fr 1fr; gap:0 25px; } .s-record-body { grid-template-columns:1fr; } .s-evidence { max-width:720px; } #system-01 .s-evidence { grid-row:1; } .s-controls { grid-template-columns:1fr 1fr; } .s-controls button { grid-column:2; justify-self:end; } .s-record-head dl { grid-template-columns:1fr 1fr; } }
@media(max-width:500px) { .s-intro h1 { font-size:65px; } .s-index-meta { display:block; } .s-hero { height:340px; } .s-hero>img { object-position:44% center; } .s-hero-title { padding:55px 18px 20px; } .s-index-principle { display:block; } .s-index-principle h2 { font-size:36px; } .s-controls { grid-template-columns:1fr; gap:17px; } .s-controls button { grid-column:1; } .s-register li>a { grid-template-columns:22px minmax(0,1fr) 14px; } .s-row-status { grid-column:2; grid-row:2; } .s-register li>a>span:last-child { grid-column:3; grid-row:1; } .s-toolbar { flex-wrap:wrap; gap:7px 15px; } .s-toolbar nav { width:100%; justify-content:space-between; } .s-record-head h2 { font-size:40px; } .s-record-head dd { font-size:10px; } .s-list { grid-template-columns:1fr; } .s-block p { font-size:14px; } .s-component-study ol { gap:10px; font-size:8px; } .s-role-table>div { grid-template-columns:1fr; gap:6px; } .s-surface { gap:10px; } }
@media(prefers-reduced-motion:reduce) { .systems-page * { animation:none!important; transition:none!important; } }
.s-section-nav { display:flex; flex-wrap:wrap; gap:12px 28px; padding:0 0 20px; }
.s-section-nav a { padding:8px 0; color:#baa57c; font:10px/1.8 var(--mono); }
.s-architecture,.s-principles,.s-conclusion { margin-top:48px; padding-top:30px; border-top:1px solid #6d6b4d; scroll-margin-top:25px; }
.s-architecture h2,.s-principles>header h2 { font:500 clamp(34px,4vw,53px)/1.05 var(--display); color:#ccd3be; margin:15px 0 30px; }
.s-architecture-columns,.s-principle-grid { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.s-architecture-columns h3 { font:10px/1.8 var(--mono); color:#aebc9c; margin-bottom:22px; }
.s-architecture ol { list-style:none; margin:0; padding:0 0 0 22px; border-left:1px solid #8d8057; }
.s-architecture li { position:relative; padding:0 0 18px; }
.s-architecture li:before { content:'↓'; position:absolute; left:-28px; top:15px; background:#101313; color:#b5a078; font:13px var(--mono); }
.s-architecture li a { display:block; border-top:1px solid #4c5a3f; padding:16px 0; }
.s-architecture strong { display:block; font:500 28px/1.15 var(--display); color:#c6b58d; }
.s-architecture li span { display:block; font:12px/1.8 Arial,sans-serif; color:#a7b598; margin-top:9px; }
.s-architecture a:hover strong { color:#e0c798; }
.s-network-pair { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:15px 0 25px; font:11px/1.8 var(--mono); color:#c4b184; }
.s-network-pair>span { font-size:22px; }
.s-environment-link { display:block; padding:20px 0; font:10px/1.8 var(--mono); color:#c8b084; }
.s-principles>section,.s-principle-grid>section { padding:25px 0; scroll-margin-top:25px; }
.s-principle-grid>section { min-width:0; }
.s-defense-layers { list-style:none; padding:0; margin:25px 0; }
.s-defense-layers li { display:flex; gap:22px; border-top:1px solid #6d694b; padding:20px 0; }
.s-defense-layers span { font:11px/1.8 var(--mono); color:#b9a374; }
.s-defense-layers strong { font:500 30px/1.15 var(--display); color:#cdd4bf; }
.s-choice { display:block; padding:25px 0; border-block:1px solid #7a7150; }
.s-choice>span { display:block; font:10px var(--mono); color:#b3bd9f; }
.s-choice strong { display:block; font:500 40px var(--display); color:#d2b985; margin-top:12px; }
.s-questions { margin:35px 0; }
.s-questions p { font:500 clamp(26px,3vw,38px)/1.2 var(--display); color:#b5c1a5; }
@media(max-width:750px) { .s-architecture-columns,.s-principle-grid { grid-template-columns:1fr; gap:28px; } .s-sensor-study { overflow-x:auto; } .s-sensor-study img { min-width:650px; } }
@media(prefers-reduced-motion:reduce) { .systems-page * { animation:none!important; transition:none!important; } }
