@layer base, layout, components, responsive;
@layer base {
  :root{color-scheme:light;--paper:#f5f4ef;--surface:#fffefa;--ink:#222720;--muted:#667064;--line:#dadfd3;--accent:#f0bc46;--green:#27613f;--green-bg:#edf4eb;--red:#923f29;--red-bg:#fcf1e9;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;font-family:Arial,Helvetica,sans-serif;font-size:14px;color:var(--ink);background:var(--paper)}
  *{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}a{color:inherit;text-underline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible,pre:focus-visible{outline:3px solid #356d99;outline-offset:4px}button:disabled{cursor:wait;opacity:.6}h1,h2,h3,p{margin:0}h2{font-size:23px;font-weight:500;letter-spacing:-.7px}h3{font-size:15px;font-weight:600}p{line-height:1.65}small,.small{font-size:12px}.muted{color:var(--muted)}.label,.eyebrow{font:10px var(--mono);letter-spacing:1.25px}.label{color:var(--muted)}.mono{font-family:var(--mono)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:-60px;left:20px;padding:12px;background:white;z-index:10}.skip:focus{top:12px}
}
@layer layout {
 .topbar{height:76px;padding:0 5%;display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:var(--surface)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:21px;letter-spacing:-.8px;font-weight:600}.brand-mark{display:grid;place-items:center;background:var(--ink);color:var(--accent);width:30px;height:30px;border-radius:6px;font-size:27px;font-weight:400}.brand-note{font-size:12px;color:var(--muted)}.source-link{margin-left:auto;text-decoration:none;font-size:12px}.source-link span{margin-left:12px}.shell{max-width:1410px;margin:auto;padding:0 5%}.intro{display:flex;justify-content:space-between;align-items:flex-end;padding:48px 0 36px;gap:35px}.eyebrow{color:#756122;margin-bottom:17px}h1{font-size:clamp(32px,3.45vw,48px);font-weight:500;line-height:1.12;letter-spacing:-2px}h1 span{color:#75816d}.intro-copy{color:var(--muted);font-size:14px;max-width:530px;margin-top:20px;line-height:1.6}.intro-aside{padding-bottom:7px;flex-shrink:0}.intro-aside p{font-size:12px;margin:12px 0 8px}.intro-aside p span{margin:0 9px;color:#9aa18f}.intro-aside small{color:var(--muted)}.workspace{display:grid;grid-template-columns:245px minmax(0,1fr);border:1px solid var(--line);background:var(--surface);border-top:0;border-radius:0 0 8px 8px}.scenario-panel{padding:27px 18px 20px;border-right:1px solid var(--line);background:#f9faf5}.audit-panel{padding:28px 28px 18px;min-width:0}.view-tabs{display:flex;align-items:center;border-bottom:1px solid var(--line);gap:24px}.view-tab{background:none;border:0;border-bottom:3px solid transparent;padding:18px 1px 15px;font-size:13px;color:var(--muted)}.view-tab.active{border-bottom-color:var(--ink);color:var(--ink);font-weight:600}.demo-label{margin-left:auto;font:10px var(--mono);color:var(--muted)}footer{display:flex;justify-content:space-between;gap:25px;font-size:10px;color:var(--muted);padding:23px 0 32px}footer a{margin-left:12px}.footer-divider{margin:0 8px;color:#adb4a8}
}
@layer components {
 .panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.panel-heading h2{font-size:14px;font-weight:600;letter-spacing:0}.counter{font:10px var(--mono);color:var(--muted)}.scenarios{display:flex;flex-direction:column;gap:6px;margin:23px 0 35px}.scenario{border:1px solid transparent;background:transparent;border-radius:5px;padding:13px 10px;display:flex;gap:11px;align-items:flex-start;text-align:left}.scenario:hover{background:#edf0e7}.scenario[aria-pressed=true]{background:#f9ebc5;border-color:#e5ce8e}.scenario-number{font:10px var(--mono);color:#75816d;padding-top:2px}.scenario-name{font-size:12px;line-height:1.45;display:block}.scenario-check{font:9px var(--mono);color:var(--muted);display:block;margin-top:5px}.scope-note{padding:17px 10px 0;border-top:1px solid var(--line)}.scope-note p{font-size:11px;color:var(--muted);margin-top:10px}.audit-heading{display:flex;justify-content:space-between;gap:15px}.audit-heading h2{margin:8px 0 8px;font-size:22px}.audit-heading p.muted{font-size:12px;max-width:540px}.run-tag{font:9px var(--mono);align-self:flex-start;border:1px solid var(--line);border-radius:3px;padding:5px 8px;color:var(--muted);letter-spacing:1px}.policy-switch{margin:22px 0 18px;display:flex;align-items:center;gap:3px;padding:4px;background:#f0f2eb;border-radius:5px}.policy-switch button{padding:9px 13px;border:1px solid transparent;background:none;border-radius:3px;font-size:11px}.policy-switch button.selected{background:var(--surface);border-color:var(--line);box-shadow:0 1px 2px #00000008}.policy-switch>span{font-size:10px;color:var(--muted);margin-left:auto;padding-right:10px}.status-strip{display:grid;grid-template-columns:1.15fr 1fr .85fr;border:1px solid var(--line);border-radius:5px;margin-bottom:20px}.status-strip>div{padding:16px 18px;border-right:1px solid var(--line)}.status-strip>div:last-child{border:0}.status-strip strong{display:block;font-size:15px;font-weight:500;margin-top:9px}.positive{color:var(--green)}.negative{color:var(--red)}.neutral{color:var(--muted)}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.context-box{border:1px solid var(--line);border-radius:5px;overflow:hidden;min-width:0}.box-heading{display:flex;align-items:center;gap:7px;padding:13px 14px;border-bottom:1px solid var(--line)}.box-heading h3{font-size:12px}.accepted .box-heading{background:var(--green-bg);color:var(--green)}.excluded .box-heading{background:var(--red-bg);color:var(--red)}.count{margin-left:auto;font:10px var(--mono)}.status-icon{font-size:17px;line-height:1}.memory{padding:16px 15px}.memory+.memory{border-top:1px solid var(--line)}.memory-id{font:9px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.7px}.memory-text{margin:12px 0 14px;font-size:15px;line-height:1.6;letter-spacing:-.15px}.memory-reason{font-size:12px;line-height:1.7;margin:12px 0 13px}.safe-marker{font:9px var(--mono);color:var(--muted);background:#f2f2ec;border-radius:3px;padding:6px 8px;display:inline-block}.memory-meta{font:9px var(--mono);color:var(--muted);line-height:1.7}.checks{display:flex;gap:5px;flex-wrap:wrap;margin-top:14px}.check{padding:4px 5px;border:1px solid var(--line);font:8px var(--mono);border-radius:3px;color:var(--muted)}.check.pass{color:var(--green);border-color:#c7d9c4}.check.fail{color:var(--red);border-color:#eac7b8}.empty-context{padding:25px 15px;color:var(--muted);font-size:12px;line-height:1.7}.gate-box{display:grid;grid-template-columns:1.2fr 1fr;gap:22px;background:#f8f8f3;border:1px solid var(--line);border-radius:5px;padding:19px;margin-top:18px}.gate-box h3{font-size:15px;margin:8px 0}.gate-box .small{font-size:11px}.gate-box ul{list-style:none;margin:0;padding:0;font-size:10px}.gate-box li{display:flex;align-items:center;gap:8px;padding:5px 0}.gate-box li span:last-child{margin-left:auto;font:9px var(--mono)}.rule-icon{font-size:12px}.pack{margin-top:18px;border:1px solid var(--line);border-radius:5px}.pack summary{cursor:pointer;padding:14px;font-size:11px}.pack summary .mono{font-size:9px;color:var(--muted);margin-left:12px}.pack-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 15px;border-top:1px solid var(--line)}.pack-toolbar button{background:var(--surface);border:1px solid var(--line);border-radius:4px;font-size:10px;padding:7px 12px}.pack pre{margin:0;padding:17px;background:#f7f8f2;font:11px/1.8 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere}.fixture-note{font-size:10px;color:var(--muted);margin-top:17px;line-height:1.65}.evidence-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;border:1px solid var(--line);border-top:0;padding:45px;background:var(--surface)}.evidence-layout h2{font-size:35px;letter-spacing:-1px;line-height:1.17;margin:15px 0 20px}.evidence-layout .muted{max-width:350px;font-size:13px}.unrecorded{margin:26px 0 12px;border:1px solid var(--line);border-radius:4px;padding:10px 12px;display:inline-block;font:10px var(--mono)}.evidence-steps{list-style:none;padding:0;margin:0}.evidence-steps li{display:flex;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}.evidence-steps li:first-child{padding-top:0}.evidence-steps li>span{font:10px var(--mono);color:var(--muted);margin-top:3px}.evidence-steps strong{font-size:13px;font-weight:500}.evidence-steps p{font-size:11px;color:var(--muted);margin-top:7px}.evidence-steps em{font:9px var(--mono);color:var(--muted);margin-left:auto;white-space:nowrap;margin-top:3px}.evidence-footnote{padding:16px;border:1px solid var(--line);border-top:0;font-size:11px;color:var(--muted);line-height:1.6}#error{background:var(--red-bg);border:1px solid #e9c2b1;color:var(--red);padding:15px;line-height:1.6;margin-top:15px}
}
@layer responsive {
 @media(min-width:1500px){.shell{padding:0 55px}.topbar{padding-left:calc((100% - 1300px)/2);padding-right:calc((100% - 1300px)/2)}}
 @media(max-width:1000px){.brand-note{display:none}.intro-aside{display:none}.workspace{grid-template-columns:205px minmax(0,1fr)}.audit-panel{padding:22px 18px}.context-grid{gap:10px}.status-strip>div{padding:14px 10px}.status-strip .label{font-size:8px}.status-strip strong{font-size:13px}.policy-switch>span{display:none}.gate-box{grid-template-columns:1fr}.evidence-layout{gap:35px;padding:30px}.demo-label{font-size:9px}.gate-box ul{display:flex;flex-wrap:wrap;gap:5px 18px}.gate-box li{gap:6px}.gate-box li span:last-child{margin-left:8px}}
 @media(max-width:700px){.topbar{height:62px;padding:0 20px}.brand{font-size:19px}.source-link{font-size:10px}.source-link span{margin-left:4px}.shell{padding:0 18px}.intro{padding:30px 0 24px}.eyebrow{font-size:9px;margin-bottom:14px}h1{font-size:34px;letter-spacing:-1.5px}.intro-copy{font-size:12px;margin-top:15px}.demo-label{display:none}.view-tabs{gap:23px}.workspace{display:block}.scenario-panel{padding:17px;border-right:0;border-bottom:1px solid var(--line)}.panel-heading{margin-bottom:5px}.scenario-panel>.muted,.scope-note{display:none}.scenarios{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:14px 0 0}.scenario{padding:9px 8px;border:1px solid var(--line);gap:8px}.scenario-name{font-size:10px}.scenario-check{font-size:8px;margin-top:3px}.scenario-number{font-size:9px}.audit-panel{padding:22px 14px 14px}.audit-heading h2{font-size:21px}.audit-heading p.muted{font-size:11px}.policy-switch button{flex:1;padding:9px 7px}.status-strip>div{padding:13px 8px}.status-strip strong{font-size:12px;line-height:1.4}.status-strip .label{font-size:7px;letter-spacing:.5px}.context-grid{grid-template-columns:1fr}.memory-text{font-size:15px}.gate-box{padding:16px}.gate-box ul{display:block;font-size:11px}.pack summary .mono{display:none}.pack-toolbar .small{font-size:10px}.fixture-note{font-size:10px}footer{display:block;font-size:9px;line-height:1.9}footer>span{display:block}.evidence-layout{grid-template-columns:1fr;gap:30px;padding:25px 20px}.evidence-layout h2{font-size:31px}.evidence-steps{min-width:0}.evidence-steps li{gap:10px}.evidence-steps em{font-size:8px}.evidence-steps strong{font-size:11px}.evidence-steps p{font-size:10px}.evidence-footnote{font-size:10px}}
 @media(prefers-reduced-motion:no-preference){button{transition:background-color .12s,border-color .12s}.audit-panel[aria-busy=true]{opacity:.6;transition:opacity .12s}}
}

/* Readability pass: body content is at least 14px; compact metadata at least 12px. */
@layer responsive {
 .label,.eyebrow,.counter,.demo-label,.run-tag,.memory-id,.memory-meta,.safe-marker,.check,.count,.scenario-number,.scenario-check,.pack summary .mono{font-size:12px;letter-spacing:.35px}
 small,.small,.brand-note,.source-link,.view-tab,.scenario-name,.scope-note p,.audit-heading p.muted,.policy-switch button,.policy-switch>span,.box-heading h3,.memory-reason,.empty-context,.gate-box .small,.gate-box ul,.pack summary,.pack-toolbar button,.pack-toolbar .small,.fixture-note,.evidence-layout .muted,.evidence-steps strong,.evidence-steps p,.evidence-footnote{font-size:14px}
 .intro-aside p{font-size:14px}.gate-box li span:last-child,.evidence-steps em,footer,.evidence-steps li>span,.unrecorded{font-size:12px}
 .pack pre{font-size:13px}.status-strip .label{font-size:11px}.status-strip strong{font-size:15px}.scenario-panel{padding-left:14px;padding-right:14px}.scenario{padding-left:8px;padding-right:8px}.gate-box{grid-template-columns:1fr}.gate-box ul{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.memory-text{font-size:16px}
 @media(max-width:1000px){.workspace{grid-template-columns:220px minmax(0,1fr)}.context-grid{grid-template-columns:1fr}.status-strip{grid-template-columns:1fr}.status-strip>div{border-right:0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.status-strip strong{margin:0}.demo-label{display:none}}
 @media(max-width:700px){.workspace{display:block}.intro-copy{font-size:14px}.source-link{font-size:12px}.scenario-name{font-size:13px}.scenario-check,.scenario-number{font-size:12px}.scenario{gap:7px}.label{font-size:12px}.status-strip .label{font-size:11px}.gate-box ul{grid-template-columns:1fr}.pack pre{font-size:13px}.brand-note{display:none}.evidence-steps li{flex-wrap:wrap}.evidence-steps em{margin-left:25px}.evidence-steps li>div{flex:1;min-width:170px}.scenarios{gap:8px}.fixture-note{font-size:13px}footer{font-size:12px}}
}

/* Keep the keyboard skip link visually hidden until focused, including full-page captures. */
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;padding:0;overflow:hidden;white-space:nowrap}

/* Public demo usability. */
.pack-actions{display:flex;gap:8px;flex-wrap:wrap}.pack-toolbar button{min-height:44px}.copy-feedback:not(:empty){display:block;padding:10px 15px;color:var(--green);font-size:14px}.noscript-note{padding:18px;border:1px solid var(--line);background:var(--surface)}.view-tab,.scenario,.policy-switch button{min-height:44px}.source-link{min-height:44px;display:flex;align-items:center}.brand{min-height:44px}.fixture-note{max-width:850px}
@media(max-width:520px){.pack-toolbar{align-items:flex-start;flex-direction:column}.pack-actions{width:100%}.pack-actions button{flex:1}.source-link{max-width:135px;text-align:right;font-size:12px}.topbar{gap:12px}}
