/* Anpdf site — article template v2 (24 Oct 2026, proposal on top of the approved template).
   Load order: tokens.css → article.css (approved base) → article-v2.css.
   Adds: breadcrumbs, format + category, author/meta row, Share panel, Table of contents, demo player,
   settings table, expandable FAQ / problems, interactive callout, promo card, tags, related articles, prev/next. */

.site-v2 .article{padding-top:40px}
.site-v2 .article-head{max-width:calc(var(--article-measure) + 2 * var(--article-sheet-pad))} /* 840: same edges as the sheet */
.site-v2 .article-cover{margin-top:32px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Breadcrumbs ---------- */
.crumbs{margin:0 0 20px;padding:0;list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:13px;line-height:20px;color:var(--text-secondary)}
.crumbs li{display:inline-flex;align-items:center;gap:6px}
.crumbs .sep{width:16px;height:16px;flex:none;opacity:.6}
.crumbs a{color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-4);padding:2px 2px}
.crumbs a:hover{color:var(--primary);background:var(--hover)}
.crumbs a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.crumbs [aria-current]{color:var(--text)}

/* ---------- Format · category ---------- */
.kicker-row{margin:0 0 12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;line-height:20px}
.kicker-format{font-weight:600;color:var(--primary)}
.kicker-sep{color:var(--text-secondary)}
.kicker-category{color:var(--text-secondary);text-decoration:none;border-radius:var(--radius-4)}
.kicker-category:hover{color:var(--primary);text-decoration:underline;text-underline-offset:3px}
.kicker-category:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* ---------- Author + meta + actions: one compact row ---------- */
.meta-bar{position:relative;margin-top:24px;padding-top:20px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.author{display:flex;align-items:center;gap:12px;min-width:0}
.author img{width:40px;height:40px;border-radius:var(--radius-full);display:block;flex:none;object-fit:cover;background:var(--rail)}
.author-name{display:block;font-size:14px;line-height:20px;font-weight:600;color:var(--text)}
.author-role{display:block;font-size:13px;line-height:18px;color:var(--text-secondary)}
.dates{display:grid;grid-template-columns:auto auto;justify-content:start;gap:2px 10px;margin:0;padding-left:16px;border-left:1px solid var(--border);font-size:13px;line-height:18px;color:var(--text-secondary)}
.dates>div:nth-child(1){order:1}.dates>div:nth-child(3){order:2}.dates>div:nth-child(2){order:3}
.dates>div:nth-child(3) dd::before{content:"·";margin-right:6px;color:var(--text-secondary)}
.dates>div{display:flex;gap:4px;white-space:nowrap}
.dates dt{margin:0}
.dates dd{margin:0;color:var(--text)}
.meta-actions{margin-left:auto;display:flex;gap:8px}
.meta-actions .btn{padding:0 10px}

/* Ghost button = toolbar control states */
.btn-ghost{background:transparent;color:var(--text);outline:1px solid var(--border);outline-offset:-1px}
.btn-ghost:hover,.btn-ghost.is-hover{background:var(--hover);color:var(--primary)}
.btn-ghost:active{background:var(--pressed);color:var(--primary)}
.btn-ghost[aria-expanded="true"]{background:var(--selected);color:var(--primary);outline-color:transparent}
.btn-ghost:focus-visible,.btn-ghost.is-focus{outline:2px solid var(--focus);outline-offset:2px}
.btn .chev{width:16px;height:16px;transition:transform 160ms cubic-bezier(.2,0,0,1)}
.btn[aria-expanded="true"] .chev{transform:rotate(180deg)}

/* ---------- Share panel (popover, does not move the page) ---------- */
.share{position:relative}
.share-panel{
  position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:344px;
  padding:16px;border-radius:var(--radius-16);background:var(--surface);
  outline:1px solid var(--border);outline-offset:-1px;box-shadow:var(--shadow-large);
  opacity:0;transform:translateY(-4px);visibility:hidden;
  transition:opacity 160ms cubic-bezier(.2,0,0,1),transform 160ms cubic-bezier(.2,0,0,1),visibility 0s linear 160ms;
}
.share.is-open .share-panel,.share-panel.is-static{opacity:1;transform:none;visibility:visible;transition-delay:0s}
.share-head{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}
.share-title{margin:0;font:600 14px/20px var(--font-ui);color:var(--text)}
.icon-btn{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--radius-full);background:transparent;color:var(--text);cursor:pointer}
.icon-btn svg{width:18px;height:18px}
.icon-btn:hover{background:var(--hover);color:var(--primary)}
.icon-btn:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.share-item{height:40px;padding:0 10px;display:flex;align-items:center;gap:10px;border-radius:var(--radius-8);color:var(--text);text-decoration:none;font:500 14px/20px var(--font-ui)}
.share-item svg{width:20px;height:20px;flex:none;color:var(--text-secondary)}
.share-item:hover,.share-item.is-hover{background:var(--hover);color:var(--primary)}
.share-item:hover svg,.share-item.is-hover svg{color:var(--primary)}
.share-item:focus-visible,.share-item.is-focus{outline:2px solid var(--focus);outline-offset:-2px}
.share-copy{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:center}
.share-url{flex:1;min-width:0;height:36px;padding:0 12px;display:flex;align-items:center;border-radius:var(--radius-8);background:var(--workspace);font:400 13px/18px var(--font-ui);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btn-copy{min-width:112px}
.btn-copy .idle,.btn-copy .ok{align-items:center;gap:8px}
.btn-copy .idle{display:inline-flex}
.btn-copy .ok{display:none}
.btn-copy.is-copied{background:var(--selected);color:var(--success);outline-color:transparent}
.btn-copy.is-copied .ok{display:inline-flex}
.btn-copy.is-copied .idle{display:none}

/* ---------- Table of contents (in flow, opens under the meta row) ---------- */
.toc{display:grid;grid-template-rows:0fr;transition:grid-template-rows 200ms cubic-bezier(.2,0,0,1)}
.toc.is-open{grid-template-rows:1fr}
.toc>div{overflow:hidden;min-height:0}
.toc-box{margin-top:16px;padding:16px 20px 18px;border-radius:var(--radius-16);background:var(--panel);outline:1px solid var(--border);outline-offset:-1px}
.toc-title{margin:0 0 8px;font:600 13px/18px var(--font-ui);color:var(--text-secondary)}
.toc ol{margin:0;padding:0;list-style:none;columns:2;column-gap:32px;counter-reset:toc}
.toc li{break-inside:avoid;counter-increment:toc}
.toc a{position:relative;display:grid;grid-template-columns:28px 1fr;align-items:start;padding:6px 8px 6px 12px;border-radius:var(--radius-8);color:var(--text);text-decoration:none;font:400 14px/20px var(--font-ui)}
.toc a::before{content:counter(toc,decimal-leading-zero);font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:500}
.toc a::after{content:"";position:absolute;left:3px;top:13px;width:5px;height:5px;border-radius:var(--radius-full);background:var(--primary);opacity:0;transition:opacity 120ms}
.toc a:hover{background:var(--hover);color:var(--primary)}
.toc a:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}
.toc a[aria-current="true"]{color:var(--primary);font-weight:500}
.toc a[aria-current="true"]::before{color:var(--primary)}
.toc a[aria-current="true"]::after{opacity:1}

