/* Pleiades Companion Studio Phase 2. Original code-native environments; no remote art dependencies. */
:root{--studio-avatar-scale:1.15;--studio-scene-strength:.7;--studio-beat-strength:0}
.companion-studio-open{margin-left:auto;padding:5px 9px!important;border:1px solid color-mix(in srgb,var(--accent,#38bdf8) 62%,transparent)!important;border-radius:999px!important;background:color-mix(in srgb,var(--bg,#071018) 72%,transparent)!important;color:var(--text,#f4f7fb)!important;font:900 9px/1.1 Bahnschrift,Arial,sans-serif!important;letter-spacing:.06em!important;text-transform:uppercase!important;white-space:nowrap;cursor:pointer}
.companion-studio-open:hover{background:color-mix(in srgb,var(--accent,#38bdf8) 22%,var(--bg,#071018))!important;box-shadow:0 0 14px color-mix(in srgb,var(--accent,#38bdf8) 38%,transparent)}
.companion-studio{width:min(780px,calc(100vw - 28px));max-height:min(780px,calc(100vh - 28px));padding:0;border:1px solid #ffffff24;border-radius:18px;background:#0b1018;color:#edf5ff;box-shadow:0 28px 90px #000c;overflow:auto}
.companion-studio::backdrop{background:#02050bd9;backdrop-filter:blur(9px)}
.companion-studio-card{display:grid;gap:0;margin:0;background:linear-gradient(145deg,#121b28,#080c13 58%,#11131b)}
.companion-studio-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid #ffffff16;background:radial-gradient(circle at 13% 0,#00e5ff20,transparent 36%),linear-gradient(100deg,#111c28,#0a0d14)}
.companion-studio-card header p,.companion-studio-card header h2,.companion-studio-card header span{margin:0}.companion-studio-card header p{color:#00e5ff;font:900 10px/1.1 Bahnschrift,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}.companion-studio-card header h2{margin-top:4px;font:900 clamp(24px,4vw,36px)/1 Bahnschrift,Arial,sans-serif;letter-spacing:-.03em}.companion-studio-card header span{display:block;margin-top:7px;color:#a9b8c9;font:800 11px/1.2 Bahnschrift,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase}.companion-studio-card header button{width:38px;height:38px;padding:0;border:1px solid #ffffff28;border-radius:50%;background:#ffffff09;color:#fff;font:300 28px/1 Arial,sans-serif;cursor:pointer}
.studio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px 24px}.studio-grid>label,.studio-grid fieldset{display:grid;align-content:start;gap:7px;min-width:0;margin:0;padding:14px;border:1px solid #ffffff15;border-radius:11px;background:#ffffff06;color:#dce9f6;font:900 11px/1.2 Bahnschrift,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase}.studio-grid label small{min-height:30px;color:#8fa0b2;font:600 10px/1.45 system-ui,sans-serif;letter-spacing:0;text-transform:none}.studio-grid select{width:100%;min-height:40px;padding:8px 34px 8px 10px;border:1px solid #33445b;border-radius:7px;background:#080d14;color:#f4f7fb;font:800 12px/1.2 system-ui,sans-serif}.studio-grid option:disabled{color:#6d7581}.studio-grid fieldset{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.studio-grid fieldset legend{padding:0 5px;color:#00e5ff}.studio-grid fieldset label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #ffffff12;border-radius:7px;background:#05090f;color:#cbd8e5;font:700 11px/1.3 system-ui,sans-serif;letter-spacing:0;text-transform:none}.studio-grid input[type="checkbox"]{width:17px;height:17px;accent-color:#00e5ff}.studio-range{display:grid;grid-template-columns:minmax(0,1fr) 45px;align-items:center;gap:10px;min-height:40px}.studio-range input{width:100%;accent-color:#00e5ff}.studio-range output{color:#00e5ff;text-align:right;font:900 12px/1 Bahnschrift,Arial,sans-serif}.companion-studio-card>footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px 22px;border-top:1px solid #ffffff12}.companion-studio-card>footer button{min-height:40px;padding:9px 14px;border:1px solid #405064;border-radius:8px;background:#111a25;color:#dce8f4;font:900 11px/1 Bahnschrift,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}.companion-studio-card>footer .studio-primary{border-color:#00e5ff;background:linear-gradient(110deg,#007f91,#006373);color:white;box-shadow:0 0 18px #00e5ff2c}

/* Character portability. The native renderer remains the source of every character. */
html[data-companion-character] .interface-companion [data-companion-avatar]{display:none!important}
html[data-companion-character="standard"] .interface-companion [data-companion-avatar="standard"],
html[data-companion-character="neon-grid"] .interface-companion [data-companion-avatar="neon-grid"],
html[data-companion-character="ember-silver"] .interface-companion [data-companion-avatar="ember-silver"],
html[data-companion-character="frost-rune"] .interface-companion [data-companion-avatar="frost-rune"],
html[data-companion-character="classic-quest"] .interface-companion [data-companion-avatar="classic-quest"],
html[data-companion-character="life-mode"] .interface-companion [data-companion-avatar="life-mode"],
html[data-companion-character="vault-108"] .interface-companion [data-companion-avatar="vault-108"],
html[data-companion-character="covert-ops"] .interface-companion [data-companion-avatar="covert-ops"],
html[data-companion-character="carbon-circuit"] .interface-companion [data-companion-avatar="carbon-circuit"]{display:block!important;scale:var(--studio-avatar-scale);transform-origin:center bottom}
html[data-companion-position="left"] .interface-companion .companion-sprites{justify-items:start}
html[data-companion-position="centre"] .interface-companion .companion-sprites{justify-items:center}
html[data-companion-position="right"] .interface-companion .companion-sprites{justify-items:end}

/* Larger camera window: realistic characters remain readable from torso upward. */
html[data-art-mode="realistic"] .interface-companion,html[data-art-mode="cinematic"] .interface-companion{grid-template-columns:minmax(164px,20vw) minmax(0,1fr);min-height:184px;padding-left:7px}
html[data-art-mode="realistic"] .interface-companion .companion-stage,html[data-art-mode="cinematic"] .interface-companion .companion-stage{width:100%!important;height:168px!important;min-height:168px;overflow:hidden}
html[data-art-mode="realistic"] .interface-companion .companion-sprites,html[data-art-mode="cinematic"] .interface-companion .companion-sprites{width:100%;height:158px;place-items:end center}
html[data-art-mode="realistic"] .interface-companion [data-companion-avatar="neon-grid"],html[data-art-mode="cinematic"] .interface-companion [data-companion-avatar="neon-grid"]{width:136px!important;height:166px!important}
html[data-art-mode="realistic"] .interface-companion [data-companion-avatar="covert-ops"],html[data-art-mode="cinematic"] .interface-companion [data-companion-avatar="covert-ops"]{width:158px!important;height:158px!important}
html[data-art-mode="realistic"] .interface-companion [data-companion-avatar="vault-108"],html[data-art-mode="cinematic"] .interface-companion [data-companion-avatar="vault-108"]{width:152px!important;height:150px!important}
html[data-art-mode="realistic"] .interface-companion [data-companion-avatar="carbon-circuit"],html[data-art-mode="cinematic"] .interface-companion [data-companion-avatar="carbon-circuit"]{width:144px!important;height:150px!important}
html[data-art-mode="professional"] .interface-companion{min-height:92px;grid-template-columns:112px minmax(0,1fr);box-shadow:0 8px 22px #0002!important;clip-path:none!important;border-radius:12px!important}
html[data-art-mode="professional"] .interface-companion .companion-stage{width:105px!important;height:82px!important}
html[data-art-mode="professional"] .interface-companion .companion-sprites{width:96px;height:78px}
html[data-art-mode="professional"] .interface-companion .companion-avatar{scale:min(1,var(--studio-avatar-scale))}

/* Code-native environment layer shared by all first-wave themes. */
.studio-environment{position:absolute;z-index:0;inset:3px;display:block;overflow:hidden;border-radius:inherit;pointer-events:none;opacity:calc(.16 + var(--studio-scene-strength)*.72)}
.studio-environment>*{position:absolute;display:block}.studio-city{inset:12% 0 23%;filter:contrast(1.12)}.studio-city i{position:absolute;bottom:0;width:13%;border:1px solid #6ff8ff33;background:linear-gradient(90deg,#07101b,#172b3a 54%,#05080e);box-shadow:inset 3px 0 #00e5ff17,0 0 18px #00e5ff12}.studio-city i::after{content:"";position:absolute;inset:7px 4px;background:repeating-linear-gradient(180deg,#71f8ffb8 0 2px,transparent 2px 7px);opacity:.38}.studio-city i:nth-child(1){left:0;height:42%}.studio-city i:nth-child(2){left:14%;height:78%}.studio-city i:nth-child(3){left:29%;height:55%}.studio-city i:nth-child(4){right:29%;height:86%}.studio-city i:nth-child(5){right:14%;height:48%}.studio-city i:nth-child(6){right:0;height:67%}.studio-road{left:-20%;right:-20%;bottom:-18%;height:58%;transform:perspective(180px) rotateX(63deg);transform-origin:center top;background:linear-gradient(90deg,transparent 48%,#ffd51cbb 49% 50%,transparent 51%),repeating-linear-gradient(90deg,transparent 0 16%,#00e5ff26 16% 16.5%,transparent 16.5% 33%),linear-gradient(#071019,#02040a);border-top:1px solid #00e5ff7a}.studio-rain{inset:-40% -20%;background:repeating-linear-gradient(100deg,transparent 0 19px,#89f7ff42 20px 21px,transparent 22px 37px);opacity:.5;transform:translate3d(0,-20%,0)}.studio-holo{top:13%;right:7%;padding:4px 7px;border:1px solid #ff3f6388;background:#08131be8;color:#ff6f8b;font:900 7px/1 Bahnschrift,Arial,sans-serif;letter-spacing:.16em;box-shadow:0 0 11px #ff3f6344;transform:skewY(-3deg)}.studio-vignette{inset:0;background:radial-gradient(circle at 50% 48%,transparent 26%,#0002 58%,#000b 110%)}
html[data-art-mode="classic"] .studio-environment{display:none}
html[data-art-mode="professional"] .studio-environment{display:none}
html[data-studio-scenes="off"] .studio-environment{display:none!important}

/* Neon Grid is the first complete realistic/cinematic conversion. */
html[data-display-style="neon-grid"][data-art-mode="realistic"] body{background-image:radial-gradient(circle at 76% 10%,#b5004628,transparent 35%),radial-gradient(circle at 16% 38%,#00b6ca1d,transparent 40%),linear-gradient(145deg,#03060b,#0a1119 55%,#09050c)!important;background-attachment:fixed}
html[data-display-style="neon-grid"][data-art-mode="realistic"] .interface-companion{background:linear-gradient(102deg,#03070df7,#10141cf2 54%,#09070df7)!important;border-color:#00e5ff88!important;box-shadow:inset 3px 0 #ffd51c,0 18px 55px #0009,0 0 34px #00e5ff18!important}
html[data-display-style="neon-grid"][data-art-mode="realistic"] .companion-johnny-photo{filter:contrast(1.09) saturate(.94) brightness(.98) drop-shadow(0 12px 8px #000c)!important}
html[data-display-style="neon-grid"][data-art-mode="cinematic"] body{background-image:radial-gradient(circle at 86% 14%,#ff004536,transparent 34%),radial-gradient(circle at 12% 46%,#00dbea2b,transparent 38%),linear-gradient(145deg,#020409,#080d15 50%,#0d050b)!important;background-attachment:fixed;animation:studioNeonExposure 9s ease-in-out infinite alternate}
html[data-display-style="neon-grid"][data-art-mode="cinematic"] .interface-companion{background:linear-gradient(102deg,#020409f8,#0b121af5 54%,#0c050bf8)!important;border-color:#00e5ffaa!important;box-shadow:inset 3px 0 #ffd51c,0 24px 65px #000d,0 0 42px #00e5ff25!important}
html[data-display-style="neon-grid"][data-art-mode="cinematic"] .studio-city{animation:studioCityParallax 8s ease-in-out infinite alternate}
html[data-display-style="neon-grid"][data-art-mode="cinematic"] .studio-road{animation:studioRoadFlow 2.4s linear infinite}
html[data-display-style="neon-grid"][data-art-mode="cinematic"] .studio-rain{animation:studioRain .75s linear infinite}
html[data-display-style="neon-grid"][data-art-mode="cinematic"] .studio-holo{animation:studioHolo 3.6s steps(1,end) infinite}
html[data-display-style="neon-grid"][data-art-mode="cinematic"] .companion-johnny-photo{filter:contrast(1.13) saturate(.92) drop-shadow(-3px 0 #00e5ff28) drop-shadow(3px 0 #ff3f6328) drop-shadow(0 13px 8px #000d)!important}

/* First-wave identity palettes; full cinematic scene packs follow Neon Grid. */
html[data-display-style="covert-ops"] .studio-city i{border-color:#ff7a1a35;background:linear-gradient(90deg,#080907,#182019,#050604)}html[data-display-style="covert-ops"] .studio-city i::after{background:repeating-linear-gradient(180deg,#ffb05d66 0 1px,transparent 1px 8px)}html[data-display-style="covert-ops"] .studio-road{border-color:#ff7a1a70;background:linear-gradient(90deg,transparent 48%,#ff7a1a7a 49% 50%,transparent 51%),linear-gradient(#11150f,#030403)}html[data-display-style="covert-ops"] .studio-holo{border-color:#ff7a1a88;color:#ff9a4d;box-shadow:0 0 11px #ff7a1a44}
html[data-display-style="vault-108"] .studio-city i{border-color:#f4d43f2f;background:linear-gradient(90deg,#24352a,#3e493c,#121b14)}html[data-display-style="vault-108"] .studio-city i::after{background:repeating-linear-gradient(180deg,#54f28d66 0 1px,transparent 1px 8px)}html[data-display-style="vault-108"] .studio-road{border-color:#54f28d70;background:linear-gradient(90deg,transparent 48%,#f4d43f88 49% 50%,transparent 51%),linear-gradient(#27382d,#0d1510)}html[data-display-style="vault-108"] .studio-holo{border-color:#54f28d88;color:#7aff9d;box-shadow:0 0 11px #54f28d44}
html[data-display-style="carbon-circuit"] .studio-city i{border-color:#58c7ff3a;background:linear-gradient(90deg,#080b10,#1d232b,#05070a)}html[data-display-style="carbon-circuit"] .studio-city i::after{background:repeating-linear-gradient(180deg,#ff563f7a 0 2px,transparent 2px 8px)}html[data-display-style="carbon-circuit"] .studio-road{border-color:#58c7ff88;background:linear-gradient(90deg,transparent 48%,#ff563fcc 49% 50%,transparent 51%),repeating-linear-gradient(90deg,transparent 0 16%,#58c7ff26 16% 16.5%,transparent 16.5% 33%),linear-gradient(#0c1016,#020305)}html[data-display-style="carbon-circuit"] .studio-holo{border-color:#ff563f88;color:#ff765f;box-shadow:0 0 11px #ff563f44}

/* Generic portable reactions and mapped beat choreography. */
.interface-companion[data-studio-reaction="typing"] .companion-avatar{animation:studioType .54s ease-in-out infinite alternate!important}.interface-companion[data-studio-reaction="scanning"] .companion-avatar{animation:studioScan .82s ease-in-out infinite alternate!important}.interface-companion[data-studio-reaction="success"] .companion-avatar{animation:studioSuccess .78s cubic-bezier(.2,.78,.2,1) both!important}.interface-companion[data-studio-reaction="error"] .companion-avatar{animation:studioError .46s ease-in-out both!important}.interface-companion[data-studio-reaction="copied"] .companion-avatar{animation:studioCopy .7s ease-out both!important}
html[data-studio-music="on"] .interface-companion.studio-music-hit .companion-avatar{animation:studioBeat calc(.16s + (1 - var(--studio-beat-strength))*.14s) cubic-bezier(.2,.8,.2,1) both!important}
html[data-studio-music="on"] .interface-companion[data-studio-beat="phrase"] .companion-avatar,html[data-studio-music="on"] .interface-companion[data-studio-beat="drop"] .companion-avatar{animation:studioMusicDrop .52s cubic-bezier(.18,.82,.22,1) both!important}
html[data-studio-music="on"] .interface-companion.studio-music-hit .studio-environment{filter:brightness(calc(1 + var(--studio-beat-strength)*.28)) saturate(calc(1 + var(--studio-beat-strength)*.22))}
@keyframes studioType{to{translate:0 -2px;rotate:-1deg}}@keyframes studioScan{to{translate:3px 0;filter:brightness(1.12) contrast(1.08)}}@keyframes studioSuccess{0%,100%{translate:0 0}35%{translate:0 -11px;scale:calc(var(--studio-avatar-scale)*1.05)}65%{rotate:2deg}}@keyframes studioError{25%{translate:-3px 0}50%{translate:3px 0}75%{translate:-2px 0}}@keyframes studioCopy{45%{translate:0 -5px;rotate:-2deg}}@keyframes studioBeat{0%{scale:var(--studio-avatar-scale)}45%{scale:calc(var(--studio-avatar-scale)*(1 + var(--studio-beat-strength)*.055));translate:0 calc(var(--studio-beat-strength)*-5px)}100%{scale:var(--studio-avatar-scale)}}@keyframes studioMusicDrop{0%,100%{scale:var(--studio-avatar-scale)}28%{scale:calc(var(--studio-avatar-scale)*.94);translate:0 3px}62%{scale:calc(var(--studio-avatar-scale)*1.09);translate:0 -9px;rotate:-2deg}}
@keyframes studioCityParallax{to{translate:-2.5% 1%;scale:1.035}}@keyframes studioRoadFlow{to{background-position:0 72px,28px 0,0 0}}@keyframes studioRain{to{transform:translate3d(-5%,35%,0)}}@keyframes studioHolo{0%,92%,100%{opacity:.78}93%{opacity:.12;translate:3px 0}95%{opacity:.9;translate:-2px 0}}@keyframes studioNeonExposure{to{filter:brightness(1.045) saturate(1.06)}}

@media(max-width:760px){.studio-grid{grid-template-columns:1fr}.studio-grid fieldset{grid-template-columns:1fr}.companion-studio-card>header,.studio-grid,.companion-studio-card>footer{padding-left:16px;padding-right:16px}html[data-art-mode="realistic"] .interface-companion,html[data-art-mode="cinematic"] .interface-companion{grid-template-columns:132px minmax(0,1fr);min-height:150px}html[data-art-mode="realistic"] .interface-companion .companion-stage,html[data-art-mode="cinematic"] .interface-companion .companion-stage{height:136px!important;min-height:136px}html[data-art-mode="realistic"] .interface-companion .companion-sprites,html[data-art-mode="cinematic"] .interface-companion .companion-sprites{height:128px}.companion-studio-open{font-size:0}.companion-studio-open::after{content:'Studio';font-size:9px}}
@media(prefers-reduced-motion:reduce){.studio-environment,.studio-environment *,.interface-companion .companion-avatar{animation:none!important}.studio-rain{display:none}}
