@font-face{font-family:Satoshi;src:url('../../assets/fonts/satoshi-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url('../../assets/fonts/satoshi-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url('../../assets/fonts/satoshi-700.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('../../assets/fonts/jetbrains-mono-var.woff2') format('woff2');font-weight:100 800;font-style:normal;font-display:swap}
:root{
  --font-body:Satoshi,system-ui,sans-serif;--font-display:Satoshi,system-ui,sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;
  --text-xs:clamp(.75rem,.72rem + .12vw,.8rem);--text-sm:clamp(.875rem,.84rem + .12vw,.9375rem);--text-base:clamp(1rem,.98rem + .08vw,1.0625rem);--text-lg:clamp(1.125rem,1.06rem + .3vw,1.375rem);--text-xl:clamp(1.625rem,1.25rem + 1.35vw,2.25rem);
  --s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.25rem;--s6:1.5rem;--s8:2rem;--s10:2.5rem;--s12:3rem;--s16:4rem;
  --bg:#F5F7F9;--panel:#FFFFFF;--panel-alt:#F0F3F6;--text:#162330;--muted:#526273;--dim:#607181;--line:rgb(40 62 85 / .17);--line-strong:rgb(40 62 85 / .3);--blue:#2F80FF;--action-text:#155FCC;--blue-soft:#E9F1FF;--success:#147653;--success-soft:#E6F5EF;--error:#B03046;--error-soft:#F9ECEF;--shadow:0 8px 24px rgb(17 35 56 / .04);--radius:.375rem;color-scheme:light;
}
:root[data-theme=dark]{--bg:#0C1117;--panel:#111820;--panel-alt:#18212C;--text:#DCE3EA;--muted:#A9B6C4;--dim:#96A5B5;--line:rgb(220 227 234 / .14);--line-strong:rgb(220 227 234 / .3);--action-text:#8CBAFF;--blue-soft:#162B47;--success:#55D4A6;--success-soft:#152D27;--error:#F492A2;--error-soft:#322027;--shadow:0 8px 24px rgb(0 0 0 / .12);color-scheme:dark}
@media(prefers-color-scheme:dark){:root:not([data-theme]){--bg:#0C1117;--panel:#111820;--panel-alt:#18212C;--text:#DCE3EA;--muted:#A9B6C4;--dim:#96A5B5;--line:rgb(220 227 234 / .14);--line-strong:rgb(220 227 234 / .3);--action-text:#8CBAFF;--blue-soft:#162B47;--success:#55D4A6;--success-soft:#152D27;--error:#F492A2;--error-soft:#322027;--shadow:0 8px 24px rgb(0 0 0 / .12);color-scheme:dark}}
*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:var(--s6);-webkit-font-smoothing:antialiased}body{min-width:280px;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6}h1,h2,h3{font-family:var(--font-display);line-height:1.2;text-wrap:balance}h1{font-size:var(--text-xl);font-weight:700;letter-spacing:-.035em}h2{font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em}h3{font-size:var(--text-base);font-weight:700}p{max-width:76ch;text-wrap:pretty}a{color:var(--action-text);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button{background:transparent}button:disabled{cursor:not-allowed;opacity:.55}a,button,select,summary{transition:color 150ms,background-color 150ms,border-color 150ms}button,select{min-height:44px}select{max-width:100%;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius);padding:var(--s2) var(--s3);font-size:var(--text-sm)}img{display:block;max-width:100%;height:auto;object-fit:contain}code,.mono{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400}code{overflow-wrap:anywhere}pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.75;max-height:27rem;overflow:auto;tab-size:2}ul,ol{padding-left:var(--s6)}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:3px}::selection{background:var(--blue-soft);color:var(--text)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--s2);left:var(--s4);transform:translateY(-180%);background:var(--panel);padding:var(--s3) var(--s4);z-index:100}.skip-link:focus{transform:none}.page-width{width:calc(100% - var(--s12));max-width:1400px;margin-inline:auto}.surface-header{border-bottom:1px solid var(--line);background:var(--panel)}.header-row{display:flex;align-items:center;gap:var(--s8);min-height:76px}.brand{display:flex;align-items:center;gap:var(--s3);font-size:var(--text-lg);font-weight:700;color:var(--text);text-decoration:none;flex:none}.brand-context{font-weight:400;color:var(--muted);font-size:var(--text-sm);margin-left:var(--s2)}.header-row nav{display:flex;gap:var(--s6);margin-left:auto;font-size:var(--text-sm)}.header-row nav a{display:flex;align-items:center;gap:var(--s2);min-height:44px;color:var(--muted);text-decoration:none}.header-row nav a:hover,.header-row nav a[aria-current]{color:var(--action-text)}.theme-control{display:flex}.theme-control select{background:transparent;border-color:var(--line);font-size:var(--text-xs);padding-inline:var(--s3)}.intro{display:flex;align-items:center;justify-content:space-between;gap:var(--s8);padding-block:var(--s10) var(--s8)}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:400;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--s3)}.intro-copy{color:var(--muted);margin-top:var(--s3);max-width:72ch;font-size:var(--text-sm)}.review-state{display:flex;gap:var(--s3);align-items:flex-start;flex:0 0 260px;font-size:var(--text-xs);padding-left:var(--s6);border-left:1px solid var(--line)}.review-state strong{font-weight:500;display:block}.review-state span:not(.status-dot){display:block;color:var(--muted);margin-top:var(--s1)}.status-dot{width:8px;height:8px;border:1px solid var(--muted);border-radius:50%;margin-top:var(--s2);flex:none}.section-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);border-block:1px solid var(--line);margin-bottom:var(--s6);font-size:var(--text-xs)}.section-toolbar nav{display:flex;gap:var(--s6);flex-wrap:wrap}.section-toolbar a{display:inline-flex;align-items:center;gap:var(--s2);min-height:48px;text-decoration:none}.section-toolbar nav a{color:var(--muted)}.section-toolbar nav a:hover{color:var(--action-text)}.map-download{flex-shrink:0}.explorer{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);box-shadow:var(--shadow);overflow:clip}.lifecycle-map{padding:var(--s6);min-width:0}.section-label{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.section-label .mono{color:var(--muted)}.map-instruction{font-size:var(--text-sm);color:var(--muted);margin-top:var(--s2)}.phase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-block:var(--s6) var(--s4);gap:var(--s4)}.phase{min-width:0}.phase-title{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line-strong);padding-top:var(--s3)}.phase-title h3{font-size:var(--text-sm)}.phase-title>span{font-size:var(--text-lg);color:var(--muted)}.phase-caption{font-size:var(--text-xs);color:var(--muted);line-height:1.5;margin:var(--s2) 0 var(--s5);min-height:2.6em}.phase-nodes{display:flex;flex-direction:column;gap:var(--s5);list-style:none;padding:0}.phase-nodes li{position:relative;min-width:0}.phase-nodes li+li::before{content:'';position:absolute;left:var(--s5);height:var(--s5);bottom:100%;border-left:1px solid var(--line-strong)}.service-node{display:flex;flex-direction:column;justify-content:space-between;gap:var(--s3);min-height:145px;padding:var(--s4);text-decoration:none;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);position:relative}.service-node:hover{background:var(--panel-alt);border-color:var(--action-text)}.service-node.selected{background:var(--blue-soft);border-color:var(--blue)}.service-node strong{font-size:var(--text-base);line-height:1.3;font-weight:700;letter-spacing:-.015em}.node-meta{display:flex;align-items:center;gap:var(--s2);font-size:var(--text-xs);color:var(--muted)}.node-meta>span:last-child{margin-left:auto;color:var(--action-text)}.node-state{font-size:var(--text-xs);color:var(--action-text)}.lifecycle-rail{display:flex;align-items:center;gap:var(--s3);border-top:1px solid var(--line-strong);padding-top:var(--s4);margin-top:var(--s6)}.rail-mark{width:16px;height:16px;border:1px solid var(--line-strong);border-radius:50%;flex:none;position:relative}.rail-mark::after{content:'';width:6px;height:6px;border:1px solid var(--muted);border-radius:50%;position:absolute;left:4px;top:4px}.lifecycle-rail p{font-size:var(--text-xs);color:var(--muted)}.lifecycle-rail strong{color:var(--text);font-weight:500}.map-boundary{font-size:var(--text-xs);color:var(--muted);margin-top:var(--s3)}.selected-service{padding:var(--s6);border-left:1px solid var(--line);display:flex;flex-direction:column;background:var(--panel-alt);min-width:0}.selected-kicker{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s5)}.selected-kicker .eyebrow{margin:0}.selected-kicker a{font-size:var(--text-xs);text-decoration:none;min-height:44px;display:flex;align-items:center}.selected-service h2{font-size:var(--text-xl);line-height:1.18;letter-spacing:-.035em}.selected-service>p{font-size:var(--text-base);color:var(--muted);margin-top:var(--s4)}.selected-question{padding-top:var(--s5);margin-top:var(--s5);border-top:1px solid var(--line)}.label{font-size:var(--text-xs);color:var(--muted);font-weight:500}.selected-question p{font-size:var(--text-sm);margin-top:var(--s2)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--s3);min-height:44px;border:1px solid var(--line-strong);padding:var(--s2) var(--s4);border-radius:var(--radius);text-decoration:none;font-size:var(--text-sm);font-weight:500;color:var(--text);line-height:1.4}.button:hover:not(:disabled){background:var(--panel-alt);border-color:var(--action-text);color:var(--action-text)}.button.primary{background:var(--blue);border-color:var(--blue);color:#07162B;font-weight:700}.button.primary:hover{background:#5A9AFF;color:#07162B}.selected-service>.button{align-self:flex-start;margin-top:var(--s6)}.exact-status{display:flex;flex-direction:column;gap:var(--s2);margin-top:auto;padding-top:var(--s6);font-size:var(--text-xs);color:var(--muted)}.exact-status>span{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s2)}.exact-status code{color:var(--text)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--s6);margin-bottom:var(--s4)}.section-heading .eyebrow{margin-bottom:var(--s2)}.section-heading h2{font-size:var(--text-lg)}.section-heading>.mono{color:var(--muted);max-width:30ch}.scope-label{font-size:var(--text-xs);color:var(--muted);border:1px solid var(--line);padding:var(--s2) var(--s3);border-radius:var(--radius);flex:none}.section-copy{color:var(--muted);font-size:var(--text-sm);margin-bottom:var(--s6);max-width:95ch}.workbench{margin-top:var(--s12);padding-top:var(--s8);border-top:1px solid var(--line)}.workbench-controls{display:flex;gap:var(--s6);align-items:center;border:1px solid var(--line);padding:var(--s5);background:var(--panel);border-radius:var(--radius) var(--radius) 0 0}.scenario-label{flex:1 1 250px;min-width:0}.scenario-label>span{display:block;margin-bottom:var(--s2)}.scenario-label select{width:100%;font-size:var(--text-sm)}.trust-choice{display:flex;align-items:flex-start;gap:var(--s3);font-size:var(--text-sm);flex:1 1 330px;cursor:pointer;padding-block:var(--s2)}.trust-choice input{width:18px;height:18px;accent-color:var(--blue);margin-top:var(--s1);flex:none}.trust-choice small{display:block;color:var(--muted);font-size:var(--text-xs);margin-top:var(--s1)}.workbench-controls>button{flex-shrink:0;margin-top:var(--s6)}.workbench-message{padding:var(--s3) var(--s5);border:1px solid var(--line);border-top:0;font-size:var(--text-sm);color:var(--muted);background:var(--panel-alt)}.workbench-message[data-state=error]{color:var(--error);background:var(--error-soft)}.workbench-message[data-state=loading]{border-color:var(--blue)}.snapshot-identity{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:var(--s5);margin:var(--s5) 0}.snapshot-identity>div{display:flex;flex-direction:column;min-width:0}.snapshot-identity span{font-size:var(--text-xs);color:var(--muted);margin-bottom:var(--s1)}.dimension-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--s2)}.dimension{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s4);display:flex;flex-direction:column;text-align:left;gap:var(--s3);min-width:0}.dimension:hover,.dimension[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft)}.dimension-label{font-size:var(--text-xs);display:flex;align-items:center;gap:var(--s2);text-transform:capitalize;font-weight:500;width:100%}.dimension-label .mono{color:var(--muted)}.dimension-label>span:last-child{margin-left:auto;color:var(--action-text)}.dimension strong{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;line-height:1.4;overflow-wrap:anywhere}.dimension[data-tone=success] strong{color:var(--success)}.dimension[data-tone=error] strong{color:var(--error)}.dimension-question{font-size:var(--text-xs);color:var(--muted);line-height:1.5}.dimension-note{font-size:var(--text-xs);color:var(--muted);margin:var(--s3) 0 var(--s5);max-width:none}.inspection-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s5)}.case-record,.evidence-inspector{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s5);min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s4)}.panel-heading .label{font-family:var(--font-mono);overflow-wrap:anywhere}.text-button{border:0;color:var(--action-text);font-size:var(--text-xs);padding:var(--s2) 0}.text-button:hover{color:var(--text);text-decoration:underline}.case-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s4);border-bottom:1px solid var(--line);padding-bottom:var(--s4);margin-bottom:var(--s4)}.case-counts>p{font-size:var(--text-sm);color:var(--muted);grid-column:1/-1}.count-item strong{display:block;font-family:var(--font-mono);font-size:var(--text-lg);line-height:1.4;font-weight:500}.count-item span{font-size:var(--text-xs);color:var(--muted)}.evidence-list{display:flex;flex-direction:column;gap:var(--s2);margin-bottom:var(--s4)}.evidence-entry{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s3);text-align:left;padding:var(--s3);border:1px solid var(--line);border-radius:var(--radius);min-width:0}.evidence-entry:hover,.evidence-entry[aria-pressed=true]{border-color:var(--blue);background:var(--blue-soft)}.evidence-entry>span{display:flex;flex-direction:column;min-width:0}.evidence-entry small{font-size:var(--text-xs);color:var(--muted);overflow-wrap:anywhere}.evidence-entry>b{font-size:var(--text-xs);font-weight:500;color:var(--action-text)}.empty-copy{font-size:var(--text-sm);color:var(--muted)}#inspector-explanation{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--s4)}.binding-list{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--s3);margin-bottom:var(--s5);font-size:var(--text-xs)}.binding-list dt{color:var(--muted)}.binding-list dd{min-width:0}.evidence-inspector pre{max-height:19rem}details{border-top:1px solid var(--line)}summary{padding-block:var(--s4);cursor:pointer;min-height:52px;font-size:var(--text-sm);font-weight:500;position:relative;padding-right:var(--s8);list-style:none;display:flex;align-items:center;gap:var(--s4);justify-content:space-between}summary::-webkit-details-marker{display:none}summary::after{content:'+';font-family:var(--font-mono);font-size:var(--text-lg);font-weight:400;position:absolute;right:var(--s2);color:var(--action-text)}details[open]>summary::after{content:'−'}summary:hover{color:var(--action-text)}.summary-note{font-size:var(--text-xs);font-weight:400;color:var(--muted);text-align:right}.detail-body{padding-bottom:var(--s5)}.detail-body>p{font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--s4);max-width:95ch}details pre{padding:var(--s4);border:1px solid var(--line);background:var(--bg);border-radius:var(--radius);margin-bottom:var(--s4)}.gate-exercise{margin-top:var(--s5)}.gate-toolbar{display:flex;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}#gate-message{font-size:var(--text-sm);margin-bottom:var(--s4)}.export-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s6);border:1px solid var(--line);background:var(--panel);padding:var(--s5);margin-block:var(--s4);border-radius:var(--radius)}.export-row strong{font-size:var(--text-sm);font-weight:500}.export-row p{font-size:var(--text-xs);color:var(--muted);margin-top:var(--s1)}.export-actions{display:flex;gap:var(--s2);flex-wrap:wrap}.export-actions button{font-size:var(--text-xs)}.verification-raw{border-bottom:1px solid var(--line)}.notice{padding:var(--s4);border:1px solid var(--line);margin-bottom:var(--s4);font-size:var(--text-sm)}.service-contract,.acceptance-section,.architecture-section{margin-top:var(--s12);padding-top:var(--s8);border-top:1px solid var(--line)}.contract-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s10);margin-block:var(--s6)}.mechanism>p{margin-top:var(--s3);color:var(--muted);font-size:var(--text-base)}.mechanism>h3:not(:first-child){margin-top:var(--s6)}.mechanism>details{margin-top:var(--s5)}.proof-boundary{background:var(--panel-alt);padding:var(--s6);border-radius:var(--radius);align-self:start;border:1px solid var(--line)}.proof-boundary h3{font-size:var(--text-lg);margin-block:var(--s3) var(--s4)}.proof-boundary p{font-size:var(--text-base)}.boundary-foot{display:block;font-size:var(--text-xs);color:var(--muted);margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line)}.io-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s10);margin-block:var(--s6) var(--s8)}.io-grid h3{display:flex;align-items:center;gap:var(--s3);margin-bottom:var(--s3)}.io-grid h3 .mono{color:var(--muted);font-weight:400}.clean-list{list-style:none;padding:0}.clean-list li{font-size:var(--text-sm);padding-block:var(--s2);padding-left:var(--s4);position:relative;color:var(--muted)}.clean-list li::before{content:'·';position:absolute;left:0;color:var(--text)}.primitive-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}.primitive-links a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s1) var(--s3);align-items:center;min-width:0;padding:var(--s3) var(--s4);border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;font-size:var(--text-sm);background:var(--panel)}.primitive-links a code{grid-column:1;color:var(--muted)}.primitive-links a>span:last-child{grid-column:2;grid-row:1/3}.primitive-links a:hover{border-color:var(--blue);background:var(--blue-soft)}.state-machine{display:flex;gap:var(--s3);flex-wrap:wrap;list-style:none;padding:0;margin-bottom:var(--s5)}.state-machine li{display:flex;align-items:center;gap:var(--s3);padding-block:var(--s2)}.state-machine li:not(:last-child)::after{content:'→';color:var(--muted)}.state-machine code{padding:var(--s2);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.metric-definitions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}.metric-definitions article{border:1px solid var(--line);background:var(--panel);padding:var(--s5);border-radius:var(--radius);min-width:0}.metric-definitions h3{margin-bottom:var(--s2)}.metric-definitions>article>code{color:var(--muted)}.metric-definitions dl{margin-top:var(--s5);font-size:var(--text-sm)}.metric-definitions dt{font-size:var(--text-xs);font-weight:700;color:var(--muted);margin-top:var(--s4);margin-bottom:var(--s1)}.gate-list{list-style:none;padding:0}.gate-list li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:start;gap:var(--s3);padding-block:var(--s3);border-bottom:1px solid var(--line);font-size:var(--text-sm)}.gate-list .mono{color:var(--muted);padding-top:var(--s1)}.gate-status{font-size:var(--text-xs);color:var(--muted)}.acceptance-tests,.shared-requirements{list-style:none;padding:0}.acceptance-test{display:grid;grid-template-columns:100px minmax(0,1fr);gap:var(--s6);padding:var(--s5) 0;border-top:1px solid var(--line)}.requirement-id{display:flex;flex-direction:column;gap:var(--s2);align-items:start}.requirement-id>span{font-size:var(--text-xs);color:var(--muted);border:1px solid var(--line);padding:0 var(--s2);border-radius:3px}.acceptance-test dl{display:grid;grid-template-columns:54px minmax(0,1fr);gap:var(--s2) var(--s4);font-size:var(--text-sm)}.acceptance-test dt{color:var(--muted);font-size:var(--text-xs);padding-top:var(--s1)}.shared-requirements li{display:grid;grid-template-columns:100px minmax(0,1fr);gap:var(--s6);padding-block:var(--s5);border-top:1px solid var(--line)}.shared-requirements h3{margin-bottom:var(--s2)}.shared-requirements p{font-size:var(--text-sm);color:var(--muted);max-width:95ch}.maturity-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:var(--s5)}.maturity-list article{padding-top:var(--s3)}.maturity-list h3{margin-block:var(--s3)}.maturity-list code{color:var(--muted)}.text-link{font-size:var(--text-sm);min-height:44px;display:inline-flex;align-items:center}.architecture-title{display:flex;align-items:center;gap:var(--s5)}.architecture-title code{color:var(--muted)}.surface-footer{border-top:1px solid var(--line);padding-block:var(--s8);margin-top:var(--s12)}.footer-brand{display:flex;gap:var(--s3);align-items:center;font-size:var(--text-sm)}.footer-brand span{color:var(--muted);margin-left:var(--s3)}.surface-footer>p{font-size:var(--text-xs);color:var(--muted);margin-top:var(--s5);max-width:100ch}.footer-meta{display:flex;flex-wrap:wrap;gap:var(--s4) var(--s6);align-items:center;margin-top:var(--s4);font-size:var(--text-xs);color:var(--muted)}.footer-meta a{min-height:44px;display:flex;align-items:center}.footer-meta>span{margin-right:auto}
@media(min-width:1600px){.page-width{max-width:1440px}.lifecycle-map,.selected-service{padding:var(--s8)}}
@media(max-width:1150px){.explorer{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}.lifecycle-map,.selected-service{padding:var(--s5)}.phase-grid{gap:var(--s3)}.service-node{padding:var(--s3)}.node-meta{flex-wrap:wrap}.dimension-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dimension-question{max-width:40ch}.workbench-controls{gap:var(--s4)}.export-row{align-items:flex-start;flex-direction:column;gap:var(--s4)}.metric-definitions{grid-template-columns:repeat(2,minmax(0,1fr))}.intro{gap:var(--s6)}.review-state{flex-basis:225px}.panel-heading{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:900px){.explorer{grid-template-columns:1fr}.selected-service{border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1.2fr 1fr;gap:var(--s3) var(--s6)}.selected-kicker{grid-column:1/-1;margin:0}.selected-service h2{grid-column:1;grid-row:2;font-size:var(--text-lg)}.selected-service>p{grid-column:1;grid-row:3;margin:0;font-size:var(--text-sm)}.selected-question{grid-column:2;grid-row:2/4;margin:0;padding:0;border:0}.selected-service>.button{margin-top:var(--s2)}.exact-status{grid-column:2;grid-row:4;padding:0;align-self:center;margin:0}.workbench-controls{flex-wrap:wrap;align-items:flex-end}.workbench-controls>button{margin-top:0}.trust-choice{flex-basis:300px}.contract-grid{gap:var(--s6)}.section-toolbar nav{gap:var(--s4)}.section-toolbar{align-items:flex-start;flex-wrap:wrap;gap:0}.map-download{margin-left:auto}.review-state{display:none}.intro-copy{max-width:80ch}.header-row{gap:var(--s4)}.header-row nav{gap:var(--s4)}.brand-context{display:none}.theme-control select{max-width:145px}.scope-label{flex-shrink:1}.section-heading{align-items:flex-start}.section-label .mono{font-size:var(--text-xs)}.phase-caption{min-height:0}.service-node{min-height:120px}.phase-grid{margin-top:var(--s5)}.lifecycle-rail{margin-top:var(--s5)}}
@media(max-width:650px){.page-width{width:calc(100% - var(--s8))}.header-row{min-height:68px;gap:var(--s3);flex-wrap:wrap;padding-block:var(--s3)}.brand{font-size:var(--text-base)}.brand img{width:28px;height:28px}.header-row nav{order:3;flex-basis:100%;margin:0;border-top:1px solid var(--line);justify-content:space-between;gap:var(--s2);padding-top:var(--s1)}.header-row nav a{min-height:36px;font-size:var(--text-xs)}.theme-control{margin-left:auto}.theme-control select{min-height:40px;font-size:var(--text-xs)}.intro{padding-block:var(--s6);display:block}.intro-copy{font-size:var(--text-sm)}.section-toolbar nav{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--s5);width:100%;padding-block:var(--s1)}.section-toolbar a{min-height:44px}.map-download{border-top:1px solid var(--line);margin:0;flex-basis:100%;justify-content:space-between}.lifecycle-map,.selected-service{padding:var(--s4)}.section-label{align-items:baseline;flex-wrap:wrap;gap:var(--s2)}.section-label .mono{color:var(--muted)}.phase-grid{grid-template-columns:1fr;gap:var(--s5)}.phase{display:grid;grid-template-columns:67px minmax(0,1fr);column-gap:var(--s3);position:relative}.phase-title{grid-column:1;grid-row:1;display:block;padding-top:var(--s3)}.phase-title>span{display:none}.phase-caption{grid-column:1;grid-row:2;margin:var(--s2) 0;font-size:var(--text-xs);line-height:1.5}.phase-nodes{grid-column:2;grid-row:1/4;gap:var(--s3)}.phase-nodes li+li::before{height:var(--s3)}.phase:not(:last-child)::after{content:'';position:absolute;left:33px;top:110px;bottom:calc(var(--s5) * -1);border-left:1px solid var(--line)}.service-node{min-height:0;gap:var(--s2);padding:var(--s3)}.node-meta{gap:var(--s2);flex-wrap:nowrap}.service-node strong{font-size:var(--text-sm);line-height:1.4}.node-state{font-size:var(--text-xs)}.lifecycle-rail{align-items:flex-start}.rail-mark{margin-top:var(--s1)}.selected-service{display:flex;gap:0}.selected-kicker{margin-bottom:var(--s4)}.selected-service h2{font-size:var(--text-lg)}.selected-service>p{margin-top:var(--s3)}.selected-question{border-top:1px solid var(--line);padding-top:var(--s4);margin-top:var(--s4)}.selected-service>.button{margin-top:var(--s5)}.exact-status{width:100%;margin-top:var(--s5)}.section-heading{display:block}.section-heading>.scope-label,.section-heading>.mono{display:inline-block;margin-top:var(--s4)}.scope-label{font-size:var(--text-xs)}.workbench,.service-contract,.acceptance-section,.architecture-section{margin-top:var(--s8);padding-top:var(--s6)}.workbench-controls{padding:var(--s4);gap:var(--s4)}.scenario-label{flex-basis:100%}.trust-choice{flex-basis:100%;font-size:var(--text-sm)}.workbench-controls>button{width:100%}.workbench-message{padding:var(--s3) var(--s4)}.snapshot-identity{grid-template-columns:1fr;gap:var(--s3)}.snapshot-identity>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--s2);align-items:baseline}.dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dimension{padding:var(--s3);gap:var(--s2)}.dimension-label{gap:var(--s1)}.dimension-label .mono{display:none}.dimension strong{font-size:var(--text-xs)}.dimension-question{font-size:var(--text-xs)}.inspection-grid,.contract-grid,.io-grid{grid-template-columns:1fr;gap:var(--s5)}.case-record,.evidence-inspector{padding:var(--s4)}.panel-heading{gap:var(--s2);align-items:center}.case-counts{gap:var(--s3)}.binding-list{grid-template-columns:1fr;gap:var(--s1)}.binding-list dd{margin-bottom:var(--s3)}.gate-exercise>summary,.service-contract>details>summary,.acceptance-section>details>summary{align-items:flex-start;flex-direction:column;gap:var(--s1)}summary{font-size:var(--text-sm);gap:var(--s3)}.summary-note{text-align:left}.gate-toolbar .button{width:100%}.export-row{padding:var(--s4)}.export-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.export-actions button:last-child{grid-column:1/-1}.proof-boundary{padding:var(--s5)}.io-grid{margin-top:var(--s8);gap:var(--s6)}.primitive-links,.metric-definitions{grid-template-columns:1fr}.gate-list li{grid-template-columns:24px minmax(0,1fr);gap:var(--s2) var(--s3)}.gate-status{grid-column:2}.acceptance-test,.shared-requirements li{grid-template-columns:1fr;gap:var(--s3)}.requirement-id{flex-direction:row;gap:var(--s3);align-items:center}.acceptance-test dl{grid-template-columns:44px minmax(0,1fr);gap:var(--s3)}.architecture-title{gap:var(--s3)}.architecture-list summary{align-items:flex-start}.architecture-list .summary-note{display:none}.footer-brand{flex-wrap:wrap}.footer-brand span{margin:0;flex-basis:100%}.footer-meta{gap:var(--s2) var(--s5)}.footer-meta>span{flex-basis:100%}.surface-footer{margin-top:var(--s8);padding-block:var(--s6)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.surface-header,.section-toolbar,.skip-link,.workbench-controls,.export-actions,.gate-toolbar{display:none}.page-width{width:100%;max-width:none}.explorer,.inspection-grid,.contract-grid,.io-grid{display:block}.selected-service{border-top:1px solid var(--line)}body{background:white;color:black}.service-contract,.acceptance-section,.architecture-section,.workbench{break-before:auto}.dimension-grid{grid-template-columns:repeat(3,1fr)}a{color:inherit}.dimension{break-inside:avoid}}

