/* CastCabin application chrome only. Episode artwork and captions keep their own design. */
body:is(.podcast-editor,.castcabin-room){--forest:#dcd9ff;--ink:#f4f3ff;--muted:#b8bed9;--paper:#141b35;--line:#343e61;color-scheme:dark;color:var(--ink);background:#0b1028;background-image:radial-gradient(ellipse at 8% 0%,#673fd32e,transparent 48%),radial-gradient(ellipse at 95% 8%,#087d9d24,transparent 40%);background-repeat:no-repeat;font-family:ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.castcabin-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none!important;color:#f8f7ff!important;flex-shrink:0}
.castcabin-brand img{display:block;width:64px;height:64px;object-fit:contain;flex-shrink:0}
.castcabin-brand>span{display:grid;gap:2px}
.castcabin-brand strong{font-family:ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold",system-ui,sans-serif;font-weight:850;font-size:29px;line-height:1.05;letter-spacing:-1.2px}
.castcabin-brand small{font-size:12px;font-weight:400;letter-spacing:.06em;line-height:1.4;color:#c9cce9}
.castcabin-brand small b{font-weight:850;color:#fff}
.podcast-editor .solver-global-header{background:#10162eeb;border-bottom:1px solid #343e61;box-shadow:0 4px 28px #05081940;backdrop-filter:blur(16px)}
.podcast-editor .solver-nav-inner{min-height:86px;gap:18px}
.podcast-editor .solver-nav-dropdown,.podcast-editor .solver-auth-dialog{background:#141b35;color:#f4f3ff;border-color:#343e61}
.podcast-editor .solver-global-footer{background:#0d132a;border-color:#343e61}
.castcabin-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px}
.castcabin-beta{display:inline-block;border:1px solid #7366be;background:#8b5cf619;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:750;letter-spacing:.06em;color:#d9caff}
.studio .castcabin-intro h1{font-size:clamp(25px,4vw,36px);letter-spacing:-.035em;line-height:1.15;margin:12px 0 8px}
.studio .castcabin-intro .lead{font-size:15px;margin:0;max-width:580px;line-height:1.6}
.studio .recording-room-link{gap:10px;white-space:nowrap;border-radius:10px;padding:0 18px;min-height:42px;background:linear-gradient(125deg,#6341db,#385ddd);border-color:#9784f1;color:#fff;box-shadow:0 4px 20px #6547d133}
.studio .recording-room-link:hover{filter:brightness(1.15)}
.studio :is(.studio-card,.asset-row,.assembly-block),.castcabin-room .card{background:#141b35;border-color:#343e61;border-radius:14px}
.studio .studio-card,.castcabin-room .card{box-shadow:0 8px 26px #03061924}
.studio :is(.studio-note,.lead,.assembly-meta,.asset-row span,.connection-status small,.font-option small,.caption-option small),.castcabin-room :is(.note,.guest-count-label,.invite-feedback){color:#b8bed9}
.studio :is(input,textarea,select),.castcabin-room :is(input,select),.podcast-editor .solver-auth-dialog input{background-color:#0c132b;border-color:#48547a;color:#f4f3ff;border-radius:8px;accent-color:#a58bfa}
.studio input::placeholder,.studio textarea::placeholder,.castcabin-room input::placeholder{color:#a1aac8}
.studio .studio-card button,.studio button,.asset-picker button,.castcabin-room button{background-color:#293354;border-color:#52618b;color:#f4f3ff;border-radius:8px}
.studio button:hover:not(:disabled),.asset-picker button:hover:not(:disabled),.castcabin-room button:hover:not(:disabled){background-color:#39476f}
.studio :is(.studio-tabs button.active,.preview-ratios button[aria-pressed="true"],.design-fonts button[aria-pressed="true"],.font-option[aria-pressed="true"]){background:#5039a7;border-color:#a28cec;color:#fff}
.studio .studio-tabs{gap:8px;padding-bottom:14px;border-bottom:1px solid #343e61}
.studio .studio-tabs button{border-radius:10px}
.studio :is(.compact-transcript,.font-picker details,.episode-save-bar,.wave-lane-head),.castcabin-room .manual-gain-panel{background:#1a2340;border-color:#435078;border-radius:10px}
.studio :is(.transcript-segment,.caption-controls,.caption-option-groups fieldset,.design-image-library,.wave-editing,.wave-lane,.wave-passage){border-color:#435078}
.studio .transcript-segment.active,.studio .wave-passage.active{background:#302957;outline-color:#aa90fa}
.studio .wave-lane.selected{border-color:#aa90fa;box-shadow:0 0 0 1px #aa90fa}
.studio .output-option input[type=checkbox]{background-color:#0c132b;border-color:#8994bc}
.studio .output-option input[type=checkbox]:checked{background-color:#6948c6;border-color:#b69afc}
.studio .episode-progress li[data-state=active]{background:#302957;border-color:#aa90fa}
.studio .connection-status{background:#141b35;border-color:#435078}
.studio .connection-status[data-state=connected]{background:#142f30;border-color:#47877b}
.studio .connection-status[data-state=error]{background:#382b2b;border-color:#c08e76}
.studio :is(.transport-controls,.compact-transcript-nav) button{background:transparent;color:#ded9ff}
.studio :is(.transport-controls,.compact-transcript-nav) button:hover:not(:disabled){background:#293354}
.podcast-editor .asset-picker-box,.castcabin-room :is(#uploadDialog,.guest-removal-dialog){background:#141b35;border-color:#52618b;color:#f4f3ff;border-radius:16px}
.podcast-editor input[type=file]::file-selector-button{background:#293354;border-color:#52618b;border-radius:8px}
.podcast-editor input[type=file]::-webkit-file-upload-button{background:#293354;border-color:#52618b;border-radius:8px}
.castcabin-room a{color:#dcd9ff}
.castcabin-room main>header{padding-bottom:14px;border-bottom:1px solid #343e61}
.castcabin-room main>header h1{margin:14px 0 0;font-size:24px;letter-spacing:-.025em}
.castcabin-room .badge{background:#1a2340;border-color:#435078;color:#c9cce9;border-radius:999px}
.castcabin-room .session-role{background:#33235e;border-color:#9b7cdd;border-radius:999px}
.castcabin-room .session-role[data-role=guest]{background:#12374c;border-color:#5db8d3}
.castcabin-room .guest-score-marker{background:linear-gradient(135deg,#6146c8,#3e5fba)}
.castcabin-room .arrival-notice{background:#292550;border-color:#9b7cdd}
.castcabin-room .end-session{background:#75373e;border-color:#c17a80}
.castcabin-room .end-session:not(:disabled):hover{background:#91444d}
/* Keep recording, camera, copy and waveform controls semantically distinct. */
.castcabin-room .feed-record-controls .record-icon,.castcabin-room .feed-record-controls .record-icon:hover:not(:disabled){background:transparent;border:0;color:#ff625f;border-radius:0}
.castcabin-room .video .camera-toggle{background:#1a2340e8;color:#fff;border-color:#7e8aaf}
.castcabin-room .video .camera-toggle[data-off=true]{background:#833737}
.castcabin-room .guest-invite-row .invite-actions button,.castcabin-room .guest-invite-row .copy-invite-icon{background:transparent;border:0;color:#ded9ff}
.studio :focus-visible,.castcabin-room :focus-visible,.podcast-editor .castcabin-brand:focus-visible{outline:2px solid #77d8f4;outline-offset:3px}
.studio progress,.castcabin-room :is(progress,input[type=range],input[type=checkbox]){accent-color:#a58bfa}
@media(max-width:900px){.podcast-editor .solver-nav{background:#10162efa}.podcast-editor .solver-nav-dropdown{background:transparent}}
@media(max-width:650px){.castcabin-brand img{width:52px;height:52px}.castcabin-brand strong{font-size:26px}.castcabin-brand small{font-size:11px}.castcabin-intro{align-items:flex-start;flex-direction:column;gap:16px}.studio .castcabin-intro h1{font-size:27px}.podcast-editor .solver-nav-inner{min-height:74px}.castcabin-room main>header{gap:12px}.castcabin-room .badge{font-size:11px;padding:6px 10px}}
