/* Shared case composition v86. Opt-in via case-layouts; portfolio type/tokens
   remain the source of truth. The prototype supplies modules, not dimensions. */
.case-page.case-reading-presentation{
 --reading-gap:40px;--reading-inset:32px;--reading-side:184px;
 --reading-h2:42px;--reading-h2-line:46px;--reading-h3:26px;--reading-h3-line:32px;
 --reading-compact:20px;--reading-compact-line:26px;--reading-body:16px;--reading-body-line:26px;
 --reading-lead:17px;--reading-lead-line:26px;
 --case-sp-h2-intro:16px;--case-sp-intro-body:48px;--case-sp-proof:48px;--case-sp-stack:40px;
 --case-sp-related:56px;--case-sp-scene:112px;--case-sp-chapter:144px;
 --case-scene-before:48px;--case-scene-after:64px;--case-chapter-top:80px;--case-chapter-bottom:63px;
 --case-sp-overview:56px;
 --reading-card-border:var(--color-rule);
 --reading-card-shadow:0 10px 28px -12px #11111114;
 --reading-gallery-shadow:0 8px 24px -8px #11111120;
}
html[toggle-theme="dark"] .case-page.case-reading-presentation{
 --reading-card-shadow:0 10px 28px -12px #0005;
 --reading-gallery-shadow:0 8px 24px -8px #0006;
}
.case-reading-presentation .case-reading-layout{display:grid;grid-template-columns:var(--reading-side) minmax(0,1fr);width:100%;min-width:0;align-items:stretch}
.case-reading-sidebar{border-right:1px solid var(--color-rule);padding:64px 24px;box-sizing:border-box;min-width:0}
.case-reading-content{min-width:0}
.case-page.case-reading-presentation .case-reading-content .case-chapter{width:100%;padding:var(--case-chapter-top) var(--reading-inset) var(--case-chapter-bottom);--case-content-inset:var(--reading-inset)}
.case-page.case-reading-presentation #context{padding-top:64px}
.case-page.case-reading-presentation .case-chapter h2{font-size:var(--reading-h2);line-height:var(--reading-h2-line);font-weight:500;letter-spacing:-.02em}
.case-page.case-reading-presentation .case-chapter h3{font-size:var(--reading-h3);line-height:var(--reading-h3-line);font-weight:500;letter-spacing:-.01em}
.case-page.case-reading-presentation :is(.case-copy p,.case-reel-heading p,.case-competitor-card p){font-size:var(--reading-body);line-height:var(--reading-body-line)}
.case-page.case-reading-presentation .case-chapter-heading{grid-template-columns:minmax(0,1fr);gap:var(--case-sp-h2-intro);max-width:none;width:100%;margin:0 0 var(--case-sp-intro-body);align-items:start;align-content:start}
.case-page.case-reading-presentation .case-chapter-heading p{max-width:none;padding:0;font-size:var(--reading-lead);line-height:var(--reading-lead-line)}
.case-page.case-reading-presentation :is(.case-copy,.case-copy-body){align-content:start;align-items:start;grid-auto-rows:max-content}
.case-compact-stack{display:grid;gap:32px;min-width:0;align-content:start;align-items:start}
.case-page.case-reading-presentation :is(.case-compact-stack,.case-interface-opening>.case-copy) h3{font-size:var(--reading-compact);line-height:var(--reading-compact-line)}
.case-page.case-reading-presentation :is(.case-compact-stack,.case-interface-opening>.case-copy) p{font-size:15px;line-height:1.6}
.case-page.case-reading-presentation .case-compact-stack .case-copy{gap:12px}
.case-page.case-reading-presentation .case-context-spread{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--reading-gap);align-items:start}
.case-context-origin{display:grid;gap:var(--case-sp-h2-intro);align-content:start;min-width:0}
.case-page.case-reading-presentation .case-context-preview{margin-bottom:var(--case-sp-overview)}
.case-page.case-reading-presentation .case-context-origin p{font:400 var(--reading-lead)/var(--reading-lead-line) var(--font-body);color:var(--color-muted);text-wrap:pretty}
.case-task-panel{background:var(--color-soft);padding:24px;border-radius:16px;min-width:0}
.case-page.case-reading-presentation .case-feature{grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:var(--reading-gap);align-items:center}
.case-page.case-reading-presentation .case-feature-copy{position:static;max-width:none;min-width:0;width:100%}
.case-page.case-reading-presentation .case-feature--wide{grid-template-columns:minmax(0,1fr);row-gap:var(--case-sp-proof)}
.case-page.case-reading-presentation .case-feature--wide .case-copy,
.case-page.case-reading-presentation .case-reading-block>.case-copy{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--reading-gap);align-items:start}
.case-page.case-reading-presentation .case-reading-block{max-width:none}
.case-page.case-reading-presentation .case-feature--wide .case-copy-body{min-width:0}
.case-page.case-reading-presentation .case-feature-media{min-width:0}
.case-page.case-reading-presentation .case-process-band{margin:var(--case-sp-scene) 0 0;padding:0;border:0}
.case-page.case-reading-presentation .case-process{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--reading-gap);align-items:start}
.case-page.case-reading-presentation .case-process-heading{grid-template-columns:minmax(0,1fr);gap:var(--case-sp-h2-intro);max-width:none;align-content:start}
.case-page.case-reading-presentation .case-process-heading h3{font-size:var(--reading-h2);line-height:var(--reading-h2-line);letter-spacing:-.02em;text-transform:uppercase;max-width:470px;text-wrap:balance}
.case-page.case-reading-presentation .case-process-heading p{font-size:var(--reading-lead);line-height:var(--reading-lead-line);max-width:460px;text-wrap:balance}
.case-page.case-reading-presentation .case-process ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0}
.case-page.case-reading-presentation .case-process li{grid-template-columns:minmax(0,1fr) max-content;grid-template-rows:auto auto;grid-template-rows:subgrid;grid-row:span 2;gap:16px 12px;padding:18px 20px;min-height:0;box-sizing:border-box;align-content:start;border:1px solid var(--reading-card-border);border-radius:16px;box-shadow:var(--reading-card-shadow);background:var(--color-paper)}
.case-page.case-reading-presentation .case-stage-copy{display:contents}
.case-page.case-reading-presentation .case-process .case-stage-copy h4{grid-column:1;grid-row:1;font-size:22px;line-height:27px;font-weight:500;align-self:start;text-wrap:pretty}
.case-page.case-reading-presentation .case-process .case-stage-copy p{grid-column:1/-1;grid-row:2;font-size:15px;line-height:22px}
.case-page.case-reading-presentation .case-process .case-stage-number{grid-column:2;grid-row:1;justify-self:end;align-self:start;font-size:22px;line-height:27px;font-weight:500}
.case-page.case-reading-presentation .case-research-opening{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--reading-gap)}
.case-page.case-reading-presentation .case-research-introduction{grid-column:1;margin:0}
.case-page.case-reading-presentation .case-research-introduction .case-chapter-heading{margin:0}
.case-page.case-reading-presentation .case-research-introduction .case-chapter-heading p{max-width:none}
.case-page.case-reading-presentation .case-research-narrative{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr);gap:32px;max-width:none;margin:0;align-items:start;align-content:start}
.case-page.case-reading-presentation .case-research-narrative>.case-copy+ .case-copy{margin:0;padding:0;border:0}
.case-page.case-reading-presentation .case-competitors{gap:24px}
.case-page.case-reading-presentation .case-competitor-card header{gap:14px}
.case-page.case-reading-presentation .case-competitor-card h3{font-size:var(--reading-compact);line-height:var(--reading-compact-line);padding:0;border-radius:0;background:transparent;color:var(--color-ink)}
.case-page.case-reading-presentation .case-competitor-card p{font-size:15px!important;line-height:24px}
.case-reading-presentation .case-competitor-logos{gap:8px;padding-inline:12px}
.case-reading-presentation .case-competitor-logos figcaption{font-size:12px}
.case-reading-presentation .case-architecture-spread{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;min-width:0;align-items:start}
.case-architecture-opening{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--reading-gap);margin-bottom:var(--case-sp-proof);align-items:start}
.case-page.case-reading-presentation .case-architecture-opening>.case-chapter-heading{margin:0}
.case-page.case-reading-presentation #architecture .case-reading-block{margin-top:var(--case-sp-related)}
.case-page.case-reading-presentation #architecture .case-reading-block>.case-copy{grid-template-columns:minmax(0,1fr);gap:12px}
.case-page.case-reading-presentation [data-case-feature="job-stories"]{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.case-reading-presentation .case-interface-opening{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--reading-gap);align-items:start;margin-bottom:var(--case-sp-proof);min-width:0}
.case-page.case-reading-presentation .case-interface-opening .case-chapter-heading{grid-template-columns:minmax(0,1fr);gap:var(--case-sp-h2-intro);margin:0}
.case-page.case-reading-presentation #interface>.case-blocks{margin-top:var(--case-sp-scene)}
.case-page.case-reading-presentation #interface .case-feature--sequence{grid-template-columns:minmax(0,1fr)}
.case-page.case-reading-presentation .case-sequence-step{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--reading-gap);align-items:center}
.case-page.case-reading-presentation .case-sequence-step+ .case-sequence-step{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.case-page.case-reading-presentation .case-reel-heading{max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--reading-gap)}
.case-page.case-reading-presentation .case-system-layout{grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:var(--reading-gap)}
.case-page.case-reading-presentation .case-system-summary{position:static}
.case-page.case-reading-presentation .case-system-summary.is-sticky-ready{position:sticky;top:calc(var(--case-header-height) + 24px)}
.case-page.case-reading-presentation .case-system-summary .case-chapter-heading{grid-template-columns:minmax(0,1fr);gap:var(--case-sp-h2-intro);margin:0}
.case-page.case-reading-presentation .case-outcome-composition{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px var(--reading-gap);padding:28px}
.case-page.case-reading-presentation .case-outcome-composition .case-chapter-heading{grid-template-columns:minmax(0,1fr);gap:12px;margin:0}
.case-page.case-reading-presentation .case-outcome-composition .case-results{padding:24px}
.case-page.case-reading-presentation .case-outcome-composition .case-results p{color:#fff}
.case-page.case-reading-presentation .case-outcome-composition .case-results strong{color:#fff}
.case-page.case-reading-presentation .case-results>div+div{border-top-color:#fff6}
.case-page.case-reading-presentation .case-results>div+div strong{font-size:var(--reading-h2);line-height:var(--reading-h2-line);font-weight:500;text-wrap:balance}
/* Boundaries belong to sections, not individual paragraphs or pictures. */
.case-page.case-reading-presentation .case-reading-content :is(.case-feature,.case-process-band,.case-screen-reel){border-top:0}
.case-page.case-reading-presentation .case-reading-content :is(.case-feature,.case-process-band,.case-screen-reel)::before,
.case-page.case-reading-presentation .case-reading-content :is(.case-feature,.case-process-band,.case-screen-reel)::after{content:none}
.case-page.case-reading-presentation .case-chapter--editorial>.case-blocks{margin-top:0}
.case-page.case-reading-presentation .case-reading-content :is(#context,#research,#interface) .case-section-divider{
 position:relative;margin:var(--case-scene-before) calc(-1 * var(--reading-inset)) 0;
 padding:calc(var(--case-scene-after) - 1px) var(--reading-inset) 0;border-top:1px solid var(--color-rule);
}
.case-page.case-reading-presentation .case-reading-content .case-section-divider::after{
 content:'';position:absolute;pointer-events:none;left:-7px;right:-7px;top:-7px;width:auto;height:14px;background:var(--color-ink);z-index:2;
 mask:url('/assets/grid-star.svg') left center/14px 14px no-repeat,url('/assets/grid-star.svg') right center/14px 14px no-repeat;
 -webkit-mask:url('/assets/grid-star.svg') left center/14px 14px no-repeat,url('/assets/grid-star.svg') right center/14px 14px no-repeat;
}

/* One zoom target on the image; only the automatic reel has captions. */
.case-page.case-reading-presentation .case-media{gap:0}
.case-page.case-reading-presentation .case-media>figcaption{padding:16px 20px;font-size:14px;line-height:21px;text-wrap:pretty;min-width:0}
.case-page.case-reading-presentation .case-zoom{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;box-sizing:border-box;width:40px;height:40px;background:#555e;color:#fff;border:1px solid #fffa;box-shadow:0 0 0 1px #0003;transition:background-color 160ms ease}
.case-page.case-reading-presentation .case-image-link:is(:hover,:focus-visible) .case-zoom{background:var(--color-accent);color:#fff}
/* Only evidence images zoom. Their frame, eye and caption remain stationary. */
.case-page.case-reading-presentation .case-reading-content .case-image-link img{transform-origin:center;transition:transform 220ms cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (pointer:fine){
 .case-page.case-reading-presentation .case-reading-content .case-image-link:hover img,
 .case-page.case-reading-presentation .case-reading-content :where(.case-wall-row .case-media:hover) .case-image-link img{transform:scale(1.03)}
}
.case-page.case-reading-presentation .case-reading-content [data-dragging] .case-image-link img,
.case-page.case-reading-presentation:has(.case-motion-toggle[aria-pressed="true"]) .case-reading-content .case-image-link img{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){
 .case-page.case-reading-presentation .case-reading-content .case-image-link img{transform:none;transition:none}
}

/* A usable two-screen module. Without JS the figures remain in reading order. */
.case-gallery-slider{position:relative;min-width:0}
.case-slider-track{display:grid;gap:24px;min-width:0}
.case-gallery-slider.is-slider-ready .case-slider-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y}
.case-slider-track::-webkit-scrollbar{display:none}
.case-gallery-slider.is-slider-ready .case-slider-track>.case-media{flex:0 0 100%;width:100%;box-sizing:border-box;scroll-snap-align:start;align-self:start}
.case-slider-track:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:26px}
.case-slider-dots{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:grid;gap:0;z-index:2}
.case-slider-dots[hidden]{display:none}
.case-slider-dots button{display:grid;place-items:center;width:44px;height:26px;padding:0;border:0;background:transparent;cursor:pointer;border-radius:6px}
.case-slider-dots button span{display:block;width:8px;height:8px;border-radius:50%;background:#7778}
.case-slider-dots button[aria-pressed=true] span{background:var(--color-accent)}
.case-page.case-reading-presentation .case-sequence-step.case-address-story{display:block;min-width:0;scroll-margin-top:calc(var(--case-header-height) + 24px)}
.case-address-sticky{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--reading-gap);align-items:center;min-width:0}
.case-page.case-reading-presentation .case-address-sticky>.case-feature-copy{align-self:center}
.case-address-story.is-scroll-linked{height:var(--address-scene-height)}
.is-scroll-linked>.case-address-sticky{position:sticky;top:var(--address-pin-top);height:var(--address-stage-height)}
.case-address-story.is-scroll-linked .case-feature-media{justify-items:center}
.case-address-story.is-scroll-linked .case-gallery-slider{width:100%;max-width:var(--address-art-size)}
.case-gallery-slider.is-scroll-linked .case-slider-track{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;scroll-snap-type:none}
.case-gallery-slider.is-scroll-linked .case-slider-track>.case-media{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 300ms cubic-bezier(.22,1,.36,1),visibility 0s linear 300ms;align-self:start}
.case-gallery-slider.is-scroll-linked .case-slider-track>.case-media.is-current{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 300ms cubic-bezier(.22,1,.36,1),visibility 0s}
.case-gallery-slider.is-scroll-linked .case-slider-dots{top:calc(var(--address-art-size) / 2);transform:translateY(-50%)}
.case-reading-presentation [data-drag-enabled] .case-auto-viewport{cursor:grab;touch-action:pan-y}
.case-reading-presentation [data-dragging] .case-auto-viewport{cursor:grabbing;user-select:none}
.case-reading-presentation [data-dragging] .case-image-link{cursor:grabbing}
.case-reading-presentation .case-contents-label{display:none}

@media(min-width:1100px){
 .case-page.case-reading-presentation .case-toc{position:sticky;top:calc(var(--case-header-height) + 24px);left:auto;right:auto;bottom:auto;transform:none;width:100%;max-width:none;max-height:calc(100svh - var(--case-header-height) - 48px);overflow-y:auto;scrollbar-width:thin;background:transparent;border:0;border-radius:0;box-shadow:none;z-index:5}
 .case-reading-presentation .case-contents-label{display:block;font:400 11px/1.5 var(--font-body);color:var(--color-muted);margin:0 0 16px;letter-spacing:.02em}
 .case-reading-presentation .case-toc nav{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:0}
 .case-page.case-reading-presentation .case-toc a{position:relative;display:flex;box-sizing:border-box;min-height:34px;padding:7px 0 7px 14px;margin:0;border-radius:0;font-size:13px;line-height:20px;text-align:left;white-space:normal;background:transparent;box-shadow:none}
 .case-page.case-reading-presentation .case-toc a[aria-current=location]{color:var(--color-accent)}
 .case-page.case-reading-presentation .case-toc a:hover{color:var(--color-accent)!important}
 .case-reading-presentation .case-toc a[aria-current=location]::before{content:'';position:absolute;left:0;top:7px;height:20px;width:2px;background:var(--color-accent)}
}
@media(min-width:1600px){
 .case-page.case-reading-presentation{--reading-side:216px;--reading-inset:40px;--reading-gap:48px}
 .case-reading-sidebar{padding-inline:28px}
}
@media(max-width:1199.98px){
 .case-page.case-reading-presentation{
  --reading-inset:24px;--reading-gap:32px;--reading-side:168px;
  --reading-h2:36px;--reading-h2-line:40px;--reading-h3:24px;--reading-h3-line:30px;
  --reading-body-line:25px;--reading-lead:16px;--reading-lead-line:25px;
  --case-sp-h2-intro:14px;--case-sp-intro-body:40px;--case-sp-proof:40px;--case-sp-pair:20px;--case-sp-stack:32px;
  --case-sp-related:44px;--case-sp-scene:88px;--case-sp-chapter:112px;--case-sp-overview:44px;
  --case-scene-before:40px;--case-scene-after:48px;--case-chapter-top:64px;--case-chapter-bottom:47px;
 }
 .case-reading-sidebar{padding-inline:16px}
 .case-page.case-reading-presentation #context{padding-top:56px}
 .case-reading-presentation .case-architecture-spread{column-gap:20px;row-gap:28px}
}
@media(min-width:810px) and (max-width:1343.98px){.case-page.case-reading-presentation .case-process{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1099.98px){
 .case-reading-presentation .case-reading-layout{display:block}
 .case-reading-sidebar{display:contents;border:0;padding:0}
}
@media(max-width:809.98px){
 .case-page.case-reading-presentation{
  --reading-inset:16px;--reading-gap:24px;--reading-h2:30px;--reading-h2-line:34px;
  --reading-h3:22px;--reading-h3-line:28px;--reading-compact:19px;--reading-compact-line:25px;
  --reading-body:15px;--reading-body-line:24px;--reading-lead-line:24px;
  --case-sp-h2-intro:12px;--case-sp-title-copy:10px;--case-sp-intro-body:28px;
  --case-sp-proof:28px;--case-sp-pair:16px;--case-sp-stack:24px;--case-sp-related:32px;--case-sp-overview:32px;
  --case-sp-scene:64px;--case-sp-chapter:88px;--case-scene-before:28px;--case-scene-after:36px;
  --case-chapter-top:48px;--case-chapter-bottom:39px;
 }
 .case-page.case-reading-presentation #context{padding-top:48px}
 .case-page.case-reading-presentation .case-chapter-heading{grid-template-columns:minmax(0,1fr);gap:var(--case-sp-h2-intro);margin-bottom:var(--case-sp-intro-body)}
 .case-page.case-reading-presentation .case-feature,
 .case-page.case-reading-presentation .case-feature--wide .case-copy,
 .case-page.case-reading-presentation .case-reading-block>.case-copy,
 .case-page.case-reading-presentation .case-context-spread,
 .case-page.case-reading-presentation .case-process,
 .case-page.case-reading-presentation .case-process-heading,
 .case-page.case-reading-presentation .case-research-narrative,
 .case-page.case-reading-presentation .case-sequence-step,
 .case-page.case-reading-presentation .case-sequence-step+ .case-sequence-step,
 .case-page.case-reading-presentation .case-reel-heading,
 .case-page.case-reading-presentation .case-system-layout,
 .case-page.case-reading-presentation .case-outcome-composition,
 .case-reading-presentation .case-interface-opening,
 .case-architecture-opening,.case-address-sticky{grid-template-columns:minmax(0,1fr)}
 .case-page.case-reading-presentation .case-feature--wide .case-copy,
 .case-page.case-reading-presentation .case-reading-block>.case-copy{row-gap:12px}
 .case-page.case-reading-presentation .case-context-spread{gap:32px}
 .case-task-panel{padding:20px}
 .case-page.case-reading-presentation .case-process-heading{gap:12px}
 .case-page.case-reading-presentation .case-process ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .case-page.case-reading-presentation .case-research-narrative{row-gap:32px}
 .case-page.case-reading-presentation .case-research-opening{grid-template-columns:minmax(0,1fr)}
 .case-page.case-reading-presentation .case-research-narrative{grid-column:1}
 .case-page.case-reading-presentation .case-research-introduction{margin-bottom:32px}
 .case-reading-presentation .case-architecture-spread{grid-template-columns:minmax(0,1fr);gap:var(--case-sp-pair)}
 .case-reading-presentation .case-interface-opening{gap:28px}
 .case-page.case-reading-presentation .case-outcome-composition{padding:24px 20px;gap:20px}
 .case-page.case-reading-presentation .case-outcome-composition .case-results{grid-column:1;grid-row:auto}
 .case-page.case-reading-presentation .case-media>figcaption{padding:12px 16px;font-size:13px;line-height:20px}
 .case-page.case-reading-presentation .case-zoom{right:12px;bottom:12px;width:32px;height:32px}
 .case-slider-dots{right:8px}
 .case-page.case-reading-presentation .case-toc{max-width:calc(100vw - 24px)}
}
@media(max-width:599.98px){
 .case-page.case-reading-presentation .case-process ol{grid-template-columns:minmax(0,1fr)}
 .case-page.case-reading-presentation .case-process li{grid-row:auto;grid-template-rows:auto auto;min-height:0}
}
@media(prefers-reduced-motion:reduce){.case-gallery-slider.is-slider-ready .case-slider-track{scroll-behavior:auto}.case-gallery-slider.is-scroll-linked .case-slider-track>.case-media{transition:none}}

/* 03.11.2026: below the desktop sidebar the chapter menu is one compact row.
   It scrolls horizontally when chapters do not fit; project-case.js keeps the
   current chapter centred. Replaces the two-row grid on phones. */
@media(max-width:1099.98px){
 .case-page.case-reading-presentation .case-toc{width:max-content;max-width:min(640px,calc(100vw - 32px));padding:0;overflow:hidden}
 .case-page.case-reading-presentation .case-toc nav{display:flex;grid-template-columns:none;gap:4px;padding:5px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none}
 .case-page.case-reading-presentation .case-toc nav::-webkit-scrollbar{display:none}
 .case-page.case-reading-presentation .case-toc a{flex:none;min-width:auto;min-height:40px;padding:0 14px;font-size:13px;text-align:center;scroll-snap-align:center}
}
@media(max-width:650px){html[data-case-route] body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}}
