/* Semantic skin adapter. Classic has no selector match and remains untouched. */
html[data-fairystack-skin]{background:var(--skin-page);color:var(--skin-ink);accent-color:var(--skin-accent);scrollbar-color:var(--skin-line) var(--skin-page)}
html[data-fairystack-skin] body,html[data-fairystack-skin] body[data-fairystack-shell],html[data-fairystack-skin] body.conversation-visible{--page:var(--skin-page);--surface:var(--skin-panel);--ink:var(--skin-ink);--muted:var(--skin-muted);--line:var(--skin-line);--divider:var(--skin-line);--accent:var(--skin-accent);--activity:var(--skin-accent);--tab-surface:var(--skin-raised);--tab-selected:var(--skin-selected);--user-surface:var(--skin-selected);--footer-chrome:var(--skin-page);--footer-control:var(--skin-panel);--footer-ink:var(--skin-ink);--footer-line:var(--skin-line);--footer-selected:var(--skin-selected);background:var(--skin-page);color:var(--skin-ink);font-family:var(--skin-font)}
html[data-fairystack-skin] body.conversation-visible::before{background:radial-gradient(ellipse at 80% 0,color-mix(in srgb,var(--skin-accent) 6%,transparent),transparent 60%)}
html[data-fairystack-skin] body::after{display:none}
html[data-fairystack-skin] body.conversation-visible #session-loading{border:1px solid var(--skin-line);border-radius:var(--skin-radius);background:var(--skin-panel)}
html[data-fairystack-skin] body.conversation-visible .message{border:1px solid var(--skin-line);border-radius:var(--skin-radius);background:var(--skin-panel);color:var(--skin-ink);box-shadow:none;backdrop-filter:none;padding:var(--skin-density)}
html[data-fairystack-skin] body.conversation-visible .message.user{background:var(--skin-selected);border-left:3px solid var(--skin-accent)}
html[data-fairystack-skin] body.conversation-visible .message.user[data-provenance="machine"]{background:var(--skin-raised);border-color:var(--skin-line)}
html[data-fairystack-skin] .message.assistant a{color:var(--skin-accent)}
html[data-fairystack-skin] #composer{border-radius:var(--skin-radius);border-color:var(--skin-line);background:var(--skin-panel);color:var(--skin-ink);box-shadow:0 -2px 0 var(--skin-accent)}
html[data-fairystack-skin] #composer textarea{padding:var(--skin-density);font-family:var(--skin-font)}
html[data-fairystack-skin] body.conversation-visible #send{background:var(--skin-button);color:var(--skin-button-ink);border-color:var(--skin-button);border-radius:var(--skin-radius)}
html[data-fairystack-skin] body.conversation-visible #enqueue{background:var(--skin-panel);color:var(--skin-accent);border-color:var(--skin-line)}
html[data-fairystack-skin] #session-tabs{--page:var(--skin-page);--surface:var(--skin-panel);--tab-surface:var(--skin-raised);--tab-selected:var(--skin-selected);--ink:var(--skin-ink);--muted:var(--skin-muted);--line:var(--skin-line);--accent:var(--skin-accent);--create-bg:var(--skin-button);--create-hover:var(--skin-button);--create-ink:var(--skin-button-ink);--rail-edge:var(--skin-accent);background:var(--skin-page);border-color:var(--skin-line);box-shadow:none;font-family:var(--skin-font)}
html[data-fairystack-skin] .session-tab:has([aria-selected="true"]){border-color:var(--skin-accent);border-radius:var(--skin-radius) var(--skin-radius) 0 0;box-shadow:none}
html[data-fairystack-skin] .session-fairy{background-image:none;filter:none;transform:none;border:1px solid var(--skin-accent);border-radius:2px}
html[data-fairystack-skin] .session-fairy:not(.is-halted):not(:has(.session-tab-favicon:not([hidden])))::before{content:'/';font:700 15px ui-monospace,monospace;color:var(--skin-accent)}
html[data-fairystack-skin] .session-fairy:has(.session-tab-favicon:not([hidden])),html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) .session-fairy{border:0}
html[data-fairystack-skin] :is(#surface-view,dialog,.trace-dot-tooltip){color:var(--skin-ink);background-color:var(--skin-panel);border-color:var(--skin-line)}
html[data-fairystack-skin] :is(#surface-view[data-surface],dialog) :is(input,select,textarea){background:var(--skin-page);color:var(--skin-ink);border-color:var(--skin-line)}
html[data-fairystack-skin] body.conversation-visible #composer-dock::after,html[data-fairystack-skin] .gate{background:var(--skin-page)}
html[data-fairystack-skin] .gate>#inline-login{border:1px solid var(--skin-line);border-top:3px solid var(--skin-accent);border-radius:var(--skin-radius);background:var(--skin-panel);color:var(--skin-ink);box-shadow:none;--gate-ink:var(--skin-ink);--gate-muted:var(--skin-muted);--gate-label:var(--skin-ink);--gate-input:var(--skin-page);--gate-input-ink:var(--skin-ink);--gate-line:var(--skin-line);--gate-focus:var(--skin-accent);--gate-link:var(--skin-accent);--gate-button:var(--skin-button);--gate-button-hover:var(--skin-button);--gate-button-ink:var(--skin-button-ink)}
html[data-fairystack-skin] .gate :is(.activation-brand,#activation-intro .activation-kicker,#activation-intro p:not(.activation-kicker)),html[data-fairystack-skin="corpo"] #composer textarea::placeholder{color:var(--skin-muted)}
html[data-fairystack-skin] .gate :is(#activation-intro h1,#activation-intro strong){color:var(--skin-ink);font-family:var(--skin-display)}
html[data-fairystack-skin] ::selection{background:var(--skin-button);color:var(--skin-button-ink)}
html[data-fairystack-skin] :focus-visible{outline:2px solid var(--skin-accent);outline-offset:3px}
/* Loaded inside the existing footer shadow root as well as the document. */
:host([data-skinned]){font-family:var(--skin-font);--shell-control-radius:var(--skin-radius)}
:host([data-skinned]) #app-header-nav{background:var(--skin-page);color:var(--skin-ink);border-color:var(--skin-line);box-shadow:none}
:host([data-skinned]) :is(.ah-link,.platform-version,#subsystem-toggle,#subsystem-menu){background:var(--skin-panel);color:var(--skin-ink);border-color:var(--skin-line);border-radius:var(--skin-radius)}
:host([data-skinned]) :is(.ah-link,.platform-version):is(:hover,:focus-visible,[aria-current="page"]){background:var(--skin-selected);color:var(--skin-accent);border-color:var(--skin-accent)}
:host([data-skinned]) :is(.platform-user,#subsystem-menu button,#subsystem-menu a),html[data-bat-color="ink"] .night-bat{color:var(--skin-ink)}
:host([data-skinned]) #account-menu{--account-bg:var(--skin-panel);--account-ink:var(--skin-ink);--account-line:var(--skin-line);--account-hover:var(--skin-selected)}
:host([data-skinned]) #release-history{--release-bg:var(--skin-panel);--release-ink:var(--skin-ink);--release-muted:var(--skin-muted);--release-line:var(--skin-line);--release-row:var(--skin-raised);border-radius:var(--skin-radius)}
html[data-fairystack-skin] #composer-frame,html[data-fairystack-skin] #composer-header{border-radius:var(--skin-radius);border-color:var(--skin-line)}
:where(html[data-fairystack-skin]) button,html[data-fairystack-skin="corpo"] #composer .composer-actions #send{background:var(--skin-button);color:var(--skin-button-ink);border-color:var(--skin-button)}html[data-fairystack-skin] button:disabled{background-color:var(--skin-raised);color:var(--skin-muted);border-color:var(--skin-line);opacity:1}

/* Nocturne studies: the same controls, with distinct material, type and geometry. */
html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #messages{width:100%;margin-inline:auto;padding:24px 24px 0}
html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #composer-dock{width:min(1200px,calc(100% - 40px));left:50%;transform:translateX(-50%)}
html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #composer::after{content:'';position:absolute;top:6px;right:20px;width:118px;height:96px;background:var(--skin-creature) center/contain no-repeat;pointer-events:none}
html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #composer textarea{min-height:108px;padding:20px 160px 14px 20px;font-size:16px;line-height:1.55}
html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) .composer-actions{padding:0 10px 7px}
html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #composer-header{padding:7px 14px;font-family:ui-monospace,monospace;min-height:38px;letter-spacing:.01em}
html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) .session-fairy:not(.is-halted):not(:has(.session-tab-favicon:not([hidden])))::before{content:'';width:22px;height:20px;background:var(--skin-creature) center/contain no-repeat}
/* Belfry: a broad oxblood writing desk, severe rails and warm book typography. */
html[data-fairystack-skin="belfry"] body.conversation-visible::before{background:var(--skin-creature) right 5vw top 65px/650px auto no-repeat,linear-gradient(90deg,transparent 3%,var(--skin-line) 3.1%,transparent 3.2%,transparent 96.8%,var(--skin-line) 96.9%,transparent 97%);opacity:.38}
html[data-fairystack-skin="belfry"] #messages{max-width:1320px}
html[data-fairystack-skin="belfry"] body.conversation-visible .message.assistant{width:73%;margin-left:0;border:0;border-left:3px solid var(--skin-accent);border-radius:0 18px 18px 0;padding:22px 26px;background:var(--skin-panel);box-shadow:6px 6px 0 color-mix(in srgb,var(--skin-line) 18%,transparent)}
html[data-fairystack-skin="belfry"] .message.assistant article{font-family:Georgia,serif;font-size:17px;line-height:1.65}
html[data-fairystack-skin="belfry"] body.conversation-visible .message.user{width:57%;margin-right:0;border:1px solid var(--skin-line);border-radius:18px 2px 18px 18px;padding:16px 22px;background:var(--skin-selected);color:var(--skin-ink)}
html[data-fairystack-skin="belfry"] #session-tabs{border-bottom:3px solid var(--skin-button);background:var(--skin-panel)}
html[data-fairystack-skin="belfry"] .session-tab:has([aria-selected="true"]){border-radius:10px 10px 0 0;border-top:2px solid var(--skin-accent);background:var(--skin-selected)}
html[data-fairystack-skin="belfry"] #composer-frame{border:1px solid var(--skin-accent);border-radius:14px 14px 2px 2px;box-shadow:0 12px 40px #0005}
html[data-fairystack-skin="belfry"] #composer{border-radius:0;box-shadow:none;border-top:1px solid var(--skin-line)}
html[data-fairystack-skin="belfry"] body.conversation-visible #send{padding-inline:24px;border-radius:2px 10px 2px 10px;font-family:Georgia,serif;font-size:15px}
/* Imp: warm enamel, chunky offset panels, angular tabs and an embedded familiar. */
html[data-fairystack-skin="imp"] body.conversation-visible::before{background:var(--skin-creature) right 2vw top 55px/530px auto no-repeat,repeating-linear-gradient(135deg,transparent 0 59px,var(--skin-line) 60px,transparent 61px)}
html[data-fairystack-skin="imp"] #messages{max-width:1220px;padding-top:30px}
html[data-fairystack-skin="imp"] body.conversation-visible .message.assistant{width:77%;margin-left:0;border:2px solid var(--skin-line);border-left:8px solid var(--skin-accent);border-radius:2px 24px 24px 24px;padding:20px 24px;background:var(--skin-panel);box-shadow:7px 7px 0 color-mix(in srgb,var(--skin-accent) 15%,var(--skin-page))}
html[data-fairystack-skin="imp"] .message.assistant article{font-size:16px;line-height:1.65}
html[data-fairystack-skin="imp"] .message.assistant strong{font-weight:800;color:var(--skin-accent)}
html[data-fairystack-skin="imp"] body.conversation-visible .message.user{width:57%;margin-right:0;border:2px solid var(--skin-line);border-radius:20px 2px 20px 20px;padding:16px 20px;background:var(--skin-selected);color:var(--skin-ink)}
html[data-fairystack-skin="imp"] #session-tabs{background:var(--skin-raised);border-bottom:3px solid var(--skin-accent)}
html[data-fairystack-skin="imp"] .session-tab:has([aria-selected="true"]){border:0;border-radius:0 16px 0 0;background:var(--skin-button);--ink:var(--skin-button-ink);--muted:var(--skin-button-ink)}
html[data-fairystack-skin="imp"] .session-tab:has([aria-selected="true"])::after{background:var(--skin-button)}
html[data-fairystack-skin="imp"] .session-tab [aria-selected="true"] .session-tab-title{font-weight:800}
html[data-fairystack-skin="imp"] #composer-frame{border:2px solid var(--skin-line);border-left:7px solid var(--skin-accent);border-radius:2px 24px 2px 2px;box-shadow:7px 7px 0 color-mix(in srgb,var(--skin-accent) 15%,var(--skin-page))}
html[data-fairystack-skin="imp"] #composer,html[data-fairystack-skin="goth-fairy"] #composer{border-radius:0;box-shadow:none}
html[data-fairystack-skin="imp"] #composer-header,html[data-fairystack-skin="goth-fairy"] #composer-header{background:var(--skin-raised);color:var(--skin-ink)}
html[data-fairystack-skin="imp"] #composer::after{width:110px;height:104px;top:0;right:20px}
html[data-fairystack-skin="imp"] body.conversation-visible #send{padding-inline:24px;border-radius:12px 2px 12px 2px;font-weight:900;box-shadow:3px 3px 0 var(--skin-line)}
/* Goth Fairy: a narrower silver manuscript with winglike corners and moonlit trim. */
html[data-fairystack-skin="goth-fairy"] body.conversation-visible::before{background:var(--skin-creature) right 1vw top 55px/680px auto no-repeat,radial-gradient(ellipse at 15% 20%,var(--skin-accent),transparent 60%)}
html[data-fairystack-skin="goth-fairy"] #messages{max-width:1140px;padding-top:28px}
html[data-fairystack-skin="goth-fairy"] body.conversation-visible .message.assistant{width:78%;margin-left:0;border:1px solid var(--skin-line);border-top:2px solid var(--skin-accent);border-radius:30px 3px 30px 3px;padding:24px 28px;background:var(--skin-panel);box-shadow:0 5px 25px color-mix(in srgb,var(--skin-accent) 9%,transparent)}
html[data-fairystack-skin="goth-fairy"] .message.assistant article{font-family:Georgia,serif;font-size:17px;line-height:1.7}
html[data-fairystack-skin="goth-fairy"] body.conversation-visible .message.user{width:61%;margin-right:0;border:1px solid var(--skin-line);border-radius:3px 24px 3px 24px;padding:16px 22px;background:var(--skin-selected);color:var(--skin-ink)}
html[data-fairystack-skin="goth-fairy"] #session-tabs{background:var(--skin-page);border-color:var(--skin-line)}
html[data-fairystack-skin="goth-fairy"] .session-tab:has([aria-selected="true"]){border:1px solid var(--skin-accent);border-radius:18px 3px 0 0;background:var(--skin-selected)}
html[data-fairystack-skin="goth-fairy"] #composer-dock{width:min(1080px,calc(100% - 40px))}
html[data-fairystack-skin="goth-fairy"] #composer-frame{border:1px solid var(--skin-accent);border-radius:24px 3px 24px 3px;box-shadow:0 0 28px color-mix(in srgb,var(--skin-accent) 12%,transparent)}
html[data-fairystack-skin="goth-fairy"] #composer::after{width:124px;height:106px;top:0;right:18px}
html[data-fairystack-skin="goth-fairy"] body.conversation-visible #send{padding-inline:26px;border-radius:20px 3px 20px 3px;font-family:Georgia,serif;font-size:15px}
@media(max-width:620px){
 html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #messages{padding:14px 6px 0}
 html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) body.conversation-visible .message.assistant{width:95%;padding:16px;font-size:15px}
 html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) body.conversation-visible .message.user{width:90%;padding:13px 15px;font-size:14px}
 html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) .message.assistant article{font-size:16px;line-height:1.6}
 html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #composer-dock{width:calc(100% - 16px)}
 html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #composer textarea{min-height:78px;max-height:28dvh;padding:12px 88px 12px 12px;font-size:16px}
 html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #composer::after{width:72px;height:68px;right:8px;top:6px}
 html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) .composer-actions{padding:0 4px 4px}
 html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) #composer-frame{box-shadow:none}
}

