:root{font-family:Arial,Helvetica,sans-serif;color:#252a30;background:#fafbfc;font-size:14px;letter-spacing:0}
*{box-sizing:border-box}body{margin:0}header{height:62px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce0e4;background:white}header .brand{font-size:19px;font-weight:700}header span{color:#6c737a}main{max-width:1540px;margin:auto;padding:28px 32px 64px}.selection{display:flex;gap:28px;align-items:end}.selection>label{display:flex;gap:8px;flex-direction:column;font-weight:600}select{min-width:300px;max-width:100%;padding:9px 32px 9px 10px;background:white;border:1px solid #b9c1ca;border-radius:4px;font:inherit;color:inherit}fieldset{margin:0;padding:0 0 8px;border:0;display:flex;gap:18px}legend{color:#646d77;font-size:12px;margin-bottom:9px}fieldset label{display:flex;align-items:center;gap:5px}input{accent-color:#1766aa}button{font:inherit;font-weight:600;border:1px solid #adb7c1;background:white;color:#252a30;border-radius:4px;padding:9px 15px;cursor:pointer;white-space:nowrap}button:hover{background:#edf2f6}button:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #1766aa;outline-offset:2px}button:disabled{opacity:.55;cursor:wait}#reset{margin-left:auto;color:#646d77}h1{font-size:25px;margin:28px 0 20px}h2{font-size:14px;margin:0 0 10px;display:flex;gap:12px;align-items:center}h2 span{font-size:11px;font-weight:400;text-transform:uppercase}.generated{color:#1766aa}.operator{color:#b85b08}.pair{display:grid;grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);align-items:stretch;padding:22px 0;border-top:1px solid #dce0e4}.pane{min-width:0}.connector{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#646d77}.connector>span:last-child{font-size:36px;line-height:1}.connector .caption{font-size:12px;text-align:center;line-height:1.5}.file{margin-bottom:14px}.file:last-child{margin-bottom:0}.filename{font:12px monospace;color:#646d77;margin-bottom:7px}textarea{display:block;width:100%;resize:vertical;min-height:110px;padding:13px 14px;border:1px solid #cbd2d9;border-radius:4px;background:white;font:13px/1.6 'DejaVu Sans Mono',Consolas,monospace;color:#252a30;tab-size:2;white-space:pre;overflow:auto}#routing{height:100%;min-height:290px;color:#1766aa;background:#f5f9fc}
#routing.placeholder{color:#646d77;font-style:italic;font-weight:400}.routing .pane:last-child{display:flex;flex-direction:column}.routing .pane:last-child textarea{flex:1;height:auto}.app-model{color:#a34e06;background:#fffaf5}.pseudo{background:#f7f8fa}.assertions{border-top:1px solid #dce0e4;padding-top:24px;margin-top:3px}
.intent-caption{font-size:12px;color:#646d77;margin:-4px 0 8px}
.intent-list{margin:0 0 14px;padding-left:26px;color:#a34e06;font-size:14px;line-height:1.6}
.intent-list li{margin:3px 0}#queries{color:#a34e06;background:#fffaf5}.checkbar{display:flex;align-items:center;gap:16px;padding:20px 0}#check{background:#1766aa;border-color:#1766aa;color:white;min-width:100px}#check:hover{background:#12558f}#status{color:#646d77}#output{border-top:1px solid #dce0e4;padding-top:20px}pre{font:13px/1.65 'DejaVu Sans Mono',Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f0f3f6;padding:16px;margin:10px 0 20px;border-radius:4px}.verdict{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid #e6e9ec}.verdict strong{min-width:105px;font-size:12px}.holds,.reachable{color:#25805b}.violated,.unreachable{color:#c32c38}#error{color:#a51e28;background:#fff0f0;padding:16px;border-left:3px solid #c32c38;white-space:pre-wrap}details summary{cursor:pointer;color:#646d77;padding:12px 0}[hidden]{display:none!important}
textarea{white-space:pre-wrap;overflow-wrap:anywhere}
.code-viewer{font:13px/1.6 'DejaVu Sans Mono',Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;width:100%;min-width:0;min-height:120px;margin:0;padding:13px 14px;border:1px solid #cbd2d9;border-radius:4px;background:white;overflow:auto}
.code-viewer:focus-visible{outline:2px solid #1766aa;outline-offset:2px}
.code-line{box-decoration-break:clone;-webkit-box-decoration-break:clone}
.yaml-code .line-focus{background:#e4eff9;box-shadow:-3px 0 #1766aa;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.yaml-code .token-keyword{color:#174c77;font-weight:700}
.yaml-code .token-string{color:#376546}
.token-comment{color:#707a84;font-style:italic}
.generated-code{color:#1766aa;background:#f5f9fc}
.operator-code{color:#a34e06;background:#fffaf5}
.generated-code .token-keyword,.operator-code .token-keyword{font-weight:700}
.generated-code .token-string,.operator-code .token-string{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:3px;text-decoration-thickness:1px}
.generated-code .logic-focus{background:#e4eff9}
.operator-code .logic-focus{background:#fbe9d6}
.routing .pane:last-child .code-viewer{flex:1;min-height:290px}
#yaml{max-height:560px;overflow:auto;scrollbar-gutter:stable}
#routing{max-height:560px}
#yaml,#routing{scrollbar-width:thin;scrollbar-color:#9aa7b4 #edf1f5}
.app-model{height:auto;min-height:120px}
.verdict-content{flex:1;min-width:0}
.counterexample{margin:12px 0 4px;padding:12px 0 0;border-top:1px solid #e6e9ec}
.counterexample h3{font-size:13px;margin:0 0 12px;color:#a51e28}
.counterexample h4{font-size:12px;margin:12px 0 8px}
.counterexample dl{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr);gap:7px 16px;margin:0 0 14px}
.counterexample dt{color:#646d77;overflow-wrap:anywhere}
.counterexample dd{margin:0;font-family:'DejaVu Sans Mono',Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.witness-values{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.witness-values th,.witness-values td{text-align:left;padding:8px;border-bottom:1px solid #e6e9ec;overflow-wrap:anywhere}
.witness-values th{color:#646d77;font-weight:600}
.witness-values td:not(:first-child){font-family:'DejaVu Sans Mono',Consolas,monospace;white-space:pre-wrap}
.witness-mismatch td:last-child{color:#a51e28;background:#fff0f0}
.unreachable-message{color:#a51e28;margin:10px 0 3px;font-size:12px}
.summary-caveats{color:#646d77;font-size:12px;line-height:1.6;margin:10px 0 0;overflow-wrap:anywhere}
.case-background{margin:-6px 0 20px;font-size:15px;line-height:1.65;color:#3f4750;max-width:1050px}
.tour-background{margin:0 0 18px;font-size:14.5px;line-height:1.65;color:#3f4750;max-width:950px}
.case-background code,.tour-background code{font:12.5px 'DejaVu Sans Mono',Consolas,monospace;background:#eef2f5;padding:1px 4px;border-radius:3px}
.review-note{border-left:3px solid #c32c38;background:#fff0f0;color:#a51e28;padding:12px 16px;margin:0 0 20px;line-height:1.6;overflow-wrap:anywhere}
.review-note p{margin:4px 0 0}
.model-section{border-top:1px solid #dce0e4;padding:20px 0 22px}
.model-heading{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-bottom:12px}
.model-heading h2{margin:0}
.model-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:12px}
.model-legend span::before{content:'';display:inline-block;width:13px;height:10px;border:1px solid currentColor;margin-right:6px;background:#e4eff9}
.model-legend .operator::before{background:#fff0df}
.model-legend .model-choice::before{height:0;border:0;border-top:2px dashed #66727e;width:20px;vertical-align:middle}
#model-zoom{margin-left:auto;min-width:85px;width:85px;padding:5px 22px 5px 8px;font-size:12px}
#model-open{color:#1766aa;font-size:12px;text-decoration:underline;cursor:pointer}
#model-viewport{width:100%;max-height:460px;min-height:150px;overflow:auto;background:white;scrollbar-width:thin;scrollbar-color:#9aa7b4 #edf1f5}
#model-viewport:focus-visible{outline:2px solid #1766aa;outline-offset:2px}
#model-diagram{display:block;max-width:none;width:auto;height:auto}
@media(max-width:760px){.model-heading{gap:12px}.model-legend{gap:10px}#model-viewport{max-height:360px}#model-open{margin-left:0}}
@media(max-width:760px){.verdict{flex-direction:column;gap:8px}.verdict-content{width:100%}.counterexample dl{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:760px){#yaml,#routing{max-height:420px}}
@media(max-width:760px){.code-viewer{font-size:12px}.routing .pane:last-child .code-viewer{min-height:220px}}
@media(max-width:760px){header{padding:0 18px}.brand{max-width:75%}main{padding:22px 18px 40px}.selection{flex-wrap:wrap;gap:16px}.selection>label{width:100%}select{min-width:0;width:100%}#reset{margin-left:auto}h1{font-size:22px}.pair{grid-template-columns:minmax(0,1fr);gap:14px}.connector{padding:0;flex-direction:row;min-height:40px}.connector>span:last-child{transform:rotate(90deg);font-size:29px}.routing .pane:last-child textarea{min-height:220px}.verdict{flex-wrap:wrap}textarea{font-size:12px}}
.intro{padding:34px 0 32px;border-bottom:1px solid #dce0e4}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#1766aa;margin:0 0 6px}
.paper-line{margin:0 0 10px;font-size:15px;font-weight:700}
.paper-line a{color:#1766aa;text-decoration:none}
.paper-line a:hover{text-decoration:underline}
.paper-line .doi{font-size:10px;letter-spacing:.06em;color:#646d77;background:#eef2f5;border-radius:3px;padding:2px 6px;margin-left:8px;vertical-align:middle}
.intro h1{font-size:38px;line-height:1.15;letter-spacing:-.01em;margin:0 0 16px;max-width:940px}
.lede{font-size:17px;line-height:1.65;color:#3f4750;max-width:900px;margin:0 0 26px}
.pipeline{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin:0 0 28px}
.pipe-node{min-width:140px;padding:14px 18px;border:1px solid #b9c1ca;border-radius:6px;background:#f5f9fc;display:flex;flex-direction:column;justify-content:center}
.pipe-node strong{font-size:15px;color:#174c77}
.pipe-node span{font-size:12px;color:#646d77;margin-top:2px}
.pipe-node.operator-node{background:#fffaf5;border-color:#e2b88f}
.pipe-node.operator-node strong{color:#a34e06}
.pipe-node.result-node{background:#eef7f2;border-color:#9bc6b2}
.pipe-node.result-node strong{color:#25805b}
.pipe-arrow{display:flex;align-items:center;color:#8c969f;font-size:22px;padding:0 2px}
.pipe-plus{display:flex;align-items:center;color:#8c969f;font-size:20px;padding:0 2px}
.intro-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.primary{background:#1766aa;border-color:#1766aa;color:#fff;padding:12px 20px;font-size:15px}
.primary:hover{background:#12558f}
.secondary{color:#174c77;border-color:#b9c1ca;background:#fff}
.text-link{color:#1766aa;font-weight:700;text-decoration:none}
.text-link:hover{text-decoration:underline}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:0 0 18px}
.section-heading h2{font-size:23px;margin:0}
.section-heading .eyebrow{margin-bottom:5px}
.tour{border-bottom:1px solid #dce0e4;padding:30px 0 34px}
.tour-progress{font:700 13px 'DejaVu Sans Mono',Consolas,monospace;color:#646d77;background:#f0f3f6;border-radius:999px;padding:6px 12px}
.tour-card{background:#fff;border:1px solid #dce0e4;border-radius:8px;padding:28px;max-width:1120px}
.tour-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#646d77;margin:0}
.tour-title{font-size:23px;line-height:1.35;margin:8px 0 18px;max-width:900px}
.tour-takeaway{margin:18px 0 0;padding:12px 14px;border-left:3px solid #1766aa;background:#f5f9fc;font-size:14px;line-height:1.6;color:#3f4750}
.tour-limitation{margin:14px 0 0;padding:10px 12px;border-left:3px solid #b9c1ca;background:#f7f8fa;font-size:13px;line-height:1.55;color:#646d77}
.tour-limitation strong{color:#48535e}
.model-limitation{margin:10px 0 0;padding:9px 11px;border-left:3px solid #b9c1ca;background:#f7f8fa;font-size:12px;line-height:1.5;color:#646d77}
.tour-takeaway strong{color:#174c77}
.tour-result{border-top:1px solid #e6e9ec;margin-top:20px;padding-top:18px}
.tour-intent{border:1px solid #dce0e4;border-radius:6px;padding:16px;background:#fafbfc;margin:0 0 18px}
.tour-intent h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#646d77;margin:0 0 8px}
.tour-intent-text{font-size:15px;line-height:1.55;color:#252a30;margin:0 0 12px}
.tour-intent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.tour-intent-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.5}
.tour-intent-list .tour-verdict{flex:0 0 auto}
.tour-formal{margin-top:12px}
.tour-formal summary{font-size:12px;color:#646d77;cursor:pointer}
.tour-formal pre{margin:8px 0 0;background:#f0f3f6;padding:12px;border-radius:4px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}
.tour-result-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:10px}
.tour-verdict{font:700 12px 'DejaVu Sans Mono',Consolas,monospace;text-transform:uppercase;padding:5px 10px;border-radius:4px;background:#f0f3f6}
.tour-verdict.holds,.tour-verdict.reachable{background:#eef7f2;color:#1c5e44}
.tour-verdict.violated,.tour-verdict.unreachable{background:#fff0f0;color:#a51e28}
.tour-explanation{font-size:15px;line-height:1.65;color:#3f4750;max-width:900px;margin:0 0 18px}
.tour-figure{margin:0 0 18px;padding:12px;border:1px solid #e6e9ec;border-radius:6px;background:#fff;overflow:auto}
.tour-figure img{display:block;max-width:100%;height:auto}
.tour-figure figcaption{font-size:12px;color:#646d77;margin-top:8px}
.tour-figure figcaption a{color:#1766aa;font-weight:700;text-decoration:none}
.tour-scroll-hint{display:none}
.tour-figure figcaption a:hover{text-decoration:underline}
.tour-witness{margin:0 0 18px}
.tour-witness p{font-size:14px;line-height:1.6;color:#3f4750;margin:0 0 10px}
.tour-witness-table,.tour-compare-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.tour-witness-table th,.tour-witness-table td,.tour-compare-table th,.tour-compare-table td{text-align:left;padding:9px 10px;border-bottom:1px solid #e6e9ec;overflow-wrap:anywhere}
.tour-witness-table th,.tour-compare-table th{color:#646d77;font-weight:700;background:#f7f8fa}
.tour-witness-table td:not(:first-child){font-family:'DejaVu Sans Mono',Consolas,monospace;white-space:pre-wrap}
.tour-compare{border:1px solid #e6e9ec;border-radius:6px;padding:16px;background:#fafbfc;margin:0 0 18px}
.tour-compare h4{font-size:15px;margin:0 0 10px}
.tour-compare button{margin-top:12px}
.tour-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 0}
.tour-controls{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}
.explore{padding-top:30px}
.explore .section-heading{margin-bottom:20px}
.explore-note{font-size:13px;line-height:1.5;color:#646d77;max-width:440px;margin:0}
@media(max-width:760px){.intro{padding-top:24px}.intro h1{font-size:29px}.lede{font-size:15px}.pipeline{gap:8px}.pipe-node{flex:1 1 130px;min-width:0;padding:11px 13px}.pipe-arrow,.pipe-plus{display:none}.tour-card{padding:18px}.tour-title{font-size:19px}.tour-controls{justify-content:stretch}.tour-controls button{flex:1}.tour-witness-table,.tour-compare-table{font-size:12px}.section-heading h2{font-size:20px}}
.semantics{margin:0 0 18px;border:1px solid #e6e9ec;border-radius:6px;background:#fafbfc}
.semantics summary{font-size:13px;font-weight:700;color:#48535e;cursor:pointer;padding:10px 12px}
.semantics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 20px;padding:0 12px 8px}
.semantics-grid div{display:flex;gap:8px;align-items:baseline;font-size:12.5px;line-height:1.5}
.semantics-grid strong{min-width:74px;font:700 12px 'DejaVu Sans Mono',Consolas,monospace}
.semantics-grid span{color:#3f4750}
.semantics-note{font-size:12px;color:#646d77;margin:0;padding:0 12px 12px}
.explore-copy{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:flex-end}
.explore-copy .explore-note{margin:0}
@media(max-width:760px){.explore-copy{justify-content:flex-start;gap:12px}.explore-copy .explore-note{max-width:none}}
@media(max-width:760px){.tour-figure{overflow:auto}.tour-figure img{max-width:none;width:auto}.tour-scroll-hint{display:inline;color:#1766aa;font-weight:700}}
header{position:sticky;top:0;z-index:50;height:62px;padding:0 32px;justify-content:flex-start;gap:28px;background:white;border-bottom:1px solid #dce0e4}
header .brand{color:#252a30;font-size:19px;text-decoration:none}
.header-nav{display:flex;align-items:stretch;height:100%;gap:2px}
.nav-button{height:100%;padding:0 14px;border:0;border-radius:0;background:transparent;color:#252a30;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;white-space:nowrap}
.nav-button:hover{background:#edf2f6}
.nav-button.active{color:#1766aa;background:#f1f7fc;box-shadow:inset 0 -2px #1766aa}
.nav-button.primary{color:#1766aa;font-weight:700}
.nav-link{display:inline-flex;align-items:center;height:100%;padding:0 12px;color:#1766aa;font-size:13px;font-weight:600;text-decoration:none}
.nav-link:hover{background:#edf2f6}
.header-date{margin-left:auto;color:#6c737a;font-size:14px;white-space:nowrap}
.button-link{display:inline-flex;align-items:center;text-decoration:none;border:1px solid #1766aa;border-radius:4px}
#tour{scroll-margin-top:70px}
@media(max-width:760px){#tour{scroll-margin-top:110px}}
@media(max-width:760px){header{height:auto;padding:8px 14px;flex-wrap:wrap;gap:8px}header .brand{font-size:17px}.header-nav{order:3;width:100%;height:40px;overflow-x:auto;gap:0}.header-date{margin-left:auto;font-size:12px}.nav-button{padding:0 10px;font-size:12.5px}.nav-link{padding:0 8px;font-size:12.5px}}
.case-concept{margin:-10px 0 18px;font-size:13px}
.case-concept a,.concept-link{color:#1766aa;font-weight:700;text-decoration:none}
.case-concept a:hover,.concept-link:hover{text-decoration:underline}
.concept-callout{margin:12px 0 0;font-size:13px}
.concepts{padding-top:10px}
.concepts h1{font-size:30px;margin:0 0 10px}
.concepts-intro{font-size:15px;line-height:1.65;color:#3f4750;max-width:900px;margin:0 0 22px}
.concept-steps{position:sticky;top:var(--header-height,62px);z-index:40;display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;border-bottom:1px solid #e6e9ec;background:#fafbfc;padding:10px 0;margin:0 0 8px;scrollbar-width:thin}
.concept-step{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid #dce0e4;border-radius:999px;background:#fff;color:#646d77;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.concept-step span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#eef2f5;color:#646d77;font-size:11px}
.concept-step:hover{border-color:#b9c1ca;color:#252a30}
.concept-step.active{border-color:#9cc3e6;background:#f1f7fc;color:#1766aa}
.concept-step.active span{background:#1766aa;color:#fff}
.concept-section{padding:26px 0 30px;border-bottom:1px solid #e6e9ec;scroll-margin-top:calc(var(--header-height,62px) + 60px)}
.concept-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);gap:32px;align-items:start;min-width:0}
.concept-figure{margin:0;min-width:0}
.concept-canvas{padding:16px;border:1px solid #e6e9ec;border-radius:8px;background:#fbfcfd;overflow:auto;max-width:100%}
.concept-canvas svg{display:block;width:100%;height:auto;min-width:680px}
.concept-canvas .is-dim{opacity:.24}
.concept-canvas .is-path .c-blue{stroke-width:2.6;fill:#d8ebfa}
.concept-canvas .is-target .c-orange{stroke-width:2.6;fill:#ffe4c8}
.concept-canvas line.is-path{stroke:#1766aa;stroke-width:2.6}
.mesh-routes{margin-top:12px;border:1px solid #e6e9ec;border-radius:6px;background:#fff;overflow:hidden}
.mesh-routes-head{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;background:#f7f8fa;color:#646d77;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.mesh-route{display:grid;grid-template-columns:minmax(70px,1fr) 24px minmax(120px,1.3fr);align-items:center;width:100%;padding:8px 12px;border:0;border-top:1px solid #eef1f4;background:#fff;text-align:left;cursor:pointer;font:inherit;font-size:13px;color:#252a30}
.mesh-route:hover{background:#f3f7fa}
.mesh-route.active{background:#e4eff9;box-shadow:inset 3px 0 #1766aa}
.mesh-route code{font-family:'DejaVu Sans Mono',Consolas,monospace;color:#174c77}
.mesh-route .route-arrow{text-align:center;color:#8c969f}
.mesh-route .route-target{font-family:'DejaVu Sans Mono',Consolas,monospace;color:#a34e06}
.mesh-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:#646d77}
.mesh-key::before{content:'';display:inline-block;width:10px;height:10px;margin-right:5px;vertical-align:-1px;border-radius:2px}
.mesh-key.sidecar::before{background:#e4eff9;border:1px solid #1766aa}
.mesh-key.service::before{background:#fff0df;border:1px solid #b85b08}
.mesh-key.path::before{height:0;border:0;border-top:2px solid #1766aa;width:16px;border-radius:0;vertical-align:middle}
.mesh-key.config::before{height:0;border:0;border-top:2px dashed #66727e;width:16px;border-radius:0;vertical-align:middle}
.concept-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px}
.concept-control-label{font-size:12px;color:#646d77;font-weight:600;margin-right:2px}
.concept-controls button{font:inherit;font-size:12px;font-weight:600;padding:5px 10px;border:1px solid #adb7c1;border-radius:4px;background:#fff;color:#48535e;cursor:pointer}
.concept-controls button:hover{background:#edf2f6}
.concept-controls button.active{background:#1766aa;border-color:#1766aa;color:#fff}
.concept-verdict{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:12px;color:#646d77}
.concept-copy{padding-top:4px}
.concept-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1766aa;margin:0 0 6px}
.concept-copy h2{font-size:21px;line-height:1.3;margin:0 0 10px}
.concept-copy p{font-size:14px;line-height:1.65;color:#3f4750;margin:0 0 12px}
.concept-hint{font-size:12px;color:#646d77}
.concept-try{display:block;color:#1766aa;font-size:13px;font-weight:700;text-decoration:none;margin-top:8px}
.concept-try:hover{text-decoration:underline}
.concept-figure figcaption{font-size:12px;color:#646d77;margin-top:8px}
.concept-footnote{font-size:12px;color:#646d77;margin:18px 0 0}
.concept-canvas .c-text{font-family:'DejaVu Sans',Arial,Helvetica,sans-serif;font-size:14px;fill:#252a30}
.concept-canvas .c-title{font-family:'DejaVu Sans',Arial,Helvetica,sans-serif;font-size:15px;font-weight:700;fill:#252a30}
.concept-canvas .c-small{font-family:'DejaVu Sans',Arial,Helvetica,sans-serif;font-size:11px;fill:#646d77}
.concept-canvas .c-mono{font-family:'DejaVu Sans Mono',Consolas,monospace;font-size:13px;fill:#252a30}
.concept-canvas .c-code{font-size:20px}
.concept-canvas .c-blue{fill:#e4eff9;stroke:#1766aa;stroke-width:1.5}
.concept-canvas .c-orange{fill:#fff0df;stroke:#b85b08;stroke-width:1.5}
.concept-canvas .c-neutral{fill:#f0f3f6;stroke:#8c969f;stroke-width:1.4}
.concept-canvas .c-line{stroke:#66727e;stroke-width:1.4;fill:none}
.concept-canvas .c-dash{stroke:#66727e;stroke-width:1.4;fill:none;stroke-dasharray:5 4}
.concept-canvas .c-muted-line{stroke:#b9c1ca;stroke-width:1.2;fill:none}
.concept-canvas .c-accent{fill:#1766aa}
.concept-canvas .c-muted{fill:#8c969f}
.concept-canvas .c-green{fill:#25805b}
.concept-canvas .c-red{fill:#c32c38}
@media(max-width:900px){.concept-panel{grid-template-columns:1fr;gap:16px}.concepts h1{font-size:25px}.concept-canvas svg{min-width:620px}}
@media(max-width:760px){.concept-steps{gap:6px}.concept-step{font-size:11.5px;padding:6px 10px}}
@media(max-width:560px){.concept-figure::after{content:"Scroll horizontally to see the full diagram.";display:block;font-size:11px;color:#646d77;margin-top:6px}}
.concept-footer{display:flex;gap:64px;flex-wrap:wrap;align-items:flex-start;margin-top:16px;padding:28px 0 80px;border-top:1px solid #e6e9ec;min-height:300px}
.concept-footer .eyebrow{margin-bottom:4px}
@media(max-width:900px){.concept-footer{min-height:120px;gap:28px}}
.mesh-config{display:grid;grid-template-columns:170px minmax(0,1fr);gap:12px;align-items:stretch;margin-bottom:12px}
.mesh-cp{border:1px solid #dce0e4;border-radius:6px;background:#f7f8fa;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.mesh-cp strong{font-size:13px}
.mesh-cp span{font-size:11px;color:#646d77;line-height:1.4}
.mesh-config .mesh-routes{margin-top:0}
.mesh-plane-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#646d77;margin:0 0 6px}
@media(max-width:760px){.mesh-config{grid-template-columns:1fr}.mesh-cp{padding:10px 12px}}
.method-panel{grid-template-columns:minmax(0,1.6fr) minmax(260px,.4fr)}
.method-pipeline{padding:18px;border:1px solid #e6e9ec;border-radius:8px;background:#fbfcfd}
.method-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.method-input{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid #dce0e4;border-radius:6px;background:#fff}
.method-input strong{font-size:13px}
.method-input span{font-size:11px;color:#646d77}
.method-input.method-yaml{background:#e4eff9;border-color:#9cc3e6}
.method-input.method-yaml strong{color:#174c77}
.method-input.method-operator{background:#fff0df;border-color:#e2b88f}
.method-input.method-operator strong{color:#a34e06}
.method-join{display:flex;flex-direction:column;align-items:center;gap:2px;color:#646d77;font-size:11px;margin:8px 0}
.method-join span:first-child{font-size:20px;line-height:1}
.method-stage{width:min(70%,520px);margin:0 auto;padding:12px 16px;border:1px solid #b9c1ca;border-radius:6px;background:#fff;text-align:center;display:flex;flex-direction:column;gap:3px}
.method-stage strong{font-size:13px}
.method-stage span{font-size:11px;color:#646d77}
.method-program{background:#f5f9fc;border-color:#9cc3e6}
.method-solver{background:#f7f8fa}
.method-arrow{text-align:center;color:#8c969f;font-size:18px;line-height:1;margin:4px 0}
.method-outcomes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.method-outcome{border:1px solid #dce0e4;border-radius:6px;padding:12px;background:#fff;min-height:86px}
.method-outcome.is-dim{opacity:.35}
.method-outcome p{font-size:12px;color:#646d77;margin:8px 0 0}
.method-request{margin-top:10px;border-top:1px solid #e6e9ec;padding-top:8px}
.method-request-title{font-size:11px;color:#a51e28;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.method-request dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:6px 0 0;font-size:12px}
.method-request dt{color:#646d77}
.method-request dd{margin:0;font-family:'DejaVu Sans Mono',Consolas,monospace}
.method-controls{margin-top:10px}
@media(max-width:900px){.method-panel{grid-template-columns:1fr}.method-stage{width:100%}}
@media(max-width:600px){.method-inputs{grid-template-columns:1fr}.method-outcomes{grid-template-columns:1fr}}
.concept-step.todo{opacity:.55;background:#f7f8fa;border-style:dashed;cursor:default}
.concept-todo{padding-top:20px}
.concept-todo h2{font-size:20px;margin:0 0 10px}
.concept-todo ul{margin:0;padding-left:22px;color:#3f4750;font-size:14px;line-height:1.9}
.concept-todo li strong{color:#646d77;font-weight:700}
.app-mode{display:none}
.app-mode.active{display:inline}
.concept-canvas .c-dash-box{stroke-dasharray:5 4}
.app-logic{border:1px solid #dce0e4;border-radius:6px;background:#fff;padding:10px 12px;margin-bottom:8px}
.app-logic-head{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#646d77;margin-bottom:6px}
.app-logic-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 20px minmax(100px,.8fr);gap:8px;font-size:12px;line-height:1.7}
.app-logic-row code{font-family:'DejaVu Sans Mono',Consolas,monospace;color:#a34e06}
.app-logic-row strong{font-weight:600;color:#252a30}
.app-intent{display:flex;gap:8px;align-items:baseline;font-size:12px;color:#3f4750;margin:0 0 10px;padding:8px 12px;border-left:3px solid #1766aa;background:#f5f9fc}
.app-intent span{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1766aa}
.app-witness{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;border:1px solid #f0c8cc;border-radius:4px;background:#fff7f7;font-size:12px;color:#a51e28}
.app-witness code{font-family:'DejaVu Sans Mono',Consolas,monospace}
.app-spectrum{margin-top:12px;padding:10px 12px 8px;border:1px solid #e6e9ec;border-radius:6px;background:#fff}
.app-spectrum-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:11px;color:#8c969f;margin-bottom:2px}
.app-spectrum-head .concept-control-label{font-size:11px;margin:0}
.app-spectrum input[type="range"]{width:100%;accent-color:#1766aa;height:22px;margin:0;cursor:pointer}
.app-spectrum-labels{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:0}
.app-spectrum-labels button{font:inherit;font-size:12px;font-weight:600;color:#646d77;background:none;border:0;padding:2px 0;cursor:pointer;text-align:center}
.app-spectrum-labels button:first-child{text-align:left}
.app-spectrum-labels button:last-child{text-align:right}
.app-spectrum-labels button.active{color:#1766aa;font-weight:700}
.why-title{display:block;font-size:23px;margin:0 0 8px}
.why-intro{font-size:14px;line-height:1.65;color:#3f4750;max-width:900px;margin:0 0 20px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.why-card{border:1px solid #dce0e4;border-radius:8px;background:#fff;padding:18px;display:flex;flex-direction:column;gap:10px}
.why-kicker{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#1766aa;margin:0}
.why-card:nth-child(2) .why-kicker{color:#a34e06}
.why-card:nth-child(3) .why-kicker{color:#646d77}
.why-card h3{font-size:16px;line-height:1.35;margin:0}
.why-card p:not(.why-kicker){font-size:13px;line-height:1.6;color:#3f4750;margin:0}
.why-mini{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-height:48px;padding:8px;border-radius:6px;background:#fbfcfd;border:1px solid #eef1f4}
.why-chip{font:600 11px 'DejaVu Sans Mono',Consolas,monospace;padding:5px 7px;border:1px solid #dce0e4;border-radius:4px;background:#fff;color:#48535e;white-space:nowrap}
.why-chip.blue{background:#e4eff9;border-color:#9cc3e6;color:#174c77}
.why-chip.orange{background:#fff0df;border-color:#e2b88f;color:#a34e06}
.why-plus,.why-arrow{color:#8c969f;font-size:12px}
.why-orders{display:flex;flex-direction:column;align-items:stretch;gap:5px}
.why-orders code{font:11px/1.4 'DejaVu Sans Mono',Consolas,monospace;color:#48535e;background:#fff;border:1px solid #eef1f4;border-radius:3px;padding:5px 6px;white-space:normal}
.why-card .concept-try{margin-top:auto}
@media(max-width:900px){.why-grid{grid-template-columns:1fr}.why-title{font-size:21px}}
.unspecified-head{padding:0 0 18px;border-bottom:1px solid #e6e9ec;margin-bottom:22px}
.unspecified-head h2{font-size:23px;margin:0 0 8px}
.unspecified-head p{font-size:14px;line-height:1.65;color:#3f4750;max-width:1000px;margin:0}
.concept-copy h3{font-size:18px;line-height:1.35;margin:0 0 10px}
@media(max-width:760px){.unspecified-head h2{font-size:20px}}