.case-findings{display:flex;flex-direction:column;gap:var(--s1);margin-bottom:var(--s5)}.finding{border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:var(--s3);padding:var(--s2) 0;text-align:left;min-height:44px;font-size:var(--text-xs)}.finding code{margin-left:auto}.finding>span:last-child{color:var(--action-text)}.finding:hover{color:var(--action-text);background:var(--blue-soft)}

.reference-format-note{font-size:var(--text-xs);color:var(--muted);margin:calc(var(--s3) * -1) 0 var(--s5);max-width:100ch}.dimension-scope{font-size:var(--text-xs);line-height:1.5;color:var(--muted)}.contract-resources{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s6);margin-bottom:var(--s4);font-size:var(--text-sm)}.contract-resources a{min-height:44px;display:flex;align-items:center}.category-split{font-family:var(--font-mono);font-size:var(--text-xs)}#offline-status{max-width:65ch}#offline-status:not(:empty){margin-top:var(--s2)}
@media(max-width:900px){.intro{flex-wrap:wrap}.review-state{display:flex;flex-basis:100%;border-left:0;padding-left:0;gap:var(--s2)}.review-state>div{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}.review-state span:not(.status-dot){margin-top:0}}
@media(max-width:650px){.review-state{margin-top:var(--s4)}.review-state>div{display:block}.review-state span:not(.status-dot){margin-top:var(--s1)}}
