/* Spoty shell. Media geometry and cinematic transition layers remain in cinema/studio styles. */
#hostWorkspace.director-v45{grid-template-columns:minmax(0,1fr) 352px;background:#090b10}
#hostWorkspace.director-v45 .dv45-center{padding:24px; background:radial-gradient(ellipse at 50% 0%,rgba(var(--accent-rgb),.07),transparent 64%),#090b10}
#hostWorkspace.director-v45 .inspector{background:#101217;border-left:1px solid #ffffff0d}
#hostWorkspace.director-v45 .inspector-scroll{padding:0 16px 24px}
.spoty-desk{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
.spoty-desk .p2-desk-header{border:0;padding:22px 0 18px;background:none;letter-spacing:.14em}
.spoty-desk .p2-star{font-size:27px;color:var(--accent)}
.spoty-desk .p2-tabs{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);padding:5px;gap:3px;background:#191c23e8;backdrop-filter:blur(16px);border:1px solid #ffffff0c;border-radius:12px;margin-bottom:20px}
.spoty-desk .p2-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:42px;border:0;border-radius:8px;padding:7px 3px;font-size:10px;background:transparent;color:#9a9da9;transition:background .18s,color .18s}
.spoty-desk .p2-tabs button.active{background:rgba(var(--accent-rgb),.13);color:var(--accent)}
.spoty-desk .p2-tabs svg{width:14px;height:14px}
.spoty-desk [role=tabpanel]{animation:spoty-panel-in .2s ease-out}
.spoty-section-heading h3{font-size:22px;font-weight:550;letter-spacing:-.04em;margin:18px 0 7px;color:#f6f4ef}
.spoty-section-heading p{color:#8a8d9c;font-size:12px;line-height:1.65;margin:0 0 24px}
.spoty-desk .inspect-group{padding:20px 0;margin:0;border:0;border-top:1px solid #ffffff0b;border-radius:0;background:transparent;box-shadow:none}
.spoty-desk label{font-size:11px;color:#b3b4bf;letter-spacing:.015em}
.spoty-desk input:not([type=range]):not([type=checkbox]):not([type=file]),.spoty-desk select,.spoty-desk textarea{background:#171920;border:1px solid #ffffff12;border-radius:9px;min-height:40px}
.spoty-desk button:focus-visible,.spoty-desk input:focus-visible,.spoty-desk select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.spoty-desk .p2-help,.spoty-desk small{line-height:1.7;color:#888c9c}
.spoty-desk .p2-layout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.spoty-layout{padding:9px!important;border:1px solid #ffffff13!important;border-radius:13px!important;background:#16181f!important;display:grid;gap:9px;color:#a5a7b3;overflow:hidden;text-align:left;transition:border-color .18s,transform .18s}
.spoty-layout:hover{transform:translateY(-2px);border-color:#ffffff35!important}
.spoty-layout.active{border-color:var(--accent)!important;color:var(--accent);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.2)}
.spoty-layout-preview{display:block;position:relative;width:100%;aspect-ratio:16/10;border-radius:7px;background:linear-gradient(145deg,#242735,#08090e);overflow:hidden}
.spoty-layout-preview i{position:absolute;display:block;border-radius:3px}
.spoty-mini-film{inset:8% 8% 25%;background:linear-gradient(130deg,rgba(var(--accent-rgb),.3),#232431)}
.spoty-mini-host,.spoty-mini-guest{width:23%;height:29%;bottom:7%;background:#9298aa;border:1px solid #b7bccc55;box-shadow:0 2px 8px #0005}
.spoty-mini-host{left:8%}.spoty-mini-guest{right:8%;background:var(--accent)}
[data-preview=duo] .spoty-mini-film{inset:8% 8% 55%}[data-preview=duo] .spoty-mini-host,[data-preview=duo] .spoty-mini-guest{height:41%;width:37%}
[data-preview=spotlight] .spoty-mini-host{width:35%;height:57%;left:5%}[data-preview=spotlight] .spoty-mini-film{left:45%;bottom:10%}
[data-preview=reaction] .spoty-mini-film{right:32%;bottom:8%}[data-preview=reaction] .spoty-mini-host,[data-preview=reaction] .spoty-mini-guest{left:auto;right:5%;width:22%;height:35%}[data-preview=reaction] .spoty-mini-host{bottom:52%}
[data-preview=theater] .spoty-mini-host,[data-preview=theater] .spoty-mini-guest{height:25%;border-radius:50%;width:19%}
[data-preview=picture] .spoty-mini-film{inset:0}[data-preview=picture] .spoty-mini-host,[data-preview=picture] .spoty-mini-guest{width:17%;height:24%;bottom:5%}[data-preview=picture] .spoty-mini-host{left:57%}
.spoty-catalog-results{display:grid;gap:7px;max-height:340px;overflow-y:auto;margin:12px 0}
.spoty-catalog-card{display:flex;align-items:center;gap:12px;padding:8px;text-align:left;border:1px solid #ffffff0d;background:#171920;border-radius:10px;color:#eee;cursor:pointer}
.spoty-catalog-card img{width:38px;height:54px;object-fit:cover;border-radius:4px}.spoty-catalog-card span{font-size:12px}.spoty-catalog-card small{display:block}
.spoty-advanced{border-top:1px solid #ffffff13;padding:19px 0;margin-top:22px;color:#a3a5b0}.spoty-advanced>summary{font-size:11px;cursor:pointer;letter-spacing:.05em}
#cinemaStatus{font-size:11px;color:#8d929e;line-height:1.7;border-top:1px solid #ffffff0a;margin-top:12px;padding-top:15px}
#lobby .lobby-grid{max-width:1000px;border:1px solid #ffffff12;border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#18191f,#0c0e13);box-shadow:0 30px 100px #0005}
#lobby h2{letter-spacing:-.05em;font-size:clamp(32px,4vw,56px);line-height:1.1}#lobby .lead{line-height:1.85;color:#9598a7;max-width:350px}#lobby .primary-action{border-radius:12px;min-height:52px}
.spoty-pairing{padding:18px 0;border-top:1px solid #ffffff12}.spoty-pairing output{display:block;font-size:32px;letter-spacing:.25em;color:var(--accent);margin:14px 0;font-variant-numeric:tabular-nums}.spoty-pairing p{font-size:12px;color:#989bad}.spoty-pairing button{margin:4px;padding:10px;border-radius:8px}
@keyframes spoty-panel-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(min-width:1700px){#hostWorkspace.director-v45{grid-template-columns:minmax(0,1fr) 380px}}
@media(max-width:1100px){#hostWorkspace.director-v45{grid-template-columns:minmax(0,1fr) 310px}#hostWorkspace.director-v45 .dv45-center{padding:15px}}
@media(max-width:850px){#hostWorkspace.director-v45{display:flex;flex-direction:column}#hostWorkspace.director-v45 .inspector{width:100%;max-height:none}#hostWorkspace.director-v45 .inspector-scroll{overflow:visible}.spoty-desk .p2-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.spoty-desk *{animation:none!important;transition:none!important}.spoty-layout:hover{transform:none}}
/* Explicit film card placement is durable room state; default follows each stage. */
.cinema-stage[data-feature-position="top-left"] .stage-title{inset:4% auto auto 3%;max-width:45%}
.cinema-stage[data-feature-position="top-right"] .stage-title{inset:4% 3% auto auto;max-width:45%}
.cinema-stage[data-feature-position="bottom-left"] .stage-title{inset:auto auto 5% 3%;max-width:45%}
.cinema-stage[data-feature-position="bottom-right"] .stage-title{inset:auto 3% 5% auto;max-width:45%}
[data-preview=duo] .spoty-mini-host,[data-preview=duo] .spoty-mini-guest{height:23%;width:23%}[data-preview=duo] .spoty-mini-host{left:25%}[data-preview=duo] .spoty-mini-guest{right:25%}
[data-preview=spotlight] .spoty-mini-host,[data-preview=spotlight] .spoty-mini-guest{left:auto;right:5%;width:22%;height:35%}[data-preview=spotlight] .spoty-mini-host{bottom:54%}[data-preview=spotlight] .spoty-mini-film{left:5%;right:32%;bottom:10%}
[data-preview=reaction] .spoty-mini-film{left:32%;right:5%;bottom:8%}[data-preview=reaction] .spoty-mini-host,[data-preview=reaction] .spoty-mini-guest{left:5%;right:auto}
[data-preview=theater] .spoty-mini-host,[data-preview=theater] .spoty-mini-guest{border-radius:3px;width:16%;height:23%}[data-preview=theater] .spoty-mini-host{left:2%}[data-preview=theater] .spoty-mini-guest{right:2%}[data-preview=theater] .spoty-mini-film{left:21%;right:21%;bottom:10%}
[data-preview=picture] .spoty-mini-host{left:4%}[data-preview=picture] .spoty-mini-guest{left:24%;right:auto}
/* Empty preview artwork must never block the expand-camera button. */
#hostPreviewEmpty,#guestPreviewEmpty,.gv42-empty{pointer-events:none}
/* Keep preview actions above the video and decorative empty state. */
#hostPreviewExpand,#guestPreviewExpand{position:absolute;z-index:20;pointer-events:auto}
/* One community icon language across Director and Guest tools. */
.spoty-icon{width:18px;height:18px;flex:0 0 18px;vertical-align:middle;display:inline-block;pointer-events:none;transform-origin:center;transition:transform .18s ease,opacity .18s ease}
.spoty-icon-control{display:inline-flex;align-items:center;justify-content:center;gap:8px}
button:hover>.spoty-icon{transform:translateY(-1px)}button:disabled>.spoty-icon{opacity:.5}
.spoty-icon-control:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
#fullscreenBtn.spoty-icon-control,#endRoomBtn.spoty-icon-control{padding:8px}
#hostCameraModalClose.spoty-icon-control,#guestCameraModalClose.spoty-icon-control{gap:8px}
@media(prefers-reduced-motion:reduce){.spoty-icon{transition:none!important;animation:none!important}button:hover>.spoty-icon{transform:none!important}}
.spoty-icon-control>.hd43-dot,.spoty-icon-control>.gv4-toggle-dot,.spoty-icon-control>.gv41-air-dot{display:none}
.spoty-icon-control[aria-pressed=true]>.spoty-icon{color:var(--accent)}
.spoty-placeholder-icon .spoty-icon{width:28px;height:28px;flex-basis:28px}
.source-icon.spoty-placeholder-icon .spoty-icon,.gv4-audio-icon.spoty-placeholder-icon .spoty-icon{width:22px;height:22px;flex-basis:22px}
