.kl-panel{position:fixed;inset:3vh 4vw;z-index:5000;overflow:auto;background:#083e33;color:#f3fff9;border:1px solid #4b8b79;border-radius:26px;padding:24px;box-shadow:0 0 0 100vmax #001b15cc;font:16px/1.5 system-ui}.kl-panel[hidden],.kl-panel [hidden]{display:none!important}.kl-panel header{display:flex;gap:14px;align-items:center}.kl-panel header a{color:#72e6b7;font-size:24px;font-weight:800;text-decoration:none}.kl-panel header strong{background:#b92f48;padding:3px 12px;border-radius:20px}.kl-close{margin-left:auto}.kl-panel h1{font-size:clamp(24px,4vw,40px);margin:12px 0}.kl-stage{height:min(52vh,560px);background:#05291f;border-radius:20px;display:grid;place-items:center;overflow:hidden;position:relative}.kl-stage video{width:100%;height:100%;object-fit:contain}.kl-stage span{position:absolute;color:#afd4c5}.kl-has-video span{display:none}.kl-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.kl-panel button,.kl-launch{border:0;border-radius:14px;padding:13px 20px;background:#0b9973;color:white;font:600 16px system-ui;cursor:pointer}.kl-panel button:disabled{opacity:.6}.kl-setup{max-width:600px}.kl-setup label{display:block;margin:14px 0}.kl-setup input:not([type=checkbox]){display:block;width:100%;box-sizing:border-box;padding:13px;border-radius:12px;border:1px solid #80b8a4;background:#f5fff9;color:#123d30;font:inherit}.kl-consent{display:flex!important;gap:10px}.kl-note{color:#b0d1c4;font-size:13px}.kl-status{min-height:24px;color:#c6f2df}body[data-kedu-live=viewer]{margin:0;background:#05291f}.kl-panel button:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(max-width:600px){.kl-panel{inset:0;border-radius:0;padding:18px}.kl-stage{height:48vh}.kl-actions button{flex:1 1 40%;padding:14px 10px}}

/* R8F8H selected Community broadcaster control */
.thread-head .kl-launch{font-size:13px;padding:9px 12px;white-space:nowrap;flex-shrink:0}
.kl-launch[hidden],.kl-panel[hidden]{display:none!important}
@media(max-width:560px){.thread-head .kl-launch{padding:8px 10px;font-size:12px}}


/* R8F8I — dedicated public viewer; broadcaster and group-call UI untouched. */
body[data-kedu-live="viewer"]{margin:0;min-height:100dvh;background:#031b17;color:#f2fff9;overflow-x:hidden}
body[data-kedu-live="viewer"] .kl-panel{position:relative;inset:auto;z-index:auto;box-shadow:none;overflow:visible;box-sizing:border-box;width:min(100%,1440px);min-height:100dvh;margin:0 auto;padding:clamp(14px,2.4vw,32px);border:0;border-radius:0;background:#031b17;display:flex;flex-direction:column;gap:0}
body[data-kedu-live="viewer"] .kl-panel header{width:min(100%,1180px);margin-inline:auto;padding-block:2px 12px;box-sizing:border-box}
body[data-kedu-live="viewer"] .kl-panel h1{width:min(100%,1180px);margin:4px auto 2px;line-height:1.2;font-size:clamp(22px,3vw,34px);overflow-wrap:anywhere}
body[data-kedu-live="viewer"] .kl-status{width:min(100%,1180px);box-sizing:border-box;margin:7px auto 14px;min-height:0;color:#b8e8d5;font-size:14px}
body[data-kedu-live="viewer"] .kl-stage{width:min(100%,1180px);height:auto;aspect-ratio:16/9;max-height:min(72dvh,760px);min-height:240px;margin:0 auto;border-radius:18px;background:#010807;display:flex;align-items:center;justify-content:center;overflow:hidden;isolation:isolate}
body[data-kedu-live="viewer"] .kl-stage video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain!important;object-position:center center;background:#010807}
body[data-kedu-live="viewer"] .kl-actions{width:min(100%,1180px);margin:14px auto 0}
body[data-kedu-live="viewer"] .kl-note{width:min(100%,1180px);margin:18px auto 8px;box-sizing:border-box;line-height:1.5}
body[data-kedu-live="viewer"] .kl-close{min-width:44px;min-height:44px;display:grid;place-items:center;padding:8px}
@media(max-width:700px){
 body[data-kedu-live="viewer"] .kl-panel{padding:calc(12px + env(safe-area-inset-top,0px)) 14px calc(18px + env(safe-area-inset-bottom,0px));min-height:100dvh;gap:0}
 body[data-kedu-live="viewer"] .kl-panel header{padding-bottom:8px}
 body[data-kedu-live="viewer"] .kl-panel header a{font-size:21px}
 body[data-kedu-live="viewer"] .kl-panel h1{margin:12px 0 3px;font-size:clamp(24px,6vw,30px)}
 body[data-kedu-live="viewer"] .kl-status{margin:7px 0 12px}
 body[data-kedu-live="viewer"] .kl-stage{width:100%;height:auto;aspect-ratio:3/4;min-height:0;max-height:min(67dvh,760px);border-radius:15px}
 body[data-kedu-live="viewer"] .kl-note{font-size:12px;margin:14px 0}
 body[data-kedu-live="viewer"] .kl-actions button{min-height:44px}
}
@media(max-width:380px){body[data-kedu-live="viewer"] .kl-panel{padding-inline:10px}body[data-kedu-live="viewer"] .kl-stage{aspect-ratio:4/5;max-height:61dvh}}
@media(orientation:landscape) and (max-height:540px){body[data-kedu-live="viewer"] .kl-stage{aspect-ratio:16/9;max-height:70dvh;min-height:0}body[data-kedu-live="viewer"] .kl-panel{padding-block:8px}}

/* R8F8J-A: preserve complete source frames, including vertical camera and landscape screen capture. */
body[data-kedu-live="viewer"] .kl-stage{aspect-ratio:auto!important;height:min(76dvh,780px)!important;min-height:0!important;max-height:none!important;display:flex!important;justify-content:center;align-items:center;overflow:hidden!important}
body[data-kedu-live="viewer"] .kl-stage video{display:block!important;flex:none!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;background:transparent!important;aspect-ratio:var(--kl-video-ratio,auto)}
body[data-kedu-live="viewer"] .kl-stage:not(.kl-has-video){min-height:240px!important}
@media(max-width:700px){body[data-kedu-live="viewer"] .kl-stage{height:min(70dvh,720px)!important}body[data-kedu-live="viewer"] .kl-panel{padding:12px 12px 18px!important}}
@media(orientation:landscape) and (max-height:540px){body[data-kedu-live="viewer"] .kl-stage{height:min(70dvh,560px)!important}}
.kl-actions button:focus-visible{outline:3px solid #d8fff0;outline-offset:2px}

/* R8F8J-A broadcaster control spacing (no changes to existing calls). */
body:not([data-kedu-live="viewer"]) .kl-panel .kl-actions{display:flex;gap:10px;flex-wrap:wrap}
body:not([data-kedu-live="viewer"]) .kl-panel .kl-actions button{min-height:44px;flex:1 1 155px}
@media(max-width:480px){body:not([data-kedu-live="viewer"]) .kl-panel .kl-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body:not([data-kedu-live="viewer"]) .kl-panel .kl-actions button{min-width:0;overflow-wrap:anywhere;padding:12px 8px;font-size:14px}}

/* Scoped guest co-broadcasting controls */
.kl-guest-controls,.kl-guest-join{margin:14px 0;padding:16px;border:1px solid #34505c;border-radius:16px;display:grid;gap:12px;background:#142530;color:#fff}
.kl-guest-controls[hidden],.kl-guest-join[hidden]{display:none!important}
.kl-guest-invite{display:grid;gap:10px}.kl-guest-controls input,.kl-guest-join input{box-sizing:border-box;max-width:100%;min-height:44px;border-radius:9px;padding:10px;border:1px solid #8096a4}
.kl-guest-controls button,.kl-guest-join button{min-height:44px;border-radius:10px;padding:10px 14px;cursor:pointer}
.kl-guest-item{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid #34505c;overflow-wrap:anywhere}
.kl-guest-item span{min-width:0;flex:1 1 160px}.kl-guest-controls button:disabled,.kl-guest-join button:disabled{opacity:.65;cursor:wait}

/* R8F8J-C: searchable, verified community member picker */
.kl-guest-search-results{max-height:250px;overflow-y:auto;overscroll-behavior:contain;margin:8px 0;border-radius:12px;border:1px solid #45606e;padding:6px}
.kl-guest-search-results p{padding:10px;margin:0}
.kl-guest-search-person{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px 6px;border-bottom:1px solid #34505c}
.kl-guest-search-person span{flex:1 1 130px;min-width:0;overflow-wrap:anywhere}
.kl-guest-search-person button{min-height:44px}
.kl-guest-search-person select{max-width:180px;min-height:44px}
.kl-guest-selection{font-weight:600;overflow-wrap:anywhere}

/* Kedu Live native-feel invitation studio v3 */

.klx-fab{position:fixed;right:18px;bottom:calc(20px + env(safe-area-inset-bottom));border:0;border-radius:99px;background:linear-gradient(120deg,#16bf9a,#087f74);color:#fff;padding:13px 19px;font:700 14px system-ui;box-shadow:0 10px 32px #063b3480;z-index:2400;cursor:pointer}
.klx-overlay{position:fixed;inset:0;z-index:99998;background:#031c1bba;display:flex;align-items:flex-end;justify-content:center;backdrop-filter:blur(9px)}
.klx-overlay[hidden]{display:none!important}
.klx-sheet{width:min(100%,620px);max-height:min(92dvh,950px);overflow:hidden;display:flex;flex-direction:column;background:#f8fcfb;color:#112d2a;border-radius:27px 27px 0 0;box-shadow:0 -16px 60px #001f1d80;font:14px/1.5 system-ui,-apple-system,sans-serif;padding-bottom:env(safe-area-inset-bottom)}
.klx-grab{height:5px;width:48px;border-radius:10px;background:#c8dcd8;align-self:center;margin:10px 0 7px}
.klx-head{display:flex;align-items:center;gap:12px;padding:10px 20px 16px;border-bottom:1px solid #dce9e6}
.klx-head strong{font-size:20px;letter-spacing:-.6px}.klx-head small{display:block;color:#63857c;font-size:12px}.klx-head .klx-x{margin-left:auto}
.klx-iconbtn{background:#edf5f3;color:#135448;border:0;border-radius:14px;padding:9px 12px;font-size:19px;cursor:pointer}
.klx-content{overflow:auto;overscroll-behavior:contain;flex:1;padding:18px 18px 26px}
.klx-tabbar{display:flex;padding:5px;border-radius:16px;background:#e9f3f0;gap:5px;margin:0 0 16px}
.klx-tabbar button{flex:1;padding:11px 8px;border:0;border-radius:12px;background:transparent;font-weight:750;color:#51766e;cursor:pointer}
.klx-tabbar button[aria-selected=true]{background:white;color:#08776a;box-shadow:0 3px 12px #084e4215}
.klx-search{display:flex;align-items:center;gap:9px;background:white;border:1px solid #d3e6e0;padding:12px 14px;border-radius:15px;margin-bottom:13px}
.klx-search input{border:0;outline:0;background:transparent;min-width:0;flex:1;font:inherit;color:#123b34}
.klx-person{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid #e8f1ee;cursor:pointer}
.klx-person input{width:20px;height:20px;accent-color:#078b78;margin-left:auto}
.klx-avatar{height:43px;width:43px;min-width:43px;display:grid;place-items:center;border-radius:15px;color:#0c7766;font-weight:800;background:#dcf4ea}
.klx-person strong{display:block;font-size:14px}.klx-person small{color:#779087;display:block;font-size:12px}
.klx-foot{padding:14px 20px;border-top:1px solid #e1ede9;background:#fff;display:flex;align-items:center;gap:10px}
.klx-primary{background:linear-gradient(125deg,#0ba987,#066b63);color:white!important;border:0;border-radius:14px;padding:13px 18px;font:750 14px system-ui;cursor:pointer;flex:1}
.klx-primary:disabled{opacity:.55;cursor:not-allowed}.klx-muted{color:#698981;font-size:12px}.klx-link{font-weight:750;color:#08756b;text-decoration:none}
.klx-live-card{position:relative;display:flex;align-items:center;gap:12px;background:linear-gradient(110deg,#073b35,#086b5d);color:white;border-radius:19px;padding:16px;margin:10px 6px 16px;box-shadow:0 10px 24px #002e2d25}
.klx-live-card .klx-live-dot{background:#fc466c;color:white;font-size:10px;font-weight:900;border-radius:30px;padding:5px 9px;letter-spacing:1px;white-space:nowrap}
.klx-live-card strong{display:block;line-height:1.3}.klx-live-card small{display:block;opacity:.77;margin-top:3px}.klx-live-card a{background:#fff;color:#086b5d;border-radius:10px;padding:9px 12px;font-weight:800;text-decoration:none;white-space:nowrap}
.klx-live-card.ended{background:#e7f0ee;color:#42675f;box-shadow:none}.klx-live-card.ended .klx-live-dot{background:#81928f}.klx-live-card.ended a{display:none}
.klx-invite{background:white;border:1px solid #e2eeea;padding:14px;border-radius:17px;margin:10px 0}.klx-invite strong{display:block}.klx-invite small{color:#66877f}.klx-invite .klx-primary{width:100%;margin-top:10px}
.klx-help{background:#eef8f5;border-radius:14px;padding:12px 14px;color:#36665b;font-size:13px;margin:12px 0}
.klx-error{color:#9d263e;background:#fff0f2;border-radius:12px;padding:12px;margin:8px 0}.klx-ok{color:#12695b;background:#e7f8ef;border-radius:12px;padding:12px;margin:8px 0}
@media(min-width:700px){.klx-overlay{align-items:center}.klx-sheet{border-radius:27px;max-height:85dvh}}
@media(prefers-reduced-motion:no-preference){.klx-sheet{animation:klx-up .22s ease-out}@keyframes klx-up{from{transform:translateY(25px);opacity:.7}}}

/* Device-only recording actions — native-feel, accessible feedback */
.kl-actions .kl-recording{background:#cf3555!important;color:#fff!important;animation:klrec-pulse 1.9s ease-in-out infinite;}
@keyframes klrec-pulse{50%{box-shadow:0 0 0 5px #cf355544}}
@media(prefers-reduced-motion:reduce){.kl-actions .kl-recording{animation:none}}
