/* Guide-only v3 details. The shared v2.css owns the palette, tools and chrome. */
body.v2-article{--article-color:var(--tool-costs)}
.v2-article[data-topic=move]{--article-color:var(--tool-days)}
.v2-article[data-topic=live]{--article-color:var(--tool-social)}
.v2-article[data-topic=travel]{--article-color:var(--topic-travel)}
.v2-article .article-progress{position:absolute;inset-inline:0;bottom:-3px;height:3px;overflow:hidden;background:var(--v2-border);pointer-events:none}
.v2-article .article-progress>span{display:block;width:100%;height:100%;background:var(--article-color);transform:scaleX(0);transform-origin:left}
.v2-article .article-topic{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--article-color);font-size:13px;font-weight:550;line-height:1.5}
.v2-article .article-topic::before{content:"";width:11px;height:11px;flex:none;border-radius:3px;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,var(--article-color) 10%,transparent)}
.v2-article .article-byline{margin:0 0 12px;font-size:13px;color:var(--v2-muted)}
.v2-article .article-head .stamp{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.v2-article .article-head .stamp::before{content:none}
.v2-article .article-checked{font-size:12px;padding:6px 10px;gap:5px}
.v2-article .article-checked time{font:inherit}
.v2-article .article-check-age{flex-basis:100%;font-size:12px;color:var(--status-amber)}
.v2-article .key-points{border-radius:16px;background:var(--v2-surface)}
.v2-article .key-points h2{width:fit-content;background:linear-gradient(transparent 65%,var(--v3-marker) 65%,var(--v3-marker) 95%,transparent 95%)}
.v2-article .key-points li::marker{color:var(--article-color)}
.v2-article .short-answer{border-inline-start:3px solid var(--article-color);background:color-mix(in srgb,var(--article-color) 4%,var(--v2-surface))}
.v2-article .prose a{ text-decoration-color:color-mix(in srgb,var(--article-color) 55%,var(--v2-border)) }
.v2-article .prose a:hover{text-decoration-color:var(--article-color)}
.v2-article .prose :is(h2,h3,h4){scroll-margin-top:100px}

/* Static H2 links work without scripts. Native details supplies mobile disclosure. */
.v2-article .article-toc{min-width:0;max-width:var(--measure);align-self:start;margin:0 0 24px}
.v2-article .article-toc details{margin:0;padding:0;border:1px solid var(--v2-border);border-radius:14px;background:var(--v2-surface)}
.v2-article .article-toc summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:16px;font:600 14px/1.5 var(--sans);color:var(--v2-ink);list-style:none;cursor:pointer}
.v2-article .article-toc summary::-webkit-details-marker{display:none}
.v2-article .article-toc summary::after{content:"+";font-size:22px;font-weight:400;color:var(--article-color)}
.v2-article .article-toc details[open]>summary::after{content:"−"}
.v2-article .article-toc ol{list-style:none;margin:0;padding:0 16px 16px}
.v2-article .article-toc li{margin:0}
.v2-article .article-toc a{display:block;padding:10px 12px;min-height:44px;border-inline-start:2px solid var(--v2-border);font-size:13px;line-height:1.5;color:var(--v2-muted);text-decoration:none;overflow-wrap:anywhere}
.v2-article .article-toc a:hover{background:var(--v2-soft);color:var(--v2-ink)}
.v2-article .article-toc a[aria-current=location]{background:color-mix(in srgb,var(--article-color) 8%,var(--v2-surface));border-color:var(--article-color);color:var(--article-color);font-weight:600}

/* Source text, order, external targets and surrounding qualifications stay intact. */
.v2-article .prose .article-sources{padding:24px;border-radius:16px;background:var(--v2-surface)}
.v2-article .article-sources a:has(.article-source-icon){display:inline-flex;align-items:center;gap:7px;max-width:100%;min-height:36px;margin:4px 0;padding:7px 10px;border:1px solid var(--v2-border);border-radius:9px;background:var(--v2-soft);font:500 13px/1.5 var(--sans);color:var(--v2-ink);text-decoration:none;vertical-align:middle;overflow-wrap:anywhere}
.v2-article .article-source-icon{width:16px;height:16px;flex:none;color:var(--v2-muted)}
.v2-article .article-sources a:hover{border-color:var(--article-color);text-decoration:underline}
.v2-article .article-sources :is(ul,ol){padding-inline-start:20px}

.v2-article .article-tools{display:grid;gap:12px;margin-block:32px}
.v2-article .article-tool{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:3px 14px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--tool-color) 24%,var(--v2-border));border-radius:14px;background:color-mix(in srgb,var(--tool-color) 6%,var(--v2-surface));color:var(--v2-ink);text-decoration:none}
.v2-article .article-tool .v3-tool-tile{grid-row:1/3;width:44px;height:44px;border-radius:12px}
.v2-article .article-tool strong{font-size:15px;line-height:1.5}
.v2-article .article-tool-action{font-size:13px;font-weight:550;color:var(--tool-color)}
.v2-article .article-tool-action>span{display:inline-block;margin-inline-start:3px}
.v2-article .article-tool:hover{border-color:var(--tool-color)}
.v2-article .article-tool:hover .article-tool-action{text-decoration:underline;text-underline-offset:4px}

