/* Layout: one reading column of short sections, with a sticky "On this page" list beside it. */

.pv-glance{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);max-width:30rem;}
.pv-glance .pv-date{font-family:var(--f-display);font-stretch:110%;font-weight:650;font-size:1.2rem;color:var(--ink);line-height:1.2;}
.pv-glance p{font-size:0.96rem;}

.pv-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:40px clamp(32px,5vw,72px);align-items:start;}
.pv-main{grid-column:1;grid-row:1;min-width:0;max-width:68ch;}

/* ============ on this page ============ */
.pv-toc{grid-column:2;grid-row:1;position:sticky;top:calc(var(--head-h) + 24px);display:flex;flex-direction:column;gap:12px;}
.pv-toc ol{list-style:none;border-top:2px solid var(--ink);}
.pv-toc a{
  position:relative;display:block;padding:10px 0 10px 16px;border-bottom:1px solid var(--line);
  font-family:var(--f-display);font-weight:600;font-size:0.92rem;color:var(--muted);text-decoration:none;transition:color .2s;
}
.pv-toc a::before{
  content:"";position:absolute;left:0;top:50%;width:8px;height:2px;background:var(--accent);
  transform:scaleX(0);transform-origin:0 50%;transition:transform .35s var(--ease);
}
.pv-toc a:hover,.pv-toc a[aria-current]{color:var(--ink);}
.pv-toc a[aria-current]::before{transform:scaleX(1);}
@media (max-width:960px){.pv-grid{grid-template-columns:minmax(0,1fr);}.pv-toc{display:none;}}

/* ============ in short ============ */
.pv-short{padding:22px 24px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);}
.pv-short .pv-ticks{margin-top:14px;}
.pv-short .pv-ticks li{color:var(--ink);}

/* ============ sections ============ */
/* jumps land just under the sticky header through html's scroll-padding-top in site.css */
.pv-sec{margin-top:32px;padding-top:28px;border-top:1px solid var(--line);}
.pv-sec h2{font-size:clamp(1.4rem,2.2vw,1.75rem);font-stretch:110%;font-weight:700;letter-spacing:-0.02em;line-height:1.12;max-width:none;margin-bottom:14px;}
.pv-sec > * + *{margin-top:12px;}
.pv-sec > h2 + *{margin-top:0;}
.pv-ticks{list-style:none;display:flex;flex-direction:column;gap:10px;}
.pv-ticks li{position:relative;padding-left:20px;line-height:1.55;}
.pv-ticks li::before{content:"";position:absolute;left:0;top:0.75em;width:8px;height:2px;background:var(--accent);}
.pv-ticks b{color:var(--ink);font-weight:600;}
.addr-inline{font-family:var(--f-display);font-weight:600;color:var(--ink);overflow-wrap:anywhere;}
