:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#12213a;background:#eef4fb;--blue:#0b63f6;--blue2:#2c8cff;--cyan:#5bd3ff;--ink:#12213a;--muted:#66758c;--line:#dfe7f1;--card:#fff;--danger:#e6424f;--success:#2ea56a;--shadow:0 24px 80px rgba(30,64,124,.12);--shadow-soft:0 12px 42px rgba(28,62,116,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0%,rgba(74,149,255,.18),transparent 28%),radial-gradient(circle at 100% 0%,rgba(74,214,255,.16),transparent 24%),linear-gradient(180deg,#f7fbff,#eef4fb)}button,input,select{font:inherit}button,a{transition:.18s ease}a{text-decoration:none;color:inherit}.app-shell{max-width:1240px;margin:auto;padding:0 28px 60px}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-weight:900;color:#fff;background:linear-gradient(135deg,#0a59db,#1b78ff 48%,#5ad2ff);box-shadow:0 16px 34px #0b63f642}.brand span:last-child,.meeting-brand>div{display:flex;flex-direction:column}.brand strong{font-size:16px}.brand small,.meeting-brand small{font-size:12px;color:var(--muted);margin-top:2px}.back-site{font-size:14px;color:#375173;padding:11px 14px;border-radius:12px;background:#ffffffb3;border:1px solid rgba(208,223,243,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.hero-card{margin-top:54px;padding:62px;border-radius:36px;background:linear-gradient(135deg,#0b63f6fa,#2980fff5 42%,#59d3ffeb);border:1px solid rgba(161,208,255,.65);box-shadow:0 28px 90px #1454b845;position:relative;overflow:hidden;color:#fff}.hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff1a,#fff0);pointer-events:none}.hero-card:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 62%);right:-140px;top:-160px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#1b6ddb;margin-bottom:14px}.hero-card .eyebrow{color:#fffc}.hero-card h1,.auth-card h1,.join-card h1,.prejoin-card h1,.dashboard-head h1{font-size:clamp(34px,5vw,58px);line-height:1.02;letter-spacing:-.04em;margin:0 0 18px;max-width:760px}.hero-card p{max-width:690px;font-size:20px;line-height:1.55;color:#ffffffe0}.hero-actions,.lesson-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.btn{border:0;border-radius:15px;padding:13px 18px;font-weight:750;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{color:#fff;background:linear-gradient(135deg,#0a59db,#207aff 54%,#58d5ff);box-shadow:0 16px 36px #0b63f63d}.btn.primary:hover{transform:translateY(-1px);box-shadow:0 20px 40px #0b63f64d}.hero-card .btn.primary{background:#fff;color:#0e5de0;box-shadow:0 14px 30px #0627632e}.hero-card .btn.ghost{background:#ffffff29;color:#fff;border:1px solid rgba(255,255,255,.25)}.btn.ghost{background:#eef5ff;color:#1458b6}.btn.subtle{background:#f5f7fa;color:#6c7890}.btn.full{width:100%}.btn.large{padding:16px 18px;font-size:16px}.btn:disabled{opacity:.45;cursor:not-allowed}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.feature-grid article,.panel,.lesson-card{background:#ffffffeb;border:1px solid rgba(221,232,245,.95);border-radius:26px;padding:26px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.feature-grid article{position:relative;overflow:hidden}.feature-grid article:after{content:"";position:absolute;inset:auto -15% -45% auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(43,145,255,.12),transparent 60%)}.feature-grid span{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:18px;font-size:24px;background:linear-gradient(135deg,#e8f2ff,#f8fbff);box-shadow:inset 0 0 0 1px #caddf4e6}.feature-grid h3{margin:14px 0 7px}.feature-grid p,.muted,.hint{color:var(--muted);line-height:1.55}.auth-wrap,.join-wrap{min-height:calc(100vh - 160px);display:grid;place-items:center}.auth-card,.join-card,.prejoin-card{width:min(100%,560px);background:#fffffff0;padding:40px;border-radius:30px;border:1px solid rgba(225,235,247,.95);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.stack{display:grid;gap:16px;margin-top:28px}label{display:grid;gap:8px;font-size:13px;font-weight:700;color:#41536c}input,select{width:100%;border:1px solid #d8e2ef;border-radius:14px;padding:13px 14px;background:#fbfdff;outline:none;color:#14233b}input:focus,select:focus{border-color:#4b9bff;box-shadow:0 0 0 4px #3190ff1f}.code-input{text-transform:uppercase;font-size:26px;letter-spacing:.24em;text-align:center;font-weight:900;padding:16px}.privacy-note{font-size:12px;line-height:1.5;color:#6f7e93;background:#f7f9fc;border-radius:12px;padding:12px 14px;margin-top:16px}.dashboard-head{display:flex;justify-content:space-between;align-items:flex-end;padding:54px 0 28px}.dashboard-head h1{font-size:42px;margin-bottom:8px}.dashboard-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.panel h2,.lessons-section h2{margin:0 0 14px;font-size:20px}.inline-form{display:grid;grid-template-columns:1fr auto;gap:10px}.teacher-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.teacher-form input:first-child{grid-column:1/-1}.lessons-section{margin-top:26px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-title h2{margin:0}.section-title span{background:linear-gradient(135deg,#e9f2ff,#f7fbff);color:#1b61c7;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;border:1px solid #d9e8fb}.lesson-list{display:grid;gap:15px}.lesson-top{display:flex;justify-content:space-between;gap:20px}.lesson-top h3{font-size:21px;margin:10px 0}.status{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#8893a4}.status.live{color:#198752}.lesson-code{min-width:78px;text-align:center;background:linear-gradient(135deg,#f3f7fc,#fcfdff);border-radius:16px;padding:10px 14px;border:1px solid #e1eaf4}.lesson-code small{display:block;color:#7a899e;font-size:10px;text-transform:uppercase}.lesson-code strong{font-size:20px;letter-spacing:.12em}.link-box{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e4ebf3;border-radius:13px;padding:8px 10px 8px 14px;color:#5d6e84;font-size:13px}.link-box span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.icon-btn{width:36px;height:34px;border:0;border-radius:10px;background:#eaf3ff;color:#1764ca;cursor:pointer}.empty,.center-card{background:#fff;border:1px dashed #d7e2ef;border-radius:24px;padding:40px;text-align:center;color:#6b7a91}.center-card{margin:100px auto;max-width:600px;border-style:solid;box-shadow:var(--shadow)}.error-icon{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#eef5ff,#f6fbff);color:#1266d5;display:grid;place-items:center;font-size:28px;font-weight:900;margin:0 auto 18px;border:1px solid #d7e7ff}.prejoin-layout{min-height:calc(100vh - 110px);display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}.preview-panel{background:linear-gradient(135deg,#0d1a30,#102445 56%,#163b73);border-radius:32px;padding:18px;box-shadow:0 30px 90px #061e4b40}.preview-video{aspect-ratio:16/10;border-radius:22px;overflow:hidden;position:relative;background:#111a2b}.preview-video video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.preview-placeholder{position:absolute;inset:0;display:none;place-items:center;color:#cbd6e6;background:radial-gradient(circle at 50% 30%,rgba(51,112,194,.35),transparent 40%),#111a2b}.preview-name{position:absolute;left:14px;bottom:14px;color:#fff;background:#070f1db8;padding:7px 10px;border-radius:9px;font-size:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.device-toggles{display:flex;gap:10px}.device-toggle{flex:1;border:1px solid #dbe4f0;background:#f7f9fc;border-radius:13px;padding:12px;cursor:pointer;color:#7c8796}.device-toggle.active{background:linear-gradient(135deg,#eaf4ff,#f5fbff);border-color:#8bc2ff;color:#125ebd}.room-page{background:#06101f;color:#fff;overflow:hidden}.room-loading{height:100vh;display:grid;place-items:center;align-content:center;gap:18px}.spinner{width:40px;height:40px;border:4px solid #223047;border-top-color:#2d8cff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.meeting{height:100vh;display:grid;grid-template-rows:64px 1fr 86px;background:radial-gradient(circle at 20% 0%,rgba(27,122,255,.12),transparent 25%),#09111f}.meeting-top{display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #172238;background:#09111fe0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.meeting-brand{display:flex;align-items:center;gap:10px}.brand-mark.small{width:34px;height:34px;border-radius:11px}.meeting-brand small{color:#788ba5}.meeting-state{font-size:12px;color:#95a6bc}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#31d27c;margin-right:6px;box-shadow:0 0 0 5px #31d27c14}.meeting-body{min-height:0;display:flex}.video-grid{flex:1;padding:16px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));grid-auto-rows:minmax(180px,1fr);overflow:auto;align-content:center}.video-tile{position:relative;background:linear-gradient(180deg,#111b2c,#0f1827);border:1px solid #1d2b42;border-radius:18px;overflow:hidden;min-height:190px;display:grid;place-items:center;box-shadow:inset 0 1px #ffffff08}.video-tile.speaking{border-color:#2c8fff;box-shadow:0 0 0 2px #2c8fff29,0 18px 40px #07112247}.participant-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.participant-video.screen-video{object-fit:contain;background:#050910}.avatar-fallback{width:72px;height:72px;border-radius:24px;display:grid;place-items:center;font-size:26px;font-weight:850;background:linear-gradient(135deg,#1352a8,#3090ff 55%,#65ddff);color:#dcecff;box-shadow:0 18px 45px #236fe142}.tile-footer{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;display:flex;justify-content:space-between;align-items:center;background:#060c17ad;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:7px 9px;font-size:12px}.tile-icons{white-space:nowrap}.teacher-chip{position:absolute;z-index:2;right:10px;top:10px;background:linear-gradient(135deg,#1669e8,#55cfff);color:#fff;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:800}.control-bar{height:86px;background:#09111fe0;border-top:1px solid #172238;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.control{min-width:76px;height:62px;background:transparent;border:0;border-radius:13px;color:#96a7bc;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative}.control span{font-size:20px;filter:grayscale(1)}.control small{font-size:10px}.control:hover,.control.active{background:linear-gradient(135deg,#15243a,#19355a);color:#fff}.control.active span{filter:none}.control.leave{background:#321924;color:#ff9aa4}.control.leave:hover{background:#4b1d29}.badge{position:absolute;right:10px;top:6px;background:#1672f2;color:#fff;border-radius:99px;min-width:18px;height:18px;padding:0 5px;font-size:10px;display:grid;place-items:center}.hidden{display:none!important}.side-panel{width:0;overflow:hidden;background:#0e1828;border-left:1px solid #1a2a40;transition:width .2s ease;display:flex;flex-direction:column}.side-panel.open{width:340px}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:19px;border-bottom:1px solid #1c2a3e}.panel-head h3{margin:0 0 3px;font-size:16px}.panel-head small{color:#71869f}.panel-close{border:0;background:#17263a;color:#a9b6c8;width:32px;height:32px;border-radius:9px;font-size:21px;cursor:pointer}.chat-list{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px}.chat-message{align-self:flex-start;max-width:88%;background:#15243a;border-radius:13px 13px 13px 4px;padding:10px 11px}.chat-message.mine{align-self:flex-end;background:linear-gradient(135deg,#155fc8,#2e90ff);border-radius:13px 13px 4px}.chat-message strong{font-size:11px;color:#a7c8fa}.chat-message.mine strong{color:#dcecff}.chat-message p{margin:4px 0 3px;font-size:13px;line-height:1.4}.chat-message small{font-size:9px;color:#8295ac}.chat-form{display:grid;grid-template-columns:1fr 42px;gap:8px;padding:12px;border-top:1px solid #1b2a40}.chat-form input{background:#142239;border-color:#213450;color:#fff}.chat-form button{border:0;border-radius:11px;background:linear-gradient(135deg,#176de8,#4fcfff);color:#fff}.participant-list{padding:8px 12px;overflow:auto}.participant-row{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px 4px;border-bottom:1px solid #15243a}.mini-avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,#19375d,#236fca);display:grid;place-items:center;font-size:12px;font-weight:800}.participant-meta{display:flex;flex-direction:column;gap:2px}.participant-meta small{font-size:10px;color:#7689a2}.teacher-controls{margin-top:auto;padding:14px;border-top:1px solid #1b2a40}.teacher-controls h4{font-size:11px;color:#91a2b7;text-transform:uppercase;letter-spacing:.08em;margin:0 0 10px}.permission-row{display:flex;align-items:center;gap:10px;color:#fff;padding:9px 0}.permission-row>span{display:flex;flex:1;flex-direction:column}.permission-row strong{font-size:12px}.permission-row small{font-size:10px;color:#71859e}.permission-row input{display:none}.permission-row i{width:38px;height:22px;border-radius:999px;background:#29394d;position:relative;cursor:pointer}.permission-row i:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.18s}.permission-row input:checked+i{background:linear-gradient(135deg,#176be7,#49ceff)}.permission-row input:checked+i:after{left:19px}.toast{position:fixed;z-index:9999;right:22px;top:20px;background:#132139;color:#fff;border:1px solid #29415f;border-radius:14px;padding:12px 16px;box-shadow:0 14px 40px #00000040;transform:translateY(-15px);opacity:0;transition:.2s;max-width:360px}.toast.show{transform:none;opacity:1}.toast.error{border-color:#7a3040}.toast.success{border-color:#236948}@media(max-width:900px){.feature-grid,.dashboard-grid,.prejoin-layout{grid-template-columns:1fr}.hero-card{padding:40px}.prejoin-layout{padding:20px 0}.preview-panel{order:2}.side-panel.open{position:absolute;z-index:20;right:0;top:64px;bottom:86px;width:min(92vw,360px)}.control{min-width:58px}.control small{display:none}.control-bar{gap:2px}.meeting-brand strong{max-width:55vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}@media(max-width:620px){.app-shell{padding:0 16px 40px}.site-header{height:68px}.back-site{display:none}.hero-card{margin-top:34px;padding:30px 24px}.hero-card p{font-size:16px}.feature-grid{grid-template-columns:1fr}.auth-card,.join-card,.prejoin-card{padding:26px}.dashboard-head{padding-top:30px;align-items:flex-start}.inline-form,.teacher-form,.two{grid-template-columns:1fr}.teacher-form input:first-child{grid-column:auto}.lesson-top{align-items:flex-start}.lesson-actions .btn{flex:1}.meeting-top{padding:0 12px}.meeting-state{display:none}.video-grid{padding:8px;grid-template-columns:1fr;grid-auto-rows:minmax(180px,1fr)}}.meeting-top-right{display:flex;align-items:center;gap:12px}.hand-alert{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;background:linear-gradient(135deg,#ffc34929,#ff8e3d29);border:1px solid rgba(255,187,66,.34);color:#ffdca5;min-width:200px}.hand-alert strong{display:block;font-size:13px;line-height:1.1}.hand-alert small{display:block;font-size:11px;color:#ffd8a4;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hand-alert-icon{width:26px;height:26px;display:grid;place-items:center;color:#ffc24d}.hand-alert-icon svg{width:20px;height:20px}.control-icon{display:grid;place-items:center;width:26px;height:26px}.control-icon svg,.tile-mic svg,.participant-icons svg,.mini-hand svg,.tile-hand svg{width:18px;height:18px;display:block}.control.active .control-icon{color:#9eddff}.control.is-off .control-icon{color:#ff7b8c}.control.leave .control-icon{color:inherit}.tile-icons{display:flex;align-items:center;gap:8px}.tile-mic,.participant-icons{display:inline-flex;align-items:center;justify-content:center}.tile-mic.off,.participant-row .participant-icons{color:#ff8a98}.tile-hand{display:inline-flex;align-items:center;gap:4px;background:#ffc24d29;border:1px solid rgba(255,194,77,.28);color:#ffd17a;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700}.video-tile.raised{border-color:#ffbf4d;box-shadow:0 0 0 2px #ffbf4d2e,0 20px 45px #0c152640}.raised-overlay{position:absolute;left:10px;top:10px;z-index:2;display:flex;align-items:center;gap:7px;background:#ffbe49f2;color:#3b2400;padding:8px 10px;border-radius:12px;font-size:12px;font-weight:800;box-shadow:0 10px 26px #ffae003d}.raised-overlay span{width:18px;height:18px;display:grid;place-items:center}.raised-overlay span svg{width:16px;height:16px}.participant-row.raised{background:linear-gradient(135deg,#ffc24d1f,#ffab4014);border-radius:14px;padding:12px 8px;border:1px solid rgba(255,191,77,.18);margin-bottom:6px}.participant-icons{gap:8px;color:#9eddff}.mini-hand{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#ffc24d24;color:#ffcb61}.permission-row.raised{border-left:3px solid #ffbf4d;padding-left:7px}.control-bar .control .badge{top:4px}.control:hover .control-icon svg,.control.active .control-icon svg{filter:none}@media(max-width:900px){.meeting-top-right{gap:8px}.hand-alert{min-width:unset;padding:8px 10px}.hand-alert small{max-width:120px}}@media(max-width:620px){.hand-alert{display:none}.participant-row.raised{padding:10px 6px}}.ui-icon{width:20px;height:20px;display:block;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.header-actions{display:flex;align-items:center;gap:10px}.header-chip{display:inline-flex;align-items:center;gap:7px;padding:10px 12px;border-radius:13px;background:#ffffffad;border:1px solid rgba(211,225,244,.9);color:#5d708b;font-size:12px;font-weight:700;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-chip .ui-icon{width:16px;height:16px;color:#2785f4}.back-site{display:inline-flex;align-items:center;gap:6px}.back-site .ui-icon{width:15px;height:15px}.brand-mark{position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;inset:-45% -20% auto 35%;height:160%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.55),transparent);transform:rotate(18deg)}.brand-mark span{position:relative;z-index:1}.hero-card{min-height:500px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:34px;padding:58px 56px;background:linear-gradient(135deg,#1667f3,#2f8dfc 52%,#65d6f6)}.hero-card h1{font-size:clamp(42px,5vw,68px);max-width:670px}.hero-card h1 span{color:#dff7ff}.hero-content{position:relative;z-index:3}.hero-card .eyebrow.light,.eyebrow.light{display:inline-flex;align-items:center;gap:8px;color:#ffffffd9}.eyebrow.light .ui-icon{width:16px;height:16px}.hero-card p{font-size:18px;max-width:650px}.hero-primary,.hero-secondary{min-height:50px}.hero-primary .ui-icon{width:17px;height:17px}.hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.hero-pills span{display:inline-flex;align-items:center;gap:7px;padding:9px 11px;border-radius:999px;background:#ffffff21;border:1px solid rgba(255,255,255,.18);color:#ffffffeb;font-size:11px;font-weight:750;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-pills .ui-icon{width:15px;height:15px}.hero-visual{position:relative;z-index:2;display:grid;place-items:center}.visual-window{width:min(100%,480px);padding:12px;border-radius:30px;background:#081c4140;border:1px solid rgba(255,255,255,.25);box-shadow:0 30px 70px #0e448f40;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:perspective(900px) rotateY(-4deg) rotateX(1deg)}.visual-top{height:40px;display:flex;align-items:center;gap:6px;padding:0 7px;color:#e9f5ff}.visual-top>span{width:8px;height:8px;border-radius:50%;background:#ffffff8c}.visual-top b{margin-left:8px;font-size:11px;font-weight:750}.visual-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.visual-person{aspect-ratio:16/10;border-radius:16px;display:grid;place-items:center;font-style:normal;font-weight:900;font-size:24px;color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff1f}.visual-person.one{background:linear-gradient(135deg,#142d55,#285692)}.visual-person.two{background:linear-gradient(135deg,#21345e,#594d9c)}.visual-person.three{background:linear-gradient(135deg,#17465f,#197e8d)}.visual-person.four{background:linear-gradient(135deg,#3c315e,#7c4d8d)}.visual-controls{display:flex;justify-content:center;gap:8px;padding:12px 0 3px}.visual-controls i{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#081c415c;color:#fff;border:1px solid rgba(255,255,255,.15)}.visual-controls .ui-icon{width:17px;height:17px}.hero-glow{position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}.hero-glow-one{width:280px;height:280px;right:-80px;top:-90px;background:radial-gradient(circle,rgba(255,255,255,.24),transparent 67%)}.hero-glow-two{width:220px;height:220px;left:42%;bottom:-150px;background:radial-gradient(circle,rgba(255,255,255,.15),transparent 70%)}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;padding:46px 4px 18px}.section-intro h2{font-size:31px;letter-spacing:-.035em;margin:7px 0 0}.section-intro p{max-width:440px;margin:0;color:var(--muted);line-height:1.6}.mini-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#2774d7;font-weight:850}.light-text{color:#cfe8ff}.feature-grid{margin-top:0}.feature-grid article{min-height:225px;padding:27px 28px;position:relative}.feature-grid article:hover{transform:translateY(-3px);box-shadow:0 20px 55px #1e47851c;border-color:#d5e6fb}.feature-icon{width:52px!important;height:52px!important;border-radius:17px!important;display:grid!important;place-items:center!important;color:#176de7;background:linear-gradient(135deg,#e8f3ff,#f5fbff)!important}.feature-icon .ui-icon{width:24px;height:24px}.feature-num{position:absolute;right:24px;top:26px;font-size:12px;letter-spacing:.1em;font-weight:900;color:#d1ddec}.feature-grid h3{font-size:19px;margin-top:20px}.feature-grid p{font-size:14px}.auth-wrap{min-height:calc(100vh - 120px);padding:42px 0 70px}.auth-layout{width:min(100%,980px);display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid #e2ebf6;border-radius:34px;overflow:hidden;box-shadow:0 30px 90px #22498224}.auth-promo{padding:54px;background:linear-gradient(145deg,#0f5fe8,#2f8dfb 58%,#5bcff4);color:#fff;position:relative;overflow:hidden}.auth-promo:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-120px;bottom:-130px;background:radial-gradient(circle,rgba(255,255,255,.25),transparent 65%)}.auth-promo h2{font-size:38px;line-height:1.08;letter-spacing:-.035em;margin:18px 0}.auth-promo p{font-size:15px;line-height:1.65;color:#ffffffd9;max-width:430px}.auth-benefits{display:grid;gap:12px;margin-top:30px}.auth-benefits span{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}.auth-benefits .ui-icon{width:17px;height:17px;color:#dff8ff}.auth-card{width:auto;border:0;border-radius:0;box-shadow:none;padding:50px 50px 45px;display:flex;flex-direction:column;justify-content:center}.card-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;color:#146be8;background:linear-gradient(135deg,#e9f3ff,#f7fbff);border:1px solid #dbeafc;margin-bottom:22px}.card-icon .ui-icon{width:23px;height:23px}.auth-card h1,.join-card h1,.prejoin-card h1{font-size:38px}.input-wrap{display:flex;align-items:center;gap:10px;border:1px solid #d8e2ef;border-radius:14px;background:#fbfdff;padding:0 13px;transition:.18s}.input-wrap:focus-within{border-color:#4b9bff;box-shadow:0 0 0 4px #3190ff1f;background:#fff}.input-wrap>.ui-icon{width:18px;height:18px;color:#8a9db5}.input-wrap input{border:0!important;background:transparent!important;box-shadow:none!important;padding-left:0}.input-wrap.wide{min-width:0}.dashboard-head{padding:48px 0 24px}.dashboard-title h1{font-size:46px}.role-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:999px;background:#eaf4ff;border:1px solid #d8e9fd;color:#1a65c8;font-size:11px;font-weight:850;margin-bottom:12px}.role-pill .ui-icon{width:14px;height:14px}.logout-btn{gap:8px}.logout-btn .ui-icon{width:17px;height:17px}.dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.dashboard-stats article{display:flex;align-items:center;gap:14px;padding:17px 18px;border-radius:21px;background:#ffffffe0;border:1px solid #e3ebf5;box-shadow:0 10px 30px #284e830f}.stat-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center}.stat-icon .ui-icon{width:21px;height:21px}.stat-icon.blue{background:#e8f2ff;color:#176ee8}.stat-icon.cyan{background:#e7faff;color:#0d93af}.stat-icon.violet{background:#f2edff;color:#7955da}.dashboard-stats strong{display:block;font-size:24px;letter-spacing:-.03em}.dashboard-stats small{display:block;color:#7a8a9f;font-size:11px;margin-top:2px}.panel{padding:27px}.panel-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:20px}.panel-heading h2{margin:1px 0 4px}.panel-heading p{margin:0;color:#75859b;font-size:12px;line-height:1.5}.panel-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;color:#176de7;background:#eaf4ff;border:1px solid #dceafd;flex:0 0 auto}.panel-icon.alt{color:#6e57d8;background:#f0edff;border-color:#e3ddff}.panel-icon .ui-icon{width:20px;height:20px}.create-panel{background:linear-gradient(145deg,#fff,#f8fbff)}.teacher-panel{background:linear-gradient(145deg,#fff,#fbfaff)}.inline-form .btn .ui-icon,.teacher-form .btn .ui-icon{width:16px;height:16px}.section-title{justify-content:space-between;align-items:end;margin-top:32px;margin-bottom:14px}.section-title h2{font-size:26px;margin-top:5px}.count-pill{min-width:36px;height:30px;border-radius:999px;display:grid;place-items:center;padding:0 10px;background:#eaf3ff;color:#1b61c7;font-weight:850;font-size:12px}.lesson-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.lesson-card{padding:25px;position:relative;overflow:hidden}.lesson-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(#2f8dfb,#5ad5ef)}.lesson-card.is-ended:before{background:#d7dee8}.lesson-card-head{display:flex;justify-content:space-between;gap:20px}.lesson-title-block h3{font-size:21px;margin:11px 0 7px}.lesson-title-block>small{display:flex;align-items:center;gap:6px;color:#8493a7;font-size:11px}.lesson-title-block>small .ui-icon{width:14px;height:14px}.status{display:inline-flex;align-items:center;gap:6px}.status i{width:7px;height:7px;border-radius:50%;background:#aab4c1}.status.live i{background:#25b36a;box-shadow:0 0 0 5px #25b36a17}.lesson-code{background:linear-gradient(145deg,#f0f6ff,#fbfdff);border:1px solid #dce8f8;min-width:92px}.lesson-code strong{font-size:22px;color:#154f9f}.link-box{margin-top:18px}.link-icon{display:grid;place-items:center;color:#7f92aa}.link-icon .ui-icon{width:15px;height:15px}.icon-btn{display:grid;place-items:center}.icon-btn .ui-icon{width:17px;height:17px}.lesson-actions{margin-top:14px}.lesson-actions .btn{padding:11px 14px;font-size:12px}.lesson-actions .ui-icon{width:16px;height:16px}.empty{grid-column:1/-1;padding:55px}.empty h3{margin:14px 0 6px;color:#233b5d}.empty p{margin:0}.empty-icon{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;margin:auto;background:#eaf4ff;color:#176de8}.empty-icon .ui-icon{width:24px;height:24px}.join-wrap{padding:48px 0 70px}.join-shell{width:min(100%,920px);display:grid;grid-template-columns:.85fr 1.15fr;background:#fff;border-radius:34px;overflow:hidden;border:1px solid #e1eaf6;box-shadow:0 30px 90px #1f4a8724}.join-side{padding:46px;background:linear-gradient(150deg,#0d5eea,#2b87fa 55%,#56c7ee);color:#fff;display:flex;flex-direction:column;justify-content:center}.join-side-icon{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:#ffffff26;border:1px solid rgba(255,255,255,.18);margin-bottom:22px}.join-side-icon .ui-icon{width:25px;height:25px}.join-side h2{font-size:31px;line-height:1.15;margin:9px 0 28px;letter-spacing:-.03em}.join-steps{display:grid;gap:12px}.join-steps span{display:flex;align-items:center;gap:10px;color:#ffffffad;font-size:12px;font-weight:700}.join-steps i{width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#ffffff1f;font-style:normal;border:1px solid rgba(255,255,255,.14)}.join-steps .done,.join-steps .current{color:#fff}.join-steps .current i{background:#fff;color:#1768df}.join-card{width:auto;border:0;border-radius:0;box-shadow:none;padding:46px}.privacy-note{display:flex;align-items:flex-start;gap:10px;background:#f6f9fd;border:1px solid #e5edf7}.privacy-note>.ui-icon{width:19px;height:19px;color:#2a78d8;margin-top:2px}.privacy-note span{display:grid;gap:2px}.privacy-note strong{color:#415a78;font-size:12px}.privacy-note small{font-size:11px;color:#7b8b9e}.prejoin-layout{padding:42px 0 60px}.preview-panel{padding:16px}.preview-head{display:flex;align-items:center;justify-content:space-between;color:#d5e8ff;padding:2px 5px 13px;font-size:11px}.preview-head span{display:flex;align-items:center;gap:7px;font-weight:750}.preview-head small{color:#7895b7}.preview-dot{width:7px;height:7px;border-radius:50%;background:#3ce489;box-shadow:0 0 0 5px #3ce48914}.preview-placeholder{display:none;place-items:center;align-content:center;gap:10px}.preview-placeholder .ui-icon{width:30px;height:30px}.device-toggle{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:750}.device-toggle .ui-icon{width:18px;height:18px}.device-toggle.active{box-shadow:inset 0 0 0 1px #4595ef1a}@media(max-width:1050px){.hero-card{grid-template-columns:1fr;padding:46px}.hero-visual{display:none}.lesson-list,.auth-layout,.join-shell{grid-template-columns:1fr}.auth-promo,.join-side{padding:36px}.dashboard-grid{grid-template-columns:1fr}}@media(max-width:760px){.header-chip{display:none}.hero-card{min-height:unset;padding:34px 28px}.hero-card h1{font-size:42px}.hero-pills{gap:6px}.hero-pills span{font-size:10px}.section-intro{align-items:flex-start;flex-direction:column;gap:10px}.section-intro h2{font-size:26px}.dashboard-stats{grid-template-columns:1fr}.dashboard-head{align-items:flex-start}.auth-promo{display:none}.auth-card,.join-card{padding:32px 26px}.join-side{padding:28px}.join-side h2{font-size:26px}.dashboard-title h1{font-size:38px}.lesson-card-head{align-items:flex-start}.lesson-actions{display:grid;grid-template-columns:1fr 1fr}.lesson-actions .btn:last-child{grid-column:1/-1}.header-actions{gap:5px}}@media(max-width:520px){.site-header{height:70px}.brand small{display:none}.hero-card{margin-top:24px;border-radius:26px;padding:28px 22px}.hero-card h1{font-size:37px}.hero-card p{font-size:15px}.hero-actions{display:grid}.hero-pills{display:none}.feature-grid article{min-height:0}.auth-card h1,.join-card h1,.prejoin-card h1{font-size:32px}.dashboard-head{padding-top:28px}.logout-btn{padding:10px 12px}.dashboard-title h1{font-size:32px}.lesson-code{min-width:82px}.lesson-card{padding:21px}.inline-form{grid-template-columns:1fr}.join-wrap{padding-top:24px}.join-shell{border-radius:26px}.join-side{padding:24px}.prejoin-layout{padding-top:16px}}.brand-mark{overflow:hidden;position:relative}.brand-mark img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.logo-mark{background:none!important;padding:0!important}.logo-mark:before,.logo-mark:after{display:none!important}.meeting-brand .logo-mark{box-shadow:0 12px 28px #0b63f638}.visual-window{position:relative}.visual-logo{position:absolute;right:16px;top:48px;width:52px;height:52px;border-radius:16px;overflow:hidden;box-shadow:0 14px 32px #081c4838;border:1px solid rgba(255,255,255,.55)}.visual-logo img{width:100%;height:100%;object-fit:cover;display:block}.ui-icon.chat-accent,.control-icon .ui-icon.chat-accent{filter:drop-shadow(0 3px 8px rgba(46,144,255,.18))}.preview-video{background:linear-gradient(145deg,#07101d,#0d1b30)}.preview-video video{object-fit:contain!important;background:#07101d}.participant-video{object-fit:contain!important;background:linear-gradient(145deg,#07101d,#0b1728)}.participant-video.screen-video{object-fit:contain!important;background:#040912}.video-tile{border-radius:22px;border-color:#1d2a3d;background:radial-gradient(circle at 50% 35%,rgba(34,95,178,.16),transparent 34%),linear-gradient(145deg,#101a2a,#0b1421);box-shadow:0 14px 34px #00000029;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.video-tile:hover{border-color:#2a3c56}.video-tile.speaking{border-color:#45a2ff!important;box-shadow:0 0 0 3px #3698ff30,0 0 30px #2c8fff29,0 18px 42px #0000003d}.video-tile.speaking:not(.raised){transform:translateY(-2px)}.speaking-chip{position:absolute;z-index:4;left:12px;top:12px;display:flex;align-items:center;gap:7px;padding:7px 10px;border-radius:999px;background:#146fe5eb;color:#fff;border:1px solid rgba(139,201,255,.36);font-size:10px;font-weight:850;box-shadow:0 10px 25px #146fe542;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.speaking-chip i{width:7px;height:7px;border-radius:50%;background:#7ce8ff;box-shadow:0 0 0 4px #7ce8ff1f;animation:speakerPulse 1.15s ease-in-out infinite}@keyframes speakerPulse{0%,to{transform:scale(.85);opacity:.7}50%{transform:scale(1.15);opacity:1}}.tile-footer{left:12px;right:12px;bottom:12px;border-radius:13px;padding:9px 11px;background:linear-gradient(180deg,#080f1bb3,#070d17d6);border:1px solid rgba(255,255,255,.09);box-shadow:0 10px 28px #0003}.avatar-fallback{width:82px;height:82px;border-radius:50%;font-size:27px;background:linear-gradient(135deg,#155cc1,#2b8cf7 58%,#62d9ff);box-shadow:0 18px 46px #1f77e947,inset 0 0 0 1px #fff3}.teacher-chip{right:12px;top:12px;border-radius:999px;padding:7px 10px;background:linear-gradient(135deg,#1669e8,#54cfff);box-shadow:0 10px 25px #207be738}.video-tile.raised .speaking-chip{left:auto;right:12px;top:50px}.control-bar{height:94px;gap:8px;padding:9px 16px 11px;background:linear-gradient(180deg,#08101ed1,#070e1af5);border-top:1px solid rgba(119,151,196,.15);box-shadow:0 -12px 38px #0000002e}.control{min-width:72px;height:76px;padding:0;background:transparent!important;border-radius:15px;color:#8ea2bc;gap:6px}.control .control-icon{width:48px;height:48px;border-radius:50%;background:#18253a;border:1px solid #263853;display:grid;place-items:center;box-shadow:0 8px 18px #00000029;transition:.18s ease;color:#d4dfed}.control .control-icon svg{width:21px;height:21px}.control small{font-size:10px;font-weight:700;letter-spacing:.01em;color:#8195ae}.control:hover .control-icon{transform:translateY(-1px);background:#20324d;border-color:#355072;color:#fff}.control.active .control-icon,.control.panel-active .control-icon{background:linear-gradient(145deg,#185fc4,#2c8cf4);border-color:#459df9;color:#fff;box-shadow:0 9px 24px #1d74e147}.control.active small,.control.panel-active small{color:#dfeeff}.control.is-off .control-icon{background:#34202a;border-color:#66313f;color:#ff8fa0;box-shadow:0 9px 22px #7b1f3429}.control.leave .control-icon{background:linear-gradient(145deg,#b82d45,#e24a5e);border-color:#f06b7b;color:#fff;box-shadow:0 10px 24px #da364e3b}.control.leave:hover .control-icon{background:linear-gradient(145deg,#c7354d,#ed5366);border-color:#ff7d8b}.control.leave small{color:#ff9aa8}.control .badge{right:5px;top:3px;border:2px solid #08101e;background:#ff4d67;box-shadow:0 5px 14px #ff4d6742}.side-panel{background:linear-gradient(180deg,#0d1828,#0a1422);border-left:1px solid rgba(112,146,191,.16);box-shadow:-18px 0 45px #00000029}.side-panel.open{width:372px}.panel-head{min-height:74px;padding:15px 16px;border-bottom:1px solid rgba(112,146,191,.14);background:#101d2fb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.chat-panel-head{display:grid;grid-template-columns:40px 1fr 34px;gap:10px;align-items:center}.panel-title-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;color:#83c8ff;background:linear-gradient(145deg,#152b47,#183a62);border:1px solid #254970}.panel-title-icon svg{width:20px;height:20px}.panel-title-copy{min-width:0}.panel-title-copy h3{margin:0 0 3px;font-size:14px}.panel-title-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-close{width:34px;height:34px;border-radius:11px;background:#17263a;border:1px solid #253952;color:#adc0d7}.panel-close:hover{background:#20334d;color:#fff}.chat-list{padding:16px 14px 18px;gap:13px;background:radial-gradient(circle at 100% 0%,rgba(34,107,205,.08),transparent 30%)}.chat-empty{min-height:100%;display:grid;place-items:center;align-content:center;text-align:center;padding:35px 18px;color:#7990ab}.chat-empty>span{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;margin-bottom:12px;background:#13263e;color:#73bdff;border:1px solid #223d5e}.chat-empty>span svg{width:25px;height:25px}.chat-empty strong{color:#b7c9dd;font-size:13px}.chat-empty small{max-width:230px;line-height:1.5;font-size:10px;margin-top:5px}.chat-message{max-width:94%;padding:0;background:none!important;border-radius:0!important;display:flex;align-items:flex-end;gap:8px}.chat-message.mine{align-self:flex-end;flex-direction:row-reverse}.chat-avatar{width:30px;height:30px;flex:0 0 30px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#17365c,#1c62aa);color:#d9ecff;font-size:9px;font-weight:850;border:1px solid #2a527c}.chat-message.mine .chat-avatar{background:linear-gradient(145deg,#1764ca,#318ff1)}.chat-bubble{padding:10px 11px 9px;border-radius:15px 15px 15px 5px;background:#14243a;border:1px solid #213650;box-shadow:0 8px 20px #0000001f;min-width:88px}.chat-message.mine .chat-bubble{border-radius:15px 15px 5px;background:linear-gradient(145deg,#165fc7,#247deb);border-color:#3387ed}.chat-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.chat-meta strong{font-size:10px;color:#9fc9ff}.chat-meta small{font-size:8px;color:#6f87a2}.chat-message.mine .chat-meta strong{color:#e5f1ff}.chat-message.mine .chat-meta small{color:#b7d5f8}.chat-bubble p{margin:0;color:#e7eef7;font-size:12px;line-height:1.45;word-break:break-word}.chat-form{grid-template-columns:1fr 44px;gap:8px;padding:12px 13px 14px;background:#0d1828;border-top:1px solid rgba(112,146,191,.14)}.chat-form input{height:44px;border-radius:14px;background:#14243a!important;border:1px solid #233953!important;padding:0 13px;color:#fff}.chat-form input::placeholder{color:#70849c}.chat-form input:focus{border-color:#3c8de8!important;box-shadow:0 0 0 3px #3190ff1a!important}.chat-form button{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#1766d1,#2f93fb);display:grid;place-items:center;box-shadow:0 9px 20px #1a6dd838}.chat-form button:hover{transform:translateY(-1px);filter:brightness(1.07)}.chat-form button svg{width:19px;height:19px}.participant-row{border-bottom-color:#7192be1f;padding:11px 5px}.participant-row:hover{background:#2c6fc40f;border-radius:12px}.mini-avatar{border-radius:50%;background:linear-gradient(145deg,#184278,#2677c8);border:1px solid #2b5c8e}.participant-meta strong{font-size:12px}.participant-meta small{font-size:9px}@media(max-width:900px){.side-panel.open{width:min(94vw,372px)}.control-bar{height:84px;padding:7px 8px}.control{min-width:56px;height:66px}.control .control-icon{width:44px;height:44px}.control small{display:none}}@media(max-width:620px){.control-bar{gap:2px}.control{min-width:48px}.control .control-icon{width:42px;height:42px}.meeting{grid-template-rows:60px 1fr 76px}.video-tile{border-radius:17px}.side-panel.open{top:60px;bottom:76px}}.kick-btn{width:30px;height:30px;border-radius:9px;border:1px solid rgba(255,109,126,.26);background:#ff4f6517;color:#ff8796;display:inline-grid;place-items:center;padding:0;cursor:pointer;transition:.18s}.kick-btn:hover{background:#e84f61;color:#fff;border-color:#e84f61;transform:translateY(-1px)}.kick-btn:disabled{opacity:.45;cursor:wait;transform:none}.kick-btn svg{width:16px!important;height:16px!important}.participant-icons{flex-wrap:nowrap}.teacher-empty{color:#73869f;font-size:11px;margin:8px 0 0}
