:root{--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-primary: #3b82f6;--color-primary-hover: #2563eb;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-success: #22c55e;--color-error: #ef4444;--radius: 8px;--shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--page-padding: 1rem;--container-max: 100%;--page-title-size: 1.25rem;--subtitle-size: .875rem;--form-group-margin: .75rem;--touch-min: 44px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--color-bg);color:var(--color-text);min-height:100vh;min-height:100dvh;line-height:1.5;overflow-x:hidden}#app{min-height:100vh;min-height:100dvh}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;min-height:var(--touch-min);font-size:.9375rem;font-weight:500;border:none;border-radius:var(--radius);cursor:pointer;transition:background .2s,transform .1s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-surface-hover)}.btn-secondary:hover{background:var(--color-surface-hover)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{padding:.35rem .75rem;font-size:.8125rem}.btn-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.precall-vb .vb-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.btn-icon{display:inline-flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;min-width:72px;min-height:var(--touch-min)}.btn-icon .btn-icon-svg{display:flex;align-items:center;justify-content:center}.btn-icon .btn-icon-svg svg{width:24px;height:24px}.btn-icon .btn-label{font-size:.75rem;font-weight:500}@media(max-width:400px){.video-toolbar .btn-icon{min-width:56px;padding:.5rem .75rem}.video-toolbar .btn-icon .btn-label{display:none}.video-toolbar .btn-icon .btn-icon-svg svg{width:22px;height:22px}}input,select,textarea{width:100%;padding:.75rem 1rem;font-size:max(16px,1rem);min-height:var(--touch-min);background:var(--color-surface);border:1px solid var(--color-surface-hover);border-radius:var(--radius);color:var(--color-text)}input::placeholder,textarea::placeholder{color:var(--color-text-muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f633}label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.375rem;color:var(--color-text-muted)}@media(min-width:640px){label{font-size:.875rem}}.form-group{margin-bottom:var(--form-group-margin)}.page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(var(--page-padding) + env(safe-area-inset-top,0)) calc(var(--page-padding) + env(safe-area-inset-right,0)) calc(var(--page-padding) + env(safe-area-inset-bottom,0)) calc(var(--page-padding) + env(safe-area-inset-left,0))}.page.video-call{position:fixed;top:0;right:0;bottom:0;left:0;padding:0;align-items:stretch;justify-content:stretch;width:100vw;height:100vh;height:100dvh;overflow:hidden;overscroll-behavior:none;touch-action:pan-x pan-y}.page.video-call .video-call-layout{flex:1;min-height:0}.page-container{width:100%;max-width:var(--container-max)}@media(max-width:639px){.page.join-meeting .page-container,.page.create-meeting .page-container{padding:0 .5rem}.form input,.form select{font-size:16px}}.join-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;min-height:120px}.join-loading p{color:var(--color-text-muted);font-size:.9375rem;margin:0}.join-loading-spinner{width:40px;height:40px;border:3px solid var(--color-surface-hover);border-top-color:var(--color-primary);border-radius:50%;animation:join-loading-spin .8s linear infinite}@keyframes join-loading-spin{to{transform:rotate(360deg)}}.page-container h1,.page-title{font-size:var(--page-title-size);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.page-title-icon{display:inline-flex;color:var(--color-primary)}.page-title-icon svg{width:24px;height:24px}@media(min-width:480px){.page-title-icon svg{width:28px;height:28px}}@media(min-width:640px){:root{--page-padding: 1.5rem;--container-max: 420px;--page-title-size: 1.5rem;--subtitle-size: .9375rem;--form-group-margin: 1rem}}@media(min-width:768px){:root{--page-title-size: 1.75rem}}.label-icon{display:inline-flex;align-items:center;margin-right:.35rem;vertical-align:middle;color:var(--color-text-muted)}.label-icon svg{width:16px;height:16px}.btn .btn-icon-svg{display:inline-flex;align-items:center;margin-right:.35rem}.btn .btn-icon-svg svg{width:18px;height:18px}.subtitle{color:var(--color-text-muted);font-size:var(--subtitle-size);margin-bottom:1.5rem}.form{margin-bottom:1rem}.link-hint{margin-top:1rem;font-size:.875rem;color:var(--color-text-muted)}.link-hint a{color:var(--color-primary);text-decoration:none}.link-hint a:hover{text-decoration:underline}.error-msg{color:var(--color-error);font-size:.875rem;margin-bottom:.5rem}.token-field{border-left:3px solid var(--color-primary);padding-left:.75rem}.required-badge{font-size:.7rem;background:var(--color-primary);color:#fff;padding:.15rem .4rem;border-radius:4px;margin-left:.25rem}.token-hint{font-size:.75rem;color:var(--color-text-muted);margin:.5rem 0}.join-error-panel{padding:1rem;background:var(--color-surface);border-radius:var(--radius);max-width:100%;margin:.5rem}.join-error-panel strong{color:var(--color-error)}.retry-with-token{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-surface-hover)}.retry-with-token label{display:block;margin-bottom:.5rem}.retry-with-token input{margin-bottom:.75rem}.retry-with-token .btn{margin-right:0;margin-bottom:.5rem;display:block;width:100%}@media(min-width:480px){.join-error-panel{padding:1.5rem;max-width:480px;margin:1rem}.retry-with-token .btn{margin-right:.5rem;margin-bottom:0;display:inline-block;width:auto}}.video-call-layout{width:100%;display:flex;flex-direction:column;background:var(--color-bg);padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) 0 env(safe-area-inset-left,0);padding-bottom:calc(90px + env(safe-area-inset-bottom,0));position:relative}@media(max-width:480px){.video-call-layout{padding-bottom:calc(100px + env(safe-area-inset-bottom,0))}}.apply-layout-container{position:absolute;bottom:1rem;left:1rem;z-index:20;transition:opacity .2s}@media(max-width:480px){.apply-layout-container{bottom:.5rem;left:.5rem}.apply-layout-container .btn{padding:.5rem .75rem;font-size:.8125rem}}.apply-layout-container--hidden{visibility:hidden;opacity:0;pointer-events:none}.apply-layout-container .btn-icon-svg{display:inline-flex}.layout-controls-wrap{display:inline-flex;align-items:center;gap:.25rem}.layout-locked-indicator{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--color-text-muted)}.layout-locked-icon{display:inline-flex;flex-shrink:0}.meeting-banner-container{flex-shrink:0;width:100%;min-height:0}.meeting-banner{width:100%;position:relative;aspect-ratio:1920 / 100;min-height:60px;max-height:100px;overflow:hidden;background:var(--color-surface)}@media(max-width:480px){.meeting-banner{min-height:40px;max-height:60px}}.meeting-banner-inner{position:relative;width:100%;height:100%}.meeting-banner-image{display:none;width:100%;height:100%;object-fit:cover;object-position:center;background-color:var(--color-surface)}.meeting-banner-image--loaded{min-height:50px}.meeting-banner-controls{position:absolute;top:8px;right:8px;display:flex;gap:8px;z-index:10}.meeting-banner-controls .btn-sm{padding:.4rem .75rem;font-size:.8125rem}.video-grid{flex:1;display:grid;--grid-cols: 1;--grid-rows: 1;--tile-width: 1fr;--tile-height: 1fr;grid-template-columns:repeat(var(--grid-cols),var(--tile-width));grid-template-rows:repeat(var(--grid-rows),var(--tile-height));gap:8px;padding:8px;overflow:hidden;min-height:0;justify-content:center;align-content:center;justify-items:center;align-items:center}.video-grid:not(.layout-pinned):not(.layout-spotlight) .video-tile{aspect-ratio:unset;min-height:0;min-width:0;width:100%;height:100%}.video-tile{position:relative;aspect-ratio:16/9;background:var(--color-surface);border-radius:10px;overflow:hidden;min-height:0;border:1px solid rgba(255,255,255,.06);box-shadow:0 2px 8px #0003}.video-tile--clickable{cursor:pointer}.video-tile--clickable:hover{border-color:#3b82f666;box-shadow:0 2px 12px #3b82f626}.video-tile .label{position:absolute;bottom:0;left:0;right:0;padding:.4rem .6rem;font-size:.8125rem;font-weight:500;background:#000000bf;color:#fff;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.connection-status{font-size:.65rem;font-weight:600;text-transform:uppercase;padding:.15rem .4rem;border-radius:4px;flex-shrink:0}.connection-status.connection--good{background:#22c55e4d;color:#4ade80}.connection-status.connection--fair{background:#eab3084d;color:#facc15}.connection-status.connection--poor{background:#ef44444d;color:#f87171}.connection-status.connection--reconnecting{background:#3b82f64d;color:#93c5fd;animation:connection-pulse 1s ease-in-out infinite}@keyframes connection-pulse{50%{opacity:.6}}.video-tile video{width:100%;height:100%;object-fit:cover}.video-grid.layout-pinned{display:flex;flex-direction:column;gap:.25rem;justify-content:flex-start;align-content:stretch;justify-items:stretch;align-items:stretch;grid-template-columns:unset;grid-template-rows:unset}.video-grid.layout-pinned .video-tile--pinned{flex:1;min-height:0;aspect-ratio:unset}.video-grid.layout-pinned .layout-main-area{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;flex:1;min-height:0}.video-grid.layout-pinned .layout-main-area .video-tile--pinned{flex:1;min-width:200px}.video-grid.layout-pinned .layout-strip{display:flex;flex-direction:row;flex-wrap:wrap;gap:.25rem;flex:0 0 auto}.video-grid.layout-pinned .layout-strip .video-tile{flex:0 0 80px;height:56px;aspect-ratio:16/9}@media(max-width:480px){.video-grid.layout-pinned .layout-strip .video-tile{flex:0 0 64px;height:45px}.video-grid.layout-pinned .layout-main-area .video-tile--pinned{min-width:0}.video-grid{gap:4px;padding:4px}.video-tile .label{font-size:.7rem;padding:.25rem .4rem}}@media(min-width:768px){.video-grid.layout-pinned{flex-direction:row-reverse;gap:.5rem;padding:.5rem}.video-grid.layout-pinned .video-tile--pinned{flex:1;min-width:0}.video-grid.layout-pinned .layout-main-area .video-tile--pinned{flex:1;min-width:200px}.video-grid.layout-pinned .layout-strip{flex-direction:column;flex-wrap:nowrap;flex:0 0 20%;min-width:140px;max-width:200px;overflow-y:auto;gap:.35rem;padding-right:.35rem}.video-grid.layout-pinned .layout-strip .video-tile{flex:0 0 auto;width:100%;height:auto;aspect-ratio:16/9;min-height:72px}}.video-grid.layout-spotlight{display:flex;flex-direction:column;gap:.25rem;justify-content:flex-start;align-content:stretch;justify-items:stretch;align-items:stretch;grid-template-columns:unset;grid-template-rows:unset}.video-grid.layout-spotlight .video-tile--spotlight{flex:1;min-height:0;aspect-ratio:unset}.video-grid.layout-spotlight .layout-main-area{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;flex:1;min-height:0}.video-grid.layout-spotlight .layout-main-area .video-tile--spotlight{flex:1;min-width:200px}.video-grid.layout-spotlight .layout-strip{display:flex;flex-direction:row;gap:.25rem;flex:0 0 auto}.video-grid.layout-spotlight .layout-strip .video-tile{flex:0 0 72px;height:50px}.video-toolbar-wrapper{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0));pointer-events:none;z-index:100}@media(max-width:480px){.video-toolbar-wrapper{padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0))}}.video-toolbar-pill{display:flex;align-items:center;gap:.25rem;padding:.5rem .75rem;background:#1e293bf2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:999px;box-shadow:0 4px 24px #0006;border:1px solid rgba(255,255,255,.08);pointer-events:auto}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:transparent;color:var(--color-text);cursor:pointer;transition:background .15s,color .15s;text-decoration:none;font-family:inherit}.toolbar-btn:hover{background:#ffffff1a}.toolbar-btn.toolbar-btn-ghost:hover{background:#ffffff14}.toolbar-btn-leave{color:#f87171}.toolbar-btn-leave:hover{background:#f8717133;color:#fca5a5}.toolbar-btn-active{background:var(--color-primary)!important;color:#fff!important}.toolbar-btn--disabled,.toolbar-btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.toolbar-icon{display:flex;align-items:center;justify-content:center}.toolbar-icon svg{width:22px;height:22px;stroke-width:2}.toolbar-divider{width:1px;height:24px;background:#ffffff26;margin:0 .25rem}.info-menu-wrap{position:relative;display:inline-flex}.info-menu-wrap .toolbar-btn{gap:2px}.info-menu-chevron{display:flex;align-items:center;opacity:.8}.info-menu-chevron svg{width:14px;height:14px}.info-menu-dropdown{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:180px;padding:.25rem;background:var(--color-surface);border:1px solid var(--color-surface-hover);border-radius:10px;box-shadow:0 8px 24px #00000059;z-index:1000;opacity:1;visibility:visible;transition:opacity .15s,visibility .15s}.info-menu-dropdown--closed{opacity:0;visibility:hidden;pointer-events:none}.info-menu-item{display:block;width:100%;padding:.5rem .75rem;text-align:left;font-size:.875rem;color:var(--color-text);background:transparent;border:none;border-radius:6px;cursor:pointer;transition:background .1s;font-family:inherit}.info-menu-item:hover{background:#ffffff14}@media(max-width:480px){.info-menu-dropdown{max-height:min(60vh,400px);overflow-y:auto;-webkit-overflow-scrolling:touch;min-width:200px}.info-menu-item{padding:.6rem .875rem;min-height:44px}}.toolbar-btn-sm{width:auto;padding:0 .875rem;font-size:.8125rem;font-weight:500;border-radius:999px}.toolbar-btn-sm .toolbar-icon{display:none}@media(max-width:480px){.video-toolbar-pill{max-width:calc(100vw - 1rem);flex-wrap:wrap;justify-content:center;gap:.2rem;padding:.4rem .5rem}.toolbar-btn{width:44px;height:44px}.toolbar-icon svg{width:20px;height:20px}.toolbar-btn-sm{padding:0 .6rem;font-size:.75rem}.layout-controls-wrap .layout-locked-label{display:none}}@media(max-width:360px){.video-toolbar-pill{max-width:calc(100vw - .5rem);padding:.35rem .4rem}}.video-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0));justify-content:center;background:var(--color-surface);border-top:1px solid var(--color-surface-hover)}.btn-active{background:var(--color-primary)!important;color:#fff!important}.btn-ghost{background:transparent;color:var(--color-text-muted);padding:.35rem;min-width:auto}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text)}.lobby-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#0f172ae6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .2s ease,visibility .2s ease}.lobby-overlay--hidden{opacity:0;visibility:hidden;pointer-events:none}.lobby-overlay-content{text-align:center;padding:2rem}.lobby-overlay-text{font-size:1.125rem;color:var(--color-text-muted)}.video-call-layout{position:relative}.participants-panel{position:absolute;top:.5rem;left:.5rem;bottom:calc(90px + env(safe-area-inset-bottom,0));width:100%;max-width:360px;background:#1e293bfa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:10;transition:transform .25s ease,opacity .25s ease;box-shadow:0 8px 32px #0006}.participants-panel--closed{transform:translate(calc(-100% - 1rem));pointer-events:none;opacity:0}@media(max-width:480px){.participants-panel{top:0;left:0;right:0;max-width:100%;max-height:70vh;border-radius:12px 12px 0 0}.participants-panel--closed{transform:translateY(100%)}}.participants-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);font-weight:600;font-size:.9rem}.participants-panel-actions{display:flex;align-items:center;gap:.25rem}.participants-list{flex:1;-webkit-overflow-scrolling:touch;overflow-y:auto;padding:.5rem;min-height:120px}.participant-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-radius:var(--radius);margin-bottom:.25rem}.participant-item:hover{background:var(--color-surface-hover)}.participant-item--self{background:#3b82f626}.participant-name{font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.35rem}.participant-role{font-size:.65rem;font-weight:600;text-transform:uppercase;padding:.15rem .4rem;border-radius:4px}.participant-role--host,.participant-role--moderator{background:var(--color-primary);color:#fff}.participant-role--presenter{background:#22c55e40;color:var(--color-success)}.participant-actions{display:flex;align-items:center;gap:.25rem}.participant-status{display:flex;gap:.35rem;color:var(--color-text-muted)}.participant-status--inline{margin-left:.25rem;opacity:.8}.participant-badge{display:inline-flex;align-items:center;color:var(--color-primary)}.participant-badge--hand{color:#f59e0b}.participant-badge--screen{color:var(--color-primary)}.participant-more-wrap{position:relative}.participant-more-btn{padding:.25rem}.participant-more-menu{position:absolute;right:0;top:100%;margin-top:.25rem;min-width:140px;background:var(--color-surface);border:1px solid rgba(255,255,255,.08);border-radius:8px;box-shadow:0 4px 12px #0000004d;padding:.25rem;z-index:60;transition:opacity .15s ease,visibility .15s ease}.participant-more-menu--closed{opacity:0;visibility:hidden;pointer-events:none}.participant-more-item{display:block;width:100%;padding:.5rem .75rem;text-align:left;font-size:.8125rem;background:transparent;border:none;border-radius:4px;color:var(--color-text);cursor:pointer;white-space:nowrap}.participant-more-item:hover{background:var(--color-surface-hover)}.chat-panel{position:absolute;top:.5rem;right:.5rem;bottom:calc(90px + env(safe-area-inset-bottom,0));width:100%;max-width:360px;background:#1e293bfa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:10;transition:transform .25s ease,opacity .25s ease;box-shadow:0 8px 32px #0006}.chat-panel--closed{transform:translate(calc(100% + 1rem));pointer-events:none;opacity:0}@media(max-width:480px){.chat-panel{top:0;right:0;left:0;max-width:100%;border-radius:12px 12px 0 0}.chat-panel--closed{transform:translateY(100%)}}.side-panel{position:absolute;top:.5rem;right:.5rem;bottom:calc(90px + env(safe-area-inset-bottom,0));width:100%;max-width:320px;background:#1e293bfa;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:12px;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:10;transition:transform .25s ease,opacity .25s ease;box-shadow:0 8px 32px #0006}.side-panel--closed{transform:translate(calc(100% + 1rem));pointer-events:none;opacity:0}@media(max-width:480px){.side-panel{top:auto;right:0;left:0;bottom:calc(90px + env(safe-area-inset-bottom,0));max-width:100%;max-height:70vh;border-radius:12px 12px 0 0}.side-panel--closed{transform:translateY(100%)}}.side-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-surface-hover);font-weight:600;font-size:.9375rem}.side-panel-body{flex:1;overflow-y:auto;padding:1rem;-webkit-overflow-scrolling:touch}.side-panel-body .form-group{margin-bottom:1rem}.side-panel-body .form-group:last-child{margin-bottom:0}.side-panel-body .vb-options{display:flex;flex-wrap:wrap;gap:.5rem}.session-details-body{padding:1rem}.session-details-content{font-size:.9375rem;line-height:1.5}.session-details-loading,.session-details-empty{color:var(--color-text-muted);font-style:italic}.session-details-title{font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.session-details-subtitle{font-size:1rem;font-weight:600;color:var(--color-text-muted);margin-bottom:.75rem}.session-details-description{margin-bottom:1rem;white-space:pre-wrap}.session-details-speakers{display:flex;flex-direction:column;gap:1rem}.session-details-speaker{display:flex;gap:.75rem;padding:.75rem;background:var(--color-bg);border-radius:var(--radius)}.session-details-speaker-img{width:64px;height:64px;object-fit:cover;border-radius:50%;flex-shrink:0}.session-details-speaker-info{flex:1;min-width:0}.session-details-speaker-name{font-weight:600;margin-bottom:.25rem}.session-details-speaker-desc{font-size:.8125rem;color:var(--color-text-muted);line-height:1.4}.agenda-body{display:flex;flex-direction:column;padding:0;min-height:0}.agenda-list{flex-shrink:0;padding:.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:.25rem;max-height:140px;overflow-y:auto}.agenda-item-btn{display:flex;flex-direction:column;align-items:flex-start;padding:.5rem .75rem;border-radius:6px;border:none;background:transparent;color:var(--color-text);cursor:pointer;text-align:left;transition:background .15s}.agenda-item-btn:hover{background:var(--color-surface-hover)}.agenda-item-btn--active{background:var(--color-primary);color:#fff}.agenda-item-title{font-size:.875rem;font-weight:500}.agenda-item-type{font-size:.75rem;opacity:.8}.agenda-viewer{flex:1;min-height:200px;overflow:auto;padding:1rem}.agenda-viewer-content{width:100%;min-height:200px}.agenda-viewer-img{max-width:100%;height:auto;display:block}.agenda-viewer-iframe{width:100%;min-height:400px;border:none;border-radius:var(--radius)}.agenda-loading,.agenda-empty,.agenda-viewer-empty{color:var(--color-text-muted);font-style:italic;padding:1rem}.certificate-body{display:flex;flex-direction:column;padding:0;min-height:0}.certificate-content{display:flex;flex-direction:column;gap:1rem;padding:1rem;overflow-y:auto}.certificate-preview{flex-shrink:0}.certificate-preview-img{max-width:100%;height:auto;display:block;border-radius:var(--radius)}.certificate-download-btn{align-self:flex-start}.certificate-loading,.certificate-empty{color:var(--color-text-muted);font-style:italic;padding:1rem}.certificate-message{padding:.75rem;border-radius:var(--radius);font-size:.875rem}.certificate-message--warning{background:#eab30826;color:var(--color-text)}.announcement-body{display:flex;flex-direction:column;padding:0;min-height:0}.announcement-list{display:flex;flex-direction:column;gap:.75rem;padding:1rem;overflow-y:auto}.announcement-item{padding:.75rem;border-radius:var(--radius);background:var(--color-surface-hover);border:1px solid rgba(255,255,255,.06)}.announcement-item-title{font-weight:600;font-size:.9375rem;margin-bottom:.25rem}.announcement-item-desc{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.5rem}.announcement-show-btn{margin-top:.25rem}.announcement-loading,.announcement-empty{color:var(--color-text-muted);font-style:italic;padding:1rem}.announcement-overlay{position:absolute;top:0;left:0;right:0;z-index:100;padding:.75rem 1rem;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 2px 8px #0003}.announcement-overlay--hidden{display:none}.announcement-overlay-content{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1}.announcement-overlay-text{margin:0;font-size:.9375rem;flex:1}.announcement-overlay-dismiss{flex-shrink:0;color:#ffffffe6}.announcement-overlay-dismiss:hover{color:#fff}.poll-body{display:flex;flex-direction:column;padding:0;min-height:0}.poll-list{display:flex;flex-direction:column;gap:.75rem;padding:1rem;overflow-y:auto}.poll-item{padding:.75rem;border-radius:var(--radius);background:var(--color-surface-hover);border:1px solid rgba(255,255,255,.06)}.poll-item-question{font-weight:600;font-size:.9375rem;margin-bottom:.5rem}.poll-launch-btn,.poll-stop-btn,.poll-result-btn{margin-right:.25rem;margin-top:.25rem}.poll-loading,.poll-empty{color:var(--color-text-muted);font-style:italic;padding:1rem}.poll-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:100;min-width:280px;max-width:90%;padding:1rem;background:var(--color-surface);border-radius:var(--radius);box-shadow:0 4px 20px #0000004d;border:1px solid rgba(255,255,255,.1)}@media(max-width:480px){.poll-overlay{min-width:0;width:calc(100% - 2rem);max-width:calc(100vw - 2rem);margin:0 1rem}.poll-option{min-height:44px;padding:.5rem 0}}.poll-overlay--hidden{display:none}.poll-overlay-content{display:flex;flex-direction:column;gap:.75rem}.poll-overlay-question{margin:0;font-size:1rem;font-weight:600}.poll-overlay-options{display:flex;flex-direction:column;gap:.5rem}.poll-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9375rem}.poll-overlay-result--hidden{display:none}.poll-result-row{display:flex;justify-content:space-between;padding:.35rem 0;font-size:.875rem}.poll-overlay-actions{display:flex;gap:.5rem;margin-top:.25rem}.poll-type-badge{font-size:.7rem;font-weight:500;padding:.15rem .4rem;border-radius:4px;background:var(--color-primary);color:#fff;margin-left:.5rem;vertical-align:middle}.poll-rating-scale{display:flex;flex-wrap:wrap;gap:.5rem}.poll-rating-btn{padding:.5rem 1rem;border-radius:var(--radius);background:var(--color-surface-hover);border:1px solid rgba(255,255,255,.2);color:var(--color-text);cursor:pointer;font-size:.9rem;transition:background .2s}.poll-rating-btn:hover{background:var(--color-surface)}.poll-rating-btn--selected{background:var(--color-primary);border-color:var(--color-primary)}.poll-word-cloud-input,.poll-open-ended-input{width:100%;padding:.5rem;border-radius:var(--radius);background:var(--color-surface-hover);border:1px solid rgba(255,255,255,.2);color:var(--color-text);font-size:.9rem}.poll-ranking-list{display:flex;flex-direction:column;gap:.35rem}.poll-ranking-item{display:flex;align-items:center;gap:.5rem;padding:.35rem 0}.poll-rank-up,.poll-rank-down{padding:.2rem .5rem;font-size:.8rem;cursor:pointer;background:var(--color-surface-hover);border:none;color:var(--color-text);border-radius:4px}.poll-points-100{display:flex;flex-direction:column;gap:.5rem}.poll-points-row{display:flex;align-items:center;gap:.5rem}.poll-points-val{min-width:2rem;text-align:center}.poll-points-plus,.poll-points-minus{padding:.25rem .5rem;font-size:.8rem;cursor:pointer;background:var(--color-surface-hover);border:none;color:var(--color-text);border-radius:4px}.poll-points-total{margin-top:.5rem;font-weight:600}.poll-result-bar-row{display:flex;align-items:center;gap:.5rem;padding:.35rem 0}.poll-result-bar-wrap{flex:1;display:flex;align-items:center;gap:.5rem}.poll-result-bar{height:8px;background:var(--color-primary);border-radius:4px;min-width:0;transition:width .3s ease}.poll-result-val{min-width:2.5rem;font-size:.8rem;color:var(--color-text-muted)}.poll-result-correct{border-left:3px solid var(--color-success);padding-left:.5rem}.poll-word-cloud{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center;padding:1rem 0}.poll-word-cloud-item{padding:.25rem .5rem;color:var(--color-primary);font-weight:500;transition:transform .2s ease}.poll-create-btn-wrap{padding:0 1rem 1rem}.poll-create-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center}.poll-create-modal--hidden{display:none}.poll-create-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;cursor:pointer}.poll-create-modal-content{position:relative;background:var(--color-surface);border-radius:var(--radius);padding:1.25rem;max-width:400px;width:calc(100% - 2rem);max-height:90vh;overflow-y:auto}.poll-create-modal-title{margin:0 0 1rem;font-size:1.1rem}.poll-create-form .form-group{margin-bottom:1rem}.poll-create-form label{display:block;margin-bottom:.35rem;font-size:.875rem;color:var(--color-text-muted)}.poll-create-form input,.poll-create-form select{width:100%;padding:.5rem;border-radius:var(--radius);background:var(--color-surface-hover);border:1px solid rgba(255,255,255,.2);color:var(--color-text)}.poll-create-option-row{display:flex;gap:.5rem;margin-bottom:.5rem}.poll-create-option-row input{flex:1}.poll-create-remove-opt{padding:.25rem .5rem;cursor:pointer;background:var(--color-error);border:none;color:#fff;border-radius:4px}.poll-create-modal-actions{display:flex;gap:.5rem;margin-top:1rem}.poll-create-config--hidden{display:none!important}.question-body{display:flex;flex-direction:column;padding:0;min-height:0}.question-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.question-item{padding:.75rem;border-radius:var(--radius);background:var(--color-surface-hover);border:1px solid rgba(255,255,255,.06)}.question-item-text{font-size:.9375rem}.question-item-meta{font-size:.75rem;color:var(--color-text-muted);margin-top:.25rem}.question-input-row{display:flex;gap:.5rem;padding:.75rem 1rem;border-top:1px solid rgba(255,255,255,.06)}.question-input-row input{flex:1;padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--color-surface-hover);background:var(--color-surface);color:var(--color-text)}.question-empty{color:var(--color-text-muted);font-style:italic;padding:1rem}.iframe-body{padding:0;min-height:300px}.embed-iframe{width:100%;min-height:400px;border:none;border-radius:var(--radius)}.speaker-body{padding:0}.speaker-list{padding:1rem;overflow-y:auto}.speaker-item{display:flex;gap:.75rem;padding:.75rem;border-radius:var(--radius);background:var(--color-surface-hover);margin-bottom:.5rem}.speaker-img{width:48px;height:48px;border-radius:50%;object-fit:cover}.speaker-name{font-weight:600;font-size:.9375rem}.speaker-desc{font-size:.8125rem;color:var(--color-text-muted);margin-top:.25rem}.speaker-loading,.speaker-empty{color:var(--color-text-muted);font-style:italic;padding:1rem}.rating-body{padding:1.5rem}.rating-stars{display:flex;gap:.5rem;margin-bottom:1rem}.rating-star-btn{font-size:2rem;padding:.25rem;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:color .15s,transform .15s}.rating-star-btn:hover{color:#fbbf24;transform:scale(1.1)}.rating-thanks{color:var(--color-primary);font-weight:500}.rating-thanks--hidden{display:none}.caption-body{padding:1rem}.caption-hint{font-size:.875rem;color:var(--color-text-muted);margin-bottom:.75rem}.caption-body input{width:100%;padding:.5rem .75rem;margin-bottom:.5rem;border-radius:var(--radius);border:1px solid var(--color-surface-hover);background:var(--color-surface);color:var(--color-text)}.caption-overlay{position:absolute;bottom:calc(90px + env(safe-area-inset-bottom,0));left:0;right:0;z-index:50;padding:.5rem 1rem;background:#000000bf;color:#fff}@media(max-width:480px){.caption-overlay{bottom:calc(100px + env(safe-area-inset-bottom,0))}}.caption-overlay--hidden{display:none}.caption-overlay-text{margin:0;font-size:.9375rem}.social-wall-body{display:flex;flex-direction:column;padding:0;min-height:0;overflow:hidden}.social-wall-add-row{padding:1rem;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.social-wall-feed{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.social-wall-empty,.social-wall-loading{color:var(--color-text-muted);font-style:italic;padding:1rem;text-align:center}.social-wall-post{background:var(--color-surface-hover);border-radius:var(--radius);border:1px solid rgba(255,255,255,.06);overflow:hidden}.social-wall-post-header{padding:.75rem 1rem;font-weight:600;font-size:.9375rem}.social-wall-post-author{color:var(--color-text)}.social-wall-image{width:100%;display:block;max-height:400px;object-fit:contain;background:var(--color-bg)}.social-wall-caption{padding:.75rem 1rem;font-size:.875rem;color:var(--color-text-muted);border-top:1px solid rgba(255,255,255,.04)}.social-wall-actions{display:flex;align-items:center;gap:1rem;padding:.5rem 1rem;border-top:1px solid rgba(255,255,255,.04)}.social-wall-like-btn,.social-wall-comment-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .5rem;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;border-radius:var(--radius);transition:color .15s,background .15s}.social-wall-like-btn:hover,.social-wall-comment-toggle:hover{color:var(--color-text);background:var(--color-surface)}.social-wall-like-btn--liked{color:var(--color-error)}.social-wall-like-btn svg,.social-wall-comment-toggle svg{flex-shrink:0}.social-wall-comments{padding:.75rem 1rem;border-top:1px solid rgba(255,255,255,.04);display:flex;flex-direction:column;gap:.5rem}.social-wall-comments--collapsed{display:none}.social-wall-comment{font-size:.875rem;color:var(--color-text-muted)}.social-wall-comment-author{font-weight:500;color:var(--color-text);margin-right:.25rem}.social-wall-comment-input-row{display:flex;gap:.5rem;margin-top:.5rem}.social-wall-comment-input{flex:1;padding:.5rem .75rem;border-radius:var(--radius);border:1px solid var(--color-surface-hover);background:var(--color-surface);color:var(--color-text);font-size:.875rem}.social-wall-comment-input:focus{outline:none;border-color:var(--color-primary)}.social-wall-create-preview{margin-bottom:1rem;border-radius:var(--radius);overflow:hidden;max-height:200px;background:var(--color-bg)}.social-wall-create-preview-img{width:100%;display:block;max-height:200px;object-fit:contain}.emoji-buttons{display:flex;gap:.25rem}.emoji-buttons .emoji-btn{padding:.25rem .35rem;font-size:1.1rem}.emoji-fly-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:90;overflow:hidden}.emoji-fly{position:absolute;font-size:2rem;animation:emoji-fly-up 2s ease-out forwards}@keyframes emoji-fly-up{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-80px) scale(1.2)}}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-surface-hover);font-weight:600;font-size:.9375rem}.chat-mode-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.06)}.chat-mode-tabs{display:flex;gap:.25rem}.chat-mode-tab{padding:.35rem .6rem;font-size:.8125rem;border-radius:6px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;transition:background .15s,color .15s}.chat-mode-tab:hover{background:var(--color-surface-hover);color:var(--color-text)}.chat-mode-tab--active{background:var(--color-primary);color:#fff}.chat-private-select{flex:1;min-width:120px;padding:.35rem .6rem;font-size:.8125rem;border-radius:6px;border:1px solid var(--color-surface-hover);background:var(--color-surface);color:var(--color-text)}.chat-private-select--hidden{display:none}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;min-height:0}.chat-message{display:flex;flex-direction:column;gap:.2rem;padding:.5rem .75rem;border-radius:var(--radius);background:var(--color-bg);max-width:85%}.chat-message--self{align-self:flex-end;background:var(--color-primary);color:#fff}.chat-message-sender{font-size:.75rem;font-weight:600;color:var(--color-text-muted)}.chat-message--self .chat-message-sender{color:#ffffffe6}.chat-message-text{font-size:.875rem;word-break:break-word}.chat-message--system{align-self:center;background:var(--color-surface);color:var(--color-text-muted);font-size:.8125rem}.chat-input-row{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--color-surface-hover)}.chat-input-row input{flex:1;min-height:40px}.chat-input-row .btn{padding:.5rem;min-width:auto}.chat-input-row .btn svg{width:18px;height:18px}@media(min-width:480px){.video-tile .label{font-size:.75rem}}@media(min-width:640px){.video-toolbar{padding:1rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}}.precall-container{width:40%;max-width:40vw;min-width:280px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:0}@media(max-width:639px){.precall-container{width:100%;max-width:100%;min-width:0;padding:0 .5rem}.page.precall{align-items:flex-start;padding-top:1rem;overflow-y:auto;-webkit-overflow-scrolling:touch}}.page.precall .form-group{margin-bottom:.6rem}.page.precall .form-group--inline label{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;cursor:pointer}.page.precall .form-group--inline #noise-cancel{width:1rem;height:1rem;min-width:1rem;min-height:1rem;margin:0;flex-shrink:0;accent-color:var(--color-primary)}.page.precall .subtitle{margin-bottom:.75rem}.precall-video-container{position:relative;margin-bottom:.75rem;border-radius:var(--radius);overflow:hidden;background:var(--color-surface);width:100%;aspect-ratio:4/3;max-height:min(240px,40vh);flex-shrink:0}.precall-video-container .video-preview{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.precall-video-container .video-preview>div{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.precall-video-container .video-preview video{width:100%;height:100%;object-fit:cover}@media(max-height:600px){.precall-video-container{max-height:min(180px,32vh)}}.precall-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.precall-actions .btn{flex:1 1 140px;min-width:0}.precall-actions .btn-primary{flex:1 1 100%}@media(min-width:480px){.precall-actions .btn-primary{flex:1 1 auto}}@media(max-width:639px){.btn:not(.btn-icon){padding:.625rem 1.25rem;font-size:.875rem}.link-hint,.error-msg{font-size:.8125rem}}@media(orientation:landscape)and (max-height:500px){.video-call-layout .video-grid{gap:.25rem;padding:.25rem}.video-toolbar,.video-toolbar-wrapper{padding:.5rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0))}.video-toolbar-pill{padding:.35rem .5rem}.toolbar-btn{width:40px;height:40px}.video-toolbar .btn-icon{min-width:56px;padding:.35rem .5rem}.video-toolbar .btn-icon .btn-label{font-size:.65rem}.video-toolbar .btn-icon .btn-icon-svg svg{width:20px;height:20px}.video-tile .label{font-size:.65rem;padding:.15rem .35rem}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:1;visibility:visible;transition:opacity .2s,visibility .2s}.modal--closed{opacity:0;visibility:hidden;pointer-events:none}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;cursor:pointer}.modal-content{position:relative;background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);max-width:420px;width:100%;max-height:90vh;overflow:auto}@media(max-width:480px){.modal{padding:.5rem;align-items:flex-end}.modal-content{max-height:85vh;border-radius:12px 12px 0 0;margin-bottom:env(safe-area-inset-bottom,0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-surface-hover)}.modal-header h3{font-size:1.125rem;margin:0}.modal-body{padding:1.25rem}.modal-body p{margin-bottom:.75rem}.modal-body code{background:var(--color-bg);padding:.15rem .4rem;border-radius:4px;font-size:.875rem}.modal-body .form-input{width:100%;margin-top:.5rem;font-size:.8125rem}.widget-settings-modal-content{max-width:480px}.widget-settings-tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--color-surface-hover)}.widget-settings-tab{padding:.5rem 1rem;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;border-bottom:2px solid transparent;margin-bottom:-1px}.widget-settings-tab:hover{color:var(--color-text)}.widget-settings-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.widget-settings-pane{max-height:50vh;overflow-y:auto}.widget-settings-pane--hidden{display:none}.widget-settings-pane .form-group{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.widget-settings-pane .form-group label{flex:0 0 120px;font-size:.8125rem}.widget-settings-pane .form-group input[type=color]{width:2.5rem;height:2rem;padding:2px;border:1px solid var(--color-surface-hover);border-radius:4px;cursor:pointer}.widget-settings-pane .form-group input[type=text],.widget-settings-pane .form-group input[type=url]{flex:1;min-width:120px}.form-input-sm{max-width:8rem}.widget-settings-actions{display:flex;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-surface-hover)}.widget-settings-status{font-size:.8125rem;color:var(--color-text-muted)}.admin-page .theme-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.theme-btn{padding:.5rem 1rem;border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-surface-hover);cursor:pointer;font-size:.875rem}.theme-btn:hover{background:var(--color-surface-hover)}.theme-btn--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.feature-toggles{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.toggle-row{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.toast-container{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0));left:50%;transform:translate(-50%);z-index:1100;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}@media(max-width:480px){.toast-container{bottom:calc(100px + env(safe-area-inset-bottom,0));left:1rem;right:1rem;transform:none}.toast{max-width:100%}}.toast{background:var(--color-surface);color:var(--color-text);padding:.6rem 1rem;border-radius:var(--radius);box-shadow:var(--shadow);font-size:.875rem;max-width:90vw;pointer-events:auto;cursor:pointer;animation:toast-in .2s ease}.toast--exit{animation:toast-out .2s ease forwards}.toast--success{border-left:4px solid var(--color-success)}.toast--warning{border-left:4px solid #f59e0b}.toast--info{border-left:4px solid var(--color-primary)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}
