:root{color:#172b34;font-synthesis:none;background:#f3f6f4;font-family:DM Sans,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,.button{color:#fff;cursor:pointer;background:#146e62;border:0;border-radius:9px;padding:12px 18px;font-weight:600;text-decoration:none;display:inline-block}button:hover,.button:hover{background:#105b51}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}header{background:#fff;border-bottom:1px solid #dce5df;justify-content:space-between;align-items:center;height:80px;padding:0 max(28px,50vw - 600px);display:flex}.brand{letter-spacing:-1px;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;text-decoration:none}.pill{color:#477369;background:#edf6f1;border-radius:30px;padding:8px 13px;font-size:12px}main{max-width:1200px;margin:auto;padding:38px 28px}h1,h2,h3{letter-spacing:-.7px;font-family:Space Grotesk,sans-serif}h1{margin:12px 0 22px;font-size:40px;line-height:1.15}h2{margin:0 0 18px;font-size:21px}p{color:#64747a;line-height:1.6}.eyebrow{letter-spacing:1.8px;color:#52806e;font-size:11px;font-weight:700}.welcome{max-width:850px;margin:35px auto}.welcome>h1{letter-spacing:-2px;font-size:58px}.welcome>p{max-width:600px;font-size:18px}.entry-grid{grid-template-columns:1fr 1fr;gap:24px;margin-top:36px;display:grid}.card{background:#fff;border:1px solid #dae4de;border-radius:16px;padding:26px;box-shadow:0 3px 14px #233a3010}label{margin-bottom:18px;font-size:13px;font-weight:600;display:block}input,textarea,select{color:#20363a;background:#fcfdfc;border:1px solid #cad8d0;border-radius:8px;width:100%;margin-top:8px;padding:12px;display:block}input:focus,textarea:focus,select:focus{outline-offset:1px;outline:2px solid #62a993}textarea{resize:vertical;min-height:100px}.check{align-items:center;gap:9px;margin:0 0 18px;display:flex}.check input{accent-color:#146e62;width:16px;height:16px;margin:0}.room-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.room-code{text-align:center;background:#e1eee7;border-radius:14px;padding:16px 24px}.room-code small{letter-spacing:1.6px;color:#578172;font-size:10px;display:block}.room-code strong{letter-spacing:4px;margin-top:5px;font-family:Space Grotesk,sans-serif;font-size:32px;display:block}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin:18px 0 24px;font-size:13px;display:flex}.toolbar .check{margin:0}.toolbar>span{color:#667b74}.secondary{color:#315c50;background:#edf3ef;border:1px solid #d5e3db}.secondary:hover{background:#dcebe2}.small{padding:8px 12px;font-size:12px}.teacher-grid{grid-template-columns:1.15fr 1fr;gap:24px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.section-heading h2{margin-bottom:8px}.badge{color:#497461;white-space:nowrap;background:#edf4ef;border-radius:30px;padding:6px 11px;font-size:12px;font-weight:600}.student-row{border-top:1px solid #edf1ee;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;display:flex}.student-row strong{font-size:14px}.student-row small{color:#75857e;margin-top:5px;font-size:12px;display:block}.row-actions{gap:8px;display:flex}.empty{color:#78877e;padding:28px 0;line-height:1.6}.activity{margin-top:24px}.activity h2{margin-top:12px;font-size:24px}.code-editor{tab-size:4;background:#f6f8f6;min-height:240px;font-family:ui-monospace,SFMono-Regular,monospace;line-height:1.6}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8f5;border:1px solid #dce7de;border-radius:9px;padding:20px;font-family:ui-monospace,monospace;font-size:14px;line-height:1.6}.response{border-top:1px solid #dce5df;margin-top:18px;padding-top:22px}.stop{color:#8b443b;background:#f6e7e1;margin-top:14px}.stop:hover{background:#edd5cc}.sharing{justify-content:space-between;align-items:center;gap:20px;display:flex}.sharing h2{margin-bottom:5px}.sharing p{max-width:700px;margin:0;font-size:14px}.sharing button{flex-shrink:0}.alert{color:#92442b;background:#fff0e8;border:1px solid #ecccbc;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 18px;display:flex}.alert button{color:inherit;background:0 0;padding:3px 8px}footer{color:#7e8b83;margin:28px 0;font-size:12px}.display{color:#eff7f2;background:#101d25;justify-content:center;align-items:center;max-width:none;min-height:100vh;padding:0;display:flex}.display video{object-fit:contain;width:100vw;height:100vh}.display-caption{background:#182c30c9;border-radius:9px;padding:10px 16px;font-size:14px;position:fixed;bottom:20px;left:25px}.display-idle{text-align:center}.display-idle .brand{color:#9ed5bd}.display-idle h1{margin-top:45px;font-size:56px}.display-idle p{color:#a0b8b0}.display-idle strong{letter-spacing:7px;margin-top:50px;font-family:monospace;font-size:36px;display:block}.projected{width:90%;max-width:1400px;padding:40px}.projected h1{font-size:42px}.projected pre{color:#e4f3ed;background:#172b33;border-color:#33484d;min-height:250px;font-size:25px}.projected p{color:#9eb6af;font-size:14px}details{margin-top:20px;font-size:14px}@media (width<=760px){header{height:65px;padding:0 20px}main{padding:25px 18px}.welcome{margin:15px auto}.welcome>h1{font-size:40px}.entry-grid,.teacher-grid{grid-template-columns:1fr}.card{padding:20px}.room-heading{align-items:flex-start}.room-heading h1{font-size:28px}.room-code{padding:12px}.room-code strong{letter-spacing:2px;font-size:24px}.sharing{display:block}.sharing button{margin-top:15px}.student-row{align-items:flex-start}.row-actions{flex-direction:column}.display-idle h1{font-size:35px}.projected h1{font-size:28px}.projected pre{font-size:18px}}.teacher-source{background:#e9f3ed;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px;display:flex}.teacher-source h2{margin:8px 0}.teacher-source p{max-width:700px;margin:0;font-size:14px}.source-actions{flex-wrap:wrap;flex-shrink:0;gap:10px;display:flex}.student-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.roster-card{background:#f9fcf9;border:1px solid #dce7df;border-radius:12px;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;display:flex}.roster-card button{width:100%}.roster-card .badge{font-size:10px}.teacher-grid{grid-template-columns:1.4fr 1fr}@media (width<=760px){.teacher-source{display:block}.source-actions{margin-top:18px}.teacher-grid{grid-template-columns:1fr}.student-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.student-link{flex:1;min-width:240px;margin:0}.student-link input{margin-top:4px;font-size:12px}
