/* V7 Light and Dark grounds. Unprofiled CMYK approximations are recorded in the palette register.
   These tokens color the interface only; source artwork is never filtered or inverted. */
html,html[data-theme=light]{color-scheme:light;--paper:#FFFFFF;--ground:#FFFFFF;--ink:#0A1020;--muted:#3F4757;--soft:#3F4757;--faint:rgba(28,38,58,.72);--blue:#2E5CFF;--accent:#2E5CFF;--on-accent:#FFFFFF;--hair:rgba(10,16,32,.22);--wash:rgba(10,16,32,.05);--surface:#F5F6F8;--folder-fill:rgba(10,16,32,.08);--folder-hover:rgba(10,16,32,.16);--dots:#0000FF;--error:#B92942;--red:#2E5CFF;background:var(--paper)}
html[data-theme=dark]{color-scheme:dark;--paper:#24272B;--ground:#24272B;--ink:#F0F0EE;--muted:#C2C6CB;--soft:#C2C6CB;--faint:#B1B7BF;--blue:#C6D7F5;--accent:#C6D7F5;--on-accent:#24272B;--hair:rgba(194,198,203,.30);--wash:rgba(194,198,203,.07);--surface:#30343A;--folder-fill:rgba(240,240,238,.14);--folder-hover:rgba(240,240,238,.24);--dots:#0000FF;--error:#F7AAB6;--red:#C6D7F5;background:var(--paper)}
html[data-theme] body{background:var(--paper);color:var(--ink)}
html[data-theme]::before{display:none}html[data-theme]::after{opacity:.05;mix-blend-mode:screen}html[data-theme=light]::after{opacity:.07;mix-blend-mode:multiply}
html[data-theme] body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(var(--dots) 1.05px,transparent 1.2px);background-size:28px 28px}
html[data-theme] body>:not(.qe-xhair):not(.qe-palettes):not(.imsg):not(.wsi-popup):not(.bosch-skip):not(.si-skip):not(dialog){position:relative}
html[data-theme] body .qe-palettes{position:fixed}
html[data-theme] body .xs-site-header,html[data-theme] body .xs-site-header .xs-site-name,html[data-theme] body .xs-site-header .xs-site-folder{color:var(--ink)}
html[data-theme] body .xs-site-header .xs-site-folder span,html[data-theme] .folder span{color:var(--ink);background:var(--folder-fill)}
html[data-theme] body .xs-site-header .xs-site-folder:hover span,html[data-theme] .folder:hover span{background:var(--folder-hover)}

/* Adapt imported portfolio/source chrome to the current palette, with no type or layout respecification. */
html[data-theme] body{--paper:inherit;--ground:inherit;--ink:inherit;--muted:inherit;--soft:inherit;--hair:inherit;--blue:inherit;--accent:inherit;--wash:inherit;--surface:inherit;--red:inherit}
html[data-theme] body:not(.brand):not(.bookbody) p,html[data-theme] .qe-brief dd{color:var(--muted)}
html[data-theme] .filt{background:var(--paper);border-color:var(--hair);color:var(--ink)}
html[data-theme] .filt:hover{border-color:var(--accent);color:var(--accent)}
html[data-theme] .filt[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
html[data-theme] .filt[aria-pressed=true] .n{color:var(--paper);opacity:1}
html[data-theme] .filt .n{opacity:1;color:var(--muted)}
html[data-theme] :is(.wt,.pfolio-role,.pfolio-cap,.pfolio-row figcaption,.pfolio-plate figcaption){color:var(--muted)}
html[data-theme] body:not(.brand):not(.bookbody) :is(.pfolio-intro,.pfolio-t,.pfolio-role,.pfolio-cap,.pfolio-row figcaption,.pfolio-plate figcaption){color:var(--muted)}
html[data-theme] :is(.wimg,.si-cover,.bosch-open,.bosch-view,.wsi-preview-media,.wsi-gallery-stage){background:var(--surface)}
html[data-theme] .wimg img{filter:none;mix-blend-mode:normal;opacity:1}
html[data-theme] :is(.silhouettes-index a,.bosch-page a,.bosch-page button){color:var(--ink)}
html[data-theme] :is(.si-kicker,.si-card-kicker,.si-status,.si-subtitle,.bosch-meta,.bosch-page figcaption,.bosch-note){color:var(--muted)}
html[data-theme] :is(.si-cover,.bosch-index,.bosch-stage,.bosch-pending,.bosch-end){border-color:var(--hair)}
html[data-theme] .si-card:hover .si-cover{border-color:var(--accent)}
html[data-theme] .bosch-page .bosch-skip,html[data-theme] .si-skip{background:var(--paper);color:var(--ink)}
html[data-theme] .bosch-page .bosch-viewer{background:var(--paper);color:var(--ink);border-color:var(--muted)}
html[data-theme] .bosch-page .bosch-open{background:var(--surface)}
html[data-theme] .bosch-page .bosch-tools button{background:var(--paper);color:var(--ink);border-color:var(--muted)}
html[data-theme] .bosch-page .bosch-source summary,html[data-theme] .bosch-page .bosch-stage h2 span,html[data-theme] .bosch-page .bosch-tools button:disabled{color:var(--muted)}
html[data-theme] .wsi-popup,html[data-theme] .wsi-gallery{background:var(--paper);color:var(--ink);border-color:var(--muted)}
html[data-theme] :is(.wsi-popup button,.wsi-gallery button,.wsi-popup-title,.wsi-popup-note,.wsi-gallery-count){color:var(--muted)}
html[data-theme] :is(.wsi-popup button:hover,.wsi-gallery button:hover){color:var(--accent)}
html[data-theme] .wsi-gallery-bar,html[data-theme] .wsi-gallery-foot{border-color:var(--hair)}
html[data-theme] :is(.si-footer,.bosch-end){padding-bottom:70px}
html[data-theme] :is(.xs-site-header a,.xs-site-header button,.bosch-page a,.bosch-page button,.bosch-page summary,.bosch-page [tabindex],.silhouettes-index a,.silhouettes-index button,.wsi-popup button,.wsi-gallery button):focus-visible{outline-color:var(--accent)}
/* Retain the sourced bubble geometry while matching its surfaces to each palette. */
html[data-theme] .imsg-b{background:var(--accent);color:var(--on-accent)}
html[data-theme] .imsg-b.mine,html[data-theme] .imsg-typing,html[data-theme] .imsg-x{background:var(--surface);color:var(--ink)}
html[data-theme] .imsg-b.bad{background:var(--error);color:var(--paper)}
html[data-theme] .imsg-b a,html[data-theme] .imsg-b a:hover{color:inherit}
html[data-theme] .imsg-typing i{background:var(--muted)}
html[data-theme] .imsg-row input{background:var(--surface);color:var(--ink);border-color:var(--muted)}
html[data-theme] .imsg-row input:focus{border-color:var(--accent)}
html[data-theme] .imsg-row input::placeholder{color:var(--muted)}
html[data-theme] .imsg-send,html[data-theme] .imsg-send:hover{background:var(--accent);color:var(--on-accent)}
html[data-theme] .imsg-send:disabled{background:var(--surface);color:var(--muted)}
html[data-theme] .imsg-x:hover{background:var(--wash)}
html[data-theme] body .imsg-password-hint{background:var(--paper);color:var(--muted)}
html[data-theme] .imsg :is(.imsg-x,.imsg-send):focus-visible{outline-color:var(--accent)}
/* Narrow screens reserve the swatch row plus its two-line readout below the thread.
   Desktop retains the source corner position; no controls or focus targets are hidden. */
@media(max-width:600px){
  html[data-theme] body:has(>.qe-palettes) #password-dialog.imsg{bottom:calc(max(13px,env(safe-area-inset-bottom)) + 108px)}
}
