:root{color:#18201c;background:#eef3ee;font-family:Inter,Pretendard,Noto Sans KR,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,textarea{font:inherit}.student-shell{width:min(100%,720px);min-height:100vh;margin:0 auto;padding:24px 18px 56px}.student-header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.student-header h1{letter-spacing:-.045em;margin:4px 0 20px;font-size:clamp(1.8rem,7vw,3rem);line-height:1.08}.eyebrow{color:#587064;letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}.helper{color:#66736c;margin:5px 0 0;font-size:.86rem;line-height:1.45}.connection-badge{border-radius:999px;flex:none;padding:7px 11px;font-size:.75rem;font-weight:800}.connection-connected{color:#145c37;background:#d7f2e1}.connection-connecting{color:#705509;background:#fff0bd}.connection-offline{color:#8c2d27;background:#ffe0dc}.concept-card,.feedback-card,.memo-card,.question-submit-card,.answered-questions-card{background:#ffffffeb;border:1px solid #d7e0d9;border-radius:22px;margin-top:14px;box-shadow:0 10px 34px #1f362a12}.concept-card{padding:22px}.concept-card>p{color:#2e4237;margin:0;font-size:1.08rem;line-height:1.75}.deck-download-row{border-top:1px solid #e3e9e4;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding-top:14px;display:flex}.deck-download-row button{color:#fff;background:#315b48;border:0;border-radius:13px;flex:none;padding:11px 15px;font-weight:800}.deck-download-row button:disabled{cursor:wait;opacity:.55}.original-slide{border-top:1px solid #e3e9e4;margin-top:18px;padding-top:14px}.original-slide summary{cursor:pointer;color:#315b48;font-weight:750}.original-slide iframe{background:#fff;border:1px solid #dbe3dd;border-radius:14px;width:100%;min-height:420px;margin-top:14px}.feedback-card{padding:20px}.choice-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.choice{color:#244b38;background:#f6faf7;border:1px solid #bfd0c5;border-radius:15px;min-height:54px;font-weight:800}.choice.review{color:#714626;background:#fff9f0;border-color:#e5ccb5}.choice.active{color:#fff;background:#2c7150;border-color:#2c7150;box-shadow:0 7px 18px #2c715038}.choice.active.review{background:#a6622d;border-color:#a6622d}.memo-card,.question-submit-card,.answered-questions-card{padding:20px}.memo-card label,.question-submit-card label{margin:14px 0 9px;font-weight:850;display:block}.memo-card textarea,.question-submit-card textarea{resize:vertical;color:#1d2b23;background:#fbfdfb;border:1px solid #cbd7cf;border-radius:14px;width:100%;min-height:118px;padding:13px;line-height:1.55}.memo-card textarea:focus,.question-submit-card textarea:focus{border-color:#4c906c;outline:3px solid #3780592e}.memo-actions{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:12px;display:flex}.memo-actions button{color:#fff;background:#253e32;border:0;border-radius:13px;flex:none;padding:12px 16px;font-weight:800}.memo-button-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.memo-button-row .memo-secondary{color:#315b48;background:#edf5ef;border:1px solid #bfd0c5}.memo-actions button:disabled{cursor:default;opacity:.45}.question-submit-card .memo-actions button{background:#2c7150}.answered-question-list{gap:10px;margin-top:14px;display:grid}.answered-question-item{background:#fbfdfb;border:1px solid #cbd7cf;border-radius:16px;padding:14px}.answered-question-item span{color:#315b48;background:#eef6f0;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:850;display:inline-flex}.answered-question-body,.answered-question-answer{margin:10px 0 0;line-height:1.55}.answered-question-body{color:#43584d}.answered-question-answer{color:#11251a;font-weight:850}.notice{color:#365344;background:#e3eee6;border-radius:12px;margin:12px 0 0;padding:11px 13px;font-size:.88rem}.notice-warn{color:#74401e;background:#fff0da}@media (width<=520px){.student-shell{padding-inline:14px}.choice-grid{grid-template-columns:1fr}.memo-actions,.deck-download-row{flex-direction:column;align-items:stretch}.memo-actions button,.deck-download-row button,.memo-button-row button{width:100%}}body{min-height:100vh}.management-shell{background:#edf2ee;min-height:100vh;padding:clamp(18px,4vw,48px)}.management-header,.management-grid{width:min(1180px,100%);margin:0 auto}.management-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.management-header h1,.login-card h1{letter-spacing:-.05em;margin:4px 0 0;font-size:clamp(1.8rem,4vw,3rem)}.management-status{color:#385644;text-align:right;max-width:440px;margin:0}.management-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.management-card{background:#fffffff2;border:1px solid #d4ded7;border-radius:20px;padding:20px;box-shadow:0 12px 34px #1f362a14}.management-card h2{margin:0 0 14px;font-size:1.15rem}.management-card form,.management-card select,.management-card input[type=file]{width:100%;display:block}.management-card label,.management-card input,.management-card textarea,.management-card select{box-sizing:border-box}.management-card input:not([type=file]),.management-card textarea,.management-card select{width:100%;font:inherit;background:#fbfefb;border:1px solid #c9d8cd;border-radius:10px;margin:6px 0 10px;padding:10px 12px}.management-card textarea{resize:vertical;min-height:68px}.management-card button{color:#fff;background:#284c3b;border:0;border-radius:11px;padding:10px 14px;font-weight:800}.management-card button:disabled{cursor:wait;opacity:.45}.inline-form{border-top:1px solid #e0e8e2;margin-top:18px;padding-top:14px}.preview-panel,.session-result{background:#f2f8f3;border-radius:14px;margin-top:16px;padding:14px}.slide-edit{grid-template-columns:28px 1fr;gap:8px;margin-top:10px;display:grid}.slide-edit span{color:#557060;padding-top:12px;font-weight:800}.slide-edit textarea{grid-column:2}.preview-panel>button{margin-top:10px}.session-card{grid-column:span 2}.live-session-list{gap:10px;margin-top:12px;display:grid}.live-session-item{background:#fbfefb;border:1px solid #c9d8cd;border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.live-session-item p,.live-session-item strong{margin:0}.live-session-item .helper{margin-top:5px}.live-session-actions{justify-content:flex-end;gap:8px;display:flex}.management-card .secondary-button{color:#284c3b;background:#f7fbf7;border:1px solid #c9d8cd}.session-result{grid-template-columns:1fr 140px;align-items:center;gap:16px;display:grid}.session-result img{background:#fff;border-radius:10px;width:140px;height:140px}.session-result p{margin:4px 0}.session-result .join-code{letter-spacing:.14em;font-size:2.2rem}.login-card{width:min(520px,100%);margin:10vh auto 0}.login-card form{margin-top:20px}.login-card button{width:100%;margin-top:8px}@media (width<=760px){.management-grid{grid-template-columns:1fr}.session-card{grid-column:auto}.management-header{display:block}.management-status{text-align:left;margin-top:12px}.live-session-item{grid-template-columns:1fr}.live-session-actions{justify-content:flex-start}.session-result{grid-template-columns:1fr}}.instructor-console{background:#edf2ee;min-height:100vh;padding:clamp(18px,3vw,36px)}.console-topbar{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1440px;margin:0 auto 18px;display:flex}.console-topbar h1{letter-spacing:-.04em;margin:5px 0 0;font-size:clamp(1.7rem,3vw,2.8rem)}.room-code{color:#fff;text-align:center;background:#1f4c39;border-radius:18px;flex:none;padding:12px 18px}.room-code span,.room-code strong{display:block}.room-code img{background:#fff;border-radius:8px;width:118px;height:118px;margin:10px auto 0;display:block}.room-code span{opacity:.78;font-size:.72rem;font-weight:800}.room-code strong{letter-spacing:.12em;margin-top:2px;font-size:1.65rem}.console-alert{color:#7a331f;background:#ffe5dc;border-radius:13px;max-width:1440px;margin:0 auto 14px;padding:11px 14px}.console-grid{grid-template-columns:minmax(0,1fr) minmax(270px,340px);gap:18px;max-width:1440px;margin:0 auto;display:grid}.question-alert{background:linear-gradient(135deg,#f7fff9 0%,#e3f2e8 100%);border:2px solid #24533d;border-radius:20px;grid-template-columns:minmax(160px,auto) 1fr auto;align-items:center;gap:16px;width:min(1440px,100%);margin:0 auto 18px;padding:16px 18px;display:grid;box-shadow:0 16px 36px #1f362a21}.question-alert strong{margin-top:4px;font-size:1.05rem;display:block}.question-alert p:last-of-type{margin:0;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:850;line-height:1.45}.question-alert span{color:#173d2d;white-space:nowrap;background:#fff;border-radius:999px;padding:8px 12px;font-weight:900}.console-stage,.aggregate-panel{background:#fffffff0;border:1px solid #d4ded7;border-radius:22px;flex-direction:column;padding:18px;display:flex;box-shadow:0 12px 34px #1f362a14}.console-stage iframe{background:#fff;border:1px solid #dbe3dd;border-radius:14px;width:100%;min-height:min(68vh,780px);display:block}.navigation-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-top:14px;display:grid}.student-room-code{color:#4c6356;margin:8px 0 0;font-size:.95rem}.student-room-code strong{color:#173d2d;letter-spacing:.08em;background:#e8f2ec;border-radius:999px;margin-left:6px;padding:4px 10px;display:inline-flex}.navigation-row button,.review-button{color:#fff;background:#284c3b;border:0;border-radius:13px;padding:12px 16px;font-weight:800}.public-overlay{z-index:3;color:#173326;background:#fffffff0;border:1px solid #ffffff59;border-radius:18px;max-width:min(620px,80vw);padding:18px 22px;position:absolute;bottom:4vh;right:3vw;box-shadow:0 16px 40px #0000004d}.public-overlay h2,.public-overlay p{margin:4px 0}.navigation-row button:disabled{cursor:wait;opacity:.42}.response-count{margin-top:16px;font-size:2rem;display:block}.insufficient{color:#74521f;background:#fff2cf;border-radius:14px;padding:16px;font-weight:850}.aggregate-bars p{border-bottom:1px solid #e2e8e3;justify-content:space-between;padding:13px 0;display:flex}.review-button{width:100%;margin-top:20px}.question-inbox{border-top:0;border-bottom:1px solid #dfe7e1;order:-1;margin-top:0;margin-bottom:22px;padding-top:0;padding-bottom:20px}.question-inbox-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.question-inbox-heading h2{margin:4px 0 0;font-size:1.35rem}.question-inbox-heading strong{color:#1f4c39;background:#e8f2ec;border-radius:999px;flex:none;padding:6px 10px;font-size:.9rem}.empty-inbox,.question-inbox-item{background:#fbfdfb;border:1px solid #c5d8ca;border-radius:16px;margin-top:12px;padding:14px}.empty-inbox{color:#637368}.question-list{gap:10px;margin-top:12px;display:grid}.question-inbox-item{background:#fff;border-color:#9ebaa8;margin-top:0}.question-inbox-item p{margin:8px 0 0;line-height:1.48}.question-inbox-item .question-body{color:#081812;margin-top:12px;font-size:clamp(1.2rem,2.2vw,1.6rem);font-weight:900;line-height:1.5}.question-answer{background:#eef7f1;border-left:4px solid #2c7150;border-radius:12px;margin-top:12px;padding:10px 12px}.question-answer p{margin:5px 0 0}.answer-label{color:#315b48;margin-top:14px;font-size:.82rem;font-weight:850;display:block}.question-inbox-item textarea{color:#173326;resize:vertical;background:#fbfdfb;border:1px solid #c5d8ca;border-radius:13px;width:100%;min-height:92px;margin-top:7px;padding:11px 12px}.question-answer-actions{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.question-answer-actions span{color:#66736c;font-size:.82rem}.question-answer-actions button{color:#fff;background:#2c7150;border:0;border-radius:11px;flex:none;padding:9px 12px;font-weight:850}.question-answer-actions button:disabled{cursor:wait;opacity:.5}.question-slide-label{color:#315b48;background:#eef6f0;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:850;display:inline-flex}.projector-view{background:#101713;width:100vw;height:100vh;position:relative;overflow:hidden}.projector-view iframe{background:#fff;border:0;width:100%;height:100%;display:block}.projector-offline{z-index:2;color:#6e2c20;background:#ffe7dcf0;border-radius:999px;margin:0;padding:9px 13px;font-size:.8rem;font-weight:850;position:fixed;top:14px;right:14px;box-shadow:0 5px 18px #0000002e}@media (width<=860px){.console-grid{grid-template-columns:1fr}.console-stage iframe{min-height:52vh}}
