:root{--canvas: #f7f4f0;--surface: #ffffff;--subtle: #fbf9f6;--sunken: #f2eee8;--line: #efebe4;--line2: #e5dfd6;--ink: #1e2230;--text: #242938;--sub: #686e80;--orange: #f4681f;--orange-hi: #fa7c36;--fg-orange: #a8450f;--fg-green: #1e7a4c;--fg-red: #c0362d;--fg-violet: #5b4c90;--red: #e5544b;--green: #2fa36b;--t-orange: #fff0e6;--t-amber: #fff6e4;--t-lilac: #f9edf7;--t-violet: #f0ecfc;--t-teal: #e4f7f5;--t-green: #e7f6ee;--t-red: #fdeceb;--t-blue: #eaf2fe;--stage: #262a38;--tile: #323748;--shadow-card: 0 1px 2px rgba(33, 26, 16, .04), 0 8px 24px -12px rgba(33, 26, 16, .1);--shadow-pop: 0 8px 16px rgba(33, 26, 16, .08), 0 32px 64px -24px rgba(33, 26, 16, .24);--r-sm: 10px;--r-md: 14px;--r-lg: 18px;--r-xl: 24px;font-family:Nunito Sans,ui-rounded,Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--canvas)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--canvas);-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.page{min-height:100%;display:grid;place-items:center;padding:16px}.card{width:100%;max-width:440px;background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-card);padding:24px;display:grid;gap:16px}.card.wide{max-width:720px}.brand{display:flex;align-items:center;gap:8px;font-weight:800;color:var(--ink)}.brand-mark{width:28px;height:28px;border-radius:9px;background:var(--orange);display:grid;place-items:center;color:var(--ink);font-size:15px}h1{font-size:22px;margin:0;color:var(--ink)}h2{font-size:18px;margin:0;color:var(--ink)}h3{font-size:16px;margin:0;color:var(--ink)}p{margin:0;line-height:1.45}.muted{color:var(--sub)}.btn{border:0;border-radius:var(--r-md);padding:12px 18px;font-weight:700;background:var(--sunken);color:var(--ink);min-height:44px}.btn.primary{background:var(--orange);color:var(--ink)}.btn.primary:hover:not(:disabled){background:var(--orange-hi)}.btn.danger{background:var(--t-red);color:var(--fg-red)}.btn.ghost{background:transparent;border:1px solid var(--line2)}.btn.small{padding:6px 10px;min-height:32px;font-size:13px;border-radius:var(--r-sm)}.field{display:grid;gap:6px;font-weight:600;font-size:14px}.field input,.field select{border:1px solid var(--line2);border-radius:var(--r-md);padding:12px 14px;background:var(--subtle);font-weight:500;min-height:44px}.error{background:var(--t-red);color:var(--fg-red);border-radius:var(--r-md);padding:10px 12px;font-size:14px}.notice{background:var(--t-amber);color:var(--fg-orange);border-radius:var(--r-md);padding:10px 12px;font-size:14px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between}.toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line2);border-radius:var(--r-md);padding:10px 12px;background:var(--subtle);font-weight:700;min-height:44px}.toggle[aria-pressed=true]{background:var(--t-green);color:var(--fg-green);border-color:transparent}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--line2);border-top-color:var(--orange);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.link-box{display:flex;gap:6px;align-items:center;background:var(--subtle);border-radius:var(--r-md);padding:8px 10px;font-size:13px;word-break:break-all}.signin{display:grid;gap:10px}.btn.wide{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px}.brand-mark.small{width:22px;height:22px;border-radius:7px;font-size:12px;background:var(--ink);color:var(--orange)}.g-mark{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--blue, #3b82f6);background:var(--surface);border:1px solid var(--line2)}.link{border:0;background:none;padding:0;color:var(--fg-orange);font-weight:700;text-decoration:underline}textarea{font:inherit;color:inherit;width:100%;border:1px solid var(--line2);border-radius:var(--r-md);padding:12px 14px;background:var(--subtle);resize:vertical}.field textarea{font-weight:500}a{color:var(--fg-orange)}a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.small{font-size:13px}.stack{display:grid;gap:12px;min-width:0}.page.top{place-items:start center}.card.wider{max-width:960px}.rule{border:0;border-top:1px solid var(--line);margin:4px 0;width:100%}.list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.field input.code-input{font-size:28px;letter-spacing:.18em;text-align:center;text-transform:uppercase;font-weight:800}.tag{display:inline-block;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800;background:var(--sunken);color:var(--sub);white-space:nowrap}.tag.green{background:var(--t-green);color:var(--fg-green)}.tag.violet{background:var(--t-violet);color:var(--fg-violet)}.empty{display:grid;gap:8px;place-items:center;text-align:center;padding:24px 8px}.more summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}.more[open] summary{margin-bottom:8px}.poll-block{display:grid;gap:12px}.item{display:grid;gap:10px;padding:14px;border-radius:var(--r-lg);background:var(--subtle);border:1px solid var(--line);min-width:0}.stem{font-size:17px;line-height:1.35;overflow-wrap:anywhere;margin:0}.choices{display:grid;gap:8px}.choice{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border-radius:var(--r-md);border:2px solid var(--line2);background:var(--surface);font-weight:700;text-align:left;overflow-wrap:anywhere}.choice input{width:22px;height:22px;accent-color:var(--orange);flex:none}.choice.picked{border-color:var(--orange);background:var(--t-orange);color:var(--fg-orange)}.saved{font-size:13px;font-weight:700;color:var(--fg-green)}.saved.muted{color:var(--sub);font-weight:500}.good,.bad{border-radius:var(--r-md);padding:8px 12px;font-weight:700}.good{background:var(--t-green);color:var(--fg-green)}.bad{background:var(--t-red);color:var(--fg-red)}.reveal{display:grid;gap:10px}.bars{list-style:none;margin:0;padding:0;display:grid;gap:8px}.bar-label{display:flex;gap:6px;align-items:center;font-size:14px;flex-wrap:wrap}.bar-text{flex:1;min-width:0;overflow-wrap:anywhere}.bar-num{font-weight:800;color:var(--ink);white-space:nowrap}.bar-letter{width:24px;height:24px;border-radius:7px;background:var(--sunken);display:inline-grid;place-items:center;font-size:12px;font-weight:800;flex:none}.bar-track{height:10px;border-radius:999px;background:var(--t-orange);overflow:hidden;margin-top:4px}.bar-track>span{display:block;height:100%;background:var(--orange);border-radius:999px;transition:width .24s ease}.bar.correct .bar-track{background:var(--t-green)}.bar.correct .bar-track>span{background:var(--green)}.bars.big .bar-label{font-size:26px}.bars.big .bar-track{height:22px}.bars.big .bar-letter{width:40px;height:40px;font-size:20px}.cloud{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;justify-content:center;padding:8px;line-height:1.1}.cloud-word{font-weight:800;border:0;background:none;padding:2px;overflow-wrap:anywhere}.cloud-word.c0{color:var(--fg-orange)}.cloud-word.c1{color:var(--fg-violet)}.cloud-word.c2{color:var(--fg-green)}.cloud-word.c3{color:#1d6f86}.cloud-word.c4{color:var(--ink)}button.cloud-word:hover{text-decoration:line-through}.host{display:grid;gap:16px;min-width:0}.host-head{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:flex-start}.host-title{min-width:0;flex:1 1 220px}.title-button{border:0;background:none;padding:0;text-align:left;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;min-height:44px}.title-input{font-size:18px;font-weight:800;border:1px solid var(--line2);border-radius:var(--r-md);padding:8px 12px;min-height:44px;flex:1;min-width:0}.join-box{display:grid;gap:2px;background:var(--t-orange);border-radius:var(--r-lg);padding:10px 16px;text-align:center}.join-code{font-size:30px;letter-spacing:.12em;color:var(--ink)}.panel{display:grid;gap:12px;border:1px solid var(--line2);border-radius:var(--r-lg);padding:16px;background:var(--subtle);min-width:0}.builder select,.ai-panel select,.field select{min-height:44px;border:1px solid var(--line2);border-radius:var(--r-md);padding:8px 10px;background:var(--surface);max-width:100%}.editor{border:1px solid var(--line2);border-radius:var(--r-md);padding:12px;display:grid;gap:10px;margin:0;min-width:0;background:var(--surface)}.editor legend{font-weight:800;padding:0 4px}.options{display:grid;gap:8px}.option-row{display:flex;gap:8px;align-items:center}.option-row input{flex:1;min-width:0;min-height:44px;border:1px solid var(--line2);border-radius:var(--r-md);padding:8px 12px;background:var(--subtle)}.option-fixed{flex:1;font-weight:700}.mark{width:44px;height:44px;flex:none;border-radius:var(--r-md);border:2px solid var(--line2);background:var(--surface);font-weight:800}.mark.on{background:var(--t-green);color:var(--fg-green);border-color:var(--green)}.poll-card{border:1px solid var(--line2);border-radius:var(--r-lg);padding:14px;display:grid;gap:10px;min-width:0;background:var(--surface)}.poll-card.open{border-color:var(--orange);box-shadow:0 0 0 3px var(--t-orange)}.poll-card header{align-items:flex-start}.host-items{margin:0;padding-left:20px;display:grid;gap:14px}.host-item{display:grid;gap:6px;min-width:0}.draft-options{margin:0;padding-left:18px;font-size:14px}.draft-options .correct{color:var(--fg-green);font-weight:800}.answers{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:14px}.answers li{background:var(--subtle);border-radius:var(--r-sm);padding:6px 10px;overflow-wrap:anywhere}.misconception{display:grid;gap:8px;border-radius:var(--r-lg);padding:16px;background:var(--t-red);border:1px solid #f6c9c5;min-width:0;overflow-wrap:anywhere}.misconception h3{color:var(--fg-red)}.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-red)}.again{display:grid;gap:8px;background:var(--surface);border-radius:var(--r-md);padding:12px}.again h4{margin:0}.again ol{margin:4px 0 0;padding-left:20px}.host-foot{border-top:1px solid var(--line);padding-top:12px}.host.compact .host-head{gap:6px}.host.compact h1{font-size:18px}.embed{min-height:100%;padding:12px;background:var(--canvas);display:grid;gap:12px;align-content:start}.embed.narrow{padding:8px}.projector{min-height:100%;background:var(--ink);color:#fff;padding:32px;display:grid;gap:32px;align-content:start}.projector-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}.projector-label{font-size:24px;color:#d9dbe3;margin:0}.projector-code{font-size:clamp(56px,10vw,120px);font-weight:800;letter-spacing:.12em;color:var(--orange);margin:0;line-height:1}.projector-count{font-size:28px;font-weight:800}.projector-wait{font-size:48px;color:#fff}.projector-item{display:grid;gap:20px;background:#fff;color:var(--ink);border-radius:var(--r-xl);padding:28px}.projector-item h2{font-size:clamp(28px,4vw,44px)}.projector-item .projector-label{color:var(--sub)}@media(max-width:420px){.page{padding:8px}.card{padding:16px;border-radius:var(--r-lg)}.join-box{width:100%}.projector{padding:16px}}
