*,*:before,*:after{box-sizing:border-box}:root{--color-bg: #f6f7f9;--color-card: #ffffff;--color-border: #e7e9ee;--color-text: #191f28;--color-muted: #6b7684;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-soft: #eef0ff;--color-danger: #dc2626;font-family:Pretendard Variable,Pretendard,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0;min-height:100vh;background:var(--color-bg);display:flex;justify-content:center;align-items:stretch;padding:clamp(24px,5vw,64px);color:var(--color-text);box-sizing:border-box}#root{width:100%;display:flex;flex-direction:column}main.student-app{width:min(100%,720px);margin:auto;display:flex;flex-direction:column;gap:clamp(20px,3vw,32px);padding:clamp(16px,3vw,32px);box-sizing:border-box}.student-header{text-align:center;margin-bottom:32px}.student-header h1{margin:0 0 8px;font-size:clamp(30px,5vw,38px);font-weight:800;letter-spacing:-.5px;color:var(--color-text)}.student-header p{margin:0;color:var(--color-muted);font-size:17px;font-weight:500}.student-card{background:var(--color-card);border-radius:16px;box-shadow:0 1px 2px #191f280a;padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:20px;border:1px solid var(--color-border);width:100%;box-sizing:border-box}.student-form-group{margin-bottom:20px}.student-loading{text-align:center;color:#6b7280;font-size:16px;font-weight:500;margin-bottom:20px;padding:16px;background:#3b82f61a;border-radius:12px;border:1px solid rgba(59,130,246,.2)}.student-input{font:inherit;padding:15px 18px;border:1.5px solid var(--color-border);border-radius:12px;background:#fff;color:var(--color-text);font-size:16px;width:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;font-weight:500}.student-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51f;background:#fff}.student-button{border:none;border-radius:12px;background:var(--color-accent);color:#fff;font:inherit;font-size:17px;font-weight:700;padding:16px 32px;cursor:pointer;transition:background .15s ease;width:100%;margin-top:12px}.student-button:hover:not(:disabled){background:var(--color-accent-hover)}.student-button:active:not(:disabled){background:var(--color-accent-hover)}.student-button:disabled{background:#c7cbd4;cursor:not-allowed;transform:none}.student-alert{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#dc2626;border-radius:12px;padding:16px 20px;font-weight:500;text-align:center}.student-success{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#059669;border-radius:12px;padding:16px 20px;font-weight:500;text-align:center}.student-muted{color:var(--color-muted)}.student-help{margin:0;padding-left:20px;color:var(--color-muted);display:flex;flex-direction:column;gap:8px}form{display:flex;flex-direction:column}.student-classroom{width:min(100%,960px);margin:0 auto;padding:clamp(20px,4vw,48px);min-height:100vh;display:flex;flex-direction:column}.student-classroom-header{text-align:center;margin-bottom:32px;padding:24px;background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 1px 2px #191f280a}.student-classroom-header h1{margin:0 0 8px;font-size:28px;color:var(--color-text)}.student-classroom-header p{margin:0;color:var(--color-muted);font-size:16px}.student-leave-button{margin-top:16px;padding:9px 20px;border-radius:10px;border:1px solid var(--color-border);background:#fff;color:var(--color-muted);font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.student-leave-button:hover{background:#fdeeee;border-color:#f5c6c6;color:#dc2626}.student-leave-button:active{transform:translateY(0);box-shadow:none}.student-classroom-content{flex:1;display:flex;align-items:flex-start;justify-content:center;padding-bottom:clamp(24px,4vw,56px);box-sizing:border-box}.student-waiting{text-align:center;padding:clamp(36px,5vw,56px);background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 1px 2px #191f280a;max-width:clamp(320px,80vw,720px);width:100%}.student-waiting-icon{margin-bottom:24px;animation:pulse 2s infinite;color:var(--color-accent);display:flex;justify-content:center}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.student-waiting h2{margin:0 0 12px;font-size:24px;color:var(--color-text)}.student-waiting p{margin:0 0 24px;color:var(--color-muted);font-size:16px}.student-active-features{background:var(--color-accent-soft);border:1px solid #dfe3fc;border-radius:12px;padding:20px;text-align:left}.student-active-features h3{margin:0 0 12px;font-size:16px;color:var(--color-text)}.student-active-features ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.student-active-features li{padding:8px 12px;background:var(--color-card);border-radius:8px;font-size:14px;color:var(--color-text)}.student-feature{text-align:center;padding:clamp(32px,5vw,56px);background:var(--color-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 1px 2px #191f280a;max-width:clamp(360px,80vw,900px);width:100%}.student-feature h2{margin:0 0 16px;font-size:28px;color:#1f2937!important}.student-feature p{margin:0;color:#6b7280!important;font-size:16px}@media (max-width: 480px){body{padding:24px 12px}main.student-app{padding:16px}.student-card{padding:20px}.student-classroom{padding:16px}.student-classroom-header{padding:20px;margin-bottom:24px}.student-classroom-content{padding-bottom:32px}.student-waiting,.student-feature{padding:28px 20px}.student-waiting-icon{font-size:48px;margin-bottom:20px}}.student-feature{padding:clamp(24px,4vw,48px);max-width:clamp(360px,80vw,900px);margin:0 auto}.student-feature .feature-header{text-align:center;margin-bottom:32px;display:flex;flex-direction:column;gap:8px;align-items:center}.student-feature .feature-header h2{margin:0;font-size:clamp(24px,4vw,32px);color:var(--color-text);text-shadow:none;display:flex;align-items:center;justify-content:center;gap:10px}.student-feature .feature-header h2 svg{color:var(--color-accent)}.student-feature .feature-header p{margin:0;color:#6b7280;font-size:16px}.student-question-form{background:#f8fafc;border-radius:16px;padding:20px;margin-bottom:20px}.student-question-input{width:100%;padding:16px;border:2px solid rgba(0,0,0,.1);border-radius:12px;font-size:16px;font-family:inherit;resize:vertical;margin-bottom:16px;box-sizing:border-box}.student-question-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51f}.student-submit-button{background:var(--color-accent);color:#fff;border:none;padding:14px 28px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.student-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #4f46e52e}.student-submit-button:disabled{background:#c7cbd4;cursor:not-allowed;transform:none}.student-questions-list{background:#f8fafc;border-radius:16px;padding:20px}.student-questions-list h3{margin:0 0 16px;font-size:18px;color:#1f2937}.student-question-item{background:#f8fafc;border-radius:8px;padding:16px;margin-bottom:12px;border-left:4px solid var(--color-accent)}.student-question-item p{margin:0 0 8px;color:#374151}.question-status{font-size:12px;color:#f59e0b;font-weight:500;background:#fef3c7;padding:4px 8px;border-radius:4px}.student-chat-container{background:#f8fafc;border-radius:16px;padding:20px;height:400px;display:flex;flex-direction:column}.student-messages{flex:1;overflow-y:auto;margin-bottom:16px;padding-right:8px;scroll-behavior:smooth;display:flex;flex-direction:column;gap:8px}.student-message{background:#f8fafc;border-radius:12px;padding:12px 16px;margin-bottom:12px}.message-author{font-weight:600;color:var(--color-accent);font-size:14px}.message-content{margin:4px 0 0;color:#374151;line-height:1.5}.student-message-form{display:flex;gap:12px;width:100%;max-width:100%}.student-message-input{flex:1;min-width:0;padding:12px 16px;border:2px solid rgba(0,0,0,.1);border-radius:12px;font-size:16px;box-sizing:border-box}.student-message-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51f}.student-send-button{background:var(--color-accent);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:600;cursor:pointer;transition:all .3s ease;flex-shrink:0;display:inline-flex;align-items:center;gap:6px}.student-send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #4f46e52e}.student-send-button:disabled{background:#c7cbd4;cursor:not-allowed}.student-poll{background:#f8fafc;border-radius:16px;padding:24px}.student-poll-stack{display:flex;flex-direction:column;gap:32px;width:100%}.poll-question{margin:0 0 24px;font-size:20px;color:#1f2937;text-align:center;font-weight:600}.poll-options{display:flex;flex-direction:column;gap:12px}.poll-option:hover:not(:disabled){border-color:var(--color-accent);background:#f8fafc;transform:translateY(-1px)}.word-poll{display:flex;flex-direction:column;gap:12px}.student-poll-textarea{width:100%;padding:16px;border:2px solid rgba(0,0,0,.1);border-radius:12px;font-size:16px;font-family:inherit;resize:vertical;box-sizing:border-box}.student-word-input{width:100%;padding:14px 16px;border:2px solid rgba(0,0,0,.1);border-radius:12px;font-size:18px;text-transform:none;transition:border-color .2s ease,box-shadow .2s ease;box-sizing:border-box}.student-word-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51f}.student-word-hint{margin:0;font-size:14px;color:#64748b}.response-confirmation{margin-top:20px;padding:16px;background:#d1fae5;border:1px solid #a7f3d0;border-radius:12px;text-align:center}.response-confirmation p{margin:0;color:#065f46;font-weight:500}.no-poll{background:#f8fafc;border-radius:16px;padding:24px;text-align:center}.empty-state{color:#9ca3af;font-style:italic;text-align:center;padding:16px 0;margin:0}.student-messages::-webkit-scrollbar{width:6px}.student-messages::-webkit-scrollbar-track{background:#f1f5f9;border-radius:3px}.student-messages::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.student-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.iframe-mode{margin:0;padding:0;height:100vh;overflow:hidden}.iframe-mode body{margin:0;padding:0;height:100vh;background:#fff;display:block}.iframe-mode .teacher-room{height:100vh;margin:0;padding:0;background:#fff;display:flex;flex-direction:column}.iframe-mode .room-header{flex-shrink:0;margin:0;border-radius:0;box-shadow:none;border-bottom:1px solid #e5e7eb}.iframe-mode .sidepanel-content{flex:1;overflow-y:auto}.iframe-mode .room-actions{flex-shrink:0;padding:16px 20px;border-top:1px solid #e5e7eb;background:#f8fafc}.sidepanel-tabs{display:flex;border-bottom:1px solid #e2e8f0;background:#fff;margin-bottom:0}.sidepanel-tab{flex:1;padding:12px 8px;border:none;background:none;cursor:pointer;font-size:24px;transition:all .2s;border-bottom:3px solid transparent;position:relative}.sidepanel-tab:hover{background:#f8fafc}.sidepanel-tab.active{border-bottom-color:#4f46e5;background:#f8fafc}.sidepanel-tab:hover:after{content:attr(title);position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:10}.sidepanel-content{flex:1;overflow-y:auto;background:#fff}.feature-panel{padding:20px;height:100%;display:flex;flex-direction:column}.feature-panel.active{background:#fff}.feature-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e5e7eb}.feature-header h3{font-size:1.3rem;color:#1f2937;margin:0}.start-button,.stop-button{padding:10px 20px;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.start-button{background:#10b981;color:#fff}.start-button:hover{background:#059669}.stop-button{background:#ef4444;color:#fff}.stop-button:hover{background:#dc2626}.participant-panel{padding:20px}.share-section{margin-bottom:30px}.share-section h3{font-size:1.2rem;color:#1f2937;margin-bottom:15px}.share-code{margin-bottom:15px}.code-display{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f3f4f6;border-radius:8px}.code-label{color:#6b7280;font-size:14px}.code-value{font-family:Monaco,Menlo,monospace;font-size:18px;font-weight:700;color:#4f46e5}.share-link{margin-bottom:20px}.link-input-group{display:flex;gap:8px}.link-input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;background:#f9fafb}.copy-button{padding:10px 16px;background:#4f46e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;white-space:nowrap;transition:background .2s}.copy-button:hover{background:#4338ca}.qr-section{text-align:center}.qr-container{display:inline-block;padding:15px;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:10px}.qr-image{width:150px;height:150px;border-radius:8px}.qr-description{color:#6b7280;font-size:14px;margin:0}.participants-list h3{font-size:1.2rem;color:#1f2937;margin-bottom:15px}.questions-list{flex:1;overflow-y:auto}.empty-message{text-align:center;color:#6b7280;padding:40px 20px;font-style:italic}.question-item{padding:16px;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;background:#f9fafb}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.question-author{font-weight:600;color:#1f2937}.question-time{color:#6b7280;font-size:14px}.question-content{color:#374151;line-height:1.5;margin-bottom:12px}.question-actions{display:flex;gap:8px}.upvote-button,.archive-button{padding:6px 12px;border:1px solid #d1d5db;border-radius:4px;background:#fff;cursor:pointer;font-size:14px;transition:all .2s}.upvote-button:hover{background:#f3f4f6;border-color:#10b981}.archive-button:hover{background:#f3f4f6;border-color:#6b7280}.messages-container{flex:1;overflow-y:auto;padding:10px 0;margin-bottom:15px;max-height:400px}.message-item{margin-bottom:12px}.message-bubble{max-width:80%;padding:10px 14px;border-radius:12px;background:#f3f4f6}.message-item.own-message .message-bubble{background:#4f46e5;color:#fff;margin-left:auto}.message-item.other-message .message-bubble{background:#f1f1f1;color:#1f2937}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.message-author{font-weight:600;font-size:12px;opacity:.8}.message-time{font-size:11px;opacity:.6}.message-content{line-height:1.4}.message-form{display:flex;gap:8px;padding-top:15px;border-top:1px solid #e5e7eb}.message-input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px}.send-button{padding:10px 16px;background:#4f46e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.send-button:hover:not(:disabled){background:#4338ca}.send-button:disabled{opacity:.5;cursor:not-allowed}.create-poll-button{width:100%;padding:16px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s;margin-bottom:20px}.create-poll-button:hover{background:#059669}.poll-form{background:#f9fafb;padding:20px;border-radius:8px;margin-bottom:20px}.poll-type-selector{display:flex;gap:20px;margin-bottom:15px}.poll-type-selector label{display:flex;align-items:center;gap:8px;cursor:pointer}.poll-type-selector input[type=radio]{margin:0}.poll-type-selector span{color:#374151;font-weight:500}.poll-question-input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;margin-bottom:15px}.poll-options{margin-bottom:15px}.poll-option-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;margin-bottom:8px}.add-option-button{padding:8px 16px;background:#6b7280;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.add-option-button:hover{background:#4b5563}.poll-form-actions{display:flex;gap:10px}.create-button{padding:10px 20px;background:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.create-button:hover{background:#059669}.cancel-button{padding:10px 20px;background:#6b7280;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:600;transition:background .2s}.cancel-button:hover{background:#4b5563}.active-poll{background:#f0f9ff;padding:20px;border-radius:8px;border:1px solid #0ea5e9;margin-bottom:20px}.active-poll h4{color:#0c4a6e;margin-bottom:15px;font-size:1.1rem}.poll-host-actions{display:flex;gap:10px}.close-poll-button{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.close-poll-button:hover{background:#dc2626}.closed-polls{margin-top:20px}.closed-polls h4{color:#6b7280;margin-bottom:10px;font-size:1rem}.closed-poll-item{padding:12px;background:#f3f4f6;border-radius:6px;margin-bottom:8px;color:#6b7280}.teacher-app{min-height:100vh;background:var(--color-accent);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.teacher-header{text-align:center;margin-bottom:40px;color:#fff}.teacher-header h1{font-size:2.5rem;margin-bottom:10px;font-weight:700}.teacher-header p{font-size:1.2rem;opacity:.9}.create-room-form{background:#fff;padding:40px;border-radius:20px;box-shadow:0 20px 40px #0000001a;width:100%;max-width:400px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#374151}.form-group input{width:100%;padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:16px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-accent)}.create-room-form button{width:100%;padding:14px;background:var(--color-accent);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s}.create-room-form button:hover:not(:disabled){transform:translateY(-2px)}.create-room-form button:disabled{opacity:.6;cursor:not-allowed}.error-message{background:#fee2e2;color:#dc2626;padding:12px;border-radius:8px;margin-bottom:20px;font-size:14px}.teacher-room{min-height:100vh;background:#f8fafc;padding:20px}.room-header{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:20px}.room-header h1{font-size:1.8rem;color:#1f2937;margin-bottom:10px}.room-info{display:flex;align-items:center;gap:15px}.room-code{font-size:1.1rem;color:#6b7280}.room-code strong{color:#4f46e5;font-family:Monaco,Menlo,monospace;font-size:1.3rem}.copy-link-btn{padding:8px 16px;background:#4f46e5;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.copy-link-btn:hover{background:#4338ca}.participants-section{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:20px}.participants-section h2{font-size:1.3rem;color:#1f2937;margin-bottom:15px}.participants-list{max-height:200px;overflow-y:auto}.no-participants{color:#6b7280;text-align:center;padding:20px;font-style:italic}.participant-item{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f3f4f6}.participant-item:last-child{border-bottom:none}.participant-name{font-weight:600;color:#1f2937}.participant-role{padding:4px 8px;background:#ddd6fe;color:#5b21b6;border-radius:4px;font-size:12px;font-weight:500}.participant-time{color:#6b7280;font-size:14px}.features-section{background:#fff;padding:20px;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin-bottom:20px}.features-section h2{font-size:1.3rem;color:#1f2937;margin-bottom:15px}.feature-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.feature-btn{padding:16px 20px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;font-size:16px;font-weight:600;transition:all .2s;text-align:center}.feature-btn:hover{border-color:#4f46e5;background:#f8fafc;transform:translateY(-2px)}.feature-btn.questions{border-color:#10b981;color:#10b981}.feature-btn.chat{border-color:#3b82f6;color:#3b82f6}.feature-btn.polls{border-color:#f59e0b;color:#f59e0b}.room-actions{text-align:center}.leave-room-btn{padding:12px 24px;background:#ef4444;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:16px;transition:background .2s}.leave-room-btn:hover{background:#dc2626}.classlive-sidebar{position:fixed;top:0;right:0;width:100%;height:100vh;background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column;z-index:10000;font-family:inherit;padding-top:0}.iframe-mode .classlive-sidebar{position:static;background:var(--color-bg);color:var(--color-text)}.classlive-header{padding:20px;border-bottom:1px solid var(--color-border);background:#fff;color:var(--color-text);flex-shrink:0}.iframe-mode .classlive-header{background:#fff;color:var(--color-text);border-bottom:1px solid var(--color-border)}.classlive-header strong{font-size:18px;font-weight:700;display:block;margin-bottom:4px}.classlive-header .classlive-body{font-size:14px;opacity:.9;margin:0}.classlive-header--room{display:flex;flex-direction:column;gap:1px;padding:12px 10px 10px}.classlive-sidebar .new-tab-link{position:absolute;top:10px;right:10px;font-size:20px;text-decoration:none;color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-accent-soft);border:1px solid #dfe3fc;box-shadow:0 1px 3px #191f2814;opacity:.85;transition:opacity .2s ease-in-out;z-index:15}.classlive-sidebar .new-tab-link:hover,.classlive-sidebar .new-tab-link:focus{opacity:1;background:#dfe3fc}.classlive-header--room strong{display:inline-flex;margin:0}.classlive-header-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:45px}.classlive-room-code{font-size:14px;font-weight:700;color:var(--color-accent);background:var(--color-accent-soft);padding:4px 10px;border-radius:999px;border:1px solid #dfe3fc;letter-spacing:.5px}.classlive-tabs{display:flex;gap:4px;margin-top:16px}.classlive-tabs--compact{margin-top:10px;display:flex;align-items:center;gap:4px}.classlive-tabs--compact .classlive-tab-icon{flex:1;min-width:0;justify-content:center;padding-left:6px;padding-right:6px;gap:6px}.classlive-tab{background:none;border:none;color:var(--color-muted);padding:5px 11px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;transition:all .15s ease}.classlive-tab:hover{color:var(--color-text);background:#f1f2f6}.classlive-tab.is-active{color:var(--color-accent);background:var(--color-accent-soft)}.classlive-tab-icon{display:flex;align-items:center;gap:8px}.classlive-tab-emoji{display:inline-flex;align-items:center}.classlive-tab-label{font-size:12px}.classlive-scroll{flex:1;overflow-y:auto;padding:16px 10px 20px}.classlive-header--room+.classlive-scroll{padding-top:12px}.overlay-target-row{display:flex;align-items:center;gap:7px;margin-top:6px;padding:5px 8px;background:#f1f2f6;border-radius:8px;border:1px solid var(--color-border)}.overlay-target-row.is-targeting-other{background:var(--color-accent-soft);border-color:#dfe3fc}.overlay-target-label{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);white-space:nowrap;flex-shrink:0}.overlay-target-row.is-targeting-other .overlay-target-label{color:var(--color-accent)}.overlay-target-select{flex:1;min-width:0;height:22px;padding:0 5px;font-size:11px;font-weight:500;color:var(--color-text);background:#fff;border:1px solid var(--color-border);border-radius:5px;cursor:pointer;outline:none;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.overlay-target-row.is-targeting-other .overlay-target-select{background:#fff;border-color:#c3cafa;color:var(--color-accent)}.overlay-target-select:focus{border-color:var(--color-accent)}.overlay-target-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--color-accent);animation:overlay-dot-pulse 1.8s ease-in-out infinite}@keyframes overlay-dot-pulse{0%,to{opacity:1}50%{opacity:.3}}.classlive-card{background:#fff;border:1px solid var(--color-border);border-radius:14px;padding:12px;margin-bottom:16px;box-shadow:0 1px 2px #191f280a}.iframe-mode .classlive-card{background:#fff;border:1px solid var(--color-border);color:var(--color-text)}.classlive-heading{font-size:15px;font-weight:600;margin:0 0 5px;color:inherit}.classlive-heading-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.classlive-body{font-size:14px;line-height:1.5;color:inherit;opacity:.8;margin:0}.iframe-mode .classlive-body{opacity:.7}.classlive-chip{background:var(--color-accent-soft);color:var(--color-accent);padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600}.classlive-input{width:100%;max-width:100%;padding:12px 16px;background:#fff;border:1.5px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:14px;font-family:inherit;margin-bottom:12px;box-sizing:border-box}.iframe-mode .classlive-input{background:#fff;border:1.5px solid var(--color-border);color:var(--color-text)}.classlive-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51f}.classlive-button{background:#4f46e5;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.classlive-button:hover:not(:disabled){background:#4338ca;transform:translateY(-1px)}.classlive-button:disabled{background:#c7cbd4;cursor:not-allowed;transform:none}.classlive-button-danger{background:#ef4444}.classlive-button-danger:hover:not(:disabled){background:#dc2626}.classlive-grid{display:flex;flex-direction:column;gap:12px}.classlive-alert{background:#fdeeee;border:1px solid #f5c6c6;color:#dc2626;border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px}.iframe-mode .classlive-alert{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.classlive-footer{padding:2px 10px;border-top:1px solid var(--color-border);background:#fff;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:12px}.classlive-footer .classlive-body{line-height:1.2;font-size:13px}.classlive-footer .classlive-tab{padding:4px 10px;font-size:13px}.iframe-mode .classlive-footer{background:#fff;border-top:1px solid var(--color-border);color:var(--color-text)}.classlive-footer .classlive-tabs{align-items:center}.classlive-share,.iframe-mode .classlive-share{background:#fff;border:1px solid var(--color-border)}.classlive-share-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.classlive-share-code{font-family:inherit;font-size:24px;font-weight:800;letter-spacing:4px;color:var(--color-accent);background:var(--color-accent-soft);padding:8px 16px;border-radius:10px;border:1px solid #dfe3fc}.iframe-mode .classlive-share-code{color:var(--color-accent);background:var(--color-accent-soft);border:1px solid #dfe3fc}.classlive-share-body{display:flex;flex-direction:column;gap:16px}.classlive-share-qr{text-align:center}.classlive-share-qr img{width:120px;height:120px;border-radius:8px;background:#fff;padding:8px;cursor:pointer;transition:transform .2s ease}.classlive-share-qr img:hover{transform:scale(1.05)}.classlive-share-actions{display:flex;flex-direction:column;gap:8px}.classlive-share-actions label{font-size:12px;font-weight:500;opacity:.8}.classlive-participants{display:flex;flex-direction:column;gap:8px}.classlive-participant{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f1f2f4}.iframe-mode .classlive-participant{border-bottom:1px solid #f1f2f4}.classlive-participant:last-child{border-bottom:none}.classlive-participant-name{font-weight:600;color:inherit}.classlive-participant-role{background:var(--color-accent-soft);color:var(--color-accent);padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.iframe-mode .classlive-participant-role{background:var(--color-accent-soft);color:var(--color-accent)}.classlive-participant-time{font-size:12px;opacity:.6}.classlive-questions{display:flex;flex-direction:column;gap:12px}.classlive-question{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:16px;cursor:pointer;transition:all .2s ease}.iframe-mode .classlive-question{background:#fff;border:1px solid var(--color-border);color:var(--color-text)}.classlive-question:hover{background:#fbfbfd;border-color:#c3cafa;transform:translateY(-1px)}.iframe-mode .classlive-question:hover{background:#fbfbfd;border-color:#c3cafa}.classlive-question-answered{opacity:.7;background:#22c55e1a;border-color:#22c55e4d}.iframe-mode .classlive-question-answered{background:#22c55e0d;border-color:#22c55e33}.classlive-question-author{font-weight:600;color:var(--color-accent);font-size:14px}.iframe-mode .classlive-question-author{color:var(--color-accent)}.classlive-question-time{font-size:12px;opacity:.6}.classlive-question-status{font-size:12px;font-weight:500;color:#10b981}.classlive-question-body{line-height:1.5;margin-bottom:8px;color:inherit}.classlive-question-actions{display:flex;justify-content:flex-end}.classlive-question-upvotes{background:#fef3c7;color:#b45309;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.iframe-mode .classlive-question-upvotes{background:#fbbf241a;color:#d97706}.classlive-chat{display:flex;flex-direction:column;gap:16px}.classlive-messages{max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:0px;scroll-behavior:smooth}.classlive-message{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:12px}.iframe-mode .classlive-message{background:#fff;border:1px solid var(--color-border);color:var(--color-text)}.classlive-message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.classlive-message-author{font-weight:600;color:var(--color-accent);font-size:14px}.iframe-mode .classlive-message-author{color:var(--color-accent)}.classlive-message-time{font-size:12px;opacity:.6}.classlive-message-body{line-height:1.4;color:inherit}.classlive-message-bubble{max-width:80%;margin-bottom:8px}.classlive-message-bubble.own-message{align-self:flex-end}.classlive-message-bubble.other-message{align-self:flex-start}.classlive-message-content{background:#f1f2f6;border-radius:12px;padding:12px}.iframe-mode .classlive-message-content{background:#f1f2f6;border:1px solid var(--color-border);color:var(--color-text)}.classlive-message-bubble.own-message .classlive-message-content{background:#4f46e5;color:#fff}.iframe-mode .classlive-message-bubble.own-message .classlive-message-content{background:#4f46e5;color:#fff;border-color:#4f46e5}.classlive-message-form{display:flex;gap:8px;width:100%;max-width:100%}.classlive-message-form .classlive-input{flex:1;margin-bottom:0;min-width:0}.classlive-message-form .classlive-button{width:auto;padding:12px 16px;flex-shrink:0;display:inline-flex;align-items:center;gap:6px}.classlive-question-card{padding:12px 16px!important}.classlive-question-actions{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.classlive-question-action{background:transparent;border:1px solid rgba(31,41,55,.15);color:var(--color-text);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.classlive-question-header-actions{display:flex;align-items:center;gap:8px}.classlive-question-action:hover:not(:disabled){background:#2563eb14;border-color:#2563eb66;color:#2563eb}.classlive-question-action:disabled{opacity:.6;cursor:not-allowed}.classlive-question-action--danger{border-color:#dc262666;color:#dc2626}.classlive-question-action--danger:hover:not(:disabled){background:#dc26261f;color:#b91c1c;border-color:#dc26268c}.classlive-question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.classlive-upvote-btn{background:var(--color-accent-soft);border:1px solid #dfe3fc;border-radius:6px;padding:4px 8px;font-size:12px;color:var(--color-accent);cursor:pointer;transition:all .2s ease}.iframe-mode .classlive-upvote-btn{background:var(--color-accent-soft);border-color:#dfe3fc;color:var(--color-accent)}.classlive-upvote-btn:hover:not(:disabled){background:#dfe3fc;transform:translateY(-1px)}.classlive-upvote-btn:disabled{opacity:.5;cursor:not-allowed}.classlive-clickable-question{cursor:pointer;transition:all .2s ease;border-radius:4px;padding:8px;margin:-8px}.classlive-clickable-question:hover,.iframe-mode .classlive-clickable-question:hover{background:var(--color-accent-soft)}.classlive-polls{display:flex;flex-direction:column;gap:16px}.classlive-poll-form{background:#fff;border:1px solid var(--color-border);border-radius:10px;padding:16px;width:100%;max-width:100%;box-sizing:border-box}.iframe-mode .classlive-poll-form{background:#fff;border:1px solid var(--color-border);color:var(--color-text)}.classlive-poll-type{display:flex;gap:16px;margin-bottom:16px}.classlive-poll-type label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.classlive-poll-options{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;width:100%;max-width:100%}.classlive-active-poll{background:var(--color-accent-soft);border:1px solid #dfe3fc;border-radius:10px;padding:16px}.iframe-mode .classlive-active-poll{background:var(--color-accent-soft);border:1px solid #dfe3fc;color:var(--color-text)}.classlive-poll-question{font-size:16px;font-weight:600;margin-bottom:8px;color:inherit}.classlive-completed-poll{background:#fbfbfd;border:1px solid var(--color-border);border-radius:10px;padding:12px;opacity:.7}.iframe-mode .classlive-completed-poll{background:#fbfbfd;border:1px solid var(--color-border);color:var(--color-text)}.classlive-scroll::-webkit-scrollbar,.classlive-messages::-webkit-scrollbar{width:6px}.classlive-scroll::-webkit-scrollbar-track,.classlive-messages::-webkit-scrollbar-track{background:#f1f2f6;border-radius:3px}.classlive-scroll::-webkit-scrollbar-thumb,.classlive-messages::-webkit-scrollbar-thumb{background:#d5d9e0;border-radius:3px}.classlive-scroll::-webkit-scrollbar-thumb:hover,.classlive-messages::-webkit-scrollbar-thumb:hover{background:#b6bcc7}.iframe-mode .classlive-scroll::-webkit-scrollbar-track,.iframe-mode .classlive-messages::-webkit-scrollbar-track{background:#f1f5f9}.iframe-mode .classlive-scroll::-webkit-scrollbar-thumb,.iframe-mode .classlive-messages::-webkit-scrollbar-thumb{background:#cbd5e1}.iframe-mode .classlive-scroll::-webkit-scrollbar-thumb:hover,.iframe-mode .classlive-messages::-webkit-scrollbar-thumb:hover{background:#94a3b8}.classlive-list{display:flex;flex-direction:column;gap:12px}.classlive-empty{text-align:center;color:#9aa2ad;font-style:italic;padding:40px 20px}.iframe-mode .classlive-empty{color:#9ca3af}.classlive-textarea{width:100%;max-width:100%;padding:12px 16px;background:#fff;border:1.5px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:14px;font-family:inherit;margin-bottom:12px;resize:vertical;min-height:80px;box-sizing:border-box}.iframe-mode .classlive-textarea{background:#fff;border:1.5px solid var(--color-border);color:var(--color-text)}.classlive-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51f}.classlive-select{width:100%;padding:12px 16px;background:#fff;border:1.5px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:14px;font-family:inherit;margin-bottom:12px}.iframe-mode .classlive-select{background:#fff;border:1.5px solid var(--color-border);color:var(--color-text)}.classlive-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51f}.classlive-modal-preview{background:var(--color-accent-soft);border:1px solid #dfe3fc;border-radius:10px;padding:12px 16px;margin-top:16px;font-size:13px;color:var(--color-accent)}.iframe-mode .classlive-modal-preview{background:var(--color-accent-soft);border:1px solid #dfe3fc;color:var(--color-accent)}.classlive-chat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.iframe-mode .classlive-chat-header{border-bottom:1px solid var(--color-border)}.classlive-message-actions{margin-top:8px;display:flex;justify-content:flex-end}.classlive-danger-zone{background:#fdeeee!important;border:1px solid #f5c6c6!important}.iframe-mode .classlive-danger-zone{background:#ef44440d!important;border:1px solid rgba(239,68,68,.2)!important}.classlive-card-error{background:#fdeeee;border:1px solid #f5c6c6;color:#dc2626;border-radius:6px;padding:8px 12px;margin:8px 0;font-size:13px}.iframe-mode .classlive-card-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.classlive-danger-actions{display:flex;gap:8px;margin-top:12px}.classlive-danger{color:#dc2626!important;border-color:#dc26264d!important}.classlive-danger:hover{background:#fdeeee!important;border-color:#dc262673!important}.iframe-mode .classlive-danger{color:#dc2626!important;border-color:#dc26264d!important}.iframe-mode .classlive-danger:hover{background:#dc26260d!important;border-color:#dc262666!important}.classlive-poll-option-result{position:relative;background:#fbfbfd;border:1px solid var(--color-border);border-radius:8px;padding:8px 12px;margin-bottom:4px;overflow:hidden}.iframe-mode .classlive-poll-option-result{background:#fbfbfd;border:1px solid var(--color-border)}.classlive-poll-progress{position:absolute;top:0;left:0;height:100%;background:#4f46e524;border-radius:6px;transition:width .3s ease;pointer-events:none}.iframe-mode .classlive-poll-progress{background:#4f46e524}.classlive-show-more{border:none;background:#94a3b840;color:#0f172a;padding:6px 12px;border-radius:9999px;font-size:13px;cursor:pointer;transition:background .2s ease,transform .2s ease}.classlive-show-more:hover{background:#94a3b866;transform:translateY(-1px)}.classlive-poll-responders{margin-top:8px;display:flex;flex-direction:column;gap:8px}.classlive-responders-toggle{align-self:flex-start;border:none;background:#94a3b840;color:#0f172a;padding:6px 14px;border-radius:9999px;font-size:12px;cursor:pointer;transition:background .2s ease}.classlive-responders-toggle:hover{background:#94a3b866}.classlive-responders-list{display:flex;flex-wrap:wrap;gap:6px}.classlive-responder-chip{background:#e2e8f0cc;color:#0f172a;padding:4px 10px;border-radius:9999px;font-size:12px}.tools-panel{display:flex;flex-direction:column;gap:24px}.tool-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px}.tool-card h3{margin:0;color:var(--color-text);font-size:18px;display:flex;align-items:center;gap:8px}.tool-card h3 svg{color:var(--color-accent)}.tool-description{margin:0;color:#4b5563;font-size:14px}.tool-field-grid{display:flex;flex-wrap:wrap;gap:12px}.tool-field{flex:1;display:flex;flex-direction:column;gap:4px;font-size:13px;color:#374151}.tool-number-input,.tool-select,.tool-textarea{width:100%;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;color:#0f172a;padding:10px 12px;font-size:14px;box-sizing:border-box}.tool-textarea{resize:vertical;min-height:110px}.tool-actions{display:flex;flex-wrap:wrap;gap:8px}.tool-timer-display{border-radius:20px;background:#f1f5f9;color:#0f172a;text-align:center;font-size:42px;font-weight:700;padding:18px;transition:background .2s ease,color .2s ease,transform .2s ease}.tool-timer-display.is-active{background:#0ea5e9;color:#f8fafc;cursor:pointer}.tool-timer-display.is-active:hover{transform:translateY(-2px)}.tool-result-banner{display:flex;align-items:center;justify-content:center;gap:7px;text-align:center;background:#ecfdf3;color:#166534;padding:10px 14px;border-radius:12px;font-weight:600}.tool-dice-grid{display:flex;flex-direction:column;gap:12px}.tool-dice-card{border:1px solid #e5e7eb;border-radius:14px;padding:12px;background:#f9fafb;display:flex;flex-direction:column;gap:8px}.tool-select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.tool-color-input{width:100%;height:40px;padding:0;border:none;background:transparent}.tool-dice-results{display:flex;flex-wrap:wrap;gap:12px}.tool-dice-result{min-width:90px;min-height:90px;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:34px;font-weight:700;color:#0f172a;box-shadow:0 10px 30px #0f172a40}.tool-dice-result small{font-size:12px}.tool-chalkboard-preview{border:1px dashed #d1d5db;border-radius:14px;padding:12px;background:#f8fafc}.tool-chalkboard-title{margin:0 0 6px;font-size:12px;letter-spacing:.1em;color:var(--color-muted)}.tool-font-controls{display:flex;align-items:center;gap:8px}.tool-font-value{min-width:60px;text-align:center;font-weight:600;color:var(--color-text)}.tool-font-input{width:70px;background:#fff;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);padding:6px 8px}.classlive-helper-text{margin-top:8px;font-size:13px;line-height:1.4;color:var(--color-muted)}.classlive-word-cloud-preview{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.classlive-word-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9999px;background:var(--color-accent-soft);color:var(--color-text);font-weight:600;font-size:14px}.classlive-word-count{display:inline-block;min-width:20px;padding:2px 6px;border-radius:9999px;background:#4f46e51f;font-size:12px;font-weight:600;color:var(--color-accent)}.iframe-mode .classlive-helper-text{color:#64748b}.iframe-mode .classlive-word-chip{background:#3b82f61f;color:#1e293b}.iframe-mode .classlive-word-count{background:#94a3b833;color:#1e293b}.classlive-message-bubble{display:flex;margin-bottom:12px;max-width:80%}.classlive-message-bubble.own-message{align-self:flex-end;justify-content:flex-end}.classlive-message-bubble.other-message{align-self:flex-start;justify-content:flex-start}.classlive-message-content{background:#f1f2f6;border-radius:18px;padding:8px;position:relative;max-width:100%;word-wrap:break-word}.iframe-mode .classlive-message-content{background:#f1f2f6;color:var(--color-text)}.classlive-message-bubble.own-message .classlive-message-content{background:#4f46e5;color:#fff;border-bottom-right-radius:6px}.iframe-mode .classlive-message-bubble.own-message .classlive-message-content{background:#4f46e5;color:#fff}.classlive-message-bubble.other-message .classlive-message-content{background:#f1f1f1;border-bottom-left-radius:6px}.iframe-mode .classlive-message-bubble.other-message .classlive-message-content{background:#e2e8f0;color:#1f2937}.classlive-message-content .classlive-message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.classlive-message-content .classlive-message-author{font-weight:600;font-size:12px;opacity:.8}.classlive-message-content .classlive-message-time{font-size:10px;opacity:.6}.classlive-message-content .classlive-message-body{line-height:1.4;margin:0;font-size:14px}.classlive-heading{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classlive-heading-with-action{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.classlive-heading-with-action .classlive-heading{flex:1;min-width:0}.classlive-heading-with-action .classlive-button{flex-shrink:0;width:auto;padding:8px 16px;font-size:12px}.classlive-tab-label{white-space:nowrap;font-size:11px}@media (max-width: 320px){.classlive-tab-label{display:none}}.question-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.question-modal-content{background:#fff;border-radius:20px;max-width:800px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 25px 50px #0000004d;text-align:center}.question-modal-header{padding:32px 32px 0}.question-modal-question{font-size:32px;font-weight:700;color:#1f2937;line-height:1.3;margin-bottom:16px}.question-modal-author{font-size:18px;color:#6b7280;margin-bottom:32px}.question-modal-actions{padding:0 32px 32px;display:flex;gap:16px;justify-content:center}.question-modal-button{padding:12px 24px;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s ease}.question-modal-button.primary{background:#10b981;color:#fff}.question-modal-button.primary:hover{background:#059669}.question-modal-button.secondary{background:#6b7280;color:#fff}.question-modal-button.secondary:hover{background:#4b5563}.question-modal-button.danger{background:#ef4444;color:#fff}.question-modal-button.danger:hover{background:#dc2626}.student-poll{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:32px;box-shadow:0 1px 2px #191f280a;margin-bottom:24px}.poll-question{font-size:20px;font-weight:600;color:#1f2937;text-align:center;margin-bottom:24px;line-height:1.4}.poll-options{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.poll-option{display:block;width:100%;box-sizing:border-box;background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px 20px;font-size:16px;cursor:pointer;transition:all .3s ease;text-align:left;font-weight:500}.poll-option:hover:not(:disabled){border-color:var(--color-accent);background:#f8fafc;transform:translateY(-1px);box-shadow:0 4px 12px #4f46e51a}.poll-option.selected{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-text)}.poll-option:disabled{cursor:not-allowed;opacity:.6}.poll-option-other{display:flex;align-items:center;gap:10px;cursor:default}.poll-option-other-label{flex-shrink:0;font-weight:600;color:#4b5563}.poll-other-input{flex:1;width:100%;box-sizing:border-box;padding:10px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;font-family:inherit}.poll-other-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51f}.poll-option-checkbox+.poll-other-input{margin-top:8px}.poll-other-submit{flex-shrink:0;width:auto;padding:10px 18px}.poll-option-checkbox{display:flex;align-items:center;gap:10px;-webkit-user-select:none;user-select:none}.poll-checkbox-mark{display:inline-flex;line-height:1;color:#b6bcc7}.poll-option-checkbox.selected .poll-checkbox-mark{color:var(--color-accent)}.poll-checkbox-hint{margin:0;font-size:14px;color:#64748b}.text-poll{display:flex;flex-direction:column;gap:16px}.student-poll-textarea{width:100%;padding:16px;border:2px solid #e5e7eb;border-radius:12px;font-size:16px;font-family:inherit;resize:vertical;min-height:100px;box-sizing:border-box}.student-poll-textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #4f46e51f}.response-confirmation{text-align:center;padding:20px;background:#d1fae5;border:1px solid #a7f3d0;border-radius:12px;margin-top:16px}.response-confirmation p{margin:0 0 8px;color:#065f46;font-weight:500}.response-confirmation p:first-child{display:flex;align-items:center;justify-content:center;gap:7px}.completed-polls{margin-top:24px;background:#f8fafc;border-radius:16px;padding:20px}.completed-polls h4{margin:0 0 16px;font-size:18px;color:#1f2937}.completed-poll-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f3f4f6}.completed-poll-item:last-child{border-bottom:none}.completed-poll-item p{margin:0;color:#374151;flex:1}.poll-status{padding:4px 12px;border-radius:6px;font-size:12px;font-weight:500}.poll-status:contains("참여함"){background:#d1fae5;color:#065f46}.poll-status:contains("미참여"){background:#fee2e2;color:#991b1b}.poll-results-modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.poll-results-modal-content{background:#fff;border-radius:24px;max-width:800px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 32px 80px #0000004d;display:flex;flex-direction:column}.poll-results-modal-header{display:flex;justify-content:space-between;align-items:center;padding:32px 32px 0;border-bottom:1px solid #e5e7eb;margin-bottom:24px}.poll-results-modal-header h2{margin:0;font-size:32px;font-weight:800;color:#1f2937}.poll-results-modal-close{background:none;border:none;font-size:40px;color:#6b7280;cursor:pointer;padding:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.poll-results-modal-close:hover{background:#f3f4f6;color:#374151;transform:scale(1.1)}.poll-results-modal-body{padding:0 32px;flex:1;text-align:center}.poll-question{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 16px;line-height:1.3}.poll-response-count{font-size:18px;color:#6b7280;margin:0 0 32px;font-weight:500}.poll-results-chart{display:flex;flex-direction:column;gap:20px;text-align:left}.poll-option-result{background:#f8fafc;border-radius:16px;padding:20px;border:1px solid #e2e8f0}.poll-option-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.poll-option-label{font-size:18px;font-weight:600;color:#1f2937}.poll-option-stats{font-size:16px;font-weight:600;color:#4f46e5}.poll-progress-bar{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden}.poll-progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:6px;transition:width .8s ease}.poll-text-responses{display:flex;flex-direction:column;gap:16px;max-height:400px;overflow-y:auto;text-align:left}.poll-text-response{background:#f8fafc;border-radius:12px;padding:16px;border:1px solid #e2e8f0;display:flex;gap:12px;align-items:flex-start}.response-number{font-weight:700;color:#4f46e5;font-size:16px;flex-shrink:0}.response-text{font-size:16px;color:#374151;line-height:1.5;flex:1}.poll-no-responses{padding:60px 20px;color:#9ca3af;font-style:italic}.poll-no-responses p{margin:0;font-size:18px}.poll-results-modal-footer{padding:24px 32px 32px;text-align:center}.poll-results-close-button{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 8px 25px #4f46e54d}.poll-results-close-button:hover{background:linear-gradient(135deg,#4338ca,#6b46c1);transform:translateY(-2px);box-shadow:0 12px 35px #4f46e566}.poll-text-responses::-webkit-scrollbar{width:8px}.poll-text-responses::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.poll-text-responses::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.poll-text-responses::-webkit-scrollbar-thumb:hover{background:#94a3b8}@media (max-width: 480px){.poll-options{display:flex!important;flex-direction:column!important;visibility:visible!important;height:auto!important;overflow:visible!important}.poll-option{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;overflow:visible!important}}.copyright-footer{display:block;width:100%;box-sizing:border-box;text-align:center;padding:2px 10px;font-size:10px;line-height:1.2;color:#9ca3af}.student-app .copyright-footer,.classlive-sidebar .copyright-footer{color:#9aa2ad;padding:2px 10px;font-size:10px;line-height:1.2;display:block;flex-direction:unset;gap:unset}.iframe-mode .classlive-sidebar .copyright-footer{color:#9ca3af}.classlive-exit-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.classlive-exit-modal{background:#fff;border-radius:16px;padding:32px;width:90%;max-width:480px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;gap:16px}.classlive-exit-modal h2{margin:0;color:#1f2937;font-size:20px}.classlive-exit-modal p{margin:0 0 8px;color:#4b5563;font-size:15px;line-height:1.5}.exit-modal-options{background:#f8fafc;border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px}.exit-modal-option{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:15px;color:#374151}.exit-modal-option input[type=checkbox]{width:18px;height:18px;cursor:pointer}.exit-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:16px}.exit-btn-download{background:#4f46e5;color:#fff;border:none;padding:12px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.exit-btn-download:hover{background:#4338ca}.exit-btn-download:disabled{background:#a5b4fc;cursor:not-allowed}.exit-btn-danger{background:#fff;color:#ef4444;border:1px solid #ef4444;padding:12px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.exit-btn-danger:hover{background:#fef2f2}.exit-btn-cancel{background:#fff;color:#6b7280;border:1px solid #e5e7eb;padding:12px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.exit-btn-cancel:hover{background:#f3f4f6}.copyright-footer{text-align:center;padding:24px;color:#9aa2ad;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.student-classroom .copyright-footer{color:var(--color-muted)}.legal-links{display:flex;gap:16px}.legal-links button{background:none;border:none;color:inherit;font-size:13px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease;text-decoration:underline;text-underline-offset:3px}.legal-links button:hover{color:var(--color-accent);background:var(--color-accent-soft)}.student-classroom .legal-links button:hover{color:var(--color-accent);background:#2563eb0d}.legal-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:2000;padding:20px;animation:fadeIn .3s ease-out}.legal-modal-container{background:#fff;width:min(100%,700px);max-height:85vh;border-radius:24px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .4s cubic-bezier(.16,1,.3,1)}.legal-modal-header{padding:24px 32px;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center;background:#f8fafc}.legal-modal-header h1{margin:0;font-size:20px;font-weight:700;color:#1e293b}.legal-modal-close{background:none;border:none;font-size:32px;line-height:1;color:#94a3b8;cursor:pointer;padding:4px;transition:color .2s}.legal-modal-close:hover{color:#475569}.legal-modal-body{padding:32px 40px;overflow-y:auto;flex:1;line-height:1.7;color:#334155;font-size:15px;background:#fff}.legal-section{margin-bottom:32px;border-bottom:1px solid #f1f5f9;padding-bottom:24px}.legal-section:last-child{border-bottom:none;margin-bottom:0}.legal-section h3{font-size:17px;font-weight:700;margin:0 0 16px;color:#1e293b;display:flex;align-items:center;gap:10px}.legal-section h3:before{content:"";display:block;width:4px;height:18px;background:var(--color-accent);border-radius:2px}.legal-section.highlight{background:#2563eb08;border:1px solid rgba(37,99,235,.1);padding:24px;border-radius:16px;margin-bottom:32px}.legal-section p{margin-bottom:12px}.legal-section ul,.legal-section ol{padding-left:20px;margin-bottom:16px}.legal-section li{margin-bottom:8px}.legal-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px;text-align:left}.legal-table th,.legal-table td{border:1px solid #e2e8f0;padding:12px}.legal-table th{background:#f8fafc;font-weight:600;color:#475569}.legal-table td{color:#64748b}.legal-modal-footer{padding:20px 32px;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end;background:#f8fafc}.legal-modal-confirm{background:var(--color-accent);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s}.legal-modal-confirm:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb33}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 480px){.legal-modal-container{max-height:90vh;border-radius:20px}.legal-modal-header{padding:16px 20px}.legal-modal-body{padding:20px}.legal-modal-footer{padding:16px 20px}}
