*{box-sizing:border-box}body{margin:0;background:#f1f5f2;color:#19362b;font:16px/1.5 system-ui,sans-serif}header,main{max-width:1040px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center}h1{font-size:clamp(27px,5vw,40px);line-height:1.2;margin:8px 0 16px}h2{font-size:22px;margin:0 0 16px}h3{font-size:18px;margin:0}p{margin:8px 0 18px}.badge{border:1px solid #b2cbbc;border-radius:30px;padding:6px 12px;font-size:13px}.card{background:#fff;border:1px solid #d6e2da;border-radius:18px;padding:24px;margin-bottom:20px;box-shadow:0 4px 20px #17342b05}.narrow{max-width:560px;margin:32px auto}.muted{color:#526a5e}.notice{background:#e4eee7;padding:14px 18px;border-radius:12px;margin-bottom:24px}label{display:block;font-weight:600;margin-bottom:12px}input{display:block;width:100%;font:inherit;border:1px solid #91a999;border-radius:9px;padding:12px;margin-top:6px;min-width:0}button{font:inherit;font-weight:600;background:#226647;color:#fff;border:0;border-radius:9px;padding:11px 17px;cursor:pointer}button:hover{background:#174f35}button.secondary{background:#e9f0eb;color:#254f3a}button.danger{background:#f8e7e4;color:#902e25}button:disabled{opacity:.6;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid #dbb32c;outline-offset:3px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row>*{flex:0 1 auto}.student{border-top:1px solid #dce5df;padding:16px 0}.student p{margin:4px 0 12px}.invite{background:#f1f5f2;border-radius:10px;padding:14px;margin:14px 0;overflow-wrap:anywhere}.invite a{color:#145b3b}#message{position:sticky;bottom:12px;background:#fff4cb;border:1px solid #c5a759;border-radius:10px;padding:14px;z-index:5}#message:empty{display:none}[hidden]{display:none!important}.topline{letter-spacing:.13em;font-size:12px;font-weight:700;color:#527963}.empty{padding:22px 0;color:#61776b}small{display:block;margin-top:8px}form{margin-top:18px}footer{color:#526a5e;padding:20px 0;font-size:14px}@media(max-width:600px){header,main{padding:16px}.card{padding:18px}.row button{flex-grow:1}h1{font-size:30px}.narrow{margin:16px auto}}

.call{border:2px solid #8caf9a}.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}.video-card{background:#153c2e;border-radius:12px;overflow:hidden;color:white;padding-bottom:10px}.video-card video{width:100%;aspect-ratio:16/9;object-fit:cover;background:#10271e;display:block}.video-card span,.video-card small{display:block;padding:0 12px}.video-card span{margin-top:8px}.video-card small{color:#c9ddd1}.presentation{background:#10271e;color:white;border-radius:12px;padding:12px}.presentation video{width:100%;max-height:65vh;object-fit:contain}.call-controls{margin:18px 0}select{display:block;width:100%;padding:10px;font:inherit;border:1px solid #91a999;border-radius:8px}details{margin-top:18px}summary{cursor:pointer;font-weight:600}details label{margin-top:14px}.call-status{padding:12px;background:#e4eee7;border-radius:10px}audio{display:none}

body:has(.call[data-active="true"]) #student-entry{display:none}@media(max-width:600px){.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.video-card span,.video-card small{font-size:11px;padding:0 5px;overflow-wrap:anywhere}.video-card video{aspect-ratio:1}.call{padding:14px}.presentation{padding:8px}}
