:root{--bg:#f6f5f1;--surface:#fff;--text:#1d2125;--muted:#5f6873;--border:#dedbd2;--accent:#2f5bd3;--accent-text:#fff;--danger:#b42318;--help:#d92d20;--help-bg:#fde8e6;--dont-understand:#c4570b;--dont-understand-bg:#fdeedd;--confused:#a77b00;--confused-bg:#fdf5d3;--frustrated:#7a3fc4;--frustrated-bg:#f1e8fc;--good:#1f8a4c;--good-bg:#e2f5e9;--none:#8b939c;--none-bg:#f0efeb;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#15171a;--surface:#1f2226;--text:#eceae4;--muted:#a3abb4;--border:#353a40;--accent:#7c9bf0;--accent-text:#0f1420;--danger:#f97066;--help-bg:#3d1916;--dont-understand-bg:#3a2511;--confused-bg:#352c0c;--frustrated-bg:#2c1e3f;--good-bg:#13301f;--none-bg:#26292d;--help:#f97066;--dont-understand:#f79a4c;--confused:#e8c046;--frustrated:#b692f0;--good:#4cc77f}}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0}h1,h2{margin:0 0 .5rem;line-height:1.2}h2{font-size:1.1rem}a{color:var(--accent)}.page{max-width:1200px;margin:0 auto;padding:1.5rem 1rem 3rem}.page.narrow{max-width:560px}.stack{flex-direction:column;gap:.75rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.spread{justify-content:space-between}.muted{color:var(--muted)}.lead{color:var(--muted);font-size:1.15rem}.back{color:var(--muted);margin-bottom:.75rem;text-decoration:none;display:inline-block}.brand{margin-top:2rem;font-size:2.2rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin:1rem 0;padding:1rem}label{flex-direction:column;gap:.3rem;font-weight:600;display:flex}input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;flex:1;min-width:0;padding:.65rem .75rem}.code-input{letter-spacing:.2em;text-transform:uppercase;font-size:1.6rem;font-weight:700}button,.button{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:center;border-radius:10px;padding:.6rem 1rem;font-weight:600;text-decoration:none;display:inline-block}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.danger{color:var(--danger);border-color:var(--danger);background:0 0}.big{width:100%;padding:.9rem 1.2rem;font-size:1.1rem}button.link{color:var(--accent);font-weight:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.error{color:var(--danger);font-weight:600}.notice{background:var(--surface);border-left:4px solid var(--accent);border-radius:8px;padding:.75rem 1rem}.choice-grid{grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem;display:grid}.choice{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:18px;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;font-size:1.2rem;font-weight:700;text-decoration:none;display:flex}.choice:hover{border-color:var(--accent)}.choice-icon{font-size:3rem}.tone-help{--tone:var(--help);--tone-bg:var(--help-bg)}.tone-dont-understand{--tone:var(--dont-understand);--tone-bg:var(--dont-understand-bg)}.tone-confused{--tone:var(--confused);--tone-bg:var(--confused-bg)}.tone-frustrated{--tone:var(--frustrated);--tone-bg:var(--frustrated-bg)}.tone-good{--tone:var(--good);--tone-bg:var(--good-bg)}.tone-none{--tone:var(--none);--tone-bg:var(--none-bg)}.student{max-width:640px}.student-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.current{background:var(--tone-bg);border:3px solid var(--tone);border-radius:18px;align-items:center;gap:1rem;min-height:6rem;margin:1rem 0;padding:1.25rem;display:flex}.current-icon{font-size:3.5rem}.current-label{font-size:1.4rem;font-weight:700}.ack{margin-top:.25rem;font-weight:600}.card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.status-card{background:var(--tone-bg);color:var(--text);border:2px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:.4rem;padding:1.25rem .5rem;font-size:1.05rem;display:flex}.status-card:hover:not(:disabled){border-color:var(--tone)}.status-card.selected{border-color:var(--tone);box-shadow:0 0 0 3px var(--tone)}.status-icon{font-size:2.6rem}.badge{white-space:nowrap;border-radius:999px;padding:.25rem .6rem;font-size:.8rem;font-weight:700}.badge-connected{background:var(--good-bg);color:var(--good)}.badge-connecting,.badge-reconnecting{background:var(--confused-bg);color:var(--confused)}.badge-disconnected{background:var(--help-bg);color:var(--help)}.destination{color:var(--text);flex-direction:column;gap:.5rem;text-decoration:none;display:flex}a.destination:hover{border-color:var(--accent)}.small{font-size:.85rem}.center{text-align:center}code{background:var(--none-bg);border-radius:4px;padding:.1rem .3rem;font-size:.9em}textarea,select{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;padding:.55rem .7rem}textarea{resize:vertical}label.inline{flex-direction:row;align-items:center;gap:.5rem;font-weight:600}.term-picker{margin:1rem 0}.tabs{border-bottom:1px solid var(--border);gap:.25rem;margin:1rem 0;display:flex}.tab{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;border-radius:0}.tab.active{color:var(--text);border-bottom-color:var(--accent)}.table{border-collapse:collapse;background:var(--surface);border-radius:14px;width:100%;overflow:hidden}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.6rem .75rem}.table th{color:var(--muted);font-size:.85rem}.table tr.removed td{opacity:.55}@media (width<=560px){.table th:nth-child(3),.table td:nth-child(3){display:none}}.class-list{margin:0;padding:0;list-style:none}.class-list .panel{margin:.5rem 0}.dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.join-code{background:var(--surface);border:2px dashed var(--border);border-radius:14px;flex-direction:column;align-items:center;padding:.4rem 1.2rem;display:flex}.join-code strong{letter-spacing:.15em;font-size:2.2rem}.dashboard-body{grid-template-columns:1fr 340px;align-items:start;gap:1.5rem;display:grid}@media (width<=860px){.dashboard-body{grid-template-columns:1fr}}.student-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.6rem;display:grid}.student-tile{text-align:center;background:var(--tone-bg);border:2px solid var(--tone);border-radius:14px;flex-direction:column;align-items:center;gap:.15rem;padding:.75rem .5rem;display:flex;position:relative}.tile-remove{width:1.6rem;height:1.6rem;color:var(--muted);opacity:.55;background:0 0;border:none;border-radius:50%;padding:0;font-size:1.1rem;line-height:1;position:absolute;top:.2rem;right:.2rem}.tile-remove:hover,.tile-remove:focus-visible{opacity:1;background:var(--surface);color:var(--text)}.join-code.locked{border-style:solid}.tile-icon{font-size:1.8rem}.tile-name{font-weight:700}.tile-label,.tile-ack{color:var(--muted);font-size:.85rem}.queue{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1rem;position:sticky;top:1rem}.queue ol{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.queue-item{background:var(--tone-bg);border-left:5px solid var(--tone);border-radius:12px;flex-direction:column;gap:.4rem;padding:.75rem;display:flex}.warnings{color:var(--confused);flex-direction:column;gap:.3rem;margin:0;padding-left:1.2rem;font-size:.9rem;display:flex}.page.wide{max-width:1100px}.block{display:block}.grow{flex:1;min-width:0}.upper{text-transform:uppercase;letter-spacing:.04em;margin:.75rem 0 .25rem}.push-right{margin-left:auto}.row.end{justify-content:flex-end}.success{color:var(--good);font-weight:600}.warning-text{color:var(--dont-understand);font-weight:600}.notice.small{font-size:.9rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.toolbar-actions{gap:.5rem;margin-left:auto;display:flex}.search{width:100%}.toolbar .search{flex:220px;width:auto;max-width:340px}.stack>.search{flex:none}input[type=checkbox],input[type=radio]{flex:none;width:auto}.term-select{max-width:360px}.chips{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.75rem;display:flex}.chip{border-radius:999px;padding:.35rem .8rem;font-size:.9rem;font-weight:600}.chip.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent)}.chip-count{opacity:.7;margin-left:.2rem;font-weight:500}.table tr.clickable{cursor:pointer}.table tr.clickable:hover td,.table tr.clickable:focus td{background:var(--none-bg)}.table tr.clickable:focus{outline:2px solid var(--accent);outline-offset:-2px}.table .num{text-align:right;width:6rem}.people-table td:first-child{min-width:14rem}.person{align-items:center;gap:.6rem;display:inline-flex}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.8rem;font-weight:700;display:inline-flex}.person-header{align-items:center;gap:1rem;margin:.5rem 0 1rem;display:flex}.person-header .avatar{width:3.25rem;height:3.25rem;font-size:1.1rem}.person-header h1{margin-bottom:.25rem}.role-badge{white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:700}.role-Teacher{background:var(--good-bg);color:var(--good)}.role-TeachingAssistant{background:var(--confused-bg);color:var(--confused)}.role-Student{background:var(--none-bg);color:var(--muted)}.role-SchoolAdmin{background:var(--frustrated-bg);color:var(--frustrated)}.tag{border:1px solid var(--border);color:var(--muted);letter-spacing:.03em;border-radius:6px;padding:.1rem .45rem;font-size:.7rem;font-weight:700}.empty{text-align:center;border:2px dashed var(--border);color:var(--muted);border-radius:14px;padding:2rem 1rem}.list{margin:.5rem 0 0;padding:0;list-style:none}.list-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 0;display:flex}.list-row:last-child{border-bottom:0}.list-row.removed{opacity:.55}.roster-grid{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:1.25rem;display:grid}.roster-grid .panel{margin:0}@media (width<=860px){.roster-grid{grid-template-columns:1fr}}.modal-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:flex-start;padding:6vh 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;padding:1.25rem;box-shadow:0 20px 50px #0000004d}.modal.wide{max-width:680px}.modal-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.modal-header h2{margin:0;font-size:1.25rem}.modal-close{color:var(--muted);background:0 0;border:0;padding:.25rem .5rem;font-size:1.1rem}.role-cards{border:0;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:0;display:grid}.role-cards legend{margin-bottom:.35rem;font-weight:600}.role-card{border:2px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:row;align-items:flex-start;gap:.6rem;padding:.7rem;font-weight:400}.role-card input{opacity:0;pointer-events:none;position:absolute}.role-card.selected{border-color:var(--accent);background:var(--none-bg)}.role-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.role-card-icon{font-size:1.4rem}@media (width<=480px){.role-cards{grid-template-columns:1fr}}.pick-list{border:1px solid var(--border);border-radius:12px;max-height:45vh;margin:0;padding:0;list-style:none;overflow-y:auto}.pick-list>li{border-bottom:1px solid var(--border);padding:0 .75rem}.pick-list>li:last-child{border-bottom:0}.pick-list>li.muted{padding:.75rem}.pick-row{justify-content:space-between;align-items:center;gap:.6rem;padding:.55rem 0;display:flex}.pick-row.selectable{cursor:pointer;flex-direction:row;justify-content:flex-start;font-weight:400}.pick-row.selectable input{flex:none;width:1.1rem;height:1.1rem}.segmented{border:1px solid var(--border);border-radius:10px;display:inline-flex;overflow:hidden}.segmented button{background:var(--surface);border:0;border-radius:0}.segmented button.active{background:var(--accent);color:var(--accent-text)}.list-row>.row{flex-wrap:nowrap;flex:none}.list-row .person{min-width:0}.list-row .person .block{text-overflow:ellipsis;white-space:nowrap;max-width:22rem;overflow:hidden}.landing{--landing-max:1120px;flex-direction:column;min-height:100vh;display:flex}.landing h1,.landing h2,.landing h3{letter-spacing:-.01em}.landing a{text-underline-offset:3px}.logo{color:var(--text);align-items:center;gap:.55rem;font-size:1.2rem;font-weight:800;display:inline-flex}.logo-link{text-decoration:none}.landing-nav{z-index:10;padding:.85rem max(1rem, calc((100% - var(--landing-max)) / 2));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.landing-nav-links{flex-wrap:wrap;align-items:center;gap:1.1rem;display:flex}.landing-nav-links>a:not(.button){color:var(--muted);font-weight:600;text-decoration:none}.landing-nav-links>a:not(.button):hover{color:var(--text)}@media (width<=720px){.landing-nav-links>a:not(.button){display:none}}@media (width<=480px){.landing-nav-links>.button.secondary{display:none}}.button.big-inline{padding:.85rem 1.3rem;font-size:1.05rem}.hero{max-width:var(--landing-max);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:3rem;width:100%;margin:0 auto;padding:4.5rem 1rem 4rem;display:grid}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:0 0 .75rem;font-size:.85rem;font-weight:700}.hero h1{margin-bottom:1.1rem;font-size:clamp(2.2rem,4.6vw,3.4rem);line-height:1.08}.highlight{color:var(--accent)}.hero-lead{color:var(--muted);max-width:36rem;margin-bottom:1.6rem;font-size:1.2rem}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}@media (width<=900px){.hero{grid-template-columns:1fr;gap:2rem;padding-top:2.5rem}}.hero-preview{grid-template-columns:1fr 1fr;align-items:start;gap:1rem;display:grid;position:relative}.preview-device{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:1rem;box-shadow:0 18px 45px #00000024}.preview-teacher{margin-top:2.5rem}.preview-title{margin-bottom:.75rem;font-weight:800}.preview-cards{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.preview-card{text-align:center;background:var(--tone-bg);border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .3rem;font-size:.78rem;font-weight:600;display:flex}.preview-card>span:first-child{font-size:1.4rem}.preview-card.selected{border-color:var(--tone);box-shadow:0 0 0 2px var(--tone)}.preview-card:last-child{grid-column:span 2}.preview-teacher ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.preview-queue{background:var(--tone-bg);border-left:4px solid var(--tone);border-radius:12px;flex-direction:column;gap:.2rem;padding:.6rem .7rem;display:flex}.preview-ack{font-weight:600}@media (width<=520px){.hero-preview{grid-template-columns:1fr}.preview-teacher{margin-top:0}}.band{background:var(--accent);color:var(--accent-text)}.band-inner{max-width:860px;margin:0 auto;padding:2.5rem 1rem}.band-quote{text-align:center;margin:0;font-size:clamp(1.15rem,2.2vw,1.45rem);font-weight:600;line-height:1.5}.landing-section{padding:4.5rem max(1rem, calc((100% - var(--landing-max)) / 2))}.landing-section.alt{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-title{text-align:center;margin-bottom:.5rem;font-size:clamp(1.7rem,3vw,2.3rem)}.section-lead{text-align:center;color:var(--muted);max-width:40rem;margin:0 auto 2.5rem;font-size:1.1rem}.section-title.left,.section-lead.left{text-align:left;margin-left:0}.steps{counter-reset:none;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:0;padding:0;list-style:none;display:grid}.step{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:1.5rem;position:relative}.step-number{background:var(--accent);width:1.8rem;height:1.8rem;color:var(--accent-text);border-radius:50%;justify-content:center;align-items:center;font-weight:800;display:inline-flex;position:absolute;top:-.9rem;left:1.25rem}.step-icon{margin:.4rem 0 .6rem;font-size:2rem;display:block}.step h3{margin:0 0 .4rem;font-size:1.2rem}.step p{color:var(--muted);margin:0}@media (width<=820px){.steps{grid-template-columns:1fr;gap:1.6rem}}.feature-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.feature-grid.four{grid-template-columns:repeat(4,1fr)}.feature{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:1.3rem}.landing-section:not(.alt) .feature{background:var(--surface)}.feature-icon{margin-bottom:.5rem;font-size:1.7rem;display:block}.feature h3{margin:0 0 .35rem;font-size:1.1rem}.feature p{color:var(--muted);margin:0}@media (width<=960px){.feature-grid,.feature-grid.four{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.feature-grid,.feature-grid.four{grid-template-columns:1fr}}.privacy-panel{background:var(--surface);border:1px solid var(--border);border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:start;gap:2.5rem;padding:2.5rem;display:grid}.check-list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.check-list li{padding-left:2rem;position:relative}.check-list li:before{content:"✓";background:var(--good-bg);width:1.35rem;height:1.35rem;color:var(--good);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:inline-flex;position:absolute;top:.05rem;left:0}@media (width<=820px){.privacy-panel{grid-template-columns:1fr;gap:1.5rem;padding:1.5rem}}.faq{flex-direction:column;gap:.6rem;max-width:760px;margin:0 auto;display:flex}.faq details{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:.9rem 1.1rem}.faq summary{cursor:pointer;font-size:1.05rem;font-weight:700}.faq details p{color:var(--muted);margin:.6rem 0 0}.cta{text-align:center;background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 60%, var(--frustrated)));color:var(--accent-text);padding:4.5rem 1rem}.cta h2{margin-bottom:.5rem;font-size:clamp(1.7rem,3vw,2.3rem)}.cta p{opacity:.9;margin:0 0 1.5rem;font-size:1.1rem}.cta-button{background:var(--accent-text);color:var(--accent);border-color:var(--accent-text)}.landing-footer{border-top:1px solid var(--border);padding:2rem max(1rem, calc((100% - var(--landing-max)) / 2)) 1.5rem;margin-top:auto}.footer-inner{flex-wrap:wrap;justify-content:space-between;gap:1.5rem;display:flex}.footer-links{flex-wrap:wrap;align-items:flex-start;gap:1.25rem;display:flex}.footer-links a{color:var(--muted);font-weight:600;text-decoration:none}.footer-links a:hover{color:var(--text)}.footer-copy{margin:1.5rem 0 0}.legal{width:100%;max-width:760px;margin:0 auto;padding:3rem 1rem 4rem;line-height:1.65}.legal h1{margin-bottom:.25rem;font-size:2.2rem}.legal h2{margin:2rem 0 .5rem;font-size:1.25rem}.legal ul{flex-direction:column;gap:.5rem;padding-left:1.2rem;display:flex}
