/* Two existing identities: managed GoCloud amber and GoRun publishing green. */
html[data-theme=gocloud]{--er-accent:var(--gc-ink);--er-on-accent:var(--gc-paper,#f4f8f6);--er-ink:var(--gc-ink);--er-line:var(--gc-line);--er-panel:var(--gc-panel);--er-tint:var(--gc-gold-soft,var(--gc-panel));--er-title:var(--gc-ink)}
html[data-theme=gorun-cms]{--er-accent:var(--green);--er-on-accent:var(--on-accent,#f4f8f6);--er-ink:var(--ink);--er-line:var(--line);--er-panel:var(--panel);--er-tint:var(--cf-deep);--er-title:var(--cf-on-deep)}
.er-view-controls[hidden]{display:none}.er-view-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-block:24px}.er-view-controls>span{margin-inline-end:8px}.er-view-controls button{min-height:44px;padding:8px 18px;font:inherit;border:1px solid var(--er-line);background:var(--er-panel);color:var(--er-ink);cursor:pointer;border-radius:4px}.er-view-controls button[aria-pressed=true]{background:var(--er-accent);color:var(--er-on-accent)}
html[data-theme] .er-results{display:grid;gap:36px;min-width:0}html[data-theme] .er-results[data-er-layout=grid]{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-theme] .er-results .pc-card{display:block;border:0;border-block-end:1px solid var(--er-line);border-radius:0;background:transparent;padding:0 0 28px;min-width:0}html[data-theme] .er-results .pc-card-copy{display:block;padding:22px 0 0}html[data-theme] .er-results .pc-card h2{font-size:clamp(24px,2.8vw,34px);line-height:1.35;max-width:30ch;margin:12px 0}html[data-theme] .er-results .pc-card-copy p{font-size:17px;line-height:1.8;max-width:65ch}.er-card-cover{display:block;overflow:hidden}.er-card-cover img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}html[data-theme] .er-results[data-er-layout=list]{grid-template-columns:1fr}html[data-theme] .er-results[data-er-layout=list] .pc-card{display:grid;grid-template-columns:minmax(180px,30%) minmax(0,1fr);gap:28px;padding-block:0 28px}html[data-theme] .er-results[data-er-layout=list] .pc-card-copy{padding:0}html[data-theme] .er-results[data-er-layout=list] .pc-card:not(:has(>.er-card-cover)){grid-template-columns:1fr}
.er-hero-cover{margin:32px 0 44px}.er-hero-cover img{width:100%;height:auto;display:block;max-height:560px;object-fit:cover}.er-zoom{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.er-view-controls button:focus-visible,.er-zoom:focus-visible{outline:3px solid var(--er-accent);outline-offset:5px}.er-progress{position:fixed;z-index:60;inset-block-start:0;inset-inline:0;width:100%;height:4px;appearance:none;border:0;pointer-events:none;background:transparent}.er-progress::-webkit-progress-bar{background:transparent}.er-progress::-webkit-progress-value{background:var(--er-accent)}.er-progress::-moz-progress-bar{background:var(--er-accent)}.pc-reading-rail a[aria-current=location]{font-weight:700;text-decoration:underline;text-underline-offset:5px}
.er-lightbox{max-width:94vw;max-height:94vh;padding:16px;background:var(--er-panel);color:var(--er-ink);border:1px solid var(--er-line)}.er-lightbox::backdrop{background:rgb(15 34 28 / .88)}.er-lightbox>button{display:block;margin-inline-start:auto;margin-block-end:12px;min-height:44px;font:inherit;padding:8px 18px;background:var(--er-accent);color:var(--er-on-accent);border:0;cursor:pointer}.er-lightbox img{display:block;max-width:85vw;max-height:76vh;width:auto;height:auto;object-fit:contain}
/* Mastheads are bounded to inner documents. Brand surfaces, not a generic repeated banner. */
html[data-theme=gocloud] body:not(:has(.gc-home)) :is(.pc-article-heading,.pc-page-heading,.pc-archive-heading){background:var(--er-tint);padding:clamp(24px,4vw,48px);border:1px solid var(--er-line);max-width:none!important;box-sizing:border-box}
html[data-theme=gocloud] body:not(:has(.gc-home)) :is(.pc-article-heading,.pc-page-heading,.pc-archive-heading) h1{font-size:clamp(34px,4.8vw,66px);line-height:1.2;letter-spacing:-.025em;max-width:22ch!important;color:var(--er-title)}
html[data-theme=gocloud] .pc-article-heading .pc-meta{margin-top:28px;padding-top:20px;border-top:1px solid var(--er-line)}
html[data-theme=gocloud] .pc-menu-page .gp-section-hero{border:1px solid var(--gc-line);background:var(--gc-panel)}
html[data-theme=gorun-cms] body:not(:has(.gc-home)) :is(.gr-doc-header,.pc-article-heading,.pc-archive-heading){background:var(--er-tint);padding:clamp(24px,3.5vw,44px);color:var(--cf-on-deep);border:1px solid var(--cf-line);border-radius:8px;max-width:none;box-sizing:border-box}
html[data-theme=gorun-cms] body:not(:has(.gc-home)) :is(.gr-doc-header,.pc-article-heading,.pc-archive-heading) h1{font-size:clamp(32px,4vw,54px);line-height:1.25;max-width:24ch;letter-spacing:-.025em;color:var(--er-title)}
html[data-theme=gorun-cms] .gr-doc-header .pc-meta{padding-block-start:20px;margin-block-start:20px;border-block-start:1px solid var(--er-line)}
html[data-theme] .er-results a:hover{text-decoration:underline;text-underline-offset:5px}
@media(min-width:900px){html[data-theme] .er-results[data-er-layout=grid]>.pc-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;padding-bottom:36px}html[data-theme] .er-results[data-er-layout=grid]>.pc-card:first-child .pc-card-copy{padding:0}html[data-theme] .er-results[data-er-layout=grid]>.pc-card:first-child:not(:has(>.er-card-cover)){display:block}}
@media(max-width:650px){html[data-theme] .er-results[data-er-layout=grid]{grid-template-columns:1fr}.er-view-controls{justify-content:flex-start}html[data-theme] .er-results[data-er-layout=list] .pc-card{grid-template-columns:96px minmax(0,1fr);gap:16px}html[data-theme] .er-results[data-er-layout=list] .pc-card h2{font-size:21px}html[data-theme] .er-results[data-er-layout=list] .pc-card-copy>p{display:none}html[data-theme] .er-results[data-er-layout=list] .er-card-cover img{aspect-ratio:1}.er-hero-cover{margin-block:24px}.er-lightbox{padding:10px}}
@media(prefers-reduced-motion:reduce){.er-results *,.er-zoom *{scroll-behavior:auto;transition:none;animation:none}}

html[data-theme=gorun-cms] body:not(:has(.gc-home)) :is(.gr-doc-header,.pc-article-heading,.pc-archive-heading) :is(p,a,time,.pc-meta,.pc-kicker){color:var(--cf-on-deep)}

/* Shared C library semantics, current theme material and native keyboard links. */
.pl-core-library .gp-archive-filter-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:12px 0 20px}
.pl-core-library .gp-filter-link,.pl-core-library .gp-filter-chip,.pl-core-library .gp-filter-clear,.pl-core-library-empty .gp-filter-clear{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box;overflow-wrap:anywhere;max-width:100%}
.pl-core-library .gp-filter-link{padding:8px 14px;line-height:1.6}
.pl-core-library .gp-filter-group-label{font-size:14px;font-weight:650}
.pl-core-library .gp-filter-link:focus-visible,.pl-core-library .gp-filter-chip:focus-visible,.pl-core-library .gp-filter-clear:focus-visible,.pl-core-library-empty .gp-filter-clear:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.pl-core-library-empty p{line-height:1.8}

/* Readable table columns with an explicit, named keyboard scroll region. */
html[data-theme] main .sr-table-frame{max-inline-size:100%;min-inline-size:0;overflow-x:auto;margin-block:12px 28px;overscroll-behavior-inline:contain}
html[data-theme] main .sr-table-frame>table{display:table!important;inline-size:max-content;min-inline-size:100%;max-inline-size:none!important;overflow:visible!important;table-layout:auto}
html[data-theme] main .sr-table-frame :is(th,td){min-inline-size:14ch;max-inline-size:42ch;white-space:normal;overflow-wrap:normal;word-break:normal}
html[data-theme] main .sr-table-frame:focus-visible{outline:2px solid currentColor;outline-offset:4px}
:root:root[data-theme][dir] main p.sr-table-hint{font-family:var(--font-ui);font-size:.875rem;line-height:1.7;margin-block:18px 8px;max-inline-size:70ch}
html[data-theme] main .sr-table-hint[hidden]{display:none!important}
/* The full outline remains in the HTML without JavaScript. Native details
   reduce the initial mobile reading distance without removing destinations. */
html[data-theme] .sr-outline>summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;min-block-size:44px;cursor:pointer;list-style:none}
html[data-theme] .sr-outline>summary::after{content:'+';font:inherit;font-size:1.4rem;margin-inline-start:auto}
html[data-theme] .sr-outline[open]>summary::after{content:'−'}
html[data-theme] .sr-outline>summary :is(h2,strong){font:inherit;font-weight:700;margin:0;line-height:1.6}
html[data-theme] .sr-outline>summary:focus-visible{outline:2px solid currentColor;outline-offset:4px}
html[data-theme] .sr-outline-count{font:inherit;font-size:.8rem;line-height:1.6}
html[data-theme] .sr-outline[open]>summary{margin-block-end:16px}
