/* Scoped enhancements: the member shell, course cards and authentication stay unchanged. */
.live-quality-field { display:grid; gap:7px; }
.live-quality-field small { color:#a09b91; font-size:11px; line-height:1.6; font-weight:400; }
.live-capture-quality { color:#bcb6aa; font-size:11px; line-height:1.6; margin:0; overflow-wrap:anywhere; }
#live-stream-quality { flex-basis:100%; padding-top:3px; }
:is(.live-setup-dialog,.live-room-content) [hidden] { display:none !important; }
.community-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 16px; }
.community-filters { display:flex; gap:4px; padding:3px; background:#131313; border:1px solid #292929; border-radius:6px; }
.community-filters button { border:0; border-radius:4px; padding:8px 12px; color:#aaa8a3; background:transparent; font:inherit; font-size:12px; cursor:pointer; }
.community-filters button[aria-pressed="true"] { background:#292827; color:#f4f2ee; }
#community-count { color:#93918c; font-size:11px; }
#community-screen .community-feed { display:grid; grid-template-columns:minmax(0,1fr); align-items:start; gap:14px; }
#community-screen .social-post { min-width:0; padding:21px; background:linear-gradient(125deg,#1a1a19,#141414); border:1px solid #2e2d2b; border-radius:7px; }
.social-post-head { display:flex; align-items:center; gap:10px; margin-bottom:19px; }
.social-avatar { display:grid; place-items:center; flex:0 0 34px; height:34px; border:1px solid #3b3935; border-radius:50%; color:#e6e2da; background:#272624; font-size:11px; font-weight:600; }
.social-post-author { flex:1; min-width:0; }
.social-post-author strong { display:block; font-size:12px; overflow-wrap:anywhere; }
.social-post-author time { display:block; color:#97948e; font-size:10px; margin-top:3px; }
.social-icon-button { width:32px; height:32px; display:grid; place-items:center; border:1px solid transparent; border-radius:5px; color:#97948e; background:transparent; cursor:pointer; }
.social-icon-button:hover { border-color:#46433f; background:#252421; color:#f4f2ee; }
.social-icon-button svg { width:16px; height:16px; }
.social-post h2 { margin:0 0 9px; font-size:17px; line-height:1.45; font-weight:600; letter-spacing:-.4px; overflow-wrap:anywhere; }
.social-post-body { margin:0; color:#b9b6af; white-space:pre-wrap; overflow-wrap:anywhere; font-size:13px; line-height:1.8; }
.social-post-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:20px; padding-top:12px; border-top:1px solid #2c2b28; }
.social-post-footer button { display:flex; align-items:center; gap:7px; border:0; padding:5px 0; background:transparent; color:#a6a29a; font:inherit; font-size:11px; cursor:pointer; }
.social-post-footer button svg { width:15px; height:15px; }
.social-post-footer button[aria-pressed="true"] { color:#f4f2ee; }
.social-post-footer small { color:#7f7c76; font-size:10px; }
.social-empty { grid-column:1/-1; padding:35px 24px; border:1px solid #2b2926; border-radius:7px; color:#aaa69e; font-size:13px; text-align:center; background:#141413; }
.social-empty strong { display:block; color:#e8e4dd; margin-bottom:8px; font-size:15px; }
.social-empty button { margin-top:12px; }
.community-dialog { background:#181817; border-color:#36332e; }
.community-dialog input,.community-dialog textarea { background:#101010; border-color:#3a3732; }
.community-dialog form { gap:14px; }
.community-dialog label { font-size:12px; }
.social-confirm-dialog,.live-setup-dialog { box-sizing:border-box; color:#f4f2ee; background:linear-gradient(140deg,#22211f,#141414); border:1px solid #45413a; border-radius:10px; box-shadow:0 24px 90px #0008; padding:0; }
.social-confirm-dialog { width:min(410px,calc(100vw - 32px)); }
.social-confirm-dialog::backdrop,.live-setup-dialog::backdrop { background:#000b; backdrop-filter:blur(5px); }
.social-confirm-body { padding:26px; }
.social-confirm-body h2 { font-size:20px; font-weight:600; letter-spacing:-.5px; margin:0 0 10px; }
.social-confirm-body p { font-size:13px; color:#b0aca4; line-height:1.7; margin:0; }
.social-dialog-actions { display:flex; justify-content:flex-end; gap:9px; padding:18px 24px; border-top:1px solid #35322d; }
.social-button { display:inline-flex; justify-content:center; align-items:center; gap:7px; min-height:37px; padding:0 13px; border:1px solid #444039; border-radius:5px; background:#242320; color:#e9e5de; font:inherit; font-size:12px; cursor:pointer; }
.social-button:hover { background:#302e29; border-color:#686157; }
.social-button.is-primary { background:#e8e3d9; color:#171613; border-color:#e8e3d9; font-weight:600; }
.social-button.is-danger { color:#e4b9b2; background:#302422; border-color:#57403b; }
.social-button[aria-pressed="true"] { color:#eeeae1; border-color:#817664; background:#36312a; }
.social-button svg { width:16px; height:16px; }
.social-button:disabled,.social-icon-button:disabled { opacity:.5; cursor:wait; }
.social-button:focus-visible,.social-icon-button:focus-visible,.community-filters button:focus-visible { outline:2px solid #a99c87; outline-offset:3px; }
.live-setup-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); overflow:auto; }
.live-setup-header { display:flex; gap:15px; align-items:center; padding:22px 24px 18px; border-bottom:1px solid #35322d; }
.live-setup-header div { flex:1; }
.live-setup-header h2 { margin:0 0 6px; font-size:22px; font-weight:600; letter-spacing:-.7px; }
.live-setup-header p { margin:0; color:#a9a49b; font-size:12px; line-height:1.6; }
.live-setup-body { display:grid; grid-template-columns:1.1fr 1fr; gap:22px; padding:22px 24px; }
.live-setup-fields { display:flex; flex-direction:column; gap:13px; min-width:0; }
.live-setup-fields label { display:grid; gap:7px; font-size:12px; color:#d2ccc1; }
.live-optional { display:none; }
.live-setup-fields input,.live-setup-fields textarea,.live-device-select { box-sizing:border-box; width:100%; min-height:39px; padding:9px 10px; border:1px solid #3b3731; border-radius:5px; color:#e8e3d9; background:#101010; font:inherit; font-size:12px; }
.live-setup-fields textarea { min-height:72px; resize:vertical; }
.live-device-select { margin-top:7px; }
.live-device-group { padding:11px 0 0; border-top:1px solid #302d28; }
.live-device-group > div { display:flex; align-items:center; justify-content:space-between; gap:9px; color:#b9b2a6; font-size:12px; }
.live-device-group button { min-height:31px; font-size:11px; }
.live-setup-preview { min-width:0; }
.live-preview-stage { position:relative; aspect-ratio:16/10; overflow:hidden; border:1px solid #37332d; border-radius:6px; background:radial-gradient(at 50% 40%,#292721,#101010 75%); }
.live-preview-stage > video { position:absolute; width:100%; height:100%; object-fit:contain; }
.live-preview-empty { position:absolute; inset:0; display:grid; place-content:center; text-align:center; gap:7px; color:#c5beb1; font-size:12px; }
.live-preview-empty small { color:#8e887e; font-size:11px; }
.live-preview-label { display:block; margin:10px 0 16px; font-size:10px; color:#918b80; }
.live-screen-option { width:100%; }
.live-setup-note { color:#999285; font-size:11px; line-height:1.7; margin:12px 0 0; }
.live-setup-status { display:block; color:#c9bb9d; min-height:32px; font-size:11px; line-height:1.65; margin-top:15px; }
.live-screen-audio { display:flex; align-items:center; gap:7px; color:#aaa397; font-size:11px; margin-top:12px; }
.live-screen-audio input { accent-color:#b3a48c; }
.live-setup-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; border-top:1px solid #35322d; padding:17px 24px; }
.live-setup-footer small { color:#938b7e; font-size:10px; }
#lives-screen .native-live-card { display:grid; grid-template-columns:64px minmax(0,1fr) auto; align-items:center; gap:20px; padding:19px 21px; border:1px solid #35322d; border-radius:7px; background:linear-gradient(115deg,#1c1b19,#131313); }
.native-live-date { padding-right:18px; border-right:1px solid #39342e; display:grid; gap:4px; text-align:center; }
.native-live-date strong { font-size:25px; font-weight:500; line-height:1; }
.native-live-date span { font-size:10px; text-transform:uppercase; color:#a39a8c; }
.native-live-info { min-width:0; }
.native-live-info h2 { font-size:16px; letter-spacing:-.3px; margin:6px 0; overflow-wrap:anywhere; }
.native-live-info p { color:#a9a296; font-size:12px; margin:0; line-height:1.6; overflow-wrap:anywhere; }
.native-live-badge { color:#b9ad97; font-size:9px; letter-spacing:.6px; text-transform:uppercase; }
.native-live-badge.is-live::before { content:""; display:inline-block; width:5px; height:5px; border-radius:50%; background:#bbaa89; margin-right:5px; vertical-align:middle; }
.live-room-top,.live-room-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.live-room-top { margin-bottom:23px; }
.social-back { border:0; background:transparent; color:#bbb5a9; padding:0; font:inherit; font-size:12px; cursor:pointer; }
.live-connection { font-size:11px; color:#b3a78e; }
.live-room-heading { align-items:end; margin-bottom:19px; }
.live-room-heading h1 { font-size:clamp(22px,2.5vw,32px); letter-spacing:-1px; line-height:1.25; margin:6px 0 0; overflow-wrap:anywhere; }
.live-room-count { flex-shrink:0; font-size:11px; color:#9e9586; }
.live-room-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; align-items:start; gap:22px; }
.live-room-main { min-width:0; }
.live-video-stage { position:relative; aspect-ratio:16/9; background:#080808; border:1px solid #37322b; border-radius:8px; overflow:hidden; }
.live-video-stage > video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.live-camera-card { position:absolute; z-index:3; left:65%; top:65%; width:27%; aspect-ratio:16/9; overflow:hidden; border:1px solid #666055; border-radius:7px; background:#151412; box-shadow:0 5px 20px #0005; }
.live-camera-card > video { display:block; width:100%; height:100%; object-fit:contain; }
.live-camera-card[data-editable="true"] { touch-action:none; cursor:grab; }
.live-camera-card.is-adjusting { cursor:grabbing; border-color:#aaa08f; }
.live-camera-toolbar { position:absolute; inset:0 0 auto; display:flex; height:27px; background:linear-gradient(#0a0a0abf,#0a0a0a00); opacity:0; transition:opacity .15s; }
.live-camera-move,.live-camera-reset,.live-camera-resize { border:0; color:#eeeae2; background:transparent; font:inherit; padding:0; touch-action:none; }
.live-camera-move { flex:1; min-width:0; display:flex; gap:5px; align-items:center; padding-left:7px; cursor:grab; font-size:10px; text-align:left; }
.live-camera-move span:first-child { font-size:17px; line-height:1; }
.live-camera-reset { width:28px; font-size:19px; cursor:pointer; }
.live-camera-resize { position:absolute; right:0; bottom:0; width:30px; height:30px; display:grid; place-items:end; padding:3px; cursor:nwse-resize; opacity:.75; background:linear-gradient(135deg,transparent 35%,#0a0a0a8c); }
.live-camera-resize svg { width:19px; height:19px; }
.live-camera-card:hover .live-camera-toolbar,.live-camera-card:focus-within .live-camera-toolbar,.live-camera-card.is-adjusting .live-camera-toolbar { opacity:1; }
.live-camera-move:focus-visible,.live-camera-reset:focus-visible,.live-camera-resize:focus-visible { outline:2px solid #c6bba7; outline-offset:-3px; }
@media (hover:none) { .live-camera-toolbar { opacity:1; } }
.live-video-empty { position:absolute; inset:0; display:grid; gap:8px; place-content:center; text-align:center; background:radial-gradient(at 50% 35%,#24221e,#0b0b0b 75%); color:#cdc5b6; padding:20px; }
.live-video-empty span { font-size:15px; }.live-video-empty small { color:#918878; font-size:11px; }
.live-duration { position:absolute; top:12px; right:12px; padding:5px 8px; border:1px solid #ffffff15; border-radius:4px; background:#151412a6; color:#d2c9b8; font-size:10px; backdrop-filter:blur(8px); }
.live-room-controls { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.live-room-controls .live-end-button { margin-left:auto; }
.live-room-description { font-size:13px; color:#a79e8e; line-height:1.8; margin:19px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.live-chat { display:flex; flex-direction:column; height:clamp(360px,calc((100vw - 650px)*.5625),580px); min-width:0; border:1px solid #37322b; border-radius:8px; overflow:hidden; background:linear-gradient(140deg,#1b1916,#111110); }
.live-chat-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px; border-bottom:1px solid #332e26; }
.live-chat-head strong { font-size:13px; font-weight:600; }.live-chat-head span { font-size:9px; color:#a6987e; }
.live-chat-messages { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:15px; scrollbar-width:thin; scrollbar-color:#4b4438 transparent; }
.live-chat-empty { color:#81776a; font-size:12px; text-align:center; margin:35px 0; }
.live-comment { margin-bottom:15px; overflow-wrap:anywhere; }
.live-comment-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:5px; }
.live-comment strong { font-size:11px; color:#d3c9b5; }.live-comment time { color:#7f7566; font-size:9px; }
.live-comment p { color:#c1b9ab; font-size:12px; line-height:1.6; margin:0; white-space:pre-wrap; }
#live-chat-form { border-top:1px solid #332e26; padding:12px; }
#live-chat-form label { display:block; font-size:10px; color:#a79b84; margin-bottom:7px; }
#live-chat-form > div { display:flex; gap:6px; }
#live-chat-form input { width:100%; min-width:0; height:38px; padding:0 10px; color:#ece4d5; background:#0d0d0d; border:1px solid #41392d; border-radius:5px; font:inherit; font-size:12px; }
#live-chat-form button { flex-shrink:0; width:35px; border:1px solid #5e5240; border-radius:5px; color:#e0d4bf; background:#302a22; cursor:pointer; }
#live-chat-feedback { display:block; min-height:14px; margin-top:8px; color:#8f816c; font-size:9px; line-height:1.5; }
@media (min-width:1600px) { .live-room-layout { grid-template-columns:minmax(0,1fr) 350px; } }
@media (max-width:1100px) { .live-room-layout { grid-template-columns:minmax(0,1fr); gap:18px; } .live-chat { height:370px; } }
@media (max-width:760px) {
  #community-screen .community-feed { grid-template-columns:minmax(0,1fr); gap:11px; }
  #community-screen .social-post { padding:17px; }
  .community-toolbar { align-items:start; flex-wrap:wrap; margin-bottom:13px; }
  .community-filters button { padding:7px 10px; font-size:11px; }
  #community-count { font-size:10px; align-self:center; }
  .social-post h2 { font-size:16px; }.social-post-body { font-size:12px; }
  .live-setup-body { grid-template-columns:minmax(0,1fr); padding:17px; gap:18px; }
  .live-setup-header { padding:18px 17px 14px; }.live-setup-header h2 { font-size:20px; }
  .live-setup-footer { padding:14px 17px; }.live-setup-footer small { max-width:120px; line-height:1.6; }
  .live-preview-stage { aspect-ratio:16/9; }
  #lives-screen .native-live-card { grid-template-columns:45px minmax(0,1fr); gap:14px; padding:15px; }
  .native-live-date { padding-right:12px; }.native-live-date strong { font-size:22px; }
  .native-live-card > button { grid-column:2; justify-self:start; }.native-live-info h2 { font-size:14px; }
  .live-room-top { margin-bottom:20px; gap:10px; }.live-connection { font-size:10px; }
  .live-room-heading { flex-wrap:wrap; align-items:start; gap:10px; margin-bottom:15px; }
  .live-room-heading .section-kicker { font-size:8px; }.live-room-heading h1 { font-size:24px; }
  .live-room-controls { gap:6px; }.live-room-controls .social-button { min-height:35px; font-size:11px; padding:0 10px; }
  .live-room-controls .live-end-button { margin-left:0; }
  .live-chat { height:350px; }.live-room-description { margin:14px 0 0; font-size:12px; }
  .live-video-empty span { font-size:12px; }.live-video-empty small { font-size:10px; }
  .social-confirm-body { padding:22px; }.social-dialog-actions { padding:15px 22px; }
}
@media (prefers-reduced-motion:reduce) { .live-setup-dialog,.social-confirm-dialog { scroll-behavior:auto; } }

/* Preparation changes step, not stream: the stage and webcam stay mounted. */
.live-setup-dialog { width:min(880px,calc(100vw - 32px)); }
.live-setup-dialog[data-step="3"] { width:min(1120px,calc(100vw - 32px)); }
.live-setup-steps { display:flex; gap:24px; margin:0; padding:14px 24px; border-bottom:1px solid #35322d; list-style:none; }
.live-setup-steps li { display:flex; gap:8px; color:#78736b; font-size:11px; }
.live-setup-steps li[aria-current="step"] { color:#eee7db; }
.live-setup-fields [data-step-panel] { display:flex; flex-direction:column; gap:16px; }
.live-setup-dialog [hidden] { display:none !important; }
.live-setup-dialog[data-step="3"] .live-setup-fields { display:none; }
.live-setup-dialog[data-step="3"] .live-setup-body { grid-template-columns:minmax(0,1fr); gap:0; }
.live-setup-dialog[data-step="3"] .live-preview-stage { aspect-ratio:16/9; max-height:calc(100dvh - 370px); min-height:160px; }
.live-final-tools { display:flex; gap:8px; margin-top:8px; }
.live-final-tools .social-button { flex:1; }
.live-setup-footer { position:sticky; bottom:0; z-index:5; background:#171613f2; backdrop-filter:blur(16px); }
.live-setup-footer > div { display:flex; flex-wrap:wrap; gap:8px; justify-content:end; }
.live-setup-preview .live-capture-quality { margin:0 0 12px; }
.live-preview-stage { aspect-ratio:16/9; width:100%; }
.live-video-stage { width:100%; }
.live-preview-actions { display:flex; gap:8px; }
.live-preview-actions .live-screen-option { flex:1; width:auto; }
.live-preview-actions .live-final-tools { margin-top:0; }
.live-fullscreen-tools { display:none; }
.live-video-stage:fullscreen { width:100vw; height:100dvh; max-height:none; aspect-ratio:auto; border:0; border-radius:0; background:#000; }
.live-video-stage:fullscreen .live-fullscreen-tools { display:flex; position:absolute; z-index:5; bottom:20px; left:50%; transform:translateX(-50%); gap:8px; padding:8px; border:1px solid #ffffff18; border-radius:8px; background:#141412c9; backdrop-filter:blur(16px); }
.live-video-stage:fullscreen .live-camera-card { z-index:3; }
@media (min-width:1101px) {
  #live-room-screen .live-video-stage:not(:fullscreen) { height:var(--live-player-height,auto); }
  #live-room-screen .live-chat { height:var(--live-player-height,clamp(360px,calc((100vw - 650px)*.5625),580px)); }
  #live-room-screen .live-room-description:empty { display:none; }
}
@media (min-width:761px) and (min-height:800px) {
  .live-setup-dialog[data-step="3"] { overflow:hidden; }
  .live-setup-dialog[data-step="3"] form { display:flex; flex-direction:column; height:min(840px,calc(100dvh - 42px)); }
  .live-setup-dialog[data-step="3"] .live-setup-body { flex:1; min-height:0; }
  .live-setup-dialog[data-step="3"] .live-setup-preview { display:flex; flex-direction:column; min-height:0; }
  .live-setup-dialog[data-step="3"] .live-preview-stage { flex:1; height:auto; min-height:120px; max-height:none; aspect-ratio:auto; }
  .live-setup-dialog[data-step="3"] .live-preview-label { margin:10px 0 5px; }
  .live-setup-dialog[data-step="3"] .live-setup-header,.live-setup-dialog[data-step="3"] .live-setup-steps,.live-setup-dialog[data-step="3"] .live-setup-footer { flex-shrink:0; }
}
@media (max-width:760px) {
  .live-setup-steps { padding:12px 17px; gap:14px; }.live-setup-steps li { font-size:10px; gap:5px; }
  .live-setup-footer { align-items:center; }.live-setup-footer small { max-width:85px; }
  .live-setup-dialog[data-step="3"] .live-preview-stage { min-height:140px; max-height:calc(100dvh - 380px); }
  .live-video-stage:fullscreen .live-fullscreen-tools { bottom:max(12px,env(safe-area-inset-bottom)); white-space:nowrap; }
  .live-preview-actions { flex-wrap:wrap; }.live-preview-actions .live-screen-option { flex-basis:100%; }.live-preview-actions .live-final-tools { width:100%; }
}
