:root{color-scheme:dark;font-family:system-ui,-apple-system,sans-serif;background:#0d1020;color:#edf0ff}*{box-sizing:border-box}body{margin:0}main{max-width:1180px;margin:auto;padding:26px 18px 44px}header{margin-bottom:22px}.eyebrow{color:#aa9dff;font-size:12px;letter-spacing:.17em;font-weight:800}h1{margin:8px 0;font-size:clamp(29px,5vw,44px)}p{color:#b7bfd3;line-height:1.45;margin:7px 0 12px}.controls{background:#191e33;padding:20px;border:1px solid #343c62;border-radius:24px;box-shadow:0 8px 36px #05081755}.controls label{font-size:14px;color:#d7ddf7}.top-controls{display:grid;grid-template-columns:1.1fr 1.25fr .85fr auto;gap:14px;align-items:end}.top-controls label,.bottom-controls label{display:flex;flex-direction:column;gap:9px;font-weight:650}.top-controls .toggle{flex-direction:row;align-items:center;padding-bottom:12px;white-space:nowrap}select,input,button{font:inherit}select,#text{background:#10162a;color:white;border:1px solid #49577f;border-radius:13px;padding:12px;min-width:0}select{width:100%}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.panel{margin:0;min-width:0;border:1px solid #3c476b;border-radius:19px;padding:18px;background:linear-gradient(140deg,#232c47,#171d32)}.panel legend{padding:0 8px;font-size:21px;font-weight:800}.panel p{font-size:13px;margin:0 0 15px}.performer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.performer{background:#10162a;color:white;text-align:left;border:2px solid #465274;padding:0 0 10px;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;gap:4px;cursor:pointer;min-width:0;transition:border-color .15s,transform .15s}.performer img{width:100%;height:140px;object-fit:cover;object-position:center top}.performer strong{font-size:20px;padding:0 11px}.performer small{font-size:12px;color:#c2c9e7;padding:0 11px}.performer:hover{transform:translateY(-2px)}.performer.selected{border-color:#a184ff;box-shadow:0 0 0 2px #8a67d355,0 0 20px #6c4d9855}.slider-list{display:flex;flex-direction:column;gap:9px}.slider-list label{display:grid;grid-template-columns:145px minmax(60px,1fr) 58px;align-items:center;gap:10px;background:#151c32;border:1px solid #394562;border-radius:12px;padding:10px;font-size:13px}.slider-list input{width:100%;accent-color:#a38bff;cursor:pointer}.slider-list output{color:#e5ddff;background:#242b44;padding:4px 5px;text-align:center;border-radius:8px;font-size:12px}.bottom-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end;margin-top:16px}.bottom-controls .secondary{background:#313953;color:#e1e6ff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#status{padding:14px 3px;color:#b1caff;font-size:14px}.messages{height:min(42vh,395px);min-height:205px;overflow-y:auto;background:#12172a;border:1px solid #303953;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:12px}.bubble{padding:12px 15px;border-radius:16px;max-width:88%;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.user{background:#3551aa;align-self:flex-end}.sol{background:#293046;align-self:flex-start}.who{font-size:12px;opacity:.8;font-weight:700;margin-bottom:4px}.voice-bar{display:flex;gap:12px;align-items:center;margin-top:15px}.voice-bar>button{flex-shrink:0}.wave-shell{height:83px;position:relative;flex:1;min-width:170px;border:1px solid #4c63d9;border-radius:40px;overflow:hidden;background:radial-gradient(ellipse at center,#282453 0,#101832 70%);display:flex;align-items:center;padding-left:64px;padding-right:106px}.wave-shell[data-state=recording]{border-color:#ab86ff;box-shadow:0 0 0 2px #a072ff44}.wave-shell[data-state=playing]{border-color:#69bdfb}.wave-avatar{position:absolute;left:4px;width:72px;height:72px;border:3px solid #8b6dfc;border-radius:50%;object-fit:cover;z-index:1}#waveform{width:100%;height:70px;display:block}.wave-label{position:absolute;right:11px;top:50%;transform:translateY(-50%);background:#26244e;border:1px solid #7469c6;padding:7px 10px;border-radius:18px;font-size:12px;color:#e2d8ff;white-space:nowrap}button{background:#7b8fff;color:#081020;border:0;border-radius:12px;padding:12px 17px;font-weight:750;cursor:pointer}button:disabled{opacity:.4;cursor:default}#stop{background:#c98c9a}.text-composer{margin-top:12px;background:#171d31;border:1px solid #354262;border-radius:14px;padding:11px 13px}.text-composer summary{cursor:pointer;color:#c5d2ff;font-weight:650}.text-composer form{display:flex;gap:9px;margin-top:10px}#text{flex:1;min-width:80px}footer{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:18px}footer button{background:#29334b;color:#e1e6ff}footer span{margin-left:auto;font-size:12px;color:#bfc7da}footer p{width:100%;font-size:12px;margin-top:3px}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #e4c36a;outline-offset:2px}@media(max-width:880px){.studio-grid{grid-template-columns:1fr}.top-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-controls{grid-template-columns:1fr 1fr}.bottom-controls button{grid-column:1/-1}.performer img{height:150px}}@media(max-width:520px){.controls{padding:12px}.top-controls{grid-template-columns:1fr}.top-controls .toggle{padding:0}.performer-grid{gap:5px}.performer img{height:102px}.performer strong{font-size:16px;padding:0 5px}.performer small{font-size:10px;padding:0 5px}.slider-list label{grid-template-columns:110px minmax(40px,1fr) 52px;gap:4px;padding:7px}.voice-bar{flex-wrap:wrap}.wave-shell{order:-1;flex-basis:100%}.voice-bar>button{flex:1}.bottom-controls{grid-template-columns:1fr}.bottom-controls button{grid-column:auto}.bubble{max-width:96%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* SolComedian AI brand hero: source promotional image supplied and approved in conversation. */
.brand-header{margin:0 0 22px;border-radius:24px;overflow:hidden;border:1px solid #5b377d;background:#150a29;box-shadow:0 12px 40px #08031588}
.brand-hero{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:contain;object-position:center}
.brand-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:520px){.brand-header{border-radius:16px;margin-bottom:14px}.brand-hero{min-height:120px;object-fit:cover;object-position:44% center}}
/* SolComedian interactive studio V6 */
.setting-stack{display:grid;gap:20px}.voice-switch{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,#262046,#1b2240);border:1px solid #655298;border-radius:19px;padding:13px 20px}.voice-switch>div{display:flex;align-items:center;flex-wrap:wrap;gap:0 12px}.voice-switch strong{font-size:18px}.voice-switch p{flex-basis:100%;margin:4px 0 0 32px;font-size:13px}.voice-icon{font-size:24px;color:#bfa1ff}.switch{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.switch input{opacity:0;position:absolute;width:1px;height:1px}.switch-track{width:67px;height:36px;background:#444967;border:2px solid #667198;border-radius:24px;display:block;cursor:pointer;transition:background .2s}.switch-track:after{content:"";display:block;width:26px;height:26px;background:white;border-radius:50%;margin:3px;transition:transform .2s}.switch input:checked+.switch-track{background:#8b4cfa;border-color:#ad80ff}.switch input:checked+.switch-track:after{transform:translateX(29px)}.switch input:focus-visible+.switch-track{outline:3px solid #e4c36a;outline-offset:3px}.choice-block h2{font-size:20px;margin:0 0 11px}.choice-block h2 small{font-size:13px;font-weight:500;color:#b9addf;margin-left:9px}.pill-group{display:flex;gap:10px;flex-wrap:wrap}.pill{border:1px solid #5f568a;border-radius:28px;background:#171d36;color:#e8e7ff;padding:11px 18px;min-height:45px}.pill.active,.segmented button.active{background:linear-gradient(135deg,#a45bfa,#6436c8);box-shadow:0 0 0 1px #d3a0ff,0 0 18px #aa57ff75;color:white}.game-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.game{min-height:94px;background:linear-gradient(135deg,#242248,#161b34);color:#f7f1ff;border:1px solid #5b4e92;border-radius:18px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;font-size:13px}.game span{font-size:29px}.game.active{border-color:#efca67;box-shadow:inset 0 0 12px #c18a3655,0 0 16px #ba7d4544;background:linear-gradient(145deg,#58356f,#29213f)}.quick-settings{margin-top:17px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;background:#252043;border:1px solid #544783;border-radius:18px;flex-wrap:wrap}.quick-settings h2{font-size:18px;margin:0;white-space:nowrap}.quick-block{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.quick-block strong{font-size:13px;white-space:nowrap}.segmented{display:flex;gap:3px;background:#171735;border:1px solid #51417b;padding:3px;border-radius:25px}.segmented button{padding:9px 12px;border-radius:20px;background:transparent;color:#ded8ff;font-size:12px}.advanced{margin-top:12px;border-top:1px solid #424066;padding-top:12px}.advanced summary{font-size:13px;color:#aba9d9;cursor:pointer}.advanced-inner{display:flex;gap:14px;flex-wrap:wrap;align-items:end;padding:12px 0 0}.advanced-inner label{flex:1 1 190px;font-size:13px}.advanced-inner p{flex-basis:100%;font-size:12px}.performer.selected{border-color:#b16dff;box-shadow:0 0 0 2px #9d62f477,0 0 24px #9e61fa88}.performer:focus-visible,.pill:focus-visible,.game:focus-visible,.segmented button:focus-visible{outline:3px solid #e4c36a;outline-offset:3px}
@media(max-width:900px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-settings{align-items:flex-start}.quick-block{flex:1 1 240px}}
@media(max-width:520px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pill{flex:1 1 120px}.choice-block h2{font-size:18px}.quick-settings{padding:10px}.segmented button{font-size:11px;padding:8px}.advanced-inner label{flex-basis:100%}}

/* V7: playful, accessible circular humor settings */
.circle-humor-panel{background:radial-gradient(ellipse at 50% -10%,#402565 0%,#211c40 53%,#16172d 100%);border:1px solid #7b4ac4;box-shadow:inset 0 0 30px #5a2a8825;grid-column:1/-1;padding:22px 22px 24px}
.circle-humor-panel legend{font-size:clamp(22px,2.8vw,29px);color:#f4d9ff;text-shadow:0 0 20px #a56aff44}
.humor-intro h2{font-size:clamp(19px,2vw,25px);margin:0 0 6px;color:#f7e9ff}
.humor-intro p{font-size:13px;color:#cfbfe9;margin:0 0 22px}
.humor-dial-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.humor-dial-card{--ring:#ae70ff;--glow:#8e40e9;background:linear-gradient(160deg,#352250cc,#211a3add);border:1px solid color-mix(in srgb,var(--ring) 42%,transparent);border-radius:23px;padding:18px 9px 16px;text-align:center;min-width:0;box-shadow:inset 0 0 24px #3b196655;display:flex;flex-direction:column;align-items:center;transition:transform .2s,box-shadow .2s}
.humor-dial-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px #10082288,inset 0 0 24px #3b196655}
.hue-pink{--ring:#ff72d3;--glow:#c93895}.hue-gold{--ring:#ffbc4c;--glow:#e99128}.hue-cyan{--ring:#3bdaff;--glow:#0f99df}.hue-green{--ring:#55ee8a;--glow:#179a54}
.dial-stage{width:100%;display:grid;place-items:center;margin:0 auto 12px}
.dial-control{--progress:50;position:relative;width:min(100%,162px);aspect-ratio:1;display:flex;justify-content:center;align-items:center;flex-direction:column;border-radius:50%;cursor:grab;touch-action:none;user-select:none;isolation:isolate;background:conic-gradient(from 0deg,var(--ring) calc(var(--progress)*1%),#5c4d73 calc(var(--progress)*1%) 100%);box-shadow:0 0 0 7px #ffffff06,0 0 18px color-mix(in srgb,var(--glow) 38%,transparent)}
.dial-control:before{content:"";position:absolute;inset:11px;border-radius:50%;z-index:-1;background:radial-gradient(circle at 50% 20%,#382346,#17142c 70%);box-shadow:inset 0 0 19px #0008}
.dial-control:focus-visible{outline:3px solid #ffe799;outline-offset:9px}
.dial-glyph{font-size:clamp(26px,3.7vw,41px);line-height:1.2;filter:drop-shadow(0 0 10px var(--glow));pointer-events:none}
.dial-number{font-weight:900;font-size:clamp(19px,2.25vw,27px);color:#fff;pointer-events:none;text-shadow:0 2px 10px #0009}
.dial-knob{position:absolute;top:0;left:50%;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 0 0 4px color-mix(in srgb,var(--ring) 30%,transparent),0 0 13px var(--ring);transform:translate(-50%,-40%) rotate(calc(var(--progress)*3.6deg));transform-origin:50% calc(min(12vw,162px)/2 + 8px);pointer-events:none;display:none}
.humor-dial-card h3{font-size:clamp(14px,1.7vw,19px);white-space:normal;margin:0 0 5px;color:#fff}
.humor-dial-card p{font-size:12px;line-height:1.4;color:#cfc4e6;min-height:48px;max-width:174px;margin:0 auto 10px}
.dial-actions{display:flex;gap:16px;margin-top:auto}
.dial-actions button{width:44px;height:34px;padding:0;border-radius:18px;border:1px solid var(--ring);background:linear-gradient(135deg,#503372,#282046);color:white;font-size:23px;line-height:1;font-weight:600;box-shadow:0 0 10px color-mix(in srgb,var(--ring) 25%,transparent)}
.dial-actions button:hover:not(:disabled){background:var(--glow)}
.humor-presets{margin-top:22px;padding:16px;border-radius:19px;border:1px solid #65509f;background:#1815309c}
.humor-presets h3{margin:0 0 14px;font-size:17px;color:#f2defe}
.preset-group{display:flex;flex-wrap:wrap;gap:10px}
.preset{flex:1 1 130px;border-radius:24px;background:#272043;color:#f5edff;border:1px solid #7654bd;padding:11px 12px;font-size:13px;white-space:nowrap}
.preset.active{border-color:#ffd45d;background:linear-gradient(125deg,#543073,#302142);box-shadow:0 0 14px #fdcb5988;color:white}
.preset:focus-visible{outline:3px solid #ffe799;outline-offset:3px}
@media(max-width:820px){.humor-dial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:490px){.circle-humor-panel{padding:14px 10px}.humor-dial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.humor-dial-card{padding:12px 5px}.dial-control{width:min(100%,140px)}.preset{flex:1 1 43%}.dial-actions button{width:39px}}
@media(prefers-reduced-motion:reduce){.humor-dial-card{transition:none}}

/* V8: compact stage header, one expandable configuration drawer, voice first. */
.stage-top{margin:18px 0 12px;display:grid;gap:12px}
.active-performer{display:flex;align-items:center;gap:18px;padding:14px 20px;min-height:112px;border:1px solid #805bd2;border-radius:24px;background:linear-gradient(120deg,#302356,#1c2140 60%,#181c36);box-shadow:0 7px 26px #0b071c55}
.active-performer>img{width:84px;height:84px;object-fit:cover;object-position:center top;border:3px solid #b77aff;border-radius:20px;box-shadow:0 0 15px #ba72ef44;flex-shrink:0}
.active-performer-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.active-performer-copy .eyebrow{font-size:11px;font-weight:800;letter-spacing:1.9px;color:#c0a1ff}
.active-performer-copy strong{font-size:clamp(24px,3vw,35px);line-height:1.1;color:white}
.active-performer-copy>span:last-child{font-size:14px;color:#d2c8ef}
.change-performer{background:linear-gradient(120deg,#8b50e9,#6546b0);border:1px solid #bd92ff;color:#fff;border-radius:16px;padding:13px 18px;white-space:nowrap;min-height:48px}
.change-performer span{padding-left:9px;font-size:20px}
.studio-settings{border:1px solid #49436d;background:#171a32;border-radius:19px;overflow:visible}
.studio-settings>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:16px;padding:16px 20px;color:#f2e9ff;font-weight:750;min-height:64px}
.studio-settings>summary::-webkit-details-marker{display:none}
.studio-settings>summary>span:first-child{font-size:17px}
.settings-summary-note{font-size:13px;font-weight:500;color:#aeb0d0;margin-left:auto}
.collapse-chevron{font-size:28px;color:#c5a4ff;transition:transform .2s}
.studio-settings[open] .collapse-chevron{transform:rotate(180deg)}
.studio-settings[open]>summary{border-bottom:1px solid #39365a;background:linear-gradient(100deg,#31244e,#191c35);border-radius:19px 19px 0 0}
.studio-settings-content{padding:19px 19px 24px}
.studio-settings .controls{padding:0;border:0;background:none;box-shadow:none}
.studio-settings .studio-grid{grid-template-columns:minmax(0,1fr);gap:15px}
.studio-settings .performers{max-width:780px;width:100%;justify-self:center}
.studio-settings .performer img{height:175px}
.studio-settings .circle-humor-panel{grid-column:auto;width:100%}
.voice-bar{background:linear-gradient(110deg,#242047,#151b34);border:1px solid #5c4a8c;border-radius:22px;padding:14px;margin:14px 0 6px;box-shadow:0 10px 22px #06071635}
.voice-bar #record,.voice-bar #stop{font-size:17px;min-height:58px;border-radius:17px}
.voice-bar #record{background:linear-gradient(120deg,#8c66ff,#667fff)}
.voice-bar #stop{background:#bd8895}
#status{margin-top:5px}
@media(max-width:720px){.active-performer{padding:12px;gap:11px}.active-performer>img{width:67px;height:67px}.change-performer{padding:11px 12px;font-size:12px}.settings-summary-note{display:none}.studio-settings-content{padding:12px}.studio-settings .performer img{height:120px}.voice-bar{padding:9px;gap:8px}}
@media(max-width:460px){.active-performer{flex-wrap:wrap}.change-performer{margin-left:auto}.active-performer-copy strong{font-size:25px}.active-performer-copy .eyebrow{font-size:9px}.voice-bar #record,.voice-bar #stop{min-height:50px}.studio-settings>summary{padding:13px}}
@media(prefers-reduced-motion:reduce){.collapse-chevron{transition:none}}

/* Render model emphasis as typography; never display Markdown control characters. */
.message-body{white-space:pre-wrap;overflow-wrap:anywhere}
.message-body em{font-style:italic;color:#f1e9ff}
.message-body strong{font-weight:800;color:#fff}
.message-body code{font:0.92em ui-monospace,monospace;background:#151c33;padding:1px 4px;border-radius:4px}