/* Timing belongs to the same column as its assistant message. */
html[data-fairystack-skin="belfry"] body.conversation-visible .turn-profile-host{width:73%;margin-left:0;margin-right:auto}
html[data-fairystack-skin="imp"] body.conversation-visible .turn-profile-host{width:77%;margin-left:0;margin-right:auto}
html[data-fairystack-skin="goth-fairy"] body.conversation-visible .turn-profile-host{width:78%;margin-left:0;margin-right:auto}
@media(max-width:620px){html:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) body.conversation-visible .turn-profile-host{width:95%}}
/* Diffusion plates retain their generated alpha; keep detail in the open margin. */
html[data-fairystack-skin="imp"] body.conversation-visible::before{background-size:480px auto,auto;opacity:.30}
html[data-fairystack-skin="goth-fairy"] body.conversation-visible::before{background-size:510px auto,auto;opacity:.35}
html[data-skin-mode="light"]:is([data-fairystack-skin="belfry"],[data-fairystack-skin="imp"],[data-fairystack-skin="goth-fairy"]) body.conversation-visible::before{opacity:.18}

/* Rainbow bats decoration (decorations/bats.js); bat-swarm.js places each bat. */
.night-creatures{display:block;position:absolute;bottom:100%;left:0;width:100%;height:24px;pointer-events:none;user-select:none;overflow:hidden;color:var(--skin-ink);z-index:2}
.night-bat{position:absolute;bottom:0;width:26px;height:18px;transform-origin:center;pointer-events:none;color:var(--skin-accent,var(--skin-ink))}
.night-bat i{display:block;width:100%;height:100%;background:currentColor;clip-path:polygon(30% 18%,38% 0,46% 22%,54% 22%,62% 0,70% 18%,76% 65%,64% 95%,36% 95%,24% 65%)}
.night-bat[data-wing-state="up"] i{clip-path:polygon(0 0,35% 30%,45% 45%,46% 20%,50% 36%,54% 20%,55% 45%,65% 30%,100% 0,85% 75%,62% 65%,50% 100%,38% 65%,15% 75%)}
.night-bat[data-wing-state="down"] i{clip-path:polygon(0 85%,30% 40%,44% 35%,46% 10%,50% 25%,54% 10%,56% 35%,70% 40%,100% 85%,72% 68%,60% 80%,50% 100%,40% 80%,28% 68%)}

