:root{--paper:oklch(94% .018 83);--sheet:oklch(98% .009 83);--ink:oklch(24% .025 145);--muted:oklch(48% .022 76);--line:oklch(78% .025 78);--rust:oklch(49% .12 38);--green:oklch(47% .085 152);--amber:oklch(70% .12 80);--dark:oklch(18% .02 145);--r1:4px;--r2:8px;--r3:14px;--pill:999px}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,"Noto Serif KR",serif;line-height:1.55}button,input,textarea,select{font:inherit;color:inherit}button,.action-link{min-height:44px;border:0;border-radius:var(--r1);background:var(--ink);color:var(--sheet);padding:11px 18px;font-weight:700;cursor:pointer;touch-action:manipulation;transition:transform 120ms cubic-bezier(.16,1,.3,1),opacity 120ms ease}button:active,.action-link:active{transform:scale(.96)}button:disabled{opacity:.38;cursor:not-allowed}input,textarea,select{width:100%;min-height:46px;padding:11px 12px;background:var(--sheet);border:1px solid var(--line);border-radius:var(--r1)}textarea{min-height:96px;resize:vertical}label{display:grid;gap:7px;font-weight:700}a{color:inherit}.eyebrow,.console-kicker{font:800 .73rem/1 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--rust)}.classroom-entry,.classroom-form{max-width:760px;margin:clamp(60px,10vw,120px) 0 120px}.classroom-entry h1,.classroom-form h1,.join-sheet h1{font-size:clamp(2.5rem,7vw,5.8rem);line-height:.98;letter-spacing:-.035em;text-wrap:balance;margin:.25em 0}.classroom-entry>p:not(.eyebrow){max-width:54ch;font-size:1.14rem}.entry-actions{display:flex;align-items:center;gap:22px;margin-top:34px}.action-link{text-decoration:none;display:inline-flex;align-items:center}.text-link{text-underline-offset:5px}.classroom-form form,.join-sheet form{display:grid;gap:18px;max-width:520px}.classroom-form label span{font-weight:400;color:var(--muted)}.form-status{min-height:24px;color:var(--rust)}.student-shell{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--sheet)}.join-sheet,.student-stage{width:min(100% - 32px,560px);margin:auto;padding:28px 0 64px}.back-link{display:inline-block;margin-bottom:40px;font:700 .72rem Arial,sans-serif;letter-spacing:.1em}.consent-row{grid-template-columns:24px 1fr;align-items:start;font-weight:400}.consent-row input{width:20px;min-height:20px;margin:3px 0}.privacy-note{font-size:.86rem;color:var(--muted);margin:-8px 0 4px 32px}.student-context{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:4px 0 16px;font:800 .75rem Arial,sans-serif;letter-spacing:.1em}.student-stage h1{font-size:clamp(2rem,9vw,3.5rem);line-height:1.08;letter-spacing:-.025em;text-wrap:balance}.waiting-mark{font-size:3rem;color:var(--line);margin:72px 0 8px}.task-type{font:800 .7rem Arial,sans-serif;letter-spacing:.14em;color:var(--rust);text-transform:uppercase;margin:56px 0 12px}.student-response{display:grid;gap:16px;margin-top:34px}.choice{display:grid;grid-template-columns:26px 1fr;align-items:center;min-height:54px;border-bottom:1px solid var(--line);font-weight:400}.choice input{width:19px;min-height:19px}.submitted{text-align:center;padding-top:80px}.submitted-mark{font-size:3rem;color:var(--green);margin:0}.peer-count{font:700 1rem Arial,sans-serif}.ai-public{margin-top:30px;padding:20px;background:var(--paper);box-shadow:0 2px 10px rgba(31,25,16,.12)}.teacher-shell{background:oklch(92% .012 80);font-family:Arial,"Noto Sans KR",sans-serif;min-width:1040px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:10px;top:10px;z-index:10;background:var(--sheet);padding:10px}.console-head{height:86px;background:var(--dark);color:oklch(93% .01 90);display:flex;align-items:center;justify-content:space-between;padding:14px 24px}.console-head h1{font:600 1.24rem Georgia,"Noto Serif KR",serif;margin:6px 0 0}.session-facts{display:flex;align-items:center;gap:24px;font-variant-numeric:tabular-nums}.session-facts span{font:800 1.45rem ui-monospace,monospace;letter-spacing:.16em}.session-facts em{font-style:normal;background:var(--green);color:white;padding:6px 10px;border-radius:var(--r1);font-size:.72rem}.console-grid{display:grid;grid-template-columns:240px minmax(480px,1fr) 280px;grid-template-rows:minmax(calc(100vh - 210px),auto) 124px;gap:1px;background:var(--line)}.console-grid>aside,.console-grid>section{background:var(--sheet);padding:20px}.console-grid h2,.console-grid h3{font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;margin:0 0 18px}.roster-group{margin-bottom:20px}.roster-group h3{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:7px}.participant-row{display:grid;grid-template-columns:1fr 24px;align-items:center;min-height:34px;font-size:.86rem}.participant-state.done{color:var(--green)}.activity-heading{display:flex;align-items:center;gap:8px}.activity-heading p{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--amber)}.current-activity{min-height:180px}.current-activity h1{font:600 clamp(1.8rem,3vw,3rem)/1.08 Georgia,"Noto Serif KR",serif;letter-spacing:-.025em;max-width:22ch}.activity-meta{display:flex;gap:18px;color:var(--muted);font-size:.78rem}.quick-create{border-top:1px solid var(--line);padding-top:20px;display:grid;grid-template-columns:1fr 180px;gap:12px}.quick-create h2{grid-column:1/-1}.quick-create label:first-of-type{grid-row:2/5}.quick-create button{align-self:end}.control-stack,.ai-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:24px}.control-stack button,.ai-actions button{font-size:.78rem;padding:9px}.control-stack button:first-child:last-child{grid-column:1/-1}.ai-actions button{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.ai-draft{margin-top:12px;background:var(--paper);padding:14px;box-shadow:0 2px 9px rgba(31,25,16,.12)}.ai-draft b{font-size:.68rem;color:var(--rust);letter-spacing:.1em}.ai-draft p{font:400 .84rem/1.5 Georgia,serif;white-space:pre-wrap}.ai-draft-actions{display:flex;gap:6px}.ai-draft-actions button{font-size:.72rem;min-height:36px}.timeline-panel{grid-column:1/-1;display:flex;align-items:center;gap:24px;overflow:auto}.timeline-panel h2{white-space:nowrap;margin:0}.timeline-panel ol{display:flex;gap:8px;list-style:none;margin:0;padding:0}.timeline-panel li{min-width:150px;padding:10px 12px;background:var(--paper);font-size:.77rem}.timeline-panel li b{display:block;margin-bottom:4px}.empty{color:var(--muted)}.connection-state{position:fixed;right:18px;bottom:18px;background:var(--dark);color:white;padding:10px 14px;border-radius:var(--r1);font:700 .76rem Arial,sans-serif;z-index:20}.display-shell{min-height:100vh;background:var(--dark);color:oklch(92% .012 84);padding:clamp(24px,4vw,64px);font-family:Arial,"Noto Sans KR",sans-serif}.display-head{display:flex;justify-content:space-between;font-size:clamp(.9rem,1.5vw,1.3rem);letter-spacing:.12em}.display-head b{font-variant-numeric:tabular-nums}.display-topic{margin:12vh 0 0;font:500 clamp(2.8rem,6vw,6.5rem)/1.02 Georgia,"Noto Serif KR",serif;letter-spacing:-.03em;max-width:17ch;text-wrap:balance}.display-response-count{font-size:clamp(1.4rem,2.4vw,2.5rem);color:oklch(72% .035 83);margin-top:48px}.distribution{margin-top:6vh;max-width:1100px;display:grid;gap:18px}.distribution-row{display:grid;grid-template-columns:minmax(220px,1fr) 4fr 80px;gap:22px;align-items:center;font-size:clamp(1.2rem,2.2vw,2.2rem)}.bar-track{height:18px;background:oklch(28% .02 145)}.bar{height:100%;background:var(--amber);transform-origin:left}.display-ai{margin-top:7vh;padding-top:30px;border-top:1px solid oklch(36% .02 145);max-width:1000px}.display-ai b{color:var(--amber);font-size:.8rem;letter-spacing:.12em}.display-ai p{font:400 clamp(1.5rem,2.5vw,2.6rem)/1.4 Georgia,serif;white-space:pre-wrap}@media(max-width:700px){.classroom-entry{margin-top:48px}.entry-actions{align-items:flex-start;flex-direction:column}.student-stage{padding-top:18px}.student-response button{width:100%}}@media(hover:hover){button:hover,.action-link:hover{opacity:.84}.choice:hover{background:var(--paper)}}@media(prefers-reduced-motion:reduce){button,.action-link{transition:none}}
