
/* V98 · Persistent case navigation, responsive and accessible */
html{scroll-behavior:smooth;scroll-padding-top:88px}
.has-case-toc main.shell{position:relative}
.case-side-toc{position:fixed;left:max(12px,calc((100vw - 1480px)/2));top:110px;width:190px;max-height:calc(100vh - 145px);overflow:auto;display:flex;flex-direction:column;gap:4px;padding:15px 11px;background:#121c2b;border:1px solid #30435d;border-radius:14px;z-index:25;box-shadow:0 12px 32px #0003}
.case-toc-heading{font-size:11px;letter-spacing:.15em;font-weight:750;color:#9bbef0;padding:8px 10px}
.case-side-toc a{color:#c5d3e7;text-decoration:none;font-size:12px;line-height:1.45;padding:9px 10px;border-radius:8px;transition:background .2s,color .2s}
.case-side-toc a:hover,.case-side-toc a:focus-visible,.case-side-toc a.is-active{color:#fff;background:#294566;outline:none}
.case-detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 16px}
.case-detail-tags span{display:inline-flex;padding:6px 10px;border:1px solid #42607f;background:#21364f;border-radius:7px;color:#d6e6fb;font-size:12px;font-weight:600}
@media(min-width:1500px){.has-case-toc main.shell{padding-left:155px;box-sizing:content-box}}
@media(min-width:1100px) and (max-width:1499px){.case-side-toc{width:148px;left:8px}.has-case-toc main.shell{margin-left:175px;margin-right:22px;max-width:none}}
@media(max-width:1099px){.case-side-toc{position:relative;inset:auto;width:auto;max-height:none;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;margin:18px 0;white-space:nowrap}.case-toc-heading{flex:none}.case-side-toc a{flex:none}.has-case-toc main.shell{padding-left:inherit}}
@media(max-width:600px){.case-detail-tags span{font-size:11px;padding:5px 8px}}
