/* Shared glass surfaces. Load through stamp_chrome on every public page.
   Glass is a surface treatment; action buttons retain their semantic colors. */
:root {
 --glass-surface:rgba(255,255,255,.86);
 --glass-solid:#f8fbff;
 --glass-ground:#eff5ff;
 --glass-border:rgba(132,169,220,.45);
 --glass-shadow:0 8px 28px rgba(33,70,128,.07),inset 0 1px 0 rgba(255,255,255,.6);
 --glass-ink:#101114;
 --glass-muted:#465675;
 --glass-blur:12px;
}
@media (prefers-color-scheme:dark) {
 :root:not([data-theme="light"]) {
  --glass-surface:rgba(18,27,43,.92);--glass-solid:#121b2b;--glass-ground:#0c1017;
  --glass-border:rgba(142,171,222,.28);--glass-shadow:0 8px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(189,210,255,.07);
  --glass-ink:#ecedee;--glass-muted:#b3bed3;
 }
}
:root[data-theme="dark"],html.dark {
 --glass-surface:rgba(18,27,43,.92);--glass-solid:#121b2b;--glass-ground:#0c1017;
 --glass-border:rgba(142,171,222,.28);--glass-shadow:0 8px 28px rgba(0,0,0,.22),inset 0 1px 0 rgba(189,210,255,.07);
 --glass-ink:#ecedee;--glass-muted:#b3bed3;
}
/* Adapters for the established page components, including prerendered app pages. */
.edge-glass,.card,.tile,.panel,.plan,.stat,.setup-copy,.prompt-box,.goal,.filters,.quick,.skill-group,.metric-card,.study-chart,.benchmark-board,.note,.callout,.search-form,.detail-panel,.detail-card,.legal-document,.task-card,.output-card,.bench-pending,.scenario-card {
 background:var(--glass-surface)!important;
 border-color:var(--glass-border)!important;
 box-shadow:var(--glass-shadow)!important;
 color:var(--glass-ink);
 -webkit-backdrop-filter:blur(var(--glass-blur))!important;backdrop-filter:blur(var(--glass-blur))!important;
}
/* Avoid repeated blur layers inside a glass parent. */
.edge-glass :is(.card,.panel,.stat),.card :is(.card,.panel,.stat),.benchmark-board .card,.plan .panel {
 -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
/* Mobile compositing budget: translucent surfaces keep the sky visible without blur. */
@media(max-width:700px) { :root{--glass-blur:0px!important} }
@media(prefers-reduced-transparency:reduce),(forced-colors:active) {
 :root{--glass-surface:var(--glass-solid)!important;--glass-blur:0px!important;--glass-shadow:none!important}
}
@supports not (backdrop-filter:blur(1px)) { :root{--glass-surface:var(--glass-solid)} }
/* Surface-local text tokens keep captions readable over the full glass palette. */
.edge-glass,.card,.tile,.panel,.plan,.stat,.setup-copy,.prompt-box,.goal,.filters,.quick,.skill-group,.note,.callout,.search-form,.detail-panel,.detail-card,.legal-document,.task-card,.output-card {
 --muted:var(--glass-muted);--ink-2:var(--glass-muted);--ink-3:var(--glass-muted);
}

/* The library app has named outer frames; output artifacts keep their own styling. */
body:has(.library-skill-page) {background-color:var(--glass-ground)!important;background-image:url('/explore/sky-top.svg')!important;background-position:center top!important;background-size:1440px 900px!important;background-repeat:no-repeat!important}
.library-skill-page :is(.example-section,.preview-shell,.skill-details,.skill-file-workspace),.research-tile,.signal-grid article,.skills-gap-card,.method-step {
 background:var(--glass-surface)!important;border-color:var(--glass-border)!important;box-shadow:var(--glass-shadow)!important;
 -webkit-backdrop-filter:blur(var(--glass-blur))!important;backdrop-filter:blur(var(--glass-blur))!important;
 --muted:var(--glass-muted);
}
.library-skill-page .example-section .preview-shell {backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body:has(.library-skill-page){background-image:none!important}}
:root[data-theme="dark"] .library-skill-page,html.dark body:has(.library-skill-page){background-image:none!important}
/* Expert-method pages use their own named reading frames. */
body:has(.page .map){background-color:var(--glass-ground)!important;background-image:url('/explore/sky-top.svg')!important;background-position:center top!important;background-size:1440px 900px!important;background-repeat:no-repeat!important}
.page :is(.credit,.map,.step,.example){
 background:var(--glass-surface)!important;border-color:var(--glass-border)!important;box-shadow:var(--glass-shadow)!important;
 -webkit-backdrop-filter:blur(var(--glass-blur))!important;backdrop-filter:blur(var(--glass-blur))!important;
 --muted:var(--glass-muted);
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) body:has(.page .map){background-image:none!important}}
:root[data-theme="dark"] body:has(.page .map){background-image:none!important}
