/* Incumbent OS composition, shared visual primitives and no page-local scale. */
.pm-os { position:relative; color:var(--fg); }
.pm-os * { box-sizing:border-box; }
.pm-os[data-os-platform] section { content-visibility:visible!important; contain-intrinsic-size:none!important; }
.pm-wrap { width:min(1400px,calc(100% - 64px)); margin-inline:auto; }
.pm-hero { padding-block:var(--ds-space-section); background:radial-gradient(ellipse at 70% 25%,color-mix(in oklab,var(--accent) 8%,transparent),transparent 65%); }
.pm-os .pm-hero h1 { max-width:20ch; }
.pm-os h1,.pm-os h2 { text-wrap:balance; }
.pm-os h3 { text-wrap:pretty; }
.pm-accent { color:var(--accent); }
.pm-stroke { color:transparent; -webkit-text-stroke:1px var(--fg); }
.pm-lede,.pm-note { max-width:65ch; font-size:1rem; line-height:1.65; color:var(--fg-2); }
.pm-lede { margin-top:24px; }
.pm-note { margin-top:16px; }
.pm-meta,.pm-source { font:500 12px/1.6 var(--font-mono); color:var(--fg-2); margin-top:24px; }
.pm-actions,.pm-related { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.pm-related-label { flex-basis:100%; font-size:1rem; color:var(--fg-2); }
.pm-section { padding-block:var(--ds-space-section); border-top:1px solid var(--line); }
.pm-head { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:48px; align-items:start; margin-bottom:32px; }
.pm-head h2 { margin:0; }
.pm-head > * { min-width:0; }
.pm-head p { margin:0; max-width:65ch; color:var(--fg-2); font-size:1rem; line-height:1.65; }
.pm-rows { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 48px; }
.pm-row { border-top:1px solid var(--line); padding-top:24px; min-width:0; }
.pm-row h3,.pm-card h3,.pm-step h3 { margin:0 0 16px; }
.pm-row p,.pm-card p,.pm-step p,.pm-list { max-width:65ch; color:var(--fg-2); font-size:1rem; line-height:1.65; margin:0; }
.pm-flow,.pm-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.pm-step { border-top:1px solid var(--line); padding-top:24px; }
.pm-screen { margin:0; min-width:0; }
.pm-screen-button { display:block; position:relative; width:100%; padding:0; background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-md); cursor:zoom-in; overflow:hidden; }
.pm-screen img { width:100%; height:auto; display:block; }
.pm-screen-plus { position:absolute; right:12px; bottom:12px; width:44px; height:44px; background:var(--accent); color:var(--bg); border-radius:var(--action-radius); }
.pm-screen-plus::before,.pm-screen-plus::after { content:""; position:absolute; left:12px; top:21px; width:20px; height:2px; background:currentColor; }
.pm-screen-plus::after { transform:rotate(90deg); }
.pm-screen figcaption { margin-top:12px; font-size:1rem; line-height:1.55; color:var(--fg-2); }
.pm-screen-zoom { display:block; color:var(--accent); margin-top:8px; }
.pm-screen-button:focus-visible { outline:2px solid var(--fg); outline-offset:4px; }
.pm-screen-button:hover { border-color:var(--accent); }
.pm-duo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.pm-card { border:1px solid var(--line); background:var(--bg-2); border-radius:var(--r-md); padding:32px; min-width:0; }
.pm-list { padding-inline-start:24px; }
.pm-list li+li { margin-top:12px; }
.pm-faq { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; align-items:start; }
.pm-faq details { border:1px solid var(--line); border-radius:var(--r-md); background:var(--bg-2); min-width:0; }
.pm-faq summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px; min-height:64px; font-size:1rem; font-weight:600; line-height:1.5; }
.pm-faq summary::-webkit-details-marker { display:none; }
.pm-faq summary:focus-visible { outline:2px solid var(--fg); outline-offset:-4px; border-radius:var(--r-md); }
.pm-faq-icon { position:relative; display:block; flex:none; width:24px; height:24px; color:var(--accent); }
.pm-faq-icon::before,.pm-faq-icon::after { content:""; position:absolute; inset:11px 4px; height:2px; background:currentColor; }
.pm-faq-icon::after { transform:rotate(90deg); }
.pm-faq details[open] .pm-faq-icon::after { transform:rotate(0); }
.pm-answer { padding:16px 24px 24px; border-top:1px solid var(--line); }
.pm-answer p { margin:0; color:var(--fg-2); font-size:1rem; line-height:1.65; max-width:65ch; }
.pm-os [id] { scroll-margin-top:104px; }
@supports not (-webkit-text-stroke:1px white) { .pm-stroke { color:var(--fg); } }
@media(max-width:1024px) { .pm-head { grid-template-columns:1fr; gap:24px; } .pm-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) {
 .pm-wrap { width:calc(100% - 32px); }
 .pm-os .pm-hero h1 { overflow-wrap:anywhere; }
 .pm-rows,.pm-flow,.pm-gallery,.pm-duo,.pm-faq { grid-template-columns:1fr; }
 .pm-rows { gap:24px; }
 .pm-actions { flex-direction:column; }
 .pm-actions .btn { width:100%; }
 .pm-card { padding:24px; }
 .pm-faq summary { padding:16px; }
 .pm-answer { padding:12px 16px 20px; }
}
