@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',system-ui,sans-serif;color:#183b3a;background:#f4f6f2;--accent:#176c60}*{box-sizing:border-box}body{margin:0}header{max-width:1100px;margin:auto;padding:28px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9e1da}a{color:var(--accent)}.brand{text-decoration:none;font-weight:700;font-size:24px;color:#183b3a}.brand span{color:#388b72}header>span,footer{font-size:13px;color:#647670}main{max-width:1000px;margin:60px auto;padding:0 24px;min-height:65vh}h1{font-size:clamp(30px,5vw,48px);line-height:1.12;letter-spacing:-1.6px;max-width:800px}h2{font-size:23px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;color:var(--accent)}.intro{color:#647670;max-width:600px;line-height:1.7}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin-top:35px}.card,.panel{background:white;border:1px solid #dce4dc;border-radius:18px;padding:28px}.card{display:flex;flex-direction:column;gap:12px}.card h3{margin:0;font-size:20px}.links{display:flex;gap:18px;margin-top:auto;padding-top:15px}.tag{font-size:12px;color:#6a7e75}.panel{max-width:760px;margin-top:28px}button,.button{font:inherit;background:var(--accent);border:0;color:white;border-radius:9px;padding:13px 20px;cursor:pointer;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:wait}input{font:inherit;border:1px solid #baccc2;padding:12px;border-radius:8px;max-width:100%;width:100%;margin:8px 0 16px}label{display:block;font-size:14px}.choice{display:block;border:1px solid #dce4dc;border-radius:10px;padding:16px;margin:10px 0;cursor:pointer}.choice input{width:auto;margin:0 12px 0 0}.choice:has(:checked){background:#e8f4ed;border-color:var(--accent)}.status{min-height:24px;line-height:1.6;color:#346c58}.error{color:#a12c35}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.row label{flex:1;min-width:180px}.join{overflow-wrap:anywhere}.cloud{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;padding:30px 0}.cloud span{color:var(--accent);font-weight:700;line-height:1.2}.bar{height:12px;background:#e7eee8;border-radius:8px;overflow:hidden;margin:8px 0 20px}.bar div{height:100%;background:#3a9378}.result-label{display:flex;justify-content:space-between;gap:12px}footer{max-width:1100px;margin:auto;padding:30px 24px;border-top:1px solid #d9e1da}.qr{width:160px;height:160px;margin:15px 0}.muted{color:#647670}.back{font-size:14px}@media(max-width:600px){header>span{display:none}main{margin-top:36px}.panel{padding:20px}}
.sharing-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.sharing-grid .card{gap:16px}.sharing-grid h2{margin:0}.sharing-grid .qr{width:200px;height:200px;max-width:100%;object-fit:contain}.sharing-grid .join{font-size:13px}.results-mode{background:#fafbf8}.results-mode>header,.results-mode>footer{display:none}.results-mode main{max-width:none;min-height:100svh;margin:0;padding:clamp(24px,4vw,64px);display:flex;flex-direction:column}.results-mode .lecture-title{font-size:clamp(15px,1.8vw,24px);color:#647670;margin:0 0 14px}.results-mode h1{font-size:clamp(30px,4vw,64px);max-width:none;margin:0;letter-spacing:-1px}.results-stage{flex:1;display:flex;align-items:center;justify-content:center;padding:clamp(28px,5vw,70px) 0}.results-stage .poll-chart{width:min(100%,1200px)}.results-stage .result-label{font-size:clamp(20px,2.5vw,36px)}.results-stage .bar{height:clamp(20px,3vh,36px);margin:16px 0 32px}.results-stage .cloud{width:100%;max-width:1500px;gap:clamp(20px,3vw,50px)}.empty-results{font-size:clamp(20px,3vw,36px);color:#647670}.results-mode .status:empty{display:none}
.student-mode main{max-width:760px;margin:0 auto;min-height:100svh;padding:clamp(28px,6vw,72px) 24px}.student-mode .lecture-title{font-size:14px;color:#647670;margin:0 0 16px}.student-mode h1{font-size:clamp(30px,5vw,46px);margin:0 0 32px}.student-mode .panel{border:0;background:transparent;padding:0;margin:0;max-width:none}.student-mode .choice{background:#fff;padding:20px;margin:12px 0}.student-mode button{margin-top:16px}.student-mode .status{margin-top:20px}