/* The homepage's quiet rows and plus-to-cross disclosure motion. */
.v2-article .faq summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;list-style:none}
.v2-article .faq summary::after{content:"+";position:static;flex:none;width:auto;height:auto;top:auto;margin:0;background:none;mask:none;font-size:24px;font-weight:300;line-height:1;color:var(--v2-muted);transform:none}
.v2-article .faq details[open]>summary::after{mask:none;transform:rotate(45deg)}
.v2-article .faq details[open]>summary{color:var(--article-color)}
.v2-article .article-course-links>a{border-radius:14px;border-top:3px solid color-mix(in srgb,var(--article-color) 65%,var(--v2-border));padding:18px;background:var(--v2-surface)}
.v2-article .article-course-links>a:hover{border-color:var(--article-color)}
.v2-article .article-course-links strong{text-decoration:none;font-weight:550}
.v2-article .article-course-links>a:hover strong{text-decoration:underline;text-decoration-color:var(--article-color)}
.v2-article .article-course .ar{color:var(--article-color)}

@media(max-width:1099px){
  .v2-article .article-head{margin-left:0}
  .v2-article .doc{grid-template-columns:minmax(0,1fr)}
  .v2-article .article-reading{grid-column:1;grid-row:auto}
}
@media(min-width:1100px){
  .v2-article .article-head{margin-left:256px}
  .v2-article .doc{grid-template-columns:224px minmax(0,1fr);column-gap:32px}
  .v2-article .article-reading{grid-column:2;grid-row:1}
  .v2-article .article-toc{grid-column:1;grid-row:1;position:sticky;top:88px;max-height:calc(100dvh - 112px);margin:0;padding:4px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
  .v2-article .article-toc details{border:0;border-radius:0;background:transparent}
  .v2-article .article-toc summary{min-height:44px;padding:0 0 16px;cursor:default}
  .v2-article .article-toc summary::after{content:none}
  .v2-article .article-toc ol{padding:0}
}
/* Match the shared palette before JS and when scripts are unavailable. */
@media screen and (prefers-color-scheme:dark){
  body.v2-article:not([data-theme=light]){
    color-scheme:dark;--v2-ground:#15181c;--v2-surface:#1d2228;--v2-soft:#262c34;
    --v2-ink:#f2f1ed;--v2-muted:#b9c0c9;--v2-action:#f2f1ed;--v2-hover:#dddfe4;
    --v2-border:#414952;--v2-control:#7d8997;--v3-on-action:#15181c;--v3-focus:#a4c9ff;
    --tool-days:#a4c9ff;--tool-deadlines:#e9c57d;--tool-costs:#9ad5b0;--tool-title:#ccb3f3;--tool-social:#f2b2a3;--topic-travel:#58d3dd;
    --status-green:#a8dbb9;--status-amber:#f0ce91;--status-red:#ffb3bc;--status-grey:#c0c8d1;
    --status-green-bg:#233a2e;--status-amber-bg:#3e3320;--status-red-bg:#432930;--status-grey-bg:#2c323b;
    --v3-marker:#5d4c26;--v3-hover-shadow:0 10px 24px -12px #000;
    --anil-ink:var(--v2-ink);--anil-mid:var(--tool-days);--anil-wash:var(--v2-soft);--anil-pale:var(--v2-border);
  }
}
@media(prefers-reduced-motion:no-preference){
  .v2-article :is(.article-tool,.article-course-links>a){transition:border-color 180ms ease,transform 180ms ease,box-shadow 180ms ease}
  .v2-article :is(.article-tool-action>span,.article-course .ar,.faq summary::after){transition:transform 180ms ease}
  @media(hover:hover){
    .v2-article :is(.article-tool,.article-course-links>a):hover{transform:translateY(-2px);box-shadow:var(--v3-hover-shadow)}
    .v2-article .article-tool:hover .article-tool-action>span,.v2-article .article-course-links>a:hover .ar{transform:translateX(3px)}
  }
}
@media(prefers-reduced-motion:reduce){
  .v2-article .faq details[open]>summary::after{content:"−";transform:none}
}
@media(forced-colors:active){
  .v2-article .article-topic::before,.v2-article .article-progress>span{background:CanvasText}
  .v2-article .article-toc a[aria-current]{outline:1px solid Highlight}
  .v2-article .key-points h2{background:none;text-decoration:underline}
}
@media print{
  .v2-article :is(.article-progress,.article-toc,.v3-theme-controls){display:none!important}
  .v2-article .article-head{margin-left:0}
  .v2-article .doc{display:block}
}
