.case-toc{top:var(--sp-3);z-index:var(--z-dock);border-radius:var(--radius-m);background:var(--glass-tint-strong);width:min(92vw,264px);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--glass-bevel), var(--shadow-glass);opacity:0;pointer-events:none;transition:opacity var(--dur-ui) var(--ease-out), transform var(--dur-ui) var(--ease-out);position:fixed;left:50%;transform:translate(-50%)translateY(-8px)}.case-toc[data-visible]{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}body.is-lightbox-open .case-toc{opacity:0;pointer-events:none}.case-toc__pill{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);color:var(--ink);text-align:left;cursor:pointer;border-radius:inherit;background:0 0;border:0;display:flex}.case-toc__dial{flex:none;place-items:center;display:grid}.case-toc__dial-track{stroke:var(--line-strong)}.case-toc__dial-fill{stroke:var(--accent)}.case-toc__current{min-width:0;font-family:var(--font-sans);font-size:var(--text-meta);letter-spacing:var(--ls-meta);flex:0 auto;align-items:center;display:grid;position:relative}.case-toc__current-label{text-overflow:ellipsis;white-space:nowrap;will-change:filter, opacity, transform;grid-area:1/1;min-width:0;overflow:hidden}.case-toc__chevron{color:var(--muted);flex:none}@media (prefers-reduced-motion:no-preference){.case-toc__chevron{transition:transform var(--dur-panel) var(--ease-soft)}}.case-toc[data-expanded] .case-toc__chevron{transform:rotate(180deg)}.case-toc__pct{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;margin-left:auto}.case-toc__panel{grid-template-rows:0fr;display:grid}@media (prefers-reduced-motion:no-preference){.case-toc__panel{transition:grid-template-rows var(--dur-panel) var(--ease-soft)}}.case-toc[data-expanded] .case-toc__panel{grid-template-rows:1fr}.case-toc__panel-inner{min-height:0;overflow:hidden}.case-toc__listwrap{opacity:0;position:relative;transform:translateY(-4px)}@media (prefers-reduced-motion:no-preference){.case-toc__listwrap{transition:opacity var(--dur-ui) var(--ease-out), transform var(--dur-ui) var(--ease-out)}}.case-toc[data-expanded] .case-toc__listwrap{opacity:1;transition-delay:60ms;transform:translateY(0)}.case-toc__list{padding:var(--sp-1) var(--sp-2) var(--sp-2);border-top:1px solid var(--line);flex-direction:column;gap:2px;margin:0;list-style:none;display:flex}.case-toc__item{z-index:1;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2);border-radius:var(--radius-s);color:var(--muted);text-align:left;font-family:var(--font-sans);font-size:var(--text-meta);letter-spacing:var(--ls-meta);cursor:pointer;transition:color var(--dur-hover) var(--ease-out), background-color var(--dur-hover) var(--ease-out);background:0 0;border:0;display:flex;position:relative}.case-toc__dot{border-radius:var(--radius-pill);opacity:.4;width:5px;height:5px;transition:opacity var(--dur-hover) var(--ease-out);background:currentColor;flex:none}@media (hover:hover) and (pointer:fine){.case-toc__item:hover{color:var(--ink)}.case-toc__item:not([data-active=true]):hover{background:var(--accent-wash)}}.case-toc__thumb{border-radius:var(--radius-s);background:var(--accent-wash);pointer-events:none;opacity:0;z-index:0;will-change:transform, width, height;width:0;height:0;position:absolute;top:0;left:0}.case-toc__item[data-active=true]{color:var(--ink)}.case-toc__item[data-active=true] .case-toc__dot{opacity:1}.case-toc__listwrap:not([data-ready]) .case-toc__item[data-active=true]{background:var(--accent-wash)}.case-toc__pill:focus-visible,.case-toc__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (prefers-reduced-transparency:reduce){.case-toc{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){.case-toc,.case-toc[data-visible]{transition:opacity var(--dur-ui) var(--ease-out);transform:translate(-50%)}}.case-toc__item--contact{text-decoration:none}.case-toc__label--glass{color:var(--ink);position:relative}@supports ((-webkit-background-clip:text) or (background-clip:text)){.case-toc__label--glass{color:#0000;-webkit-text-stroke:.6px color-mix(in oklch, var(--ink) 46%, transparent);background-image:linear-gradient(180deg, #ffffffeb 0%, #ffffff80 16%, color-mix(in oklch, var(--ink) 30%, transparent) 38%, color-mix(in oklch, var(--ink) 46%, transparent) 100%);-webkit-background-clip:text;background-clip:text}@supports (color:lab(0% 0 0)){.case-toc__label--glass{background-image:linear-gradient(180deg, lab(100% 0 0/.92) 0%, lab(100% 0 0/.5) 16%, color-mix(in oklch, var(--ink) 30%, transparent) 38%, color-mix(in oklch, var(--ink) 46%, transparent) 100%)}}.case-toc__label--glass:before{content:attr(data-text);color:#0000;pointer-events:none;background-image:linear-gradient(100deg,#0000 36%,#fffffff2 50%,#0000 64%);background-image:linear-gradient(100deg,#0000 36%,lab(100% 0 0/.95) 50%,#0000 64%);background-position:-40% 0;background-repeat:no-repeat;background-size:240% 100%;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.case-toc__label--glass:before{animation:case-contact-sweep 5s var(--ease-in-out) infinite}}}@keyframes case-contact-sweep{0%{background-position:135% 0}55%,to{background-position:-35% 0}}
.case-deck{max-width:var(--measure);margin:0;padding:0;list-style:none}.case-deck__card{gap:var(--sp-3);background:var(--paper-deep);border:1px solid var(--line);border-radius:var(--card-radius);padding:var(--sp-6) var(--sp-6) var(--sp-4);flex-direction:column;display:flex}.case-deck__title{font-size:var(--text-h3);line-height:var(--lh-h3)}.case-deck__body{color:var(--ink-soft);line-height:var(--lh-body);margin:0}.case-deck__index{padding:var(--sp-1) 0 0;font-family:var(--font-sans);font-weight:var(--font-weight-regular);font-size:var(--text-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-meta);font-variant-numeric:tabular-nums;color:var(--muted);background:0 0;border:0;align-self:flex-end;margin-top:auto}.case-deck--flat{gap:var(--sp-6);flex-direction:column;display:flex}.case-deck--stacked{max-width:480px;padding:var(--sp-2) var(--sp-12) var(--sp-32) var(--sp-2);display:grid;position:relative}.case-deck--stacked .case-deck__card{transform-origin:50%;box-shadow:var(--shadow-print);-webkit-user-select:none;user-select:none;touch-action:pan-y;grid-area:1/1}.case-deck--stacked .case-deck__card[data-front=true]{background:var(--card);box-shadow:var(--shadow-lift);cursor:grab}.case-deck--stacked .case-deck__card[data-front=true]:active{cursor:grabbing}.case-deck--stacked .case-deck__title,.case-deck--stacked .case-deck__body,.case-deck--stacked .case-deck__index{pointer-events:none}.case-deck--stacked .case-deck__title,.case-deck--stacked .case-deck__body{opacity:0;transition:opacity var(--dur-ui) var(--ease-out)}.case-deck--stacked .case-deck__card[data-front=true] .case-deck__title,.case-deck--stacked .case-deck__card[data-front=true] .case-deck__body{opacity:1}.case-deck__hit{z-index:1;cursor:pointer;background:0 0;border:0;margin:0;padding:0;position:absolute;inset:0}.case-deck--stacked .case-deck__card[data-front=true] .case-deck__hit{pointer-events:none}.case-deck__hit:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--card-radius)}.case-deck--stacked .case-deck__index{transition:color var(--dur-hover) var(--ease-out)}@media (hover:hover) and (pointer:fine){.case-deck--stacked .case-deck__card:not([data-front=true]):hover .case-deck__index{color:var(--ink)}}@media (prefers-reduced-motion:reduce){.case-deck__title,.case-deck__body,.case-deck__index{transition:none}}
