:root{color:#203c47;font-synthesis:none;--dark:#244b5a;--teal:#2f8f9d;--mint:#8ed8c6;--sky:#6da9d8;--border:#dae5e9;background:#f4f7f8;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0 0 16px;font-weight:400}h1{letter-spacing:-1px;font-size:38px}h2{font-size:23px}p{margin:0 0 15px;line-height:1.6}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:20px;height:84px;padding:0 5%;display:flex}.brand{color:var(--dark);white-space:nowrap;align-items:center;gap:12px;font-size:25px;display:flex}.brand-mark{color:#fff;background:var(--dark);border-radius:13px;place-items:center;width:41px;height:41px;display:grid}.brand-light{color:var(--teal)}.topbar-right{align-items:center;gap:16px;display:flex}.primary,.secondary,.quiet{text-align:center;border-radius:10px;padding:12px 18px;line-height:1.2;display:inline-block}.primary{background:var(--dark);color:#fff}.primary:hover{background:#316574}.secondary{color:var(--dark);background:#fff;border:1px solid #b9cfd7}.quiet{color:#567580;background:0 0;padding:9px 12px}.danger{color:#a14b4b}.wide{width:100%}.muted{color:#6b828c;font-size:14px}.eyebrow,.section-kicker{letter-spacing:2px;color:var(--teal);margin-bottom:18px;font-size:11px}.welcome-layout{grid-template-columns:1.3fr 1fr;align-items:center;gap:100px;width:100%;max-width:1190px;margin:auto;padding:65px 35px;display:grid}.intro h1{letter-spacing:-2px;font-size:55px;line-height:1.12}.intro-text{color:#597681;margin:23px 0;font-size:18px}.intro-tags{flex-wrap:wrap;gap:10px;display:flex}.intro-tags span{color:#4e747d;background:#e5efef;border-radius:20px;padding:8px 12px;font-size:12px}.art-grid{grid-template-columns:1.5fr 1fr;gap:12px;width:365px;margin-top:38px;display:grid;transform:rotate(-3deg)}.art-person{color:#244b5a;background:#d2e4ec;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;height:112px;font-size:37px;display:flex;box-shadow:0 12px 20px #244b5a09}.art-person span{margin-top:5px;font-size:12px}.art-person.mint{background:#c9ede2}.art-person.sky{background:#d3e4f3}.art-note{color:#fff;background:#244b5a;border-radius:16px;flex-direction:column;justify-content:center;padding:20px;font-size:15px;line-height:1.5;display:flex}.art-note span{color:#b1e2d7;margin-top:7px;font-size:11px}.login-card,.card{border:1px solid var(--border);background:#fff;border-radius:20px;padding:32px;box-shadow:0 12px 40px #244b5a05}.login-card h2{margin-top:15px;font-size:27px}.login-help{border-top:1px solid var(--border);color:#77909a;margin-top:25px;padding-top:22px;font-size:13px;line-height:1.6}label{flex-direction:column;gap:9px;margin-bottom:18px;font-size:14px;display:flex}input,select{color:#203c47;background:#fff;border:1px solid #cbdbe1;border-radius:9px;width:100%;min-height:44px;padding:12px 13px}small{color:#748b95;font-size:12px;line-height:1.5}.notice{color:#92532c;overflow-wrap:anywhere;background:#fff0e6;border:1px solid #f0d5c4;border-radius:10px;margin:16px 0;padding:12px 15px;font-size:14px;line-height:1.5}.footer{color:#6c8791;border-top:1px solid var(--border);justify-content:space-between;padding:25px 5%;font-size:12px;display:flex}.dashboard{flex:1;width:100%;max-width:1250px;margin:0 auto;padding:42px 35px}.page-head{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.page-head h1,.page-head .eyebrow{margin-bottom:10px}.teacher-name{max-width:360px;margin:25px 0 0}.create-form{grid-template-columns:repeat(2,1fr);gap:0 24px;display:grid}.full{grid-column:1/-1}.form-action{justify-content:flex-end;align-items:center;display:flex}.room-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.room-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:24px}.room-card-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.status-pill{color:#597581;background:#edf2f5;border-radius:20px;padding:6px 11px;font-size:12px}.status-pill.active{color:#2c7555;background:#dcf3e8}.room-card h2{overflow-wrap:anywhere}.room-date{font-size:15px}.room-actions{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.room-actions button{font-size:13px}.empty{text-align:center;color:#66838e;background:#fff;border:1px dashed #b8cfd8;border-radius:16px;grid-column:1/-1;padding:60px}.empty-symbol{color:var(--teal);margin-bottom:15px;font-size:40px;display:block}.modal-backdrop{z-index:20;background:#122d3970;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:20px;width:100%;max-width:520px;max-height:90vh;padding:32px;position:relative;overflow:auto}.modal-close{color:#71909b;background:0 0;font-size:26px;position:absolute;top:12px;right:15px}.invite-result{border-top:1px solid var(--border);margin-top:22px;padding-top:20px}.center-card{flex:1;place-items:center;min-height:calc(100vh - 84px);padding:30px;display:grid}.center-card>.card{width:100%;max-width:570px}.prejoin h1{font-size:30px}.preview{background:#e1eeef;border-radius:14px;place-items:center;height:220px;margin:23px 0;display:grid;overflow:hidden}.preview video{object-fit:cover;width:100%;height:100%}.avatar-large{width:85px;height:85px;color:var(--dark);background:#bfded9;border-radius:50%;place-items:center;font-size:40px;display:grid}.prejoin-toggles{flex-wrap:wrap;gap:20px;display:flex}.prejoin-toggles label{flex-direction:row;align-items:center;font-size:13px}.prejoin-toggles input{width:auto;min-height:auto}.prejoin>.primary{margin-top:15px}.device-selects{grid-template-columns:1fr 1fr;gap:15px;margin-top:20px;display:grid}.role-badge{color:#557984;background:#e9f1f3;border-radius:20px;padding:8px 12px;font-size:12px}.connection{color:#647e88;align-items:center;gap:9px;font-size:12px;display:flex}.dot{background:#62b59a;border-radius:50%;width:7px;height:7px}.muted-dot{background:#a6b7bd}.room-shell{flex-direction:column;min-height:100vh;display:flex}.room-shell .topbar{height:72px;padding:0 28px}.meeting-layout{flex:1;grid-template-columns:minmax(0,1fr) 310px;height:calc(100vh - 158px);min-height:450px;display:grid}.meeting-main{padding:24px 28px;overflow:auto}.meeting-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.meeting-heading h1{letter-spacing:-.4px;margin-bottom:5px;font-size:24px}.meeting-heading .muted{font-size:12px}.meeting-heading .quiet{white-space:nowrap;font-size:12px}.video-stage{background:#e5eef0;border-radius:17px;place-items:center;height:310px;max-height:45vh;display:grid;position:relative;overflow:hidden}.stage-welcome{text-align:center;color:#698591}.stage-welcome h2{margin-bottom:6px;font-size:22px}.stage-welcome p{font-size:13px}.stage-orbit{color:#3b727e;border:1px solid #bad1d9;border-radius:50%;place-items:center;width:95px;height:95px;margin:33px auto 34px;font-size:20px;display:grid;box-shadow:0 0 0 18px #fff4,0 0 0 35px #ffffff25}.screen-tile{background:#102833;width:100%;height:100%;position:relative}.screen-tile video{object-fit:contain;width:100%;height:100%}.screen-tile span,.video-tile span{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#183945c9;border-radius:7px;max-width:95%;padding:6px 9px;font-size:12px;position:absolute;bottom:10px;left:10px;overflow:hidden}.video-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-top:15px;display:grid}.video-tile{aspect-ratio:16/10;background:#c3dce2;border-radius:12px;width:100%;max-height:210px;position:relative;overflow:hidden}.video-tile video{object-fit:cover;width:100%;height:100%}.camera-hint{color:#81979e;text-align:center;grid-column:1/-1;padding:24px;font-size:13px}.meeting-sidebar{border-left:1px solid var(--border);background:#fff;flex-direction:column;min-height:0;display:flex}.side-tabs{border-bottom:1px solid var(--border);gap:10px;padding:12px 16px;display:flex}.side-tabs button{color:#79919b;background:0 0;border-bottom:2px solid #0000;padding:12px 6px;font-size:13px}.side-tabs .selected{color:var(--dark);border-color:var(--teal)}.people-list{padding:10px 16px;overflow:auto}.person-row{border-bottom:1px solid #edf2f3;align-items:flex-start;gap:10px;padding:13px 0;display:flex}.avatar-small{color:#52857b;background:#e0efeb;border-radius:12px;flex-shrink:0;place-items:center;width:35px;height:35px;font-size:14px;display:grid}.person-meta{min-width:0}.person-meta>span{overflow-wrap:anywhere;font-size:13px;display:block}.person-meta small{font-size:11px}.person-controls{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.person-controls button{color:#527880;background:#eff5f6;border-radius:5px;padding:5px 6px;font-size:10px}.chat-panel{flex-direction:column;flex:1;min-height:0;display:flex}.chat-messages{flex:1;padding:15px;overflow:auto}.chat-message{overflow-wrap:anywhere;background:#f1f6f7;border-radius:10px;margin-bottom:12px;padding:12px}.chat-message>span{color:#527e89;font-size:12px}.chat-message p{white-space:pre-wrap;margin:7px 0 3px;font-size:13px}.chat-message small{font-size:10px}.chat-empty{color:#879aa3;text-align:center;margin-top:35px;font-size:13px;line-height:1.6}.chat-form{border-top:1px solid var(--border);gap:7px;padding:12px;display:flex}.chat-form input{min-width:0;font-size:12px}.chat-form button{background:var(--dark);color:#fff;border-radius:10px;padding:10px 15px;font-size:20px}.meeting-toolbar{border-top:1px solid var(--border);background:#fff;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:17px 24px;display:flex}.media-buttons,.leave-buttons{flex-wrap:wrap;gap:8px;display:flex}.meeting-toolbar button{color:#466e7b;background:#edf3f5;border-radius:9px;padding:12px 14px;font-size:12px}.meeting-toolbar button.on{color:#376f5d;background:#d6ece4}.meeting-toolbar button.leave-button{color:#fff;background:#9e4f53}.meeting-toolbar button.end-button{color:#a0585c;background:#fff1f1}.meeting-empty{text-align:center;color:#5b7e8b;padding:80px 20px}@media (width<=1000px){.welcome-layout{gap:45px}.intro h1{font-size:43px}.art-grid{width:320px}.meeting-layout{grid-template-columns:minmax(0,1fr) 265px}.meeting-main{padding:20px}.room-actions .primary{width:100%}.connection{max-width:180px}}@media (width<=720px){.topbar{height:72px;padding:0 20px}.brand{font-size:22px}.welcome-layout{grid-template-columns:1fr;gap:35px;padding:35px 22px}.intro h1{font-size:40px}.art-grid,.intro-text br{display:none}.intro-tags{margin-bottom:5px}.login-card,.card{padding:24px}.footer{gap:15px;padding:22px}.footer span{display:none}.dashboard{padding:30px 20px}.page-head{flex-direction:column;align-items:flex-start}.page-head h1{font-size:31px}.room-list,.create-form,.device-selects{grid-template-columns:1fr}.full{grid-column:auto}.modal{padding:26px}.room-shell .topbar{padding:0 15px}.room-shell .role-badge{display:none}.connection{max-width:150px;font-size:10px}.meeting-layout{flex-direction:column;height:auto;display:flex}.meeting-main{padding:18px 15px;overflow:visible}.meeting-heading h1{font-size:20px}.meeting-heading .quiet{display:none}.video-stage{height:230px}.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-tile{max-height:150px}.meeting-sidebar{border-left:none;border-top:1px solid var(--border);height:320px}.meeting-toolbar{gap:12px;padding:13px 15px;position:sticky;bottom:0}.meeting-toolbar button{padding:10px 11px;font-size:11px}.center-card{padding:20px}.prejoin h1{font-size:25px}.prejoin-toggles{gap:0}.preview{height:190px}.stage-orbit{width:65px;height:65px;margin:20px auto 30px;font-size:16px}.stage-welcome h2{font-size:19px}.person-row{padding:10px 0}}