/* ---------- Intro paragraph (first paragraph, its own element) ---------- */
.article-intro{font:400 20px/32px var(--font-read);color:var(--text)}

/* ---------- Step result line ---------- */
.step-result{display:flex;gap:8px;margin-top:6px !important;font:400 15px/24px var(--font-read);color:var(--text-secondary)}
.step-result svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--success)}

/* ---------- Topic collection ---------- */
.article-body .collection{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.collection li+li{margin-top:0}
.collection a{height:100%;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border-radius:var(--radius-12);background:var(--panel);outline:1px solid var(--border);outline-offset:-1px;text-decoration:none !important;color:var(--text) !important;font:500 14px/20px var(--font-ui)}
.collection a span{font:400 12px/18px var(--font-ui);color:var(--text-secondary)}
.collection a:hover{background:var(--hover) !important;outline-color:color-mix(in srgb,var(--primary) 30%,transparent)}
.collection a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.collection-label{margin-bottom:-8px !important;font:600 13px/18px var(--font-ui);color:var(--text-secondary)}

/* ---------- Settings table ---------- */
.table-wrap{overflow-x:auto;border-radius:var(--radius-12);outline:1px solid var(--border);outline-offset:-1px}
.article-body table{width:100%;border-collapse:collapse;font:400 14px/21px var(--font-ui)}
.article-body caption{caption-side:bottom;text-align:left;padding:10px 14px;font-size:13px;line-height:18px;color:var(--text-secondary);background:var(--panel);border-top:1px solid var(--border)}
.article-body th{text-align:left;font-weight:600;font-size:13px;line-height:18px;color:var(--text-secondary);background:var(--panel);padding:10px 14px;border-bottom:1px solid var(--border)}
.article-body td{padding:10px 14px;border-bottom:1px solid var(--border);vertical-align:top;color:var(--text)}
.article-body tbody tr:last-child td{border-bottom:0}
.article-body td:first-child{font-weight:600;width:22%}
.article-body h3+.steps{margin-top:16px}
.demo-ctrl[hidden]{display:none}
.muted{color:var(--text-secondary)}

/* ---------- Interactive callout ---------- */
.callout-action{position:relative;width:100%;text-align:left;border:0;cursor:pointer;color:var(--text);
  outline:1px solid transparent;outline-offset:-1px;
  transition:background-color 160ms cubic-bezier(.2,0,0,1),outline-color 160ms cubic-bezier(.2,0,0,1)}
.callout-action:hover,.callout-action.is-hover{background:color-mix(in srgb,var(--hover) 70%,var(--selected))}
.callout-action:focus-visible,.callout-action.is-focus{outline:2px solid var(--focus);outline-offset:2px}
.callout-action[aria-pressed="true"]{background:var(--surface);outline-color:color-mix(in srgb,var(--primary) 45%,transparent)}
.callout-action .callout-state{position:absolute;right:16px;top:16px;display:inline-flex;align-items:center;gap:4px;font:500 12px/16px var(--font-ui);color:var(--text-secondary);opacity:.0;transition:opacity 160ms}
.callout-action:hover .callout-state,.callout-action.is-hover .callout-state,.callout-action:focus-visible .callout-state{opacity:1}
.callout-action[aria-pressed="true"] .callout-state{opacity:1;color:var(--primary)}
.callout-state svg{width:14px;height:14px;margin:0;color:currentColor}
.callout-action .callout-title{padding-right:96px}

/* ---------- Expandable blocks: FAQ and problems ---------- */
.disclosure{border-radius:var(--radius-12);background:var(--surface);outline:1px solid var(--border);outline-offset:-1px}
.disclosure+.disclosure{margin-top:8px !important}
.disclosure summary{list-style:none;display:flex;align-items:center;gap:12px;min-height:52px;padding:12px 16px;cursor:pointer;border-radius:var(--radius-12);font:600 16px/24px var(--font-ui);color:var(--text)}
.disclosure summary::-webkit-details-marker{display:none}
.disclosure summary:hover{background:var(--hover);color:var(--primary)}
.disclosure summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.disclosure summary .chev{margin-left:auto;width:18px;height:18px;flex:none;color:var(--text-secondary);transition:transform 160ms cubic-bezier(.2,0,0,1)}
.disclosure[open] summary .chev{transform:rotate(180deg)}
.disclosure[open] summary{border-bottom-left-radius:0;border-bottom-right-radius:0}
.disclosure-body{padding:0 16px 16px;font:400 16px/26px var(--font-read)}
.disclosure-body p{margin:0}
.disclosure-body p+p,.disclosure-body p+ul,.disclosure-body ul+p{margin-top:8px}
.disclosure-body ul{margin:0;padding-left:22px}
.disclosure-body li+li{margin-top:4px}
.pcf{display:grid;grid-template-columns:72px 1fr;gap:6px 12px;margin:0}
.pcf dt{font:600 13px/26px var(--font-ui);color:var(--text-secondary)}
.pcf dd{margin:0}
.q-mark{width:24px;height:24px;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--selected);color:var(--primary);font:600 12px/1 var(--font-ui)}