/* Bat color is a local appearance choice, shared with the studio preview. */
html[data-bat-color="rainbow"] .night-bat{color:var(--bat-rainbow)}
.night-bat-0{--bat-rainbow:#ff929e}.night-bat-1{--bat-rainbow:#ffc080}.night-bat-2{--bat-rainbow:#ffe799}.night-bat-3{--bat-rainbow:#99e5b8}.night-bat-4{--bat-rainbow:#97d5ff}.night-bat-5{--bat-rainbow:#d4afff}.night-bat-6{--bat-rainbow:#fface1}
html[data-skin-mode="light"] .night-bat-0{--bat-rainbow:#a0253d}html[data-skin-mode="light"] .night-bat-1{--bat-rainbow:#874600}html[data-skin-mode="light"] .night-bat-2{--bat-rainbow:#6c5400}html[data-skin-mode="light"] .night-bat-3{--bat-rainbow:#16623b}html[data-skin-mode="light"] .night-bat-4{--bat-rainbow:#225e90}html[data-skin-mode="light"] .night-bat-5{--bat-rainbow:#64328f}html[data-skin-mode="light"] .night-bat-6{--bat-rainbow:#8d306e}
@media(forced-colors:active){.night-bat{color:CanvasText!important}}

/* Tokyo Neon: neon controls on a solid canvas. */
html[data-fairystack-skin="night-city"]{--city-pink:#ff5edb}
html[data-fairystack-skin="night-city"][data-skin-mode="light"]{--city-pink:#a51b83}
html[data-fairystack-skin="night-city"] body.conversation-visible::before{display:none;background:none}
html[data-fairystack-skin="night-city"] #messages{width:100%;max-width:1320px;margin-inline:auto;padding:24px 22px 0}
html[data-fairystack-skin="night-city"] body.conversation-visible .message.assistant{border:1px solid var(--skin-line);border-left:3px solid var(--skin-accent);border-radius:0 12px 0 0}
html[data-fairystack-skin="night-city"] body.conversation-visible .message.user{border:1px solid var(--city-pink);border-right:3px solid var(--city-pink);background:var(--skin-selected)}
html[data-fairystack-skin="night-city"] .message.assistant article{font-size:15px;line-height:1.65}
html[data-fairystack-skin="night-city"] .message.assistant strong,html[data-fairystack-skin="night-city"] .message.assistant li::marker,html[data-fairystack-skin="night-city"] .session-tab-app{color:var(--city-gold)}
html[data-fairystack-skin="night-city"] .message.assistant code{color:var(--city-lime)}
html[data-fairystack-skin="night-city"] #session-tabs{box-shadow:0 2px 16px color-mix(in srgb,var(--skin-accent) 18%,transparent);background:var(--skin-page);background-image:linear-gradient(90deg,color-mix(in srgb,var(--skin-accent) 10%,transparent),transparent 40%,color-mix(in srgb,var(--city-pink) 12%,transparent));border-bottom:2px solid var(--skin-accent)}
html[data-fairystack-skin="night-city"] .session-tab:has([aria-selected="true"]){border-top:2px solid var(--city-pink);border-radius:0 12px 0 0}
html[data-fairystack-skin="night-city"] :is(.session-tab-title,#composer-header){font-family:ui-monospace,monospace;letter-spacing:.025em}
html[data-fairystack-skin="night-city"] #composer-dock{width:min(1240px,calc(100% - 32px));left:50%;transform:translateX(-50%)}
html[data-fairystack-skin="night-city"] #composer-header{color:var(--skin-ink);border-radius:12px 2px 0 0;background:var(--city-enamel);background-image:linear-gradient(90deg,color-mix(in srgb,var(--skin-accent) 9%,transparent),transparent 50%,color-mix(in srgb,var(--city-pink) 9%,transparent));min-height:40px;padding:7px 10px;gap:8px}
html[data-fairystack-skin="night-city"] #composer{box-shadow:none;border-top:1px solid var(--skin-line)}
@media(max-width:620px){html[data-fairystack-skin="night-city"] #messages{padding:16px 4px 0}html[data-fairystack-skin="night-city"] #composer-dock{width:calc(100% - 12px)}}

/* Tokyo Neon details: layered sign enamel, bright inlays, and warm highlights. */
html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]){--city-gold:#ffd879;--city-lime:#d7ff69;--city-violet:#c6a0ff;--city-orange:#ffac72;--city-enamel:#233653}
html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"])[data-skin-mode="light"]{--city-gold:#785200;--city-lime:#466300;--city-violet:#7540a4;--city-orange:#9a4200;--city-enamel:#dceaf4}
html[data-fairystack-skin="night-city"] body.conversation-visible .message{padding:20px 22px;border-radius:14px 4px 14px 4px;background-image:linear-gradient(90deg,var(--city-lime),var(--city-gold) 45%,var(--city-orange));background-size:100% 3px;background-repeat:no-repeat;box-shadow:inset 0 0 0 3px var(--skin-panel),0 6px 20px #05081840}
html[data-fairystack-skin="night-city"] body.conversation-visible .message.assistant{border-color:var(--skin-accent);border-left-width:1px;box-shadow:inset 3px 0 var(--skin-accent),0 3px 18px color-mix(in srgb,var(--skin-accent) 13%,transparent)}
html[data-fairystack-skin="night-city"] body.conversation-visible .message.user{border-right-width:1px;border-radius:4px 14px 4px 14px;background-image:linear-gradient(90deg,var(--city-pink),var(--city-gold));background-size:100% 3px;background-repeat:no-repeat;box-shadow:inset -3px 0 var(--city-pink),0 3px 18px color-mix(in srgb,var(--city-pink) 15%,transparent)}
html[data-fairystack-skin="night-city"] .message.assistant article :is(pre,blockquote){border:1px solid var(--skin-line);border-left:3px solid var(--city-pink);border-radius:6px;background:var(--skin-page);color:var(--skin-ink)}
html[data-fairystack-skin="night-city"] .message.assistant a{text-decoration-color:var(--city-pink);text-underline-offset:4px}
html[data-fairystack-skin="night-city"] #session-tab-list .session-tab{border-radius:8px 8px 0 0;border:1px solid var(--skin-line);border-bottom:0;margin-inline:2px;background:var(--skin-panel)}
html[data-fairystack-skin="night-city"] #session-tab-list .session-tab:has([aria-selected="true"]){background:var(--city-enamel);border-color:var(--skin-accent);box-shadow:inset 0 3px var(--city-gold),inset 0 -2px var(--skin-accent),0 -2px 14px color-mix(in srgb,var(--skin-accent) 20%,transparent)}
html[data-fairystack-skin="night-city"] .session-tab-title{font-weight:700;letter-spacing:.025em}
html[data-fairystack-skin="night-city"] .session-tab-close{color:var(--skin-accent)}
html[data-fairystack-skin="night-city"] #composer-frame{border-radius:16px 4px 16px 4px;border:1px solid var(--skin-accent);border-top:3px solid var(--city-gold);box-shadow:0 -3px 0 color-mix(in srgb,var(--city-gold) 25%,transparent),0 5px 28px #080c3070}
html[data-fairystack-skin="night-city"] #composer textarea{padding:18px 20px;line-height:1.6;caret-color:var(--city-pink)}
html[data-fairystack-skin="night-city"] .composer-actions{border-top:1px solid var(--skin-line);background:var(--skin-raised);padding:8px;gap:7px}
html[data-fairystack-skin="night-city"] .composer-actions button{border:1px solid var(--skin-line);border-radius:7px 2px 7px 2px;background:var(--skin-panel);color:var(--skin-ink);box-shadow:inset 0 1px color-mix(in srgb,var(--skin-ink) 12%,transparent);min-height:32px}
html[data-fairystack-skin="night-city"] button:not(:disabled):hover{outline:1px solid var(--skin-accent);outline-offset:2px}
:host(:is([data-skin="night-city"],[data-skin-family="spectrum"])) #app-header-nav{border-top:2px solid var(--skin-accent);background:var(--skin-page);box-shadow:0 -3px 18px color-mix(in srgb,var(--skin-accent) 14%,transparent)}
:host(:is([data-skin="night-city"],[data-skin-family="spectrum"])) :is(.ah-link,#subsystem-toggle){border:1px solid var(--skin-accent);border-radius:7px 2px 7px 2px;color:var(--skin-accent);background:var(--skin-panel);box-shadow:inset 0 -2px color-mix(in srgb,var(--skin-accent) 20%,transparent)}
:host(:is([data-skin="night-city"],[data-skin-family="spectrum"])) :is(.ah-link,#subsystem-toggle):nth-child(4n+1){color:var(--city-gold);border-color:var(--city-gold)}
:host(:is([data-skin="night-city"],[data-skin-family="spectrum"])) :is(.ah-link,#subsystem-toggle):nth-child(4n+2){color:var(--city-lime);border-color:var(--city-lime)}
:host(:is([data-skin="night-city"],[data-skin-family="spectrum"])) :is(.ah-link,#subsystem-toggle):nth-child(4n+3){color:var(--city-violet);border-color:var(--city-violet)}
:host(:is([data-skin="night-city"],[data-skin-family="spectrum"])) :is(.ah-link,#subsystem-toggle):nth-child(4n){color:var(--city-orange);border-color:var(--city-orange)}
:host(:is([data-skin="night-city"],[data-skin-family="spectrum"])) .ah-link:is(:hover,:focus-visible,[aria-current="page"]){background:var(--skin-selected);box-shadow:0 0 12px color-mix(in srgb,var(--skin-accent) 25%,transparent)}
@media(max-width:620px){html[data-fairystack-skin="night-city"] body.conversation-visible .message{padding:16px 14px}html[data-fairystack-skin="night-city"] .composer-actions{padding:5px;gap:5px}html[data-fairystack-skin="night-city"] #composer textarea{padding:14px}}

/* Corpo / Cyberpsycho: terminal type, dense rows, black/blue/pink/lime; the girlies panel shows the stack's own uploaded photos. */
html[data-fairystack-skin="corpo"]{--corpo-blue:#4aa8ff;--corpo-lime:#c8ff2e}
html[data-fairystack-skin="corpo"][data-skin-mode="light"]{--corpo-blue:#0a58c2;--corpo-lime:#3d5c00}
html[data-fairystack-skin="corpo"] body{--danger:#ff5f7a;font-size:13px;line-height:1.4}
html[data-fairystack-skin="corpo"] body *{font-family:var(--skin-font)!important}
html[data-fairystack-skin="corpo"] body.conversation-visible::before{background:repeating-linear-gradient(0deg,transparent 0 2px,color-mix(in srgb,var(--corpo-blue) 5%,transparent) 2px 3px);opacity:1}
html[data-fairystack-skin="corpo"] body.conversation-visible .message{border:1px solid var(--skin-line);padding:8px 10px;font-size:13px}
html[data-fairystack-skin="corpo"] body.conversation-visible .message.user{border-left:2px solid var(--skin-accent)}
html[data-fairystack-skin="corpo"] .message.assistant article{font-size:13px;line-height:1.45;text-shadow:0 0 6px color-mix(in srgb,var(--corpo-blue) 28%,transparent)}
html[data-fairystack-skin="corpo"] .message.assistant article :is(h1,h2,h3){color:var(--corpo-blue);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
html[data-fairystack-skin="corpo"] .message.assistant article :is(h1,h2,h3)::before{content:'## ';color:var(--skin-accent)}
html[data-fairystack-skin="corpo"] .message.assistant a{color:var(--corpo-blue)}
html[data-fairystack-skin="corpo"] .message.assistant article :is(pre,code,blockquote){background:var(--skin-raised);color:var(--corpo-lime);border-color:var(--skin-line)}
html[data-fairystack-skin="corpo"] :is(#composer-header,#composer-frame,.composer-actions){background:var(--skin-panel);color:var(--skin-ink);border-color:var(--skin-line);box-shadow:none}
html[data-fairystack-skin="corpo"] #composer{box-shadow:0 -1px 0 var(--skin-accent)}
html[data-fairystack-skin="corpo"] #context-bar{stroke:var(--corpo-lime)}
html[data-fairystack-skin="corpo"] .session-tab{--promise-white:var(--skin-page);--promise-green:#123e5c;border-color:var(--skin-line);box-shadow:none}
html[data-fairystack-skin="corpo"] .session-tab:has([aria-selected="true"]){border-left:2px solid var(--corpo-lime)}
html[data-fairystack-skin="corpo"] #composer .composer-actions #clear-composer{background:transparent;color:var(--skin-ink);border-color:var(--skin-line)}
html[data-fairystack-skin="corpo"] #composer .composer-actions #stop-response{background:var(--skin-accent);color:#030409;border-color:var(--skin-accent)}

/* Monochrome: paper and ink, without atmospheric plates or colored chrome. */
html[data-fairystack-skin^="monochrome"] body{--danger:var(--skin-ink)}
html[data-fairystack-skin] body::after,html[data-fairystack-skin] .gate::before,html[data-fairystack-skin] .gate>#inline-login::after,html[data-fairystack-skin^="monochrome"] body.conversation-visible::before{display:none}
html[data-fairystack-skin^="monochrome"] :is(#composer-header,#composer-frame,.composer-actions){background:var(--skin-panel);color:var(--skin-ink);border-color:var(--skin-line);box-shadow:none}
html[data-fairystack-skin^="monochrome"] #context-bar{stroke:var(--skin-ink)}
html[data-fairystack-skin^="monochrome"] #composer{box-shadow:none}
html[data-fairystack-skin^="monochrome"] .composer-actions{border-top:1px solid var(--skin-line);padding:6px 8px}
html[data-fairystack-skin^="monochrome"] .message.assistant a{text-decoration:underline;text-underline-offset:3px}
html[data-fairystack-skin^="monochrome"] .message.assistant article :is(pre,code,blockquote),html[data-fairystack-skin^="monochrome"] .turn-profile-host>.turn-profile,html:is([data-fairystack-skin="anime-dusk"],[data-skin-family="spectrum"]) :is(#composer-header,.composer-actions){background:var(--skin-raised);color:var(--skin-ink);border-color:var(--skin-line)}
html[data-fairystack-skin^="monochrome"] :is(.session-tab-favicon,#current-app-icon),:host([data-skin="monochrome"]) :is(.ah-link,#subsystem-toggle){filter:grayscale(1)}
:where(html[data-fairystack-skin^="monochrome"]) :is(#current-app,#composer-model,#voice-feed,#clear-composer,#composer-options-open,#context-meter,#context-track),html[data-fairystack-skin^="monochrome"] .session-tab,:host(:is([data-skin="anime-dusk"],[data-skin-family="spectrum"])) #platform-menu-toggle{background:var(--skin-panel);color:var(--skin-ink);border-color:var(--skin-line)}
html[data-fairystack-skin^="monochrome"] .session-tab:has([aria-selected="true"]){background:var(--skin-selected);border-top:2px solid var(--skin-ink)}
:host([data-skin="monochrome"]) #platform-menu-toggle{background:var(--skin-panel);color:var(--skin-ink);border-color:var(--skin-line);filter:grayscale(1)}

/* Anime and Spectrum share readable controls; their scenery and geometry differ. */
:where(html:is([data-fairystack-skin="anime-dusk"],[data-skin-family="spectrum"])) :is(#current-app,#composer-model,#voice-feed,#clear-composer,#composer-options-open),:host([data-skin="ghost-shell"]) #platform-menu-toggle{background:var(--skin-panel);color:var(--skin-accent);border-color:var(--skin-line)}
html:is([data-fairystack-skin="anime-dusk"],[data-skin-family="spectrum"]) .composer-actions{padding:7px 10px;border-top:1px solid var(--skin-line)}
html:is([data-fairystack-skin="anime-dusk"],[data-skin-family="spectrum"]) .message.assistant article :is(pre,code,blockquote),html:is([data-fairystack-skin="anime-dusk"],[data-skin-family="spectrum"]) .turn-profile-host>.turn-profile{background:var(--skin-raised);color:var(--skin-ink);border-color:var(--skin-line)}
html[data-fairystack-skin="anime-dusk"] body.conversation-visible::before{background:linear-gradient(90deg,#11152b70,transparent 75%),url('/assets/skin-anime-dusk.webp') right center/cover no-repeat;opacity:.85}
html[data-fairystack-skin="anime-dusk"][data-skin-mode="light"] body.conversation-visible::before{opacity:.55}
html[data-fairystack-skin="anime-dusk"] body.conversation-visible .message{border:2px solid var(--skin-line);box-shadow:4px 4px 0 var(--skin-page)}
html[data-fairystack-skin="anime-dusk"] body.conversation-visible .message.user{border-left:5px solid var(--skin-accent);border-radius:4px 16px 4px 16px}
html[data-fairystack-skin="anime-dusk"] #composer{border:2px solid var(--skin-accent);box-shadow:5px 5px 0 var(--skin-page)}
html[data-fairystack-skin="anime-dusk"] #session-tabs{border-bottom:3px solid var(--skin-accent)}
html[data-fairystack-skin="anime-dusk"] .session-tab:has([aria-selected="true"]){box-shadow:inset 0 3px var(--skin-accent)}
html[data-fairystack-skin="anime-dusk"] .session-tab-title{font-weight:750}
html[data-skin-family="spectrum"] #composer-header :is(#current-app,#composer-model){background:transparent;color:var(--skin-ink)}
html[data-skin-family="spectrum"]{--spectrum:linear-gradient(100deg,#ff809d,#ffba72,#f5e780,#89deb3,#85cfff,#b5a0ff,#ed9fdf);--spectrum-pinstripe:#9dc4ff0c;--rainbow-ink:linear-gradient(100deg,#ff929e,#ffc080,#ffe799,#99e5b8,#97d5ff,#d4afff,#fface1);--console-inline-gutter:max(16px,env(safe-area-inset-left),env(safe-area-inset-right))}
html[data-skin-family="spectrum"][data-skin-mode="light"]{--spectrum-pinstripe:#34507514;--rainbow-ink:linear-gradient(100deg,#a0253d,#874600,#6c5400,#16623b,#225e90,#64328f,#8d306e)}
html[data-skin-family="spectrum"] body.conversation-visible::before{background:repeating-linear-gradient(115deg,transparent 0 38px,var(--spectrum-pinstripe) 39px 40px),radial-gradient(ellipse at 0 15%,#ef619d30,transparent 45%),radial-gradient(ellipse at 95% 35%,#65bcff30,transparent 45%),radial-gradient(ellipse at 55% 100%,#a5dc8230,transparent 45%);opacity:1}
/* The default reading canvas stays neutral beneath expressive message accents. */
html[data-fairystack-skin="spectrum"][data-skin-mode="dark"] body.conversation-visible::before{background:none}
html[data-skin-family="spectrum"] #session-tabs{border-bottom:3px solid transparent;border-image:var(--spectrum) 1}
html[data-skin-family="spectrum"] body.conversation-visible #composer-frame{border:2px solid transparent;background:linear-gradient(var(--skin-panel),var(--skin-panel)) padding-box,var(--spectrum) border-box;box-shadow:0 0 26px #b5a0ff20}
html[data-skin-family="spectrum"] #composer-frame #composer{border:0;border-top:1px solid var(--skin-line);border-radius:0;background:var(--skin-panel);box-shadow:none}
html[data-skin-family="spectrum"] body.conversation-visible .message.assistant{border:1.5px solid transparent;background:linear-gradient(var(--skin-panel),var(--skin-panel)) padding-box,var(--spectrum) border-box var(--skin-panel);color:var(--skin-ink)}
html[data-skin-family="spectrum"] body.conversation-visible .message,html[data-skin-family="spectrum"] body.conversation-visible .message.user{border:1px solid var(--skin-line);border-radius:18px}
html[data-skin-family="spectrum"] .session-tab:has([aria-selected="true"]){background:var(--skin-selected);box-shadow:inset 0 3px var(--skin-accent)}
:host([data-skin-family="spectrum"]) #app-header-nav{border-top:3px solid transparent;border-image:var(--spectrum) 1}
:host([data-skin="anime-dusk"]) #app-header-nav{border-top:2px solid var(--skin-accent)}
@media(max-width:620px){html:is([data-fairystack-skin="anime-dusk"],[data-skin-family="spectrum"]) .composer-actions{padding:5px;gap:5px}html[data-fairystack-skin="anime-dusk"] body.conversation-visible::before{background-position:72% center}}
@media(prefers-reduced-motion:reduce){.night-creatures *{animation:none!important}.night-bat{transform:none!important}}

/* Rainbow affects prose only; the panel, selection, links, and code stay legible. */
@supports(background-clip:text){
 html[data-skin-family="spectrum"]:where([data-skin-prose="rainbow"]) .message.assistant article :is(p,li,h1,h2,h3){background-image:var(--rainbow-ink);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:var(--skin-ink)}
 /* Positioned inline chips (the local-time <time>) paint in their own layer,
    so WebKit leaves them outside the clipped gradient and fully transparent. */
 html[data-skin-family="spectrum"]:where([data-skin-prose="rainbow"]) .message.assistant article :is(a,code,time){-webkit-text-fill-color:var(--skin-ink)}
 html[data-skin-family="spectrum"] .message.assistant article ::selection{-webkit-text-fill-color:var(--skin-button-ink);background:var(--skin-button);color:var(--skin-button-ink)}
}
@media(forced-colors:active){html[data-skin-family="spectrum"] .message.assistant article :is(p,li,h1,h2,h3,a,code,time){background-image:none;-webkit-text-fill-color:CanvasText;color:CanvasText}}
@media print{html[data-skin-family="spectrum"] .message.assistant article :is(p,li,h1,h2,h3,a,code,time){background-image:none;-webkit-text-fill-color:#000;color:#000}}

/* Locally hosted expressive type and rainbow reading voice. */
@font-face{font-family:'Bricolage Grotesque';src:url('/assets/fonts/bricolage-grotesque.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
html[data-skin-family="spectrum"] .message.assistant article{max-width:68ch;font-family:var(--agent-message-font);font-size:16px;line-height:1.8}

/* Ghost in the Shell: a quiet cybernetic reading surface, no invented telemetry. */
html[data-fairystack-skin="ghost-shell"]{--ghost-cyan:#9bddff}
html[data-fairystack-skin="ghost-shell"][data-skin-mode="light"]{--ghost-cyan:#245d7d}
html[data-fairystack-skin="ghost-shell"] body.conversation-visible::before{background:repeating-linear-gradient(0deg,transparent 0 3px,color-mix(in srgb,var(--skin-accent) 5%,transparent) 3px 4px),radial-gradient(ellipse at 80% 20%,color-mix(in srgb,var(--skin-accent) 7%,transparent),transparent 60%);opacity:1}
html[data-fairystack-skin="ghost-shell"] #messages{padding:24px 18px 0;max-width:1320px;margin-inline:auto;width:100%}
html[data-fairystack-skin="ghost-shell"] body.conversation-visible .message.assistant{border:1px solid var(--skin-line);border-left:3px solid var(--skin-accent);border-radius:0 12px 0 0;box-shadow:-5px 0 0 color-mix(in srgb,var(--skin-accent) 12%,transparent)}
html[data-fairystack-skin="ghost-shell"] .message.assistant article{font:400 16px/1.75 ui-monospace,monospace;max-width:70ch;letter-spacing:-.015em}
html[data-fairystack-skin="ghost-shell"] .message.assistant article>p:first-child{font:600 26px/1.35 'Bricolage Grotesque',system-ui,sans-serif;color:var(--skin-accent);letter-spacing:-.025em}
html[data-fairystack-skin="ghost-shell"] .message.assistant article strong{color:var(--ghost-cyan);font-weight:750}
html[data-fairystack-skin="ghost-shell"] .message.assistant a{color:var(--ghost-cyan);text-underline-offset:4px}
html[data-fairystack-skin="ghost-shell"] body.conversation-visible .message.user{border-left:0;border-right:3px solid var(--ghost-cyan);background:var(--skin-selected);color:var(--skin-ink);border-radius:12px 0 0 0}
html[data-fairystack-skin="ghost-shell"] #session-tabs{border-bottom:1px solid var(--skin-accent);box-shadow:0 3px 0 color-mix(in srgb,var(--skin-accent) 12%,transparent)}
html[data-fairystack-skin="ghost-shell"] .session-tab:has([aria-selected="true"]){box-shadow:inset 0 3px var(--skin-accent);border-radius:0;background:var(--skin-selected)}
html[data-fairystack-skin="ghost-shell"] .session-tab-title{letter-spacing:.04em}
html[data-fairystack-skin="ghost-shell"] #composer{border:1px solid var(--skin-accent);border-radius:0 0 12px 0;box-shadow:0 -4px 0 color-mix(in srgb,var(--skin-accent) 16%,transparent)}
html[data-fairystack-skin="ghost-shell"] .message.assistant article :is(pre,code,blockquote),html[data-fairystack-skin="ghost-shell"] :is(#composer-header,.composer-actions){background:var(--skin-raised);color:var(--skin-ink);border-color:var(--skin-line)}
:where(html[data-fairystack-skin="ghost-shell"]) :is(#current-app,#composer-model,#voice-feed,#clear-composer,#composer-options-open){background:var(--skin-panel);color:var(--ghost-cyan);border-color:var(--skin-line)}
html[data-fairystack-skin="ghost-shell"] #composer textarea{font:16px/1.65 ui-monospace,monospace;caret-color:var(--skin-accent)}
html[data-fairystack-skin="ghost-shell"] .composer-actions{padding:7px 9px;border-top:1px solid var(--skin-line)}
html[data-fairystack-skin="ghost-shell"] #send{font-weight:800;letter-spacing:.08em;text-transform:uppercase}
html[data-fairystack-skin="ghost-shell"] #context-bar{stroke:var(--ghost-cyan)}
html[data-fairystack-skin="ghost-shell"] .turn-profile-host>.turn-profile{background:var(--skin-raised);color:var(--skin-muted);border-color:var(--skin-line)}
:host([data-skin="ghost-shell"]) #app-header-nav{border-top:1px solid var(--skin-accent);box-shadow:0 -3px 0 color-mix(in srgb,var(--skin-accent) 12%,transparent)}
@media(max-width:620px){html[data-fairystack-skin="ghost-shell"] #messages{padding:16px 5px 0}html[data-fairystack-skin="ghost-shell"] .message.assistant article{font-size:15px}html[data-fairystack-skin="ghost-shell"] .message.assistant article>p:first-child{font-size:23px}html[data-fairystack-skin="ghost-shell"] .composer-actions{padding:5px;gap:5px}}

/* Shared Tokyo accents; keep the rainbow direction’s square monochrome geometry. */
html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]) body.conversation-visible #send{font:700 13px ui-monospace,monospace;letter-spacing:.06em;border:1px solid var(--skin-accent);border-bottom:3px solid color-mix(in srgb,var(--skin-button) 65%,#000);border-radius:7px 2px 7px 2px;padding-inline:24px;font-weight:800;box-shadow:0 0 18px color-mix(in srgb,var(--skin-accent) 28%,transparent)}
html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]) :is(#current-app,#composer-model){border:1px solid var(--skin-line);border-radius:4px;padding:3px 7px;background:var(--skin-panel);color:var(--skin-ink)}
html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]) #current-app,html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]) #context-track,html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]) #composer-options-open{border-color:var(--city-gold);color:var(--city-gold)}
html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]) #composer-model,:where(html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"])) #voice-feed{border-color:var(--city-violet);color:var(--city-violet)}
html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]) body.conversation-visible #enqueue{border-color:var(--city-orange);color:var(--city-orange);box-shadow:inset 0 -2px color-mix(in srgb,var(--city-orange) 30%,transparent)}
html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]) body.conversation-visible :is(#send,#enqueue,#voice-feed,button):disabled{background:var(--skin-raised);color:var(--skin-muted);box-shadow:none;opacity:1}
html[data-skin-family="spectrum"] #session-tabs :is(.session-tab,.session-tab>:is(button,a):first-child){border-radius:0}
html[data-skin-family="spectrum"] #composer-frame{border:2px solid transparent;border-radius:4px;background:linear-gradient(var(--skin-panel),var(--skin-panel)) padding-box,var(--spectrum) border-box}
html[data-skin-family="spectrum"] #composer-header{border-radius:0;gap:8px}
html[data-skin-family="spectrum"] #send{letter-spacing:.06em;font-family:ui-monospace,monospace}
@media(max-width:620px){html:is([data-fairystack-skin="night-city"],[data-skin-family="spectrum"]) body.conversation-visible #send{padding-inline:12px}}
html[data-skin-family="spectrum"] #composer-header :is(#session-account,#current-app,#session-speed,#composer-model,#composer-status,#composer-session-reference)::before{content:none}
html[data-skin-family="spectrum"] #composer-header :is(#session-account,#current-app,#session-speed,#composer-model,#composer-status,#composer-session-reference){margin-inline-start:0}
html[data-skin-family="spectrum"]:where([data-skin-prose="rainbow"]) .message.assistant article.message-decoration :is(p,li,h1,h2,h3){background-image:var(--rainbow-ink);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
html[data-skin-family="spectrum"] .message.assistant article .text-run{-webkit-text-fill-color:currentColor}
@media(forced-colors:active){html[data-skin-family="spectrum"] .message.assistant article.message-decoration :is(p,li,h1,h2,h3){background-image:none;-webkit-text-fill-color:CanvasText}}
@media print{html[data-skin-family="spectrum"] .message.assistant article.message-decoration :is(p,li,h1,h2,h3){background-image:none;-webkit-text-fill-color:#000}}

/* Every workshop surface shares the explicit appearance, not the OS palette.
   Local component aliases must be rebound here: inherited body tokens cannot
   override a component's own legacy light palette. */
html[data-fairystack-skin][data-skin-mode="dark"]{--skin-good:#90ddb0;--skin-good-bg:#173727;--skin-warn:#f1d28c;--skin-warn-bg:#3c3018;--skin-bad:#ffb3be;--skin-bad-bg:#421e28}
html[data-fairystack-skin][data-skin-mode="light"]{--skin-good:#17633b;--skin-good-bg:#def1e4;--skin-warn:#74500b;--skin-warn-bg:#fff0c9;--skin-bad:#922b40;--skin-bad-bg:#fbe3e8}
html[data-fairystack-skin] #surface-view[data-surface]{--page:var(--skin-page);--surface:var(--skin-panel);--surface-alt:var(--skin-raised);--ink:var(--skin-ink);--muted:var(--skin-muted);--line:var(--skin-line);--accent:var(--skin-accent);--danger:var(--skin-bad);--good:var(--skin-good);--good-bg:var(--skin-good-bg);--warn:var(--skin-warn);--warn-bg:var(--skin-warn-bg);--bad:var(--skin-bad);--bad-bg:var(--skin-bad-bg);color:var(--skin-ink);background:var(--skin-panel)}
html[data-fairystack-skin] #surface-view:is([data-surface="studio"],[data-surface="expressive"]){background:transparent}
html[data-fairystack-skin] #surface-view[data-surface="apps"] :is(.app,.app-favicon,.app-fallback,.app-actions,.instances,.instances a){border-color:var(--skin-line);border-radius:var(--skin-radius);box-shadow:none}
:host([data-skinned]) .platform-user,html[data-fairystack-skin] #surface-view[data-surface="apps"] .app{background:var(--skin-panel);color:var(--skin-ink)}
html[data-fairystack-skin] #surface-view[data-surface="apps"] :is(.app-actions,.instances,.instances a,.app-favicon){background:var(--skin-raised);color:var(--skin-ink)}
html[data-fairystack-skin] #surface-view[data-surface="apps"] :is(.app-name,.instances a){color:var(--skin-accent)}
html[data-fairystack-skin] #surface-view[data-surface="apps"] :is(.app-fallback,.app-actions button,.app-actions .open-app){background:var(--skin-button);color:var(--skin-button-ink);border-color:var(--skin-line);border-radius:var(--skin-radius)}
html[data-fairystack-skin] #surface-view[data-surface="apps"] .app-actions button:disabled{background:var(--skin-raised);color:var(--skin-muted);border-color:var(--skin-line);opacity:1}
html[data-fairystack-skin] #surface-view[data-surface="apps"] :is(input,select,.directory,.app-actions button,.app-actions .open-app):focus-visible{outline:2px solid var(--skin-accent);outline-offset:2px}
html[data-fairystack-skin] #surface-view[data-surface="backups"] :is(.backup-instrument,.history,.flow-node,.stage-detail,.recovery-run){border-radius:var(--skin-radius)}
html[data-fairystack-skin] .onboarding-workbench{--ob-bg:var(--skin-panel);--ob-ink:var(--skin-ink);--ob-muted:var(--skin-muted);--ob-line:var(--skin-line);--ob-accent:var(--skin-accent);--ob-selected:var(--skin-selected);--ob-danger:var(--skin-bad);--ob-warning:var(--skin-warn);border-radius:var(--skin-radius)}
html[data-fairystack-skin] .customer-activity{--usage-bg:var(--skin-panel);--usage-ink:var(--skin-ink);--usage-muted:var(--skin-muted);--usage-line:var(--skin-line);--usage-selected:var(--skin-selected)}
html[data-fairystack-skin] :is(.architecture-model-mount,.architecture-model){--architecture-page:var(--skin-page);--architecture-surface:var(--skin-panel);--architecture-alt:var(--skin-raised);--architecture-ink:var(--skin-ink);--architecture-muted:var(--skin-muted);--architecture-line:var(--skin-line);--architecture-added:var(--skin-good);--architecture-added-fill:var(--skin-good-bg);--architecture-changed:var(--skin-warn);--architecture-changed-fill:var(--skin-warn-bg)}
html[data-fairystack-skin] #surface-view[data-surface="apps"] .app-actions .delete-app,html[data-fairystack-skin] .architecture-model-failure{background:var(--skin-panel);color:var(--skin-bad);border-color:var(--skin-bad)}
html[data-fairystack-skin] #surface-view[data-surface="feature-ledger"] .ledger .loc-count{border-color:color-mix(in srgb,var(--skin-bad) var(--loc-heat),var(--skin-line));background:color-mix(in srgb,var(--skin-bad-bg) var(--loc-heat),var(--skin-panel));color:var(--skin-ink)}

/* The recorded-submission dialog pins its own palette; under a skin it wears the skin's. */
html[data-fairystack-skin] #runtime-instructions{--page:var(--skin-page);--surface:var(--skin-panel);--ink:var(--skin-ink);--muted:var(--skin-muted);--line:var(--skin-line);--divider:var(--skin-line);--accent:var(--skin-accent)}
html[data-fairystack-skin] #runtime-instructions .instructions-view{--json-surface:var(--skin-raised)}

/* Five Spectrum mutations. Shared neon controls, reading voice and bat behavior stay
   in the family above; each mutation changes the material, silhouette and light. */
html[data-fairystack-skin="ink"]{--spectrum:linear-gradient(125deg,#4e647b 0%,#d3f4ff 12%,#a79adb 24%,#faf4e5 29%,#5e667e 33%,#bbd9ef 45%,#dda9b3 63%,#fff1ce 67%,#5f728a 72%,#bddfff 90%,#8972b4);--city-gold:#e5c195;--city-lime:#b3edda;--city-violet:#c8b3ff;--city-orange:#ffc0c6}
html[data-fairystack-skin="ink"][data-skin-mode="light"]{--city-gold:#765324;--city-lime:#256148;--city-violet:#6d438c;--city-orange:#974456}
html[data-fairystack-skin="ink"] body.conversation-visible::before{background:repeating-linear-gradient(115deg,transparent 0 38px,#9dc4ff0c 39px 40px),radial-gradient(ellipse at 0 20%,#bf8ee53b,transparent 48%),radial-gradient(ellipse at 100% 80%,#7adbe63b,transparent 46%)}
html[data-fairystack-skin="ink"] body.conversation-visible #composer-frame{border:5px solid transparent;border-radius:32px 8px 32px 8px;box-shadow:inset 0 0 0 2px var(--skin-panel),inset 0 0 0 3px color-mix(in srgb,var(--skin-accent) 38%,transparent),0 5px 0 color-mix(in srgb,var(--skin-line) 55%,var(--skin-page)),0 10px 22px #0003}
html[data-fairystack-skin="ink"] .session-tab:has([aria-selected="true"]){border-radius:16px 16px 0 0;box-shadow:inset 0 3px var(--skin-accent),inset 0 5px var(--skin-panel),inset 0 6px var(--city-violet)}
html[data-fairystack-skin="ink"] #composer-header{border-radius:24px 2px 0 0;background-image:repeating-linear-gradient(115deg,transparent 0 22px,color-mix(in srgb,var(--skin-accent) 8%,transparent) 23px 24px)}
html[data-fairystack-skin="ink"] .composer-actions{border-radius:0 0 28px 4px}

/* Port 00: nautical instrument glass, chart circles and colored signal lamps. */
html[data-fairystack-skin="paper"]{--spectrum:linear-gradient(105deg,#87eddc,#70d9fa 22%,#fdc96e 24%,#fbc989 49%,#ff929e 51%,#a9c6ff 72%,#87eddc);--city-gold:#ffe199;--city-lime:#9ce8c0;--city-violet:#b8beff;--city-orange:#ffb6a0}
html[data-fairystack-skin="paper"][data-skin-mode="light"]{--city-gold:#785200;--city-lime:#246449;--city-violet:#514895;--city-orange:#99401e}
html[data-fairystack-skin="paper"] body.conversation-visible::before{background:repeating-radial-gradient(circle at 96% 4%,transparent 0 59px,#83ead817 60px 61px,transparent 62px 119px),linear-gradient(90deg,#64e8dd0b 1px,transparent 1px),linear-gradient(#64e8dd0b 1px,transparent 1px);background-size:auto,48px 48px,48px 48px}
html[data-fairystack-skin="paper"] body.conversation-visible #composer-frame{border-radius:24px 24px 6px 6px;box-shadow:0 -5px 0 color-mix(in srgb,var(--city-gold) 28%,transparent),0 0 28px #78e3df25}
html[data-fairystack-skin="paper"] #composer-header{border-radius:20px 20px 0 0}
html[data-fairystack-skin="paper"] .session-tab:has([aria-selected="true"]){box-shadow:inset 0 3px var(--city-gold),inset 0 -2px var(--skin-accent)}
html[data-fairystack-skin="paper"] :is(.session-tab-title,#composer-model){letter-spacing:.035em}

/* Low Orbit: ultraviolet eclipse rings, long shadows and ember-colored hardware. */
html[data-fairystack-skin="prism"]{--spectrum:linear-gradient(115deg,#a990ff,#e3b5ff 22%,#ffb2be 42%,#ffb874 52%,#f5ce98 56%,#ba9cff 72%,#86d8dc);--city-gold:#efc18b;--city-lime:#b7d2a4;--city-violet:#e1b6ff;--city-orange:#ffb2b2}
html[data-fairystack-skin="prism"][data-skin-mode="light"]{--city-gold:#785020;--city-lime:#4a6334;--city-violet:#754091;--city-orange:#963e55}
html[data-fairystack-skin="prism"] body.conversation-visible::before{background:radial-gradient(ellipse at 85% 20%,transparent 0 23%,#c393e832 23.2% 23.7%,transparent 24% 27%,#e491b420 27.2% 27.5%,transparent 28%),radial-gradient(ellipse at 85% 20%,#a477d126,transparent 54%),radial-gradient(ellipse at 0 100%,#ff8d862a,transparent 55%)}
html[data-fairystack-skin="prism"] body.conversation-visible #composer-frame{border-radius:30px 30px 8px 8px;box-shadow:0 -2px 20px #dd92ff3a,0 -8px 0 color-mix(in srgb,var(--skin-accent) 12%,transparent)}
html[data-fairystack-skin="prism"] #composer-header{border-radius:26px 26px 0 0}
html[data-fairystack-skin="prism"] .session-tab:has([aria-selected="true"]){border-radius:22px 22px 0 0;box-shadow:inset 0 2px var(--city-orange)}

/* Acid Relic: a radioactive game cartridge with violet seams and punched corners. */
html[data-fairystack-skin="spectrum-acid"]{--spectrum:linear-gradient(90deg,#d7ff69 0 23%,#b2a0ff 23% 42%,#ffa6ce 42% 58%,#78e8cb 58% 76%,#d7ff69 76%);--city-gold:#e5f88a;--city-lime:#d7ff69;--city-violet:#c3abff;--city-orange:#ffa6ce}
html[data-fairystack-skin="spectrum-acid"][data-skin-mode="light"]{--city-gold:#676000;--city-lime:#4e650b;--city-violet:#633b95;--city-orange:#983264}
html[data-fairystack-skin="spectrum-acid"] body.conversation-visible::before{background:conic-gradient(from 90deg,#b7ee5d10 25%,transparent 0 50%,#b7ee5d10 0 75%,transparent 0) 0 0/32px 32px,radial-gradient(ellipse at 100% 0,#ae77ff30,transparent 60%)}
html[data-fairystack-skin="spectrum-acid"] body.conversation-visible #composer-frame{border-width:3px;border-radius:2px 20px 2px 2px;box-shadow:4px 4px 0 var(--city-violet),7px 7px 0 var(--skin-page)}
html[data-fairystack-skin="spectrum-acid"] :is(.session-tab-title,#composer-model){font-family:ui-monospace,monospace;font-weight:750;letter-spacing:.04em}
html[data-fairystack-skin="spectrum-acid"] .session-tab:has([aria-selected="true"]){box-shadow:inset 0 3px var(--city-lime),inset -3px 0 var(--city-violet)}
html[data-fairystack-skin="spectrum-acid"] body.conversation-visible #send{border-radius:2px;box-shadow:3px 3px 0 var(--city-violet)}

/* Candy Voltage: glowing jelly, asymmetric lozenges and bubblegum/cyan glass. */
html[data-fairystack-skin="spectrum-candy"]{--spectrum:linear-gradient(125deg,#ff95d1,#ffc09c 20%,#fff1a1 35%,#9cf2dd 52%,#99ceff 67%,#d8a5ff 82%,#ff95d1);--city-gold:#ffe3a1;--city-lime:#a6f0d8;--city-violet:#e0b0ff;--city-orange:#ffb6ce}
html[data-fairystack-skin="spectrum-candy"][data-skin-mode="light"]{--city-gold:#78540a;--city-lime:#226b56;--city-violet:#7b3994;--city-orange:#9b3154}
html[data-fairystack-skin="spectrum-candy"] body.conversation-visible::before{background:radial-gradient(circle at 0 16%,#ff85d03b 0 14%,transparent 14.4%),radial-gradient(circle at 95% 70%,#74dbed30 0 19%,transparent 19.4%),radial-gradient(circle at 70% 4%,#d0a0ff28 0 8%,transparent 8.4%)}
html[data-fairystack-skin="spectrum-candy"] body.conversation-visible #composer-frame{border:3px solid transparent;border-radius:36px 12px 36px 12px;box-shadow:inset 0 3px 0 color-mix(in srgb,var(--skin-accent) 20%,transparent),0 6px 0 color-mix(in srgb,var(--city-violet) 35%,var(--skin-page)),0 0 24px #ff83c52a}
html[data-fairystack-skin="spectrum-candy"] #composer-header{border-radius:32px 8px 0 0}
html[data-fairystack-skin="spectrum-candy"] .composer-actions{border-radius:0 0 32px 8px}
html[data-fairystack-skin="spectrum-candy"] .session-tab:has([aria-selected="true"]){border-radius:24px 24px 0 0;box-shadow:inset 0 3px var(--city-lime)}
html[data-fairystack-skin="spectrum-candy"] body.conversation-visible #send{border-radius:999px;box-shadow:inset 0 2px 0 #fff7,0 3px 0 color-mix(in srgb,var(--city-violet) 70%,var(--skin-panel))}
@media(forced-colors:active){html[data-skin-family="spectrum"] body.conversation-visible :is(.message.assistant,#composer-frame){border-color:CanvasText;box-shadow:none}}

/* Borderless mode removes both the outline and its rainbow background layer. */
html[data-skin-family="spectrum"][data-message-borders="none"] body.conversation-visible .message{border:0;box-shadow:none}
html[data-skin-family="spectrum"][data-message-borders="none"] body.conversation-visible .message.assistant{background:var(--skin-panel)}

/* Workspace identity remains visible beside the draft and above desktop sessions. */
/* The server name keeps its own colour under every skin, so a post never lands on the wrong server unnoticed. */
:is(#desktop-instance-name,#mobile-instance-name){min-height:0;margin:0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}
:is(#desktop-instance-name,#mobile-instance-name)::after{content:"▾";margin-inline-start:4px;font-size:.85em}
:is(#desktop-instance-name,#mobile-instance-name):focus-visible{outline:2px solid var(--accent,currentColor);outline-offset:2px}
html[data-instance] :is(#desktop-instance-name,#mobile-instance-name){background:var(--instance-accent);color:var(--instance-page);border-radius:4px;font:700 12px/1.4 system-ui,sans-serif;letter-spacing:.03em}
#desktop-instance-name{display:block;flex:0 1 auto;min-width:0;max-width:120px;margin:0;padding:4px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;user-select:text}
html[data-instance] #mobile-instance-name{padding:2px 6px;user-select:text}
@media(max-width:620px){#desktop-instance-name{display:none}}
/* Classic has no skin tokens; give its workshop the same workspace cue. */
html[data-instance]:not([data-fairystack-skin]) body[data-fairystack-shell],html[data-instance]:not([data-fairystack-skin]) body.conversation-visible,html[data-instance]:not([data-fairystack-skin]) #session-tabs{--page:var(--instance-page);--surface:var(--instance-panel);--user-surface:var(--instance-selected);--tab-surface:var(--instance-raised);--tab-selected:var(--instance-selected);--ink:var(--instance-ink);--muted:var(--instance-muted);--line:var(--instance-line);--divider:var(--instance-line);--accent:var(--instance-accent);background:var(--instance-page);color:var(--instance-ink)}
html[data-instance]:not([data-fairystack-skin]) body.conversation-visible::before{background:radial-gradient(ellipse at 80% 0,color-mix(in srgb,var(--instance-accent) 8%,transparent),transparent 60%)}
html[data-instance]:not([data-fairystack-skin]) body.conversation-visible .message{background:var(--instance-panel);color:var(--instance-ink);border-color:var(--instance-line)}
html[data-instance]:not([data-fairystack-skin]) body.conversation-visible .message.user{background:var(--instance-selected)}
html[data-instance]:not([data-fairystack-skin]) body.conversation-visible #composer-dock::after{background:var(--instance-page)}

/* The menu list (phone ☰ and the console composer menu) uses the containing skin's palette without desktop tile accents. */
:host([data-skinned][data-menu-list]){--menu-bg:var(--skin-panel);--menu-ink:var(--skin-ink);--menu-line:var(--skin-line);--menu-active:var(--skin-selected);--menu-muted:var(--skin-muted)}
:host([data-skinned]) #instance-list{--instance-bg:var(--skin-panel);--instance-ink:var(--skin-ink);--instance-line:var(--skin-line);--instance-active:var(--skin-selected);border-radius:var(--skin-radius)}
:host([data-skinned][data-menu-list]) #app-header-nav:popover-open{background:var(--menu-bg);color:var(--menu-ink);border:1px solid var(--menu-line);border-image:none;box-shadow:0 12px 40px #0003}
:host([data-skinned][data-menu-list]) #app-header-nav :is(.ah-link,#subsystem-toggle){border:0;border-radius:10px;box-shadow:none;background:var(--menu-bg);color:var(--menu-ink)}
:host([data-skinned][data-menu-list]) #app-header-nav :is(.ah-link,#subsystem-toggle):is(:hover,:focus-visible,[aria-current="page"]){background:var(--menu-active);color:var(--menu-ink);box-shadow:none}

/* Session options reuse the composer's accent colors, with content-sized controls. */
@media(max-width:620px){
  html[data-fairystack-skin] fairystack-footer>#composer-header{background:var(--skin-panel);color:var(--skin-ink)}
  html[data-fairystack-skin] fairystack-footer>#composer-header>:is(button,#session-speed){--option-ink:var(--skin-accent);background:color-mix(in srgb,var(--option-ink) 9%,var(--skin-panel));color:var(--option-ink);border-color:color-mix(in srgb,var(--option-ink) 65%,var(--skin-line))}
  html[data-fairystack-skin] fairystack-footer>#composer-header>#session-account{--option-ink:var(--city-violet,var(--skin-accent))}
  html[data-fairystack-skin] fairystack-footer>#composer-header>#session-speed,html[data-fairystack-skin] fairystack-footer>#composer-header>#attach-files{--option-ink:var(--city-lime,var(--skin-accent))}
  html[data-fairystack-skin] fairystack-footer>#composer-header>#background-work-trigger{--option-ink:var(--city-gold,var(--skin-accent))}
  html[data-fairystack-skin] fairystack-footer>#composer-header>#clear-composer{--option-ink:var(--city-orange,var(--skin-accent))}
  html[data-fairystack-skin] fairystack-footer>#composer-header>#composer-session-reference{color:var(--skin-muted);background:transparent}
  html[data-fairystack-skin] fairystack-footer>#composer-header #composer-session-id{color:var(--city-violet,var(--skin-muted));background:transparent}
  html[data-fairystack-skin] fairystack-footer>#composer-header #session-speed select{background:transparent;color:inherit;border:0;font:inherit;padding:0}
  html[data-fairystack-skin] fairystack-footer>#composer-header>button:disabled{background:var(--skin-raised);color:var(--skin-muted);border-color:var(--skin-line)}
}

/* Wallpaper under any skin: the account's images, one behind the conversation and one behind the sidebar, each from the images placed there, washed with the skin's page colour for reading.
   Panels keep each skin's own borders and images and only turn their fill translucent. */
html[data-fairystack-skin][data-wallpaper~="main"] body.conversation-visible::before{display:block;inset:0 0 var(--platform-footer-height,0px) var(--session-sidebar,0px);background:linear-gradient(color-mix(in srgb,var(--skin-page) var(--wallpaper-dim),transparent),color-mix(in srgb,var(--skin-page) var(--wallpaper-dim),transparent)),var(--wallpaper-main) var(--wallpaper-main-position)/cover no-repeat;transform:scale(var(--wallpaper-main-zoom));transform-origin:var(--wallpaper-main-position);opacity:1;filter:none}
html[data-fairystack-skin][data-wallpaper~="side"] #session-tabs{background:var(--skin-page)}
html[data-fairystack-skin][data-wallpaper~="side"] #session-tabs::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(color-mix(in srgb,var(--skin-page) var(--wallpaper-dim),transparent),color-mix(in srgb,var(--skin-page) var(--wallpaper-dim),transparent)),var(--wallpaper-side) var(--wallpaper-side-position)/cover no-repeat;transform:scale(var(--wallpaper-side-zoom));transform-origin:var(--wallpaper-side-position);opacity:1}
html[data-fairystack-skin][data-wallpaper~="main"][data-wallpaper-fade~="main"] body.conversation-visible::after{content:"";display:block;position:fixed;inset:0 0 var(--platform-footer-height,0px) var(--session-sidebar,0px);z-index:0;pointer-events:none;background:linear-gradient(color-mix(in srgb,var(--skin-page) var(--wallpaper-dim),transparent),color-mix(in srgb,var(--skin-page) var(--wallpaper-dim),transparent)),var(--wallpaper-main-was) var(--wallpaper-main-was-position)/cover no-repeat;transform:scale(var(--wallpaper-main-was-zoom));transform-origin:var(--wallpaper-main-was-position);animation:wallpaper-fade-out 1.2s ease-in-out forwards}
html[data-fairystack-skin][data-wallpaper~="side"][data-wallpaper-fade~="side"] #session-tabs::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(color-mix(in srgb,var(--skin-page) var(--wallpaper-dim),transparent),color-mix(in srgb,var(--skin-page) var(--wallpaper-dim),transparent)),var(--wallpaper-side-was) var(--wallpaper-side-was-position)/cover no-repeat;transform:scale(var(--wallpaper-side-was-zoom));transform-origin:var(--wallpaper-side-was-position);animation:wallpaper-fade-out 1.2s ease-in-out forwards}
@keyframes wallpaper-fade-out{to{opacity:0}}
html[data-fairystack-skin][data-wallpaper~="main"] body.conversation-visible :is(.message,#session-notes,#session-loading,.turn-profile-host>.turn-profile){background-color:color-mix(in srgb,var(--skin-panel) var(--wallpaper-panel,80%),transparent);backdrop-filter:blur(6px)}
html[data-fairystack-skin][data-wallpaper~="main"] body.conversation-visible .message.user{background-color:color-mix(in srgb,var(--skin-selected) var(--wallpaper-panel,80%),transparent)}
/* Boxes inside a translucent message (disclosures, code, tables, progress) stay translucent too, at half the panel strength so they read as a tint over the message. */
html[data-fairystack-skin][data-wallpaper~="main"] body.conversation-visible .message{--nested-panel:calc(var(--wallpaper-panel,80%) / 2);--surface:color-mix(in srgb,var(--skin-panel) var(--nested-panel),transparent);--page:color-mix(in srgb,var(--skin-page) var(--nested-panel),transparent);--tab-selected:color-mix(in srgb,var(--skin-selected) var(--nested-panel),transparent)}
html[data-fairystack-skin][data-wallpaper~="main"] body.conversation-visible .message article :is(pre,code,blockquote,th){background-color:color-mix(in srgb,var(--skin-raised) var(--nested-panel),transparent)}
html[data-fairystack-skin][data-wallpaper~="side"] #session-tab-list .session-tab:not([data-promise]):not(:has([aria-selected="true"])){--row-bg:color-mix(in srgb,var(--skin-page) var(--wallpaper-panel,80%),transparent)}