/* ---------- Demo player ---------- */
.demo{margin:0}
.demo-stage{position:relative;aspect-ratio:16/10;border-radius:var(--radius-12);overflow:hidden;background:var(--workspace);outline:1px solid var(--border);outline-offset:-1px}
.demo figcaption{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.demo-ctrl{position:absolute;left:12px;bottom:12px;z-index:5;height:36px;padding:0 14px 0 10px;display:inline-flex;align-items:center;gap:6px;border:0;border-radius:var(--radius-full);background:var(--surface);color:var(--text);box-shadow:var(--shadow-medium);font:500 13px/18px var(--font-ui);cursor:pointer}
.demo-ctrl svg{width:18px;height:18px}
.demo-ctrl:hover{background:var(--hover);color:var(--primary)}
.demo-ctrl:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.demo-ctrl .i-pause,.demo.is-playing .demo-ctrl .i-play{display:none}
.demo.is-playing .demo-ctrl .i-pause{display:inline}
.demo-poster{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;border:0;padding:0;background:color-mix(in srgb,var(--workspace) 35%,transparent);cursor:pointer}
.demo-poster span{width:64px;height:64px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;background:var(--surface);color:var(--primary);box-shadow:var(--shadow-large)}
.demo-poster svg{width:28px;height:28px;margin-left:3px}
.demo-poster:hover span{background:var(--hover)}
.demo-poster:focus-visible{outline:2px solid var(--focus);outline-offset:-4px}
.demo.is-started .demo-poster{display:none}
.demo-len{flex:none;font:500 12px/20px var(--font-ui);color:var(--text-secondary)}

/* Mini editor drawn from product parts (toolbar plate, white page, coral states) */
.dm{position:absolute;left:0;top:0;width:680px;height:425px;transform-origin:0 0;transform:scale(var(--dm-scale,1));font-family:var(--font-ui)}  /* drawn at 680 × 425, scaled to the stage */
.dm-bar{position:absolute;left:12px;right:12px;top:12px;height:44px;border-radius:12px;background:var(--panel);outline:1px solid var(--border);outline-offset:-1px;box-shadow:var(--shadow-small)}
.dm-tool{position:absolute;top:8px;width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--text)}
.dm-tool svg{width:16px;height:16px}
.dm-sep{position:absolute;top:13px;width:1px;height:18px;background:var(--selected)}
.dm-swatch{position:absolute;top:12px;width:20px;height:20px;border-radius:999px;background:#fbc828;box-shadow:inset 0 0 0 2px var(--selected)}
.dm-export{position:absolute;right:10px;top:8px;height:28px;padding:0 10px;border-radius:8px;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:500;color:var(--text)}
.dm-export svg{width:14px;height:14px}
.dm-page{position:absolute;left:50%;top:72px;bottom:-20px;width:300px;margin-left:-150px;background:#fff;outline:1px solid var(--border);outline-offset:-1px}
.dm-line{position:absolute;left:28px;height:7px;border-radius:3px;background:#c9cdd4}
.dm-line.dark{background:#5e6169}
.dm-hl{position:absolute;left:24px;top:62px;height:15px;width:0;border-radius:2px;background:rgba(251,200,40,.45)}
.dm-note{position:absolute;left:196px;top:120px;width:0;height:44px;overflow:hidden;white-space:nowrap;border-radius:6px;background:#fff;outline:1px solid var(--border);outline-offset:-1px;font:400 11px/14px "Atlassian Sans",sans-serif;color:#e5654f;padding:8px 0 0 8px;opacity:0}
.dm-cursor{position:absolute;left:62%;top:78%;width:18px;height:18px;z-index:3}
.dm-cursor svg{width:18px;height:18px;filter:drop-shadow(0 1px 1px rgb(0 0 0/30%))}
.dm-hint{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:3;padding:6px 12px;border-radius:999px;background:var(--tooltip);color:#fff;font-size:12px;line-height:16px;white-space:nowrap;opacity:0}

/* 9-second loop: pick Highlight → mark a line → pick Text → type a note → Export */
.dm-tool.t-mark,.dm-tool.t-text,.dm-export,.dm-hl,.dm-note,.dm-cursor,.dm-hint{animation-duration:9s;animation-iteration-count:infinite;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-play-state:paused;animation-fill-mode:both}
.demo.is-playing .dm *{animation-play-state:running}
.demo.is-mid .dm *{animation-delay:-5.9s}   /* kit only: shows a paused frame in the middle of the loop */
.dm-cursor{animation-name:dm-cursor}
.dm-tool.t-mark{animation-name:dm-mark}
.dm-tool.t-text{animation-name:dm-text}
.dm-hl{animation-name:dm-hl}
.dm-note{animation-name:dm-note}
.dm-export{animation-name:dm-export}
.dm-hint{animation-name:dm-hint}
@keyframes dm-cursor{0%{left:62%;top:80%}12%{left:51%;top:7%}20%{left:51%;top:7%}28%{left:31.2%;top:31.5%}40%{left:62.2%;top:31.5%}48%{left:31%;top:7%}55%{left:31%;top:7%}62%{left:57%;top:46%}66%{left:50%;top:60%}82%{left:50%;top:60%}90%{left:91%;top:6%}100%{left:91%;top:6%}}
@keyframes dm-mark{0%,15%{background:transparent;color:var(--text)}16%,47%{background:var(--selected);color:var(--primary)}48%,100%{background:transparent;color:var(--text)}}
@keyframes dm-text{0%,51%{background:transparent;color:var(--text)}52%,100%{background:var(--selected);color:var(--primary)}}
@keyframes dm-hl{0%,28%{width:0}40%,100%{width:210px}}
@keyframes dm-note{0%,61%{width:0;opacity:0;padding-left:0}63%{width:20px;opacity:1;padding-left:8px}80%,100%{width:112px;opacity:1;padding-left:8px}}
@keyframes dm-export{0%,89%{background:transparent;color:var(--text)}90%,100%{background:var(--hover);color:var(--primary)}}
@keyframes dm-hint{0%,4%{opacity:0}6%,26%{opacity:1}28%,52%{opacity:0}54%,80%{opacity:0}92%,100%{opacity:1}}
.dm-hint b{font-weight:500}
.dm-hint .h1,.dm-hint .h2{display:none}

/* Reduced motion: no loop, finished frame, a line that says so */
.demo-reduced{display:none;margin-top:6px;font:400 12px/18px var(--font-ui);color:var(--text-secondary)}
@media (prefers-reduced-motion:reduce){
  .dm *{animation:none !important}
  .dm-hl{width:210px}.dm-note{width:112px;opacity:1;padding-left:8px}.dm-tool.t-text{background:var(--selected);color:var(--primary)}
  .dm-cursor,.dm-hint,.demo-poster,.demo-ctrl{display:none}
  .demo-reduced{display:block}
}
.demo.is-reduced .dm *{animation:none !important}
.demo.is-reduced .dm-hl{width:210px}.demo.is-reduced .dm-note{width:112px;opacity:1;padding-left:8px}
.demo.is-reduced .dm-tool.t-text{background:var(--selected);color:var(--primary)}
.demo.is-reduced .dm-cursor,.demo.is-reduced .dm-hint,.demo.is-reduced .demo-poster,.demo.is-reduced .demo-ctrl{display:none}
.demo.is-reduced .demo-reduced{display:block}

/* ---------- Promo card (one, inside the text, after the middle) ---------- */
.promo{display:grid;grid-template-columns:1fr 216px;gap:20px;align-items:center;padding:20px;border-radius:var(--radius-16);background:var(--panel);outline:1px solid var(--border);outline-offset:-1px;font-family:var(--font-ui)}
.promo-title{margin:0;font:600 18px/26px var(--font-ui);color:var(--text)}
.promo-text{margin:6px 0 14px;font:400 14px/22px var(--font-ui);color:var(--text-secondary)}
.promo-art{aspect-ratio:4/3;border-radius:var(--radius-12);overflow:hidden;background:var(--rail);outline:1px solid var(--border);outline-offset:-1px}
.promo-art img{width:100%;height:100%;object-fit:cover;object-position:78% 40%;display:block}
.promo .btn svg{width:18px;height:18px}

/* ---------- End of article ---------- */
.end-wrap{max-width:calc(var(--article-measure) + 2 * var(--article-sheet-pad));margin:0 auto}
.tags{margin:24px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tags-label{font:600 13px/18px var(--font-ui);color:var(--text-secondary);margin-right:4px}
.tags a{height:28px;padding:0 10px;display:inline-flex;align-items:center;border-radius:var(--radius-full);background:var(--surface);outline:1px solid var(--border);outline-offset:-1px;color:var(--text);text-decoration:none;font:500 13px/18px var(--font-ui)}
.tags a:hover{background:var(--hover);color:var(--primary)}
.tags a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

.related{max-width:var(--article-wide);margin:48px auto 0}
.related-title{margin:0 0 16px;font:600 22px/30px var(--font-ui);color:var(--text)}
.related-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.rcard{position:relative;height:100%;display:flex;flex-direction:column;border-radius:var(--radius-16);background:var(--surface);outline:1px solid var(--border);outline-offset:-1px;overflow:hidden;transition:box-shadow 160ms cubic-bezier(.2,0,0,1)}
.rcard-img{aspect-ratio:16/9;background:var(--rail);overflow:hidden}
.rcard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 240ms cubic-bezier(.2,0,0,1)}
.rcard-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px}
.rcard-format{font:500 12px/16px var(--font-ui);color:var(--primary)}
.rcard a{color:var(--text);text-decoration:none;font:600 16px/24px var(--font-ui)}
.rcard a::after{content:"";position:absolute;inset:0;border-radius:var(--radius-16)} /* whole card is the link */
.rcard-meta{font:400 12px/18px var(--font-ui);color:var(--text-secondary)}
.rcard:hover{box-shadow:var(--shadow-medium)}
.rcard:hover a{color:var(--primary)}
.rcard:hover .rcard-img img{transform:scale(1.02)}
.rcard:focus-within{outline:2px solid var(--focus);outline-offset:2px}
.rcard a:focus-visible{outline:none}

.pager{max-width:var(--article-wide);margin:24px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pager a{display:flex;flex-direction:column;gap:4px;padding:16px 20px;border-radius:var(--radius-16);background:var(--panel);outline:1px solid var(--border);outline-offset:-1px;text-decoration:none;color:var(--text);font:600 15px/22px var(--font-ui)}
.pager a span{display:flex;align-items:center;gap:6px;font:500 12px/16px var(--font-ui);color:var(--text-secondary)}
.pager a span svg{width:16px;height:16px}
.pager .next{text-align:right;align-items:flex-end}
.pager a:hover{background:var(--hover);color:var(--primary)}
.pager a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}

/* ---------- Tablet (641–960): same order, one column everywhere ---------- */
@media (max-width:960px){
  .site-v2 .meta-actions{margin-left:0;width:100%}
  .collection{grid-template-columns:1fr 1fr}
  .related-grid{grid-template-columns:1fr 1fr}
  .promo{grid-template-columns:1fr 168px}
  .toc ol{column-gap:20px}
}
@media (prefers-reduced-motion:reduce){.toc,.share-panel,.rcard,.rcard-img img,.btn .chev,.disclosure summary .chev{transition:none !important}}
