@charset "UTF-8";.tab-icon .fa-solid,.tab-icon .fa-regular,.btn-icon .fa-solid,.btn-icon .fa-regular,.back-icon .fa-solid,.btn-back-icon .fa-solid,.empty-icon .fa-solid,.toast-icon .fa-solid,.error-icon .fa-solid,.meta-icon .fa-solid,.status-tab-icon .fa-solid,.share-option-icon .fa-solid,.conv-form-builder-return-icon .fa-solid,.completion-icon .fa-solid,.progress-chip-icon .fa-solid,.progress-summary-icon .fa-solid,.player-icon .fa-solid,.message-icon .fa-solid,.drag-drop-icon .fa-solid,.add-activity-icon .fa-solid,.library-header-icon-btn .fa-solid,.card-mode-icon.fa-solid,.card-link-icon.fa-solid,.card-action-icon.fa-solid,.btn-load-icon.fa-solid,.btn-assignment-preview-icon .fa-solid,.student-dash-empty-icon .fa-solid,.student-all-done-icon .fa-solid,.student-dash-start-arrow .fa-solid,.menu-button .fa-solid,.text-button .fa-solid,.export-button .fa-solid,.close-button .fa-solid,.modal-close .fa-solid,.modal-title-icon.fa-solid,.menu-user-role .fa-solid,.fa-icon-inline{font-size:inherit;line-height:1;width:1em;text-align:center;vertical-align:-.125em}.back-button,.btn-view-details,.menu-item-logout,.menu-user-role,.meta-badge,.list-status-badge,.status-badge,.assignment-footer-cta .btn-assignment-preview{display:inline-flex;align-items:center;gap:6px}.modal-header h2{display:inline-flex;align-items:center;gap:8px}.modal-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tag-chip-remove .fa-solid{font-size:.75em;margin-left:4px}.view-toggle-btn .fa-solid{font-size:1rem}.menu-button,.text-button,.export-button,.close-button{display:inline-flex;align-items:center;justify-content:center}.menu-button:has(.fa-solid):before,.menu-button:has(.fa-regular):before,.text-button:has(.fa-solid):before,.text-button:has(.fa-regular):before,.export-button:has(.fa-solid):before,.export-button:has(.fa-regular):before,.close-button:has(.fa-solid):before,.close-button:has(.fa-regular):before{display:none}.menu-button:hover .fa-solid,.text-button:hover .fa-solid,.export-button:hover .fa-solid{color:#4caf50}.close-button:hover .fa-solid,.close-button:hover .fa-regular{color:#dc3545}:root{--background-color: #f0f8ff;--bear-panel-bg: #dcfce7;--chat-panel-bg: #ffffff;--user-bubble-bg: #e0f2fe;--bear-bubble-bg: #fef9c3;--button-start-bg: #4caf50;--button-stop-bg: #f44336;--text-color: #333;--font-family: "Nunito", sans-serif;--border-radius: 16px;--box-shadow: 0 4px 12px rgba(0, 0, 0, .1)}*{scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{width:0;height:0;display:none}html{overflow:hidden}body{margin:0;font-family:var(--font-family);background-color:var(--background-color);color:var(--text-color);display:flex;justify-content:center;align-items:stretch;height:100vh;height:100dvh;overflow:hidden;overflow:clip}#root{width:100%;height:100%;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch}.conversation-page-root{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;max-height:100dvh;flex:1;box-sizing:border-box}.conversation-page-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;flex:0 0 auto;padding:10px clamp(16px,4vw,28px);box-sizing:border-box;background:var(--background-color);border-bottom:1px solid #e5e7eb;gap:12px;z-index:1001}.conversation-page-header-brand{display:flex;align-items:center;flex-shrink:0}.conversation-page-header-actions{display:flex;align-items:center;justify-content:flex-end;flex:1;min-width:0}.conversation-page-root .app-container{flex:1 1 auto;min-height:0;align-self:center;width:min(1200px,95%);max-width:min(1200px,95%);margin:0 auto clamp(8px,1.5vh,14px);height:auto;max-height:min(800px,calc(100vh - 64px))}.app-container{position:relative;display:flex;width:95%;max-width:1200px;height:90vh;max-height:800px;background-color:var(--chat-panel-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden}.brand-logo{display:block;width:auto;height:auto;max-width:100%;object-fit:contain}.brand-logo--full{height:44px;max-width:min(320px,92vw)}.brand-logo--compact{height:30px;max-width:min(240px,42vw)}.brand-logo--header{height:26px;max-width:min(200px,38vw)}.bear-panel{flex:2;background-color:var(--bear-panel-bg);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;border-right:2px solid #e5e7eb;position:relative}.bear-animation{width:80%;max-width:300px;height:auto;transition:transform .2s ease-in-out,filter .2s ease-in-out;position:relative;z-index:20;filter:drop-shadow(0 10px 22px rgba(15,23,42,.12))}.bear-animation.speaking{transform:scale(1.05);filter:drop-shadow(0 12px 26px rgba(15,23,42,.15))}.bear-animation.connecting{animation:connectingPulse 1.5s ease-in-out infinite}@keyframes connectingPulse{0%,to{transform:scale(1) translateY(0);filter:drop-shadow(0 10px 22px rgba(15,23,42,.12)) brightness(1)}50%{transform:scale(1.08) translateY(-8px);filter:drop-shadow(0 14px 32px rgba(15,23,42,.16)) brightness(1.08)}}.status-text.connecting{animation:connectingTextGlow 1.5s ease-in-out infinite;font-weight:600}@keyframes connectingTextGlow{0%,to{opacity:.9;color:#4caf50}50%{opacity:1;color:#66bb6a}}.typing-dots{display:inline-block;margin-left:2px;vertical-align:bottom}.typing-dots .typing-dot{display:inline-block;width:4px;height:4px;margin:0 1px;background-color:currentColor;border-radius:50%;animation:typingDotBounce 1.4s ease-in-out infinite both}.typing-dots .typing-dot:nth-child(1){animation-delay:0s}.typing-dots .typing-dot:nth-child(2){animation-delay:.2s}.typing-dots .typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingDotBounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.connecting-animations{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:10}.butterfly{position:absolute;font-size:32px;animation:butterflyFly 4s linear infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.butterfly-2{animation-delay:2s;animation-duration:5s;top:60%}@keyframes butterflyFly{0%{left:-10%;top:20%;transform:rotate(-15deg)}25%{top:15%;transform:rotate(5deg)}50%{top:25%;transform:rotate(-10deg)}75%{top:18%;transform:rotate(8deg)}to{left:110%;top:22%;transform:rotate(-5deg)}}.sparkle{position:absolute;font-size:20px;animation:sparkleFloat 3s ease-in-out infinite;opacity:0}.sparkle-1{left:15%;top:30%;animation-delay:0s}.sparkle-2{right:20%;top:40%;animation-delay:1s;font-size:24px}.sparkle-3{left:25%;top:60%;animation-delay:1.5s;font-size:18px}.sparkle-4{right:15%;top:25%;animation-delay:2.5s;font-size:22px}@keyframes sparkleFloat{0%,to{opacity:0;transform:translateY(0) rotate(0) scale(.5)}50%{opacity:1;transform:translateY(-20px) rotate(180deg) scale(1.2)}}.float-heart{position:absolute;font-size:24px;bottom:-10%;animation:heartFloat 5s ease-in-out infinite;opacity:0}.heart-1{left:20%;animation-delay:.5s}.heart-2{left:50%;animation-delay:1.5s;font-size:28px}.heart-3{right:25%;animation-delay:2.8s;font-size:26px}@keyframes heartFloat{0%{bottom:-10%;opacity:0;transform:translate(0) rotate(0)}20%{opacity:.8}80%{opacity:.6}to{bottom:110%;opacity:0;transform:translate(15px) rotate(25deg)}}.chat-panel-header{position:relative}.export-icon-btn{background:var(--button-start-bg);border:1px solid rgba(0,0,0,.06);color:#fff;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0 10px;line-height:1;transition:transform .12s ease,box-shadow .12s ease;border-radius:10px;box-shadow:0 6px 14px #4caf501f}.export-icon-btn:hover{background:linear-gradient(180deg,var(--button-start-bg),#3da244);transform:translateY(-3px);box-shadow:0 10px 20px #4caf502e}.export-icon-btn:focus{outline:none;box-shadow:0 0 0 4px #48bb7824}.export-icon-btn svg{width:18px;height:18px;display:block;fill:currentColor}.export-label{position:absolute;right:-84px;top:50%;transform:translateY(-50%) translate(8px) scale(.98);background:#000c;color:#fff;padding:6px 10px;border-radius:8px;font-size:13px;white-space:nowrap;opacity:0;transition:opacity .12s ease,transform .12s ease;pointer-events:none;box-shadow:0 8px 20px #02061747}.export-icon-btn:hover .export-label,.export-icon-btn:focus .export-label{opacity:1;transform:translateY(-50%) translate(0) scale(1)}@media (max-width: 640px){.export-label{display:none}}.export-icon-btn[data-tooltip]{position:relative}.export-icon-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;top:-36px;right:0;transform:translateY(0);background:#122238e6;color:#fff;font-size:12px;padding:6px 8px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease,transform .12s ease;box-shadow:0 6px 14px #1222382e;z-index:40}.export-icon-btn[data-tooltip]:before{content:"";position:absolute;top:-10px;right:10px;width:8px;height:8px;background:#122238e6;transform:rotate(45deg);border-radius:1px;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:41}.export-icon-btn[data-tooltip]:hover:after,.export-icon-btn[data-tooltip]:focus:after{opacity:1;transform:translateY(-4px)}.export-icon-btn[data-tooltip]:hover:before,.export-icon-btn[data-tooltip]:focus:before{opacity:1}.export-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#0f172af5;color:#fff;padding:10px 14px;border-radius:10px;font-size:13px;box-shadow:0 10px 30px #02061766;z-index:2000;opacity:.98;max-width:90%;text-align:center}.status-text{margin-top:20px;font-size:1.2rem;font-weight:700;color:#555;text-align:center;position:relative;z-index:20}.chat-panel{flex:3;display:flex;flex-direction:column;padding:20px;overflow:hidden;position:relative}.chat-panel-assignment-instructions{margin:10px 0 14px;padding:12px 14px;background:linear-gradient(135deg,#f0f9ff,#ecfeff);border:1px solid rgba(14,165,233,.28);border-radius:12px;box-shadow:0 1px 3px #0f172a0f}.chat-panel-assignment-instructions-label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0369a1;margin-bottom:6px}.chat-panel-assignment-instructions-text{margin:0;font-size:.9rem;line-height:1.5;color:#334155;white-space:pre-wrap}h1{text-align:center;margin-top:0;color:#4a4a4a}.conversation-history{flex-grow:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:12px}.live-transcript-hidden-notice{margin:0;padding:10px 12px;border-radius:8px;background:#f0f4ff;border:1px solid #c5d4f5;color:#3d4f6f;font-size:13px;line-height:1.45}.live-transcript-hidden-notice .fa-icon{color:#4a6cf7;margin-right:4px}.live-transcript-hidden-count{color:#5a6b85;font-weight:500}.turn-status-banner{flex:0 0 auto;display:flex;align-items:center;gap:14px;margin:14px 0 4px;padding:14px 18px;border:2px solid transparent;border-radius:14px;box-shadow:0 4px 12px #0f172a1a;animation:turn-status-banner-in .18s ease-out}.turn-status-banner--listening{color:#14532d;background-color:#ecfdf5;border-color:#4ade80}.turn-status-banner--assistant{color:#1e3a8a;background-color:#eff6ff;border-color:#60a5fa}@keyframes turn-status-banner-in{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.turn-status-banner-icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:currentColor}.turn-status-banner-icon .fa-icon,.turn-status-banner-icon .fa-solid{color:#fff;font-size:1.15rem}.turn-status-banner--listening .turn-status-banner-icon{animation:turn-status-listening-pulse 1.6s ease-in-out infinite}.turn-status-banner-copy{display:flex;flex-direction:column;gap:2px;min-width:0;line-height:1.35}.turn-status-banner-copy strong{font-size:1.1rem;font-weight:800}.turn-status-banner-copy span{font-size:.9rem;font-weight:500;color:#475569}@keyframes turn-status-listening-pulse{0%,to{box-shadow:0 0 #22c55e4d}50%{box-shadow:0 0 0 7px #22c55e00}}@media (prefers-reduced-motion: reduce){.turn-status-banner,.turn-status-banner--listening .turn-status-banner-icon{animation:none}}.chat-text-modal-hidden-student-note{margin:0 0 10px;font-size:13px}.status-indicator{display:flex;align-items:center;justify-content:center;padding:12px 16px;border-radius:8px;font-size:14px;font-weight:500;margin:8px auto;max-width:250px;animation:pulse-status 1.5s ease-in-out infinite}.status-indicator .status-icon{margin-right:8px;font-size:18px}.status-indicator.listening{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:2px solid #60a5fa}.status-indicator.speaking{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:2px solid #34d399}.status-indicator.connecting{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:2px solid #fbbf24}@keyframes pulse-status{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.98)}}.reading-reference-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin:12px 10px;flex-shrink:0;overflow:hidden}@media (min-width: 769px){.app-container.reading-mode .bear-panel{flex:0 0 220px;min-width:0;padding:20px 12px}.app-container.reading-mode .chat-panel{flex:1;min-width:0}}.chat-panel.reading-mode .reading-reference-box{flex:1;min-height:0;display:flex;flex-direction:column;margin:12px 0}.chat-panel.reading-mode .reading-reference-box .reference-header,.chat-panel.reading-mode .reading-reference-box .mistake-legend{flex-shrink:0}.chat-panel.reading-mode .reading-reference-box .reference-text{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;overscroll-behavior:contain}.chat-panel.reading-mode .reading-reference-box .reference-text::-webkit-scrollbar{width:10px}.chat-panel.reading-mode .reading-reference-box .reference-text::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:6px}.reference-text-wrap{position:relative;display:flex;flex-direction:column;min-height:0}.chat-panel.reading-mode .reference-text-wrap{flex:1}.reference-scroll-fade{position:absolute;left:0;right:0;bottom:0;height:84px;background:linear-gradient(to bottom,#f8fafc00,#f8fafc 85%);pointer-events:none}.reference-scroll-hint{position:absolute;left:50%;bottom:14px;transform:translate(-50%);display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:1px solid #e2e8f0;border-radius:999px;background:#fff;color:#475569;white-space:nowrap;font-family:Nunito,system-ui,sans-serif;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 2px 10px #0000001f;animation:reference-scroll-hint-in .25s ease-out}.reference-scroll-hint:hover{background:#f8fafc}.reference-scroll-hint-arrow{font-size:16px;line-height:1;animation:reference-scroll-arrow-nudge 1.8s ease-in-out infinite}@keyframes reference-scroll-arrow-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@media (prefers-reduced-motion: reduce){.reference-scroll-hint-arrow{animation:none}}.reference-scroll-hint:focus-visible{outline:2px solid #16a34a;outline-offset:2px}@keyframes reference-scroll-hint-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.reference-scroll-hint{animation:none}}.reference-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#f8fafc;z-index:1}.reference-title-wrapper{display:flex;align-items:center;gap:8px;flex:1;justify-content:center}.reference-close-btn{background:transparent;border:none;color:#94a3b8;font-size:18px;cursor:pointer;padding:2px 6px;margin-left:auto;line-height:1;transition:color .2s ease,background .2s ease;border-radius:6px}.reference-close-btn:hover{background:#fef2f2;color:#ef4444}.reference-toggle-btn{background:#f5f3ff;border:1px solid #e9e5ff;color:#5b21b6;font-size:11px;font-weight:600;cursor:pointer;padding:4px 8px;border-radius:6px;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.reference-toggle-btn:hover{background:#ede9fe}.reference-icon{font-size:18px;opacity:.9}.reference-title{font-weight:600;font-size:15px;color:#334155;letter-spacing:.02em}.reference-scores-badge{background:#16a34a;color:#fff;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:500;margin-left:8px;letter-spacing:.02em}.mistakes-count{background:#78716c;color:#fff;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:500;margin-left:8px;letter-spacing:.02em}.reference-text{font-size:19px;line-height:2;letter-spacing:.01em;color:#334155;white-space:pre-wrap;word-wrap:break-word;font-family:Nunito,system-ui,-apple-system,Segoe UI,sans-serif;padding:20px 24px;overflow-y:auto}.chat-panel.reading-mode .reference-text>*{max-width:68ch;margin-left:auto;margin-right:auto}.avatar-strip-title{display:none}.chat-panel.reading-mode .controls-container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.chat-panel.reading-mode .live-session-error-banner{grid-row:1;grid-column:1 / -1}.chat-panel.reading-mode .controls{grid-row:2;grid-column:2}.chat-panel.reading-mode .cost-display{grid-row:2;grid-column:3;justify-self:end;padding-top:0}.chat-panel.reading-mode .chat-controls-hints{grid-row:3;grid-column:1 / -1}.chat-panel.reading-mode .chat-control-hint,.chat-panel.conversation-mode .chat-control-hint{display:block;text-align:center}.chat-panel.reading-mode .chat-control-hint-icon,.chat-panel.conversation-mode .chat-control-hint-icon{margin-right:6px}.chat-panel.reading-mode .control-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:200px;padding:14px 30px;border-radius:999px;font-family:inherit;font-size:1.1rem;font-weight:800;letter-spacing:.01em}.chat-panel.reading-mode .control-button.start:not(:disabled),.chat-panel.conversation-mode .control-button.start:not(:disabled){background-color:#15803d;box-shadow:0 1px 2px #14532d4d,0 8px 18px #15803d47}.chat-panel.reading-mode .control-button.start:not(:disabled):hover,.chat-panel.conversation-mode .control-button.start:not(:disabled):hover{background-color:#166534}.chat-panel.reading-mode .control-button.stop:not(:disabled),.chat-panel.conversation-mode .control-button.stop:not(:disabled){background-color:#dc2626;box-shadow:0 1px 2px #7f1d1d4d,0 8px 18px #dc26263d}.chat-panel.reading-mode .control-button.stop:not(:disabled):hover,.chat-panel.conversation-mode .control-button.stop:not(:disabled):hover{background-color:#b91c1c}.chat-panel.reading-mode .control-button.start:not(:disabled):before,.chat-panel.conversation-mode .control-button.start:not(:disabled):before{content:"";border-style:solid;border-width:7px 0 7px 11px;border-color:transparent transparent transparent currentColor}.chat-panel.reading-mode .control-button.stop:not(:disabled):before,.chat-panel.conversation-mode .control-button.stop:not(:disabled):before{content:"";width:12px;height:12px;border-radius:3px;background:currentColor}.chat-panel.reading-mode .control-button:focus-visible,.chat-panel.conversation-mode .control-button:focus-visible{outline:3px solid #86efac;outline-offset:3px}.reading-end-note{display:none}@media (max-width: 768px){.app-container.reading-mode .bear-panel,.app-container.conversation-mode .bear-panel{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatar title" "avatar status";column-gap:12px;align-items:center;padding:8px 14px}.app-container.reading-mode .bear-animation,.app-container.conversation-mode .bear-animation{grid-area:avatar;width:40px;max-width:40px;filter:drop-shadow(0 2px 4px rgba(15,23,42,.12))}.app-container.reading-mode .avatar-strip-title,.app-container.conversation-mode .avatar-strip-title{grid-area:title;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;align-self:end;margin:0;font-size:1.05rem;line-height:1.25;text-align:left;color:#1f2937}.app-container.reading-mode .status-text,.app-container.conversation-mode .status-text{grid-area:status;align-self:start;margin:2px 0 0;font-size:.875rem;font-weight:400;text-align:left;color:#475569}.app-container.conversation-mode .bear-panel.conversation-live .avatar-strip-title{grid-row:1 / -1;align-self:center}.app-container.conversation-mode .bear-panel.has-media-toggle{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"avatar title toggle" "avatar status toggle"}.app-container.conversation-mode .avatar-strip-media-toggle{grid-area:toggle;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border:1.5px solid #cbd5e1;border-radius:999px;background:#fff;color:#334155;font-family:inherit;font-size:.8rem;font-weight:700;white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app-container.conversation-mode .avatar-strip-media-toggle:focus-visible{outline:3px solid #86efac;outline-offset:2px}.app-container.reading-mode .connecting-animations,.app-container.conversation-mode .connecting-animations{display:none}.app-container.reading-mode .chat-panel,.app-container.conversation-mode .chat-panel{padding:10px 12px 12px}.chat-panel.reading-mode>h1,.app-container.conversation-mode .bear-panel~.chat-panel>h1{display:none}.chat-panel.reading-mode .chat-panel-assignment-instructions{margin:0 0 10px}.chat-panel.reading-mode .reading-reference-box{margin:0}.chat-panel.reading-mode .reading-reference-box .reference-text{height:auto;max-height:none;padding:14px 16px;line-height:1.7}.chat-panel.reading-mode .reference-scroll-fade{height:56px}.chat-panel.reading-mode .reference-scroll-hint{bottom:10px;padding:6px 14px;font-size:13px}.chat-panel.reading-mode .controls-container{padding-top:10px}.chat-panel.reading-mode .control-button{min-width:160px;min-height:44px;padding:10px 24px;font-size:1rem}.chat-panel.reading-mode .chat-controls-hints{max-height:80px;margin-top:8px;padding:0;overflow:hidden;transition:max-height .2s ease,margin-top .2s ease,opacity .2s ease}.chat-panel.reading-live.reading-scrolled .chat-controls-hints{max-height:0;margin-top:0;opacity:0}.chat-panel.reading-scrolled .reading-end-note{display:block;margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0;font-size:.82rem;line-height:1.45;color:#64748b;text-align:center;white-space:normal}.chat-panel.reading-scrolled .reference-scroll-hint{left:auto;right:10px;width:40px;height:40px;padding:0;justify-content:center;transform:none;animation:none}.chat-panel.reading-scrolled .reference-scroll-hint-label{display:none}}.reading-guide,.reading-start-tag{display:none}@media (min-width: 769px){.chat-panel.reading-mode .reading-guide{display:flex;flex-shrink:0;align-items:center;gap:14px;padding:12px 24px;border-bottom:1px solid #e2e8f0;background:#fff;color:#334155}.chat-panel.reading-mode .reading-guide--assistant{background:#eff6ff;color:#1e3a8a}.chat-panel.reading-mode .reading-guide--listening,.chat-panel.reading-mode .reading-guide--done{background:#ecfdf5;color:#14532d}.reading-guide-icon{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:currentColor}.reading-guide-icon .fa-icon,.reading-guide-icon .fa-solid{color:#fff;font-size:1rem}.reading-guide--listening .reading-guide-icon{animation:turn-status-listening-pulse 1.6s ease-in-out infinite}.reading-guide-copy{display:flex;flex-direction:column;gap:1px;min-width:0;line-height:1.35}.reading-guide-copy strong{font-size:1.05rem;font-weight:800}.reading-guide-copy span{font-size:.9rem;color:#475569}.chat-panel.reading-mode .reading-start-tag{display:flex;align-items:center;gap:6px;width:fit-content;margin:0 0 6px;padding:3px 12px;border:1px solid #15803d;border-radius:999px;background:#15803d;color:#fff;font-size:13px;font-weight:700;line-height:1.6;letter-spacing:.02em;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s}.chat-panel.reading-live .reading-start-tag{opacity:1;visibility:visible;transition:opacity .3s ease}}.chat-panel.reading-mode .reference-text{transition:opacity .3s ease}.chat-panel.reading-ready .reference-text{opacity:.6}.chat-panel.reading-waiting .reference-text{opacity:.4}.chat-panel.reading-ready .controls{transform:translateY(var(--start-lift, 0px)) scale(1.2)}.chat-panel.reading-mode:not(.reading-ready) .controls{transition:transform .5s cubic-bezier(.4,0,.2,1)}.chat-panel.reading-waiting .control-button.start:disabled{background-color:#15803d}.reading-cue{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:10px;padding:10px 22px;border-radius:999px;background:#1e3a8a;color:#fff;font-size:1.05rem;font-weight:800;white-space:nowrap;box-shadow:0 8px 20px #0f172a38;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility 0s .25s}.chat-panel.reading-waiting .reading-cue{opacity:1;visibility:visible;transition:opacity .25s ease .15s}.chat-panel.reading-waiting .reading-cue .fa-solid{animation:reading-cue-pulse 1.2s ease-in-out infinite}@keyframes reading-cue-pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-panel.reading-live .reading-reference-box{border-color:#4ade80;box-shadow:0 0 0 2px #4ade80}@media (prefers-reduced-motion: reduce){.reading-guide--listening .reading-guide-icon,.chat-panel.reading-waiting .reading-cue .fa-solid{animation:none}.chat-panel.reading-mode .chat-controls-hints,.chat-panel.reading-mode:not(.reading-ready) .controls{transition:none}}.confirm-dialog.end-chat-confirm{width:calc(100% - 32px);max-width:380px;height:auto;max-height:90vh;border-radius:20px;box-shadow:0 24px 48px #0f172a47;text-align:center;animation:end-chat-confirm-in .18s ease-out}@keyframes end-chat-confirm-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.end-chat-confirm .modal-header{flex-direction:column;gap:14px;padding:28px 24px 0;border-bottom:none;background:transparent}.end-chat-confirm .modal-header:before{content:"";flex-shrink:0;width:52px;height:52px;border-radius:50%;background:#fee2e2 url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3crect width='20' height='20' rx='5' fill='%23dc2626'/%3e%3c/svg%3e") center / 20px 20px no-repeat}.end-chat-confirm .modal-header h2{font-size:1.3rem;font-weight:800;line-height:1.25;color:#0f172a}.confirm-dialog.end-chat-confirm .modal-content.confirm-dialog-body{padding:8px 24px 24px}.end-chat-confirm .confirm-dialog-message{color:#475569}.end-chat-confirm .confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.end-chat-confirm .confirm-actions .form-button{width:100%;min-width:0;min-height:48px;padding:12px 10px;border-radius:999px;font-family:inherit;font-size:1rem;font-weight:800}.end-chat-confirm .confirm-actions .form-button.cancel{border:2px solid #cbd5e1;color:#334155}.end-chat-confirm .confirm-actions .form-button.delete{background:#dc2626;box-shadow:0 1px 2px #7f1d1d4d,0 8px 18px #dc26263d}.end-chat-confirm .confirm-actions .form-button.delete:hover{background:#b91c1c}.end-chat-confirm .form-button:focus-visible{outline:3px solid #86efac;outline-offset:3px}@media (max-width: 360px){.end-chat-confirm .confirm-actions{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.confirm-dialog.end-chat-confirm{animation:none}}.chat-panel.conversation-mode .conversation-history{flex:1 1 auto;min-height:0;max-height:none;margin-top:8px;padding:12px 4px;gap:10px;overscroll-behavior:contain}.chat-panel.conversation-mode .message-bubble.bear{max-width:88%;padding:10px 14px;border:1px solid #e2e8f0;border-radius:16px 16px 16px 4px;background:#f8fafc;color:#1f2937}.chat-panel.conversation-mode .message-bubble.bear .speaker-name{margin-bottom:2px;font-size:.78rem;color:#475569}.chat-panel.conversation-mode .live-transcript-hidden-notice{flex-shrink:0;align-self:center;max-width:100%;padding:0 8px;border:none;background:none;font-size:.8rem;line-height:1.4;color:#64748b;text-align:center}.chat-panel.conversation-mode .chat-panel-assignment-instructions{flex-shrink:0;margin:0}.conversation-start{flex:1 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:12px 8px;text-align:center}.conversation-start-heading{margin:0;font-size:1.2rem;font-weight:800;color:#1f2937}.conversation-start-detail{margin:0;max-width:34ch;font-size:.95rem;line-height:1.5;color:#475569}.conversation-start-spot{flex-shrink:0;width:1px;height:76px;margin-top:6px}.chat-panel.conversation-ready .controls{transform:translateY(var(--start-lift, 0px)) scale(1.2)}.chat-panel.conversation-mode:not(.conversation-ready) .controls{transition:transform .5s cubic-bezier(.4,0,.2,1)}.chat-panel.conversation-mode .control-button.start:disabled{background-color:#15803d}.chat-panel.conversation-ready .cost-display{visibility:hidden}.chat-panel.conversation-mode .control-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:150px;padding:13px 26px;border-radius:999px;font-family:inherit;font-size:1.05rem;font-weight:800;letter-spacing:.01em}.chat-panel.conversation-mode .control-button.feedback{background-color:#fff;color:#1d4ed8;box-shadow:inset 0 0 0 2px #93c5fd}.chat-panel.conversation-mode .control-button.feedback:hover:not(:disabled){background-color:#eff6ff}.chat-panel.conversation-mode .control-button.feedback:disabled{background-color:#fff;color:#94a3b8;box-shadow:inset 0 0 0 2px #e2e8f0}.chat-panel.conversation-mode .control-button.hana-turn:disabled{background:#ede9fe;color:#5b21b6;box-shadow:none}.chat-panel.conversation-mode .cost-display{position:relative;z-index:1;padding-top:4px}.chat-panel.conversation-mode .speaking-time-block .speaking-time-remaining{font-size:.9rem;font-weight:700;color:#475569}@media (max-width: 768px){.chat-panel.conversation-mode{justify-content:flex-start}.chat-panel.conversation-mode .controls-container{padding-top:6px}.chat-panel.conversation-mode .controls{gap:8px}.chat-panel.conversation-mode .control-button{min-width:0;min-height:44px;padding:10px 20px;font-size:1rem}.chat-panel.conversation-mode .control-button.hana-turn{flex:1 0 100%}.chat-panel.conversation-mode .chat-controls-hints{margin-top:8px;padding:0}.chat-panel.conversation-mode .chat-control-hint{font-size:.78rem}}@media (prefers-reduced-motion: reduce){.chat-panel.conversation-mode:not(.conversation-ready) .controls{transition:none}}.chat-panel.conversation-mode .turn-dock{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:420px}.chat-panel.conversation-mode .turn-dock-status{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:calc(2.59rem + 2px);text-align:center}.chat-panel.conversation-mode .turn-dock-heading{font-size:1.05rem;font-weight:800;line-height:1.3;color:#0f172a}.chat-panel.conversation-mode .turn-dock-detail{font-size:.875rem;line-height:1.4;color:#475569;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.chat-panel.conversation-mode .turn-dock-detail--warning{font-weight:700;color:#b45309}.chat-panel.conversation-mode .turn-dock-buttons{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;width:100%}.chat-panel.conversation-mode .turn-dock-side{display:flex;justify-content:center}.chat-panel.conversation-mode .turn-dock-circle,.chat-panel.conversation-mode .turn-dock-side-button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:none;background:none;font-family:inherit;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.chat-panel.conversation-mode .turn-dock-circle{cursor:default}.chat-panel.conversation-mode .turn-dock--handoff .turn-dock-circle,.chat-panel.conversation-mode .turn-dock-side-button:not(:disabled){cursor:pointer}.chat-panel.conversation-mode .turn-dock-circle:focus-visible,.chat-panel.conversation-mode .turn-dock-side-button:focus-visible{outline:none}.chat-panel.conversation-mode .turn-dock-orb{position:relative;width:96px;height:96px}.chat-panel.conversation-mode .turn-dock-face{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:999px;background:#ede9fe;color:#6d28d9;font-size:1.9rem;transition:background-color .25s ease,color .25s ease,transform .15s ease}.chat-panel.conversation-mode .turn-dock--yours .turn-dock-face{background:#dcfce7;color:#15803d}.chat-panel.conversation-mode .turn-dock--handoff .turn-dock-face{background:#15803d;color:#fff;box-shadow:0 1px 2px #14532d4d,0 10px 22px #15803d52}.chat-panel.conversation-mode .turn-dock--ending .turn-dock-face{background:#f1f5f9;color:#64748b}.chat-panel.conversation-mode .turn-dock--handoff .turn-dock-circle:active .turn-dock-face{transform:scale(.95)}.chat-panel.conversation-mode .turn-dock-circle:focus-visible .turn-dock-face,.chat-panel.conversation-mode .turn-dock-side-button:focus-visible .turn-dock-side-icon{box-shadow:0 0 0 3px #fff,0 0 0 6px #86efac}.chat-panel.conversation-mode .turn-dock-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:#22c55e4d;transform:scale(calc(1 + var(--mic-level, 0) * .22));opacity:calc(var(--mic-level, 0) * 1.5);transition:transform .2s ease-out,opacity .2s ease-out;pointer-events:none}.chat-panel.conversation-mode .turn-dock-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border:3px solid #22c55e;border-radius:999px;opacity:0;animation:turn-dock-pulse 1s ease-out;pointer-events:none}@keyframes turn-dock-pulse{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.chat-panel.conversation-mode .turn-dock-done{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.95rem;font-weight:800;line-height:1.1}.chat-panel.conversation-mode .turn-dock-done .fa-solid{font-size:1.45rem}.chat-panel.conversation-mode .turn-dock-done-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-width:84px;font-size:.85rem;overflow:hidden;overflow-wrap:break-word;white-space:normal;text-align:center}.chat-panel.conversation-mode .turn-dock-bars{display:flex;align-items:center;gap:4px;height:30px}.chat-panel.conversation-mode .turn-dock-bars span{width:5px;height:100%;border-radius:3px;background:currentColor;animation:turn-dock-bars .9s ease-in-out infinite}.chat-panel.conversation-mode .turn-dock-bars span:nth-child(2){animation-delay:-.3s}.chat-panel.conversation-mode .turn-dock-bars span:nth-child(3){animation-delay:-.6s}.chat-panel.conversation-mode .turn-dock-bars span:nth-child(4){animation-delay:-.15s}@keyframes turn-dock-bars{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.chat-panel.conversation-mode .turn-dock-face .typing-dots .typing-dot{width:9px;height:9px;margin:0 3px}.chat-panel.conversation-mode .turn-dock-caption{font-size:.75rem;font-weight:700;line-height:1.25;color:#475569;white-space:nowrap}.chat-panel.conversation-mode .turn-dock-circle-caption{max-width:168px;white-space:normal;text-align:center;color:#15803d;visibility:hidden}.chat-panel.conversation-mode .turn-dock--handoff .turn-dock-circle-caption{visibility:visible}.chat-panel.conversation-mode .turn-dock-side-button{min-width:64px;margin-top:24px}.chat-panel.conversation-mode .turn-dock-side-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;transition:background-color .2s ease,transform .15s ease}.chat-panel.conversation-mode .turn-dock-side-button:not(:disabled):active .turn-dock-side-icon{transform:scale(.94)}.chat-panel.conversation-mode .turn-dock-feedback .turn-dock-side-icon{background:#fff;color:#1d4ed8;box-shadow:inset 0 0 0 2px #93c5fd;font-size:1.1rem}.chat-panel.conversation-mode .turn-dock-feedback:disabled .turn-dock-side-icon{color:#94a3b8;box-shadow:inset 0 0 0 2px #e2e8f0}.chat-panel.conversation-mode .turn-dock-feedback:disabled .turn-dock-caption{color:#94a3b8}.chat-panel.conversation-mode .turn-dock-end .turn-dock-side-icon{background:#dc2626;box-shadow:0 1px 2px #7f1d1d4d,0 6px 14px #dc262638}.chat-panel.conversation-mode .turn-dock-end .turn-dock-side-icon:before{content:"";width:14px;height:14px;border-radius:3px;background:#fff}@media (hover: hover){.chat-panel.conversation-mode .turn-dock--handoff .turn-dock-circle:hover .turn-dock-face{background:#166534}.chat-panel.conversation-mode .turn-dock-feedback:not(:disabled):hover .turn-dock-side-icon{background:#eff6ff}.chat-panel.conversation-mode .turn-dock-end:hover .turn-dock-side-icon{background:#b91c1c}}.chat-panel.conversation-mode .speaking-time-block .speaking-time-remaining.speaking-time-low{color:#b45309}.chat-panel.conversation-mode .student-turn-marker{flex-shrink:0;align-self:flex-end;margin:0;padding:4px 12px;border-radius:999px;background:#f0fdf4;font-size:.8rem;font-weight:700;color:#166534}.chat-panel.conversation-mode .student-turn-marker .fa-solid{margin-right:4px}@media (max-width: 768px){.chat-panel.conversation-mode .turn-dock{gap:6px}.chat-panel.conversation-mode .turn-dock-status{gap:0;min-height:2.2675rem}.chat-panel.conversation-mode .turn-dock-heading{font-size:.95rem;line-height:1.25}.chat-panel.conversation-mode .turn-dock-detail{font-size:.8rem;line-height:1.35}.chat-panel.conversation-mode .turn-dock-buttons{grid-template-columns:1fr 136px 1fr}.chat-panel.conversation-mode .turn-dock-circle,.chat-panel.conversation-mode .turn-dock-side-button{gap:4px}.chat-panel.conversation-mode .turn-dock-orb{width:auto;min-width:64px;height:64px}.chat-panel.conversation-mode .turn-dock-face{width:auto;min-width:64px;font-size:1.4rem;white-space:nowrap}.chat-panel.conversation-mode .turn-dock--handoff .turn-dock-face{padding:0 14px}.chat-panel.conversation-mode .turn-dock-done{flex-direction:row;gap:8px;font-size:1rem}.chat-panel.conversation-mode .turn-dock-done .fa-solid{display:none}.chat-panel.conversation-mode .turn-dock-done-label{max-width:108px;font-size:1rem}.chat-panel.conversation-mode .turn-dock-bars{gap:3px;height:22px}.chat-panel.conversation-mode .turn-dock-bars span{width:4px}.chat-panel.conversation-mode .turn-dock-face .typing-dots .typing-dot{width:7px;height:7px;margin:0 2px}.chat-panel.conversation-mode .turn-dock-caption{font-size:.7rem}.chat-panel.conversation-mode .turn-dock-circle-caption{max-width:136px}.chat-panel.conversation-mode .turn-dock-side-button{min-width:56px;margin-top:0}.chat-panel.conversation-mode .turn-dock-side-icon{width:44px;height:44px;margin:10px 0}.chat-panel.conversation-mode .turn-dock-feedback .turn-dock-side-icon{font-size:1rem}.chat-panel.conversation-mode .turn-dock-end .turn-dock-side-icon:before{width:12px;height:12px}.chat-panel.conversation-mode .cost-display{padding-top:2px}.chat-panel.conversation-mode .speaking-time-block .speaking-time-remaining{font-size:.8rem}}@media (max-height: 480px){.chat-panel.conversation-mode .turn-dock{flex-direction:row;max-width:640px;gap:12px}.chat-panel.conversation-mode .turn-dock-status{flex:1 1 0;min-width:0;min-height:0;text-align:left}.chat-panel.conversation-mode .turn-dock-buttons{display:flex;flex-shrink:0;align-items:center;gap:8px;width:auto}.chat-panel.conversation-mode .turn-dock-orb{width:auto;min-width:56px;height:56px}.chat-panel.conversation-mode .turn-dock-face{width:auto;min-width:56px;font-size:1.3rem;white-space:nowrap}.chat-panel.conversation-mode .turn-dock--handoff .turn-dock-face{padding:0 18px}.chat-panel.conversation-mode .turn-dock-done{flex-direction:row;gap:8px}.chat-panel.conversation-mode .turn-dock-done .fa-solid{font-size:1.1rem}.chat-panel.conversation-mode .turn-dock-done-label{max-width:120px;font-size:.95rem}.chat-panel.conversation-mode .turn-dock-circle-caption{display:none}.chat-panel.conversation-mode .turn-dock-side-button{margin-top:0}.chat-panel.conversation-mode .turn-dock-side-icon{width:44px;height:44px;margin:0}}@media (prefers-reduced-motion: reduce){.chat-panel.conversation-mode .turn-dock-pulse{animation:none}.chat-panel.conversation-mode .turn-dock-bars span{animation:none;transform:scaleY(.7)}.chat-panel.conversation-mode .turn-dock-ring{transform:scale(1.15)}.chat-panel.conversation-mode .turn-dock-face,.chat-panel.conversation-mode .turn-dock-side-icon{transition:none}}.app-container.conversation-media .chat-panel{flex:1 1 0;min-width:0}.conv-media{flex:1 1 0;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:#fff;border-right:1px solid #e5e7eb}.conv-media-avatar{flex:none;width:56px;height:56px}.conv-media-frame{position:relative;flex:1 1 auto;width:100%;min-height:0;border-radius:16px;background:#f1f5f9;overflow:hidden}.conv-media-track{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none}.conv-media-track::-webkit-scrollbar{display:none}.conv-media-slide{flex:0 0 100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;padding:10px;box-sizing:border-box;overflow-y:auto;scroll-snap-align:center;scroll-snap-stop:always}.conv-media-picture{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;cursor:zoom-in}.conv-media-picture-image{display:block;max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.conv-media-enlarge{position:absolute;right:6px;bottom:6px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:#0f172a99;color:#fff;font-size:1rem;cursor:pointer}.conv-media-arrow{position:absolute;top:50%;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:none;border-radius:50%;background:#ffffffeb;color:#1e293b;box-shadow:0 1px 4px #0f172a40;transform:translateY(-50%);cursor:pointer}.conv-media-arrow--prev{left:6px}.conv-media-arrow--next{right:6px}.conv-media-arrow:disabled{opacity:0;pointer-events:none}.conv-media-enlarge:focus-visible,.conv-media-arrow:focus-visible{outline:3px solid #86efac;outline-offset:2px}.conv-media-position{position:absolute;left:50%;bottom:8px;display:flex;align-items:center;gap:8px;padding:4px 10px;border-radius:999px;background:#0f172a99;color:#fff;font-size:.72rem;font-weight:700;transform:translate(-50%);pointer-events:none}.conv-media-dots{display:flex;gap:4px}.conv-media-dot{width:6px;height:6px;border-radius:50%;background:#ffffff73}.conv-media-dot.is-current{background:#fff}.conv-media-video,.conv-media-audio{display:flex;flex-direction:column;justify-content:center;gap:8px;width:100%;height:100%;min-height:0}.conv-media-video-player{flex:1 1 auto;width:100%;min-height:0;border-radius:8px;overflow:hidden;background:#0f172a}@supports (aspect-ratio: 1){.conv-media-video-player{flex:0 1 auto;height:auto;max-height:100%;aspect-ratio:16 / 9}}.conv-media-video-player .react-player__preview{position:relative;background-color:#0f172a}.conv-media-play{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#dc2626eb;color:#fff;font-size:1.2rem;box-shadow:0 2px 10px #0f172a59}.conv-media-audio{max-width:520px}.conv-media-audio-player{width:100%}.conv-media-transcript{flex:none;width:100%;font-size:.85rem;color:#334155}.conv-media-transcript summary{padding:6px 0;font-weight:700;color:#1d4ed8;cursor:pointer}.conv-media-transcript-text{max-height:120px;overflow-y:auto;padding:8px 10px;border-radius:8px;background:#fff;line-height:1.5}.chat-panel-activity-instructions{white-space:normal}.chat-panel-activity-question{margin:0 0 4px;font-size:.95rem;font-weight:700;color:#1e3a8a}.chat-panel-activity-instructions>:first-child{margin-top:0}.chat-panel-activity-instructions>:last-child{margin-bottom:0}.chat-panel.conversation-ready.conversation-media .controls{transform:none}.chat-panel.conversation-media .conversation-start-spot{display:none}@media (min-width: 769px){.app-container.conversation-media .bear-panel{display:none}}@media (max-width: 768px){.conv-media{flex:none;gap:0;padding:8px 12px 0;border-right:none}.conv-media .conv-media-avatar,.conv-media--hidden{display:none}.conv-media-frame{flex:none;height:22vh;height:clamp(72px,calc(36dvh - 95px),300px);border-radius:12px}.conv-media-slide{padding:6px}}.media-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;background:#0f172af2;animation:media-viewer-in .15s ease-out}@keyframes media-viewer-in{0%{opacity:0}to{opacity:1}}.media-viewer-track{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none}.media-viewer-track::-webkit-scrollbar{display:none}.media-viewer-slide{flex:0 0 100%;display:flex;align-items:center;justify-content:center;height:100%;padding:64px 12px;box-sizing:border-box;scroll-snap-align:center;scroll-snap-stop:always}.media-viewer-picture{display:block;max-width:100%;max-height:100%;object-fit:contain}.media-viewer-close,.media-viewer-arrow{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;border-radius:50%;background:#ffffff29;color:#fff;font-size:1.25rem;cursor:pointer}.media-viewer-close{top:10px;right:10px}.media-viewer-arrow{top:50%;transform:translateY(-50%)}.media-viewer-arrow--prev{left:10px}.media-viewer-arrow--next{right:10px}.media-viewer-arrow:disabled{opacity:0;pointer-events:none}.media-viewer-close:focus-visible,.media-viewer-arrow:focus-visible{outline:3px solid #86efac;outline-offset:2px}.media-viewer-count{position:absolute;top:24px;left:50%;color:#fff;font-size:.9rem;font-weight:700;transform:translate(-50%)}@media (prefers-reduced-motion: reduce){.media-viewer{animation:none}}.highlighted-word{padding:2px 4px;border-radius:4px;font-weight:600;cursor:help;transition:all .3s ease;position:relative;animation:highlight-appear .5s ease-out}@keyframes highlight-appear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.highlighted-word.mispronounced{background:linear-gradient(135deg,#fecaca,#fca5a5);color:#991b1b;border-bottom:2px solid #ef4444}.highlighted-word.skipped{background:linear-gradient(135deg,#fef08a,#fde047);color:#854d0e;border-bottom:2px solid #eab308;min-width:40px;display:inline-block;text-align:center;font-style:italic;opacity:.8}.highlighted-word.wrong-word{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#9a3412;border-bottom:2px solid #f97316}.highlighted-word.added{background:linear-gradient(135deg,#ddd6fe,#c4b5fd);color:#5b21b6;border-bottom:2px solid #8b5cf6}.highlighted-word:hover{transform:scale(1.05);box-shadow:0 2px 8px #00000026;z-index:10}.mistake-legend{display:flex;gap:20px;padding:12px 16px;margin-top:12px;background:#fffc;border-radius:8px;font-size:12px;justify-content:center;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:8px;color:#57534e;font-weight:500}.legend-color{width:16px;height:16px;border-radius:3px;display:inline-block;border:1px solid rgba(0,0,0,.1)}.legend-color.mispronounced{background:linear-gradient(135deg,#fecaca,#fca5a5)}.para-eval-word{padding:0 1px;text-decoration:none;border-bottom:4px solid transparent;border-radius:0 0 2px 2px;cursor:help;transition:opacity .15s ease}.para-eval-word:hover{opacity:.9}.para-eval-word.para-eval-none{border-bottom-color:#a8a29e}.para-eval-word.para-eval-band-90{border-bottom-color:#15803d}.para-eval-word.para-eval-band-80{border-bottom-color:#22c55e}.para-eval-word.para-eval-band-70{border-bottom-color:#65a30d}.para-eval-word.para-eval-band-60{border-bottom-color:#a3a81a}.para-eval-word.para-eval-band-50{border-bottom-color:#f59e0b}.para-eval-word.para-eval-band-40{border-bottom-color:#fb923c}.para-eval-word.para-eval-band-30{border-bottom-color:#f97316}.para-eval-word.para-eval-band-20{border-bottom-color:#ef4444}.para-eval-word.para-eval-band-10{border-bottom-color:#dc2626}.para-eval-word.para-eval-band-0{border-bottom-color:#b91c1c}.para-eval-word.para-eval-dim{opacity:.25}.para-eval-word.para-eval-selected{opacity:1;background:#0284c714;border-radius:2px}.para-eval-breakdown{margin-top:12px;padding:14px 16px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.para-eval-in-chat.para-eval-breakdown{margin-top:0;border:none;border-top:1px solid rgba(0,0,0,.06);border-radius:0 0 10px 10px;background:#ffffffeb}.para-eval-in-feedback-modal.para-eval-breakdown{margin-top:16px;background:#fff}.para-eval-in-results-modal.para-eval-breakdown{margin-top:16px}.para-eval-in-conversation-feedback.para-eval-breakdown{margin-top:14px}.conversation-feedback-modal .para-eval-in-conversation-feedback.para-eval-breakdown{margin-top:12px;padding:12px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;border-top:2px solid #e0f2fe}.para-eval-conversation-chat-wrap{margin-top:10px;min-width:0}.para-eval-speech-heading{margin:0 0 8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.para-eval-conversation-chat{display:flex;flex-direction:column;gap:10px;padding:10px;border-radius:8px;background:#f8fafc;border:1px solid #e2e8f0;min-width:0}.para-eval-conversation-chat .para-eval-chat-bubble{max-width:88%;min-width:0;padding:8px 10px;border-width:1px;box-shadow:0 1px 2px #0f172a0a}.para-eval-conversation-chat .para-eval-chat-bubble.user-message{align-self:flex-end;border-bottom-right-radius:4px}.para-eval-conversation-chat .para-eval-chat-bubble.assistant-message{align-self:flex-start;border-bottom-left-radius:4px}.para-eval-conversation-chat .message-header{margin-bottom:5px}.para-eval-conversation-chat .message-speaker{font-size:.75rem}.para-eval-conversation-chat .message-number{font-size:.68rem}.para-eval-conversation-chat .message-text{margin-bottom:0;font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}.para-eval-breakdown--conversation .para-eval-breakdown-header{margin-bottom:10px}.para-eval-breakdown--conversation .para-eval-breakdown-title{font-size:.9rem}.para-eval-breakdown--conversation .para-eval-breakdown-meta{font-size:.78rem;line-height:1.45}.para-eval-breakdown--conversation .para-eval-band-matrix{margin-bottom:4px}.para-eval-breakdown--conversation .para-eval-band-actions{margin-top:2px;margin-bottom:4px}.para-eval-breakdown--conversation .para-eval-word{border-bottom-width:3px}.para-eval-breakdown--conversation .para-eval-word u{text-decoration:none}.conversation-pronunciation-loading{margin-top:10px;padding:10px 12px;font-size:.8125rem;color:#64748b;background:#f8fafc;border-radius:8px;border:1px dashed #e2e8f0}.conversation-feedback-listen-transcript .message-text .para-eval-word{font-size:inherit}.para-eval-band-matrix-track{width:100%}@media (max-width: 480px){.para-eval-conversation-chat .para-eval-chat-bubble{max-width:94%}}.para-eval-breakdown-header{margin-bottom:12px}.para-eval-breakdown-title{margin:0 0 4px;font-size:.95rem;font-weight:700;color:#0f172a}.para-eval-breakdown-meta{margin:0;font-size:.8125rem;color:#64748b;line-height:1.4}.para-eval-band-matrix{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.para-eval-band-matrix-row{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:10px}.para-eval-band-matrix-axis{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.para-eval-band-matrix-track{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;min-width:0}.para-eval-band-count-btn{min-height:28px;padding:2px 4px;border:1px solid transparent;border-radius:6px;background:#fff;font-size:.8125rem;font-weight:700;font-variant-numeric:tabular-nums;color:#0f172a;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.para-eval-band-count-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.para-eval-band-count-btn:disabled{color:#cbd5e1;cursor:default}.para-eval-band-count-btn.active{border-color:#0284c7;background:#e0f2fe;box-shadow:0 0 0 2px #0284c71f}.para-eval-band-segment{min-height:14px;padding:0;border:2px solid transparent;border-radius:3px;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.para-eval-band-segment:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 2px 6px #0f172a1f}.para-eval-band-segment.empty,.para-eval-band-segment:disabled{opacity:.35;cursor:default}.para-eval-band-segment.active{border-color:#0284c7;box-shadow:0 0 0 2px #0284c733}.para-eval-band-segment.para-eval-band-90{background:#15803d}.para-eval-band-segment.para-eval-band-80{background:#22c55e}.para-eval-band-segment.para-eval-band-70{background:#65a30d}.para-eval-band-segment.para-eval-band-60{background:#a3a81a}.para-eval-band-segment.para-eval-band-50{background:#f59e0b}.para-eval-band-segment.para-eval-band-40{background:#fb923c}.para-eval-band-segment.para-eval-band-30{background:#f97316}.para-eval-band-segment.para-eval-band-20{background:#ef4444}.para-eval-band-segment.para-eval-band-10{background:#dc2626}.para-eval-band-segment.para-eval-band-0{background:#b91c1c}.para-eval-band-labels .para-eval-band-range-label{display:block;text-align:center;font-size:.65rem;font-weight:600;color:#94a3b8;line-height:1.2}.para-eval-band-actions{display:flex;justify-content:flex-end;margin-bottom:10px}.para-eval-show-all-btn{padding:4px 12px;font-size:.75rem;font-weight:600;color:#0369a1;background:transparent;border:1px solid #bae6fd;border-radius:999px;cursor:pointer}.para-eval-show-all-btn:hover{background:#e0f2fe}.para-eval-show-all-btn.active{background:#e0f2fe;border-color:#0284c7}.para-eval-passage{margin:0;padding:12px 14px;border-radius:8px;background:#fff;border:1px solid #e2e8f0;font-size:1.05rem;line-height:1.75;color:#1c1917}.para-eval-loading{color:#78716c;font-size:14px;font-style:italic}.legend-color.skipped{background:linear-gradient(135deg,#fef08a,#fde047)}.legend-color.wrong-word{background:linear-gradient(135deg,#fed7aa,#fdba74)}.legend-color.added{background:linear-gradient(135deg,#ddd6fe,#c4b5fd)}.mistakes-list{margin-top:12px;background:#ffffffe6;border-radius:8px;padding:12px;border-left:3px solid #ef4444;box-shadow:0 2px 8px #0000001a}.mistakes-list-header{font-weight:700;font-size:13px;color:#78350f;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.mistake-item{padding:8px 10px;margin-bottom:8px;border-radius:6px;border-left:3px solid transparent;background:#fffc;transition:all .2s ease}.mistake-item:last-child{margin-bottom:0}.mistake-item.mispronounced{border-left-color:#ef4444;background:linear-gradient(to right,#fecaca4d,#fffc)}.mistake-item.skipped{border-left-color:#f59e0b;background:linear-gradient(to right,#fef08a4d,#fffc)}.mistake-item.wrong-word{border-left-color:#f97316;background:linear-gradient(to right,#fed7aa4d,#fffc)}.mistake-item.added{border-left-color:#8b5cf6;background:linear-gradient(to right,#ddd6fe4d,#fffc)}.mistake-item:hover{transform:translate(4px);box-shadow:0 2px 6px #0000001a}.mistake-word{font-size:14px;margin-bottom:4px;color:#78350f}.mistake-word strong{font-weight:700;color:#92400e}.mistake-word .user-said{font-size:12px;color:#6b7280;font-style:italic;font-weight:400}.mistake-feedback{font-size:12px;color:#6b7280;line-height:1.5;margin-top:4px;padding-left:8px;border-left:2px solid rgba(107,114,128,.2)}.reading-text-group textarea{font-family:Georgia,serif;font-size:15px;line-height:1.7}.reading-text-group .field-hint{font-size:12px;color:#6b7280;margin-top:4px;font-style:italic}.quick-practice-section{display:flex;flex-direction:column;background:#fff;border:2px solid #3b82f6;border-radius:8px;padding:8px;margin:0 10px 8px;box-shadow:0 2px 6px #3b82f61a;flex-shrink:0;gap:6px}.quick-practice-header{display:flex;align-items:center;justify-content:space-between;padding:4px 6px}.quick-practice-close{background:transparent;border:none;color:#94a3b8;font-size:20px;cursor:pointer;padding:2px 6px;line-height:1;transition:all .2s ease;border-radius:4px}.quick-practice-close:hover{background:#fee2e2;color:#ef4444}.quick-practice-title{font-weight:600;font-size:13px;color:#1e40af}.mistakes-badge-header{background:linear-gradient(135deg,#fef08a,#fde047);color:#854d0e;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:700;margin-left:auto;box-shadow:0 2px 4px #eab30833;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.quick-practice-textarea{min-height:200px;max-height:400px;padding:10px;border:1px solid #cbd5e1;border-radius:6px;font-family:inherit;font-size:14px;line-height:1.5;resize:vertical;background:#f8fafc;color:#1e293b;transition:all .2s ease;overflow-y:auto;scrollbar-width:none;width:-webkit-fill-available}.quick-practice-textarea:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.quick-practice-textarea::placeholder{color:#94a3b8;font-size:13px}.quick-practice-textarea-wrapper{position:relative;width:100%}.quick-practice-textarea.with-highlights{position:relative;z-index:1;background:#f8fafc}.quick-practice-textarea-highlights{position:absolute;top:0;left:0;right:0;bottom:0;padding:10px;border:1px solid transparent;border-radius:6px;font-family:inherit;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word;overflow:hidden;pointer-events:none;z-index:2;background:transparent}.textarea-close-btn{position:absolute;top:8px;right:8px;background:#ffffffe6;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;font-size:16px;cursor:pointer;padding:4px 8px;line-height:1;transition:all .2s ease;z-index:10;box-shadow:0 2px 4px #0000001a}.textarea-close-btn:hover{background:#fee2e2;color:#ef4444;border-color:#fecaca}.quick-practice-actions{display:flex;justify-content:space-between;align-items:center;padding:4px 6px}.quick-practice-edit{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #3b82f633}.quick-practice-edit:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.quick-practice-clear{background:transparent;color:#64748b;border:none;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.quick-practice-clear:hover{background:#fee2e2;color:#ef4444}.quick-practice-info{display:flex;align-items:center;gap:8px}.detected-language{background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;display:flex;align-items:center;gap:4px;animation:fadeInScale .3s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.quick-practice-stats{font-size:12px;color:#64748b;font-weight:500}.mistakes-badge{color:#ef4444;font-weight:600}.floating-quick-practice-btn{position:fixed;bottom:24px;right:24px;width:56px;height:56px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:50%;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #2563eb66;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeInBounce .6s ease-out,floatPulse 3s ease-in-out infinite 1s}.floating-quick-practice-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px #2563eb99;background:linear-gradient(135deg,#2563eb,#1d4ed8)}.floating-quick-practice-btn:active{transform:scale(.95)}@keyframes fadeInBounce{0%{opacity:0;transform:scale(.3) translateY(20px)}50%{transform:scale(1.05) translateY(-5px)}70%{transform:scale(.95) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes floatPulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.02)}}.message-bubble{padding:12px 18px;border-radius:var(--border-radius);max-width:80%;display:flex;flex-direction:column}.message-bubble.user{background-color:var(--user-bubble-bg);align-self:flex-end;border-bottom-right-radius:4px}.message-bubble.bear{background-color:var(--bear-bubble-bg);align-self:flex-start;border-bottom-left-radius:4px}.speaker-name{font-weight:700;margin-bottom:5px;font-size:.9rem}.message-text{font-size:1rem;line-height:1.5}.message-text-md p{margin:0 0 .5em}.message-text-md p:last-child{margin-bottom:0}.message-text-md ul,.message-text-md ol{margin:.35em 0 .5em 1.25em;padding:0}.message-text-md li{margin:.2em 0}.message-text-md strong{font-weight:700}.message-text-md a{color:inherit;text-decoration:underline;text-underline-offset:2px}.message-text-md code{font-size:.92em;padding:.1em .35em;border-radius:4px;background:#0000000f}.message-bubble.bear .message-text-md code{background:#00000014}.message-bubble.user .message-text-md code{background:#ffffff40}audio{margin-top:10px;width:100%;height:40px;border-radius:20px}.chat-panel-time-up-hint{margin:0 0 8px;padding:8px 12px;font-size:.9rem;color:#374151;background:#fef3c7;border-radius:8px;text-align:center}.live-session-error-banner{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#991b1b;text-align:left}.live-session-error-banner p{margin:0;font-size:.95rem;line-height:1.45}.live-session-error-icon{flex-shrink:0;margin-top:2px;color:#dc2626}.controls-container{padding-top:20px;flex-shrink:0;width:100%;max-width:100%;box-sizing:border-box}.controls{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;max-width:100%}.control-button{padding:15px 30px;font-size:1.1rem;font-weight:700;border:none;color:#fff;border-radius:30px;cursor:pointer;transition:background-color .3s ease,transform .2s ease;box-shadow:0 2px 8px #00000026;-webkit-user-select:none;user-select:none;max-width:min(100%,320px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-button:hover{transform:translateY(-2px)}.control-button.start{background-color:var(--button-start-bg)}.control-button.feedback{background-color:#007bff}.control-button.stop{background-color:var(--button-stop-bg)}.control-button.hana-turn{background:linear-gradient(135deg,#6f42c1,#8b5cf6)}.control-button.hana-turn:hover:not(:disabled){background:linear-gradient(135deg,#5a32a3,#7c3aed)}.chat-controls-hints{margin-top:14px;padding:0 12px;display:flex;flex-direction:column;gap:6px;max-width:520px;margin-left:auto;margin-right:auto}.chat-control-hint{margin:0;font-size:.82rem;line-height:1.45;color:#6c757d;display:flex;align-items:flex-start;gap:8px;text-align:left}.chat-control-hint-icon{flex-shrink:0;margin-top:2px;opacity:.85}.turn-mode-group{margin-top:4px}.form-label-block{display:block;font-weight:600;margin-bottom:10px;color:#333}.turn-mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.turn-mode-card{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.turn-mode-card:hover{border-color:#c4b5fd;box-shadow:0 2px 8px #6f42c114}.turn-mode-card.selected{border-color:#7c3aed;background:linear-gradient(180deg,#faf5ff,#fff);box-shadow:0 2px 12px #7c3aed1f}.turn-mode-card-icon{flex-shrink:0;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#64748b;font-size:1rem}.turn-mode-card.selected .turn-mode-card-icon{background:#ede9fe;color:#6d28d9}.turn-mode-card-body{display:flex;flex-direction:column;gap:4px;min-width:0}.turn-mode-card-title{font-weight:600;font-size:.95rem;color:#1e293b}.turn-mode-card-desc{font-size:.82rem;line-height:1.4;color:#64748b}.turn-mode-card-desc strong{color:#5b21b6;font-weight:600}@media (max-width: 640px){.turn-mode-cards{grid-template-columns:1fr}}.control-button:disabled{background-color:#ccc;cursor:not-allowed;transform:none}.cost-display{padding-top:15px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;font-size:.9rem;color:#6c757d}.cost-display p{margin:0}.speaking-time-block{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;line-height:1.4;max-width:320px}.speaking-time-block .speaking-time-limit-message{font-size:.9rem;color:#6c757d;margin:0}.speaking-time-block .speaking-time-remaining{font-weight:600;font-size:1.1rem;color:var(--color-primary, #2d6a4f);margin:0;letter-spacing:.02em}.cost-display:has(p:only-child){justify-content:center}.top-menu{position:relative;top:auto;right:auto;z-index:1000;display:flex;gap:10px;align-items:stretch;justify-content:flex-end;flex-shrink:0}.top-menu-icon-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;border:2px solid #e5e7eb;background:var(--chat-panel-bg);color:#374151;font-size:.875rem;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #00000014}.top-menu-icon-btn:hover{border-color:var(--button-start-bg, #4caf50);background:#4caf5014;color:#2e7d32;box-shadow:0 2px 8px #4caf5026}.top-menu-icon-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4caf5059}.top-menu-icon-btn svg{flex-shrink:0}.top-menu-icon-label{white-space:nowrap}.export-button,.menu-button,.text-button{background-color:var(--chat-panel-bg);border:2px solid #e5e7eb;border-radius:8px;padding:12px;font-size:1.2rem;cursor:pointer;box-shadow:var(--box-shadow);transition:all .2s ease;width:44px;height:44px;display:flex;align-items:center;justify-content:center;position:relative}.menu-button:before{content:"";position:absolute;width:20px;height:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='3' y1='6' x2='21' y2='6'%3e%3c/line%3e%3cline x1='3' y1='12' x2='21' y2='12'%3e%3c/line%3e%3cline x1='3' y1='18' x2='21' y2='18'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:contain;transition:all .2s ease}.menu-button:hover{background-color:#f8f9fa;transform:translateY(-1px)}.menu-button:hover:before{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234caf50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='3' y1='6' x2='21' y2='6'%3e%3c/line%3e%3cline x1='3' y1='12' x2='21' y2='12'%3e%3c/line%3e%3cline x1='3' y1='18' x2='21' y2='18'%3e%3c/line%3e%3c/svg%3e")}.export-button:before{content:"";position:absolute;width:20px;height:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M21 15v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4'/%3e%3cpolyline points='7 10 12 15 17 10'/%3e%3cline x1='12' y1='15' x2='12' y2='3'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:contain;transition:all .2s ease}.text-button:before{content:"";position:absolute;width:20px;height:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3e%3cline x1='14' y1='2' x2='14' y2='8'/%3e%3cline x1='8' y1='13' x2='16' y2='13'/%3e%3cline x1='8' y1='17' x2='16' y2='17'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:contain;transition:all .2s ease}.text-button:hover{background-color:#f8f9fa;transform:translateY(-1px)}.text-button:hover:before{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234caf50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3e%3cline x1='14' y1='2' x2='14' y2='8'/%3e%3cline x1='8' y1='13' x2='16' y2='13'/%3e%3cline x1='8' y1='17' x2='16' y2='17'/%3e%3c/svg%3e")}.export-button:hover{background-color:#f8f9fa;transform:translateY(-1px)}.export-button:hover:before{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234caf50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M21 15v4a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-4'/%3e%3cpolyline points='7 10 12 15 17 10'/%3e%3cline x1='12' y1='15' x2='12' y2='3'/%3e%3c/svg%3e")}.menu-dropdown{position:absolute;top:100%;right:0;background-color:var(--chat-panel-bg);border:2px solid #e5e7eb;border-radius:8px;box-shadow:var(--box-shadow);min-width:200px;margin-top:5px}.menu-user-info{padding:12px 16px;border-bottom:1px solid #e5e7eb;background-color:#f8f9fa;border-radius:6px 6px 0 0}.menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;font-size:1rem;color:var(--text-color);transition:background-color .2s ease}.menu-item:hover{background-color:#f8f9fa}.menu-item:first-child{border-radius:6px 6px 0 0}.menu-item:last-child{border-radius:0 0 6px 6px}.menu-divider{height:1px;background-color:#e5e7eb;margin:4px 0}.menu-item-logout{color:#dc2626;font-weight:500}.menu-item-logout:hover{background-color:#fee2e2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000000}.speaking-tips-modal-overlay{z-index:10000003;background-color:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px;box-sizing:border-box}@media (prefers-reduced-motion: reduce){.speaking-tips-modal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}}.speaking-tips-modal{width:100%;max-width:420px;border-radius:20px;box-shadow:0 24px 48px #0f172a2e,0 0 0 1px #ffffff0f inset;border:1px solid rgba(14,165,233,.12);overflow:hidden}.speaking-tips-modal__hero{background:linear-gradient(145deg,#e0f2fe,#dcfce7 48%,#fef9c3);padding:24px 24px 20px;text-align:center;position:relative}.speaking-tips-modal__hero-inner{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px}.speaking-tips-modal__wave{width:140px;height:56px;color:#0ea5e9}.speaking-tips-modal__title{margin:0 0 10px;font-size:1.35rem;font-weight:700;color:var(--text-color);letter-spacing:-.02em;position:relative}.speaking-tips-modal__lede{margin:0;font-size:.95rem;line-height:1.5;color:#475569;position:relative}.speaking-tips-modal__body{padding:20px 22px 8px;background:var(--chat-panel-bg)}.speaking-tips-modal__list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:14px}.speaking-tips-modal__row{display:flex;gap:14px;align-items:flex-start}.speaking-tips-modal__icon-wrap{flex-shrink:0;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#f0f9ff,#ecfdf5);display:flex;align-items:center;justify-content:center;color:#0284c7;border:1px solid rgba(14,165,233,.2)}.speaking-tips-modal__icon-svg{width:22px;height:22px}.speaking-tips-modal__icon-svg--stroke{fill:none}.speaking-tips-modal__row-text{display:flex;flex-direction:column;gap:4px;min-width:0}.speaking-tips-modal__row-title{font-weight:700;font-size:.95rem;color:var(--text-color)}.speaking-tips-modal__row-desc{font-size:.875rem;line-height:1.45;color:#64748b}.speaking-tips-modal__row--highlight{padding:12px 14px;margin:0 -14px;border-radius:12px;background:linear-gradient(180deg,#faf5ff,#f5f3ff);border:1px solid rgba(124,58,237,.2)}.speaking-tips-modal__row--highlight .speaking-tips-modal__icon-wrap{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#6d28d9;border-color:#7c3aed40}.speaking-tips-modal__row--highlight .speaking-tips-modal__row-title{color:#5b21b6}.speaking-tips-modal__checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:#475569;-webkit-user-select:none;user-select:none;padding:8px 0 4px}.speaking-tips-modal__checkbox{width:18px;height:18px;accent-color:#0ea5e9;cursor:pointer}.speaking-tips-modal__actions{display:flex;flex-direction:row;gap:12px;padding:12px 22px 22px;background:var(--chat-panel-bg)}.speaking-tips-modal__secondary{flex:0 0 auto;padding:14px 18px;font-family:var(--font-family);font-size:1rem;font-weight:600;color:var(--text-secondary, #64748b);background:transparent;border:2px solid rgba(100,116,139,.35);border-radius:14px;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.speaking-tips-modal__secondary:hover{background:#64748b14;border-color:#64748b80;color:var(--text-primary, #1e293b)}.speaking-tips-modal__secondary:focus-visible{outline:3px solid rgba(14,165,233,.45);outline-offset:2px}.speaking-tips-modal__primary{flex:1;min-width:0;padding:14px 20px;font-family:var(--font-family);font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:14px;cursor:pointer;box-shadow:0 4px 14px #16a34a59;transition:transform .15s ease,box-shadow .15s ease}.speaking-tips-modal__primary:hover{box-shadow:0 6px 20px #16a34a6b;transform:translateY(-1px)}.speaking-tips-modal__primary:focus-visible{outline:3px solid rgba(14,165,233,.45);outline-offset:2px}.speaking-tips-modal__primary:active{transform:translateY(0)}@media (prefers-reduced-motion: reduce){.speaking-tips-modal__primary{transition:none}.speaking-tips-modal__primary:hover{transform:none}}.re-login-modal-overlay{z-index:10000001}.re-login-modal{background:var(--chat-panel-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);width:100%;max-width:400px;overflow:hidden}.re-login-modal-header{padding:24px 20px;border-bottom:1px solid rgba(148,163,184,.2);background:linear-gradient(155deg,#0f172a,#1e293b);color:#f8fafc;text-align:center}.re-login-modal-brand{margin:0 auto 14px;display:block;width:fit-content;filter:drop-shadow(0 2px 12px rgba(0,0,0,.25))}.re-login-modal-header h2{margin:0 0 8px;font-size:1.2rem;font-weight:700;color:#f8fafc}.re-login-modal-message{margin:0;font-size:.9rem;color:#e2e8f0e6;line-height:1.45}.re-login-form{padding:20px;display:flex;flex-direction:column;gap:16px}.re-login-form .form-group{display:flex;flex-direction:column;gap:6px}.re-login-form .form-group label{font-weight:600;font-size:.9rem}.re-login-form input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:1rem}.re-login-form .password-field-wrap{width:100%}.password-field-wrap{position:relative}.password-field-wrap input{padding-right:44px}.re-login-form .password-field-wrap input{width:100%;box-sizing:border-box}.password-visibility-btn{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:30px;height:30px;border:1px solid transparent;border-radius:999px;background:#f8fafc;font-size:.95rem;line-height:1;cursor:pointer;color:#475569;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease}.password-visibility-btn:hover:not(:disabled){color:#0f172a;border-color:#cbd5e1;background:#fff}.password-visibility-btn:focus-visible{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf5026}.password-visibility-btn:disabled{cursor:not-allowed;opacity:.5}.re-login-error{padding:10px 12px;background:#fef2f2;color:#b91c1c;border-radius:8px;font-size:.9rem}.re-login-submit{margin-top:8px}.modal{background-color:var(--chat-panel-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);max-width:90vw;max-height:90vh;max-height:90dvh;width:600px;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:2px solid #e5e7eb;background-color:var(--bear-panel-bg)}.modal-header h2{margin:0;color:var(--text-color)}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:8px;border-radius:6px;transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:relative}.close-button:before{content:"";position:absolute;width:16px;height:16px;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e");background-repeat:no-repeat;background-position:center;background-size:contain;transition:all .2s ease}.close-button:hover{background-color:#94dc351a;transform:scale(1.1)}.close-button:hover:before{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc3545' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e")}.modal-content{padding:20px;flex:1;overflow-y:auto;min-height:0}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:24px;border-top:2px solid #e5e7eb;background:linear-gradient(to top,#f9fafb,#fff)}.assignment-modal .modal-actions{padding:24px 32px;background:#fff;border-top:2px solid #e5e7eb;box-shadow:0 -2px 8px #0000000a}.assignment-modal .modal-actions button{padding:12px 28px;font-size:.95rem;font-weight:600;border-radius:10px;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;cursor:pointer;display:flex;align-items:center;gap:8px}.assignment-modal .modal-actions button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000001f}.assignment-modal .modal-actions button:not(:disabled):active{transform:translateY(0)}.assignment-modal .modal-actions button:disabled{opacity:.5;cursor:not-allowed}.assignment-modal .modal-actions .back-btn{background:#fff;color:#64748b;border:2px solid #e5e7eb!important}.assignment-modal .modal-actions .back-btn:hover{background:#f8fafc;border-color:#cbd5e1!important;color:#475569}.assignment-modal .modal-actions .next-btn,.assignment-modal .modal-actions .submit-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 4px 12px #4caf5040}.assignment-modal .modal-actions .next-btn:hover,.assignment-modal .modal-actions .submit-btn:hover{box-shadow:0 6px 20px #4caf5059}.assignment-modal .modal-actions .cancel-btn{background:#fff;color:#64748b;border:2px solid #e5e7eb!important}.assignment-modal .modal-actions .cancel-btn:hover{background:#fef2f2;border-color:#fecaca!important;color:#dc2626}.conversation-form-modal{width:800px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column}.conversation-form-modal .modal-header{background:linear-gradient(135deg,#4caf50,#2196f3);color:#fff;padding:24px 30px;border-bottom:none}.conversation-form-modal .modal-header h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0;display:flex;align-items:center;gap:12px}.conversation-form-modal .modal-header h2:before{content:none}.conversation-form-modal .close-button{color:#fff;opacity:.9}.conversation-form-modal .close-button:hover{opacity:1;background-color:#fff3}.conversation-form-modal .modal-content{padding:0 30px 30px;overflow-y:auto;flex:1;min-height:0}.conversation-form{display:flex;flex-direction:column;gap:24px}.conversation-form .form-group{display:flex;flex-direction:column;gap:10px}.conversation-form .form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.conversation-form .form-row .form-group{flex:1}.conversation-form .form-group label{font-weight:600;color:#2c3e50;font-size:.95rem;display:flex;align-items:center;gap:6px}.conversation-form .form-group label:before{content:"";display:inline-block;width:4px;height:14px;background:linear-gradient(135deg,#4caf50,#2196f3);border-radius:2px}.conversation-form .form-group input,.conversation-form .form-group select,.conversation-form .form-group textarea{padding:13px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-family:var(--font-family);transition:all .2s ease;background-color:#fafbfc}.conversation-form .form-group input:hover,.conversation-form .form-group select:hover,.conversation-form .form-group textarea:hover{border-color:#cbd5e0;background-color:#fff}.conversation-form .form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 16px center;background-size:18px;padding-right:45px;cursor:pointer}.conversation-form .form-group select:focus{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234caf50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e")}.conversation-form .form-group input:focus,.conversation-form .form-group select:focus,.conversation-form .form-group textarea:focus{outline:none;border-color:#4caf50;background-color:#fff;box-shadow:0 0 0 3px #4caf5014;transform:translateY(-1px)}.conversation-form .form-group textarea{resize:vertical;min-height:90px;line-height:1.6}.conversation-form .reading-text-group textarea{min-height:150px;font-family:Georgia,serif;line-height:1.8}.conversation-form .radio-group{display:flex;gap:16px;margin-top:4px}.conversation-form .radio-group label{display:flex;align-items:center;gap:8px;padding:10px 18px;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease;background-color:#fafbfc;font-weight:500;font-size:.9rem}.conversation-form .radio-group label:before{display:none}.conversation-form .radio-group label:hover{border-color:#4caf50;background-color:#4caf500d}.conversation-form .radio-group input[type=radio]{width:18px;height:18px;accent-color:#4caf50;cursor:pointer}.conversation-form .radio-group input[type=radio]:checked+*{color:#4caf50}.conversation-form .publisher-library-group label{margin-bottom:4px}.conversation-form .publisher-library-hint{margin:0 0 10px;font-size:.875rem;color:#64748b}.conversation-form .publisher-library-choices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.conversation-form .publisher-library-chip{padding:8px 14px;font-size:.9rem;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;color:#374151;cursor:pointer;transition:border-color .2s,background .2s}.conversation-form .publisher-library-chip:hover{border-color:#4a90a4;background:#f0f9ff}.conversation-form .publisher-library-chip.selected{border-color:#4a90a4;background:#e0f2fe;color:#0c4a6e;display:inline-flex;align-items:center;gap:6px}.conversation-form .publisher-library-chip-label{flex:0 1 auto}.conversation-form .publisher-library-chip-remove{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;margin:0;border:none;border-radius:50%;background:#00000026;color:#0c4a6e;font-size:1.1rem;line-height:1;cursor:pointer;transition:background .15s,color .15s}.conversation-form .publisher-library-chip-remove:hover{background:#b91c1c;color:#fff}.conversation-form .publisher-library-chip.publisher-library-new{border-style:dashed;color:#4a90a4}.conversation-form .publisher-library-new-input-wrap{margin-top:8px;display:flex;align-items:center;gap:8px}.conversation-form .publisher-library-new-input-wrap input{width:100%;max-width:320px}.conversation-form .publisher-library-add-btn{padding:8px 14px;font-size:.9rem;border:1px solid #4a90a4;border-radius:8px;background:#e0f2fe;color:#0c4a6e;cursor:pointer;white-space:nowrap}.conversation-form .publisher-library-add-btn:hover{background:#bae6fd}.conversation-form .publisher-library-chip-custom{font-style:italic}.conversation-form .radio-group label:has(input:checked){border-color:#4caf50;background-color:#4caf501a;box-shadow:0 2px 8px #4caf5026}.radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:400}.radio-label input[type=radio]{margin:0}.conversation-form .form-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:32px;padding-top:24px;border-top:2px solid #e5e7eb}.conversation-form-modal .modal-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:14px;padding:20px 30px;border-top:2px solid #e5e7eb;background:#fff;flex-shrink:0}.conversation-form-modal .conversation-form-modal-actions{gap:10px;padding:14px 22px}.conversation-form-modal .conversation-form-modal-actions .form-button{padding:8px 14px;font-size:.8125rem;min-width:138px;border-radius:8px;transform:none}.conversation-form-modal .conversation-form-modal-actions .form-button:hover:not(:disabled){transform:translateY(-1px)}.conversation-form-modal .conversation-form-modal-actions .form-button.cancel{min-width:76px;padding:8px 14px}@keyframes form-btn-spin{to{transform:rotate(360deg)}}.conversation-form-modal .form-btn-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:form-btn-spin .65s linear infinite;flex-shrink:0}.conversation-form .form-button,.modal-actions .form-button,.confirm-actions .form-button{padding:13px 32px;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);min-width:130px;display:flex;align-items:center;justify-content:center;gap:8px}.conversation-form .form-button.cancel,.modal-actions .form-button.cancel,.confirm-actions .form-button.cancel{background-color:#fff;color:#6b7280;border:2px solid #d1d5db}.conversation-form .form-button.cancel:hover,.modal-actions .form-button.cancel:hover,.confirm-actions .form-button.cancel:hover{background-color:#f9fafb;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.conversation-form .form-button.save,.modal-actions .form-button.save{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:2px solid transparent;box-shadow:0 4px 12px #4caf504d}.conversation-form .form-button.save:hover,.modal-actions .form-button.save:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.conversation-form .form-button.save:active,.modal-actions .form-button.save:active{transform:translateY(0)}.conversation-form .form-button.save:disabled,.modal-actions .form-button.save:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #4caf5033}.conversation-form .form-button.save-test,.modal-actions .form-button.save-test{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border:2px solid transparent;box-shadow:0 4px 12px #2196f34d}.conversation-form .form-button.save-test:hover,.modal-actions .form-button.save-test:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2196f366}.conversation-form .form-button.save-test:active,.modal-actions .form-button.save-test:active{transform:translateY(0)}.conversation-form .form-button.save-test:disabled,.modal-actions .form-button.save-test:disabled{opacity:.6;cursor:not-allowed;transform:none}.conversation-form .form-button.save-assign,.modal-actions .form-button.save-assign{background:linear-gradient(135deg,#7c3aed,#6d28d9);color:#fff;border:2px solid transparent;box-shadow:0 4px 12px #7c3aed4d;font-family:var(--font-family)}.conversation-form .form-button.save-assign:hover,.modal-actions .form-button.save-assign:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.conversation-form .form-button.save-assign:active,.modal-actions .form-button.save-assign:active{transform:translateY(0)}.conversation-form .form-button.save-assign:disabled,.modal-actions .form-button.save-assign:disabled{opacity:.6;cursor:not-allowed;transform:none}.conversation-form .form-button.delete,.modal-actions .form-button.delete,.confirm-actions .form-button.delete{background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border:2px solid transparent;box-shadow:0 4px 12px #dc35454d}.conversation-form .form-button.delete:hover,.modal-actions .form-button.delete:hover,.confirm-actions .form-button.delete:hover{transform:translateY(-2px);box-shadow:0 6px 20px #dc354566}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--background-color);padding:2rem;width:100%}.auth-content{background:var(--chat-panel-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);padding:3rem 2.5rem;max-width:600px;width:100%;min-height:400px;display:flex;flex-direction:column;justify-content:center;text-align:center;border:2px solid #e5e7eb}.auth-icon{font-size:6rem;margin-bottom:1.5rem;filter:drop-shadow(2px 4px 6px rgba(0,0,0,.1))}.auth-title{font-size:1.8rem;color:#1f2937;margin-bottom:1rem;font-weight:700}.auth-message{color:#4b5563;font-size:1.05rem;line-height:1.6;margin-bottom:.75rem}.auth-submessage{color:#6b7280;font-size:.95rem;line-height:1.6;margin-bottom:2rem}.auth-button{background-color:var(--button-start-bg);color:#fff;border:none;padding:.9rem 2.5rem;font-size:1.05rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.auth-button:hover{background-color:#45a049;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.auth-button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem}.loading-spinner{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:var(--button-start-bg);border-radius:50%;animation:spin 1s linear infinite}.auth-loading p{color:#4b5563;font-size:1.05rem;margin:0;font-weight:500}.form-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:10}.form-tab{flex:1;padding:14px 20px;background:transparent;border:none;border-bottom:3px solid transparent;color:#6b7280;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;bottom:-2px}.form-tab:hover{color:#4caf50;background:#4caf500d}.form-tab.active{color:#4caf50;border-bottom-color:#4caf50;background:#4caf5014}.form-tab .tab-icon{font-size:1.2rem}.form-tab .tab-text{display:inline}.tab-button{flex:1;padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;font-size:1rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.tab-button:hover:not(:disabled){color:#3b82f6;background:#f3f4f6}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;background:#eff6ff}.tab-button:disabled{color:#d1d5db;cursor:not-allowed;opacity:.5}.media-tab-content{padding:0}.media-items-list{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.media-item{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:16px;transition:all .2s ease;display:flex;flex-direction:column}.media-item:hover{border-color:#3b82f6;box-shadow:0 2px 8px #3b82f61a}.media-item-header{display:flex;align-items:center;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f3f4f6;cursor:grab}.media-item-header:active{cursor:grabbing}.drag-handle{font-size:1.2rem;color:#9ca3af;cursor:grab;-webkit-user-select:none;user-select:none}.media-label{flex:1;font-weight:600;color:#374151}.media-item-fields{display:flex;flex-direction:column;gap:12px}.media-item-content{display:flex;gap:20px;align-items:stretch}.media-item-left{flex:0 0 300px;display:flex;flex-direction:column;position:relative}.media-item-right{flex:1;display:flex;flex-direction:column;gap:12px}.drag-drop-area{border:2px dashed #d1d5db;border-radius:8px;background:#f9fafb;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;height:200px}.drag-drop-area:hover{border-color:#3b82f6;background:#eff6ff}.drag-drop-area.drag-over{border-color:#3b82f6;background:#dbeafe;border-style:solid}.drag-drop-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;width:100%;height:100%;cursor:pointer;text-align:center}.drag-drop-icon{font-size:3rem;opacity:.6}.drag-drop-text{display:flex;flex-direction:column;gap:4px}.drag-drop-text strong{font-size:1rem;color:#374151;font-weight:600}.drag-drop-text span{font-size:.875rem;color:#6b7280}.file-preview-full{width:100%;height:100%;position:relative;cursor:pointer;border-radius:8px;overflow:hidden;background:#000;min-height:200px}.image-preview{width:100%;height:100%;object-fit:contain;display:block}.preview-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.7),transparent);padding:12px;opacity:0;transition:opacity .3s ease}.file-preview-full:hover .preview-overlay{opacity:1}.preview-hint{color:#fff;font-size:.875rem;font-weight:500}.audio-preview-full{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;min-height:200px}.audio-player-full{width:100%}.audio-info{color:#6b7280;font-size:.875rem;font-weight:500}.fullscreen-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.fullscreen-content{position:relative;max-width:95vw;max-height:95vh;display:flex;align-items:center;justify-content:center}.fullscreen-image{max-width:100%;max-height:95vh;object-fit:contain;border-radius:4px}.fullscreen-close{position:absolute;top:-50px;right:0;background:#ffffffe6;border:none;width:40px;height:40px;border-radius:50%;font-size:2rem;line-height:1;cursor:pointer;color:#374151;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.fullscreen-close:hover{background:#fff;transform:scale(1.1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.media-url-input,.media-description-input,.media-transcript-input{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;font-family:inherit}.media-url-input:focus,.media-description-input:focus,.media-transcript-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.media-description-input{min-height:80px;resize:vertical}.media-description-input--missing{border-color:#f59e0b!important;background:#fffbeb}.media-description-warning{margin:6px 0 0;padding:0;font-size:.8125rem;line-height:1.35;color:#b45309}.transcript-toolbar{display:flex;justify-content:flex-end;margin:4px 0 6px}.format-transcript-button{padding:8px 12px;background:#f0f9ff;color:#0369a1;border:1px solid #bae6fd;border-radius:6px;font-weight:600;font-size:.8125rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.format-transcript-button:hover:not(:disabled){background:#e0f2fe;border-color:#7dd3fc}.format-transcript-button:disabled{opacity:.5;cursor:not-allowed}.media-transcript-status{margin:6px 0 0;font-size:.8125rem;line-height:1.35}.media-transcript-status--error{color:#b91c1c}.media-transcript-status--info{color:#0369a1}.media-transcript-input{min-height:100px;resize:vertical;font-family:monospace;font-size:.9rem}.youtube-input-group{display:flex;gap:8px}.fetch-transcript-button{padding:10px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;white-space:nowrap;transition:all .2s ease}.fetch-transcript-button:hover:not(:disabled){background:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.fetch-transcript-button:disabled{background:#9ca3af;cursor:not-allowed}.audio-buttons-group{display:flex;gap:12px;width:100%}.audio-buttons-group .add-media-button{flex:1}.add-media-button{width:100%;padding:12px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.add-media-button.record-button{background:linear-gradient(135deg,#ef4444,#dc2626)}.add-media-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3b82f666}.add-media-button.record-button:hover{box-shadow:0 6px 20px #ef444466}.remove-button{flex:0 0 32px;width:32px;height:32px;padding:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:700;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}.stimulus-editor{padding:0}.stimulus-editor .section-heading{font-size:1.1rem;color:#1e3a8a;margin:0 0 8px;font-weight:700}.stimulus-editor .section-description{color:#64748b;font-size:.9rem;margin-bottom:16px}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer}.checkbox-text{font-weight:500;color:#374151}.media-section-title{font-size:1rem;font-weight:600;color:#374151;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #e5e7eb}.video-description{margin:12px 0;padding:12px;background:#f9fafb;border-left:4px solid #3b82f6;border-radius:4px;color:#374151;font-size:.95rem;line-height:1.6}.no-media-message{padding:40px 20px;text-align:center;color:#9ca3af;font-style:italic}.media-missing{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;color:#78350f;font-size:.92rem;line-height:1.5}.media-missing-icon{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#f59e0b;color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}.media-missing div{display:flex;flex-direction:column;gap:2px;min-width:0}.media-missing span:not(.media-missing-icon){color:#92400e}.conversation-form .form-group input.error,.conversation-form .form-group select.error,.conversation-form .form-group textarea.error{border-color:#dc3545;background-color:#fff5f5;animation:shake .3s ease}.conversation-form .error-message{color:#dc3545;font-size:.85rem;margin-top:-2px;font-weight:500;display:flex;align-items:center;gap:6px}.conversation-form .error-message:before{content:"⚠️";font-size:.9rem}.conversation-form .field-hint{font-size:.85rem;color:#6b7280;font-style:normal;margin-top:-2px;line-height:1.4}.library-modal{width:900px;max-width:95vw;max-height:90vh}.library-modal .modal-header{background:linear-gradient(135deg,#4caf50,#2196f3);color:#fff;padding:24px 30px;border-bottom:none}.library-modal .modal-header h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0;display:flex;align-items:center;gap:12px}.library-modal .modal-header h2:before{display:none}.library-modal .close-button{color:#fff;opacity:.9}.library-modal .close-button:hover{opacity:1;background-color:#fff3}.library-tabs{display:flex;background:#fff;border-bottom:2px solid #e5e7eb;box-shadow:0 2px 4px #0000000a}.library-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;background:#fff;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .2s ease;font-size:.95rem;font-weight:500;color:#64748b;position:relative}.library-tab:hover:not(:disabled){background:#f8fafc;color:#334155}.library-tab.active{color:#4caf50;font-weight:700;border-bottom-color:#4caf50;background:linear-gradient(to bottom,#f0fdf4,#fff)}.library-tab:disabled{opacity:.5;cursor:not-allowed}.tab-icon{font-size:1.2rem}.tab-label{font-size:.95rem}.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:#e5e7eb;color:#64748b;border-radius:12px;font-size:.85rem;font-weight:700;transition:all .2s ease}.library-tab.active .tab-count{background:#4caf50;color:#fff}.tab-badge{position:absolute;top:8px;right:8px;padding:2px 6px;background:#fbbf24;color:#fff;border-radius:6px;font-size:.7rem;font-weight:700;text-transform:uppercase}.library-modal .modal-content{padding:30px;overflow-y:auto}.library-controls{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px;padding:20px;background:linear-gradient(135deg,#4caf500d,#2196f30d);border-radius:12px;border:2px solid rgba(76,175,80,.1)}.publisher-type-nav{flex-basis:100%;width:100%;margin-bottom:8px;margin-top:0;order:-2;padding:8px 10px;background:#0c4a6e08;border-radius:8px;border:1px solid rgba(12,74,110,.08)}.publisher-type-nav .publisher-library-nav-label{margin-bottom:6px;font-size:.8125rem;font-weight:600;color:#475569}.publisher-type-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.publisher-type-pill{flex:0 0 auto;padding:5px 12px;font-size:.8125rem;font-weight:500;border:1px solid #d1d5db;border-radius:16px;background:#fff;color:#475569;cursor:pointer;transition:border-color .2s,background .2s,color .2s;white-space:nowrap}.publisher-type-pill:hover{border-color:#4a90a4;background:#f0f9ff;color:#0c4a6e}.publisher-type-pill.active{border-color:#0c4a6e;background:#0c4a6e;color:#fff}.publisher-type-pill:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #38bdf8}.publisher-library-nav{flex-basis:100%;width:100%;margin-bottom:4px;margin-top:0;order:-1;padding:8px 10px;background:#0c4a6e0a;border-radius:8px;border:1px solid rgba(12,74,110,.1)}.publisher-library-nav .publisher-library-nav-label{margin:0 0 6px;font-size:.8125rem;font-weight:600;color:#1e293b}.publisher-library-tabs{display:flex;flex-wrap:wrap;gap:6px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.publisher-library-tabs::-webkit-scrollbar{height:6px}.publisher-library-tabs::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.publisher-library-tabs::-webkit-scrollbar-thumb:hover{background:#94a3b8}.publisher-library-pill{flex:0 0 auto;padding:5px 12px;font-size:.8125rem;font-weight:500;border:1px solid #d1d5db;border-radius:16px;background:#fff;color:#475569;cursor:pointer;transition:border-color .2s,background .2s,color .2s,box-shadow .2s;white-space:nowrap}.publisher-library-pill:hover{border-color:#4a90a4;background:#f0f9ff;color:#0c4a6e}.publisher-library-pill:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #0ea5e9}.publisher-library-pill.active{border-color:#0c4a6e;background:#0c4a6e;color:#fff}.publisher-library-pill.active:hover{background:#075985;color:#fff}.publisher-library-pill.active:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #0c4a6e}.search-container{flex:1;max-width:400px;position:relative}.search-input{width:100%;padding:12px 16px 12px 42px;border:2px solid #e5e7eb;border-radius:10px;font-size:.95rem;font-family:var(--font-family);background:#fff;transition:all .2s ease}.search-input:hover{border-color:#cbd5e0}.search-input:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf5014;transform:translateY(-1px)}.search-input::placeholder{color:#9ca3af}.sort-container{display:flex;align-items:center;gap:10px;flex-shrink:0}.sort-container label{font-weight:600;color:#2c3e50;font-size:.9rem;white-space:nowrap}.sort-container select{padding:10px 36px 10px 14px;border:2px solid #e5e7eb;border-radius:10px;font-size:.9rem;font-family:var(--font-family);font-weight:500;color:#374151;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer;transition:all .2s ease;min-width:150px}.sort-container select:hover{border-color:#cbd5e0;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234caf50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e")}.sort-container select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf5014;transform:translateY(-1px);background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234caf50' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6,9 12,15 18,9'%3e%3c/polyline%3e%3c/svg%3e")}.sort-order-button{width:38px;height:38px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;color:#4caf50;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sort-order-button:hover{background:linear-gradient(135deg,#4caf50,#2196f3);border-color:#4caf50;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.sort-order-button:active{transform:translateY(0)}.empty-state{text-align:center;padding:40px 20px;color:#6c757d}.empty-state p{margin:10px 0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:300px}.loading-state p{font-size:1.1rem;color:#6c757d;margin:20px 0;animation:pulse 1.5s ease-in-out infinite}.conversation-list{gap:20px;padding:4px}.library-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 6px #0000000f;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;gap:12px;border:2px solid #e5e7eb;position:relative;overflow:hidden;min-height:200px}.library-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--button-start-bg);opacity:0;transition:opacity .3s ease}.library-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4caf501f;border-color:var(--button-start-bg)}.library-card:hover:before{opacity:1}.library-card-teacher{border-radius:1rem;padding:0;min-height:200px}.library-card-teacher:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.library-card-teacher:before{display:none}.library-card-accent{position:absolute;top:0;left:0;right:0;height:1px;background:#38bdf8}.library-card-accent[data-mode=reading-practice]{background:#fbbf24}.library-card-body{padding:24px;display:flex;flex-direction:column;flex-grow:1;gap:12px}.library-card-teacher .card-mode-badge[data-mode=reading-practice]{background:#fffbeb;color:#b45309;border-color:#fde68a}.library-card-teacher .card-mode-badge[data-mode=conversation]{background:#f0f9ff;color:#0369a1;border-color:#bae6fd}.card-mode-icon,.card-link-icon{width:1rem;height:1rem;flex-shrink:0}.meta-svg{width:.875rem;height:.875rem;flex-shrink:0}.library-card-teacher .library-card-title{color:#1e293b}.library-card-teacher .meta-item{background:#f8fafc;color:#475569;border-color:#e2e8f0;border-radius:.5rem}.library-card-footer-teacher{display:flex;align-items:center;gap:12px;padding:12px 24px;background:#f8fafc;border-top:1px solid #e2e8f0;margin:0 -24px -24px}.btn-load-circle{width:36px;height:36px;border-radius:50%;border:none;background:#10b981;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .2s ease,box-shadow .2s ease}.btn-load-circle:hover{transform:scale(1.05);box-shadow:0 4px 12px #10b98166}.btn-load-icon{width:1rem;height:1rem;margin-left:2px}.library-card-footer-divider{width:1px;height:24px;background:#e2e8f0;flex-shrink:0}.library-card-footer-actions{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.btn-card-action{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;border:none;background:transparent;color:#64748b;cursor:pointer;border-radius:6px;transition:color .2s ease,background .2s ease}.card-action-icon{width:1.125rem;height:1.125rem}.card-action-label{font-size:9px;font-weight:500;line-height:1.2}.btn-card-assign:hover{color:#2563eb;background:#eff6ff}.btn-card-edit:hover{color:#4f46e5;background:#eef2ff}.btn-card-copy:hover{color:#7c3aed;background:#f5f3ff}.btn-card-delete:hover{color:#dc2626;background:#fef2f2}.btn-card-share:hover{color:#0d9488;background:#f0fdfa}.library-card-header{display:flex;justify-content:space-between;align-items:center}.card-mode-badge{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:12px;display:inline-flex;align-items:center;gap:4px}.card-mode-badge[data-mode=reading-practice]{background:var(--bear-bubble-bg);color:#92400e;border:1.5px solid #fde047}.card-mode-badge[data-mode=conversation]{background:var(--user-bubble-bg);color:#075985;border:1.5px solid #7dd3fc}.card-link-button{width:30px;height:30px;border-radius:50%;border:none;background:#f3f4f6;color:#6b7280;font-size:.95rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.card-link-button:hover{background:var(--button-start-bg);color:#fff;transform:scale(1.05)}.library-card-teacher .card-link-button:hover{background:#2563eb;color:#fff}.library-card-title{font-size:1.1rem;font-weight:700;color:#1f2937;margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;min-height:2.8rem}.library-card-meta{display:flex;gap:6px;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:3px;font-size:.7rem;font-weight:500;color:#6b7280;padding:3px 8px;background:#f9fafb;border-radius:5px;border:1px solid #e5e7eb}.meta-icon{font-size:.85rem}.library-card-description{font-size:.85rem;color:#6b7280;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.library-card-footer{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid #f3f4f6}.library-card-teacher .library-card-footer{padding:0;border-top:none;gap:0}.primary-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.btn-library-primary,.btn-library-quick{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border:none;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 4px #00000014}.btn-library-primary{background:var(--button-start-bg);color:#fff}.btn-library-primary:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 3px 8px #4caf5040}.btn-library-quick{background:#64b5f6;color:#fff;padding:8px 12px}.btn-library-quick:hover{background:#42a5f5;transform:translateY(-1px);box-shadow:0 3px 8px #64b5f640}.secondary-actions{display:flex;gap:6px;flex-wrap:wrap}.btn-library-secondary{flex:1;min-width:fit-content;display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 12px;background:#fff;border:1.5px solid #e5e7eb;border-radius:6px;font-size:.8rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.btn-library-secondary:hover{border-color:var(--button-start-bg);color:var(--button-start-bg);background:var(--bear-panel-bg)}.btn-library-delete{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 12px;background:#fff;border:1.5px solid #fee2e2;border-radius:6px;font-size:.8rem;font-weight:600;color:#dc2626;cursor:pointer;transition:all .2s ease}.btn-library-delete:hover{border-color:#dc2626;background:#fef2f2}.btn-icon{font-size:1.1rem;line-height:1}.btn-library-report{display:flex;align-items:center;justify-content:center;gap:5px;padding:7px 12px;background:#fff;border:1.5px solid #fef3c7;border-radius:6px;font-size:.8rem;font-weight:600;color:#d97706;cursor:pointer;transition:all .2s ease}.btn-library-report:hover{border-color:#d97706;background:#fffbeb}.library-card-owner{display:flex;align-items:center;gap:6px;margin-top:8px;padding:6px 12px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:8px;font-size:.85rem}.owner-icon{font-size:1rem}.owner-name{color:#0369a1;font-weight:600}.library-card-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:0}.library-card-badges:not(:empty){margin-top:8px;margin-bottom:4px}.library-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:8px;border-top:1px solid #f3f4f6}.tag-badge,.card-tag{display:inline-block;padding:4px 10px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:12px;font-size:.75rem;font-weight:500;color:#6b7280;white-space:nowrap}.library-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid #f3f4f6;justify-content:center}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:0;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:1.2rem;cursor:pointer;transition:all .2s ease;flex-shrink:0}.btn-icon:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-2px) scale(1.05);box-shadow:0 4px 12px #00000026}.btn-icon:active{transform:translateY(0) scale(1)}.btn-action{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 14px;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;min-height:36px}.btn-action:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 3px 8px #0000001a}.btn-action:active{transform:translateY(0)}.btn-icon.btn-load{background:linear-gradient(135deg,#4ade80,#22c55e);border-color:#22c55e;color:#fff;box-shadow:0 2px 6px #22c55e33;width:40px;height:40px}.btn-icon.btn-load:hover{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#16a34a;box-shadow:0 4px 12px #22c55e4d}.btn-icon.btn-assign,.btn-icon.btn-edit,.btn-icon.btn-duplicate,.btn-icon.btn-share{background:#fff;border-color:#d1d5db;width:40px;height:40px}.btn-icon.btn-assign:hover,.btn-icon.btn-edit:hover,.btn-icon.btn-duplicate:hover,.btn-icon.btn-share:hover{background:#f9fafb;border-color:#9ca3af}.btn-icon.btn-delete{background:#fff;border-color:#fca5a5}.btn-icon.btn-delete:hover{background:#fee2e2;border-color:#ef4444}.btn-action.btn-load,.btn-load{background:linear-gradient(135deg,#4ade80,#22c55e);border-color:#22c55e;color:#fff;font-weight:700;box-shadow:0 2px 6px #22c55e33}.btn-action.btn-load:hover,.btn-load:hover{background:linear-gradient(135deg,#22c55e,#16a34a);border-color:#16a34a;box-shadow:0 4px 10px #22c55e4d}.btn-action.btn-assign,.btn-action.btn-edit,.btn-action.btn-duplicate,.btn-action.btn-share,.btn-assign,.btn-edit,.btn-duplicate,.btn-share{background:#fff;border-color:#d1d5db;color:#374151}.btn-action.btn-assign:hover,.btn-action.btn-edit:hover,.btn-action.btn-duplicate:hover,.btn-action.btn-share:hover,.btn-assign:hover,.btn-edit:hover,.btn-duplicate:hover,.btn-share:hover{background:#f9fafb;border-color:#9ca3af;color:#1f2937}.btn-action.btn-delete,.btn-delete{background:#fff;border-color:#fca5a5;color:#dc2626}.btn-action.btn-delete:hover,.btn-delete:hover{background:#fee2e2;border-color:#ef4444;color:#b91c1c}.btn-report{background:#fff;border-color:#d1d5db;color:#6b7280}.btn-report:hover{background:#f9fafb;border-color:#9ca3af;color:#4b5563}.badge-shared,.badge-publisher,.badge-duplicates,.badge-owner{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;line-height:1}.badge-teachers{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #93c5fd}.badge-students{background:linear-gradient(135deg,#dcfce7,#bbf7d0);color:#166534;border:1px solid #86efac}.badge-school{background:linear-gradient(135deg,#fae8ff,#f3e8ff);color:#6b21a8;border:1px solid #e9d5ff}.badge-publisher{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fcd34d}.badge-duplicates{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);color:#3730a3;border:1px solid #a5b4fc}.badge-owner{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;border:1px solid #d1d5db}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;border:1px solid;transition:all .2s ease}.badge-feedback{background:linear-gradient(135deg,#f3e8ff,#e9d5ff);border-color:#a855f7;color:#6b21a8}.badge-feedback-new{box-shadow:0 0 0 2px #a855f726}.feedback-modal .modal-body{display:flex;flex-direction:column;gap:12px}.feedback-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px;color:#111827;line-height:1.5;white-space:pre-wrap}.btn-view-feedback,.btn-list-feedback{background:#f3e8ff;color:#6b21a8;border:1px solid #c4b5fd;border-radius:8px;padding:8px 12px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-view-feedback:hover,.btn-list-feedback:hover{background:#e9d5ff;border-color:#a855f7}.badge-teachers{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;color:#1e40af}.badge-students{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#22c55e;color:#166534}.badge-school{background:linear-gradient(135deg,#e9d5ff,#d8b4fe);border-color:#a855f7;color:#6b21a8}.badge-publisher{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#fbbf24;color:#92400e}.badge-duplicates{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-color:#9ca3af;color:#374151}.library-card-timestamp{font-size:.8rem;color:#9ca3af;text-align:center;padding-top:8px;border-top:1px solid #f3f4f6}.library-empty-state{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 32px;text-align:center;background:linear-gradient(135deg,#4caf5008,#2196f308);border-radius:16px;border:2px dashed rgba(76,175,80,.2)}.library-empty-state .empty-icon{font-size:4.5rem;margin-bottom:20px;opacity:.6;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.library-empty-state h3{font-size:1.5rem;color:#2c3e50;margin:0 0 12px;font-weight:700}.library-empty-state p{font-size:1rem;color:#6b7280;margin:0;line-height:1.6}.confirm-dialog{max-width:500px}.assignment-completion-modal{max-width:600px;animation:modalSlideIn .3s ease}.assignment-completion-modal .modal-header{background:linear-gradient(135deg,#2e7d6e,#3d9a88);color:#fff;padding:24px 28px;border-radius:16px 16px 0 0}.assignment-completion-modal .modal-header h2{margin:0;font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:12px;font-family:var(--font-family);color:#fff}.completion-modal-body{padding:32px 24px;font-family:var(--font-family)}.assignment-info{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.assignment-info h3{margin:0 0 16px;color:#1f2937;font-size:1.25rem;font-family:var(--font-family)}.attempts-info{font-size:1.05rem;color:#4b5563;margin:0;font-family:var(--font-family)}.attempts-info strong{color:var(--button-start-bg, #2e7d6e);font-weight:700}.attempts-remaining{color:#2e7d6e;font-weight:600}.completion-question-text{font-size:1.05rem;font-weight:600;color:#1f2937;text-align:center;margin:0 0 10px;line-height:1.45;font-family:var(--font-family)}.completion-hint-text{font-size:.95rem;color:#6b7280;text-align:center;margin:0 0 28px;line-height:1.5;font-family:var(--font-family)}.completion-actions{display:flex;gap:12px;justify-content:stretch;align-items:stretch}.btn-completion-hand-in,.btn-completion-retry{padding:14px 18px;border-radius:12px;font-size:.92rem;font-weight:600;line-height:1.35;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 0;min-width:0;max-width:none;text-align:center}.btn-completion-hand-in{background:#fff;color:#4b5563;border:2px solid #d1d5db}.btn-completion-hand-in:hover{background:#f9fafb;border-color:#9ca3af;color:#374151;transform:translateY(-1px);box-shadow:0 4px 12px #0000000f}.btn-completion-retry{background:linear-gradient(135deg,#2e7d6e,#3d9a88);color:#fff;border:2px solid transparent}.btn-completion-retry:hover{transform:translateY(-1px);box-shadow:0 6px 20px #2e7d6e59}.btn-try-again,.btn-complete{padding:14px 18px;border-radius:12px;font-size:.92rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;flex:1 1 0;justify-content:center;max-width:none}.btn-try-again{background:#fff;color:#4a90a4;border:2px solid #4a90a4}.btn-try-again:hover{background:#f0f8ff;transform:translateY(-2px);box-shadow:0 4px 12px #4a90a433}.btn-complete{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:2px solid transparent}.btn-complete:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4caf5066}.btn-try-again span,.btn-complete span{font-size:1.2rem}@media (max-width: 768px){.assignment-completion-modal{max-width:90%}.completion-modal-body{padding:24px 20px}.completion-actions{flex-direction:column-reverse}.btn-completion-hand-in,.btn-completion-retry,.btn-try-again,.btn-complete{max-width:100%}}.conversation-scores-modal{max-width:min(820px,95vw);width:95vw;animation:modalSlideIn .3s ease}.conversation-scores-modal.score-breakdown-modal{max-width:min(720px,95vw)}.conversation-scores-modal.conversation-feedback-modal{max-width:min(820px,95vw);width:95vw}.conversation-scores-modal.conversation-feedback-modal .modal-header{padding:12px 16px}.conversation-scores-modal.conversation-feedback-modal .modal-header h2{font-size:1.15rem}.conversation-scores-modal .modal-header{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#4a90a4,#3d7a8c);color:#fff;padding:20px 24px;border-radius:16px 16px 0 0}.conversation-scores-modal .modal-header h2{margin:0;font-size:1.35rem}.conversation-scores-modal .modal-close{background:#fff3;border:none;color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background .2s}.conversation-scores-modal .modal-close:hover{background:#ffffff4d}.conversation-scores-modal .modal-content{padding:24px}.conversation-feedback-modal .modal-content{padding:16px 20px;display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.conversation-feedback-modal .conversation-feedback-tab-panels{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;box-sizing:border-box}.conversation-feedback-modal .conversation-feedback-tab-panels .reading-feedback-score-content,.conversation-feedback-modal .conversation-feedback-tab-panels .reading-feedback-transcript-content{min-height:0;max-height:none;overflow-y:visible}.conversation-feedback-modal .conversation-feedback-tab-panels .conversation-feedback-listen-transcript{max-height:none;overflow-y:visible;scroll-behavior:auto}.conversation-feedback-meta{display:block;margin-bottom:10px;font-size:.9rem;color:#555;text-align:center}.conversation-feedback-modal .conversation-feedback-meta{flex-shrink:0}.conversation-feedback-meta .conversation-feedback-student{color:#6b7280;font-size:.85rem}.conversation-feedback-modal .scores-assignment-name{margin:0;font-size:.9rem}.conversation-feedback-modal .conversation-feedback-student{margin:0;font-size:.85rem;color:#6b7280}.scores-assignment-name{font-size:.95rem;color:#666;margin:0 0 20px;text-align:center}.scores-loading{text-align:center;padding:40px 20px}.scores-loading .loading-spinner{width:48px;height:48px;border:4px solid #e5e7eb;border-top-color:#4a90a4;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}.scores-loading-hint{font-size:.9rem;color:#888;margin-top:8px}.session-ended-loading{text-align:left;padding:36px 28px;max-width:380px;margin:0 auto;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 1px 2px #0000000a}.session-ended-loading-headline{font-size:1.35rem;font-weight:700;color:#0f172a;margin:0 0 10px;letter-spacing:-.02em;line-height:1.3;text-align:center}.session-ended-loading-tip{font-size:.95rem;color:#475569;line-height:1.5;margin:0 auto 24px;max-width:320px;text-align:center}.session-ended-steps{list-style:none;margin:0;padding:0}.session-ended-step{display:flex;align-items:center;gap:12px;padding:10px 0;font-size:.95rem;color:#64748b;transition:color .25s ease}.session-ended-step.done{color:#0f172a}.session-ended-step.done .session-ended-step-icon{color:#16a34a;font-weight:700}.session-ended-step.active{color:#0f172a;font-weight:500}.session-ended-step.pending .session-ended-step-label{color:#94a3b8}.session-ended-step.pending .session-ended-step-icon{color:#cbd5e1}.session-ended-step-icon{flex-shrink:0;width:24px;text-align:center;font-size:1rem}.session-ended-step-dots{display:inline-flex;align-items:center;justify-content:center;gap:4px}.session-ended-dot{width:5px;height:5px;border-radius:50%;background:#0ea5e9;animation:session-ended-dot-bounce 1.2s ease-in-out infinite}.session-ended-dot:nth-child(1){animation-delay:0s}.session-ended-dot:nth-child(2){animation-delay:.15s}.session-ended-dot:nth-child(3){animation-delay:.3s}@keyframes session-ended-dot-bounce{0%,60%,to{transform:translateY(0);opacity:.6}30%{transform:translateY(-4px);opacity:1}}.scores-error{text-align:center;padding:24px;color:#c62828}.scores-error .scores-error-title{font-weight:700;font-size:1.1rem;margin:0 0 12px}.scores-error .btn-primary{margin-top:16px}.scores-display{margin-bottom:24px}.conversation-feedback-modal .scores-display,.conversation-score-summary{margin-bottom:12px}.conversation-score-summary-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;min-width:0}.conversation-score-summary-title{margin:0;font-size:1.05rem;font-weight:700;color:#1e3a5f;line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-score-summary-title-spacer{flex:1;min-width:0}.conversation-score-overall-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0}.conversation-score-overall-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #93c5fd;color:#1d4ed8;font-weight:700;font-size:.875rem;line-height:1;white-space:nowrap}.conversation-score-overall-badge-prefix{font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#3b82f6}.conversation-score-overall-badge-icon{font-size:.85rem;opacity:.9}.conversation-score-overall-badge-value{font-size:.95rem;font-weight:800;color:#1e40af}.conversation-score-dimensions-section{margin-top:4px}.conversation-score-dimensions-panel{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:4px 8px;padding:14px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px #0f172a0a}.conversation-score-dimension{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:2px 0}.conversation-score-dimension-circle{width:52px;height:52px;border-radius:50%;border:2px solid #4a90a4;background:#f8fafc;color:#265a68;font-weight:700;font-size:clamp(.75rem,2.2vw,1rem);line-height:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:4px;box-sizing:border-box}.conversation-score-dimension-circle--readonly{-webkit-user-select:none;user-select:none}button.conversation-score-dimension-circle{cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .1s ease}button.conversation-score-dimension-circle:hover:not(:disabled){background:#e0f2fe;border-color:#3d7a8c;box-shadow:0 2px 6px #4a90a433}button.conversation-score-dimension-circle:focus-visible{outline:none;box-shadow:0 0 0 3px #4a90a459}.conversation-score-dimension-circle--editing{background:#e0f2fe;border-color:#3d7a8c;box-shadow:0 0 0 2px #4a90a440}.conversation-score-dimension-label{font-size:.62rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:#6b7280;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-score-dimension-editor{position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);z-index:8;min-width:108px;padding:10px;background:#fff;border:1px solid #d1d5db;border-radius:10px;box-shadow:0 8px 24px #0f172a24}.conversation-score-dimension-editor-label{display:block;margin-bottom:6px;font-size:.72rem;font-weight:600;color:#374151;text-transform:uppercase;letter-spacing:.03em}.conversation-score-dimension-editor .sub-score-input,.conversation-score-dimension-editor select.sub-score-input{width:100%;min-width:96px;box-sizing:border-box}.conversation-feedback-modal .conversation-feedback-overall-context{margin:0 0 8px;text-align:left}.conversation-feedback-modal .conversation-feedback-overall-editor{margin-bottom:10px}.conversation-feedback-modal .score-breakdown-helper{margin:0 0 8px}@media (max-width: 640px){.conversation-score-dimensions-panel{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 8px}.conversation-score-dimension-circle{width:48px;height:48px}.conversation-score-summary-title{font-size:.95rem}.conversation-score-overall-badge{padding:5px 10px;font-size:.8125rem}}@media (max-width: 400px){.conversation-score-dimensions-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}.score-main{display:flex;flex-direction:column;align-items:center;padding:24px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:12px;margin-bottom:20px}.conversation-feedback-modal .score-main{padding:12px 16px;margin-bottom:10px;border-radius:8px}.conversation-feedback-modal .score-main .score-label{font-size:.85rem;margin-bottom:2px}.conversation-feedback-modal .score-main .score-value{font-size:1.4rem}.conversation-feedback-modal .score-main.score-main--teacher-overall{padding-bottom:14px}.conversation-feedback-modal .score-main-hero-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.conversation-feedback-modal .conversation-feedback-overall-edit-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid rgba(74,144,164,.35);border-radius:10px;background:#ffffffe0;color:#3b7a8c;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.conversation-feedback-modal .conversation-feedback-overall-edit-btn:hover:not(:disabled){background:#fff;border-color:#4a90a4;color:#265a68;box-shadow:0 1px 3px #0f172a14}.conversation-feedback-modal .conversation-feedback-overall-edit-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4a90a459}.conversation-feedback-modal .conversation-feedback-overall-edit-btn:disabled{opacity:.45;cursor:not-allowed}.conversation-feedback-modal .conversation-feedback-overall-edit-btn[aria-expanded=true]{background:#e0f2fe;border-color:#4a90a4;color:#265a68}.conversation-feedback-modal .conversation-feedback-overall-context{font-size:.75rem;color:#64748b;text-align:center;line-height:1.35;max-width:22rem;margin:8px auto 0}.conversation-feedback-modal .conversation-feedback-overall-notes{margin-top:10px}.conversation-feedback-modal .conversation-feedback-score-method-note{max-width:34rem;margin:0 auto;padding:8px 12px;border:1px solid #f0c36b;border-radius:8px;background:#fff8e6;color:#7a5410;font-size:.78rem;line-height:1.4;text-align:center}.conversation-feedback-modal .conversation-feedback-overall-editor{width:100%;margin-top:14px;padding-top:14px;border-top:1px solid rgba(74,144,164,.22);text-align:left}.conversation-feedback-modal .conversation-feedback-overall-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.conversation-feedback-modal .conversation-feedback-overall-editor-hint{margin:0;flex:1;min-width:0;font-size:.78rem;color:#64748b;line-height:1.4}.conversation-feedback-modal .conversation-feedback-overall-close-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid rgba(74,144,164,.35);border-radius:10px;background:#ffffffe0;color:#3b7a8c;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.conversation-feedback-modal .conversation-feedback-overall-close-btn:hover:not(:disabled){background:#ecfdf5;border-color:#34d399;color:#047857;box-shadow:0 1px 3px #0f172a14}.conversation-feedback-modal .conversation-feedback-overall-close-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #34d39973}.conversation-feedback-modal .conversation-feedback-overall-close-btn:disabled{opacity:.45;cursor:not-allowed}.conversation-feedback-modal .conversation-feedback-overall-score-field{margin:0 0 6px}.conversation-feedback-modal .conversation-feedback-overall-score-input{width:100%;max-width:100%}.score-main .score-label{font-size:.95rem;color:#555;margin-bottom:8px}.score-main .score-value{font-size:1.75rem;font-weight:700;color:#4a90a4}.score-breakdown{padding-top:16px;border-top:1px solid #e5e7eb}.conversation-feedback-modal .score-breakdown{padding-top:10px;border-top:1px solid #e5e7eb}.score-breakdown h4{margin:0 0 12px;font-size:1rem;color:#555}.conversation-feedback-modal .score-breakdown h4{margin:0 0 6px;font-size:.9rem}.sub-score-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f3f4f6}.conversation-feedback-modal .sub-score-row{padding:4px 0}.sub-score-row:last-child{border-bottom:none}.sub-score-label{font-size:.9rem;color:#666}.sub-score-value{font-size:.95rem;font-weight:600;color:#333}.score-breakdown-helper{margin:0 0 10px;font-size:.85rem;color:#6b7280}.conversation-feedback-modal .score-breakdown-helper{margin:0 0 6px;font-size:.8rem}.sub-score-row-editable{align-items:center;gap:12px}.sub-score-row-editable .sub-score-label{flex:0 0 auto;margin:0}.sub-score-input{width:72px;padding:6px 8px;font-size:.9rem;border:1px solid #d1d5db;border-radius:6px;text-align:center}.sub-score-input:focus{outline:none;border-color:#4a90a4;box-shadow:0 0 0 2px #4a90a433}.conversation-feedback-modal .sub-score-row-editable select.sub-score-input{width:auto;min-width:7.5rem;max-width:100%;text-align:left}.conversation-feedback-tab-feedback h4{margin:0 0 8px;font-size:1rem;font-weight:600;color:#374151}.conversation-feedback-tab-listen>.edit-score-helper:first-of-type{margin-top:0}.conversation-feedback-listen-status{margin:8px 0 0;font-size:.9rem}.conversation-feedback-textarea{width:100%;min-height:200px;resize:vertical;line-height:1.5;margin-top:8px;box-sizing:border-box}.conversation-feedback-listen-player{margin-bottom:4px}.conversation-feedback-full-play-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 0}.conversation-feedback-listen-icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:1.15rem;line-height:1;cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .15s ease;border:1.5px solid #d1d5db;background:#fff;color:#374151}.conversation-feedback-listen-icon-btn:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.conversation-feedback-listen-icon-btn:active:not(:disabled){transform:scale(.96)}.conversation-feedback-listen-icon-btn:disabled{opacity:.45;cursor:not-allowed}.conversation-feedback-listen-icon-btn--primary{border-color:#4a90a4;background:linear-gradient(135deg,#f0f7f9,#e8f4f7);color:#2d5a66}.conversation-feedback-listen-icon-btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#e2f0f4,#d8ebf0);border-color:#3d7a8c}.conversation-feedback-listen-icon-btn--stop{border-color:#e5e7eb}.conversation-feedback-listen-progress-block{margin:12px 0 8px}.conversation-feedback-listen-queue-meta{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;color:#4b5563;margin-top:8px;font-weight:500}.conversation-feedback-listen-session-bar{height:4px;border-radius:4px;background:#e5e7eb;margin-top:8px;overflow:hidden}.conversation-feedback-listen-session-bar-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,#4a90a4,#5ba3b5);transition:width .2s ease-out}.conversation-feedback-listen-transcript-heading{margin:16px 0 8px;font-size:1rem;font-weight:600;color:#374151}.conversation-feedback-listen-transcript{max-height:min(380px,42vh);overflow-y:auto;scroll-behavior:smooth;border:1px solid #e5e7eb;border-radius:10px;padding:12px;background:#fafafa}.conversation-feedback-modal .conversation-feedback-listen-transcript .message-bubble{margin-bottom:10px}.conversation-feedback-modal .conversation-feedback-listen-transcript .message-bubble:last-child{margin-bottom:0}.conversation-feedback-modal .conversation-feedback-listen-transcript .message-bubble.conversation-feedback-turn-active{box-shadow:0 0 0 2px #4a90a4;background:#f0f7f9}.conversation-feedback-modal .conversation-feedback-listen-transcript .user-message.conversation-feedback-turn-active{background:#eef6f8}.conversation-feedback-modal .conversation-feedback-listen-transcript .assistant-message.conversation-feedback-turn-active{background:#f0f4f8}.conversation-feedback-listen-turn-audio{min-width:40px;padding:6px 12px;justify-content:center}.conversation-feedback-listen-turn-audio .btn-icon{font-size:1rem;margin:0}.conversation-feedback-actions-row{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:10px}.conversation-feedback-save-error{margin:0 0 4px;font-size:.9rem}.scores-modal-actions{display:flex;justify-content:center;margin-top:20px}.scores-modal-actions-reading{justify-content:flex-end;gap:12px;flex-wrap:wrap}.assignment-header-creator,.conversation-select-creator,.assignment-summary-creator{color:#6b7280;font-size:.9rem}.conversation-select-creator{display:block;width:100%;margin-top:4px}.conversation-feedback-modal .scores-modal-actions{flex-shrink:0;margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb}.conversation-feedback-modal .scores-modal-actions.conversation-feedback-modal-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}.scores-modal-actions .btn-primary{padding:12px 32px;font-size:1rem;background:linear-gradient(135deg,#4a90a4,#3d7a8c);color:#fff;border:none;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s}.scores-modal-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4a90a44d}.reading-results-modal{max-width:540px}.reading-results-modal .reading-word-breakdown{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.reading-results-modal .reading-word-breakdown h4{margin:0 0 12px;font-size:.95rem;font-weight:600;color:#374151}.reading-results-modal .reading-mistake-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:10px;font-size:.8rem;color:#6b7280}.reading-results-modal .reading-mistake-legend .legend-item{display:flex;align-items:center;gap:6px}.reading-results-modal .reading-mistake-legend .legend-dot{width:10px;height:10px;border-radius:3px}.reading-results-modal .reading-mistake-legend .legend-dot.mispronounced{background:linear-gradient(135deg,#fecaca,#fca5a5)}.reading-results-modal .reading-mistake-legend .legend-dot.skipped{background:linear-gradient(135deg,#fef08a,#fde047)}.reading-results-modal .reading-mistake-legend .legend-dot.wrong-word{background:linear-gradient(135deg,#fed7aa,#fdba74)}.reading-results-modal .reading-reference-text{margin:0;padding:14px 16px;background:#f9fafb;border-radius:8px;line-height:1.7;font-size:.95rem;color:#374151;max-height:180px;overflow-y:auto;word-wrap:break-word}.reading-results-modal .reading-reference-text .highlighted-word{margin:0 1px}.reading-feedback-modal{max-width:640px;width:95vw}.reading-feedback-header-compact{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:8px}.reading-feedback-header-text{min-width:0}.reading-feedback-header-text h2{margin:0 0 2px;font-size:1.15rem;color:#fff}.reading-feedback-modal .modal-header h2{color:#fff}.reading-feedback-subtitle{margin:0;font-size:.8rem;color:#6b7280;line-height:1.3}.reading-feedback-modal .modal-header .reading-feedback-subtitle{color:#ffffffe6}.reading-feedback-modal .modal-header.reading-feedback-header-compact{padding:10px 16px 8px}.reading-feedback-modal .modal-content.reading-feedback-content-compact{padding:12px 16px 20px}.reading-feedback-tabs{display:flex;gap:12px;margin:0 0 10px;padding:0 0 6px;border-bottom:1px solid #e5e7eb}.conversation-feedback-modal .reading-feedback-tabs{flex-shrink:0;margin:8px 0 12px;gap:8px;flex-wrap:wrap}.conversation-feedback-modal .reading-feedback-tab{padding:6px 16px;font-size:.9rem}.reading-feedback-tab{padding:10px 24px;background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;font-size:1rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.reading-feedback-tab:hover{color:#374151}.reading-feedback-tab.active{color:#2c6e9a;border-bottom-color:#008c9f}.reading-feedback-scores-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin-bottom:12px}.reading-score-overall{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:80px;padding:12px 16px;background:#e8f4fa;border-radius:10px;box-shadow:0 1px 3px #00000014;border:1px solid rgba(0,140,159,.2)}.reading-score-overall .reading-score-label{font-size:.7rem;font-weight:600;letter-spacing:.04em;color:#1a1a1a;margin-bottom:4px;text-transform:uppercase}.reading-score-overall .reading-score-value{font-size:2.5rem;font-weight:700;color:#2c6e9a}.reading-score-breakdown-inline{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}.reading-sub-score-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:72px;padding:10px 14px;background:#fff;border-radius:10px;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb}.reading-sub-score-pill .reading-sub-score-label{font-size:.75rem;font-weight:600;color:#1a1a1a;margin-bottom:4px;text-align:center}.reading-sub-score-pill .reading-sub-score-value{font-size:1.35rem;font-weight:700;color:#1a1a1a}.reading-feedback-score-content{min-height:200px}.reading-feedback-transcript-content{min-height:200px;max-height:380px;overflow-y:auto}.conversation-feedback-modal .reading-feedback-score-content{min-height:180px}.conversation-feedback-modal .reading-feedback-transcript-content{min-height:180px;max-height:360px}.conversation-feedback-modal .reading-feedback-transcript-content.conversation-feedback-tab-listen{max-height:none;overflow-y:visible}.score-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px 20px}.reading-feedback-modal .reading-word-breakdown{margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb}.reading-feedback-modal .reading-word-breakdown h4{margin:0 0 8px;font-size:.9rem;font-weight:600;color:#374151}.reading-feedback-modal .reading-reference-text{margin:0;padding:10px 12px;background:#f9fafb;border-radius:8px;line-height:1.65;font-size:.9rem;color:#374151;max-height:200px;overflow-y:auto;word-wrap:break-word}.reading-feedback-modal .reading-what-you-read{margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb}.reading-feedback-modal .reading-what-you-read h4{margin:0 0 8px;font-size:.9rem;font-weight:600;color:#374151}.reading-feedback-modal .reading-student-transcript{padding:14px 16px;background:#eff6ff;border-radius:8px;border:1px solid #bfdbfe;line-height:1.6;font-size:.95rem;color:#1e40af;max-height:160px;overflow-y:auto;word-wrap:break-word}.reading-feedback-modal .reading-transcript-turn{margin:0 0 .5em}.reading-feedback-modal .reading-transcript-turn:last-child{margin-bottom:0}.reading-feedback-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.reading-feedback-legend .legend-color{width:12px;height:12px;border-radius:3px;display:inline-block}.edit-score-helper{margin:0 0 12px;font-size:.8125rem;color:#6b7280;line-height:1.4}.conversation-feedback-modal .conversation-feedback-grade-section{margin-top:12px;padding-top:12px;border-top:1px solid #e5e7eb}.conversation-feedback-modal .conversation-feedback-grade-section h4{margin:0 0 6px;font-size:.9rem}.conversation-feedback-modal .edit-score-helper{margin:0 0 8px;font-size:.75rem}.conversation-feedback-modal .edit-score-ai-reference{margin:4px 0 0;font-size:.75rem}.conversation-feedback-modal .feedback-error{margin:6px 0 0;font-size:.85rem}.conversation-feedback-modal .teacher-feedback-section{margin-top:12px;padding-top:12px}.conversation-feedback-modal .teacher-feedback-section h4{margin:0 0 6px;font-size:.9rem}.conversation-feedback-modal .sub-score-input{width:56px;padding:4px 6px;font-size:.85rem}.edit-score-ai-reference{margin:8px 0 0;font-size:.8125rem;color:#9ca3af}.reading-edit-score-section,.teacher-feedback-section{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.teacher-feedback-section h4{margin:0 0 10px;font-size:.95rem;font-weight:600;color:#374151}.teacher-feedback-input{width:100%;padding:12px 14px;border:2px solid #d1d5db;border-radius:8px;font-family:var(--font-family);font-size:.9rem;resize:vertical;margin-bottom:10px;box-sizing:border-box}.teacher-feedback-input:focus{outline:none;border-color:#2196f3}.teacher-feedback-display{padding:12px 14px;background:#f9fafb;border-radius:8px;font-size:.95rem;line-height:1.5;color:#374151}.teacher-feedback-display .text-muted{color:#9ca3af;font-style:italic}.feedback-error{color:#dc2626;font-size:.875rem;margin:0 0 8px}.confirm-dialog{width:400px;max-width:90vw}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.confirm-dialog .modal-content.confirm-dialog-body{padding:20px 22px 22px}.confirm-dialog-message{margin:0;font-size:1rem;line-height:1.55;color:#374151}.confirm-actions .form-button.teacher-confirm-primary{background:linear-gradient(135deg,#4a90a4,#3d7a8c);color:#fff;border:2px solid transparent;box-shadow:0 4px 12px #4a90a447}.confirm-actions .form-button.teacher-confirm-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 18px #4a90a461}.confirm-actions .form-button.teacher-confirm-primary:active:not(:disabled){transform:translateY(0)}.confirm-actions .form-button.teacher-confirm-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.confirm-dialog-input{margin-top:16px;display:flex;flex-direction:column;gap:8px}.confirm-dialog-input label{font-size:.9rem;font-weight:600;color:#374151}.confirm-dialog-input textarea{padding:10px 12px;border:2px solid #d1d5db;border-radius:8px;font-family:var(--font-family);font-size:.9rem;color:#374151;resize:vertical;transition:all .2s ease}.confirm-dialog-input textarea:focus{outline:none;border-color:var(--button-start-bg);box-shadow:0 0 0 3px #4caf501a}.confirm-dialog-input textarea::placeholder{color:#9ca3af}.loading-spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;margin-right:6px;vertical-align:middle}.form-button:disabled{opacity:.6;cursor:not-allowed}.audio-recorder-modal{width:500px;max-width:90vw}.audio-recorder-content{display:flex;flex-direction:column;gap:24px;padding:20px 0}.recorder-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;background:#fee2e2;border:2px solid #ef4444;border-radius:8px;text-align:center}.recorder-error .error-icon{font-size:2.5rem}.recorder-error p{margin:0;color:#991b1b;font-weight:600}.recorder-error .error-hint{font-size:.875rem;color:#7f1d1d;font-weight:400}.recorder-status{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;gap:16px}.status-idle{display:flex;flex-direction:column;align-items:center;gap:12px}.mic-icon-large{font-size:4rem;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.status-idle p{margin:0;color:#6b7280;font-size:1rem}.status-recording{display:flex;flex-direction:column;align-items:center;gap:16px}.recording-indicator{display:flex;align-items:center;gap:8px}.recording-dot{width:12px;height:12px;background:#ef4444;border-radius:50%;animation:blink 1s ease-in-out infinite}.recording-text{font-size:1.125rem;font-weight:600;color:#ef4444}.recording-time{font-size:2rem;font-weight:700;color:#1f2937;font-family:Courier New,monospace}.recording-visualizer{display:flex;align-items:center;gap:4px;height:40px}.visualizer-bar{width:4px;background:#3b82f6;border-radius:2px;animation:wave 1s ease-in-out infinite}.visualizer-bar:nth-child(1){animation-delay:0s;height:20px}.visualizer-bar:nth-child(2){animation-delay:.1s;height:30px}.visualizer-bar:nth-child(3){animation-delay:.2s;height:40px}.visualizer-bar:nth-child(4){animation-delay:.3s;height:30px}.visualizer-bar:nth-child(5){animation-delay:.4s;height:20px}@keyframes wave{0%,to{height:20px}50%{height:40px}}.status-paused{display:flex;flex-direction:column;align-items:center;gap:16px}.paused-indicator{display:flex;align-items:center;gap:8px}.paused-icon{font-size:2rem}.paused-text{font-size:1.125rem;font-weight:600;color:#f59e0b}.status-stopped{display:flex;flex-direction:column;align-items:center;gap:12px}.playback-icon{font-size:3rem}.playback-label{margin:0;font-size:1.125rem;font-weight:600;color:#059669}.playback-time{font-size:.875rem;color:#6b7280}.audio-preview{width:100%;max-width:400px;margin-top:12px}.recorder-controls{display:flex;justify-content:center;gap:12px}.recorder-controls .form-button{min-width:180px}.recording-controls-group{display:flex;gap:12px;justify-content:center;width:100%}.recording-controls-group .form-button{flex:1;max-width:150px;min-width:120px}.stopped-controls{display:flex;gap:12px;width:100%;justify-content:center}.stopped-controls .form-button{flex:1;max-width:200px}.button-icon{margin-right:6px;font-size:1.1rem}.recorder-footer{display:flex;justify-content:center;padding-top:12px;border-top:1px solid #e5e7eb}.text-button{background:none;border:none;color:#6b7280;font-size:.875rem;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .2s ease}.text-button:hover{color:#1f2937;background:#f3f4f6}@media (max-width: 768px){.audio-buttons-group{flex-direction:column;gap:8px}.audio-recorder-modal{width:95vw;max-height:90vh}.recorder-controls .form-button{min-width:150px;font-size:.9rem;padding:10px 16px}.recording-controls-group{flex-direction:column}.recording-controls-group .form-button{max-width:100%}.stopped-controls{flex-direction:column}.stopped-controls .form-button{max-width:100%}.recording-time{font-size:1.5rem}.mic-icon-large{font-size:3rem}.button-icon{font-size:1rem}.paused-icon{font-size:2.5rem}}@media (max-width: 768px){.app-container{flex-direction:column;max-height:none;overflow:visible}.conversation-page-root .app-container{flex:1 1 auto;min-height:0}.bear-panel,.chat-panel{max-width:100%;border-right:none;border-bottom:1px solid #e5e7eb}.bear-panel{flex:none;flex-direction:row;justify-content:space-between;height:auto}.status-text{flex:1}.chat-panel{padding:12px;display:flex;flex-direction:column;height:auto;flex:1;justify-content:space-between}.bear-animation{width:112px;max-width:112px;flex-shrink:0}.conversation-history{max-height:40vh;overflow-y:auto}.reading-reference-box,.quick-practice-section{margin:8px 0;height:170px}.chat-panel.reading-mode .reading-reference-box{height:auto;flex:1;min-height:120px}.floating-quick-practice-btn{bottom:16px;right:16px;width:48px;height:48px;font-size:20px}.control-button{padding:10px 18px;font-size:1rem}.reference-text,.quick-practice-textarea{min-height:10px;height:100px}.quick-practice-textarea-highlights{padding:8px}.textarea-close-btn{top:6px;right:6px}.form-row{flex-direction:column}.library-controls{flex-direction:column;align-items:stretch;gap:12px}.search-container{max-width:100%}.sort-container{justify-content:space-between}.conversation-list{grid-template-columns:1fr;gap:16px}.library-card{padding:20px}.primary-actions{grid-template-columns:1fr}.btn-library-quick{padding:12px 20px}}@media (max-width: 480px){.app-container{max-height:600px}.conversation-page-root .app-container{max-height:none}h1{font-size:x-large}.chat-panel{height:auto}.conversation-history{max-height:32vh}.floating-quick-practice-btn{bottom:12px;right:12px;width:44px;height:44px;font-size:18px}.menu-button{width:40px;height:40px}.control-button{padding:8px 12px;font-size:.95rem;border-radius:20px}.speaking-time-block{max-width:100%}.speaking-time-block .speaking-time-limit-message{font-size:.85rem}.speaking-time-block .speaking-time-remaining{font-size:1rem}.reference-text{max-height:180px}.quick-practice-section{gap:0}.quick-practice-textarea{font-size:13px;height:80px}.form-button{padding:6px 12px}.secondary-actions{justify-content:space-between}.btn-library-secondary{flex:0 1 auto;min-width:80px}}.role-view-wrapper{width:100%;min-height:100vh;background-color:var(--background-color);display:flex;justify-content:center;align-items:center}.teacher-view{width:100%;height:100vh;background:var(--background-color);display:flex;flex-direction:column}.teacher-welcome-state{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;min-height:280px;font-family:var(--font-family)}.teacher-welcome-card{max-width:480px;text-align:center;padding:40px 32px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e5e7eb;font-family:var(--font-family)}.teacher-welcome-icon{font-size:3rem;line-height:1;margin-bottom:16px;display:block}.teacher-welcome-heading{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 12px;line-height:1.3;font-family:var(--font-family)}.teacher-welcome-message{font-size:1rem;color:#4b5563;margin:0 0 24px;line-height:1.5;font-family:var(--font-family)}.teacher-welcome-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center}.teacher-welcome-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-family)}.teacher-welcome-btn .btn-icon{font-size:1rem}.teacher-welcome-btn-single{min-width:200px}.teacher-nav{display:flex;gap:0;background-color:var(--bear-panel-bg);border-bottom:2px solid #e5e7eb;align-items:center;justify-content:space-between}.teacher-nav-btn{flex:0 0 auto;padding:16px 24px;border:none;background:transparent;font-size:1.1rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent}.teacher-nav-btn:hover{background-color:#4caf501a;color:var(--button-start-bg)}.teacher-nav-btn.active{color:var(--button-start-bg);border-bottom-color:var(--button-start-bg);background-color:#4caf500d}.teacher-nav-actions{display:flex;gap:12px;align-items:center;padding:12px 20px;margin-left:auto}.btn-secondary{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:#fff;color:#4b5563;border:2px solid #d1d5db;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.btn-secondary:hover{background:#f9fafb;border-color:#9ca3af;color:#1f2937;transform:translateY(-1px);box-shadow:0 2px 6px #00000026}.btn-secondary:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.teacher-nav .btn-create-conversation{padding:10px 20px;font-size:.95rem}.teacher-nav .btn-create-conversation .btn-icon{width:20px;height:20px;font-size:1.1rem}.teacher-content{flex:1;padding:30px;overflow-y:auto;overflow-x:hidden}.class-list-container{width:100%}.class-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.class-list-header h2{margin:0;color:var(--text-color)}.class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.class-card{background:linear-gradient(135deg,#f0f8ff,#e0f2fe);border:2px solid #bfdbfe;border-radius:12px;padding:20px;transition:all .3s ease}.class-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #60a5fa33;border-color:#60a5fa}.class-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.class-name{font-size:1.2rem;font-weight:700;color:#1e40af;margin:0}.student-count-badge{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600}.class-card-meta{display:flex;flex-direction:column;gap:8px;font-size:.9rem;color:#64748b}.class-meta-item{display:flex;align-items:center;gap:6px}.assignment-list-container{width:100%}.assignment-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.assignment-list-header h2{margin:0;color:var(--text-color)}.assignment-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px}.assignment-card{background:linear-gradient(135deg,#fef9c3,#fef08a);border:2px solid #fde047;border-radius:12px;padding:20px;transition:all .3s ease}.assignment-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #facc1533;border-color:#facc15}.assignment-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.assignment-name{font-size:1.1rem;font-weight:700;color:#78350f;margin:0;flex:1}.completion-badge{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap}.completion-badge.complete{background:linear-gradient(135deg,#4caf50,#45a049)}.assignment-class-name{font-size:.95rem;color:#92400e;margin-bottom:12px;font-weight:600}.assignment-description{font-size:.9rem;color:#78350f;margin:12px 0;line-height:1.5}.assignment-dates{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-size:.85rem;color:#92400e}.date-item{display:flex;align-items:center;gap:6px}.progress-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.stat-item{text-align:center;padding:10px;background:#fff9;border-radius:8px;border:1px solid rgba(0,0,0,.05)}.stat-item.completed{background:#4caf501a;border-color:#4caf504d}.stat-item.in-progress{background:#3b82f61a;border-color:#3b82f64d}.stat-item.not-started{background:#9ca3af1a;border-color:#9ca3af4d}.stat-number{display:block;font-size:1.5rem;font-weight:700;color:var(--text-color)}.stat-label{display:block;font-size:.75rem;margin-top:4px}.progress-bar-container{margin:12px 0}.progress-bar{width:100%;height:8px;background-color:#e5e7eb;border-radius:4px;overflow:hidden;display:flex}.progress-bar-fill{height:100%;transition:width .3s ease}.progress-bar-fill.completed{background:linear-gradient(90deg,#4caf50,#45a049)}.progress-bar-fill.in-progress{background:linear-gradient(90deg,#3b82f6,#2563eb)}.assignment-actions{display:flex;gap:8px;margin-top:16px;align-items:center}.btn-monitor{flex:1;padding:10px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-monitor:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 8px #3b82f64d}.btn-delete-small{padding:10px 12px;background:transparent;color:#ef4444;border:1px solid #fecaca;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .2s ease}.btn-delete-small:hover{background:#fee2e2;border-color:#ef4444}.library-page{position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--background-color);display:flex;flex-direction:column;z-index:1000}.library-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 2px #0000000a}.library-header-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.library-header-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.library-page-header .library-header-close{flex-shrink:0;margin-left:4px;color:#6b7280}.library-page-header .library-header-close:hover{background:#f3f4f6;color:#374151}.library-header-add-activity{display:inline-flex;align-items:center;justify-content:center;gap:6px;margin-right:4px;padding:8px 12px;font-size:.875rem;font-weight:600;color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .2s,border-color .2s,color .2s}.library-header-add-activity .add-activity-icon{display:none;font-size:1.125rem;line-height:1;font-weight:700}.library-header-add-activity:hover{background:#e0f2fe;border-color:#38bdf8;color:#0c4a6e}.library-header-add-activity:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #0ea5e9}.library-header-tool-wrap{position:relative}.library-header-icon-btn{display:flex;align-items:center;justify-content:center;position:relative;width:36px;height:36px;padding:0;border:1px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#6b7280;cursor:pointer;transition:border-color .2s,background .2s,color .2s}.library-header-icon-btn:hover{background:#f0f9ff;border-color:#bae6fd;color:#0369a1}.library-header-icon-btn.active{background:#e0f2fe;border-color:#38bdf8;color:#0c4a6e}.library-header-icon-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #0ea5e9}.library-header-popover{position:absolute;top:100%;right:0;margin-top:6px;padding:10px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:50;min-width:200px;max-width:min(280px,calc(100vw - 24px))}.library-search-popover .search-input{width:100%;min-width:200px;max-width:240px;padding:8px 12px;font-size:.875rem;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;box-sizing:border-box}.library-search-popover .search-input:focus{outline:none;border-color:#38bdf8;background:#fff;box-shadow:0 0 0 2px #38bdf833}.library-header-icon-badge{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:#0ea5e9;border:1.5px solid #fff;pointer-events:none}.library-mobile-search{display:none;flex-shrink:0;padding:8px 12px 10px;background:#fff;border-bottom:1px solid #e5e7eb}.library-mobile-search-inner{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 8px 6px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px}.library-mobile-search-glyph{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:#64748b;font-size:.9rem}.library-mobile-search-input{flex:1 1 auto;min-width:0;width:100%;border:none;background:transparent;padding:8px 0;font-size:1rem;line-height:1.3;color:#0f172a;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.library-mobile-search-input::-webkit-search-decoration,.library-mobile-search-input::-webkit-search-cancel-button,.library-mobile-search-input::-webkit-search-results-button,.library-mobile-search-input::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.library-mobile-search-input::placeholder{color:#94a3b8}.library-mobile-search-clear{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;padding:0;border:none;border-radius:8px;background:transparent;color:#64748b;cursor:pointer}.library-mobile-search-clear:hover,.library-mobile-search-clear:focus-visible{background:#e2e8f0;color:#334155;outline:none}.library-mobile-search-close{flex-shrink:0;margin:0;padding:8px 10px;border:none;border-radius:8px;background:#e0f2fe;color:#0369a1;font-size:.8125rem;font-weight:700;cursor:pointer;white-space:nowrap}.library-mobile-search-close:hover,.library-mobile-search-close:focus-visible{background:#bae6fd;color:#0c4a6e;outline:none}.library-sort-popover label{display:block;font-size:.75rem;font-weight:600;color:#6b7280;margin-bottom:6px}.library-sort-popover-row{display:flex;align-items:center;gap:8px}.library-sort-popover-row select{flex:1;min-width:0;padding:6px 10px;font-size:.8125rem;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;cursor:pointer}.library-sort-popover-row select:focus{outline:none;border-color:#38bdf8}.library-sort-popover .sort-order-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex-shrink:0;border:1px solid #d1d5db;border-radius:6px;background:#f9fafb;font-size:1rem;color:#6b7280;cursor:pointer;transition:all .2s ease}.library-sort-popover .sort-order-button:hover{background:#e0f2fe;border-color:#38bdf8;color:#0c4a6e}.btn-back{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:var(--text-color);font-size:.875rem;font-weight:500;cursor:pointer;flex-shrink:0;transition:all .2s ease}.library-page .btn-back-icon{font-size:1rem;line-height:1}.btn-back:hover{background:#f9fafb;border-color:#d1d5db}.library-page-brand-wrap{display:flex;align-items:center;flex-shrink:0}.library-page-brand-logo{display:block;opacity:.92}.library-page-title{font-size:1.35rem;font-weight:700;color:var(--text-color);margin:0;letter-spacing:-.02em}.library-page-spacer{flex:1}.library-page-tabs{display:flex;align-items:center;gap:4px;padding:6px 16px;background:#fff;border-bottom:1px solid #e5e7eb;overflow-x:auto}.library-page-tab{display:flex;align-items:center;gap:4px;padding:5px 10px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.library-page-tab:hover:not(:disabled){background:#e0f2fe;border-color:#bae6fd;color:#0369a1}.library-page-tab.active{background:linear-gradient(135deg,#bae6fd,#7dd3fc);color:#0c4a6e;border-color:#38bdf8;box-shadow:0 2px 8px #38bdf840}.library-page-tab:disabled{opacity:.5;cursor:not-allowed}.library-page-tab .tab-icon{font-size:.9rem}.library-page-tab .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:#ffffff80;border-radius:9px;font-size:.7rem;font-weight:700}.library-page-tab.active .tab-count{background:#ffffffb3;color:#0c4a6e}.library-page-tab .tab-badge{padding:2px 6px;background:#fbbf24;color:#fff;border-radius:6px;font-size:.7rem;font-weight:700}.library-page-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e7eb}.library-page-controls .search-container{flex:1;max-width:400px;min-width:250px}.library-page-controls .search-input{width:100%;padding:9px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#f9fafb;transition:all .2s ease}.library-page-controls .search-input:focus{border-color:#38bdf8;background:#fff;outline:none;box-shadow:0 0 0 3px #38bdf81a}.library-page-controls .sort-container{display:flex;align-items:center;gap:10px;flex-shrink:0}.library-page-controls .sort-container label{font-size:.875rem;font-weight:500;color:#6b7280;white-space:nowrap}.library-page-controls .sort-container select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:140px}.library-page-controls .sort-container select:hover{background:#fff;border-color:#9ca3af}.library-page-controls .sort-container select:focus{border-color:#38bdf8;background:#fff;outline:none;box-shadow:0 0 0 3px #38bdf81a}.library-page-controls .sort-order-button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;font-size:1.1rem;color:#6b7280;cursor:pointer;transition:all .2s ease}.library-page-controls .sort-order-button:hover{background:#e0f2fe;border-color:#38bdf8;color:#0c4a6e}.library-page-controls .filter-container{display:flex;align-items:center;gap:10px;flex-shrink:0}.library-page-controls .filter-container label{font-size:.875rem;font-weight:500;color:#6b7280;white-space:nowrap}.library-page-controls .filter-container select{padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;background:#f9fafb;font-size:.875rem;cursor:pointer;transition:all .2s ease;min-width:180px}.library-page-controls .filter-container select:hover{background:#fff;border-color:#9ca3af}.library-page-controls .filter-container select:focus{border-color:#38bdf8;background:#fff;outline:none;box-shadow:0 0 0 3px #38bdf81a}.tag-filter{flex:1;max-width:600px}.library-page-tag-filter{display:flex;flex-direction:column;gap:10px;padding:4px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.library-page-tag-filter .tag-filter-label{font-size:.875rem;font-weight:600;color:#374151;margin:0}.library-page-tag-filter .tag-chips,.collapsible-tag-chips{width:100%}.collapsible-tag-chips-panel-wrap{position:relative}.collapsible-tag-chips-panel.is-collapsed{max-height:4.75rem;overflow:hidden}.collapsible-tag-chips-panel.is-expanded{max-height:none;overflow:visible}.collapsible-tag-chips-fade{position:absolute;left:0;right:0;bottom:0;height:2rem;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,var(--tag-chips-fade-bg, #f9fafb) 88%)}.library-page-tag-filter{--tag-chips-fade-bg: #f9fafb}.filter-container.tag-filter{--tag-chips-fade-bg: #ffffff}.collapsible-tag-chips-footer{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:8px}.collapsible-tag-chips-toggle{display:inline-flex;align-items:center;gap:6px;padding:4px 2px;border:none;background:none;font-size:.7rem;cursor:pointer;line-height:1.3;transition:color .15s ease}.collapsible-tag-chips-toggle .fa-solid{font-size:.7rem}.tag-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tag-chip{display:inline-flex;align-items:center;padding:3px 6px;background:#f3f4f6;border:1.5px solid #d1d5db;border-radius:16px;font-size:.8rem;font-weight:500;color:#374151;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tag-chip:hover{background:#e5e7eb;border-color:#9ca3af;transform:translateY(-1px)}.tag-chip.selected{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#3b82f6;color:#1e40af;font-weight:600}.tag-chip.selected:hover{background:linear-gradient(135deg,#bfdbfe,#93c5fd);border-color:#2563eb}.tag-chip.clear-all{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.tag-chip.clear-all:hover{background:#fee2e2;border-color:#f87171}.library-page-content{flex:1;padding:24px;overflow-y:auto;overflow-x:hidden;background:var(--background-color)}.conversation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;max-width:1400px;margin:0 auto}.conversation-grid .library-card{display:flex;flex-direction:column}.view-toggle-container{display:flex;gap:0;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;padding:2px;flex-shrink:0}.view-toggle-btn{display:flex;align-items:center;justify-content:center;padding:8px 12px;border:none;background:transparent;color:#6b7280;cursor:pointer;transition:all .2s ease;border-radius:6px}.view-toggle-btn:hover{background:#f9fafb;color:#374151}.view-toggle-btn.active{background:linear-gradient(135deg,#bae6fd,#7dd3fc);color:#0369a1;box-shadow:0 2px 4px #bae6fd4d}.view-toggle-btn svg{display:block}.closed-toggle-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;margin-left:8px;border:1.5px solid #e5e7eb;border-radius:8px;background:#fff;color:#6b7280;cursor:pointer;transition:all .2s ease}.closed-toggle-btn:hover{background:#f8fafc;color:#374151;border-color:#cbd5e1}.closed-toggle-btn:focus{outline:none}.closed-toggle-btn:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--button-start-bg, #4caf50)}.closed-toggle-btn.active{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#b45309;border-color:#fcd34d;box-shadow:0 2px 4px #fef3c766}.closed-toggle-btn.active:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #d97706}.closed-toggle-btn svg{display:block}.closed-toggle-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;display:flex;align-items:center;justify-content:center;background:#475569;color:#fff;font-size:.7rem;font-weight:700;border-radius:9px;line-height:1;box-shadow:0 1px 3px #0000001f}.closed-view-bar{display:flex;align-items:center;justify-content:space-around;gap:10px;padding:8px 16px;background:linear-gradient(180deg,#fffbeb,#fefce8);border-bottom:1px solid #fde68a}.closed-view-label{font-size:.9rem;font-weight:600;color:#92400e;letter-spacing:.01em}.closed-view-bar .date-filter-select{min-width:160px}.conversation-list{background:#fff;border-radius:12px;box-shadow:0 2px 6px #0000000f;border:2px solid #e5e7eb;overflow-x:auto;overflow-y:visible;width:100%;max-width:1400px;margin:0 auto}.list-header{display:grid;grid-template-columns:2.5fr .6fr .6fr .7fr 1.2fr .6fr 50px;gap:12px;padding:14px 20px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e5e7eb;font-weight:600;font-size:.85rem;color:#475569;text-transform:uppercase;letter-spacing:.5px}.student-view .list-header,.student-view .list-row{grid-template-columns:2.5fr .6fr .6fr .7fr 1.2fr 50px}.list-header .sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;position:relative}.list-header .sortable:hover{color:#1e293b;background:#3b82f614;border-radius:6px;padding:4px 8px;margin:-4px -8px}.list-header .sortable.active{color:#3b82f6;font-weight:700}.list-row{display:grid;grid-template-columns:2.5fr .6fr .6fr .7fr 1.2fr .6fr 50px;gap:12px;padding:14px 20px;border-bottom:1px solid #f3f4f6;align-items:center;transition:all .2s ease;position:relative;z-index:1}.list-row:hover{background:#f9fafb;z-index:10}.list-row:last-child{border-bottom:none}.list-name-wrapper{display:flex;gap:8px;overflow:hidden}.list-name{font-weight:600;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.list-name-with-chips{display:flex;flex-direction:column;gap:6px;width:100%;min-width:0}.list-row-meta-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.list-row-meta-chips .badge-shared,.list-row-meta-chips .badge-publisher{max-width:100%;white-space:normal;line-height:1.25}.list-type-badge{font-size:1.2rem;display:inline-block}.btn-assign-mini{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1.5px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:1.1rem;cursor:pointer;transition:all .2s ease}.btn-assign-mini:hover{background:#f9fafb;border-color:#9ca3af;transform:scale(1.1);box-shadow:0 2px 8px #0000001a}.list-col{display:flex;align-items:center;font-size:.9rem;color:#374151;overflow:visible;justify-content:center}.list-col-title{font-weight:600;flex:1}.list-col-mode,.list-col-grade,.list-col-language,.list-col-updated{justify-content:flex-start}.list-title-wrapper{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}.list-title{color:#1f2937;font-weight:600;flex:0 1 auto}.list-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.list-badge-shared{background:linear-gradient(135deg,#e0f2fe,#bae6fd);color:#0369a1;border:1px solid #7dd3fc}.list-badge-publisher{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fbbf24}.list-mode-badge{padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600;white-space:nowrap}.list-mode-badge[data-mode=conversation]{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:1px solid #93c5fd}.list-mode-badge[data-mode=reading-practice]{background:linear-gradient(135deg,#fce7f3,#fbcfe8);color:#9f1239;border:1px solid #f9a8d4}.list-actions-wrapper{position:relative;display:flex;justify-content:center}.list-menu-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1.5px solid #e5e7eb;border-radius:6px;background:#fff;color:#6b7280;font-size:1.2rem;cursor:pointer;transition:all .2s ease}.list-menu-btn:hover{background:#f9fafb;border-color:#d1d5db;color:#374151}.list-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1999}.list-menu{position:absolute;right:0;min-width:180px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 20px #0000001f;z-index:2000;overflow:hidden}.list-menu.list-menu-fixed{position:fixed;bottom:auto;right:auto;min-width:200px}.list-menu-down{top:40px;animation:slideDown .2s ease}.list-menu-up{bottom:40px;animation:slideUp .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.list-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;border:none;background:#fff;color:#374151;font-size:.9rem;font-weight:500;text-align:left;cursor:pointer;transition:all .15s ease;border-bottom:1px solid #f3f4f6}.list-menu-item:last-child{border-bottom:none}.list-menu-item:hover{background:#f9fafb;color:#1f2937}.list-menu-item-danger{color:#dc2626}.list-menu-item-danger:hover{background:#fee2e2;color:#b91c1c}@media (max-width: 768px){.library-page-header{position:relative;flex-wrap:wrap;align-items:stretch;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top,0px));padding-right:max(52px,calc(12px + env(safe-area-inset-right,0px)));gap:8px}.library-page-header .library-header-close{position:absolute;top:max(10px,env(safe-area-inset-top,0px));right:max(8px,env(safe-area-inset-right,0px));margin-left:0;width:40px;height:40px;z-index:2}.library-page .library-page-brand-wrap{display:none}.library-header-left{flex:1 1 100%;min-width:0;gap:8px}.library-page .library-page-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.1rem}.library-header-right{flex:1 1 100%;width:100%;flex-shrink:1;justify-content:flex-start;gap:6px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.library-header-right::-webkit-scrollbar{display:none}.library-header-right>*{flex-shrink:0}.library-mobile-search{display:block;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}.library-header-add-activity{padding:8px 10px;font-size:.8125rem}.library-header-icon-btn{width:40px;height:40px}.library-page .view-toggle-btn{padding:8px 10px;min-width:40px;min-height:36px}.library-page-tabs{padding:8px 12px;gap:4px;scrollbar-width:none}.library-page-tabs::-webkit-scrollbar{display:none}.library-page-tab{padding:6px 10px;font-size:.8rem}.library-page-controls{flex-direction:column;align-items:stretch;padding:14px 16px;gap:12px}.library-page-controls .search-container{max-width:100%;min-width:100%}.library-page-controls .sort-container{width:100%;justify-content:flex-start}.library-page-controls .sort-container select{flex:1;min-width:auto}.library-page-controls .filter-container{width:100%}.library-page-controls .filter-container select{flex:1;min-width:auto}.library-page-tag-filter{padding:12px 16px}.library-page-content{padding:16px}.conversation-grid{grid-template-columns:1fr;gap:14px}.list-header{display:none}.list-row{grid-template-columns:1fr;gap:8px;padding:12px 16px}.list-col{display:flex;justify-content:space-between;font-size:.85rem}.list-col:before{content:attr(data-label);font-weight:600;color:#6b7280;font-size:.75rem;text-transform:uppercase}.list-col-title{flex-direction:column;align-items:flex-start;gap:6px}.list-col-actions{justify-content:flex-end}.list-menu{right:-10px;min-width:160px}}@media (max-width: 480px){.library-page-header{padding:8px 10px;padding-top:max(8px,env(safe-area-inset-top,0px));gap:6px}.library-header-left,.library-header-right{gap:6px}.library-mobile-search{padding:6px 10px 8px;padding-left:max(10px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px))}.library-mobile-search-inner{padding:4px 6px 4px 10px;border-radius:10px}.library-mobile-search-input{font-size:16px;padding:10px 0}.library-page .btn-back{padding:8px 10px;min-width:40px;min-height:40px;justify-content:center}.library-page .btn-back-label{display:none}.library-page .btn-back-icon{font-size:1.15rem}.library-page .library-page-title{font-size:1rem}.library-page .library-header-add-activity .add-activity-label{display:none}.library-page .library-header-add-activity .add-activity-icon{display:inline-flex}.library-page .library-header-add-activity{padding:0;min-width:40px;min-height:40px}.library-page-tabs{padding:8px 12px}.library-page-tab .tab-label{display:none}.library-page-tab{padding:6px 8px}.library-page-controls,.library-page-tag-filter{padding:10px 12px}.library-page-tag-filter .tag-filter-label{font-size:.8rem}.tag-chip{font-size:.75rem;padding:5px 10px}.library-page-content{padding:12px}}.share-modal{width:600px;max-width:95vw}.share-conversation-info{margin-bottom:24px}.share-conversation-info h3{margin:0 0 8px;color:#1e293b;font-size:1.2rem}.share-description{color:#64748b;font-size:.95rem;margin:0}.share-options{display:flex;flex-direction:column;gap:16px;margin:24px 0}.share-option-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;background:#fff}.share-option-card:hover{border-color:#4caf50;background:#f0fdf4;box-shadow:0 4px 12px #4caf501a}.share-option-card input[type=checkbox]{margin-top:4px;width:20px;height:20px;cursor:pointer;accent-color:#4caf50}.share-option-card input[type=checkbox]:checked~.share-option-content{color:#1e293b}.share-option-card:has(input:checked){border-color:#4caf50;background:linear-gradient(135deg,#f0fdf4,#dcfce7);box-shadow:0 4px 12px #4caf5026}.share-warning{margin-top:16px;padding:12px 16px;background:#fef3c7;border:2px solid #f59e0b;border-radius:8px;font-size:.9rem;color:#78350f;display:flex;align-items:center;gap:8px}.share-option-content{flex:1;display:flex;align-items:flex-start;gap:12px}.share-option-icon{font-size:1.8rem;line-height:1}.share-option-text strong{display:block;font-size:1rem;color:#1e293b;margin-bottom:4px}.share-option-text p{margin:0;font-size:.9rem;color:#64748b;line-height:1.4}.share-option-disabled{opacity:.6;cursor:not-allowed}.direct-link-card{flex-direction:column;cursor:default;gap:16px}.direct-link-card:hover{border-color:#3b82f6;background:#eff6ff;box-shadow:0 4px 12px #3b82f61a}.direct-link-section{display:flex;gap:8px;width:100%}.direct-link-input{flex:1;padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-family:Courier New,monospace;font-size:.85rem;color:#475569;background:#f8fafc;cursor:text;transition:all .2s ease}.direct-link-input:focus{outline:none;border-color:#3b82f6;background:#fff}.copy-link-btn{padding:10px 20px;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 8px #3b82f633}.copy-link-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.copy-link-btn:active{transform:translateY(0)}.share-option-disabled:hover{border-color:#e5e7eb;background:#fff;box-shadow:none}.share-note{margin-top:20px;padding:14px 18px;background:#f0f8ff;border-left:4px solid #3b82f6;border-radius:8px;font-size:.9rem;color:#1e293b;line-height:1.5}.share-note strong{color:#1e40af}.share-btn{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;padding:12px 28px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #4caf5040}.share-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4caf5059}.share-btn:disabled{opacity:.6;cursor:not-allowed}.toast-notification{position:fixed;bottom:30px;right:30px;display:flex;align-items:center;gap:12px;padding:16px 24px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-radius:12px;box-shadow:0 8px 24px #10b98166;font-size:.95rem;font-weight:500;z-index:10000;animation:toastFadeIn .3s ease-out,toastFadeOut .5s ease-in 2.5s forwards}.toast-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#ffffff40;border-radius:50%;font-size:14px;font-weight:700}.toast-message{color:#fff;font-weight:500}@keyframes toastFadeIn{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastFadeOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.95)}}.assignment-modal{width:800px;max-width:95vw;max-height:92vh;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.assignment-modal .modal-content{padding:32px;background:linear-gradient(to bottom,#fff,#fafbfc)}.assignment-modal .modal-header{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:28px 32px;box-shadow:0 4px 12px #4caf5026;position:relative;overflow:hidden}.assignment-modal .modal-header:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#ffffff4d,#fff9,#ffffff4d)}.assignment-modal .modal-header h2{color:#fff;font-size:1.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.1)}.assignment-modal .close-button:before{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cline x1='18' y1='6' x2='6' y2='18'%3e%3c/line%3e%3cline x1='6' y1='6' x2='18' y2='18'%3e%3c/line%3e%3c/svg%3e")}.form-section-divider{margin:2.5rem 0 1.8rem;padding-top:1.8rem;border-top:2px solid #e5e7eb;position:relative}.form-section-divider:before{content:"";position:absolute;top:-2px;left:0;width:60px;height:2px;background:linear-gradient(90deg,#4caf50 0%,transparent 100%)}.form-section-divider h4{font-size:1.05rem;font-weight:700;color:#2c3e50;margin:0 0 1rem;display:flex;align-items:center;gap:10px}.form-section-divider h4:before{content:"";width:6px;height:6px;background:#4caf50;border-radius:50%;box-shadow:0 0 0 3px #4caf5026}.form-group.checkbox-group{margin-bottom:1.5rem}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer}.checkbox-label input[type=checkbox]{margin-top:.2rem;width:18px;height:18px;cursor:pointer}.checkbox-text{display:flex;flex-direction:column;gap:.25rem}.checkbox-text strong{color:#1f2937;font-size:.95rem}.checkbox-text small{color:#6b7280;font-size:.85rem}.assignment-step{padding:24px 0;min-height:420px;animation:stepFadeIn .4s ease-out}@keyframes stepFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.assignment-step h3{margin-top:0;margin-bottom:28px;color:#1e293b;font-size:1.3rem;font-weight:700}.assignment-step .step-description{color:#64748b;font-size:.95rem;line-height:1.6;margin-bottom:24px;padding:14px 18px;background:#f8fafc;border-left:4px solid #4caf50;border-radius:8px}.step-indicator{display:flex;justify-content:space-between;margin-bottom:36px;position:relative;padding:0 10px}.step-indicator:before{content:"";position:absolute;top:24px;left:50px;right:50px;height:3px;background:linear-gradient(90deg,#e5e7eb,#e5e7eb);z-index:0;border-radius:2px}.step{display:flex;flex-direction:column;align-items:center;gap:10px;flex:1;position:relative;z-index:1}.step-number{width:48px;height:48px;border-radius:50%;background-color:#f3f4f6;color:#9ca3af;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.15rem;transition:all .3s cubic-bezier(.4,0,.2,1);border:3px solid white;box-shadow:0 2px 8px #00000014}.step.active .step-number{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 6px 16px #4caf5059;transform:scale(1.1);animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{box-shadow:0 6px 16px #4caf5059}50%{box-shadow:0 6px 24px #4caf5080}}.step.completed .step-number{background:#4caf50;color:#fff;box-shadow:0 4px 12px #4caf5040}.step.completed .step-number:after{content:"✓";font-size:1.3rem}.step-label{font-size:.88rem;color:#6b7280;font-weight:500;text-align:center;max-width:100px;line-height:1.3;transition:all .3s ease}.step.active .step-label{color:#4caf50;font-weight:700;transform:scale(1.05)}.step.completed .step-label{color:#10b981;font-weight:600}.conversation-select-list{display:flex;flex-direction:column;gap:14px;max-height:450px;overflow-y:auto;padding-right:6px}.conversation-select-item{display:flex;align-items:flex-start;gap:16px;padding:20px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#fff,#fafbfc);box-shadow:0 2px 6px #0000000a}.conversation-select-item:hover{border-color:#4caf50;background:#fff;box-shadow:0 6px 16px #4caf501f;transform:translateY(-2px)}.conversation-select-item.selected{border-color:#4caf50;background:linear-gradient(135deg,#f0fdf4,#dcfce7);box-shadow:0 6px 16px #4caf5033;transform:translateY(-2px)}.conversation-select-item.selected:before{content:"✓";position:absolute;top:16px;right:16px;width:28px;height:28px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;box-shadow:0 3px 8px #4caf504d}.conversation-select-item{position:relative}.assignment-modal .step-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.assignment-modal .reset-defaults-btn{padding:10px 20px;background:#fff;color:#4caf50;border:2px solid #4caf50;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px}.assignment-modal .reset-defaults-btn:hover{background:#f0fdf4;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5026}.assignment-modal .reset-defaults-btn:active{transform:translateY(0)}.assignment-modal .assignment-note{margin-top:20px;padding:16px 20px;background:linear-gradient(135deg,#f0f8ff,#e6f3ff);border:2px solid #4a90a4;border-radius:12px;font-size:.92rem;line-height:1.6;color:#1e293b;box-shadow:0 2px 8px #4a90a414}.assignment-modal .assignment-note strong{color:#0f766e;font-weight:700}.student-checkbox-list{max-height:300px;overflow-y:auto;padding:16px;background:#fafbfc;border:2px solid #e5e7eb;border-radius:10px;margin-top:12px}.student-checkbox-list .checkbox-label{padding:12px;margin-bottom:8px;background:#fff;border-radius:8px;border:1px solid #e5e7eb;transition:all .2s ease}.student-checkbox-list .checkbox-label:hover{border-color:#4caf50;background:#f0fdf4;box-shadow:0 2px 6px #4caf5014}.select-all-btn{padding:10px 18px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px #4caf5033}.select-all-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.conversation-select-item:hover{border-color:#4caf50;background-color:#f8fff8;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5026}.conversation-select-item.selected{border-color:#4caf50;background:linear-gradient(135deg,#f0fdf4,#dcfce7);box-shadow:0 4px 16px #4caf5033}.radio-indicator{width:24px;height:24px;border:2px solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;font-weight:700;transition:all .2s ease}.conversation-select-item.selected .radio-indicator{background:#4caf50;border-color:#4caf50}.conversation-select-info{flex:1}.conversation-select-info h4{margin:0 0 8px;color:var(--text-color);font-size:1rem}.conversation-select-info p{margin:0 0 8px;color:#6b7280;font-size:.9rem;line-height:1.4}.conversation-select-meta{display:flex;gap:12px;flex-wrap:wrap;font-size:.85rem;color:#6b7280}.conversation-select-meta span{padding:2px 8px;background-color:#f3f4f6;border-radius:4px}.class-select-list{display:flex;flex-direction:column;gap:12px}.class-select-item{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease;background-color:#fff}.class-select-item:hover{border-color:#4caf50;background-color:#f8fff8;transform:translateY(-2px);box-shadow:0 4px 12px #4caf5026}.class-select-item.selected{border-color:#4caf50;background:linear-gradient(135deg,#f0fdf4,#dcfce7);box-shadow:0 4px 16px #4caf5033}.class-select-info{flex:1}.class-select-info h4{margin:0 0 4px;color:var(--text-color);font-size:1rem}.class-select-info p{margin:0;color:#6b7280;font-size:.9rem}.assignment-summary{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:20px}.summary-item{margin-bottom:8px;font-size:.95rem;color:var(--text-color)}.summary-item:last-child{margin-bottom:0}.student-selection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.select-all-btn{background:transparent;border:1px solid #d1d5db;padding:4px 12px;border-radius:6px;font-size:.85rem;color:#6b7280;cursor:pointer;transition:all .2s ease}.select-all-btn:hover{background:#f3f4f6;border-color:#4caf50;color:#4caf50}.student-checkbox-list{max-height:200px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;padding:12px;background:#fafafa}.checkbox-label{display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer;border-radius:4px;transition:background-color .2s ease}.checkbox-label:hover{background-color:#f3f4f6}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer}.monitoring-dashboard{width:100%}.monitoring-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.btn-back{padding:10px 20px;background:transparent;border:2px solid #d1d5db;border-radius:8px;font-size:.9rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}.btn-back:hover{background:#f3f4f6;border-color:#4caf50;color:#4caf50}.monitoring-title{flex:1}.monitoring-title h2{margin:0 0 4px;color:var(--text-color)}.monitoring-subtitle{margin:0;color:#6b7280;font-size:.95rem}.monitoring-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:30px}.stat-card{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #dee2e6;border-radius:12px;padding:20px;text-align:center;transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-card.completed{background:linear-gradient(135deg,#d1f4dd,#a7f3d0);border-color:#6ee7b7}.stat-card.in-progress{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#93c5fd}.stat-card.not-started{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-color:#d1d5db}.monitoring-content{display:grid;grid-template-columns:2fr 1fr;gap:24px}.student-progress-list{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px}.student-progress-list h3{margin-top:0;margin-bottom:16px;color:var(--text-color)}.student-table{width:100%;border-collapse:collapse;font-size:.9rem;display:block}.student-table thead{background:#f8f9fa;display:table;width:100%;table-layout:fixed}.student-table tbody{display:block;max-height:400px;overflow-y:auto;width:100%}.student-table tbody tr{display:table;width:100%;table-layout:fixed}.student-table th{padding:12px;text-align:left;font-weight:600;color:#6b7280;border-bottom:2px solid #e5e7eb}.student-table td{padding:12px;border-bottom:1px solid #f3f4f6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-table .student-name-cell{font-weight:600;color:var(--text-color);max-width:100%;overflow:hidden}.student-table .student-name-cell span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.student-table tr:hover{background:#f8fff8}.student-table tr.selected{background:#dcfce7}.student-name-cell{font-weight:600;color:var(--text-color)}.btn-view-work{padding:6px 12px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-view-work:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.no-work-yet{color:#9ca3af;font-size:.9rem}.student-work-viewer{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;max-height:600px;overflow-y:auto}.work-viewer-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid #e5e7eb}.work-viewer-header h3{margin:0;color:var(--text-color)}.close-viewer-btn{background:transparent;border:none;font-size:1.2rem;color:#9ca3af;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.close-viewer-btn:hover{background:#fee2e2;color:#ef4444}.work-viewer-meta{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:.85rem;color:#6b7280;padding-bottom:12px;border-bottom:1px solid #f3f4f6}.work-viewer-content{max-height:400px;overflow-y:auto}.conversation-transcript{display:flex;flex-direction:column;gap:12px}.mistakes-summary{background:#fef3c7;border:1px solid #fde047;border-radius:6px;padding:8px;margin-top:8px;font-size:.85rem}.mistakes-summary strong{color:#78350f;display:block;margin-bottom:4px}.mistakes-summary ul{margin:0;padding-left:20px}.mistakes-summary li{color:#92400e;margin-bottom:4px}.assignment-config-info{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:16px;padding:12px;background:#f9fafb;border-radius:8px}.config-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;font-size:.85rem;color:#374151;font-weight:500}.score-cell{text-align:center}.attempts-cell{text-align:center;font-weight:500;color:#6b7280}.score-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-weight:600;font-size:.9rem}.score-excellent{background:#d1fae5;color:#065f46;border:1px solid #10b981}.score-good{background:#dbeafe;color:#1e40af;border:1px solid #3b82f6}.score-fair{background:#fef3c7;color:#78350f;border:1px solid #fbbf24}.score-neutral{background:#f1f5f9;color:#334155;border:1px solid #cbd5e1}.score-needs-improvement{background:#fee2e2;color:#991b1b;border:1px solid #ef4444}.stat-card.score-avg{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.work-viewer-scores{margin-bottom:20px;padding:16px;background:#f9fafb;border-radius:8px}.work-viewer-scores h4{margin:0 0 16px;color:#1f2937;font-size:1.1rem}.single-score-display{background:#fff;padding:20px;border-radius:8px;border:2px solid #e5e7eb}.score-header{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}.score-large{font-size:2.5rem;font-weight:700;padding:8px 16px;border-radius:8px}.score-percentage{font-size:1.2rem;color:#6b7280;font-weight:500}.sub-scores-grid{display:grid;gap:16px;margin-bottom:16px}.sub-score-item{display:flex;flex-direction:column;gap:8px}.sub-score-label{font-size:.85rem;font-weight:600;color:#374151;text-transform:capitalize}.sub-score-bar{position:relative;height:28px;background:#f3f4f6;border-radius:6px;overflow:hidden;display:flex;align-items:center}.sub-score-fill{height:100%;transition:width .3s ease;border-radius:6px}.sub-score-bar .sub-score-value{position:absolute;right:8px;font-weight:700;font-size:.85rem;color:#1f2937;z-index:1}.attempts-scores{display:flex;flex-direction:column;gap:16px}.attempt-score-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:16px}.attempt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.attempt-label{font-size:.95rem;font-weight:600;color:#6b7280}.sub-scores{display:grid;grid-template-columns:repeat(4,minmax(80px,1fr));gap:12px;margin-bottom:12px}.sub-scores .sub-score-item{flex-direction:row;justify-content:space-between;align-items:center;padding:8px 12px;background:#f9fafb;border-radius:6px}.sub-scores .sub-score-label{font-size:.8rem}.sub-scores .sub-score-value{font-weight:700;color:#1f2937;font-size:.95rem}.score-feedback{padding:12px;background:#eff6ff;border-left:3px solid #3b82f6;border-radius:4px;font-size:.9rem;color:#1e40af;line-height:1.5}.score-feedback strong{display:block;margin-bottom:4px;color:#1e3a8a}.student-view{display:flex;flex-direction:column;width:100%;max-width:1200px;height:100vh;background-color:var(--chat-panel-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow)}.student-view.student-view--redesign{max-width:1280px;background:#fafaf9;background-image:radial-gradient(circle at 0% 0%,rgba(34,197,94,.06),transparent 42%),radial-gradient(circle at 100% 100%,rgba(59,130,246,.05),transparent 42%)}.student-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;border-bottom:1px solid #e5e7eb;background:#ffffffd1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20;flex-shrink:0}.student-topbar-brand{display:flex;align-items:center;gap:12px;min-width:0}.student-topbar-logo{flex-shrink:0;opacity:.93}.student-brand-mark{font-family:var(--font-family);font-weight:700;font-size:1.125rem;letter-spacing:-.02em;color:#0f172a;line-height:1.2}.student-brand-accent{font-weight:600;color:#16a34a}.student-brand-divider{width:1px;height:16px;background:#e5e7eb}.student-brand-meta{font-size:.75rem;font-weight:500;color:#94a3b8}.student-topbar-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.student-nav-pills{display:flex;align-items:center;background:#f1f5f9;padding:4px;border-radius:999px;gap:2px}.student-nav-pill{border:none;background:transparent;padding:8px 14px;border-radius:999px;font-family:var(--font-family);font-size:.8125rem;font-weight:600;color:#475569;cursor:pointer;display:inline-flex;align-items:center;gap:8px;flex-shrink:0;transition:color .15s ease,background .15s ease,box-shadow .15s ease}.student-nav-pill:hover{color:#0f172a}.student-nav-pill.active{background:#22c55e;color:#fff;box-shadow:0 1px 3px #22c55e59}.student-nav-pill-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:999px;font-size:.6875rem;font-weight:700;background:#ef4444;color:#fff}.student-nav-pill.active .student-nav-pill-badge{background:#ffffff47;color:#fff}.student-nav-pill-badge--done{background:#16a34a}.student-nav-pill-badge--progress{background:#3b82f6}.student-nav-pill.active .student-nav-pill-badge--done,.student-nav-pill.active .student-nav-pill-badge--progress{background:#ffffff47}.student-layout-toggle.layout-toggle{margin:0}.student-topbar .user-avatar-button{width:40px;height:40px;padding:0;gap:0;border-radius:50%;justify-content:center;align-items:center;flex-shrink:0}.student-header{background:#fff;padding:16px 24px;box-shadow:0 1px 3px #0000000f;border-bottom:2px solid #e5e7eb}.student-header-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.student-title{font-size:1.5rem;font-weight:700;color:var(--text-color);margin:0}.student-header-actions{display:flex;align-items:center;gap:12px}.btn-library{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#bae6fd,#7dd3fc);color:#0c4a6e;border:1px solid #38bdf8;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #38bdf833}.btn-library:hover{transform:translateY(-1px);box-shadow:0 3px 10px #38bdf84d;background:linear-gradient(135deg,#7dd3fc,#38bdf8)}.btn-library:active{transform:translateY(0)}.student-nav{display:flex;gap:0;background-color:var(--bear-panel-bg);border-bottom:2px solid #e5e7eb}.student-nav-btn{flex:1;padding:16px 24px;border:none;background:transparent;font-size:1.1rem;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease;border-bottom:3px solid transparent;position:relative}.student-nav-btn:hover{background-color:#4caf501a;color:var(--button-start-bg)}.student-nav-btn.active{color:var(--button-start-bg);border-bottom-color:var(--button-start-bg);background-color:#4caf500d}.student-nav-btn .badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:700;margin-left:8px}.student-nav-btn .badge.done{background:linear-gradient(135deg,#4caf50,#45a049)}.student-content{flex:1;min-height:0;padding:30px;overflow-y:auto;overflow-x:hidden}.student-view.student-view--redesign .student-content{padding:28px 36px 56px;background:transparent}@media (max-width: 768px){.role-view-wrapper{align-items:stretch;padding:0}.student-view,.student-view.student-view--redesign{width:100%;max-width:100%;border-radius:0;box-shadow:none;height:100vh;height:100dvh}.student-topbar{padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top,0px));display:grid;grid-template-columns:1fr auto auto;grid-template-rows:auto auto;align-items:center;column-gap:8px;row-gap:8px}.student-topbar-brand{grid-column:1;grid-row:1;min-width:0}.student-topbar-right{display:contents}.student-nav-pills{grid-column:1 / -1;grid-row:2;width:100%;max-width:none;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;box-sizing:border-box;padding:3px}.student-nav-pills::-webkit-scrollbar{display:none}.student-nav-pill{padding:6px 10px;font-size:.75rem;gap:6px;scroll-snap-align:start}.student-nav-pill-badge{min-width:16px;height:16px;padding:0 5px;font-size:.625rem}.student-layout-toggle.student-layout-toggle{grid-column:2;grid-row:1;justify-self:end}.student-topbar .user-menu-container{grid-column:3;grid-row:1;justify-self:end}.student-view.student-view--redesign .student-content,.student-content{padding:16px 14px max(28px,env(safe-area-inset-bottom,0px))}}.student-all-done-empty{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;min-height:280px;font-family:var(--font-family)}.student-all-done-card{max-width:440px;text-align:center;padding:40px 32px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid #e5e7eb;font-family:var(--font-family)}.student-all-done-icon{font-size:3.5rem;line-height:1;margin-bottom:16px;display:block}.student-all-done-heading{font-size:1.5rem;font-weight:700;color:#111827;margin:0 0 12px;line-height:1.3;font-family:var(--font-family)}.student-all-done-message{font-size:1rem;color:#4b5563;margin:0 0 8px;line-height:1.5;font-family:var(--font-family)}.student-all-done-hint{font-size:.9rem;color:#6b7280;margin:0;line-height:1.45;font-family:var(--font-family)}.student-dash{width:100%;max-width:1280px;margin:0 auto;font-family:var(--font-family)}.student-dash-header-strip{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.student-dash-greeting-title{font-family:var(--font-family);font-weight:700;font-size:clamp(1.75rem,4vw,2.25rem);line-height:1.15;letter-spacing:-.03em;margin:0 0 6px;color:#0f172a}.student-dash-greeting-name{font-weight:600;color:#16a34a}.student-dash-greeting-sub{margin:0;color:#475569;font-size:.9375rem}.student-dash-date-chip{font-size:.75rem;font-weight:600;color:#475569;border:1px solid #e5e7eb;padding:6px 12px;border-radius:999px;background:#fff;white-space:nowrap}.student-dash-summary{margin-bottom:8px}.student-dash-status-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.student-dash-status-card{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:16px 20px;position:relative;overflow:hidden;text-align:left;cursor:default;font-family:inherit}.student-dash-status-card--todo,.student-dash-status-card--progress,.student-dash-status-card--done{cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.student-dash-status-card--todo:hover,.student-dash-status-card--progress:hover,.student-dash-status-card--done:hover{border-color:#cbd5e1;box-shadow:0 4px 14px #0f172a0f}.student-dash-status-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}.student-dash-status-card--todo:before{background:#f59e0b}.student-dash-status-card--progress:before{background:#3b82f6}.student-dash-status-card--done:before{background:#22c55e}.student-dash-status-label{font-size:.8125rem;font-weight:700;color:#0f172a;margin-bottom:2px}.student-dash-status-sub{font-size:.75rem;color:#94a3b8}.student-dash-status-num{font-family:var(--font-family);font-weight:700;font-size:clamp(1.75rem,3vw,2.25rem);line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.student-dash-status-card--todo .student-dash-status-num{color:#f59e0b}.student-dash-status-card--progress .student-dash-status-num{color:#3b82f6}.student-dash-status-card--done .student-dash-status-num{color:#16a34a}.student-dash-metrics-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:12px;align-items:stretch}.student-dash-metrics-row>:only-child{grid-column:1 / -1}.student-dash-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px}.student-dash-score-panel{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden}.student-dash-score-block{padding:22px 24px;position:relative}.student-dash-score-block+.student-dash-score-block{border-left:1px solid #e5e7eb}.student-dash-score-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.student-dash-score-lbl{font-size:.8125rem;font-weight:700;color:#475569}.student-dash-grade-tag{font-size:.6875rem;font-weight:700;padding:3px 8px;border-radius:6px}.student-dash-score-value{font-family:var(--font-family);font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:1;letter-spacing:-.03em;margin-bottom:4px;display:flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums}.student-dash-score-max{font-size:1.125rem;font-weight:600;color:#94a3b8}.student-dash-score-meta{font-size:.8125rem;color:#475569;margin-top:4px}.student-dash-score-bar{margin-top:12px;height:4px;background:#f1f5f9;border-radius:999px;overflow:hidden}.student-dash-score-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#ef4444,#f59e0b)}.student-dash-score-bar-fill--best{background:linear-gradient(90deg,#3b82f6,#22c55e)}.student-dash-progress-panel{border:none;background:linear-gradient(135deg,#14532d,#166534);color:#fff;overflow:hidden;position:relative;padding:22px 24px}.student-dash-progress-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 80% 20%,rgba(34,197,94,.35),transparent 50%),radial-gradient(circle at 10% 90%,rgba(255,255,255,.06),transparent 50%);pointer-events:none}.student-dash-progress-panel>*{position:relative;z-index:1}.student-dash-progress-lbl{font-size:.8125rem;font-weight:700;color:#ffffffbf;margin-bottom:14px}.student-dash-ring-wrap{display:flex;align-items:center;gap:16px}.student-dash-ring{width:78px;height:78px;flex-shrink:0;transform:rotate(-90deg)}.student-dash-ring-track{fill:none;stroke:#ffffff2e;stroke-width:8}.student-dash-ring-fill{fill:none;stroke:#4ade80;stroke-width:8;stroke-linecap:round}.student-dash-ring-text{font-family:var(--font-family);font-weight:700;font-size:1.75rem;line-height:1;margin-bottom:4px;font-variant-numeric:tabular-nums}.student-dash-ring-sub{font-size:.75rem;color:#ffffffb8}.student-dash-section-head{display:flex;align-items:baseline;justify-content:space-between;margin:32px 0 14px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.student-dash-section-title{font-family:var(--font-family);font-weight:700;font-size:1.25rem;letter-spacing:-.02em;margin:0;color:#0f172a}.student-dash-section-count{font-size:.75rem;font-weight:600;color:#94a3b8}.student-dash-assignment-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.student-dash-assignment{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 16px;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;cursor:pointer}.student-dash-assignment:hover{border-color:#22c55e;transform:translateY(-1px);box-shadow:0 4px 16px -8px #22c55e59}.student-dash-assignment:focus-visible{outline:2px solid #22c55e;outline-offset:2px}.student-dash-assignment-info{min-width:0;flex:1}.student-dash-assignment-title{font-family:var(--font-family);font-weight:700;font-size:1.0625rem;letter-spacing:-.02em;margin:0 0 6px;line-height:1.25;color:#0f172a}.student-dash-assignment-meta{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:#94a3b8}.student-dash-meta-dot{width:3px;height:3px;border-radius:50%;background:#94a3b8}.student-dash-pill{font-size:.6875rem;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;flex-shrink:0}.student-dash-pill--not-started{background:#fef3c7;color:#92400e}.student-dash-pill--in-progress{background:#dbeafe;color:#1d4ed8}.student-dash-start-btn{border:none;background:#3b82f6;color:#fff;font-family:var(--font-family);font-size:.8125rem;font-weight:700;padding:9px 16px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;box-shadow:0 1px 3px #3b82f659;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.student-dash-start-btn:hover{background:#22c55e;box-shadow:0 4px 12px #22c55e59}.student-dash-start-arrow{transition:transform .2s ease}.student-dash-start-btn:hover .student-dash-start-arrow{transform:translate(3px)}.student-dash-empty{text-align:center;padding:48px 24px;border:1px dashed #e5e7eb;border-radius:16px;background:#fff9;margin-top:16px}.student-dash-empty-icon{font-size:2.5rem;margin-bottom:12px}.student-dash-empty-title{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:#0f172a}.student-dash-empty-text{margin:0;color:#64748b;font-size:.9375rem}.student-dash-reminder{margin-top:28px;padding:14px 18px;text-align:center;font-size:.875rem;font-weight:600;color:#1e40af;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:12px}@media (max-width: 900px){.student-dash-metrics-row,.student-dash-score-panel{grid-template-columns:1fr}.student-dash-score-block+.student-dash-score-block{border-left:none;border-top:1px solid #e5e7eb}.student-dash-assignment-list{grid-template-columns:1fr}.student-dash-header-strip{flex-direction:column;align-items:flex-start}}@media (max-width: 560px){.student-dash-status-row{grid-template-columns:1fr}.student-topbar{padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top,0px));row-gap:6px}.student-nav-pill{padding:6px 8px;font-size:.6875rem}}.student-assignments-container{width:100%}.student-assignments-container h2{margin:0 0 8px;color:var(--text-color)}.section-description{margin:0 0 24px;color:#6b7280;font-size:.95rem}.assignment-section{margin-bottom:32px}.section-title{margin:0 0 16px;padding-bottom:8px;border-bottom:2px solid #e5e7eb;color:var(--text-color);font-size:1.1rem;font-weight:600}.section-title.in-progress{color:#3b82f6;border-bottom-color:#bfdbfe}.section-title.not-started{color:#6b7280;border-bottom-color:#e5e7eb}.assignments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.layout-toggle{display:flex;gap:2px;background:#fff;padding:2px;border-radius:6px;border:1px solid #e5e7eb}.layout-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:5px;cursor:pointer;color:#6b7280;transition:all .2s ease}.layout-btn:hover{background:#f0f9ff;color:#0369a1}.layout-btn.active{background:linear-gradient(135deg,#bae6fd,#7dd3fc);color:#0c4a6e;box-shadow:0 1px 3px #38bdf840}.layout-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px #38bdf8}.layout-btn svg{width:16px;height:16px}.assignment-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.student-assignment-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:14px;transition:all .3s ease}.student-assignment-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000014}.student-assignment-card.in_progress{border-color:#93c5fd;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.student-assignment-card.completed{border-color:#6ee7b7;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.student-assignment-card.not_started{border-color:#e5e7eb;background:#fff}.student-assignment-card{padding:16px;border-radius:12px;border-width:1px}.assignment-card-header-v2{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.assignment-card-title-v2{font-size:1rem;font-weight:700;color:#1f2937;margin:0;line-height:1.3;flex:1;min-width:0;word-break:break-word}.assignment-card-badges-v2{display:flex;align-items:center;gap:8px;flex-shrink:0}.status-pill{font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:6px;text-transform:capitalize}.status-pill.status-pill-completed{background:#d1fae5;color:#059669}.status-pill.status-pill-in-progress{background:#dbeafe;color:#2563eb}.status-pill.status-pill-not-started{background:#f3f4f6;color:#6b7280}.badge-new-feedback{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:4px;background:#fef3c7;color:#b45309}.assignment-card-meta-v2{font-size:.8125rem;color:#6b7280;margin-bottom:8px}.assignment-card-description-v2{font-size:.8125rem;color:#6b7280;line-height:1.45;margin:0 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.assignment-card-result-strip{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:10px 12px;background:#f8fafc;border-radius:8px;border:1px solid rgba(0,0,0,.06)}.result-strip-primary{display:flex;gap:10px;flex:1;min-width:min(100%,220px)}.result-score-context{display:flex;flex-direction:column;gap:3px;justify-content:center}.result-score-context-title{font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#334155}.result-score{display:inline-flex;align-items:center;gap:8px}.result-score.score-clickable{cursor:pointer}.result-score.score-clickable:hover{opacity:.9}.result-score.score-clickable:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:6px}.result-score-value{font-size:1.125rem;font-weight:700}.result-score-value--numeric-neutral{color:#334155}.result-score-letter{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:6px;color:#fff;font-size:.75rem;font-weight:700}.result-attempts{font-size:.8125rem;color:#6b7280;font-weight:500}.assignment-card-dates-v2{margin-bottom:12px}.date-chip{font-size:.8125rem;font-weight:500;color:#6b7280;padding:4px 0}.date-chip.due-soon{color:#b45309}.date-chip.overdue{color:#dc2626;font-weight:600}.date-chip.date-chip-completed{color:#059669;font-weight:500}.assignment-card-actions-v2{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid rgba(0,0,0,.06)}.btn-card-primary{width:100%;padding:10px 16px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-card-primary:hover{background:linear-gradient(135deg,#45a049,#388e3c);box-shadow:0 2px 8px #4caf504d}.btn-card-primary:focus-visible,.btn-card-secondary:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.btn-card-secondary{width:100%;padding:8px 16px;background:#fff;color:#4b5563;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-card-secondary:hover{background:#f9fafb;border-color:#d1d5db}.assignment-list-item-v2{padding:12px 16px;min-height:52px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.assignment-list-item-v2:hover{box-shadow:0 2px 8px #0000000f}.assignment-list-item-v2.status-in-progress{border-color:#93c5fd;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.assignment-list-item-v2.status-in-progress:hover{border-color:#60a5fa;box-shadow:0 4px 12px #3b82f61f}.assignment-list-item-v2.status-completed{border-color:#6ee7b7;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.assignment-list-item-v2.status-completed:hover{border-color:#34d399;box-shadow:0 4px 12px #10b9811f}.assignment-list-item-v2.status-not-started:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.assignment-list-item-v2 .list-item-v2-description{margin:4px 0 0;padding:0;font-size:.75rem;line-height:1.4;color:#64748b;max-width:100%;min-width:0;overflow-wrap:anywhere;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;border:none;background:transparent}.assignment-list-item-v2 .list-item-v2-main{display:flex;align-items:center;gap:16px;flex-wrap:wrap;row-gap:12px}.assignment-list-item-v2 .list-item-v2-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.assignment-list-item-v2 .list-item-v2-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.assignment-list-item-v2 .list-item-v2-title{font-size:.9375rem;font-weight:700;color:#1f2937;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.assignment-list-item-v2 .list-item-v2-class{font-size:.8125rem;color:#6b7280}.assignment-list-item-v2 .list-item-v2-center{flex-shrink:0}.assignment-list-item-v2 .list-item-v2-result{display:flex;align-items:center;gap:12px}.assignment-list-item-v2 .list-item-v2-score-stack{display:flex;gap:6px;align-items:center;text-align:center;max-width:220px}.assignment-list-item-v2 .list-item-v2-scoring-context{display:flex;flex-direction:column;gap:2px;align-items:center}.assignment-list-item-v2 .list-item-v2-scoring-context .result-score-context-title{font-size:.625rem}.assignment-list-item-v2 .list-item-v2-score{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background:#fffc;border-radius:6px}.assignment-list-item-v2 .list-item-v2-score .result-score-value{font-size:.9375rem;font-weight:700}.assignment-list-item-v2 .list-item-v2-score .result-score-letter{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;border-radius:6px;color:#fff;font-size:.75rem;font-weight:700}.assignment-list-item-v2 .list-item-v2-attempts{font-size:.8125rem;color:#6b7280;font-weight:500}.assignment-list-item-v2-group{display:flex;flex-direction:column;gap:0}.assignment-list-item-v2.has-expandable-attempts{border-bottom-left-radius:0;border-bottom-right-radius:0;cursor:pointer}.assignment-list-item-v2.has-expandable-attempts:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.list-item-v2-attempts-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;margin:0;border:1px solid transparent;border-radius:6px;background:transparent;cursor:pointer;font:inherit;color:inherit}.list-item-v2-attempts-toggle:hover{background:#f3f4f6;border-color:#e5e7eb;color:#374151}.list-item-v2-attempts-chevron{font-size:.7rem;opacity:.75}.student-attempt-panel-wrap{padding:0 12px 12px;background:#fff;border:1px solid #e5e7eb;border-top:none;border-radius:0 0 12px 12px;margin-bottom:8px}.student-attempt-panel-wrap--card{margin:0 0 12px;padding:0 12px 12px;border:1px solid #e8ecf1;border-radius:10px;background:#f8fafc}.student-attempt-panel-wrap--card .student-attempt-item{gap:8px 10px;padding:8px 10px}.student-attempt-panel{padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:10px}.student-attempt-panel-head{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.student-attempt-panel-title{font-size:.75rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.04em}.student-attempt-panel-hint{font-size:.75rem;color:#64748b;line-height:1.35}.student-attempt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.student-attempt-item{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px;border-radius:8px;background:#f1f5f9;border:1px solid #e2e8f0}.student-attempt-label{font-weight:700;color:#1e293b;min-width:80px}.student-attempt-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;flex:1 1 160px}.student-attempt-score{display:inline-flex;padding:2px 10px;font-size:.8rem;font-weight:700;color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4;border-radius:999px}.student-attempt-ended-wrap{display:inline-flex;align-items:baseline;gap:6px}.student-attempt-ended-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.student-attempt-ended{font-size:.85rem;font-weight:500;color:#475569;font-variant-numeric:tabular-nums}.student-attempt-feedback-btn{margin-left:auto;padding:6px 12px;font-size:.8rem;font-weight:600;color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;cursor:pointer}.student-attempt-feedback-btn:hover{background:#e0e7ff}.student-attempt-muted{margin-left:auto;font-size:.85rem;color:#94a3b8}.result-attempts-toggle{border:none;background:transparent;cursor:pointer;padding:0;font:inherit;color:inherit}.result-attempts-toggle:hover{color:#374151;text-decoration:underline}.assignment-list-item-v2 .list-item-v2-dates{flex-shrink:0}.assignment-list-item-v2 .list-item-v2-date{font-size:.8125rem;white-space:nowrap}.assignment-list-item-v2 .list-item-v2-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;row-gap:8px;flex-shrink:0;max-width:100%}.btn-list-primary{padding:8px 16px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-list-primary:hover{background:linear-gradient(135deg,#45a049,#388e3c);box-shadow:0 2px 8px #4caf504d}.btn-list-secondary{padding:6px 12px;background:#fff;color:#4b5563;border:1px solid #e5e7eb;border-radius:8px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-list-secondary:hover{background:#f9fafb;border-color:#d1d5db}.btn-list-primary:focus-visible,.btn-list-secondary:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.assignment-list-item-v2 .list-item-v2-score.score-clickable:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:6px}@media (max-width: 768px){.assignment-list{gap:10px}.assignment-list-item-v2{padding:14px}.assignment-list-item-v2 .list-item-v2-main{flex-direction:column;align-items:stretch;gap:10px;row-gap:10px}.assignment-list-item-v2 .list-item-v2-left{flex:none;width:100%;min-width:0;align-items:flex-start}.assignment-list-item-v2 .list-item-v2-info{width:100%;min-width:0}.assignment-list-item-v2 .list-item-v2-title{white-space:normal;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:anywhere;word-break:break-word;font-size:1rem;line-height:1.35}.assignment-list-item-v2 .list-item-v2-class{font-size:.8125rem;line-height:1.35}.assignment-list-item-v2 .list-item-v2-description{-webkit-line-clamp:3;line-clamp:3}.assignment-list-item-v2 .badge-new-feedback{flex-shrink:0;margin-top:2px}.assignment-list-item-v2 .list-item-v2-center{width:100%;flex-shrink:1}.assignment-list-item-v2 .list-item-v2-result{flex-wrap:wrap;justify-content:flex-start;gap:10px;width:100%}.assignment-list-item-v2 .list-item-v2-score-stack{max-width:none;text-align:left;align-items:flex-start}.assignment-list-item-v2 .list-item-v2-scoring-context{align-items:flex-start}.assignment-list-item-v2 .list-item-v2-dates{width:100%;flex-shrink:1}.assignment-list-item-v2 .list-item-v2-date{white-space:normal;line-height:1.35}.assignment-list-item-v2 .list-item-v2-actions{width:100%;flex-shrink:1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.assignment-list-item-v2 .list-item-v2-actions .btn-list-primary:only-child,.assignment-list-item-v2 .list-item-v2-actions .btn-list-secondary:only-child{grid-column:1 / -1}.assignment-list-item-v2 .btn-list-primary,.assignment-list-item-v2 .btn-list-secondary{width:100%;justify-content:center;text-align:center;min-height:40px}.student-attempt-panel-wrap{padding:0 10px 10px}.student-attempt-item{flex-direction:column;align-items:stretch;gap:8px}.student-attempt-label{min-width:0}.student-attempt-meta{flex:none;width:100%}.student-attempt-feedback-btn{margin-left:0;width:100%;justify-content:center;min-height:38px}.student-assignment-card{padding:14px}.assignment-card-title-v2{font-size:1.0625rem;line-clamp:3;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}}@media (max-width: 480px){.assignment-list-item-v2 .list-item-v2-actions{grid-template-columns:1fr}.assignment-list-item-v2 .list-item-v2-title{font-size:.9375rem}}.assignment-list{display:flex;flex-direction:column;gap:12px;overflow-y:auto}.assignment-list-item{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:14px 18px;transition:all .3s ease;box-shadow:0 1px 3px #0000000d}.assignment-list-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.assignment-list-item.status-in-progress{border-color:#93c5fd;background:linear-gradient(135deg,#f0f9ff,#e0f2fe)}.assignment-list-item.status-in-progress:hover{border-color:#60a5fa;box-shadow:0 4px 12px #3b82f626}.assignment-list-item.status-completed{border-color:#6ee7b7;background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.assignment-list-item.status-completed:hover{border-color:#34d399;box-shadow:0 4px 12px #10b98126}.assignment-list-item.status-not-started{background:#fff;border-color:#e5e7eb}.assignment-list-item.status-not-started:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000014}.list-item-main{display:flex;align-items:center;justify-content:space-between;gap:20px}.list-item-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}.list-status-icon{font-size:1.25rem;flex-shrink:0;line-height:1}.list-item-info{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}.list-item-title{font-size:1rem;font-weight:700;color:#1f2937;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.list-item-class{font-size:.85rem;color:#6b7280;font-weight:500}.list-item-center{display:flex;align-items:center;gap:16px;flex-shrink:0}.list-item-score{display:flex;align-items:center;gap:8px;background:#fffc;padding:6px 12px;border-radius:6px;border:1px solid rgba(0,0,0,.05)}.list-item-score .score-value{font-size:.95rem;font-weight:700;letter-spacing:-.01em}.list-item-score .score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 6px;border-radius:6px;color:#fff;font-size:.8rem;font-weight:700;box-shadow:0 1px 3px #0003}.list-item-attempts{font-size:.85rem;color:#6b7280;font-weight:500;background:#f9fafb;padding:4px 10px;border-radius:12px;border:1px solid #e5e7eb}.list-item-right{display:flex;align-items:center;gap:14px;flex-shrink:0}.list-item-date{font-size:.9rem;color:#6b7280;font-weight:500;white-space:nowrap;padding:5px 12px;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.list-item-date.due-soon{color:#d97706;background:#fef3c7;border-color:#fde047;font-weight:600}.list-item-date.overdue{color:#dc2626;background:#fee2e2;border-color:#fecaca;font-weight:700}.list-item-date.completed{color:#059669;background:#d1fae5;border-color:#6ee7b7;font-weight:600}.btn-list-action{padding:8px 20px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;box-shadow:0 2px 6px #4caf5033}.btn-list-action:hover{background:linear-gradient(135deg,#45a049,#388e3c);transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-list-transcript{padding:6px 14px;background:#fff;color:#3b82f6;border:1.5px solid #3b82f6;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.btn-list-transcript:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f626}.assignment-card-title{font-size:1rem;font-weight:700;color:var(--text-color);margin:0 0 8px}.assignment-card-class{font-size:.9rem;color:#6b7280;margin-bottom:12px}.assignment-card-description{font-size:.9rem;color:#6b7280;line-height:1.5;margin:12px 0}.assignment-card-score{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:2px solid #e5e7eb;border-radius:10px;padding:14px;margin:12px 0}.score-display{display:flex;justify-content:space-between;align-items:center}.score-display .score-label{font-size:.875rem;color:#6b7280;font-weight:600}.score-display .score-value-container{display:flex;align-items:center;gap:10px}.score-value-container.score-clickable,.list-item-score.score-clickable{cursor:pointer;border-radius:6px;transition:background-color .15s ease}.score-value-container.score-clickable:hover,.list-item-score.score-clickable:hover{background-color:#4a90a40f}.score-display .score-value{font-size:1.5rem;font-weight:700}.score-display .score-badge{padding:4px 10px;border-radius:6px;color:#fff;font-weight:700;font-size:1rem}.latest-score{font-size:.875rem;color:#6b7280;margin-top:8px;padding-top:8px;border-top:1px solid #e5e7eb}.assignment-card-attempts{display:flex;justify-content:space-between;align-items:center;background:#f3f4f6;border-radius:8px;padding:10px 14px;margin:12px 0}.attempts-label{font-size:.875rem;color:#6b7280;font-weight:600}.attempts-value{font-size:.875rem;color:var(--text-color);font-weight:700}.assignment-card-dates,.assignment-card-due,.assignment-card-completed{display:flex;justify-content:space-between;font-size:.85rem;margin:8px 0;padding:6px 0}.date-label{color:#6b7280;font-weight:500}.date-value{color:var(--text-color);font-weight:600}.assignment-card-due.due-soon{background:#fef3c7;border:1px solid #fde047;border-radius:6px;padding:8px}.assignment-card-due.due-soon .date-value{color:#92400e}.assignment-card-due.overdue{background:#fee2e2;border:1px solid #fecaca;border-radius:6px;padding:8px}.assignment-card-due.overdue .date-value{color:#dc2626;font-weight:700}.assignment-card-actions{margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:10px}.btn-start-assignment{width:100%;padding:12px 20px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-start-assignment:hover{background:linear-gradient(135deg,#45a049,#388e3c);transform:translateY(-1px);box-shadow:0 4px 12px #4caf504d}.btn-view-transcript{width:100%;padding:8px 16px;background:#fff;color:#3b82f6;border:1.5px solid #3b82f6;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.btn-view-transcript:hover{background:#eff6ff;border-color:#2563eb;color:#2563eb;transform:translateY(-1px);box-shadow:0 2px 8px #3b82f626}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-badge.completed{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.status-badge.in-progress{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.status-badge.not-started{background:#e5e7eb;color:#6b7280}.btn-primary{padding:12px 24px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #4caf5033}.btn-primary:hover{background:linear-gradient(135deg,#45a049,#388e3c);transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-create-assignment{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #4caf5040;position:relative;overflow:hidden}.btn-create-assignment:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn-create-assignment:hover:before{left:100%}.btn-create-assignment:hover{background:linear-gradient(135deg,#45a049,#388e3c);transform:translateY(-3px);box-shadow:0 6px 20px #4caf5066}.btn-create-assignment:active{transform:translateY(-1px);box-shadow:0 2px 8px #4caf504d}.btn-create-assignment .btn-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff3;border-radius:6px;font-size:1.3rem;font-weight:700;line-height:1;transition:all .3s ease}.btn-create-assignment:hover .btn-icon{background:#ffffff4d;transform:rotate(90deg)}.btn-create-assignment .btn-text{letter-spacing:.3px}.back-button{background:transparent;border:2px solid #d1d5db;border-radius:8px;padding:8px 16px;color:#6b7280;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-right:auto}.back-button:hover{background:#f3f4f6;border-color:#4caf50;color:#4caf50}@media (max-width: 768px){.role-view-wrapper:has(.teacher-view){padding:10px}.teacher-content{padding:15px}.teacher-nav{flex-wrap:wrap}.teacher-nav-actions{width:100%;padding:10px;justify-content:center;border-top:1px solid #e5e7eb}.teacher-nav-actions .btn-secondary,.teacher-nav-actions .btn-create-conversation{flex:1;justify-content:center}.class-grid,.assignment-grid,.assignment-cards-grid,.monitoring-content{grid-template-columns:1fr}.student-work-viewer{max-height:none}.progress-stats,.monitoring-stats{grid-template-columns:repeat(2,1fr)}.dashboard-stats{grid-template-columns:1fr}.step-indicator{flex-direction:column;align-items:flex-start;gap:16px}.step-indicator:before{display:none}.step{flex-direction:row;width:100%}}@media (max-width: 480px){.teacher-nav-btn,.student-nav-btn{font-size:.95rem;padding:12px 16px}.assignment-modal{width:100%}.student-table{font-size:.8rem}.student-table th,.student-table td{padding:8px 4px}}.teacher-header{background:#fff;padding:16px 24px;box-shadow:0 1px 3px #0000000f;border-bottom:2px solid #e5e7eb}.header-content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px}.teacher-header-left{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.teacher-brand-lockup{display:flex;align-items:center;gap:14px;min-width:0}.teacher-header-logo{flex-shrink:0;opacity:.94}.teacher-header-text{display:flex;flex-direction:column;gap:2px;min-width:0}.teacher-dashboard-context{margin:0;font-size:.72rem;font-weight:600;color:#64748b;letter-spacing:.06em;text-transform:uppercase}@media (max-width: 768px){.role-view-wrapper:has(.teacher-view){align-items:stretch;padding:0}.teacher-view{width:100%;max-width:100%;height:100vh;height:100dvh}.teacher-view .teacher-header{position:relative;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top,0px));padding-right:58px}.teacher-view .teacher-header .header-content{display:flex;flex-direction:column;align-items:stretch;gap:8px;max-width:none;margin:0}.teacher-view .teacher-header-left{flex:none;width:100%;min-width:0;padding-right:4px}.teacher-view .teacher-header-right{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;width:100%;flex-shrink:1;overflow:visible;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px;padding-top:2px}.teacher-view .teacher-header-right::-webkit-scrollbar{display:none}.teacher-view .teacher-header .user-menu-container{position:absolute;top:max(10px,env(safe-area-inset-top,0px));right:14px;z-index:3}.teacher-view .teacher-header .user-avatar-button{width:40px;height:40px;padding:0;gap:0;border-radius:50%;justify-content:center}.teacher-view .teacher-header .avatar-name,.teacher-view .teacher-header .dropdown-arrow,.teacher-view .teacher-dashboard-context,.teacher-view .teacher-header-action-label{display:none}.teacher-view .teacher-header-action-btn{padding:8px 10px;min-width:40px;min-height:40px;justify-content:center}.teacher-view .teacher-header .view-toggle-container{flex-shrink:0}.teacher-view .teacher-header .view-toggle-btn{padding:8px 10px;min-width:40px;min-height:36px}.teacher-view .teacher-header .closed-toggle-btn{margin-left:0;flex-shrink:0}}@media (max-width: 560px){.teacher-view .teacher-header{padding:8px 12px;padding-top:max(8px,env(safe-area-inset-top,0px));padding-right:52px}.teacher-view .teacher-header .user-menu-container{right:12px}}.teacher-header-right{display:flex;align-items:center;gap:12px;flex-shrink:0}.teacher-header-action-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:8px;border:2px solid #e5e7eb;background:#fff;color:#374151;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.teacher-header-action-btn:hover{border-color:var(--button-start-bg, #4caf50);background:#4caf5014;color:#2e7d32;box-shadow:0 2px 8px #4caf5026}.teacher-header-action-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4caf5059}.teacher-header-action-icon{display:flex;align-items:center;justify-content:center}.teacher-header-action-icon svg{flex-shrink:0}.teacher-header-action-label{white-space:nowrap}.user-menu-container{position:relative}.user-avatar{border-radius:50%;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;overflow:hidden;position:relative}.avatar-small{width:32px;height:32px;font-size:.9rem}.avatar-medium{width:44px;height:44px;font-size:1.2rem}.avatar-large{width:52px;height:52px;font-size:1.4rem}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-initial{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;height:100%}.user-avatar-button{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#fff;border:2px solid #e5e7eb;border-radius:50px;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.user-avatar-button:hover{border-color:#4caf50;box-shadow:0 2px 8px #4caf5026}.avatar-name{font-size:.9rem;font-weight:600;color:#374151;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{font-size:.65rem;color:#6b7280;transition:transform .2s ease}.menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:transparent;z-index:999}.user-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026,0 2px 8px #00000014;z-index:1000;animation:dropdownSlideIn .2s ease-out;overflow:hidden}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.menu-header{padding:14px;display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-bottom:1px solid #e5e7eb}.menu-user-details{flex:1;min-width:0}.menu-user-name{font-size:.95rem;font-weight:700;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-user-role{font-size:.8rem;color:#6b7280;margin-top:2px}.menu-action-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;background:#fff;text-align:left;cursor:pointer;transition:background-color .2s ease;font-family:var(--font-family)}.menu-action-item:hover{background-color:#f9fafb}.menu-item-icon{font-size:1.1rem;flex-shrink:0}.menu-item-text{font-size:.9rem;font-weight:500;color:#374151}.menu-logout-item{color:#dc2626}.menu-logout-item .menu-item-text{color:#dc2626;font-weight:600}.menu-logout-item:hover{background-color:#fee2e2}.teacher-title{font-size:1.5rem;font-weight:700;color:var(--text-color);margin:0;display:flex;align-items:center;gap:8px}.header-actions{display:flex;gap:10px;align-items:center}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-primary{background:var(--button-start-bg);color:#fff;border:none;box-shadow:0 1px 3px #0000001a}.btn-primary:hover{background:#45a049;transform:translateY(-1px);box-shadow:0 2px 6px #4caf5040}.btn-secondary{background:#fff;color:var(--text-color);border:2px solid #d1d5db}.btn-secondary:hover{background:#f9fafb;border-color:var(--button-start-bg);color:var(--button-start-bg)}.btn-icon{font-size:1rem;line-height:1}.btn-icon{font-size:1.2rem}.status-tabs{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:0 16px;display:flex;justify-content:space-between;align-items:center}.status-tabs-container{display:flex;gap:8px}.date-filter{padding:8px 0}.date-filter-select{padding:8px 16px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:.9rem;font-family:var(--font-family);cursor:pointer;transition:all .2s ease}.date-filter-select:hover{border-color:var(--button-start-bg)}.date-filter-select:focus{outline:none;border-color:var(--button-start-bg);box-shadow:0 0 0 3px #4caf501a}.status-tab{flex-shrink:0;background:transparent;border:none;border-bottom:3px solid transparent;padding:10px 16px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px;font-size:.95rem;font-weight:600;color:#6b7280}.status-tab:hover{background:#4caf500d;color:#374151}.status-tab.active{border-bottom-color:var(--button-start-bg);color:var(--button-start-bg);background:#4caf500d}.status-tab-icon{font-size:1.1rem}.status-tab-text{font-weight:600}.status-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:#e5e7eb;color:#6b7280;border-radius:12px;font-size:.8rem;font-weight:700}.status-tab.active .status-tab-count{background:var(--button-start-bg);color:#fff}.class-tabs{background:#fff;border-bottom:1px solid #e5e7eb;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.class-tabs::-webkit-scrollbar{display:none}.tabs-container{max-width:1400px;margin:0 auto;display:flex;gap:2px;padding:0 16px}.class-tab{flex-shrink:0;background:transparent;border:none;border-bottom:3px solid transparent;padding:10px 14px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.class-tab:hover{background:#4caf500d}.class-tab.active{border-bottom-color:var(--button-start-bg);background:transparent}.tab-name{font-size:.95rem;font-weight:600;color:#555}.tab-count{font-size:.8rem;color:#888}.class-tab.active .tab-name{color:var(--button-start-bg);font-weight:700}.class-tab.active .tab-count{color:#666}.teacher-content{flex:1;overflow-y:auto;padding:16px 20px 20px;max-width:1400px;margin:0 auto;width:90%;background:var(--background-color)}.assignments-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:24px;align-items:stretch}.assignments-list{background:#fff;border-radius:12px;box-shadow:0 2px 6px #0000000f;border:2px solid #e5e7eb;overflow-x:auto;overflow-y:visible;width:100%}.assignments-list .list-header,.assignments-list .list-row{display:grid;grid-template-columns:minmax(180px,2fr) minmax(90px,1fr) minmax(88px,.85fr) minmax(0,max-content) minmax(100px,1fr) 88px;gap:12px 16px;padding-left:20px;padding-right:20px}.assignments-list .list-header{padding-top:14px;padding-bottom:14px;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:2px solid #e5e7eb;font-weight:600;font-size:.8rem;color:#475569;text-transform:uppercase;letter-spacing:.04em;align-items:end}.assignments-list .list-row{padding-top:16px;padding-bottom:16px;border-bottom:1px solid #f3f4f6;align-items:center;transition:background .2s ease;position:relative;overflow:visible}.assignments-list .list-row:hover{background:#f9fafb}.assignments-list .list-row-clickable{cursor:pointer}.assignments-list .list-row-clickable:focus-visible{outline:2px solid #2196f3;outline-offset:-2px}.assignments-list .list-row-clickable .list-col-actions{cursor:default}.assignments-list .list-row:last-child{border-bottom:none}.list-row-closed{opacity:.85;background:#fafafa}.list-row-closed:hover{background:#f3f4f6}.list-status-badge{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:6px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.list-status-badge.status-active{background:#dcfce7;color:#166534;border:1px solid #86efac}.list-status-badge.status-closed{background:#fef3c7;color:#d97706;border:1px solid #fcd34d}.list-status-badge.status-archived{background:#e5e7eb;color:#6b7280;border:1px solid #d1d5db}.assignments-list .list-col{display:flex;align-items:center;font-size:.9rem;color:#374151;overflow:visible}.list-col-name{font-weight:600;flex:1}.list-name-wrapper{display:flex;flex-direction:column;gap:4px;width:100%}.list-assignment-name{color:#1f2937;font-weight:600;font-size:.95rem}.list-description{color:#6b7280;font-size:.8rem;font-weight:400;line-height:1.4}.assignment-student-progress{width:100%;min-width:0}.progress-chip-row{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;width:max-content;max-width:100%}.progress-chip{position:relative;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;padding:4px 9px 4px 4px;border-radius:999px;border:1px solid transparent;cursor:default;transition:border-color .15s ease,box-shadow .15s ease,opacity .15s ease}.progress-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;font-size:.68rem;flex-shrink:0}.progress-chip-count{font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;min-width:1ch}.progress-chip--complete{background:#ecfdf5;border-color:#bbf7d0;color:#14532d}.progress-chip--complete .progress-chip-icon{background:#dcfce7;color:#16a34a}.progress-chip--complete.progress-chip--zero{opacity:.7}.progress-chip--active{background:#fffbeb;border-color:#fde68a;color:#78350f}.progress-chip--active .progress-chip-icon{background:#fef3c7;color:#d97706}.progress-chip--idle{background:#f8fafc;border-color:#e2e8f0;color:#334155}.progress-chip--idle .progress-chip-icon{background:#e2e8f0;color:#64748b}.progress-chip--zero .progress-chip-count{font-weight:600;color:#94a3b8}.progress-chip:not(.progress-chip--zero):hover,.progress-chip:focus-visible{box-shadow:0 2px 8px #0f172a14}.progress-chip[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);padding:5px 9px;background:#111827;color:#f9fafb;font-size:.72rem;font-weight:500;line-height:1.25;white-space:nowrap;border-radius:6px;box-shadow:0 4px 12px #0003;opacity:0;visibility:hidden;pointer-events:none;z-index:50}.progress-chip[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #111827;border-bottom:none;background:transparent;opacity:0;visibility:hidden;pointer-events:none;z-index:51}.progress-chip[data-tooltip]:hover:after,.progress-chip[data-tooltip]:focus-visible:after,.progress-chip[data-tooltip]:hover:before,.progress-chip[data-tooltip]:focus-visible:before{visibility:visible;animation:progress-chip-tooltip-fade .16s ease-out forwards}@keyframes progress-chip-tooltip-fade{0%{opacity:0}to{opacity:1}}.list-col-student-progress{align-items:center;justify-content:flex-start;overflow:visible;width:max-content;max-width:100%}.list-due-badge{padding:4px 10px;border-radius:6px;font-size:.8rem;font-weight:600;white-space:nowrap}.list-due-badge.overdue{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#991b1b;border:1px solid #f87171}.list-due-badge.due-today{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:1px solid #fbbf24}.list-due-badge.due-soon{background:linear-gradient(135deg,#fed7aa,#fdba74);color:#9a3412;border:1px solid #fb923c}.list-no-due{color:#9ca3af;font-size:.85rem}.list-stats-wrapper{display:flex;gap:8px;flex-wrap:wrap}.list-stat{font-size:.85rem;color:#6b7280;white-space:nowrap}.list-view-btn{display:flex;align-items:center;justify-content:center;padding:8px 16px;background:linear-gradient(135deg,#4ade80,#22c55e);border:none;border-radius:8px;color:#fff;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.list-view-btn:hover{background:linear-gradient(135deg,#22c55e,#16a34a);transform:translateY(-1px);box-shadow:0 4px 10px #22c55e4d}.assignment-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #00000014;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;cursor:pointer;display:flex;flex-direction:column;gap:16px;border:2px solid transparent}.assignment-card:hover{transform:translateY(-4px);box-shadow:0 6px 20px #4caf5026;border-color:#4caf504d}@media (prefers-reduced-motion: reduce){.assignment-card,.assignment-card:hover,.assignment-card-closed:hover{transform:none;transition:box-shadow .2s ease,border-color .2s ease}}.assignment-card-closed{opacity:.85;background:#f9fafb;border-color:#d1d5db}.assignment-card-closed:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:#9ca3af}.assignment-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.assignment-card-badges{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.list-item-info .badge-feedback{margin-top:6px}.assignment-name-wrapper{flex:1;display:flex;flex-direction:column;gap:8px}.assignment-card-actions-inline{display:flex;align-items:center;gap:8px;flex-shrink:0}.status-badge{font-size:.75rem;font-weight:700;padding:4px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;display:inline-flex;align-items:center;gap:4px}.status-badge-closed{background:#fef3c7;color:#d97706;border:1px solid #fcd34d}.assignment-closed-info{padding:12px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb;font-size:.9rem}.closed-date{color:#6b7280;font-weight:600;margin-bottom:6px}.closed-reason{color:#374151;font-size:.85rem;margin-top:6px;word-wrap:break-word;overflow-wrap:break-word}.closed-reason strong{color:#6b7280}.assignment-name{font-size:1.25rem;font-weight:700;color:#333;margin:0;line-height:1.3;flex:1}.due-badge{font-size:.85rem;font-weight:600;padding:6px 12px;border-radius:8px;white-space:nowrap;flex-shrink:0}.due-badge.overdue{background:#fee2e2;color:#dc2626}.due-badge.due-today{background:#fef3c7;color:#d97706}.due-badge.due-soon{background:#dbeafe;color:#2563eb}.assignment-description{font-size:.95rem;color:#666;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.progress-section{display:flex;flex-direction:column;gap:8px}.progress-header{display:flex;justify-content:space-between;align-items:center}.progress-label{font-size:.9rem;font-weight:600;color:#666}.progress-value{font-size:.9rem;font-weight:700;color:var(--button-start-bg)}.progress-bar{height:8px;background:#e5e7eb;border-radius:8px;overflow:hidden}.progress-fill{height:100%;background:var(--button-start-bg);border-radius:8px;transition:width .3s ease}.assignment-stats{display:flex;gap:16px;flex-wrap:wrap}.stat{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#666}.stat-icon{font-size:.95rem;display:inline-flex;align-items:center;justify-content:center}.stat:nth-child(1) .stat-icon{color:#16a34a}.stat:nth-child(2) .stat-icon{color:#d97706}.stat:nth-child(3) .stat-icon{color:#94a3b8}.assignment-footer{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:auto;padding-top:12px;border-top:1px solid #e5e7eb}.assignment-footer-cta{display:flex;justify-content:flex-end;align-items:center;gap:10px;flex-shrink:0}.btn-assignment-preview{font-family:var(--font-family, inherit);font-size:.8125rem;font-weight:600;line-height:1.2;color:#374151;background:#fff;border:1px solid #e5e7eb;cursor:pointer;padding:9px 14px;border-radius:10px;display:inline-flex;align-items:center;gap:6px;transition:background .15s ease,border-color .15s ease,transform .15s ease;white-space:nowrap}.btn-assignment-preview:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}.btn-assignment-preview:focus-visible{outline:3px solid rgba(76,175,80,.35);outline-offset:2px}.btn-assignment-preview:active{transform:translateY(0)}.btn-assignment-preview-icon{font-size:.7rem;line-height:1;opacity:.85}.assignments-list .list-col-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.assignment-list-preview-btn{font-family:var(--font-family, inherit);font-size:.75rem;font-weight:700;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;color:#166534;background:#ecfdf5;border:1px solid #86efac;border-radius:10px;cursor:pointer;transition:background .15s ease,transform .15s ease}.assignment-list-preview-btn:hover{background:#d1fae5;transform:scale(1.05)}.assignment-list-preview-btn:focus-visible{outline:3px solid rgba(76,175,80,.35);outline-offset:2px}@media (prefers-reduced-motion: reduce){.btn-assignment-preview:hover,.btn-assignment-preview:active,.assignment-list-preview-btn:hover{transform:none}}.assignment-meta{display:flex;gap:8px;flex-wrap:wrap}.meta-badge{font-size:.8rem;padding:4px 10px;background:#f3f4f6;color:#666;border-radius:6px;display:inline-flex;align-items:center;gap:4px}.btn-view-details{font-family:var(--font-family, inherit);font-size:.875rem;font-weight:600;line-height:1.2;color:#fff;background:linear-gradient(135deg,var(--button-start-bg, #4caf50) 0%,#3d9c42 100%);border:none;cursor:pointer;padding:10px 18px;border-radius:10px;box-shadow:0 2px 8px #4caf504d;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;white-space:nowrap}.btn-view-details:hover{box-shadow:0 4px 14px #4caf5061;filter:brightness(1.03);transform:translateY(-1px)}.btn-view-details:focus-visible{outline:3px solid rgba(76,175,80,.45);outline-offset:2px}.btn-view-details:active{transform:translateY(0);filter:brightness(.98)}@media (prefers-reduced-motion: reduce){.btn-view-details,.btn-view-details:hover,.btn-view-details:active{transform:none}}.assignment-card-closed .btn-view-details{box-shadow:0 1px 6px #0000001f}.assignment-card-closed .btn-view-details:hover{box-shadow:0 3px 10px #00000024}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;text-align:center;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a}.empty-icon{font-size:4rem;margin-bottom:16px}.empty-state h2{font-size:1.5rem;color:#333;margin:0 0 12px}.empty-state p{font-size:1rem;color:#666;margin:0 0 24px;max-width:400px}.empty-state-hint{font-size:.9rem;color:#94a3b8;margin:8px 0 0!important}.teacher-content .empty-state>p:first-of-type{max-width:440px}.teacher-empty-assignments-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;margin-top:8px}.teacher-empty-assignments-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 20px;font-size:.95rem;font-weight:600;border-radius:10px;font-family:var(--font-family);transition:transform .15s ease,box-shadow .2s ease}.teacher-empty-assignments-btn:hover:not(:disabled){transform:translateY(-1px)}.teacher-empty-assignments-btn:active:not(:disabled){transform:translateY(0)}.teacher-empty-assignments-btn-icon{display:inline-flex;flex-shrink:0;opacity:.92}.teacher-empty-assignments-btn.btn-primary .teacher-empty-assignments-btn-icon{color:#fffffff2}.teacher-empty-assignments-btn.btn-secondary .teacher-empty-assignments-btn-icon{color:#4a90a4}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px}.loading-spinner{width:48px;height:48px;border:4px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}.loading-state p{margin-top:16px;color:#666;font-size:1rem}.assignment-page{width:100%;height:100vh;background:var(--background-color);overflow-y:auto}.assignment-container{min-height:100vh;display:flex;flex-direction:column}.assignment-header{background:#fff;padding:16px 24px;box-shadow:0 1px 3px #0000000f;border-bottom:2px solid #e5e7eb;position:sticky;top:0;z-index:100}.assignment-header-content{max-width:1000px;margin:0 auto;display:flex;align-items:center;gap:16px}.back-button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#fff;border:1.5px solid #d1d5db;border-radius:6px;color:#6b7280;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0}.back-button:hover{background:#f9fafb;border-color:var(--button-start-bg);color:var(--button-start-bg);transform:translate(-2px)}.back-icon{font-size:1.1rem}.assignment-header h1{font-size:1.4rem;color:var(--text-color);margin:0;font-weight:700}.assignment-header-sub{margin:4px 0 0;font-size:.9rem;color:#64748b;font-weight:500}.assignment-edit-warning{padding:12px 14px;margin-bottom:16px;border-radius:10px;background:#fffbeb;border:1px solid #fde68a;color:#92400e;font-size:.875rem;line-height:1.45}.assignment-edit-class-pill{display:inline-flex;align-items:center;padding:10px 14px;border-radius:10px;background:#f1f5f9;border:1px solid #e2e8f0;font-weight:600;color:#0f172a;font-size:.9375rem}.assignment-content{flex:1;max-width:1000px;margin:0 auto;padding:20px 24px;width:100%}.conversation-preview-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 12px #0000001a}.conversation-preview-card h3{font-size:1.5rem;color:#333;margin:0 0 16px}.conversation-details{display:flex;flex-direction:column;gap:12px}.detail-row{display:flex;align-items:center;gap:12px}.detail-label{font-weight:600;color:#666;min-width:120px}.detail-value{color:#333;font-weight:500}.assignment-form{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 8px #0000000f}.assignment-form .form-tabs{margin-bottom:16px}.assignment-form .form-tab{padding:10px 14px;font-size:.9rem}.assignment-form .form-section{margin-bottom:20px;padding:0 0 20px;background:transparent;border:none;border-bottom:1px solid #e5e7eb;border-radius:0;box-shadow:none}.assignment-form .form-section:hover{box-shadow:none;border-color:transparent;border-bottom-color:#e5e7eb}.assignment-form .form-section:last-of-type{margin-bottom:0;padding-bottom:0;border-bottom:none}.form-section{margin-bottom:20px;padding:16px;background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000a;transition:all .2s ease}.form-section:hover{box-shadow:0 4px 12px #0000000f;border-color:#d1d5db}.form-section:last-of-type{margin-bottom:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.form-section h2{font-size:1.3rem;color:#333;margin:0 0 16px;font-weight:700}.form-section h4{font-size:1.1rem;color:#1e293b;margin:0 0 16px;font-weight:700;display:flex;align-items:center;gap:10px}.form-section h4:before{content:"";width:4px;height:18px;background:linear-gradient(180deg,#4caf50,#45a049);border-radius:2px}.select-all-btn{background:none;border:2px solid #667eea;color:#667eea;padding:8px 16px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.select-all-btn:hover{background:#f0f4ff}.classes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}.class-checkbox-card{display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease}.class-checkbox-card:hover{border-color:#667eea;background:#667eea0d}.class-checkbox-card input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.class-checkbox-card input[type=checkbox]:checked+.class-card-content{color:#667eea}.class-card-content{flex:1}.class-name{font-weight:600;color:#333;margin-bottom:4px}.class-meta{font-size:.9rem;color:#666}.assignment-student-picker{border-top:1px solid #e5e7eb;padding-top:16px}.assignment-student-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:600;color:#333}.assignment-student-toggle input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.students-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:12px}.student-checkbox-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:all .2s ease}.student-checkbox-card:hover{border-color:#667eea;background:#667eea0d}.student-checkbox-card input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea;flex-shrink:0}.student-name{font-weight:600;color:#333;overflow-wrap:anywhere}.student-checkbox-card.is-locked{cursor:not-allowed;background:#f9fafb;border-color:#e5e7eb}.student-checkbox-card.is-locked:hover{border-color:#e5e7eb;background:#f9fafb}.student-checkbox-card.is-locked input[type=checkbox]{cursor:not-allowed}.student-checkbox-card.is-locked .student-name{color:#6b7280}.student-locked-note{display:block;margin-top:2px;font-size:.72rem;font-weight:600;color:#92400e}.no-classes-message{color:#666;font-style:italic;padding:24px;text-align:center;background:#f9fafb;border-radius:8px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#333;font-size:.95rem}.form-group input[type=text],.form-group input[type=date],.form-group input[type=number],.form-group select,.form-group textarea{padding:12px 16px;border:2px solid #e5e7eb;border-radius:10px;font-size:1rem;font-family:inherit;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:80px}.field-hint{font-size:.85rem;color:#666;font-style:italic}.checkbox-group{display:flex;align-items:center;gap:12px}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.customize-fields{margin-top:16px;padding:20px;background:#f9fafb;border-radius:12px;display:grid;gap:16px}.error-message{background:#fee2e2;color:#dc2626;padding:16px 20px;border-radius:10px;display:flex;align-items:center;gap:12px;margin-bottom:24px;font-weight:500}.error-icon{font-size:1.5rem}.form-actions{display:flex;justify-content:flex-end;gap:16px;padding-top:24px;border-top:1px solid #e5e7eb}.btn-cancel{padding:12px 32px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;color:#666;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease}.btn-cancel:hover:not(:disabled){border-color:#667eea;color:#667eea}.btn-assign{background:var(--button-start-bg);border:none;border-radius:10px;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 3px 10px #4caf504d}.btn-assign:hover:not(:disabled){background:#45a049;transform:translateY(-2px);box-shadow:0 5px 16px #4caf5066}.btn-cancel:disabled,.btn-assign:disabled{opacity:.5;cursor:not-allowed}.assignment-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;color:#fff}.student-progress-view{width:100%;max-height:100vh;background:var(--background-color);overflow-y:auto}.progress-view-container{padding:32px;max-width:1400px;margin:0 auto;overflow-y:auto;display:flex;flex-direction:column}.progress-view-header{background:#fff;border-radius:12px;padding:16px 24px;margin-bottom:20px;box-shadow:0 2px 8px #00000014;display:flex;justify-content:space-between;align-items:center;gap:24px}.progress-header-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.assignment-header-info h1{font-size:1.5rem;color:#333;margin:0;font-weight:700;line-height:1.3}.assignment-meta{display:flex;gap:16px;flex-wrap:wrap;margin:0}.assignment-meta .meta-item{font-size:.85rem;color:#666;display:flex;align-items:center;gap:5px}.progress-summary{display:flex;flex-direction:row;gap:10px;flex-shrink:0;min-width:0;align-items:center;justify-content:flex-end}.progress-summary-tooltip-wrap{position:relative;outline:none}.progress-summary-tooltip-wrap:focus-visible .progress-summary-block{box-shadow:0 0 0 2px #3b82f673}.progress-summary-tip{position:absolute;bottom:calc(100% + 12px);left:50%;z-index:80;display:flex;flex-direction:column;gap:2px;align-items:center;min-width:max-content;max-width:min(240px,70vw);padding:10px 14px;border-radius:10px;background:#111827;color:#f9fafb;font-size:12px;line-height:1.35;text-align:center;box-shadow:0 10px 28px #00000038;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%) translateY(6px) scale(.97);transition:opacity .2s cubic-bezier(.33,1,.68,1),transform .22s cubic-bezier(.33,1,.68,1),visibility .2s}.progress-summary-tip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:7px 7px 0 7px;border-style:solid;border-color:#111827 transparent transparent transparent}.progress-summary-tip-title{font-weight:700;font-size:13px;letter-spacing:-.01em}.progress-summary-tip-sub{font-weight:500;color:#d1d5db;font-size:11px}.progress-summary-tooltip-wrap:hover .progress-summary-tip,.progress-summary-tooltip-wrap:focus-within .progress-summary-tip{opacity:1;visibility:visible;transform:translate(-50%) translateY(0) scale(1)}@media (prefers-reduced-motion: reduce){.progress-summary-tip{transition:opacity .15s ease,visibility .15s;transform:translate(-50%)}.progress-summary-tooltip-wrap:hover .progress-summary-tip,.progress-summary-tooltip-wrap:focus-within .progress-summary-tip{transform:translate(-50%)}}.progress-summary-block{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:2px;border-radius:999px;background:#1118270f;border:1px solid rgba(17,24,39,.08);box-shadow:0 1px 2px #0000000d;line-height:1;cursor:default;-webkit-user-select:none;user-select:none;transition:box-shadow .18s ease,transform .18s ease}.progress-summary-tooltip-wrap:hover .progress-summary-block{transform:translateY(-1px);box-shadow:0 4px 12px #00000014}@media (prefers-reduced-motion: reduce){.progress-summary-tooltip-wrap:hover .progress-summary-block{transform:none}}.progress-summary-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#fff;border:1px solid rgba(17,24,39,.08);font-size:14px}.progress-summary-icon .fa-solid{font-size:.8125rem;line-height:1}.progress-summary-value{font-weight:800;letter-spacing:-.02em;color:#111827;font-variant-numeric:tabular-nums;min-width:20px;text-align:center}.progress-summary-assigned .progress-summary-icon{background:#e5e7eb}.progress-summary-in-progress .progress-summary-icon{background:#dbeafe;color:#1d4ed8}.progress-summary-completed .progress-summary-icon{background:#dcfce7;color:#065f46}.progress-actions-wrapper{position:relative;display:flex;justify-content:center;z-index:9999}.progress-menu-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:2px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;font-size:1.5rem;font-weight:700;cursor:pointer;transition:all .2s ease;line-height:1}.progress-menu-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#1f2937;transform:scale(1.05)}.progress-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999998;background:transparent;pointer-events:auto}.progress-menu{position:fixed;min-width:200px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;box-shadow:0 8px 20px #00000026;z-index:999999;overflow:hidden;pointer-events:auto}.progress-menu.menu-down{animation:slideDown .2s ease}.progress-menu.menu-up{animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.progress-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;background:#fff;color:#374151;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left;border-bottom:1px solid #f3f4f6;pointer-events:auto;position:relative;z-index:1000000}.progress-menu-item:last-child{border-bottom:none}.progress-menu-item:hover{background:linear-gradient(135deg,#f9fafb,#f3f4f6);color:#1f2937;padding-left:20px}.progress-menu-item:active{background:#e5e7eb}.progress-menu-item--retry{color:#2e7d6e}.progress-menu-item--retry:hover{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#1b5e52}@media (max-width: 768px){.progress-table-section{padding:16px;border-radius:12px}.table-header-controls{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:16px}.progress-header-with-legend{flex-direction:column;align-items:flex-start;gap:10px}.progress-status-legend{flex-wrap:wrap;gap:10px 14px}.sort-controls{width:100%;flex-wrap:wrap}.sort-controls select{flex:1;min-width:0}.progress-table-hint{font-size:.82rem;margin-bottom:14px}.progress-view-header{flex-direction:column;align-items:stretch;padding:20px;gap:20px}.progress-summary{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px}.progress-summary-tooltip-wrap{flex:1 1 auto;min-width:0;display:flex;justify-content:center}.progress-summary-value{font-size:1.1rem}.assignment-header-info h1{font-size:1.5rem}.progress-menu{right:-10px;min-width:180px}}.modal-large{max-width:900px;max-height:85vh}.transcript-info{background:#f9fafb;border-radius:8px;padding:16px;margin-bottom:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.info-row{display:flex;gap:8px}.info-label{font-weight:600;color:#6b7280;font-size:.9rem}.info-value{color:#374151;font-size:.9rem}.transcript-turns{max-height:500px;overflow-y:auto;padding:4px}.transcript-turn{background:#fff;border:2px solid #e5e7eb;border-radius:10px;padding:14px;margin-bottom:12px;transition:all .2s ease}.transcript-turn:hover{border-color:#d1d5db;box-shadow:0 2px 8px #00000014}.transcript-turn.hana{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.transcript-turn.student{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.turn-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.turn-speaker{font-weight:700;font-size:.9rem;color:#1f2937}.turn-time{font-size:.75rem;color:#6b7280}.turn-message{color:#374151;line-height:1.6;margin-bottom:8px;font-size:.95rem}.turn-audio{display:flex;align-items:center;gap:10px;margin-top:10px}.turn-audio audio{flex:1;height:32px}.audio-duration{font-size:.75rem;color:#6b7280;font-weight:600}.form-group{margin-bottom:20px}.form-label{display:block;font-weight:600;color:#374151;margin-bottom:8px;font-size:.9rem}.form-value{color:#1f2937;font-size:1rem;padding:8px 0}.form-input{padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;transition:all .2s ease}.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-input:disabled{background:#f3f4f6;cursor:not-allowed}.form-textarea{padding:10px 14px;border:2px solid #e5e7eb;border-radius:8px;font-size:.95rem;font-family:inherit;resize:vertical;transition:all .2s ease}.form-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-textarea:disabled{background:#f3f4f6;cursor:not-allowed}.form-hint{font-size:.8rem;color:#6b7280;margin-top:6px;font-style:italic}.required{color:#dc2626}.score-display{font-size:1.5rem;font-weight:700;color:#3b82f6}.modal .modal-body{padding:24px 28px}.modal .modal-body .form-group{margin-bottom:24px;padding:0 4px}.modal .modal-body .form-group:last-of-type{margin-bottom:16px}.modal .modal-body .form-label{margin-bottom:10px;font-size:.95rem;letter-spacing:.2px}.modal .modal-body .form-value{padding:12px 16px;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.modal .modal-body .form-input,.modal .modal-body .form-textarea{padding:12px 16px;font-size:1rem}.modal .modal-body .form-textarea{min-height:120px;line-height:1.6}.modal .modal-body .form-hint{margin-top:8px;padding-left:4px}.modal .modal-body .error-message{margin:0 0 20px;padding:14px 18px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:12px;padding:20px 28px;background:#f9fafb;border-top:2px solid #e5e7eb;border-radius:0 0 12px 12px}.btn-primary,.btn-secondary{padding:10px 24px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 6px #3b82f64d}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 10px #3b82f666;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:#fff;color:#6b7280;border:2px solid #e5e7eb}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;color:#374151}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.error-message{background:#fee2e2;border:2px solid #fca5a5;border-radius:8px;padding:12px 16px;color:#991b1b;margin-bottom:16px;font-weight:500}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280}.loading-spinner{width:48px;height:48px;border:4px solid #f3f4f6;border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.assignment-description-card,.assignment-settings-card{background:#fff;border-radius:16px;padding:24px;margin-bottom:24px;box-shadow:0 4px 12px #0000001a}.assignment-description-card h3,.assignment-settings-card h3{font-size:1.2rem;color:#333;margin:0 0 12px;font-weight:700}.assignment-description-card p{color:#666;line-height:1.6;margin:0}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.setting-item{display:flex;gap:8px}.setting-label{font-weight:600;color:#666}.setting-value{color:#333}.progress-table-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 12px #0000001a}.table-header-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.progress-header-with-legend{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.progress-status-legend{display:flex;align-items:center;gap:16px;font-size:.8rem;color:#6b7280;font-weight:500}.progress-status-legend .legend-item{display:inline-flex;align-items:center;gap:6px}.table-header-controls h2{font-size:1.5rem;color:#333;margin:0;font-weight:700}.sort-controls{display:flex;align-items:center;gap:12px}.sort-controls label{font-weight:600;color:#4a90a4;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.sort-controls select{padding:10px 40px 10px 16px;border:2px solid #d1e7f5;border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;background:#fff;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%234a90a4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:14px;appearance:none;-webkit-appearance:none;-moz-appearance:none;transition:all .2s ease;color:#333}.sort-controls select:hover{border-color:#4a90a4;background-color:#f0f8ff}.sort-controls select:focus{outline:none;border-color:#4a90a4;box-shadow:0 0 0 3px #4a90a426}.sort-order-btn{width:40px;height:40px;border:2px solid #d1e7f5;border-radius:10px;background:#fff;color:#4a90a4;font-size:1.3rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.sort-order-btn:hover{border-color:#4a90a4;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;transform:scale(1.05);box-shadow:0 4px 12px #4caf504d}.progress-table{overflow:visible;position:relative}.progress-table-wrapper{overflow-x:auto}.progress-table-scroll{max-height:min(70vh,560px);overflow:auto;width:100%;-webkit-overflow-scrolling:touch}.progress-table table{width:100%;border-collapse:collapse;table-layout:fixed}.progress-table thead{position:sticky;top:0;z-index:2;background:#f9fafb;box-shadow:0 1px #e5e7eb}.progress-table tbody tr{position:relative;z-index:1}.progress-table th{background:#f9fafb;padding:12px;text-align:center;font-weight:700;color:#333;border-bottom:2px solid #e5e7eb}.progress-table tbody tr:last-child td{border-bottom:none}.progress-table th:nth-child(1),.progress-table td:nth-child(1){width:34%;min-width:220px;max-width:420px}.progress-table th:nth-child(2),.progress-table td:nth-child(2){width:6%;min-width:48px}.progress-table th:nth-child(1){text-align:left}.progress-table td.student-name-cell{text-align:left}.progress-table td.status-cell{text-align:center}.progress-table .progress-attempts-col,.progress-table td.progress-attempts-cell{width:6%;min-width:88px;max-width:120px;font-variant-numeric:tabular-nums}.progress-table td.progress-attempts-cell{font-weight:600;color:#374151}.progress-table .progress-attempts-value-zero{font-weight:500;color:#9ca3af}.progress-table td{padding:12px;border-bottom:1px solid #e5e7eb;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.progress-table .feedback-indicator{cursor:help;text-decoration:underline dotted}.progress-table .feedback-cell{overflow:visible;position:relative}.progress-table .feedback-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:22px}.progress-tooltip{position:fixed;max-width:280px;padding:10px 12px;background:#111827;color:#f9fafb;border-radius:8px;font-size:12px;line-height:1.4;box-shadow:0 6px 16px #0003;z-index:1000000;pointer-events:none;opacity:0;animation:tooltip-fade .16s ease-out forwards}.progress-tooltip.top{transform:translate(-50%,-100%)}.progress-tooltip.bottom{transform:translate(-50%)}.progress-tooltip:after{content:"";position:absolute;left:50%;transform:translate(-50%);border-width:6px;border-style:solid}.progress-tooltip.top:after{bottom:-6px;border-color:#111827 transparent transparent transparent}.progress-tooltip.bottom:after{top:-6px;border-color:transparent transparent #111827 transparent}@keyframes tooltip-fade{0%{opacity:0}to{opacity:1}}.progress-table td:last-child{overflow:visible;position:relative;z-index:10}.progress-table tbody tr:hover{background:#667eea0d}.progress-table tbody tr:hover .actions-cell{background:transparent}.progress-table .actions-cell:hover{background:transparent!important}.student-name-cell{display:flex;align-items:center;gap:12px;font-weight:600;color:#333;max-width:100%;overflow:hidden}.student-name-cell>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.progress-student-cell-inner{display:flex;align-items:center;gap:10px;min-width:0;width:100%}.progress-main-row.is-expandable{cursor:pointer}.progress-expand-chevron{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:#64748b;flex-shrink:0;transition:transform .2s ease}.progress-expand-chevron.expanded{transform:rotate(90deg)}.progress-table-hint{margin:0 0 12px;font-size:.85rem;color:#64748b;line-height:1.45}.progress-attempt-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.progress-attempt-link-primary{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#fff;border:none;font-weight:600}.progress-attempt-link-primary:hover{filter:brightness(1.05)}.progress-attempt-link-secondary{background:#fff;color:#475569;border:1px solid #cbd5e1}.progress-attempt-link-secondary:hover{background:#f8fafc}.progress-student-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}@media (max-width: 1100px) and (min-width: 769px){.progress-table .date-cell,.progress-table thead th:nth-last-child(2){display:none}.progress-table th:nth-child(1),.progress-table td:nth-child(1){min-width:180px}}.progress-student-cards{display:flex;flex-direction:column;gap:12px}.progress-student-cards-empty{text-align:center;padding:32px 16px;color:#6b7280;background:#f9fafb;border-radius:12px;border:1px dashed #e5e7eb}.progress-student-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #0f172a0f;transition:border-color .15s ease,box-shadow .15s ease}.progress-student-card.is-expandable{cursor:pointer}.progress-student-card.is-expandable:focus-within,.progress-student-card.is-expanded{border-color:#b8dfd8;box-shadow:0 4px 14px #2e7d6e1a}.progress-student-card.status-in-progress{border-left:4px solid #f59e0b}.progress-student-card.status-completed{border-left:4px solid #10b981}.progress-student-card.status-not-started{border-left:4px solid #9ca3af}.progress-student-card-top{padding:14px 14px 10px}.progress-student-card-identity{display:flex;align-items:flex-start;gap:10px;min-width:0}.progress-student-card-name-wrap{flex:1;min-width:0}.progress-student-card-name{margin:0 0 6px;font-size:1rem;font-weight:700;color:#1f2937;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.progress-student-card-status{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:#4b5563;text-transform:capitalize}.progress-student-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.progress-student-card-metric{display:flex;flex-direction:column;gap:2px;min-width:0}.progress-student-card-metric--wide{grid-column:1 / -1}.progress-student-card-metric-label{font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#9ca3af}.progress-student-card-metric-value{font-size:.92rem;font-weight:600;color:#374151;font-variant-numeric:tabular-nums}.progress-student-card-date{font-size:.85rem;font-weight:500;color:#6b7280;white-space:normal;line-height:1.35}.progress-trend-up--inline{margin-left:4px;font-size:.75rem}.progress-card-feedback-chip{border:none;background:#ecfdf5;color:#047857;font-size:.82rem;font-weight:700;padding:2px 10px;border-radius:999px;cursor:help}.progress-student-card-actions{display:flex;align-items:center;gap:8px;padding:0 14px 14px}.progress-actions-wrapper--card{display:flex;align-items:center;gap:8px;width:100%}.progress-card-feedback-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;border:none;border-radius:10px;background:linear-gradient(135deg,#2e7d6e,#3d9a88);color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.progress-card-feedback-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2e7d6e47}.progress-actions-wrapper--card .progress-menu-btn{flex-shrink:0;width:42px;height:42px}.progress-attempt-panel--card{margin:0 14px 14px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc}.progress-attempt-panel--card .progress-attempt-panel-head{padding:12px 12px 0}.progress-attempt-panel--card .progress-attempt-list{padding:8px 12px 12px}.progress-menu--card{max-width:min(240px,calc(100vw - 24px))}.progress-latest-score-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}.progress-trend-up{font-size:.68rem;font-weight:700;color:#059669;text-transform:uppercase;letter-spacing:.04em}.progress-attempt-detail-row,.progress-attempt-detail-row:hover{background:#f8fafc}.progress-table tbody tr.progress-main-row.is-expanded td{border-bottom:none}.progress-table td.student-name-cell{display:table-cell;vertical-align:middle}.progress-attempt-detail-cell{padding:12px 16px 16px 48px!important;text-align:left!important;white-space:normal!important}@media (max-width: 768px){.progress-attempt-detail-cell{padding:10px 12px 12px!important}}.progress-attempt-panel{padding:14px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0f172a0f}.progress-attempt-panel-head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.progress-attempt-panel-title{font-size:.8rem;font-weight:700;color:#334155;text-transform:uppercase;letter-spacing:.04em}.progress-attempt-panel-hint{font-size:.75rem;color:#64748b;line-height:1.35}.progress-attempt-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.progress-attempt-item{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:10px 12px;border-radius:8px;background:#f1f5f9;border:1px solid #e2e8f0}.progress-attempt-label{font-weight:700;color:#1e293b;min-width:88px;flex-shrink:0}.progress-attempt-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;flex:1 1 200px;min-width:0}.progress-attempt-score{display:inline-flex;align-items:center;padding:2px 10px;font-size:.8rem;font-weight:700;color:#0f766e;background:#ccfbf1;border:1px solid #99f6e4;border-radius:999px;font-variant-numeric:tabular-nums}.progress-attempt-ended-wrap{display:inline-flex;align-items:baseline;gap:6px;min-width:0}.progress-attempt-ended-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;flex-shrink:0}.progress-attempt-ended{font-size:.85rem;font-weight:500;color:#475569;font-variant-numeric:tabular-nums;white-space:nowrap}.progress-attempt-muted{font-size:.85rem;color:#94a3b8}.progress-attempt-link{margin-left:auto;padding:6px 12px;font-size:.8rem;font-weight:600;color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe;border-radius:8px;cursor:pointer}.progress-attempt-link:hover{background:#e0e7ff}.student-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem}.status-badge{padding:6px 12px;border-radius:8px;font-size:.85rem;font-weight:600;white-space:nowrap}.status-bubble{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle}.status-bubble.status-completed{background:#10b981}.status-bubble.status-in-progress{background:#f59e0b}.status-bubble.status-not-started{background:#9ca3af}.status-completed{background:#d1fae5;color:#065f46}.status-in-progress{background:#fed7aa;color:#92400e}.status-not-started{background:#e5e7eb;color:#374151}.attempts-cell,.score-cell,.date-cell{color:#666}.text-muted{color:#9ca3af}.actions-cell{text-align:center}.btn-view-session{padding:8px 16px;background:#667eea;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-view-session:hover{background:#5568d3;transform:translateY(-2px)}.no-data{text-align:center;color:#666;padding:40px!important;font-style:italic}.progress-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px}@media (max-width: 1024px){.assignments-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.classes-grid{grid-template-columns:1fr}}@media (max-width: 768px){.teacher-header,.assignment-header{padding:16px}.header-content{flex-direction:column;align-items:flex-start;gap:16px}.header-actions{width:100%;justify-content:stretch}.header-actions button{flex:1}.status-tabs{padding:0 12px;flex-direction:column;gap:8px;align-items:stretch}.status-tabs-container{gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch}.status-tab{padding:12px 16px;font-size:.85rem;white-space:nowrap}.status-tab-text{display:none}.status-tab-icon{font-size:1.2rem}.date-filter{padding:0 0 12px;width:100%}.date-filter-select{width:100%;font-size:.85rem;padding:10px 12px}.closed-view-bar{padding:8px 12px;flex-wrap:wrap;gap:8px}.closed-view-label{font-size:.85rem}.tabs-container{padding:0 12px}.class-tabs{padding:0}.teacher-content,.assignment-content,.progress-view-container{padding:12px}.assignments-grid{grid-template-columns:1fr}.assignment-card{padding:16px}.assignment-name-wrapper{gap:6px}.assignment-card-actions-inline{flex-direction:column;align-items:flex-end;gap:6px}.status-badge{font-size:.7rem;padding:3px 8px}.assignment-closed-info{padding:10px;font-size:.85rem}.assignments-list .list-header{display:none}.assignments-list .list-row{grid-template-columns:1fr;gap:12px;padding:16px}.assignments-list .list-col{display:flex;justify-content:space-between;font-size:.85rem}.assignments-list .list-col:before{content:attr(data-label);font-weight:600;color:#6b7280;font-size:.75rem;text-transform:uppercase}.list-col-name{flex-direction:column;align-items:flex-start;gap:6px}.list-col-name:before{display:none}.assignment-student-progress{width:100%}.progress-chip-row{justify-content:flex-end}.list-view-btn{width:100%;justify-content:center}.list-actions-wrapper{justify-content:flex-end}.list-menu{right:0;left:auto;min-width:200px}.list-menu.list-menu-up{bottom:calc(100% + 8px)}.list-menu.list-menu-down{top:calc(100% + 8px)}.form-row{grid-template-columns:1fr}.assignment-form{padding:16px}.assignment-form .form-tab{padding:8px 10px;font-size:.8rem}.assignment-form .form-tabs{margin-bottom:12px}.table-header-controls{flex-direction:column;align-items:flex-start}.progress-table{font-size:.85rem}.progress-table th,.progress-table td{padding:12px 8px}.student-avatar{width:32px;height:32px;font-size:.9rem}}@media (max-width: 480px){.assignment-form .form-tab .tab-text{display:none}.teacher-title{font-size:1.5rem}.assignment-name{font-size:1.1rem}.btn-primary,.btn-secondary{padding:10px 16px;font-size:.9rem}.assignment-card{padding:16px}.form-actions{flex-direction:column}.form-actions button{width:100%}.status-tabs{padding:0 8px}.status-tab{padding:10px 12px;font-size:.8rem}.status-tab-count{min-width:20px;height:20px;font-size:.7rem}.date-filter-select{font-size:.8rem;padding:8px 10px}.empty-state{padding:60px 16px}.empty-state h2{font-size:1.3rem}.empty-state p{font-size:.9rem}}.login-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e0f2fe,#dbeafe,#f0f8ff);padding:20px;position:relative;overflow:hidden}.login-page:before{content:"";position:absolute;top:-50%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,rgba(76,175,80,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.login-page:after{content:"";position:absolute;bottom:-30%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(56,189,248,.08) 0%,transparent 70%);border-radius:50%;pointer-events:none}.login-container{background-color:#fff;border-radius:24px;box-shadow:0 20px 60px #00000014,0 4px 16px #0000000a;max-width:440px;width:100%;overflow:hidden;animation:slideInScale .4s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:1}@keyframes slideInScale{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-header{background:linear-gradient(135deg,#dcfce7,#bbf7d0);padding:48px 32px 40px;text-align:center;position:relative;overflow:hidden}.login-header:before{content:"";position:absolute;top:-20px;right:-20px;width:100px;height:100px;background:#fff3;border-radius:50%}.login-header:after{content:"";position:absolute;bottom:-15px;left:-15px;width:80px;height:80px;background:#ffffff26;border-radius:50%}.login-bear-wrapper{position:relative;display:inline-block;margin-bottom:20px}.login-bear{font-size:5rem;animation:bearWave 3s ease-in-out infinite;display:inline-block;filter:drop-shadow(0 4px 12px rgba(0,0,0,.1))}@keyframes bearWave{0%,to{transform:rotate(0) scale(1)}10%{transform:rotate(-10deg) scale(1.05)}20%{transform:rotate(10deg) scale(1.05)}30%{transform:rotate(-10deg) scale(1.05)}40%{transform:rotate(0) scale(1)}}.login-header h1{margin:0 0 12px;font-size:2rem;font-weight:800;color:#1e7e34;position:relative;z-index:1}.login-header p{margin:0;color:#4caf50;font-size:1.05rem;font-weight:500;position:relative;z-index:1}.login-header--scribo{background:linear-gradient(155deg,#f8fafc,#eef2ff 55%,#eff6ff);padding:38px 28px 34px;border-bottom:1px solid rgba(148,163,184,.25)}.login-header--scribo:before,.login-header--scribo:after{background:radial-gradient(circle,rgba(34,197,94,.1) 0%,transparent 68%);opacity:1}.login-brand-lockup{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:22px;position:relative;z-index:1}.login-header--scribo .login-brand-logo.brand-logo{height:46px;max-width:min(300px,90vw);filter:drop-shadow(0 2px 10px rgba(15,23,42,.12))}.login-brand-tagline{margin:0;font-size:.9rem;font-weight:500;color:#475569e6;letter-spacing:.02em;line-height:1.45;max-width:26rem}.login-header--scribo .login-headline{margin:0 0 10px;font-size:1.5rem;font-weight:700;color:#0f172a!important;letter-spacing:-.02em;position:relative;z-index:1}.login-header--scribo .login-subhead{margin:0;font-size:.94rem;font-weight:500;color:#475569eb!important;position:relative;z-index:1}.login-form{padding:40px 32px 32px}.login-message{padding:14px 16px;border-radius:12px;margin-bottom:24px;font-size:.9rem}.login-message-logged-out{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#1e40af;border:2px solid #93c5fd}.login-error{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626;padding:14px 16px;border-radius:12px;margin-bottom:24px;display:flex;align-items:center;gap:10px;font-size:.9rem;border:2px solid #fca5a5;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.error-icon{font-size:1.2rem;flex-shrink:0}.login-form-group{margin-bottom:24px}.login-form-group label{display:block;margin-bottom:10px;font-weight:700;color:#1f2937;font-size:.95rem;letter-spacing:.3px}.login-form-group input{width:100%;padding:14px 18px;border:2px solid #e5e7eb;border-radius:12px;font-size:1rem;font-family:var(--font-family);transition:all .2s ease;box-sizing:border-box;background-color:#fafafa}.login-form-group input:hover{border-color:#d1d5db;background-color:#fff}.login-form-group input:focus{outline:none;border-color:#4caf50;background-color:#fff;box-shadow:0 0 0 4px #4caf5014}.login-form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.7}.login-form .password-field-wrap input{width:100%}.login-button{width:100%;padding:16px 24px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 14px #4caf5040;margin-top:28px}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#45a049,#3d8b40);transform:translateY(-2px);box-shadow:0 6px 20px #4caf5059}.login-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #4caf5040}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-spinner-inline{width:18px;height:18px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.login-footer{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:24px 32px;text-align:center;border-top:1px solid #e5e7eb}.login-footer-text{margin:0;color:#64748b;font-size:.9rem;font-weight:500;letter-spacing:.5px}@media (max-width: 1024px){.assignment-cards-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.student-assignment-card{padding:12px}.assignment-card-title{font-size:.95rem}.list-item-main{gap:16px}.list-item-score{padding:5px 10px}.btn-list-action{padding:7px 16px;font-size:.85rem}}@media (max-width: 768px){.assignment-cards-grid{grid-template-columns:1fr;gap:8px}.assignment-list-item{padding:12px 14px}.list-item-main{flex-wrap:wrap;gap:12px}.list-item-left{flex:1 1 100%;margin-bottom:4px}.list-item-center{flex:1 1 100%;justify-content:flex-start;margin-bottom:4px}.list-item-right{flex:1 1 100%;justify-content:space-between}.list-item-title{white-space:normal;overflow:visible;font-size:.95rem}.list-item-date{font-size:.85rem;padding:4px 10px}.btn-list-action{padding:7px 16px;font-size:.85rem}.assignments-header{margin-bottom:12px;padding-bottom:10px}.assignments-header h2{font-size:1.3rem}.layout-btn{width:32px;height:32px}}@media (max-width: 480px){.login-page{padding:0}.login-container{border-radius:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.login-header{padding:40px 28px 36px}.login-header h1{font-size:1.75rem}.login-header--scribo .login-headline{font-size:1.35rem}.login-bear{font-size:4rem}.login-form{padding:32px 28px 28px}.login-footer{padding:20px 28px}.login-button{padding:14px 20px;font-size:1rem}}@media (max-width: 1024px){.student-dash{max-width:100%}.app-container{width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0}.conversation-page-root .app-container{flex:1 1 auto;min-height:0;height:auto;max-height:none;margin:0;width:100%;max-width:100%}}@media (max-width: 768px){.student-header{padding:14px 16px}.student-header-content{flex-direction:row;gap:12px}.student-title{font-size:1.3rem}.btn-library{padding:6px 12px;font-size:.85rem}.student-header-actions{gap:8px}.student-dash-greeting-title{font-size:1.65rem}.assignment-cards-grid{grid-template-columns:1fr;gap:16px}.student-assignment-card{padding:16px}.assignment-card-title{font-size:1rem}.assignment-card-score{padding:12px}.score-display .score-value{font-size:1.25rem}.student-topbar .user-avatar-button{width:40px;height:40px;padding:0}.user-dropdown-menu{min-width:220px;right:0}.teacher-header{padding:14px 16px}.teacher-title{font-size:1.3rem}.class-tabs{padding:0;overflow-x:auto;-webkit-overflow-scrolling:touch}.class-tab{font-size:.85rem;padding:8px 12px;white-space:nowrap}.assignment-modal{width:95%;max-width:95%;max-height:95vh}.modal-header{padding:16px}.modal-header h2{font-size:1.3rem}.modal-content{padding:16px}.conversation-form-modal{width:90vw;max-height:85vh}.conversation-form-modal .modal-header{padding:20px 24px}.conversation-form-modal .modal-header h2{font-size:1.3rem}.conversation-form-modal .modal-header h2:before{font-size:1.5rem}.conversation-form-modal .modal-content{padding:24px}.conversation-form{gap:20px}.conversation-form .form-row{grid-template-columns:1fr;gap:20px}.conversation-form .form-actions{gap:12px}.conversation-form .form-button,.modal-actions .form-button,.confirm-actions .form-button{padding:12px 24px;min-width:110px;font-size:.95rem}.library-modal{width:90vw;max-height:85vh}.library-modal .modal-header{padding:20px 24px}.library-modal .modal-header h2{font-size:1.3rem}.library-modal .modal-header h2:before{font-size:1.5rem}.library-modal .modal-content{padding:24px}.library-controls{padding:16px;gap:16px;flex-direction:column;align-items:stretch}.search-container{max-width:100%}.sort-container{justify-content:space-between}.conversation-list{grid-template-columns:1fr;gap:16px}.step-indicator{flex-direction:row;gap:8px}.step{flex:1}.step-label{font-size:.7rem}.modal{width:95%;max-width:95%;max-height:90vh}.library-controls{flex-direction:column;gap:12px}.library-search{width:100%}.library-cards{gap:12px}.progress-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.progress-table{font-size:.8rem}.progress-table th,.progress-table td{padding:10px 6px}.top-menu{padding:10px 16px}.top-menu-content{gap:12px}.hana-logo{font-size:1.1rem}}@media (max-width: 480px){body{font-size:14px}.student-header{padding:12px}.student-title{font-size:1.1rem}.badge{min-width:18px;height:18px;font-size:.7rem;padding:2px 5px}.student-assignment-card{padding:14px}.assignment-card-header{flex-direction:column;align-items:flex-start;gap:8px}.assignment-card-title{font-size:.95rem}.status-badge{font-size:.75rem;padding:3px 10px}.assignment-card-score{padding:10px}.score-display{flex-direction:column;align-items:flex-start;gap:10px}.score-display .score-value-container{width:100%;justify-content:space-between}.student-dash-reminder{padding:12px;font-size:.8rem}.student-dash-empty{padding:32px 16px}.student-dash-empty-icon{font-size:2rem}.student-dash-empty-title{font-size:1.2rem}.student-dash-empty-text{font-size:.85rem}.student-all-done-empty{padding:16px;min-height:240px}.student-all-done-card{padding:28px 20px}.student-all-done-icon{font-size:3rem;margin-bottom:16px}.student-all-done-heading{font-size:1.25rem}.student-all-done-message{font-size:1rem}.student-all-done-hint{font-size:.9rem}.student-topbar .user-avatar-button{width:40px;height:40px;padding:0}.user-dropdown-menu{min-width:200px;right:-10px}.menu-user-name{font-size:.9rem}.menu-action-item{padding:10px 14px;font-size:.85rem}.class-tabs{padding:0}.tabs-container{padding:0 10px}.class-tab{font-size:.8rem;padding:8px 10px}.teacher-content{padding:12px}.teacher-welcome-state{padding:16px;min-height:240px}.teacher-welcome-card{padding:28px 20px}.teacher-welcome-heading{font-size:1.25rem}.teacher-welcome-message{font-size:.95rem;margin-bottom:20px}.teacher-welcome-actions{gap:10px}.assignment-card-compact{padding:14px}.assignment-card-compact h3{font-size:.95rem}.form-tab{padding:12px 10px;font-size:.85rem;gap:6px}.form-tab .tab-icon{font-size:1rem}.form-tab .tab-text{display:none}.assignment-modal,.modal{width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;border-radius:0}.modal-header{padding:14px}.modal-header h2{font-size:1.1rem}.modal-content{padding:14px}.close-button{width:28px;height:28px;font-size:1.2rem}.conversation-form-modal{width:100vw;max-width:100vw;max-height:100vh;border-radius:0}.conversation-form-modal .modal-header{padding:16px;border-radius:0}.conversation-form-modal .modal-header h2{font-size:1.1rem;gap:8px}.conversation-form-modal .modal-header h2:before{font-size:1.3rem}.conversation-form-modal .modal-content{padding:16px}.conversation-form{gap:18px}.conversation-form .form-group{gap:8px}.conversation-form .form-group label{font-size:.9rem}.conversation-form .form-group input,.conversation-form .form-group select,.conversation-form .form-group textarea{padding:11px 14px;font-size:.9rem}.conversation-form .form-group textarea{min-height:70px}.conversation-form .reading-text-group textarea{min-height:120px}.conversation-form .radio-group{flex-direction:column;gap:10px}.conversation-form .radio-group label{width:100%;padding:12px 14px}.conversation-form .form-actions{flex-direction:column;gap:10px;margin-top:24px;padding-top:20px}.conversation-form .form-button,.modal-actions .form-button,.confirm-actions .form-button{width:100%;padding:13px;min-width:auto;font-size:.95rem}.conversation-form .field-hint{font-size:.8rem}.library-modal{width:100vw;max-width:100vw;max-height:100vh;border-radius:0}.library-modal .modal-header{padding:16px;border-radius:0}.library-modal .modal-header h2{font-size:1.1rem;gap:8px}.library-modal .modal-header h2:before{font-size:1.3rem}.library-modal .modal-content{padding:16px}.library-controls{padding:14px;gap:12px;margin-bottom:16px}.search-container:before{left:12px;font-size:1rem}.search-input{padding:11px 14px 11px 38px;font-size:.9rem}.sort-container{flex-wrap:wrap}.sort-container label{font-size:.85rem}.sort-container select{padding:9px 32px 9px 12px;font-size:.85rem;min-width:120px}.sort-order-button{width:34px;height:34px;font-size:1.1rem}.conversation-list{gap:12px}.library-card-title{font-size:1rem}.library-card-meta{gap:8px}.meta-item{font-size:.7rem;padding:3px 8px}.library-card-description{font-size:.8rem}.primary-actions{grid-template-columns:1fr;gap:8px}.btn-library-primary,.btn-library-quick{padding:10px 16px;font-size:.85rem}.secondary-actions{flex-wrap:wrap;gap:6px}.btn-library-secondary,.btn-library-delete{padding:8px 12px;font-size:.8rem;flex:1 1 calc(50% - 3px)}.library-card-timestamp{font-size:.75rem}.library-empty-state{padding:60px 20px}.library-empty-state .empty-icon{font-size:3.5rem}.library-empty-state h3{font-size:1.2rem}.library-empty-state p{font-size:.9rem}.step-number{width:28px;height:28px;font-size:.85rem}.step-label{font-size:.65rem}.form-group label{font-size:.85rem}.form-input,.form-select,.form-textarea{padding:10px;font-size:.9rem}.btn-primary,.btn-secondary{padding:10px 16px;font-size:.85rem}.btn-start-assignment{padding:10px 16px;font-size:.9rem}.library-card{padding:14px}.library-card-title{font-size:.95rem}.library-card-meta{flex-wrap:wrap;gap:8px}.progress-table{font-size:.75rem}.progress-table th,.progress-table td{padding:8px 4px}.student-avatar{width:28px;height:28px;font-size:.75rem}.top-menu{padding:8px 12px}.hana-logo{font-size:1rem}.back-button{padding:6px 12px;font-size:.8rem}}@media (max-width: 360px){.student-nav-btn{font-size:.75rem;padding:8px 10px}.stat-number{font-size:1.5rem}.score-value{font-size:1.25rem}.recent-assignment-header h4,.assignment-card-title{font-size:.9rem}}@media (max-height: 600px) and (orientation: landscape){.student-header,.teacher-header{padding:10px 16px}.student-title,.teacher-title{font-size:1.1rem}.class-tabs{padding:0}.tabs-container{padding:0 10px}.student-content,.teacher-content{padding:10px}.student-dash-greeting-title{font-size:1.2rem}}.chat-text-modal .modal-header{background:linear-gradient(135deg,#4caf50,#2196f3);color:#fff;padding:18px 24px;border-bottom:none}.chat-text-modal .modal-header h2{color:#fff;font-size:1.25rem;font-weight:700;margin:0;display:flex;align-items:center;gap:10px}.chat-text-modal .modal-content{padding:20px 24px;max-height:calc(85vh - 140px);overflow-y:auto}.transcript-title-badge{background:linear-gradient(135deg,#e8f5e9,#e3f2fd);border:2px solid #c8e6c9;border-radius:10px;padding:12px 16px;margin-bottom:16px;display:flex;align-items:center;gap:10px;box-shadow:0 2px 6px #4caf501a}.transcript-title-badge .badge-icon{font-size:1.2rem}.transcript-title-badge .badge-text{font-size:.95rem;font-weight:600;color:#2e7d32;flex:1}.text-actions{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap}.btn-text-action{flex:1;min-width:120px;padding:10px 16px;border:2px solid #e5e7eb;border-radius:10px;background:#fff;color:#1f2937;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:6px}.btn-text-action .btn-icon{font-size:1.1rem}.btn-text-action.copy:hover{background:linear-gradient(135deg,#4caf50,#2196f3);border-color:#4caf50;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #4caf504d}.btn-text-action.download:hover{background:linear-gradient(135deg,#2196f3,#4caf50);border-color:#2196f3;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #2196f34d}.btn-text-action:active{transform:translateY(0)}.transcript-container{background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;padding:3px;margin-bottom:16px;box-shadow:inset 0 2px 6px #0000000d}.transcript-textarea{width:100%;min-height:350px;max-height:450px;padding:14px;border:none;border-radius:8px;font-family:Courier New,Courier,monospace;font-size:.9rem;line-height:1.5;color:#1f2937;background:#fff;resize:vertical;transition:all .3s ease}.transcript-textarea:focus{outline:none;box-shadow:0 0 0 3px #4caf501a}.transcript-info{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;padding:12px 16px;background:linear-gradient(135deg,#e8f5e9,#e3f2fd);border:2px solid #c8e6c9;border-radius:10px}.transcript-info .info-item{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:#2e7d32}.transcript-info .info-icon{font-size:1.1rem}.transcript-info .info-text{color:#1b5e20}.export-toast{position:fixed;padding:6px 12px;background:#fff;border:2px solid #4caf50;border-radius:8px;box-shadow:0 4px 12px #0000001f;font-weight:600;font-size:.85rem;line-height:1.2;color:#2e7d32;z-index:10001;animation:slideInRight .3s ease,fadeOut .3s ease 1.7s}@keyframes slideInRight{0%{transform:translate(400px);opacity:0}to{transform:translate(0);opacity:1}}.chat-history-modal .modal-header{background:linear-gradient(135deg,#2196f3,#4caf50);color:#fff;padding:18px 24px;border-bottom:none}.chat-history-modal .modal-header h2{color:#fff;font-size:1.25rem;font-weight:700;margin:0;display:flex;align-items:center;gap:10px}.history-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:16px;margin-bottom:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000000a}.history-card:hover{border-color:#4caf50;box-shadow:0 6px 16px #4caf5026;transform:translateY(-2px)}.history-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.history-card .date-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:linear-gradient(135deg,#e8f5e9,#e3f2fd);border:2px solid #c8e6c9;border-radius:16px;font-size:.8rem;font-weight:600;color:#2e7d32}.history-card .date-badge .badge-icon{font-size:.9rem}.history-card-title{font-size:1.1rem;font-weight:700;color:#1f2937;margin:0 0 10px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.history-card-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px;padding-bottom:12px;border-bottom:2px solid #f3f4f6}.history-card-meta .meta-item{display:flex;align-items:center;gap:5px;font-size:.85rem;color:#6b7280;font-weight:500}.history-card-meta .meta-icon{font-size:1rem}.history-card-footer{display:flex;justify-content:flex-end;gap:10px}.btn-history-view{padding:8px 16px;background:linear-gradient(135deg,#4caf50,#2196f3);border:none;border-radius:8px;color:#fff;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:6px;box-shadow:0 2px 6px #4caf5033}.btn-history-view:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4caf5066}.btn-history-view:active{transform:translateY(0)}.btn-history-view .btn-icon{font-size:1rem}.loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:#4caf50;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 12px}@media (max-width: 768px){.chat-text-modal .modal-header,.chat-history-modal .modal-header{padding:16px 20px}.chat-text-modal .modal-header h2,.chat-history-modal .modal-header h2{font-size:1.1rem}.chat-text-modal .modal-content,.chat-history-modal .modal-content{padding:16px 20px}.text-actions{flex-direction:column}.btn-text-action{width:100%;min-width:auto}.transcript-title-badge{padding:10px 14px;flex-direction:column;align-items:flex-start;gap:6px}.transcript-textarea{min-height:280px;font-size:.85rem}.transcript-info{flex-direction:column;gap:10px;align-items:flex-start}.history-card{padding:14px}.history-card-title{font-size:1rem}.history-card-meta{flex-direction:column;gap:8px}.btn-history-view{width:100%;justify-content:center}}.transcript-audio-modal{max-width:900px;width:90%;max-height:90vh}.transcript-audio-modal .modal-header{background:linear-gradient(135deg,#4caf50,#2196f3);color:#fff;padding:16px 20px;border-bottom:none;border-radius:12px 12px 0 0}.transcript-audio-modal .modal-header h2{color:#fff;font-size:1.2rem;font-weight:700;margin:0;display:flex;align-items:center;gap:8px}.transcript-audio-modal .modal-content{padding:16px;max-height:calc(90vh - 80px);overflow-y:auto;background:#f9fafb}.session-info-card{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:12px 14px;margin-bottom:14px;box-shadow:0 1px 4px #0000000a}.session-title{font-size:1rem;font-weight:700;color:#1f2937;margin:0 0 8px}.session-meta{display:flex;flex-wrap:wrap;gap:12px}.session-meta .meta-item{display:flex;align-items:center;gap:5px;font-size:.85rem;color:#6b7280;font-weight:500}.session-meta .meta-icon{font-size:1rem}.conversation-tabs{display:flex;gap:6px;margin-bottom:14px;background:#fff;padding:4px;border-radius:8px;border:2px solid #e5e7eb}.conversation-tabs .tab-button{flex:1;padding:8px 12px;background:transparent;border:none;border-radius:6px;color:#6b7280;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.conversation-tabs .tab-button:hover{background:#f3f4f6;color:#4caf50}.conversation-tabs .tab-button.active{background:linear-gradient(135deg,#4caf50,#2196f3);color:#fff;box-shadow:0 2px 4px #4caf5040}.conversation-tabs .tab-icon{font-size:1rem}.conversation-content{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:14px;min-height:350px;max-height:450px;overflow-y:auto}.transcript-view{height:100%}.conversation-messages{display:flex;flex-direction:column;gap:12px}.message-bubble{background:#fff;border:2px solid #e5e7eb;border-radius:8px;padding:10px 12px;transition:all .2s ease}.message-bubble:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.message-bubble.user-message{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.message-bubble.assistant-message{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px}.message-speaker{font-size:.85rem;font-weight:700;color:#1f2937}.message-number{font-size:.75rem;color:#9ca3af;font-weight:600}.message-text{font-size:.9rem;line-height:1.5;color:#374151;margin-bottom:7px}.message-audio-btn{background:#fff;border:1.5px solid #4caf50;border-radius:5px;color:#4caf50;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:5px}.message-audio-btn:hover{background:#f1f8f4;border-color:#45a049;color:#45a049}.message-audio-btn.playing{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border-color:#4caf50}.message-audio-btn .btn-icon{font-size:.9rem}.audio-view{height:100%}.audio-player-container{display:flex;flex-direction:column;gap:20px}.audio-player-controls{background:linear-gradient(135deg,#f1f8f4,#e8f5e9);border:2px solid #a5d6a7;border-radius:8px;padding:14px}.audio-player-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.audio-player-header .player-icon{font-size:1.6rem}.audio-player-header .player-info h3{font-size:1rem;font-weight:700;color:#1f2937;margin:0 0 3px}.audio-player-header .player-info p{font-size:.8rem;color:#6b7280;margin:0}.btn-play-all,.btn-stop-all{width:100%;padding:9px 16px;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:6px}.btn-play-all{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 2px 6px #4caf504d}.btn-play-all:hover{background:linear-gradient(135deg,#45a049,#388e3c);transform:translateY(-1px);box-shadow:0 3px 10px #4caf5066}.btn-stop-all{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 6px #ef44444d}.btn-stop-all:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 3px 10px #ef444466}.audio-progress{margin-top:12px}.audio-progress .progress-info{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:#1f2937;margin-bottom:6px}.audio-progress .progress-icon{font-size:1rem}.progress-bar{width:100%;height:6px;background:#e5e7eb;border-radius:8px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(135deg,#4caf50,#45a049);transition:width .3s ease;border-radius:8px}.audio-message-list{background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;padding:12px}.audio-message-list h4{font-size:.9rem;font-weight:700;color:#1f2937;margin:0 0 10px}.message-list-items{display:flex;flex-direction:column;gap:6px}.message-list-item{background:#fff;border:1.5px solid #e5e7eb;border-radius:5px;padding:8px 10px;display:flex;align-items:center;gap:8px;transition:all .2s ease}.message-list-item:hover{border-color:#d1d5db;box-shadow:0 1px 4px #0000000d}.message-list-item.playing{background:linear-gradient(135deg,#f1f8f4,#e8f5e9);border-color:#4caf50}.message-list-item .message-icon{font-size:1.1rem}.message-list-item .message-speaker-name{font-size:.85rem;font-weight:600;color:#374151;flex:1}.message-list-item .playing-indicator{font-size:1rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.transcript-audio-modal{width:95%;max-height:95vh}.transcript-audio-modal .modal-header{padding:16px 20px}.transcript-audio-modal .modal-header h2{font-size:1.1rem;gap:8px}.session-title{font-size:1rem}.conversation-tabs{padding:4px}.conversation-tabs .tab-button{flex-direction:column;gap:4px;padding:8px;font-size:.8rem}.conversation-tabs .tab-icon{font-size:1.3rem}.session-info-card{padding:14px 16px}.session-meta{flex-direction:column;gap:10px}.conversation-content{padding:14px;max-height:400px}.message-bubble{padding:12px 14px}}@media (max-width: 480px){.transcript-title-badge .badge-icon{font-size:1.1rem}.transcript-title-badge .badge-text{font-size:.9rem}.history-card .date-badge{font-size:.75rem;padding:5px 10px}}.start-controls{display:flex;flex-direction:column;align-items:center;gap:15px;width:100%;max-width:100%;padding:0 8px;box-sizing:border-box}.model-selector-container{width:100%;max-width:300px}.model-selector{width:100%;padding:10px 15px;border-radius:12px;border:2px solid #e0e0e0;background-color:#fff;font-size:16px;color:#333;cursor:pointer;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:20px}.model-selector:hover{border-color:#bbdefb}.model-selector:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.model-selector:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed;border-color:#eee}.conv-form-builder-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,#ecfdf5,#e0f2fe);border:1px solid #bae6fd}.conv-form-builder-banner-text{display:flex;flex-direction:column;gap:4px;min-width:0}.conv-form-builder-banner-text strong{font-size:.95rem;color:#0f172a}.conv-form-builder-banner-text span{font-size:.85rem;color:#475569;line-height:1.4}.conv-form-builder-banner-btn{flex-shrink:0;padding:10px 16px;border:none;border-radius:10px;background:linear-gradient(135deg,#0ea5e9,#0284c7);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #0ea5e959;transition:transform .15s ease,box-shadow .15s ease}.conv-form-builder-banner-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0ea5e966}.conv-form-builder-return{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:18px;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#f0fdf4,#eff6ff);border:1px solid #dbeafe}.conv-form-builder-return-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:none;border-radius:999px;background:#fff;color:#0369a1;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:0 1px 4px #0f172a14;border:1px solid #bae6fd;transition:background .15s ease,box-shadow .15s ease,transform .15s ease}.conv-form-builder-return-btn:hover{background:#f0f9ff;box-shadow:0 2px 8px #0ea5e92e;transform:translateY(-1px)}.conv-form-builder-return-icon{font-size:1rem;line-height:1}.conv-form-builder-return-hint{font-size:.8125rem;color:#64748b;line-height:1.4}.conv-form-shared-edit-notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;border-radius:12px;background:#fffbeb;border:1px solid #fcd34d;color:#78350f;font-size:.875rem;line-height:1.45}.conv-form-shared-edit-notice-icon{flex-shrink:0;margin-top:2px;color:#d97706}.conv-form-shared-edit-notice p{margin:0}.conv-form-shared-edit-notice strong{font-weight:600}.conv-form-media-desc-warning{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;padding:10px 12px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;color:#92400e}.conv-form-media-desc-warning-icon{flex-shrink:0;margin-top:2px;color:#d97706}.conv-form-media-desc-warning p{margin:0;font-size:.875rem;line-height:1.4}.conv-form-save-blocked{display:flex;align-items:flex-start;gap:10px;margin:0 16px 10px;padding:10px 12px;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b}.conv-form-save-blocked svg{flex-shrink:0;margin-top:2px;color:#dc2626}.conv-form-save-blocked p{margin:0;font-size:.875rem;line-height:1.4}.field-hint{display:block;font-weight:400;font-size:.8rem;line-height:1.35;color:#6b7280;margin-top:2px}.conversation-form-header-text{min-width:0;flex:1}.conversation-form-header-subtitle{margin:4px 0 0;font-size:.8125rem;font-weight:400;color:#ffffffe0;line-height:1.35}.conv-builder-alt-bar{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 22px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.conv-builder-alt-link{display:inline-flex;align-items:center;gap:6px;padding:0;border:none;background:none;color:#475569;font-size:.8125rem;font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-color:#cbd5e1;text-underline-offset:3px;transition:color .15s ease,text-decoration-color .15s ease}.conv-builder-alt-link:hover:not(:disabled){color:#0369a1;text-decoration-color:#7dd3fc}.conv-builder-alt-link:disabled{opacity:.5;cursor:not-allowed}.conv-builder-alt-link-icon{font-size:.875rem;text-decoration:none}.conv-builder-alt-hint{font-size:.75rem;color:#94a3b8;line-height:1.35}.conv-builder-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000005;display:flex;align-items:center;justify-content:center;padding:16px;background:#0f172a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.conv-builder-panel{width:100%;max-width:520px;max-height:min(calc(100vh - 32px),720px);display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 24px 48px #0f172a33;border:1px solid #e2e8f0;overflow:hidden}.conv-builder-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 22px 12px;background:linear-gradient(135deg,#4caf50,#2196f3);color:#fff}.conv-builder-header h2{margin:0 0 6px;font-size:1.25rem;font-weight:700}.conv-builder-header p{margin:0;font-size:.875rem;opacity:.92;line-height:1.4}.conv-builder-close{flex-shrink:0;width:36px;height:36px;border:none;border-radius:8px;background:#fff3;cursor:pointer;position:relative}.conv-builder-close:before,.conv-builder-close:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;background:#fff;border-radius:1px}.conv-builder-close:before{transform:translate(-50%,-50%) rotate(45deg)}.conv-builder-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.conv-builder-close:hover{background:#ffffff59}.conv-builder-progress{display:flex;gap:4px;padding:12px 22px 0}.conv-builder-progress-seg{flex:1;height:4px;border-radius:2px;background:#e2e8f0;transition:background .2s ease}.conv-builder-progress-seg.done{background:#7dd3fc}.conv-builder-progress-seg.active{background:#0284c7}.conv-builder-step-label{padding:16px 22px 8px}.conv-builder-step-kicker{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.conv-builder-step-label h3{margin:4px 0;font-size:1.1rem;color:#0f172a}.conv-builder-step-label p{margin:0;font-size:.875rem;color:#64748b}.conv-builder-body{flex:1;overflow-y:auto;padding:8px 22px 16px;min-height:0}.conv-builder-header,.conv-builder-alt-bar,.conv-builder-progress,.conv-builder-step-label,.conv-builder-context-bar,.conv-builder-footer{flex-shrink:0}@media (max-height: 640px){.conv-builder-overlay{padding:8px}.conv-builder-panel{max-height:calc(100vh - 16px)}.conv-builder-header{padding:12px 22px 10px}.conv-builder-header p{display:none}.conv-builder-alt-bar{padding:6px 22px 8px}.conv-builder-alt-hint{display:none}.conv-builder-step-label{padding:10px 22px 6px}.conv-builder-body{padding:6px 22px 12px}.conv-builder-footer{padding:10px 22px 12px}}.conv-builder-group-label{margin:12px 0 8px;font-size:.8rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em}.conv-builder-group-label:first-child{margin-top:0}.conv-builder-path-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:4px}.conv-builder-path-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;text-align:left;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.conv-builder-path-btn:hover{border-color:#bae6fd;background:#f0f9ff}.conv-builder-path-btn.selected{border-color:#0284c7;background:#e0f2fe;box-shadow:0 0 0 1px #0284c7}.conv-builder-path-btn-title{font-size:.9rem;font-weight:600;color:#0f172a}.conv-builder-path-btn-hint{font-size:.75rem;color:#64748b;line-height:1.35}.conv-builder-cefr-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.conv-builder-cefr-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;text-align:left;border:1.5px solid #e2e8f0;border-radius:10px;background:#f8fafc;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.conv-builder-cefr-card:hover{border-color:#bae6fd;background:#f0f9ff}.conv-builder-cefr-card.selected{border-color:#0284c7;background:#e0f2fe;box-shadow:0 0 0 1px #0284c7}.conv-builder-cefr-card-level{font-size:1rem;font-weight:700;color:#0284c7;letter-spacing:.02em}.conv-builder-cefr-card-band{font-size:.72rem;line-height:1.4;color:#64748b}.conv-builder-context-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 22px 0;padding:0 2px}.conv-builder-context-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;background:#e0f2fe;color:#0369a1;font-size:.75rem;font-weight:600}.conv-builder-context-pill.muted{background:#f1f5f9;color:#475569;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-builder-context-sep{color:#94a3b8;font-size:.75rem}.conv-builder-unit-list{display:flex;flex-direction:column;gap:8px;max-height:min(420px,52vh);overflow-y:auto;padding-right:2px}.conv-builder-unit-card{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;text-align:left;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.conv-builder-unit-card:hover{border-color:#bae6fd;background:#f8fafc}.conv-builder-unit-card.selected{border-color:#0284c7;background:#e0f2fe;box-shadow:0 0 0 1px #0284c7}.conv-builder-unit-number{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f1f5f9;color:#475569;font-size:.75rem;font-weight:700}.conv-builder-unit-card.selected .conv-builder-unit-number{background:#0284c7;color:#fff}.conv-builder-unit-body{display:flex;flex-direction:column;gap:3px;min-width:0}.conv-builder-unit-title{font-size:.9rem;font-weight:600;color:#0f172a;line-height:1.3}.conv-builder-unit-grammar{font-size:.75rem;color:#64748b;line-height:1.4}.conv-builder-scenario-intro{margin:0 0 8px;font-size:.875rem;color:#475569;line-height:1.45}.conv-builder-scenario-intro strong{color:#0f172a}.conv-builder-teacher-note{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#fffbeb;border:1px solid #fde68a;font-size:.78rem;line-height:1.45;color:#92400e}.conv-builder-scenario-list{display:flex;flex-direction:column;gap:8px;max-height:min(380px,48vh);overflow-y:auto;padding-right:2px}.conv-builder-scenario-card{display:flex;align-items:flex-start;gap:12px;width:100%;padding:12px 14px;text-align:left;border:1.5px solid #e2e8f0;border-radius:10px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.conv-builder-scenario-card:hover{border-color:#bae6fd;background:#f8fafc}.conv-builder-scenario-card.selected{border-color:#0284c7;background:#e0f2fe;box-shadow:0 0 0 1px #0284c7}.conv-builder-scenario-id{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#f1f5f9;color:#475569;font-size:.75rem;font-weight:700}.conv-builder-scenario-card.selected .conv-builder-scenario-id{background:#0284c7;color:#fff}.conv-builder-scenario-text{font-size:.8125rem;line-height:1.5;color:#334155}.conv-builder-chip-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.conv-builder-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;text-align:left;border:1.5px solid #e2e8f0;border-radius:10px;background:#f8fafc;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}.conv-builder-chip:hover{border-color:#bae6fd;background:#f0f9ff}.conv-builder-chip.selected{border-color:#0284c7;background:#e0f2fe;box-shadow:0 0 0 1px #0284c7}.conv-builder-chip-label{font-size:.9rem;font-weight:600;color:#0f172a}.conv-builder-chip-hint{font-size:.75rem;color:#64748b}.conv-builder-chip-row{display:flex;flex-wrap:nowrap;gap:8px}.conv-builder-chip-row.wrap{flex-wrap:wrap}.conv-builder-pill{padding:8px 14px;border:1.5px solid #e2e8f0;border-radius:999px;background:#fff;font-size:.875rem;font-weight:600;color:#334155;cursor:pointer;transition:all .15s ease}.conv-builder-pill:hover{border-color:#bae6fd;background:#f0f9ff}.conv-builder-pill.selected{border-color:#0284c7;background:#0284c7;color:#fff}.conv-builder-field{margin-top:12px}.conv-builder-field label{display:block;margin-bottom:6px;font-size:.875rem;font-weight:600;color:#334155}.conv-builder-field input,.conv-builder-field select,.conv-builder-field textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font-size:.9375rem;font-family:inherit;line-height:1.5;box-sizing:border-box}.conv-builder-field textarea{resize:vertical;min-height:200px}.conv-builder-custom-panel{margin-top:14px;padding:14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;border-left:3px solid #0284c7}.conv-builder-custom-intro{margin:0 0 14px;font-size:.875rem;line-height:1.5;color:#475569}.conv-builder-custom-intro strong{color:#0f172a}.conv-builder-custom-panel .conv-builder-field{margin-top:0}.conv-builder-custom-panel .conv-builder-field+.conv-builder-field{margin-top:14px}.conv-builder-prompt-field textarea{min-height:220px;max-height:min(360px,40vh);font-size:.9rem;line-height:1.55}.conv-builder-field-hint{margin:6px 0 0;font-size:.75rem;line-height:1.4;color:#94a3b8}.conv-builder-review-summary{margin-bottom:4px}.conv-builder-review-summary-line{margin:0 0 8px;font-size:.9rem;color:#0f172a}.conv-builder-review-hint{margin:0;font-size:.9rem;color:#64748b;line-height:1.5}.conv-builder-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;color:#475569}.conv-builder-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#0284c7;border-radius:50%;animation:conv-builder-spin .8s linear infinite}@keyframes conv-builder-spin{to{transform:rotate(360deg)}}.conv-builder-error{color:#b91c1c;font-size:.875rem}.conv-builder-preview{padding:14px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0}.conv-builder-status{margin:0 0 8px;font-size:.8rem;color:#0369a1}.conv-builder-source{margin:0 0 12px;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.conv-builder-preview-list{margin:0;display:flex;flex-direction:column;gap:10px}.conv-builder-preview-list>div{display:grid;grid-template-columns:72px 1fr;gap:8px;align-items:start}.conv-builder-preview-list dt{margin:0;font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase}.conv-builder-preview-list dd{margin:0;font-size:.875rem;color:#0f172a;line-height:1.45}.conv-builder-preview-list .conv-builder-preview-block{grid-template-columns:120px 1fr}.conv-builder-preview-multiline{white-space:pre-wrap;max-height:160px;overflow-y:auto;font-size:.8125rem}.conv-builder-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 22px 18px;border-top:1px solid #e2e8f0;background:#f8fafc}.conv-builder-btn{padding:10px 18px;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;transition:background .15s,opacity .15s}.conv-builder-btn:disabled{opacity:.5;cursor:not-allowed}.conv-builder-btn.secondary{background:#fff;border:1px solid #cbd5e1;color:#475569}.conv-builder-btn.secondary:hover:not(:disabled){background:#f1f5f9}.conv-builder-btn.primary{background:linear-gradient(135deg,#4caf50,#2196f3);color:#fff}.conv-builder-btn.primary:hover:not(:disabled){filter:brightness(1.05)}@media (max-width: 560px){.conv-form-builder-banner{flex-direction:column;align-items:stretch}.conv-form-builder-banner-btn{width:100%}.conv-form-builder-return{flex-direction:column;align-items:stretch}.conv-form-builder-return-btn{justify-content:center;width:100%}.conv-builder-chip-grid,.conv-builder-cefr-grid,.conv-builder-path-toggle{grid-template-columns:1fr}.conv-builder-context-bar{margin-left:16px;margin-right:16px}.conv-builder-chip-row{flex-wrap:wrap}}.speaking-quota-blocked-modal{max-width:420px;text-align:center;padding:28px 24px}.speaking-quota-blocked-modal__icon{font-size:2rem;color:#d97706;margin-bottom:12px}.speaking-quota-blocked-modal h2{margin:0 0 12px;font-size:1.25rem}.speaking-quota-blocked-modal p{margin:0 0 20px;color:#4b5563;line-height:1.5}.no-speech-detected-modal{max-width:460px;width:90%;text-align:center;padding:32px 28px 24px;border-radius:20px;background:var(--chat-panel-bg, #ffffff);box-shadow:0 24px 48px #0f172a33}.no-speech-detected-modal__icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:#fef3c7;color:#d97706;font-size:1.75rem;margin-bottom:16px}.no-speech-detected-modal h2{margin:0 0 12px;font-size:1.35rem;font-weight:700;color:var(--text-color, #1f2937)}.no-speech-detected-modal p{margin:0 0 16px;color:#4b5563;font-size:.95rem;line-height:1.55}.no-speech-detected-modal__tips{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px 18px;margin:0 0 24px;text-align:left}.no-speech-detected-modal__tips-title{margin:0 0 8px!important;font-weight:600;font-size:.92rem!important;color:#1e293b!important}.no-speech-detected-modal__tips ul{margin:0;padding-left:18px;color:#475569;font-size:.9rem;line-height:1.5}.no-speech-detected-modal__tips li{margin-bottom:6px}.no-speech-detected-modal__tips li:last-child{margin-bottom:0}.no-speech-detected-modal .modal-actions{display:flex;justify-content:center;border-top:none;background:transparent;padding:0}.no-speech-detected-modal .btn-primary{padding:12px 28px;font-size:1rem;border-radius:12px;font-weight:600;cursor:pointer}.speaking-usage-view{max-width:1100px;margin:0 auto;padding:24px 32px 48px}.speaking-usage-header h1{margin:12px 0 8px;font-size:1.75rem}.speaking-usage-lede{color:#6b7280;margin:0 0 24px}.speaking-usage-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:32px}.speaking-usage-summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px}.speaking-usage-summary-label{font-size:.8rem;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.speaking-usage-summary-value{font-size:1.35rem;color:#111827}.speaking-usage-table-section{margin-bottom:28px}.speaking-usage-table-section h3{margin:0 0 12px}.speaking-usage-table-wrap{overflow-x:auto;background:#fff;border:1px solid #e5e7eb;border-radius:12px}.speaking-usage-table{width:100%;border-collapse:collapse}.speaking-usage-table th,.speaking-usage-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f3f4f6}.speaking-usage-table th{background:#f9fafb;font-weight:600}.speaking-usage-empty,.speaking-usage-error,.speaking-usage-loading{padding:24px;color:#6b7280}.speaking-usage-error{color:#b45309}.wow-book-mode-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#0f4c5c;background:linear-gradient(135deg,#e0f7fa,#b2ebf2);border:1px solid #80deea;white-space:nowrap}.student-wow-book-pill{flex-shrink:0;margin-left:8px}.status-badge-wow-book{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:999px;font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#0f4c5c;background:#e0f7fa;border:1px solid #80deea;vertical-align:middle}.wow-book-link-status{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(160deg,#f0f9ff,#e8f5e9 45%,#fff8e1)}.wow-book-link-status-card{width:100%;max-width:420px;padding:32px 28px;border-radius:20px;background:#fff;box-shadow:0 12px 40px #0f4c5c1f;text-align:center}.wow-book-link-status-brand{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:20px}.wow-book-link-status-loading{display:flex;justify-content:center;margin:8px 0 20px}.wow-book-link-status-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.wow-book-link-status-icon--completed{color:#047857;background:#d1fae5}.wow-book-link-status-icon--error,.wow-book-link-status-icon--blocked{color:#b45309;background:#fef3c7}.wow-book-link-status-title{margin:0 0 8px;font-size:1.35rem;font-weight:700;color:#0f172a}.wow-book-link-status-activity{margin:0 0 12px;font-size:.95rem;font-weight:600;color:#0f4c5c}.wow-book-link-status-message{margin:0;font-size:.95rem;line-height:1.55;color:#475569}.wow-book-link-status-cta{margin-top:24px;min-width:180px}.ellp-session-feedback{margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0;text-align:left}.ellp-feedback-block{margin-bottom:16px}.ellp-feedback-block h4{margin:0 0 8px;font-size:.85rem;font-weight:700;color:#0f4c5c;text-transform:uppercase;letter-spacing:.04em}.ellp-feedback-block ul{margin:0;padding-left:1.2rem;color:#334155;line-height:1.5}.ellp-feedback-block p{margin:0;color:#334155;line-height:1.55}.transcript-review-hint{margin:10px 0 0;font-size:.82rem;color:#64748b;line-height:1.45}.transcript-scores-loading{margin:0 0 10px;font-size:.85rem}.transcript-rubric-feedback{text-align:left}.transcript-rubric-stage{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:14px;padding:10px 12px;background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px}.transcript-rubric-stage-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0f766e}.transcript-rubric-stage-value{font-size:1rem;font-weight:700;color:#134e4a}.transcript-rubric-heading{margin:0 0 8px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#0f4c5c}.transcript-rubric-dimension-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.transcript-rubric-dimension-item{padding:10px 12px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.transcript-rubric-dimension-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.transcript-rubric-dimension-label{font-weight:600;color:#1e293b;font-size:.9rem}.transcript-rubric-dimension-score{font-weight:700;color:#0f766e;white-space:nowrap}.transcript-rubric-dimension-note{margin:6px 0 0;font-size:.85rem;color:#475569;line-height:1.45}.transcript-rubric-closing{margin:12px 0 0;font-size:.85rem;color:#64748b;font-style:italic}.transcript-message-plain{margin:0;white-space:pre-wrap;line-height:1.55;color:#334155}.transcript-message-plain--blocks p{margin:0 0 .65em}.transcript-message-plain--blocks p:last-child{margin-bottom:0}.message-bubble-interactive{cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease}.message-bubble-interactive:hover{box-shadow:0 2px 10px #0f172a14}.message-bubble-active{border-color:#3b82f6!important;box-shadow:0 0 0 2px #3b82f633}.message-bubble-feedback{border-width:2px}.message-list-item-btn{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;background:#fff;cursor:pointer;transition:background .15s ease,border-color .15s ease}.message-list-item-btn:hover{background:#f8fafc;border-color:#cbd5e1}.message-list-item-btn.playing{border-color:#3b82f6;background:#eff6ff}.message-list-item-num{font-size:.75rem;font-weight:700;color:#94a3b8;min-width:28px}.message-list-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.message-list-preview{font-size:.78rem;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-list-play{color:#3b82f6;flex-shrink:0}.role-view-wrapper.ssr-role-wrapper{align-items:stretch;justify-content:flex-start;height:100%;min-height:0;max-height:100%;overflow:hidden;flex:1;display:flex;flex-direction:column}.ssr-view{--ssr-status-done: #10b981;--ssr-status-doing: #f59e0b;--ssr-status-todo: #9ca3af;--ssr-teal: #4a90a4;--ssr-primary: #4caf50;width:100%;height:100%;max-height:100%;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--background-color, #f0f8ff);display:flex;flex-direction:column;align-items:stretch}.ssr-view.teacher-view{height:100%;max-height:100%;min-height:0;overflow-x:hidden;overflow-y:auto}.ssr-header{position:sticky;top:0;z-index:40;flex-shrink:0;background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:none;padding:0}.ssr-header-inner{max-width:1280px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.ssr-brand-lockup{display:flex;align-items:center;gap:12px;min-width:0}.ssr-brand-text{display:flex;flex-direction:column;min-width:0}.ssr-brand-name{font-weight:800;font-size:1.05rem;letter-spacing:-.01em;color:#333;line-height:1.2}.ssr-brand-context{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.ssr-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ssr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:8px 14px;font-size:.9rem;font-weight:700;border:1px solid transparent;cursor:pointer;font-family:inherit;white-space:nowrap;background:#fff;color:#374151}.ssr-btn:focus-visible{outline:2px solid var(--ssr-teal);outline-offset:2px}.ssr-btn-ghost{background:#fff;border-color:#d1d5db;color:#374151}.ssr-btn-ghost:hover{background:#f0fdf4;border-color:#bbf7d0;color:#388e3c}.ssr-btn-primary{background:var(--ssr-primary);color:#fff;border-color:transparent;box-shadow:0 2px 6px #4caf504d}.ssr-btn-primary:hover{background:#45a049}.ssr-page{flex:1 0 auto;width:100%;max-width:1280px;margin:0 auto;padding:24px 24px 56px;box-sizing:border-box}.ssr-page-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;margin-bottom:20px}.ssr-page-hero h1{margin:0 0 6px;font-size:clamp(1.45rem,2.4vw,1.85rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;color:#333}.ssr-lede{margin:0;color:#6b7280;font-size:.98rem;max-width:42rem;line-height:1.45;font-weight:600}.ssr-data-note{display:block;margin-top:4px;font-size:.85rem;color:#64748b;font-weight:600}.ssr-chips{display:flex;flex-wrap:wrap;gap:8px}.ssr-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:.8rem;font-weight:700;border:1px solid #e5e7eb;background:#fff;color:#374151}.ssr-chip.green{background:#ecfdf5;border-color:#bbf7d0;color:#14532d}.ssr-chip.slate{background:#f8fafc;border-color:#e2e8f0;color:#334155}.ssr-chip.teal{background:#ecfeff;border-color:#a5f3fc;color:#155e75}.ssr-chip.amber{background:#fffbeb;border-color:#fde68a;color:#78350f}.ssr-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px;padding:14px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 1px 3px #0000000f}.ssr-field{display:flex;flex-direction:column;gap:6px;min-width:0}.ssr-field label,.ssr-field .ssr-field-label{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ssr-teal)}.ssr-field select,.ssr-field input{width:100%;border:1px solid #d1e7f5;border-radius:10px;padding:10px 12px;font-size:.92rem;font-weight:600;font-family:inherit;color:#333;background:#fff;box-sizing:border-box}.ssr-field select:disabled{opacity:.55;cursor:not-allowed;background:#f8fafc}.ssr-field select:focus,.ssr-field input:focus{outline:2px solid rgba(74,144,164,.35);border-color:var(--ssr-teal)}.ssr-scope-toggle{display:flex;background:#f1f5f9;border-radius:10px;padding:4px;gap:4px}.ssr-scope-toggle button{flex:1;border:0;background:transparent;border-radius:8px;padding:9px 10px;font-weight:800;font-size:.85rem;color:#6b7280;cursor:pointer;font-family:inherit}.ssr-scope-toggle button.active{background:#fff;color:#0369a1;box-shadow:0 1px 3px #0000000f}.ssr-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.ssr-stat-card{background:#fff;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:16px 18px;border:1px solid transparent;min-height:110px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.ssr-stat-card.green{background:linear-gradient(145deg,#ecfdf5,#fff);border-color:#bbf7d0}.ssr-stat-card.teal{background:linear-gradient(145deg,#ecfeff,#fff);border-color:#a5f3fc}.ssr-stat-card.blue{background:linear-gradient(145deg,#eff6ff,#fff);border-color:#bfdbfe}.ssr-stat-card.amber{background:linear-gradient(145deg,#fffbeb,#fff);border-color:#fde68a}.ssr-stat-label{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.ssr-stat-value{display:block;margin-top:8px;font-size:1.85rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;color:#333}.ssr-stat-value small{font-size:1rem;font-weight:700;color:#6b7280}.ssr-stat-sub{display:block;margin-top:6px;font-size:.82rem;font-weight:600;color:#6b7280}.ssr-stat-value-muted{color:#6b7280}.ssr-skill-n{display:block;margin-top:1px;font-size:.68rem;font-weight:600;line-height:1.2;color:#6b7280}.ssr-skill-note{margin:12px 0 0;font-size:.8rem;font-weight:600;color:#6b7280;max-width:60ch}.ssr-mixed-scoring{background:#fff;border:1px solid #a5f3fc;border-radius:16px;box-shadow:0 4px 12px #00000014;padding:16px 18px;margin-bottom:12px}.ssr-mixed-scoring-title{margin:0;font-size:.95rem;font-weight:800;color:#333}.ssr-mixed-scoring-note{margin:6px 0 12px;font-size:.82rem;font-weight:600;color:#6b7280;max-width:70ch}.ssr-mixed-scoring-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ssr-mixed-scoring-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:12px;padding:10px 12px;border-radius:12px;background:linear-gradient(145deg,#ecfeff,#fff)}.ssr-mixed-scoring-method{font-weight:700;color:#333;overflow-wrap:anywhere}.ssr-mixed-scoring-value{font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:#333}.ssr-mixed-scoring-count{font-size:.8rem;font-weight:600;color:#6b7280;white-space:nowrap}@media (max-width: 560px){.ssr-mixed-scoring-row{grid-template-columns:minmax(0,1fr) auto}.ssr-mixed-scoring-count{grid-column:1 / -1}}.ssr-insights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.ssr-insight{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px;box-shadow:0 1px 3px #0000000f}.ssr-insight-kicker{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ssr-teal);margin-bottom:4px}.ssr-insight p{margin:0;font-size:.9rem;font-weight:700;color:#374151;line-height:1.35}.ssr-grid-2{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-bottom:16px}.ssr-panel{background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;border:1px solid #e5e7eb;overflow:hidden;min-width:0}.ssr-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 18px 0}.ssr-panel-head h2{margin:0;font-size:1.05rem;font-weight:800;letter-spacing:-.01em;color:#333}.ssr-panel-head p{margin:4px 0 0;font-size:.85rem;color:#6b7280;font-weight:600}.ssr-panel-head .ssr-field{margin:0;min-width:180px}.ssr-panel-body{padding:16px 18px 18px}.ssr-panel-body--flush{padding-left:0;padding-right:0;padding-bottom:0}.ssr-skill-list{display:flex;flex-direction:column;gap:14px}.ssr-skill-row{display:grid;grid-template-columns:110px 1fr 48px;gap:10px;align-items:center}.ssr-skill-name{font-size:.88rem;font-weight:700;color:#374151}.ssr-skill-track{height:10px;border-radius:999px;background:#f1f5f9;overflow:hidden}.ssr-skill-fill{height:100%;border-radius:inherit;transition:width .6s cubic-bezier(.22,1,.36,1)}.ssr-skill-fill.overall{background:linear-gradient(90deg,#86efac,#4caf50)}.ssr-skill-fill.pronunciation{background:linear-gradient(90deg,#34d399,#10b981)}.ssr-skill-fill.fluency{background:linear-gradient(90deg,#60a5fa,#3b82f6)}.ssr-skill-fill.grammar{background:linear-gradient(90deg,#2dd4bf,#4a90a4)}.ssr-skill-fill.vocabulary{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.ssr-skill-score{text-align:right;font-weight:800;font-variant-numeric:tabular-nums;font-size:.92rem}.ssr-dist-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;height:160px;padding-top:8px}.ssr-dist-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}.ssr-dist-count{font-weight:800;font-size:.85rem}.ssr-dist-bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center}.ssr-dist-bar{width:100%;max-width:44px;border-radius:8px 8px 4px 4px;min-height:4px;transition:height .6s cubic-bezier(.22,1,.36,1)}.ssr-dist-bar--below70{background:linear-gradient(180deg,#fca5a5,#ef4444)}.ssr-dist-bar--70-79{background:linear-gradient(180deg,#fcd34d,#f59e0b)}.ssr-dist-bar--80-89{background:linear-gradient(180deg,#93c5fd,#3b82f6)}.ssr-dist-bar--90plus{background:linear-gradient(180deg,#6ee7b7,#10b981)}.ssr-dist-bar--none{background:linear-gradient(180deg,#d1d5db,#9ca3af)}.ssr-dist-label{font-size:.72rem;font-weight:700;color:#6b7280;text-align:center}.ssr-status-split{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:center}.ssr-donut{width:140px;height:140px;border-radius:50%;display:grid;place-items:center;position:relative}.ssr-donut:after{content:"";width:84px;height:84px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #f1f5f9}.ssr-donut-center{position:absolute;text-align:center;z-index:1}.ssr-donut-center strong{display:block;font-size:1.35rem;font-weight:800;line-height:1;color:#333}.ssr-donut-center span{font-size:.72rem;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.ssr-status-legend{display:flex;flex-direction:column;gap:10px}.ssr-legend-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.9rem;font-weight:700}.ssr-legend-row em{font-style:normal;color:#6b7280;font-variant-numeric:tabular-nums}.ssr-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;vertical-align:middle}.ssr-dot.done{background:var(--ssr-status-done)}.ssr-dot.doing{background:var(--ssr-status-doing)}.ssr-dot.todo{background:var(--ssr-status-todo)}.ssr-word-cloud{display:flex;flex-wrap:wrap;gap:8px}.ssr-word-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#fff7ed;border:1px solid #fed7aa;font-weight:700;font-size:.85rem;color:#9a3412}.ssr-word-chip .score{font-size:.78rem;color:#c2410c;background:#ffedd5;padding:2px 7px;border-radius:999px;font-variant-numeric:tabular-nums}.ssr-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ssr-table{width:100%;border-collapse:collapse;font-size:.9rem;table-layout:auto}.ssr-table th.ssr-student-col,.ssr-table td.ssr-student-col{width:34%;min-width:220px;max-width:420px}.ssr-table thead th{text-align:left;padding:12px 14px;background:#f9fafb;color:#6b7280;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;white-space:nowrap}.ssr-table tbody td{padding:12px 14px;border-bottom:1px solid #f3f4f6;vertical-align:middle}.ssr-table tbody tr.ssr-row-link{cursor:pointer;transition:background .12s ease}.ssr-table tbody tr.ssr-row-link:hover,.ssr-table tbody tr.ssr-row-link:focus-visible{background:#667eea0d;outline:none}.ssr-student-cell{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%}.ssr-student-text{min-width:0;flex:1;overflow:hidden}.ssr-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:800;font-size:.85rem;display:grid;place-items:center;flex-shrink:0}.ssr-avatar.lg{width:56px;height:56px;font-size:1.25rem}.ssr-student-name{font-weight:800;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.ssr-student-sub{font-size:.75rem;color:#6b7280;font-weight:600}.ssr-tabular{font-variant-numeric:tabular-nums;font-weight:700}.ssr-status-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:.78rem;font-weight:700;white-space:nowrap}.ssr-status-pill.completed{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff}.ssr-status-pill.in-progress{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.ssr-status-pill.not-started{background:#e5e7eb;color:#6b7280}.ssr-spark{display:flex;align-items:flex-end;gap:3px;height:28px}.ssr-spark i{display:block;width:8px;border-radius:3px 3px 1px 1px;background:#bbf7d0;font-style:normal}.ssr-spark i.hi{background:#4caf50}.ssr-table-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 18px 16px;border-top:1px solid #f3f4f6;color:#6b7280;font-size:.85rem;font-weight:600}.ssr-back-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #d1d5db;background:#fff;border-radius:10px;padding:8px 14px;font-weight:700;font-size:.9rem;cursor:pointer;font-family:inherit;color:#374151}.ssr-back-btn:hover{background:#f0fdf4;border-color:#bbf7d0;color:#388e3c}.ssr-loading,.ssr-error{text-align:center;padding:48px 24px;color:#6b7280}.ssr-spinner{width:36px;height:36px;margin:0 auto 12px;border:3px solid #e5e7eb;border-top-color:#4caf50;border-radius:50%;animation:ssr-spin .8s linear infinite}@keyframes ssr-spin{to{transform:rotate(360deg)}}.ssr-empty-hint{color:#6b7280;font-weight:600;font-size:.9rem;line-height:1.45;margin:0}.ssr-muted{color:#6b7280;font-weight:600;font-size:.88rem}.ssr-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:.88rem;color:#6b7280;margin-bottom:16px}.ssr-breadcrumb-link{border:0;background:none;padding:0;color:var(--ssr-teal);font-weight:700;cursor:pointer;font-family:inherit;font-size:inherit}.ssr-breadcrumb-link:hover{text-decoration:underline}.ssr-breadcrumb .sep{color:#cbd5e1}.ssr-student-hero{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:20px;padding:20px;background:#fff;border-radius:16px;box-shadow:0 4px 12px #0000001a;border:1px solid #e5e7eb}.ssr-student-hero h1{margin:0 0 4px;font-size:1.55rem;font-weight:800;color:#333}.ssr-student-hero p{margin:0;color:#6b7280;font-weight:600}.ssr-hero-score{text-align:right}.ssr-hero-score .label{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.ssr-hero-score strong{display:block;font-size:2.4rem;font-weight:800;line-height:1;color:var(--ssr-teal);letter-spacing:-.03em}.ssr-hero-score .hint{display:block;margin-top:4px;font-size:.8rem;font-weight:700;color:#059669}.ssr-compare-note{margin:14px 0 0;font-size:.82rem;font-weight:600;color:#6b7280;line-height:1.4}.ssr-trend-chart{height:180px;display:flex;flex-direction:column;gap:8px}.ssr-trend-svg{width:100%;flex:1;min-height:140px}.ssr-trend-x{display:flex;justify-content:space-between;font-size:.72rem;font-weight:700;color:#6b7280}.ssr-trend-empty{padding:24px 0;text-align:center}.ssr-timeline{display:flex;flex-direction:column}.ssr-timeline-item{display:grid;grid-template-columns:24px 1fr;gap:12px}.ssr-timeline-rail{display:flex;flex-direction:column;align-items:center}.ssr-timeline-dot{width:12px;height:12px;border-radius:50%;background:#4caf50;border:2px solid #fff;box-shadow:0 0 0 2px #bbf7d0;margin-top:4px;flex-shrink:0}.ssr-timeline-item:not(:last-child) .ssr-timeline-rail:after{content:"";width:2px;flex:1;background:#e5e7eb;margin:4px 0;min-height:28px}.ssr-timeline-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px;margin-bottom:12px}.ssr-timeline-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.ssr-timeline-top h3{margin:0;font-size:.92rem;font-weight:800;color:#333}.ssr-timeline-meta{font-size:.78rem;font-weight:700;color:#6b7280;margin-bottom:8px}.ssr-skill-grid-mini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.ssr-skill-grid-mini>div{background:#fff;border-radius:8px;padding:8px;text-align:center;border:1px solid #eef2f7}.ssr-skill-grid-mini span{display:block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.ssr-skill-grid-mini strong{font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums}@media (max-width: 1024px){.ssr-controls,.ssr-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ssr-grid-2,.ssr-insights{grid-template-columns:1fr}.ssr-student-hero{grid-template-columns:auto 1fr}.ssr-hero-score{grid-column:1 / -1;text-align:left;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px}.ssr-hero-score strong{font-size:2rem}.ssr-status-split{grid-template-columns:1fr;justify-items:center}}@media (max-width: 640px){.ssr-page{padding:16px 14px 40px}.ssr-header-inner{padding:10px 14px}.ssr-controls,.ssr-stats{grid-template-columns:1fr}.ssr-skill-row{grid-template-columns:1fr 48px}.ssr-skill-name{grid-column:1 / -1}.ssr-skill-grid-mini{grid-template-columns:repeat(2,minmax(0,1fr))}.ssr-hide-sm{display:none}.ssr-panel-head{flex-direction:column}.ssr-panel-head .ssr-field{width:100%;min-width:0}}@media print{.ssr-header,.ssr-header-actions,.ssr-controls,.ssr-btn,.ssr-back-btn{display:none!important}.ssr-view{overflow:visible;height:auto;max-height:none}.ssr-panel,.ssr-stat-card{box-shadow:none;break-inside:avoid}}.ssr-view .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.ssr-view .score-badge{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:4px 8px;border-radius:6px;font-weight:800;font-size:.88rem;font-variant-numeric:tabular-nums;border:1px solid transparent}.ssr-view .score-excellent{background:#d1fae5;color:#065f46;border-color:#10b981}.ssr-view .score-good{background:#dbeafe;color:#1e40af;border-color:#3b82f6}.ssr-view .score-fair{background:#fef3c7;color:#78350f;border-color:#fbbf24}.ssr-view .score-needs{background:#fee2e2;color:#991b1b;border-color:#ef4444}.ssr-view .score-empty{background:#f3f4f6;color:#9ca3af;border-color:#e5e7eb}.app-error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--background-color);padding:2rem;width:100%}.app-error-boundary-card{background:var(--chat-panel-bg);border-radius:var(--border-radius);box-shadow:var(--box-shadow);border:2px solid #e5e7eb;padding:3rem 2.5rem;max-width:560px;width:100%;text-align:center;font-family:var(--font-family);color:var(--text-color)}.app-error-boundary-icon{font-size:3rem;line-height:1;margin-bottom:.75rem}.app-error-boundary-card h1{margin:0 0 .75rem;font-size:1.5rem}.app-error-boundary-card p{margin:0 0 .75rem;line-height:1.6}.app-error-boundary-hint{color:#6b7280;font-size:.95rem}.app-error-boundary-button{margin-top:1rem;padding:12px 28px;border:none;border-radius:999px;background:var(--button-start-bg);color:#fff;font-family:var(--font-family);font-size:1rem;font-weight:700;cursor:pointer}.app-error-boundary-button:hover{filter:brightness(.95)}.app-error-boundary-button:focus-visible{outline:2px solid #166534;outline-offset:2px}.app-error-boundary-details{margin-top:1.5rem;text-align:left;font-size:.85rem;color:#6b7280}.app-error-boundary-details summary{cursor:pointer}.app-error-boundary-details code{display:block;margin-top:.5rem;padding:.75rem;background:#f9fafb;border-radius:8px;word-break:break-word;white-space:pre-wrap}::highlight(search-results){background-color:#ff0;color:#000}.reading-score-retry{max-width:380px;margin:20px auto 8px;padding:32px 28px;text-align:center;background:linear-gradient(180deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 2px #0000000a}.reading-score-retry-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:16px;border-radius:50%;background:#fef3c7;color:#b45309;font-size:1.3rem}.reading-score-retry-title{margin:0 0 8px;font-size:1.2rem;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:#0f172a;text-wrap:balance}.reading-score-retry-text{margin:0 0 22px;text-wrap:balance;font-size:.95rem;line-height:1.5;color:#475569}.reading-score-retry-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:190px;min-height:46px;padding:12px 28px;border:none;border-radius:12px;background:linear-gradient(135deg,#3d7a8c,#316a7a);color:#fff;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.reading-score-retry-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #3d7a8c4d}.reading-score-retry-button:focus-visible{outline:2px solid #316a7a;outline-offset:3px}.reading-score-retry-button:disabled{opacity:.75;cursor:default}.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translateZ(0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:before,.slick-track:after{display:table;content:""}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.slick-loading .slick-list{background:#fff url(./ajax-loader-BcnMEykj.gif) center center no-repeat}@font-face{font-family:slick;font-weight:400;font-style:normal;src:url(data:application/vnd.ms-fontobject;base64,AAgAAGQHAAABAAIAAAAAAAIABQkAAAAAAAABAJABAAAAAExQAQAAgCAAAAAAAAAAAAAAAAEAAAAAAAAATxDE8AAAAAAAAAAAAAAAAAAAAAAAAAoAcwBsAGkAYwBrAAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAKAHMAbABpAGMAawAAAAAAAAEAAAANAIAAAwBQRkZUTW3RyK8AAAdIAAAAHEdERUYANAAGAAAHKAAAACBPUy8yT/b9sgAAAVgAAABWY21hcCIPRb0AAAHIAAABYmdhc3D//wADAAAHIAAAAAhnbHlmP5u2YAAAAzwAAAIsaGVhZAABMfsAAADcAAAANmhoZWED5QIFAAABFAAAACRobXR4BkoASgAAAbAAAAAWbG9jYQD2AaIAAAMsAAAAEG1heHAASwBHAAABOAAAACBuYW1lBSeBwgAABWgAAAFucG9zdC+zMgMAAAbYAAAARQABAAAAAQAA8MQQT18PPPUACwIAAAAAAM9xeH8AAAAAz3F4fwAlACUB2wHbAAAACAACAAAAAAAAAAEAAAHbAAAALgIAAAAAAAHbAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAAHAEQAAgAAAAAAAgAAAAEAAQAAAEAAAAAAAAAAAQIAAZAABQAIAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAIABQkAAAAAAACAAAABAAAAIAAAAAAAAAAAUGZFZABAAGEhkgHg/+AALgHb/9sAAAABAAAAAAAAAgAAAAAAAAACAAAAAgAAJQAlACUAJQAAAAAAAwAAAAMAAAAcAAEAAAAAAFwAAwABAAAAHAAEAEAAAAAMAAgAAgAEAAAAYSAiIZAhkv//AAAAAABhICIhkCGS//8AAP+l3+PedN5xAAEAAAAAAAAAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAIwAsAEWAAIAJQAlAdsB2wAYACwAAD8BNjQvASYjIg8BBhUUHwEHBhUUHwEWMzI2FAcGBwYiJyYnJjQ3Njc2MhcWF/GCBgaCBQcIBR0GBldXBgYdBQgH7x0eMjB8MDIeHR0eMjB8MDIecYIGDgaCBQUeBQcJBFhYBAkHBR4F0nwwMh4dHR4yMHwwMh4dHR4yAAAAAgAlACUB2wHbABgALAAAJTc2NTQvATc2NTQvASYjIg8BBhQfARYzMjYUBwYHBiInJicmNDc2NzYyFxYXASgdBgZXVwYGHQUIBwWCBgaCBQcIuB0eMjB8MDIeHR0eMjB8MDIecR4FBwkEWFgECQcFHgUFggYOBoIF0nwwMh4dHR4yMHwwMh4dHR4yAAABACUAJQHbAdsAEwAAABQHBgcGIicmJyY0NzY3NjIXFhcB2x0eMjB8MDIeHR0eMjB8MDIeAT58MDIeHR0eMjB8MDIeHR0eMgABACUAJQHbAdsAQwAAARUUBisBIicmPwEmIyIHBgcGBwYUFxYXFhcWMzI3Njc2MzIfARYVFAcGBwYjIicmJyYnJjQ3Njc2NzYzMhcWFzc2FxYB2woIgAsGBQkoKjodHBwSFAwLCwwUEhwcHSIeIBMGAQQDJwMCISspNC8mLBobFBERFBsaLCYvKicpHSUIDAsBt4AICgsLCScnCwwUEhwcOhwcEhQMCw8OHAMDJwMDAgQnFBQRFBsaLCZeJiwaGxQRDxEcJQgEBgAAAAAAAAwAlgABAAAAAAABAAUADAABAAAAAAACAAcAIgABAAAAAAADACEAbgABAAAAAAAEAAUAnAABAAAAAAAFAAsAugABAAAAAAAGAAUA0gADAAEECQABAAoAAAADAAEECQACAA4AEgADAAEECQADAEIAKgADAAEECQAEAAoAkAADAAEECQAFABYAogADAAEECQAGAAoAxgBzAGwAaQBjAGsAAHNsaWNrAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAHMAbABpAGMAawAgADoAIAAxADQALQA0AC0AMgAwADEANAAARm9udEZvcmdlIDIuMCA6IHNsaWNrIDogMTQtNC0yMDE0AABzAGwAaQBjAGsAAHNsaWNrAABWAGUAcgBzAGkAbwBuACAAMQAuADAAAFZlcnNpb24gMS4wAABzAGwAaQBjAGsAAHNsaWNrAAAAAAIAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAgECAQMAhwBECmFycm93cmlnaHQJYXJyb3dsZWZ0AAAAAAAAAf//AAIAAQAAAA4AAAAYAAAAAAACAAEAAwAGAAEABAAAAAIAAAAAAAEAAAAAzu7XsAAAAADPcXh/AAAAAM9xeH8=);src:url(data:application/vnd.ms-fontobject;base64,AAgAAGQHAAABAAIAAAAAAAIABQkAAAAAAAABAJABAAAAAExQAQAAgCAAAAAAAAAAAAAAAAEAAAAAAAAATxDE8AAAAAAAAAAAAAAAAAAAAAAAAAoAcwBsAGkAYwBrAAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAKAHMAbABpAGMAawAAAAAAAAEAAAANAIAAAwBQRkZUTW3RyK8AAAdIAAAAHEdERUYANAAGAAAHKAAAACBPUy8yT/b9sgAAAVgAAABWY21hcCIPRb0AAAHIAAABYmdhc3D//wADAAAHIAAAAAhnbHlmP5u2YAAAAzwAAAIsaGVhZAABMfsAAADcAAAANmhoZWED5QIFAAABFAAAACRobXR4BkoASgAAAbAAAAAWbG9jYQD2AaIAAAMsAAAAEG1heHAASwBHAAABOAAAACBuYW1lBSeBwgAABWgAAAFucG9zdC+zMgMAAAbYAAAARQABAAAAAQAA8MQQT18PPPUACwIAAAAAAM9xeH8AAAAAz3F4fwAlACUB2wHbAAAACAACAAAAAAAAAAEAAAHbAAAALgIAAAAAAAHbAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAAHAEQAAgAAAAAAAgAAAAEAAQAAAEAAAAAAAAAAAQIAAZAABQAIAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAIABQkAAAAAAACAAAABAAAAIAAAAAAAAAAAUGZFZABAAGEhkgHg/+AALgHb/9sAAAABAAAAAAAAAgAAAAAAAAACAAAAAgAAJQAlACUAJQAAAAAAAwAAAAMAAAAcAAEAAAAAAFwAAwABAAAAHAAEAEAAAAAMAAgAAgAEAAAAYSAiIZAhkv//AAAAAABhICIhkCGS//8AAP+l3+PedN5xAAEAAAAAAAAAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAIwAsAEWAAIAJQAlAdsB2wAYACwAAD8BNjQvASYjIg8BBhUUHwEHBhUUHwEWMzI2FAcGBwYiJyYnJjQ3Njc2MhcWF/GCBgaCBQcIBR0GBldXBgYdBQgH7x0eMjB8MDIeHR0eMjB8MDIecYIGDgaCBQUeBQcJBFhYBAkHBR4F0nwwMh4dHR4yMHwwMh4dHR4yAAAAAgAlACUB2wHbABgALAAAJTc2NTQvATc2NTQvASYjIg8BBhQfARYzMjYUBwYHBiInJicmNDc2NzYyFxYXASgdBgZXVwYGHQUIBwWCBgaCBQcIuB0eMjB8MDIeHR0eMjB8MDIecR4FBwkEWFgECQcFHgUFggYOBoIF0nwwMh4dHR4yMHwwMh4dHR4yAAABACUAJQHbAdsAEwAAABQHBgcGIicmJyY0NzY3NjIXFhcB2x0eMjB8MDIeHR0eMjB8MDIeAT58MDIeHR0eMjB8MDIeHR0eMgABACUAJQHbAdsAQwAAARUUBisBIicmPwEmIyIHBgcGBwYUFxYXFhcWMzI3Njc2MzIfARYVFAcGBwYjIicmJyYnJjQ3Njc2NzYzMhcWFzc2FxYB2woIgAsGBQkoKjodHBwSFAwLCwwUEhwcHSIeIBMGAQQDJwMCISspNC8mLBobFBERFBsaLCYvKicpHSUIDAsBt4AICgsLCScnCwwUEhwcOhwcEhQMCw8OHAMDJwMDAgQnFBQRFBsaLCZeJiwaGxQRDxEcJQgEBgAAAAAAAAwAlgABAAAAAAABAAUADAABAAAAAAACAAcAIgABAAAAAAADACEAbgABAAAAAAAEAAUAnAABAAAAAAAFAAsAugABAAAAAAAGAAUA0gADAAEECQABAAoAAAADAAEECQACAA4AEgADAAEECQADAEIAKgADAAEECQAEAAoAkAADAAEECQAFABYAogADAAEECQAGAAoAxgBzAGwAaQBjAGsAAHNsaWNrAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAHMAbABpAGMAawAgADoAIAAxADQALQA0AC0AMgAwADEANAAARm9udEZvcmdlIDIuMCA6IHNsaWNrIDogMTQtNC0yMDE0AABzAGwAaQBjAGsAAHNsaWNrAABWAGUAcgBzAGkAbwBuACAAMQAuADAAAFZlcnNpb24gMS4wAABzAGwAaQBjAGsAAHNsaWNrAAAAAAIAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAgECAQMAhwBECmFycm93cmlnaHQJYXJyb3dsZWZ0AAAAAAAAAf//AAIAAQAAAA4AAAAYAAAAAAACAAEAAwAGAAEABAAAAAIAAAAAAAEAAAAAzu7XsAAAAADPcXh/AAAAAM9xeH8=) format("embedded-opentype"),url(data:font/woff;base64,d09GRk9UVE8AAAVkAAsAAAAAB1wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAABCAAAAi4AAAKbH/pWDkZGVE0AAAM4AAAAGgAAABxt0civR0RFRgAAA1QAAAAcAAAAIAAyAARPUy8yAAADcAAAAFIAAABgUBj/rmNtYXAAAAPEAAAAUAAAAWIiC0SwaGVhZAAABBQAAAAuAAAANgABMftoaGVhAAAERAAAABwAAAAkA+UCA2htdHgAAARgAAAADgAAAA4ESgBKbWF4cAAABHAAAAAGAAAABgAFUABuYW1lAAAEeAAAANwAAAFuBSeBwnBvc3QAAAVUAAAAEAAAACAAAwABeJw9ks9vEkEUx2cpWyeUoFYgNkHi2Wt7N3rVm3cTs3UVLC4LxIWEQvi1P3i7O1tYLJDAmlgKGEhQrsajf0j7J3jYTXrQWUrMJG+++b55n5e8NwwKBhHDMLv5kxT3ATEBxKBn3qOAl9zxHgb1MAPhHQgHkyF08Gr/L8B/Eb6zWnmCJ7AJVLubQOheArXvJ1A4EXi6j4I+Zg9F0QFKvsnlBCmXeve+sFEnb/nCptdtQ4QYhVFRAT1HrF8UQK/RL/SbmUbclsvGVFXRZKDHUE38cc4qpkbAAsuwiImvro+ufcfaOIQ6szlrmjRJDaKZKnbjN3GWKIbiIzRFUfCffuxxKOL+3LDlDVvx2TdxN84qZEsnhNBa6pgm2dAsnzbLsETdsmRFxUeHV4e+I2/ptN8TyqV8T3Dt29t7EYOuajVIw2y1Wy3M86w0zg/Fz2IvawmQAUHOVrPVfLkoScVynsqsTG0MGUs4z55nh3mnOJa+li+rl9WpPIcFfDubDeaDC+fLBdYN3QADzLauGfj4B6sZmq6CCpqmtSvF0qlUl2qf5AJIUCSlTqlb7lUG+LRfGzZGzZEyBgccMu6MuqPecNDvD4Y9Kjtj4gD+DsvKVMTcMdtqtZtmkzQstQvYje7Syep0PDSAhSOeHYXYWThEF//A/0YvYV1fSQtpKU5STtrhbQ444OtpKSWJIg3pOg8cBs7maTY1EZf07aq+hjWs7IWzdCYTGhb2CtZ47x+Uhx28AAB4nGNgYGBkAIJz765vANHnCyvqYTQAWnkHswAAeJxjYGRgYOADYgkGEGBiYARCFjAG8RgABHYAN3icY2BmYmCcwMDKwMHow5jGwMDgDqW/MkgytDAwMDGwcjKAQQMDAyOQUmCAgoA01xQGB4ZExUmMD/4/YNBjvP3/NgNEDQPjbbBKBQZGADfLDgsAAHicY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQzMCQqKClOUJz0/z9YHRLv/+L7D+8V3cuHmgAHjGwM6ELUByxUMIOZCmbgAAA5LQ8XeJxjYGRgYABiO68w73h+m68M3EwMIHC+sKIeTqsyqDLeZrwN5HIwgKUB/aYJUgAAeJxjYGRgYLzNwMCgx8QAAkA2IwMqYAIAMGIB7QIAAAACAAAlACUAJQAlAAAAAFAAAAUAAHicbY49asNAEIU/2ZJDfkiRIvXapUFCEqpcptABUrg3ZhEiQoKVfY9UqVLlGDlADpAT5e16IUWysMz3hjfzBrjjjQT/EjKpCy+4YhN5yZoxcirPe+SMWz4jr6S+5UzSa3VuwpTnBfc8RF7yxDZyKs9r5IxHPiKv1P9iZqDnyAvMQ39UecbScVb/gJO03Xk4CFom3XYK1clhMdQUlKo7/d9NF13RkIdfy+MV7TSe2sl11tRFaXYmJKpWTd7kdVnJ8veevZKc+n3I93t9Jnvr5n4aTVWU/0z9AI2qMkV4nGNgZkAGjAxoAAAAjgAF) format("woff"),url(data:font/ttf;base64,AAEAAAANAIAAAwBQRkZUTW3RyK8AAAdIAAAAHEdERUYANAAGAAAHKAAAACBPUy8yT/b9sgAAAVgAAABWY21hcCIPRb0AAAHIAAABYmdhc3D//wADAAAHIAAAAAhnbHlmP5u2YAAAAzwAAAIsaGVhZAABMfsAAADcAAAANmhoZWED5QIFAAABFAAAACRobXR4BkoASgAAAbAAAAAWbG9jYQD2AaIAAAMsAAAAEG1heHAASwBHAAABOAAAACBuYW1lBSeBwgAABWgAAAFucG9zdC+zMgMAAAbYAAAARQABAAAAAQAA8MQQT18PPPUACwIAAAAAAM9xeH8AAAAAz3F4fwAlACUB2wHbAAAACAACAAAAAAAAAAEAAAHbAAAALgIAAAAAAAHbAAEAAAAAAAAAAAAAAAAAAAAEAAEAAAAHAEQAAgAAAAAAAgAAAAEAAQAAAEAAAAAAAAAAAQIAAZAABQAIAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAIABQkAAAAAAACAAAABAAAAIAAAAAAAAAAAUGZFZABAAGEhkgHg/+AALgHb/9sAAAABAAAAAAAAAgAAAAAAAAACAAAAAgAAJQAlACUAJQAAAAAAAwAAAAMAAAAcAAEAAAAAAFwAAwABAAAAHAAEAEAAAAAMAAgAAgAEAAAAYSAiIZAhkv//AAAAAABhICIhkCGS//8AAP+l3+PedN5xAAEAAAAAAAAAAAAAAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGAIwAsAEWAAIAJQAlAdsB2wAYACwAAD8BNjQvASYjIg8BBhUUHwEHBhUUHwEWMzI2FAcGBwYiJyYnJjQ3Njc2MhcWF/GCBgaCBQcIBR0GBldXBgYdBQgH7x0eMjB8MDIeHR0eMjB8MDIecYIGDgaCBQUeBQcJBFhYBAkHBR4F0nwwMh4dHR4yMHwwMh4dHR4yAAAAAgAlACUB2wHbABgALAAAJTc2NTQvATc2NTQvASYjIg8BBhQfARYzMjYUBwYHBiInJicmNDc2NzYyFxYXASgdBgZXVwYGHQUIBwWCBgaCBQcIuB0eMjB8MDIeHR0eMjB8MDIecR4FBwkEWFgECQcFHgUFggYOBoIF0nwwMh4dHR4yMHwwMh4dHR4yAAABACUAJQHbAdsAEwAAABQHBgcGIicmJyY0NzY3NjIXFhcB2x0eMjB8MDIeHR0eMjB8MDIeAT58MDIeHR0eMjB8MDIeHR0eMgABACUAJQHbAdsAQwAAARUUBisBIicmPwEmIyIHBgcGBwYUFxYXFhcWMzI3Njc2MzIfARYVFAcGBwYjIicmJyYnJjQ3Njc2NzYzMhcWFzc2FxYB2woIgAsGBQkoKjodHBwSFAwLCwwUEhwcHSIeIBMGAQQDJwMCISspNC8mLBobFBERFBsaLCYvKicpHSUIDAsBt4AICgsLCScnCwwUEhwcOhwcEhQMCw8OHAMDJwMDAgQnFBQRFBsaLCZeJiwaGxQRDxEcJQgEBgAAAAAAAAwAlgABAAAAAAABAAUADAABAAAAAAACAAcAIgABAAAAAAADACEAbgABAAAAAAAEAAUAnAABAAAAAAAFAAsAugABAAAAAAAGAAUA0gADAAEECQABAAoAAAADAAEECQACAA4AEgADAAEECQADAEIAKgADAAEECQAEAAoAkAADAAEECQAFABYAogADAAEECQAGAAoAxgBzAGwAaQBjAGsAAHNsaWNrAABSAGUAZwB1AGwAYQByAABSZWd1bGFyAABGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAHMAbABpAGMAawAgADoAIAAxADQALQA0AC0AMgAwADEANAAARm9udEZvcmdlIDIuMCA6IHNsaWNrIDogMTQtNC0yMDE0AABzAGwAaQBjAGsAAHNsaWNrAABWAGUAcgBzAGkAbwBuACAAMQAuADAAAFZlcnNpb24gMS4wAABzAGwAaQBjAGsAAHNsaWNrAAAAAAIAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAABwAAAAEAAgECAQMAhwBECmFycm93cmlnaHQJYXJyb3dsZWZ0AAAAAAAAAf//AAIAAQAAAA4AAAAYAAAAAAACAAEAAwAGAAEABAAAAAIAAAAAAAEAAAAAzu7XsAAAAADPcXh/AAAAAM9xeH8=) format("truetype"),url(./slick-BlzDm7g2.svg#slick) format("svg")}.slick-prev,.slick-next{font-size:0;line-height:0;position:absolute;top:50%;display:block;width:20px;height:20px;padding:0;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translateY(-50%);cursor:pointer;color:transparent;border:none;outline:none;background:transparent}.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{color:transparent;outline:none;background:transparent}.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:1}.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}.slick-prev:before,.slick-next:before{font-family:slick;font-size:20px;line-height:1;opacity:.75;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev{left:-25px}[dir=rtl] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:"←"}[dir=rtl] .slick-prev:before{content:"→"}.slick-next{right:-25px}[dir=rtl] .slick-next{right:auto;left:-25px}.slick-next:before{content:"→"}[dir=rtl] .slick-next:before{content:"←"}.slick-dotted.slick-slider{margin-bottom:30px}.slick-dots{position:absolute;bottom:-25px;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:none;background:transparent}.slick-dots li button:hover,.slick-dots li button:focus{outline:none}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}.slick-dots li button:before{font-family:slick;font-size:6px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:"•";text-align:center;opacity:.25;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:.75;color:#000}/*!
 * Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2026 Fonticons, Inc.
 */.fa,.fa-brands,.fa-classic,.fa-regular,.fa-solid,.fab,.far,.fas{--_fa-family:var(--fa-family,var(--fa-style-family,"Font Awesome 7 Free"));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:var(--fa-display,inline-block);font-family:var(--_fa-family);font-feature-settings:normal;font-style:normal;font-synthesis:none;font-variant:normal;font-weight:var(--fa-style,900);line-height:1;text-align:center;text-rendering:auto;width:var(--fa-width,1.25em)}:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)/""}@supports not (content:""/""){:is(.fas,.far,.fab,.fa-solid,.fa-regular,.fa-brands,.fa-classic,.fa):before{content:var(--fa)}}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width:auto}.fa-fw,.fa-width-fixed{--fa-width:1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin,2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.0625em) var(--fa-border-style,solid) var(--fa-border-color,#eee);box-sizing:var(--fa-border-box-sizing,content-box);padding:var(--fa-border-padding,.1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin,.3em)}.fa-pull-end,.fa-pull-right{float:inline-end;margin-inline-start:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{--fa-width:100%;top:0;right:0;bottom:0;left:0;position:absolute;text-align:center;width:var(--fa-width);z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-0{--fa:"0"}.fa-1{--fa:"1"}.fa-2{--fa:"2"}.fa-3{--fa:"3"}.fa-4{--fa:"4"}.fa-5{--fa:"5"}.fa-6{--fa:"6"}.fa-7{--fa:"7"}.fa-8{--fa:"8"}.fa-9{--fa:"9"}.fa-exclamation{--fa:"!"}.fa-hashtag{--fa:"#"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"$"}.fa-percent,.fa-percentage{--fa:"%"}.fa-asterisk{--fa:"*"}.fa-add,.fa-plus{--fa:"+"}.fa-less-than{--fa:"<"}.fa-equals{--fa:"="}.fa-greater-than{--fa:">"}.fa-question{--fa:"?"}.fa-at{--fa:"@"}.fa-a{--fa:"A"}.fa-b{--fa:"B"}.fa-c{--fa:"C"}.fa-d{--fa:"D"}.fa-e{--fa:"E"}.fa-f{--fa:"F"}.fa-g{--fa:"G"}.fa-h{--fa:"H"}.fa-i{--fa:"I"}.fa-j{--fa:"J"}.fa-k{--fa:"K"}.fa-l{--fa:"L"}.fa-m{--fa:"M"}.fa-n{--fa:"N"}.fa-o{--fa:"O"}.fa-p{--fa:"P"}.fa-q{--fa:"Q"}.fa-r{--fa:"R"}.fa-s{--fa:"S"}.fa-t{--fa:"T"}.fa-u{--fa:"U"}.fa-v{--fa:"V"}.fa-w{--fa:"W"}.fa-x{--fa:"X"}.fa-y{--fa:"Y"}.fa-z{--fa:"Z"}.fa-faucet{--fa:""}.fa-faucet-drip{--fa:""}.fa-house-chimney-window{--fa:""}.fa-house-signal{--fa:""}.fa-temperature-arrow-down,.fa-temperature-down{--fa:""}.fa-temperature-arrow-up,.fa-temperature-up{--fa:""}.fa-trailer{--fa:""}.fa-bacteria{--fa:""}.fa-bacterium{--fa:""}.fa-box-tissue{--fa:""}.fa-hand-holding-medical{--fa:""}.fa-hand-sparkles{--fa:""}.fa-hands-bubbles,.fa-hands-wash{--fa:""}.fa-handshake-alt-slash,.fa-handshake-simple-slash,.fa-handshake-slash{--fa:""}.fa-head-side-cough{--fa:""}.fa-head-side-cough-slash{--fa:""}.fa-head-side-mask{--fa:""}.fa-head-side-virus{--fa:""}.fa-house-chimney-user{--fa:""}.fa-house-laptop,.fa-laptop-house{--fa:""}.fa-lungs-virus{--fa:""}.fa-people-arrows,.fa-people-arrows-left-right{--fa:""}.fa-plane-slash{--fa:""}.fa-pump-medical{--fa:""}.fa-pump-soap{--fa:""}.fa-shield-virus{--fa:""}.fa-sink{--fa:""}.fa-soap{--fa:""}.fa-stopwatch-20{--fa:""}.fa-shop-slash,.fa-store-alt-slash{--fa:""}.fa-store-slash{--fa:""}.fa-toilet-paper-slash{--fa:""}.fa-users-slash{--fa:""}.fa-virus{--fa:""}.fa-virus-slash{--fa:""}.fa-viruses{--fa:""}.fa-vest{--fa:""}.fa-vest-patches{--fa:""}.fa-arrow-trend-down{--fa:""}.fa-arrow-trend-up{--fa:""}.fa-arrow-up-from-bracket{--fa:""}.fa-austral-sign{--fa:""}.fa-baht-sign{--fa:""}.fa-bitcoin-sign{--fa:""}.fa-bolt-lightning{--fa:""}.fa-book-bookmark{--fa:""}.fa-camera-rotate{--fa:""}.fa-cedi-sign{--fa:""}.fa-chart-column{--fa:""}.fa-chart-gantt{--fa:""}.fa-clapperboard{--fa:""}.fa-closed-captioning-slash{--fa:""}.fa-clover{--fa:""}.fa-code-compare{--fa:""}.fa-code-fork{--fa:""}.fa-code-pull-request{--fa:""}.fa-colon-sign{--fa:""}.fa-cruzeiro-sign{--fa:""}.fa-display{--fa:""}.fa-dong-sign{--fa:""}.fa-elevator{--fa:""}.fa-filter-circle-xmark{--fa:""}.fa-florin-sign{--fa:""}.fa-folder-closed{--fa:""}.fa-franc-sign{--fa:""}.fa-guarani-sign{--fa:""}.fa-gun{--fa:""}.fa-hands-clapping{--fa:""}.fa-home-user,.fa-house-user{--fa:""}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:""}.fa-kip-sign{--fa:""}.fa-lari-sign{--fa:""}.fa-litecoin-sign{--fa:""}.fa-manat-sign{--fa:""}.fa-mask-face{--fa:""}.fa-mill-sign{--fa:""}.fa-money-bills{--fa:""}.fa-naira-sign{--fa:""}.fa-notdef{--fa:""}.fa-panorama{--fa:""}.fa-peseta-sign{--fa:""}.fa-peso-sign{--fa:""}.fa-plane-up{--fa:""}.fa-rupiah-sign{--fa:""}.fa-stairs{--fa:""}.fa-timeline{--fa:""}.fa-truck-front{--fa:""}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:""}.fa-vault{--fa:""}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:""}.fa-wheat-alt,.fa-wheat-awn{--fa:""}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:""}.fa-bangladeshi-taka-sign{--fa:""}.fa-bowl-rice{--fa:""}.fa-person-pregnant{--fa:""}.fa-home-lg,.fa-house-chimney{--fa:""}.fa-house-crack{--fa:""}.fa-house-medical{--fa:""}.fa-cent-sign{--fa:""}.fa-plus-minus{--fa:""}.fa-sailboat{--fa:""}.fa-section{--fa:""}.fa-shrimp{--fa:""}.fa-brazilian-real-sign{--fa:""}.fa-chart-simple{--fa:""}.fa-diagram-next{--fa:""}.fa-diagram-predecessor{--fa:""}.fa-diagram-successor{--fa:""}.fa-earth-oceania,.fa-globe-oceania{--fa:""}.fa-bug-slash{--fa:""}.fa-file-circle-plus{--fa:""}.fa-shop-lock{--fa:""}.fa-virus-covid{--fa:""}.fa-virus-covid-slash{--fa:""}.fa-anchor-circle-check{--fa:""}.fa-anchor-circle-exclamation{--fa:""}.fa-anchor-circle-xmark{--fa:""}.fa-anchor-lock{--fa:""}.fa-arrow-down-up-across-line{--fa:""}.fa-arrow-down-up-lock{--fa:""}.fa-arrow-right-to-city{--fa:""}.fa-arrow-up-from-ground-water{--fa:""}.fa-arrow-up-from-water-pump{--fa:""}.fa-arrow-up-right-dots{--fa:""}.fa-arrows-down-to-line{--fa:""}.fa-arrows-down-to-people{--fa:""}.fa-arrows-left-right-to-line{--fa:""}.fa-arrows-spin{--fa:""}.fa-arrows-split-up-and-left{--fa:""}.fa-arrows-to-circle{--fa:""}.fa-arrows-to-dot{--fa:""}.fa-arrows-to-eye{--fa:""}.fa-arrows-turn-right{--fa:""}.fa-arrows-turn-to-dots{--fa:""}.fa-arrows-up-to-line{--fa:""}.fa-bore-hole{--fa:""}.fa-bottle-droplet{--fa:""}.fa-bottle-water{--fa:""}.fa-bowl-food{--fa:""}.fa-boxes-packing{--fa:""}.fa-bridge{--fa:""}.fa-bridge-circle-check{--fa:""}.fa-bridge-circle-exclamation{--fa:""}.fa-bridge-circle-xmark{--fa:""}.fa-bridge-lock{--fa:""}.fa-bridge-water{--fa:""}.fa-bucket{--fa:""}.fa-bugs{--fa:""}.fa-building-circle-arrow-right{--fa:""}.fa-building-circle-check{--fa:""}.fa-building-circle-exclamation{--fa:""}.fa-building-circle-xmark{--fa:""}.fa-building-flag{--fa:""}.fa-building-lock{--fa:""}.fa-building-ngo{--fa:""}.fa-building-shield{--fa:""}.fa-building-un{--fa:""}.fa-building-user{--fa:""}.fa-building-wheat{--fa:""}.fa-burst{--fa:""}.fa-car-on{--fa:""}.fa-car-tunnel{--fa:""}.fa-child-combatant,.fa-child-rifle{--fa:""}.fa-children{--fa:""}.fa-circle-nodes{--fa:""}.fa-clipboard-question{--fa:""}.fa-cloud-showers-water{--fa:""}.fa-computer{--fa:""}.fa-cubes-stacked{--fa:""}.fa-envelope-circle-check{--fa:""}.fa-explosion{--fa:""}.fa-ferry{--fa:""}.fa-file-circle-exclamation{--fa:""}.fa-file-circle-minus{--fa:""}.fa-file-circle-question{--fa:""}.fa-file-shield{--fa:""}.fa-fire-burner{--fa:""}.fa-fish-fins{--fa:""}.fa-flask-vial{--fa:""}.fa-glass-water{--fa:""}.fa-glass-water-droplet{--fa:""}.fa-group-arrows-rotate{--fa:""}.fa-hand-holding-hand{--fa:""}.fa-handcuffs{--fa:""}.fa-hands-bound{--fa:""}.fa-hands-holding-child{--fa:""}.fa-hands-holding-circle{--fa:""}.fa-heart-circle-bolt{--fa:""}.fa-heart-circle-check{--fa:""}.fa-heart-circle-exclamation{--fa:""}.fa-heart-circle-minus{--fa:""}.fa-heart-circle-plus{--fa:""}.fa-heart-circle-xmark{--fa:""}.fa-helicopter-symbol{--fa:""}.fa-helmet-un{--fa:""}.fa-hill-avalanche{--fa:""}.fa-hill-rockslide{--fa:""}.fa-house-circle-check{--fa:""}.fa-house-circle-exclamation{--fa:""}.fa-house-circle-xmark{--fa:""}.fa-house-fire{--fa:""}.fa-house-flag{--fa:""}.fa-house-flood-water{--fa:""}.fa-house-flood-water-circle-arrow-right{--fa:""}.fa-house-lock{--fa:""}.fa-house-medical-circle-check{--fa:""}.fa-house-medical-circle-exclamation{--fa:""}.fa-house-medical-circle-xmark{--fa:""}.fa-house-medical-flag{--fa:""}.fa-house-tsunami{--fa:""}.fa-jar{--fa:""}.fa-jar-wheat{--fa:""}.fa-jet-fighter-up{--fa:""}.fa-jug-detergent{--fa:""}.fa-kitchen-set{--fa:""}.fa-land-mine-on{--fa:""}.fa-landmark-flag{--fa:""}.fa-laptop-file{--fa:""}.fa-lines-leaning{--fa:""}.fa-location-pin-lock{--fa:""}.fa-locust{--fa:""}.fa-magnifying-glass-arrow-right{--fa:""}.fa-magnifying-glass-chart{--fa:""}.fa-mars-and-venus-burst{--fa:""}.fa-mask-ventilator{--fa:""}.fa-mattress-pillow{--fa:""}.fa-mobile-retro{--fa:""}.fa-money-bill-transfer{--fa:""}.fa-money-bill-trend-up{--fa:""}.fa-money-bill-wheat{--fa:""}.fa-mosquito{--fa:""}.fa-mosquito-net{--fa:""}.fa-mound{--fa:""}.fa-mountain-city{--fa:""}.fa-mountain-sun{--fa:""}.fa-oil-well{--fa:""}.fa-people-group{--fa:""}.fa-people-line{--fa:""}.fa-people-pulling{--fa:""}.fa-people-robbery{--fa:""}.fa-people-roof{--fa:""}.fa-person-arrow-down-to-line{--fa:""}.fa-person-arrow-up-from-line{--fa:""}.fa-person-breastfeeding{--fa:""}.fa-person-burst{--fa:""}.fa-person-cane{--fa:""}.fa-person-chalkboard{--fa:""}.fa-person-circle-check{--fa:""}.fa-person-circle-exclamation{--fa:""}.fa-person-circle-minus{--fa:""}.fa-person-circle-plus{--fa:""}.fa-person-circle-question{--fa:""}.fa-person-circle-xmark{--fa:""}.fa-person-dress-burst{--fa:""}.fa-person-drowning{--fa:""}.fa-person-falling{--fa:""}.fa-person-falling-burst{--fa:""}.fa-person-half-dress{--fa:""}.fa-person-harassing{--fa:""}.fa-person-military-pointing{--fa:""}.fa-person-military-rifle{--fa:""}.fa-person-military-to-person{--fa:""}.fa-person-rays{--fa:""}.fa-person-rifle{--fa:""}.fa-person-shelter{--fa:""}.fa-person-walking-arrow-loop-left{--fa:""}.fa-person-walking-arrow-right{--fa:""}.fa-person-walking-dashed-line-arrow-right{--fa:""}.fa-person-walking-luggage{--fa:""}.fa-plane-circle-check{--fa:""}.fa-plane-circle-exclamation{--fa:""}.fa-plane-circle-xmark{--fa:""}.fa-plane-lock{--fa:""}.fa-plate-wheat{--fa:""}.fa-plug-circle-bolt{--fa:""}.fa-plug-circle-check{--fa:""}.fa-plug-circle-exclamation{--fa:""}.fa-plug-circle-minus{--fa:""}.fa-plug-circle-plus{--fa:""}.fa-plug-circle-xmark{--fa:""}.fa-ranking-star{--fa:""}.fa-road-barrier{--fa:""}.fa-road-bridge{--fa:""}.fa-road-circle-check{--fa:""}.fa-road-circle-exclamation{--fa:""}.fa-road-circle-xmark{--fa:""}.fa-road-lock{--fa:""}.fa-road-spikes{--fa:""}.fa-rug{--fa:""}.fa-sack-xmark{--fa:""}.fa-school-circle-check{--fa:""}.fa-school-circle-exclamation{--fa:""}.fa-school-circle-xmark{--fa:""}.fa-school-flag{--fa:""}.fa-school-lock{--fa:""}.fa-sheet-plastic{--fa:""}.fa-shield-cat{--fa:""}.fa-shield-dog{--fa:""}.fa-shield-heart{--fa:""}.fa-square-nfi{--fa:""}.fa-square-person-confined{--fa:""}.fa-square-virus{--fa:""}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:""}.fa-sun-plant-wilt{--fa:""}.fa-tarp{--fa:""}.fa-tarp-droplet{--fa:""}.fa-tent{--fa:""}.fa-tent-arrow-down-to-line{--fa:""}.fa-tent-arrow-left-right{--fa:""}.fa-tent-arrow-turn-left{--fa:""}.fa-tent-arrows-down{--fa:""}.fa-tents{--fa:""}.fa-toilet-portable{--fa:""}.fa-toilets-portable{--fa:""}.fa-tower-cell{--fa:""}.fa-tower-observation{--fa:""}.fa-tree-city{--fa:""}.fa-trowel{--fa:""}.fa-trowel-bricks{--fa:""}.fa-truck-arrow-right{--fa:""}.fa-truck-droplet{--fa:""}.fa-truck-field{--fa:""}.fa-truck-field-un{--fa:""}.fa-truck-plane{--fa:""}.fa-users-between-lines{--fa:""}.fa-users-line{--fa:""}.fa-users-rays{--fa:""}.fa-users-rectangle{--fa:""}.fa-users-viewfinder{--fa:""}.fa-vial-circle-check{--fa:""}.fa-vial-virus{--fa:""}.fa-wheat-awn-circle-exclamation{--fa:""}.fa-worm{--fa:""}.fa-xmarks-lines{--fa:""}.fa-child-dress{--fa:""}.fa-child-reaching{--fa:""}.fa-file-circle-check{--fa:""}.fa-file-circle-xmark{--fa:""}.fa-person-through-window{--fa:""}.fa-plant-wilt{--fa:""}.fa-stapler{--fa:""}.fa-train-tram{--fa:""}.fa-table-cells-column-lock{--fa:""}.fa-table-cells-row-lock{--fa:""}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:""}.fa-table-cells-row-unlock{--fa:""}.fa-chart-diagram{--fa:""}.fa-comment-nodes{--fa:""}.fa-file-fragment{--fa:""}.fa-file-half-dashed{--fa:""}.fa-hexagon-nodes{--fa:""}.fa-hexagon-nodes-bolt{--fa:""}.fa-square-binary{--fa:""}.fa-pentagon{--fa:""}.fa-non-binary{--fa:""}.fa-spiral{--fa:""}.fa-picture-in-picture{--fa:""}.fa-mobile-vibrate{--fa:""}.fa-single-quote-left{--fa:""}.fa-single-quote-right{--fa:""}.fa-bus-side{--fa:""}.fa-heptagon,.fa-septagon{--fa:""}.fa-aquarius{--fa:""}.fa-aries{--fa:""}.fa-cancer{--fa:""}.fa-capricorn{--fa:""}.fa-gemini{--fa:""}.fa-leo{--fa:""}.fa-libra{--fa:""}.fa-pisces{--fa:""}.fa-sagittarius{--fa:""}.fa-scorpio{--fa:""}.fa-taurus{--fa:""}.fa-virgo{--fa:""}.fa-glass-martini,.fa-martini-glass-empty{--fa:""}.fa-music{--fa:""}.fa-magnifying-glass,.fa-search{--fa:""}.fa-heart{--fa:""}.fa-star{--fa:""}.fa-user,.fa-user-alt,.fa-user-large{--fa:""}.fa-film,.fa-film-alt,.fa-film-simple{--fa:""}.fa-table-cells-large,.fa-th-large{--fa:""}.fa-table-cells,.fa-th{--fa:""}.fa-table-list,.fa-th-list{--fa:""}.fa-check{--fa:""}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:""}.fa-magnifying-glass-plus,.fa-search-plus{--fa:""}.fa-magnifying-glass-minus,.fa-search-minus{--fa:""}.fa-power-off{--fa:""}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:""}.fa-cog,.fa-gear{--fa:""}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:""}.fa-clock,.fa-clock-four{--fa:""}.fa-road{--fa:""}.fa-download{--fa:""}.fa-inbox{--fa:""}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:""}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:""}.fa-list-alt,.fa-rectangle-list{--fa:""}.fa-lock{--fa:""}.fa-flag{--fa:""}.fa-headphones,.fa-headphones-alt,.fa-headphones-simple{--fa:""}.fa-volume-off{--fa:""}.fa-volume-down,.fa-volume-low{--fa:""}.fa-volume-high,.fa-volume-up{--fa:""}.fa-qrcode{--fa:""}.fa-barcode{--fa:""}.fa-tag{--fa:""}.fa-tags{--fa:""}.fa-book{--fa:""}.fa-bookmark{--fa:""}.fa-print{--fa:""}.fa-camera,.fa-camera-alt{--fa:""}.fa-font{--fa:""}.fa-bold{--fa:""}.fa-italic{--fa:""}.fa-text-height{--fa:""}.fa-text-width{--fa:""}.fa-align-left{--fa:""}.fa-align-center{--fa:""}.fa-align-right{--fa:""}.fa-align-justify{--fa:""}.fa-list,.fa-list-squares{--fa:""}.fa-dedent,.fa-outdent{--fa:""}.fa-indent{--fa:""}.fa-video,.fa-video-camera{--fa:""}.fa-image{--fa:""}.fa-location-pin,.fa-map-marker{--fa:""}.fa-adjust,.fa-circle-half-stroke{--fa:""}.fa-droplet,.fa-tint{--fa:""}.fa-edit,.fa-pen-to-square{--fa:""}.fa-arrows,.fa-arrows-up-down-left-right{--fa:""}.fa-backward-step,.fa-step-backward{--fa:""}.fa-backward-fast,.fa-fast-backward{--fa:""}.fa-backward{--fa:""}.fa-play{--fa:""}.fa-pause{--fa:""}.fa-stop{--fa:""}.fa-forward{--fa:""}.fa-fast-forward,.fa-forward-fast{--fa:""}.fa-forward-step,.fa-step-forward{--fa:""}.fa-eject{--fa:""}.fa-chevron-left{--fa:""}.fa-chevron-right{--fa:""}.fa-circle-plus,.fa-plus-circle{--fa:""}.fa-circle-minus,.fa-minus-circle{--fa:""}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:""}.fa-check-circle,.fa-circle-check{--fa:""}.fa-circle-question,.fa-question-circle{--fa:""}.fa-circle-info,.fa-info-circle{--fa:""}.fa-crosshairs{--fa:""}.fa-ban,.fa-cancel{--fa:""}.fa-arrow-left{--fa:""}.fa-arrow-right{--fa:""}.fa-arrow-up{--fa:""}.fa-arrow-down{--fa:""}.fa-mail-forward,.fa-share{--fa:""}.fa-expand{--fa:""}.fa-compress{--fa:""}.fa-minus,.fa-subtract{--fa:""}.fa-circle-exclamation,.fa-exclamation-circle{--fa:""}.fa-gift{--fa:""}.fa-leaf{--fa:""}.fa-fire{--fa:""}.fa-eye{--fa:""}.fa-eye-slash{--fa:""}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:""}.fa-plane{--fa:""}.fa-calendar-alt,.fa-calendar-days{--fa:""}.fa-random,.fa-shuffle{--fa:""}.fa-comment{--fa:""}.fa-magnet{--fa:""}.fa-chevron-up{--fa:""}.fa-chevron-down{--fa:""}.fa-retweet{--fa:""}.fa-cart-shopping,.fa-shopping-cart{--fa:""}.fa-folder,.fa-folder-blank{--fa:""}.fa-folder-open{--fa:""}.fa-arrows-up-down,.fa-arrows-v{--fa:""}.fa-arrows-h,.fa-arrows-left-right{--fa:""}.fa-bar-chart,.fa-chart-bar{--fa:""}.fa-camera-retro{--fa:""}.fa-key{--fa:""}.fa-cogs,.fa-gears{--fa:""}.fa-comments{--fa:""}.fa-star-half{--fa:""}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:""}.fa-thumb-tack,.fa-thumbtack{--fa:""}.fa-arrow-up-right-from-square,.fa-external-link{--fa:""}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:""}.fa-trophy{--fa:""}.fa-upload{--fa:""}.fa-lemon{--fa:""}.fa-phone{--fa:""}.fa-phone-square,.fa-square-phone{--fa:""}.fa-unlock{--fa:""}.fa-credit-card,.fa-credit-card-alt{--fa:""}.fa-feed,.fa-rss{--fa:""}.fa-hard-drive,.fa-hdd{--fa:""}.fa-bullhorn{--fa:""}.fa-certificate{--fa:""}.fa-hand-point-right{--fa:""}.fa-hand-point-left{--fa:""}.fa-hand-point-up{--fa:""}.fa-hand-point-down{--fa:""}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:""}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:""}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:""}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:""}.fa-globe{--fa:""}.fa-wrench{--fa:""}.fa-list-check,.fa-tasks{--fa:""}.fa-filter{--fa:""}.fa-briefcase{--fa:""}.fa-arrows-alt,.fa-up-down-left-right{--fa:""}.fa-users{--fa:""}.fa-chain,.fa-link{--fa:""}.fa-cloud{--fa:""}.fa-flask{--fa:""}.fa-cut,.fa-scissors{--fa:""}.fa-copy{--fa:""}.fa-paperclip{--fa:""}.fa-floppy-disk,.fa-save{--fa:""}.fa-square{--fa:""}.fa-bars,.fa-navicon{--fa:""}.fa-list-dots,.fa-list-ul{--fa:""}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:""}.fa-strikethrough{--fa:""}.fa-underline{--fa:""}.fa-table{--fa:""}.fa-magic,.fa-wand-magic{--fa:""}.fa-truck{--fa:""}.fa-money-bill{--fa:""}.fa-caret-down{--fa:""}.fa-caret-up{--fa:""}.fa-caret-left{--fa:""}.fa-caret-right{--fa:""}.fa-columns,.fa-table-columns{--fa:""}.fa-sort,.fa-unsorted{--fa:""}.fa-sort-desc,.fa-sort-down{--fa:""}.fa-sort-asc,.fa-sort-up{--fa:""}.fa-envelope{--fa:""}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:""}.fa-gavel,.fa-legal{--fa:""}.fa-bolt,.fa-zap{--fa:""}.fa-sitemap{--fa:""}.fa-umbrella{--fa:""}.fa-file-clipboard,.fa-paste{--fa:""}.fa-lightbulb{--fa:""}.fa-arrow-right-arrow-left,.fa-exchange{--fa:""}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:""}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:""}.fa-user-doctor,.fa-user-md{--fa:""}.fa-stethoscope{--fa:""}.fa-suitcase{--fa:""}.fa-bell{--fa:""}.fa-coffee,.fa-mug-saucer{--fa:""}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:""}.fa-ambulance,.fa-truck-medical{--fa:""}.fa-medkit,.fa-suitcase-medical{--fa:""}.fa-fighter-jet,.fa-jet-fighter{--fa:""}.fa-beer,.fa-beer-mug-empty{--fa:""}.fa-h-square,.fa-square-h{--fa:""}.fa-plus-square,.fa-square-plus{--fa:""}.fa-angle-double-left,.fa-angles-left{--fa:""}.fa-angle-double-right,.fa-angles-right{--fa:""}.fa-angle-double-up,.fa-angles-up{--fa:""}.fa-angle-double-down,.fa-angles-down{--fa:""}.fa-angle-left{--fa:""}.fa-angle-right{--fa:""}.fa-angle-up{--fa:""}.fa-angle-down{--fa:""}.fa-laptop{--fa:""}.fa-tablet-button{--fa:""}.fa-mobile-button{--fa:""}.fa-quote-left,.fa-quote-left-alt{--fa:""}.fa-quote-right,.fa-quote-right-alt{--fa:""}.fa-spinner{--fa:""}.fa-circle{--fa:""}.fa-face-smile,.fa-smile{--fa:""}.fa-face-frown,.fa-frown{--fa:""}.fa-face-meh,.fa-meh{--fa:""}.fa-gamepad{--fa:""}.fa-keyboard{--fa:""}.fa-flag-checkered{--fa:""}.fa-terminal{--fa:""}.fa-code{--fa:""}.fa-mail-reply-all,.fa-reply-all{--fa:""}.fa-location-arrow{--fa:""}.fa-crop{--fa:""}.fa-code-branch{--fa:""}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:""}.fa-info{--fa:""}.fa-superscript{--fa:""}.fa-subscript{--fa:""}.fa-eraser{--fa:""}.fa-puzzle-piece{--fa:""}.fa-microphone{--fa:""}.fa-microphone-slash{--fa:""}.fa-shield,.fa-shield-blank{--fa:""}.fa-calendar{--fa:""}.fa-fire-extinguisher{--fa:""}.fa-rocket{--fa:""}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:""}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:""}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:""}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:""}.fa-anchor{--fa:""}.fa-unlock-alt,.fa-unlock-keyhole{--fa:""}.fa-bullseye{--fa:""}.fa-ellipsis,.fa-ellipsis-h{--fa:""}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:""}.fa-rss-square,.fa-square-rss{--fa:""}.fa-circle-play,.fa-play-circle{--fa:""}.fa-ticket{--fa:""}.fa-minus-square,.fa-square-minus{--fa:""}.fa-arrow-turn-up,.fa-level-up{--fa:""}.fa-arrow-turn-down,.fa-level-down{--fa:""}.fa-check-square,.fa-square-check{--fa:""}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:""}.fa-external-link-square,.fa-square-arrow-up-right{--fa:""}.fa-share-from-square,.fa-share-square{--fa:""}.fa-compass{--fa:""}.fa-caret-square-down,.fa-square-caret-down{--fa:""}.fa-caret-square-up,.fa-square-caret-up{--fa:""}.fa-caret-square-right,.fa-square-caret-right{--fa:""}.fa-eur,.fa-euro,.fa-euro-sign{--fa:""}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:""}.fa-rupee,.fa-rupee-sign{--fa:""}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:""}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:""}.fa-krw,.fa-won,.fa-won-sign{--fa:""}.fa-file{--fa:""}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:""}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:""}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:""}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:""}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:""}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:""}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:""}.fa-thumbs-up{--fa:""}.fa-thumbs-down{--fa:""}.fa-arrow-down-long,.fa-long-arrow-down{--fa:""}.fa-arrow-up-long,.fa-long-arrow-up{--fa:""}.fa-arrow-left-long,.fa-long-arrow-left{--fa:""}.fa-arrow-right-long,.fa-long-arrow-right{--fa:""}.fa-female,.fa-person-dress{--fa:""}.fa-male,.fa-person{--fa:""}.fa-sun{--fa:""}.fa-moon{--fa:""}.fa-archive,.fa-box-archive{--fa:""}.fa-bug{--fa:""}.fa-caret-square-left,.fa-square-caret-left{--fa:""}.fa-circle-dot,.fa-dot-circle{--fa:""}.fa-wheelchair{--fa:""}.fa-lira-sign{--fa:""}.fa-shuttle-space,.fa-space-shuttle{--fa:""}.fa-envelope-square,.fa-square-envelope{--fa:""}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:""}.fa-graduation-cap,.fa-mortar-board{--fa:""}.fa-language{--fa:""}.fa-fax{--fa:""}.fa-building{--fa:""}.fa-child{--fa:""}.fa-paw{--fa:""}.fa-cube{--fa:""}.fa-cubes{--fa:""}.fa-recycle{--fa:""}.fa-automobile,.fa-car{--fa:""}.fa-cab,.fa-taxi{--fa:""}.fa-tree{--fa:""}.fa-database{--fa:""}.fa-file-pdf{--fa:""}.fa-file-word{--fa:""}.fa-file-excel{--fa:""}.fa-file-powerpoint{--fa:""}.fa-file-image{--fa:""}.fa-file-archive,.fa-file-zipper{--fa:""}.fa-file-audio{--fa:""}.fa-file-video{--fa:""}.fa-file-code{--fa:""}.fa-life-ring{--fa:""}.fa-circle-notch{--fa:""}.fa-paper-plane{--fa:""}.fa-clock-rotate-left,.fa-history{--fa:""}.fa-header,.fa-heading{--fa:""}.fa-paragraph{--fa:""}.fa-sliders,.fa-sliders-h{--fa:""}.fa-share-alt,.fa-share-nodes{--fa:""}.fa-share-alt-square,.fa-square-share-nodes{--fa:""}.fa-bomb{--fa:""}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:""}.fa-teletype,.fa-tty{--fa:""}.fa-binoculars{--fa:""}.fa-plug{--fa:""}.fa-newspaper{--fa:""}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:""}.fa-calculator{--fa:""}.fa-bell-slash{--fa:""}.fa-trash{--fa:""}.fa-copyright{--fa:""}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:""}.fa-paint-brush,.fa-paintbrush{--fa:""}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:""}.fa-area-chart,.fa-chart-area{--fa:""}.fa-chart-pie,.fa-pie-chart{--fa:""}.fa-chart-line,.fa-line-chart{--fa:""}.fa-toggle-off{--fa:""}.fa-toggle-on{--fa:""}.fa-bicycle{--fa:""}.fa-bus{--fa:""}.fa-closed-captioning{--fa:""}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:""}.fa-cart-plus{--fa:""}.fa-cart-arrow-down{--fa:""}.fa-diamond{--fa:""}.fa-ship{--fa:""}.fa-user-secret{--fa:""}.fa-motorcycle{--fa:""}.fa-street-view{--fa:""}.fa-heart-pulse,.fa-heartbeat{--fa:""}.fa-venus{--fa:""}.fa-mars{--fa:""}.fa-mercury{--fa:""}.fa-mars-and-venus{--fa:""}.fa-transgender,.fa-transgender-alt{--fa:""}.fa-venus-double{--fa:""}.fa-mars-double{--fa:""}.fa-venus-mars{--fa:""}.fa-mars-stroke{--fa:""}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:""}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:""}.fa-neuter{--fa:""}.fa-genderless{--fa:""}.fa-server{--fa:""}.fa-user-plus{--fa:""}.fa-user-times,.fa-user-xmark{--fa:""}.fa-bed{--fa:""}.fa-train{--fa:""}.fa-subway,.fa-train-subway{--fa:""}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:""}.fa-battery-4,.fa-battery-three-quarters{--fa:""}.fa-battery-3,.fa-battery-half{--fa:""}.fa-battery-2,.fa-battery-quarter{--fa:""}.fa-battery-0,.fa-battery-empty{--fa:""}.fa-arrow-pointer,.fa-mouse-pointer{--fa:""}.fa-i-cursor{--fa:""}.fa-object-group{--fa:""}.fa-object-ungroup{--fa:""}.fa-note-sticky,.fa-sticky-note{--fa:""}.fa-clone{--fa:""}.fa-balance-scale,.fa-scale-balanced{--fa:""}.fa-hourglass-1,.fa-hourglass-start{--fa:""}.fa-hourglass-2,.fa-hourglass-half{--fa:""}.fa-hourglass-3,.fa-hourglass-end{--fa:""}.fa-hourglass,.fa-hourglass-empty{--fa:""}.fa-hand-back-fist,.fa-hand-rock{--fa:""}.fa-hand,.fa-hand-paper{--fa:""}.fa-hand-scissors{--fa:""}.fa-hand-lizard{--fa:""}.fa-hand-spock{--fa:""}.fa-hand-pointer{--fa:""}.fa-hand-peace{--fa:""}.fa-trademark{--fa:""}.fa-registered{--fa:""}.fa-television,.fa-tv,.fa-tv-alt{--fa:""}.fa-calendar-plus{--fa:""}.fa-calendar-minus{--fa:""}.fa-calendar-times,.fa-calendar-xmark{--fa:""}.fa-calendar-check{--fa:""}.fa-industry{--fa:""}.fa-map-pin{--fa:""}.fa-map-signs,.fa-signs-post{--fa:""}.fa-map{--fa:""}.fa-comment-alt,.fa-message{--fa:""}.fa-circle-pause,.fa-pause-circle{--fa:""}.fa-circle-stop,.fa-stop-circle{--fa:""}.fa-bag-shopping,.fa-shopping-bag{--fa:""}.fa-basket-shopping,.fa-shopping-basket{--fa:""}.fa-universal-access{--fa:""}.fa-blind,.fa-person-walking-with-cane{--fa:""}.fa-audio-description{--fa:""}.fa-phone-volume,.fa-volume-control-phone{--fa:""}.fa-braille{--fa:""}.fa-assistive-listening-systems,.fa-ear-listen{--fa:""}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:""}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:""}.fa-hands,.fa-sign-language,.fa-signing{--fa:""}.fa-eye-low-vision,.fa-low-vision{--fa:""}.fa-handshake,.fa-handshake-alt,.fa-handshake-simple{--fa:""}.fa-envelope-open{--fa:""}.fa-address-book,.fa-contact-book{--fa:""}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:""}.fa-circle-user,.fa-user-circle{--fa:""}.fa-id-badge{--fa:""}.fa-drivers-license,.fa-id-card{--fa:""}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:""}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:""}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:""}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:""}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:""}.fa-shower{--fa:""}.fa-bath,.fa-bathtub{--fa:""}.fa-podcast{--fa:""}.fa-window-maximize{--fa:""}.fa-window-minimize{--fa:""}.fa-window-restore{--fa:""}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:""}.fa-microchip{--fa:""}.fa-snowflake{--fa:""}.fa-spoon,.fa-utensil-spoon{--fa:""}.fa-cutlery,.fa-utensils{--fa:""}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:""}.fa-trash-alt,.fa-trash-can{--fa:""}.fa-rotate,.fa-sync-alt{--fa:""}.fa-stopwatch{--fa:""}.fa-right-from-bracket,.fa-sign-out-alt{--fa:""}.fa-right-to-bracket,.fa-sign-in-alt{--fa:""}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:""}.fa-poo{--fa:""}.fa-images{--fa:""}.fa-pencil,.fa-pencil-alt{--fa:""}.fa-pen{--fa:""}.fa-pen-alt,.fa-pen-clip{--fa:""}.fa-octagon{--fa:""}.fa-down-long,.fa-long-arrow-alt-down{--fa:""}.fa-left-long,.fa-long-arrow-alt-left{--fa:""}.fa-long-arrow-alt-right,.fa-right-long{--fa:""}.fa-long-arrow-alt-up,.fa-up-long{--fa:""}.fa-hexagon{--fa:""}.fa-file-edit,.fa-file-pen{--fa:""}.fa-expand-arrows-alt,.fa-maximize{--fa:""}.fa-clipboard{--fa:""}.fa-arrows-alt-h,.fa-left-right{--fa:""}.fa-arrows-alt-v,.fa-up-down{--fa:""}.fa-alarm-clock{--fa:""}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:""}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:""}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:""}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:""}.fa-external-link-alt,.fa-up-right-from-square{--fa:""}.fa-external-link-square-alt,.fa-square-up-right{--fa:""}.fa-exchange-alt,.fa-right-left{--fa:""}.fa-repeat{--fa:""}.fa-code-commit{--fa:""}.fa-code-merge{--fa:""}.fa-desktop,.fa-desktop-alt{--fa:""}.fa-gem{--fa:""}.fa-level-down-alt,.fa-turn-down{--fa:""}.fa-level-up-alt,.fa-turn-up{--fa:""}.fa-lock-open{--fa:""}.fa-location-dot,.fa-map-marker-alt{--fa:""}.fa-microphone-alt,.fa-microphone-lines{--fa:""}.fa-mobile-alt,.fa-mobile-screen-button{--fa:""}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:""}.fa-mobile-android-alt,.fa-mobile-screen{--fa:""}.fa-money-bill-1,.fa-money-bill-alt{--fa:""}.fa-phone-slash{--fa:""}.fa-image-portrait,.fa-portrait{--fa:""}.fa-mail-reply,.fa-reply{--fa:""}.fa-shield-alt,.fa-shield-halved{--fa:""}.fa-tablet-alt,.fa-tablet-screen-button{--fa:""}.fa-tablet,.fa-tablet-android{--fa:""}.fa-ticket-alt,.fa-ticket-simple{--fa:""}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:""}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:""}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:""}.fa-baseball-bat-ball{--fa:""}.fa-baseball,.fa-baseball-ball{--fa:""}.fa-basketball,.fa-basketball-ball{--fa:""}.fa-bowling-ball{--fa:""}.fa-chess{--fa:""}.fa-chess-bishop{--fa:""}.fa-chess-board{--fa:""}.fa-chess-king{--fa:""}.fa-chess-knight{--fa:""}.fa-chess-pawn{--fa:""}.fa-chess-queen{--fa:""}.fa-chess-rook{--fa:""}.fa-dumbbell{--fa:""}.fa-football,.fa-football-ball{--fa:""}.fa-golf-ball,.fa-golf-ball-tee{--fa:""}.fa-hockey-puck{--fa:""}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:""}.fa-square-full{--fa:""}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:""}.fa-volleyball,.fa-volleyball-ball{--fa:""}.fa-allergies,.fa-hand-dots{--fa:""}.fa-band-aid,.fa-bandage{--fa:""}.fa-box{--fa:""}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:""}.fa-briefcase-medical{--fa:""}.fa-burn,.fa-fire-flame-simple{--fa:""}.fa-capsules{--fa:""}.fa-clipboard-check{--fa:""}.fa-clipboard-list{--fa:""}.fa-diagnoses,.fa-person-dots-from-line{--fa:""}.fa-dna{--fa:""}.fa-dolly,.fa-dolly-box{--fa:""}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:""}.fa-file-medical{--fa:""}.fa-file-medical-alt,.fa-file-waveform{--fa:""}.fa-first-aid,.fa-kit-medical{--fa:""}.fa-circle-h,.fa-hospital-symbol{--fa:""}.fa-id-card-alt,.fa-id-card-clip{--fa:""}.fa-notes-medical{--fa:""}.fa-pallet{--fa:""}.fa-pills{--fa:""}.fa-prescription-bottle{--fa:""}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:""}.fa-bed-pulse,.fa-procedures{--fa:""}.fa-shipping-fast,.fa-truck-fast{--fa:""}.fa-smoking{--fa:""}.fa-syringe{--fa:""}.fa-tablets{--fa:""}.fa-thermometer{--fa:""}.fa-vial{--fa:""}.fa-vials{--fa:""}.fa-warehouse{--fa:""}.fa-weight,.fa-weight-scale{--fa:""}.fa-x-ray{--fa:""}.fa-box-open{--fa:""}.fa-comment-dots,.fa-commenting{--fa:""}.fa-comment-slash{--fa:""}.fa-couch{--fa:""}.fa-circle-dollar-to-slot,.fa-donate{--fa:""}.fa-dove{--fa:""}.fa-hand-holding{--fa:""}.fa-hand-holding-heart{--fa:""}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:""}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:""}.fa-hands-holding{--fa:""}.fa-hands-helping,.fa-handshake-angle{--fa:""}.fa-parachute-box{--fa:""}.fa-people-carry,.fa-people-carry-box{--fa:""}.fa-piggy-bank{--fa:""}.fa-ribbon{--fa:""}.fa-route{--fa:""}.fa-seedling,.fa-sprout{--fa:""}.fa-sign,.fa-sign-hanging{--fa:""}.fa-face-smile-wink,.fa-smile-wink{--fa:""}.fa-tape{--fa:""}.fa-truck-loading,.fa-truck-ramp-box{--fa:""}.fa-truck-moving{--fa:""}.fa-video-slash{--fa:""}.fa-wine-glass{--fa:""}.fa-user-astronaut{--fa:""}.fa-user-check{--fa:""}.fa-user-clock{--fa:""}.fa-user-cog,.fa-user-gear{--fa:""}.fa-user-edit,.fa-user-pen{--fa:""}.fa-user-friends,.fa-user-group{--fa:""}.fa-user-graduate{--fa:""}.fa-user-lock{--fa:""}.fa-user-minus{--fa:""}.fa-user-ninja{--fa:""}.fa-user-shield{--fa:""}.fa-user-alt-slash,.fa-user-large-slash,.fa-user-slash{--fa:""}.fa-user-tag{--fa:""}.fa-user-tie{--fa:""}.fa-users-cog,.fa-users-gear{--fa:""}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:""}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:""}.fa-blender{--fa:""}.fa-book-open{--fa:""}.fa-broadcast-tower,.fa-tower-broadcast{--fa:""}.fa-broom{--fa:""}.fa-blackboard,.fa-chalkboard{--fa:""}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:""}.fa-church{--fa:""}.fa-coins{--fa:""}.fa-compact-disc{--fa:""}.fa-crow{--fa:""}.fa-crown{--fa:""}.fa-dice{--fa:""}.fa-dice-five{--fa:""}.fa-dice-four{--fa:""}.fa-dice-one{--fa:""}.fa-dice-six{--fa:""}.fa-dice-three{--fa:""}.fa-dice-two{--fa:""}.fa-divide{--fa:""}.fa-door-closed{--fa:""}.fa-door-open{--fa:""}.fa-feather{--fa:""}.fa-frog{--fa:""}.fa-gas-pump{--fa:""}.fa-glasses{--fa:""}.fa-greater-than-equal{--fa:""}.fa-helicopter{--fa:""}.fa-infinity{--fa:""}.fa-kiwi-bird{--fa:""}.fa-less-than-equal{--fa:""}.fa-memory{--fa:""}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:""}.fa-money-bill-wave{--fa:""}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:""}.fa-money-check{--fa:""}.fa-money-check-alt,.fa-money-check-dollar{--fa:""}.fa-not-equal{--fa:""}.fa-palette{--fa:""}.fa-parking,.fa-square-parking{--fa:""}.fa-diagram-project,.fa-project-diagram{--fa:""}.fa-receipt{--fa:""}.fa-robot{--fa:""}.fa-ruler{--fa:""}.fa-ruler-combined{--fa:""}.fa-ruler-horizontal{--fa:""}.fa-ruler-vertical{--fa:""}.fa-school{--fa:""}.fa-screwdriver{--fa:""}.fa-shoe-prints{--fa:""}.fa-skull{--fa:""}.fa-ban-smoking,.fa-smoking-ban{--fa:""}.fa-store{--fa:""}.fa-shop,.fa-store-alt{--fa:""}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:""}.fa-stroopwafel{--fa:""}.fa-toolbox{--fa:""}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:""}.fa-person-walking,.fa-walking{--fa:""}.fa-wallet{--fa:""}.fa-angry,.fa-face-angry{--fa:""}.fa-archway{--fa:""}.fa-atlas,.fa-book-atlas{--fa:""}.fa-award{--fa:""}.fa-backspace,.fa-delete-left{--fa:""}.fa-bezier-curve{--fa:""}.fa-bong{--fa:""}.fa-brush{--fa:""}.fa-bus-alt,.fa-bus-simple{--fa:""}.fa-cannabis{--fa:""}.fa-check-double{--fa:""}.fa-cocktail,.fa-martini-glass-citrus{--fa:""}.fa-bell-concierge,.fa-concierge-bell{--fa:""}.fa-cookie{--fa:""}.fa-cookie-bite{--fa:""}.fa-crop-alt,.fa-crop-simple{--fa:""}.fa-digital-tachograph,.fa-tachograph-digital{--fa:""}.fa-dizzy,.fa-face-dizzy{--fa:""}.fa-compass-drafting,.fa-drafting-compass{--fa:""}.fa-drum{--fa:""}.fa-drum-steelpan{--fa:""}.fa-feather-alt,.fa-feather-pointed{--fa:""}.fa-file-contract{--fa:""}.fa-file-arrow-down,.fa-file-download{--fa:""}.fa-arrow-right-from-file,.fa-file-export{--fa:""}.fa-arrow-right-to-file,.fa-file-import{--fa:""}.fa-file-invoice{--fa:""}.fa-file-invoice-dollar{--fa:""}.fa-file-prescription{--fa:""}.fa-file-signature{--fa:""}.fa-file-arrow-up,.fa-file-upload{--fa:""}.fa-fill{--fa:""}.fa-fill-drip{--fa:""}.fa-fingerprint{--fa:""}.fa-fish{--fa:""}.fa-face-flushed,.fa-flushed{--fa:""}.fa-face-frown-open,.fa-frown-open{--fa:""}.fa-glass-martini-alt,.fa-martini-glass{--fa:""}.fa-earth-africa,.fa-globe-africa{--fa:""}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:""}.fa-earth-asia,.fa-globe-asia{--fa:""}.fa-face-grimace,.fa-grimace{--fa:""}.fa-face-grin,.fa-grin{--fa:""}.fa-face-grin-wide,.fa-grin-alt{--fa:""}.fa-face-grin-beam,.fa-grin-beam{--fa:""}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:""}.fa-face-grin-hearts,.fa-grin-hearts{--fa:""}.fa-face-grin-squint,.fa-grin-squint{--fa:""}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:""}.fa-face-grin-stars,.fa-grin-stars{--fa:""}.fa-face-grin-tears,.fa-grin-tears{--fa:""}.fa-face-grin-tongue,.fa-grin-tongue{--fa:""}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:""}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:""}.fa-face-grin-wink,.fa-grin-wink{--fa:""}.fa-grid-horizontal,.fa-grip,.fa-grip-horizontal{--fa:""}.fa-grid-vertical,.fa-grip-vertical{--fa:""}.fa-headset{--fa:""}.fa-highlighter{--fa:""}.fa-hot-tub,.fa-hot-tub-person{--fa:""}.fa-hotel{--fa:""}.fa-joint{--fa:""}.fa-face-kiss,.fa-kiss{--fa:""}.fa-face-kiss-beam,.fa-kiss-beam{--fa:""}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:""}.fa-face-laugh,.fa-laugh{--fa:""}.fa-face-laugh-beam,.fa-laugh-beam{--fa:""}.fa-face-laugh-squint,.fa-laugh-squint{--fa:""}.fa-face-laugh-wink,.fa-laugh-wink{--fa:""}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:""}.fa-map-location,.fa-map-marked{--fa:""}.fa-map-location-dot,.fa-map-marked-alt{--fa:""}.fa-marker{--fa:""}.fa-medal{--fa:""}.fa-face-meh-blank,.fa-meh-blank{--fa:""}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:""}.fa-monument{--fa:""}.fa-mortar-pestle{--fa:""}.fa-paint-roller{--fa:""}.fa-passport{--fa:""}.fa-pen-fancy{--fa:""}.fa-pen-nib{--fa:""}.fa-pen-ruler,.fa-pencil-ruler{--fa:""}.fa-plane-arrival{--fa:""}.fa-plane-departure{--fa:""}.fa-prescription{--fa:""}.fa-face-sad-cry,.fa-sad-cry{--fa:""}.fa-face-sad-tear,.fa-sad-tear{--fa:""}.fa-shuttle-van,.fa-van-shuttle{--fa:""}.fa-signature{--fa:""}.fa-face-smile-beam,.fa-smile-beam{--fa:""}.fa-solar-panel{--fa:""}.fa-spa{--fa:""}.fa-splotch{--fa:""}.fa-spray-can{--fa:""}.fa-stamp{--fa:""}.fa-star-half-alt,.fa-star-half-stroke{--fa:""}.fa-suitcase-rolling{--fa:""}.fa-face-surprise,.fa-surprise{--fa:""}.fa-swatchbook{--fa:""}.fa-person-swimming,.fa-swimmer{--fa:""}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:""}.fa-droplet-slash,.fa-tint-slash{--fa:""}.fa-face-tired,.fa-tired{--fa:""}.fa-tooth{--fa:""}.fa-umbrella-beach{--fa:""}.fa-weight-hanging{--fa:""}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:""}.fa-air-freshener,.fa-spray-can-sparkles{--fa:""}.fa-apple-alt,.fa-apple-whole{--fa:""}.fa-atom{--fa:""}.fa-bone{--fa:""}.fa-book-open-reader,.fa-book-reader{--fa:""}.fa-brain{--fa:""}.fa-car-alt,.fa-car-rear{--fa:""}.fa-battery-car,.fa-car-battery{--fa:""}.fa-car-burst,.fa-car-crash{--fa:""}.fa-car-side{--fa:""}.fa-charging-station{--fa:""}.fa-diamond-turn-right,.fa-directions{--fa:""}.fa-draw-polygon,.fa-vector-polygon{--fa:""}.fa-laptop-code{--fa:""}.fa-layer-group{--fa:""}.fa-location,.fa-location-crosshairs{--fa:""}.fa-lungs{--fa:""}.fa-microscope{--fa:""}.fa-oil-can{--fa:""}.fa-poop{--fa:""}.fa-shapes,.fa-triangle-circle-square{--fa:""}.fa-star-of-life{--fa:""}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:""}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:""}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:""}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:""}.fa-teeth{--fa:""}.fa-teeth-open{--fa:""}.fa-masks-theater,.fa-theater-masks{--fa:""}.fa-traffic-light{--fa:""}.fa-truck-monster{--fa:""}.fa-truck-pickup{--fa:""}.fa-ad,.fa-rectangle-ad{--fa:""}.fa-ankh{--fa:""}.fa-bible,.fa-book-bible{--fa:""}.fa-briefcase-clock,.fa-business-time{--fa:""}.fa-city{--fa:""}.fa-comment-dollar{--fa:""}.fa-comments-dollar{--fa:""}.fa-cross{--fa:""}.fa-dharmachakra{--fa:""}.fa-envelope-open-text{--fa:""}.fa-folder-minus{--fa:""}.fa-folder-plus{--fa:""}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:""}.fa-gopuram{--fa:""}.fa-hamsa{--fa:""}.fa-bahai,.fa-haykal{--fa:""}.fa-jedi{--fa:""}.fa-book-journal-whills,.fa-journal-whills{--fa:""}.fa-kaaba{--fa:""}.fa-khanda{--fa:""}.fa-landmark{--fa:""}.fa-envelopes-bulk,.fa-mail-bulk{--fa:""}.fa-menorah{--fa:""}.fa-mosque{--fa:""}.fa-om{--fa:""}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:""}.fa-peace{--fa:""}.fa-place-of-worship{--fa:""}.fa-poll,.fa-square-poll-vertical{--fa:""}.fa-poll-h,.fa-square-poll-horizontal{--fa:""}.fa-person-praying,.fa-pray{--fa:""}.fa-hands-praying,.fa-praying-hands{--fa:""}.fa-book-quran,.fa-quran{--fa:""}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:""}.fa-magnifying-glass-location,.fa-search-location{--fa:""}.fa-socks{--fa:""}.fa-square-root-alt,.fa-square-root-variable{--fa:""}.fa-star-and-crescent{--fa:""}.fa-star-of-david{--fa:""}.fa-synagogue{--fa:""}.fa-scroll-torah,.fa-torah{--fa:""}.fa-torii-gate{--fa:""}.fa-vihara{--fa:""}.fa-volume,.fa-volume-medium{--fa:""}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:""}.fa-yin-yang{--fa:""}.fa-blender-phone{--fa:""}.fa-book-dead,.fa-book-skull{--fa:""}.fa-campground{--fa:""}.fa-cat{--fa:""}.fa-chair{--fa:""}.fa-cloud-moon{--fa:""}.fa-cloud-sun{--fa:""}.fa-cow{--fa:""}.fa-dice-d20{--fa:""}.fa-dice-d6{--fa:""}.fa-dog{--fa:""}.fa-dragon{--fa:""}.fa-drumstick-bite{--fa:""}.fa-dungeon{--fa:""}.fa-file-csv{--fa:""}.fa-fist-raised,.fa-hand-fist{--fa:""}.fa-ghost{--fa:""}.fa-hammer{--fa:""}.fa-hanukiah{--fa:""}.fa-hat-wizard{--fa:""}.fa-hiking,.fa-person-hiking{--fa:""}.fa-hippo{--fa:""}.fa-horse{--fa:""}.fa-house-chimney-crack,.fa-house-damage{--fa:""}.fa-hryvnia,.fa-hryvnia-sign{--fa:""}.fa-mask{--fa:""}.fa-mountain{--fa:""}.fa-network-wired{--fa:""}.fa-otter{--fa:""}.fa-ring{--fa:""}.fa-person-running,.fa-running{--fa:""}.fa-scroll{--fa:""}.fa-skull-crossbones{--fa:""}.fa-slash{--fa:""}.fa-spider{--fa:""}.fa-toilet-paper,.fa-toilet-paper-alt,.fa-toilet-paper-blank{--fa:""}.fa-tractor{--fa:""}.fa-user-injured{--fa:""}.fa-vr-cardboard{--fa:""}.fa-wand-sparkles{--fa:""}.fa-wind{--fa:""}.fa-wine-bottle{--fa:""}.fa-cloud-meatball{--fa:""}.fa-cloud-moon-rain{--fa:""}.fa-cloud-rain{--fa:""}.fa-cloud-showers-heavy{--fa:""}.fa-cloud-sun-rain{--fa:""}.fa-democrat{--fa:""}.fa-flag-usa{--fa:""}.fa-hurricane{--fa:""}.fa-landmark-alt,.fa-landmark-dome{--fa:""}.fa-meteor{--fa:""}.fa-person-booth{--fa:""}.fa-poo-bolt,.fa-poo-storm{--fa:""}.fa-rainbow{--fa:""}.fa-republican{--fa:""}.fa-smog{--fa:""}.fa-temperature-high{--fa:""}.fa-temperature-low{--fa:""}.fa-cloud-bolt,.fa-thunderstorm{--fa:""}.fa-tornado{--fa:""}.fa-volcano{--fa:""}.fa-check-to-slot,.fa-vote-yea{--fa:""}.fa-water{--fa:""}.fa-baby{--fa:""}.fa-baby-carriage,.fa-carriage-baby{--fa:""}.fa-biohazard{--fa:""}.fa-blog{--fa:""}.fa-calendar-day{--fa:""}.fa-calendar-week{--fa:""}.fa-candy-cane{--fa:""}.fa-carrot{--fa:""}.fa-cash-register{--fa:""}.fa-compress-arrows-alt,.fa-minimize{--fa:""}.fa-dumpster{--fa:""}.fa-dumpster-fire{--fa:""}.fa-ethernet{--fa:""}.fa-gifts{--fa:""}.fa-champagne-glasses,.fa-glass-cheers{--fa:""}.fa-glass-whiskey,.fa-whiskey-glass{--fa:""}.fa-earth-europe,.fa-globe-europe{--fa:""}.fa-grip-lines{--fa:""}.fa-grip-lines-vertical{--fa:""}.fa-guitar{--fa:""}.fa-heart-broken,.fa-heart-crack{--fa:""}.fa-holly-berry{--fa:""}.fa-horse-head{--fa:""}.fa-icicles{--fa:""}.fa-igloo{--fa:""}.fa-mitten{--fa:""}.fa-mug-hot{--fa:""}.fa-radiation{--fa:""}.fa-circle-radiation,.fa-radiation-alt{--fa:""}.fa-restroom{--fa:""}.fa-satellite{--fa:""}.fa-satellite-dish{--fa:""}.fa-sd-card{--fa:""}.fa-sim-card{--fa:""}.fa-person-skating,.fa-skating{--fa:""}.fa-person-skiing,.fa-skiing{--fa:""}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:""}.fa-sleigh{--fa:""}.fa-comment-sms,.fa-sms{--fa:""}.fa-person-snowboarding,.fa-snowboarding{--fa:""}.fa-snowman{--fa:""}.fa-snowplow{--fa:""}.fa-tenge,.fa-tenge-sign{--fa:""}.fa-toilet{--fa:""}.fa-screwdriver-wrench,.fa-tools{--fa:""}.fa-cable-car,.fa-tram{--fa:""}.fa-fire-alt,.fa-fire-flame-curved{--fa:""}.fa-bacon{--fa:""}.fa-book-medical{--fa:""}.fa-bread-slice{--fa:""}.fa-cheese{--fa:""}.fa-clinic-medical,.fa-house-chimney-medical{--fa:""}.fa-clipboard-user{--fa:""}.fa-comment-medical{--fa:""}.fa-crutch{--fa:""}.fa-disease{--fa:""}.fa-egg{--fa:""}.fa-folder-tree{--fa:""}.fa-burger,.fa-hamburger{--fa:""}.fa-hand-middle-finger{--fa:""}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:""}.fa-hospital-user{--fa:""}.fa-hotdog{--fa:""}.fa-ice-cream{--fa:""}.fa-laptop-medical{--fa:""}.fa-pager{--fa:""}.fa-pepper-hot{--fa:""}.fa-pizza-slice{--fa:""}.fa-sack-dollar{--fa:""}.fa-book-tanakh,.fa-tanakh{--fa:""}.fa-bars-progress,.fa-tasks-alt{--fa:""}.fa-trash-arrow-up,.fa-trash-restore{--fa:""}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:""}.fa-user-nurse{--fa:""}.fa-wave-square{--fa:""}.fa-biking,.fa-person-biking{--fa:""}.fa-border-all{--fa:""}.fa-border-none{--fa:""}.fa-border-style,.fa-border-top-left{--fa:""}.fa-digging,.fa-person-digging{--fa:""}.fa-fan{--fa:""}.fa-heart-music-camera-bolt,.fa-icons{--fa:""}.fa-phone-alt,.fa-phone-flip{--fa:""}.fa-phone-square-alt,.fa-square-phone-flip{--fa:""}.fa-photo-film,.fa-photo-video{--fa:""}.fa-remove-format,.fa-text-slash{--fa:""}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:""}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:""}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:""}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:""}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:""}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:""}.fa-spell-check{--fa:""}.fa-voicemail{--fa:""}.fa-hat-cowboy{--fa:""}.fa-hat-cowboy-side{--fa:""}.fa-computer-mouse,.fa-mouse{--fa:""}.fa-radio{--fa:""}.fa-record-vinyl{--fa:""}.fa-walkie-talkie{--fa:""}.fa-caravan{--fa:""}:host,:root{--fa-family-brands:"Font Awesome 7 Brands";--fa-font-brands:normal 400 1em/1 var(--fa-family-brands)}@font-face{font-family:"Font Awesome 7 Brands";font-style:normal;font-weight:400;font-display:block;src:url(./fa-brands-400-BP5tdqmh.woff2)}.fa-brands,.fa-classic.fa-brands,.fab{--fa-family:var(--fa-family-brands);--fa-style:400}.fa-firefox-browser{--fa:""}.fa-ideal{--fa:""}.fa-microblog{--fa:""}.fa-pied-piper-square,.fa-square-pied-piper{--fa:""}.fa-unity{--fa:""}.fa-dailymotion{--fa:""}.fa-instagram-square,.fa-square-instagram{--fa:""}.fa-mixer{--fa:""}.fa-shopify{--fa:""}.fa-deezer{--fa:""}.fa-edge-legacy{--fa:""}.fa-google-pay{--fa:""}.fa-rust{--fa:""}.fa-tiktok{--fa:""}.fa-unsplash{--fa:""}.fa-cloudflare{--fa:""}.fa-guilded{--fa:""}.fa-hive{--fa:""}.fa-42-group,.fa-innosoft{--fa:""}.fa-instalod{--fa:""}.fa-octopus-deploy{--fa:""}.fa-perbyte{--fa:""}.fa-uncharted{--fa:""}.fa-watchman-monitoring{--fa:""}.fa-wodu{--fa:""}.fa-wirsindhandwerk,.fa-wsh{--fa:""}.fa-bots{--fa:""}.fa-cmplid{--fa:""}.fa-bilibili{--fa:""}.fa-golang{--fa:""}.fa-pix{--fa:""}.fa-sitrox{--fa:""}.fa-hashnode{--fa:""}.fa-meta{--fa:""}.fa-padlet{--fa:""}.fa-nfc-directional{--fa:""}.fa-nfc-symbol{--fa:""}.fa-screenpal{--fa:""}.fa-space-awesome{--fa:""}.fa-square-font-awesome{--fa:""}.fa-gitlab-square,.fa-square-gitlab{--fa:""}.fa-odysee{--fa:""}.fa-stubber{--fa:""}.fa-debian{--fa:""}.fa-shoelace{--fa:""}.fa-threads{--fa:""}.fa-square-threads{--fa:""}.fa-square-x-twitter{--fa:""}.fa-x-twitter{--fa:""}.fa-opensuse{--fa:""}.fa-letterboxd{--fa:""}.fa-square-letterboxd{--fa:""}.fa-mintbit{--fa:""}.fa-google-scholar{--fa:""}.fa-brave{--fa:""}.fa-brave-reverse{--fa:""}.fa-pixiv{--fa:""}.fa-upwork{--fa:""}.fa-webflow{--fa:""}.fa-signal-messenger{--fa:""}.fa-bluesky{--fa:""}.fa-jxl{--fa:""}.fa-square-upwork{--fa:""}.fa-web-awesome{--fa:""}.fa-square-web-awesome{--fa:""}.fa-square-web-awesome-stroke{--fa:""}.fa-dart-lang{--fa:""}.fa-flutter{--fa:""}.fa-files-pinwheel{--fa:""}.fa-css{--fa:""}.fa-square-bluesky{--fa:""}.fa-openai{--fa:""}.fa-square-linkedin{--fa:""}.fa-cash-app{--fa:""}.fa-disqus{--fa:""}.fa-11ty,.fa-eleventy{--fa:""}.fa-kakao-talk{--fa:""}.fa-linktree{--fa:""}.fa-notion{--fa:""}.fa-pandora{--fa:""}.fa-pixelfed{--fa:""}.fa-tidal{--fa:""}.fa-vsco{--fa:""}.fa-w3c{--fa:""}.fa-lumon{--fa:""}.fa-lumon-drop{--fa:""}.fa-square-figma{--fa:""}.fa-tex{--fa:""}.fa-duolingo{--fa:""}.fa-supportnow{--fa:""}.fa-tor-browser{--fa:""}.fa-typescript{--fa:""}.fa-square-deskpro{--fa:""}.fa-circle-zulip{--fa:""}.fa-julia{--fa:""}.fa-zulip{--fa:""}.fa-unison{--fa:""}.fa-bgg,.fa-board-game-geek{--fa:""}.fa-ko-fi{--fa:""}.fa-kubernetes{--fa:""}.fa-postgresql{--fa:""}.fa-scaleway{--fa:""}.fa-venmo{--fa:""}.fa-venmo-v{--fa:""}.fa-unreal-engine{--fa:""}.fa-globaleaks{--fa:""}.fa-solana{--fa:""}.fa-threema{--fa:""}.fa-forgejo{--fa:""}.fa-claude{--fa:""}.fa-gitee{--fa:""}.fa-xmpp{--fa:""}.fa-fediverse{--fa:""}.fa-tailwind-css{--fa:""}.fa-arch-linux{--fa:""}.fa-svelte{--fa:""}.fa-hugging-face{--fa:""}.fa-leetcode{--fa:""}.fa-openstreetmap{--fa:""}.fa-ultralytics{--fa:""}.fa-ultralytics-hub{--fa:""}.fa-ultralytics-yolo{--fa:""}.fa-obsidian{--fa:""}.fa-zoom{--fa:""}.fa-vim{--fa:""}.fa-symfonycasts{--fa:""}.fa-square-twitter,.fa-twitter-square{--fa:""}.fa-facebook-square,.fa-square-facebook{--fa:""}.fa-linkedin{--fa:""}.fa-github-square,.fa-square-github{--fa:""}.fa-twitter{--fa:""}.fa-facebook{--fa:""}.fa-github{--fa:""}.fa-pinterest{--fa:""}.fa-pinterest-square,.fa-square-pinterest{--fa:""}.fa-google-plus-square,.fa-square-google-plus{--fa:""}.fa-google-plus-g{--fa:""}.fa-linkedin-in{--fa:""}.fa-github-alt{--fa:""}.fa-maxcdn{--fa:""}.fa-html5{--fa:""}.fa-css3{--fa:""}.fa-btc{--fa:""}.fa-youtube{--fa:""}.fa-xing{--fa:""}.fa-square-xing,.fa-xing-square{--fa:""}.fa-dropbox{--fa:""}.fa-stack-overflow{--fa:""}.fa-instagram{--fa:""}.fa-flickr{--fa:""}.fa-adn{--fa:""}.fa-bitbucket{--fa:""}.fa-tumblr{--fa:""}.fa-square-tumblr,.fa-tumblr-square{--fa:""}.fa-apple{--fa:""}.fa-windows{--fa:""}.fa-android{--fa:""}.fa-linux{--fa:""}.fa-dribbble{--fa:""}.fa-skype{--fa:""}.fa-foursquare{--fa:""}.fa-trello{--fa:""}.fa-gratipay{--fa:""}.fa-vk{--fa:""}.fa-weibo{--fa:""}.fa-renren{--fa:""}.fa-pagelines{--fa:""}.fa-stack-exchange{--fa:""}.fa-square-vimeo,.fa-vimeo-square{--fa:""}.fa-slack,.fa-slack-hash{--fa:""}.fa-wordpress{--fa:""}.fa-openid{--fa:""}.fa-yahoo{--fa:""}.fa-google{--fa:""}.fa-reddit{--fa:""}.fa-reddit-square,.fa-square-reddit{--fa:""}.fa-stumbleupon-circle{--fa:""}.fa-stumbleupon{--fa:""}.fa-delicious{--fa:""}.fa-digg{--fa:""}.fa-pied-piper-pp{--fa:""}.fa-pied-piper-alt{--fa:""}.fa-drupal{--fa:""}.fa-joomla{--fa:""}.fa-behance{--fa:""}.fa-behance-square,.fa-square-behance{--fa:""}.fa-steam{--fa:""}.fa-square-steam,.fa-steam-square{--fa:""}.fa-spotify{--fa:""}.fa-deviantart{--fa:""}.fa-soundcloud{--fa:""}.fa-vine{--fa:""}.fa-codepen{--fa:""}.fa-jsfiddle{--fa:""}.fa-rebel{--fa:""}.fa-empire{--fa:""}.fa-git-square,.fa-square-git{--fa:""}.fa-git{--fa:""}.fa-hacker-news{--fa:""}.fa-tencent-weibo{--fa:""}.fa-qq{--fa:""}.fa-weixin{--fa:""}.fa-slideshare{--fa:""}.fa-twitch{--fa:""}.fa-yelp{--fa:""}.fa-paypal{--fa:""}.fa-google-wallet{--fa:""}.fa-cc-visa{--fa:""}.fa-cc-mastercard{--fa:""}.fa-cc-discover{--fa:""}.fa-cc-amex{--fa:""}.fa-cc-paypal{--fa:""}.fa-cc-stripe{--fa:""}.fa-lastfm{--fa:""}.fa-lastfm-square,.fa-square-lastfm{--fa:""}.fa-ioxhost{--fa:""}.fa-angellist{--fa:""}.fa-buysellads{--fa:""}.fa-connectdevelop{--fa:""}.fa-dashcube{--fa:""}.fa-forumbee{--fa:""}.fa-leanpub{--fa:""}.fa-sellsy{--fa:""}.fa-shirtsinbulk{--fa:""}.fa-simplybuilt{--fa:""}.fa-skyatlas{--fa:""}.fa-pinterest-p{--fa:""}.fa-whatsapp{--fa:""}.fa-viacoin{--fa:""}.fa-medium,.fa-medium-m{--fa:""}.fa-y-combinator{--fa:""}.fa-optin-monster{--fa:""}.fa-opencart{--fa:""}.fa-expeditedssl{--fa:""}.fa-cc-jcb{--fa:""}.fa-cc-diners-club{--fa:""}.fa-creative-commons{--fa:""}.fa-gg{--fa:""}.fa-gg-circle{--fa:""}.fa-odnoklassniki{--fa:""}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:""}.fa-get-pocket{--fa:""}.fa-wikipedia-w{--fa:""}.fa-safari{--fa:""}.fa-chrome{--fa:""}.fa-firefox{--fa:""}.fa-opera{--fa:""}.fa-internet-explorer{--fa:""}.fa-contao{--fa:""}.fa-500px{--fa:""}.fa-amazon{--fa:""}.fa-houzz{--fa:""}.fa-vimeo-v{--fa:""}.fa-black-tie{--fa:""}.fa-fonticons{--fa:""}.fa-reddit-alien{--fa:""}.fa-edge{--fa:""}.fa-codiepie{--fa:""}.fa-modx{--fa:""}.fa-fort-awesome{--fa:""}.fa-usb{--fa:""}.fa-product-hunt{--fa:""}.fa-mixcloud{--fa:""}.fa-scribd{--fa:""}.fa-bluetooth{--fa:""}.fa-bluetooth-b{--fa:""}.fa-gitlab{--fa:""}.fa-wpbeginner{--fa:""}.fa-wpforms{--fa:""}.fa-envira{--fa:""}.fa-glide{--fa:""}.fa-glide-g{--fa:""}.fa-viadeo{--fa:""}.fa-square-viadeo,.fa-viadeo-square{--fa:""}.fa-snapchat,.fa-snapchat-ghost{--fa:""}.fa-snapchat-square,.fa-square-snapchat{--fa:""}.fa-pied-piper{--fa:""}.fa-first-order{--fa:""}.fa-yoast{--fa:""}.fa-themeisle{--fa:""}.fa-google-plus{--fa:""}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:""}.fa-linode{--fa:""}.fa-quora{--fa:""}.fa-free-code-camp{--fa:""}.fa-telegram,.fa-telegram-plane{--fa:""}.fa-bandcamp{--fa:""}.fa-grav{--fa:""}.fa-etsy{--fa:""}.fa-imdb{--fa:""}.fa-ravelry{--fa:""}.fa-sellcast{--fa:""}.fa-superpowers{--fa:""}.fa-wpexplorer{--fa:""}.fa-meetup{--fa:""}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:""}.fa-accessible-icon{--fa:""}.fa-accusoft{--fa:""}.fa-adversal{--fa:""}.fa-affiliatetheme{--fa:""}.fa-algolia{--fa:""}.fa-amilia{--fa:""}.fa-angrycreative{--fa:""}.fa-app-store{--fa:""}.fa-app-store-ios{--fa:""}.fa-apper{--fa:""}.fa-asymmetrik{--fa:""}.fa-audible{--fa:""}.fa-avianex{--fa:""}.fa-aws{--fa:""}.fa-bimobject{--fa:""}.fa-bitcoin{--fa:""}.fa-bity{--fa:""}.fa-blackberry{--fa:""}.fa-blogger{--fa:""}.fa-blogger-b{--fa:""}.fa-buromobelexperte{--fa:""}.fa-centercode{--fa:""}.fa-cloudscale{--fa:""}.fa-cloudsmith{--fa:""}.fa-cloudversify{--fa:""}.fa-cpanel{--fa:""}.fa-css3-alt{--fa:""}.fa-cuttlefish{--fa:""}.fa-d-and-d{--fa:""}.fa-deploydog{--fa:""}.fa-deskpro{--fa:""}.fa-digital-ocean{--fa:""}.fa-discord{--fa:""}.fa-discourse{--fa:""}.fa-dochub{--fa:""}.fa-docker{--fa:""}.fa-draft2digital{--fa:""}.fa-dribbble-square,.fa-square-dribbble{--fa:""}.fa-dyalog{--fa:""}.fa-earlybirds{--fa:""}.fa-erlang{--fa:""}.fa-facebook-f{--fa:""}.fa-facebook-messenger{--fa:""}.fa-firstdraft{--fa:""}.fa-fonticons-fi{--fa:""}.fa-fort-awesome-alt{--fa:""}.fa-freebsd{--fa:""}.fa-gitkraken{--fa:""}.fa-gofore{--fa:""}.fa-goodreads{--fa:""}.fa-goodreads-g{--fa:""}.fa-google-drive{--fa:""}.fa-google-play{--fa:""}.fa-gripfire{--fa:""}.fa-grunt{--fa:""}.fa-gulp{--fa:""}.fa-hacker-news-square,.fa-square-hacker-news{--fa:""}.fa-hire-a-helper{--fa:""}.fa-hotjar{--fa:""}.fa-hubspot{--fa:""}.fa-itunes{--fa:""}.fa-itunes-note{--fa:""}.fa-jenkins{--fa:""}.fa-joget{--fa:""}.fa-js{--fa:""}.fa-js-square,.fa-square-js{--fa:""}.fa-keycdn{--fa:""}.fa-kickstarter,.fa-square-kickstarter{--fa:""}.fa-kickstarter-k{--fa:""}.fa-laravel{--fa:""}.fa-line{--fa:""}.fa-lyft{--fa:""}.fa-magento{--fa:""}.fa-medapps{--fa:""}.fa-medrt{--fa:""}.fa-microsoft{--fa:""}.fa-mix{--fa:""}.fa-mizuni{--fa:""}.fa-monero{--fa:""}.fa-napster{--fa:""}.fa-node-js{--fa:""}.fa-npm{--fa:""}.fa-ns8{--fa:""}.fa-nutritionix{--fa:""}.fa-page4{--fa:""}.fa-palfed{--fa:""}.fa-patreon{--fa:""}.fa-periscope{--fa:""}.fa-phabricator{--fa:""}.fa-phoenix-framework{--fa:""}.fa-playstation{--fa:""}.fa-pushed{--fa:""}.fa-python{--fa:""}.fa-red-river{--fa:""}.fa-rendact,.fa-wpressr{--fa:""}.fa-replyd{--fa:""}.fa-resolving{--fa:""}.fa-rocketchat{--fa:""}.fa-rockrms{--fa:""}.fa-schlix{--fa:""}.fa-searchengin{--fa:""}.fa-servicestack{--fa:""}.fa-sistrix{--fa:""}.fa-speakap{--fa:""}.fa-staylinked{--fa:""}.fa-steam-symbol{--fa:""}.fa-sticker-mule{--fa:""}.fa-studiovinari{--fa:""}.fa-supple{--fa:""}.fa-uber{--fa:""}.fa-uikit{--fa:""}.fa-uniregistry{--fa:""}.fa-untappd{--fa:""}.fa-ussunnah{--fa:""}.fa-vaadin{--fa:""}.fa-viber{--fa:""}.fa-vimeo{--fa:""}.fa-vnv{--fa:""}.fa-square-whatsapp,.fa-whatsapp-square{--fa:""}.fa-whmcs{--fa:""}.fa-wordpress-simple{--fa:""}.fa-xbox{--fa:""}.fa-yandex{--fa:""}.fa-yandex-international{--fa:""}.fa-apple-pay{--fa:""}.fa-cc-apple-pay{--fa:""}.fa-fly{--fa:""}.fa-node{--fa:""}.fa-osi{--fa:""}.fa-react{--fa:""}.fa-autoprefixer{--fa:""}.fa-less{--fa:""}.fa-sass{--fa:""}.fa-vuejs{--fa:""}.fa-angular{--fa:""}.fa-aviato{--fa:""}.fa-ember{--fa:""}.fa-gitter{--fa:""}.fa-hooli{--fa:""}.fa-strava{--fa:""}.fa-stripe{--fa:""}.fa-stripe-s{--fa:""}.fa-typo3{--fa:""}.fa-amazon-pay{--fa:""}.fa-cc-amazon-pay{--fa:""}.fa-ethereum{--fa:""}.fa-korvue{--fa:""}.fa-elementor{--fa:""}.fa-square-youtube,.fa-youtube-square{--fa:""}.fa-flipboard{--fa:""}.fa-hips{--fa:""}.fa-php{--fa:""}.fa-quinscape{--fa:""}.fa-readme{--fa:""}.fa-java{--fa:""}.fa-pied-piper-hat{--fa:""}.fa-creative-commons-by{--fa:""}.fa-creative-commons-nc{--fa:""}.fa-creative-commons-nc-eu{--fa:""}.fa-creative-commons-nc-jp{--fa:""}.fa-creative-commons-nd{--fa:""}.fa-creative-commons-pd{--fa:""}.fa-creative-commons-pd-alt{--fa:""}.fa-creative-commons-remix{--fa:""}.fa-creative-commons-sa{--fa:""}.fa-creative-commons-sampling{--fa:""}.fa-creative-commons-sampling-plus{--fa:""}.fa-creative-commons-share{--fa:""}.fa-creative-commons-zero{--fa:""}.fa-ebay{--fa:""}.fa-keybase{--fa:""}.fa-mastodon{--fa:""}.fa-r-project{--fa:""}.fa-researchgate{--fa:""}.fa-teamspeak{--fa:""}.fa-first-order-alt{--fa:""}.fa-fulcrum{--fa:""}.fa-galactic-republic{--fa:""}.fa-galactic-senate{--fa:""}.fa-jedi-order{--fa:""}.fa-mandalorian{--fa:""}.fa-old-republic{--fa:""}.fa-phoenix-squadron{--fa:""}.fa-sith{--fa:""}.fa-trade-federation{--fa:""}.fa-wolf-pack-battalion{--fa:""}.fa-hornbill{--fa:""}.fa-mailchimp{--fa:""}.fa-megaport{--fa:""}.fa-nimblr{--fa:""}.fa-rev{--fa:""}.fa-shopware{--fa:""}.fa-squarespace{--fa:""}.fa-themeco{--fa:""}.fa-weebly{--fa:""}.fa-wix{--fa:""}.fa-ello{--fa:""}.fa-hackerrank{--fa:""}.fa-kaggle{--fa:""}.fa-markdown{--fa:""}.fa-neos{--fa:""}.fa-zhihu{--fa:""}.fa-alipay{--fa:""}.fa-the-red-yeti{--fa:""}.fa-critical-role{--fa:""}.fa-d-and-d-beyond{--fa:""}.fa-dev{--fa:""}.fa-fantasy-flight-games{--fa:""}.fa-wizards-of-the-coast{--fa:""}.fa-think-peaks{--fa:""}.fa-reacteurope{--fa:""}.fa-artstation{--fa:""}.fa-atlassian{--fa:""}.fa-canadian-maple-leaf{--fa:""}.fa-centos{--fa:""}.fa-confluence{--fa:""}.fa-dhl{--fa:""}.fa-diaspora{--fa:""}.fa-fedex{--fa:""}.fa-fedora{--fa:""}.fa-figma{--fa:""}.fa-intercom{--fa:""}.fa-invision{--fa:""}.fa-jira{--fa:""}.fa-mendeley{--fa:""}.fa-raspberry-pi{--fa:""}.fa-redhat{--fa:""}.fa-sketch{--fa:""}.fa-sourcetree{--fa:""}.fa-suse{--fa:""}.fa-ubuntu{--fa:""}.fa-ups{--fa:""}.fa-usps{--fa:""}.fa-yarn{--fa:""}.fa-airbnb{--fa:""}.fa-battle-net{--fa:""}.fa-bootstrap{--fa:""}.fa-buffer{--fa:""}.fa-chromecast{--fa:""}.fa-evernote{--fa:""}.fa-itch-io{--fa:""}.fa-salesforce{--fa:""}.fa-speaker-deck{--fa:""}.fa-symfony{--fa:""}.fa-waze{--fa:""}.fa-yammer{--fa:""}.fa-git-alt{--fa:""}.fa-stackpath{--fa:""}.fa-cotton-bureau{--fa:""}.fa-buy-n-large{--fa:""}.fa-mdb{--fa:""}.fa-orcid{--fa:""}.fa-swift{--fa:""}.fa-umbraco{--fa:""}:host,:root{--fa-font-regular:normal 400 1em/1 var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:400;font-display:block;src:url(./fa-regular-400-nyy7hhHF.woff2)}.far{--fa-family:var(--fa-family-classic)}.fa-regular,.far{--fa-style:400}:host,:root{--fa-family-classic:"Font Awesome 7 Free";--fa-font-solid:normal 900 1em/1 var(--fa-family-classic);--fa-style-family-classic:var(--fa-family-classic)}@font-face{font-family:"Font Awesome 7 Free";font-style:normal;font-weight:900;font-display:block;src:url(./fa-solid-900-DRAAbZTg.woff2)}.fas{--fa-style:900}.fa-classic,.fas{--fa-family:var(--fa-family-classic)}.fa-solid{--fa-style:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(./fa-brands-400-BP5tdqmh.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(./fa-solid-900-DRAAbZTg.woff2) format("woff2")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(./fa-regular-400-nyy7hhHF.woff2) format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(./fa-solid-900-DRAAbZTg.woff2) format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(./fa-brands-400-BP5tdqmh.woff2) format("woff2")}@font-face{font-family:FontAwesome;font-display:block;src:url(./fa-regular-400-nyy7hhHF.woff2) format("woff2");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:FontAwesome;font-display:block;src:url(data:font/woff2;base64,d09GMk9UVE8AAA/AAAkAAAAAIi4AAA96A4IBAAAAAAAAAAAAAAAAAAAAAAAAAAAAATYCJAQGBmADgRwFiH0AghwHIA22GYUWERHVtH4B/lDAjaHYgPoVT5hsjC2GsZOptOo4yG1beUwR0nj95m5PABbwbw2JNax38ckISWbne6e7NGkzk5t5OtHQ3cQ8E/PgGvBDzYt/8QhfU4ejmw2Ss9r09ODR8l+jtYRSiPjXDe99ioYEJUDICo/AKRIyLZY6g5gb/PN/87fWu+WdLMNMQ049kLkaPl7+P/y/v9+nWsmNny3MZBwpLqIEUgAky2qXQQErAgUkO66A7tm25ybn+/+f01wNrP4u+ymgSuyUUAViDYIh+sbxjfg7VhAd9qRMKrF3BXKBn855NnSt1CQjTJVaYd8BQ++4R20XeJIX0rz/77Q39M65gAwmQQlbFrQfpVQXybLleWPJapb8e0cJ2kLz93Ol/TnMFXfLEn8JhNvbIjqxeXc/2UyOckA5ppQ4m+s0TQFBETgCdMAOCDy5CnvyZI2s0R1fW2MoL1G22ZTgudtjtLzMDwQDEbaWAQIgP8dqAADFS+AKknqe8PfkvO+55v/v91aE9ccAKkA2RADE+AeSboL/4wqvKi8xDkDqIzmV79ZGM7PdnQuhj8FJqIll79DSibQ0sXKXNYRdbRM+GMI2h5rF8zfdMYePtw55PPcmlAgg+mPASPzPwbDv2T3wmL2ThoUXekNwkpY0BDfbwiXSMFqxE24q9TkmWPiKJWh1mORCjilyAEspDGAZW6uwGlensDojrVodGva61vh0aarhKE8bTPCvj1hCK2OYlJVmTImPHEtVTOpYJrK8sJqcmo3VuRet1WnsdOEDcaFhM0UROOQM9KUY5Gdm9T7gPCofd4U7+x9sjlHuZL2RXfHXxYIE8CDvQm6Fk3RDXoiGY+XZ/TOFY9Kk3RCH0nr09srjn4kEqTL9zhy1p4myH+zr56tZWU8/1lvhZTacuYP5Yetw7YwTiDabHECYm7DHjCNR+QyItYjOF8TBoDvl5YcXSOcmKyfPyC0bNnnFhztFF1iXFjO+NknRNJIdlcuQLapKjOCOgXyxwzxWzyqXfZNWqpU/Y/EqBwhFdgdzldTRYQcscirRDqZxtltBIFQcvARqqfPTm9ROQCWXmvAvz+f4mSs4WoOqjmV+MH6r8TTUUn358W2SWZ78vFRvCl7xm11KSkyjY9Zp5ekkhxApAugJxGikosIHs68GiuU/TIwqCywCNlePWfOWfegrUWfqfXZ9wX1xJZZVUaWVN6utxf0m/XN+A0frVZpvr+YYS5WYTP/dyOA2+1jFSuYzlzm0UkIxBYTgjxv2qGr1a33Xe73VE93VHd3WKa2XqzQ0z5i4ND6pAgLVADGAdvICQA+g9DADoyUxaiEZtSRHrSjL/tD/6rdLdWfrbvLaZWUZ628lFTILA4iDzuUuRCDT4zLb9EbNNYDla7prkJb1sf9ps4yByalXLAjno1iDBtIQnk3bt02oZFNS9mGZTLrcFFwuLYcChHY/sdf2tT871c4E9dWb7St8ZWAVxoYfosuJThqeTcueyV1byeNebq+zTldTt9Nbrz8d5hvEG+w16DOMMNxmFGjcVr7HJHKCff1U74jp+nDiWA34AMvXbSjGL/mcxCInGJy+yzwieJF/QXkmwevg9kD53IWNr56dXTHoimkCpx95BLQQ2PxpPpwUV7AFs1Ndo/hfIZh1bJf//v7+Tyj/CT8H3F7A6qmRdgvmMJN2ioW3vZwaYedQL8RNM/O+veVnYH7v9oP5KOyePoBHb+2zIOh0TVD6jONQU9chTV3NEW4mF4VRA0FDA6gRQpnrmRk36EyA73QmLZcDIp2KLDrPqLohc8EhNFtkZE0jyrrGFmN8zNssYeZEJb9VGKGUWXsLkusQmHw/NN1aDVSQDjHXiFlNjOAbroZ8UhfqEVL9nGJP6bpouAIM0lpUyxoihzlDYnQRqe1CUGflRMzbwnKeTGaAqYTQkMV26jweXMYppyDld84jjBqk4oMY8c033Bcj54/JRjgquMTgyBZWMiaNdOECEAMqLkQL5aTRd1h+kIp3SqkDjgI1g5Tk7yLHKacge+vnpnYQKEqpWoaIE2uS1Ml9cKriqrXTBqEEkG0uhcxhNlmmr0Xm3rAWayZV1JQ/KNNVsjN28Y5E7DJbzQZVMSWFKP0dJSXo/7kumXvgf2oJsBI9mQs0tQTGdQlzNUzTUAQoNoE9qz8S+rGufAQyulFq0lpzdbFwf9PZiSkrzYVCwWpdR7DS7IF3L+9f1yMGRZlkLMKQmdJ/1f46jGqaXR3YWhJYu87qJBc0m1RUMczWRag5ADqhkPqxhrDNPT/9UmSkSJfSMvJebDBZ9FdCLUYCv6csAum7yIgZJHSL6fwevL/oN0AP8WsklRyKAJ3g2fB4R6ALyHyUE8EEEuoJmqCGgdCsZtKkGvO8Of70iHhdREid5AMRwUww5Px2EgNkUUlugQRMCSY3ccUbajibX9FEMflNwXQiaqhimrwH4UjnrohSQhM+6lwHbsbDXzobbWNw86+H/znDNiTnVUcM9fYFXauhcs/kUBiETGrooeTa2vWvw27pTjrjFDLT/1sl93DjuteQlbHMGWVs8lqy8qOXl9+MRjp2nQASXcfCwyS5acIVKHjPUa8RjXeMBLjn/fu9yJgF/iaMoK74TfDZTpnSPUd1G4GX8PAX/x9xCS8tengWmzYgucYT8wU0t4ngls/hJGctpOJVoFq+Af2/cjDAPOHFk5P/XXpRtmELfEfS+bCOuQ4L3+ofEPfS5QCO5j0gXqW1urWOvHzQgTEMChC0U5jeEF+pkSyBhwhZI1vB7pTubtmwbzYhsME5PPU0eZ4JHIB5iXSSzwQS0iiHfb0oOtqxA8KUCmMeVEVKnAFvdIPFrkHWdsaZZ8CdZmvR14f0tPqjH2aUMLBmHIMRM7cma2PXWcI9+fDjlrmy0n2PVAr5vPaq06NZRkE2prXUDp0urwStChuHTdAtxMblrCnopM02RUxamAxiQ9KBKEocT1fET438EjShE8NXvGEtoh6YDHprnclg171EKLGCR+PPfF83UQfieAqsqKjjyhMl42Wt1+nrdtq3oT5Q51+AD00vabZETGwF0ZUtwWPqSqkHjF/zNXpgTbmxtQKODCq1o4VYSjmDCqKkdNqxYybf3g1fU1+zn0tjtFC2i5zauLBZqnIy1oRUhWzw1PpO1Y3ttKP6SfenNESUlHAtQyzQ7tqsnhW0mCS7PGnWQGnUeouHk0g+jHIpIjJyBzRtDZKLeLgHpc7RsAHsyZgdFnuoR8VOGyIDBzzuNNh1ioYW0PM7yStZxQrID0pp3LYTOyGW8hAZWL3VDjufx21DyNsDt27Es84ZPD9EQ8+T7UFkoPvBKNAQ92jLGfgvepGe6LSXIUis3EtBzjbcAB1DIyVOPpnD/pL++RY/WOzCaKGWnWJP7OUvObwn95DNskVG3cZsF3DvCrLBsPAC1PQQPEQUQ+mY4YzRMxNiaPTQcMLoohtqQUPcyLb3fvGOd7GVfHe5K5a8/Ed/ykZevPjjwtxSg2cExzbOeBbkwA48oLjxw9S6IoYgMJ8gsBq3mCqdf7AWzJLBuAOon+WzFGuEuTYcmZ63tygjDccd5M4nYCb7CocF7eT21Pn5rcEDbnaBK8Jauy0EN4DpZRzRRBRBr8d2RLEQie1CjLGULGLDYIXjA15A+2aeAHHigrGhIeliSoEZabBS6f92e9V+u+AjssKtDmvtmPF8XzW4mK3Yjy2PFsH4J+gIgcgEM2W5Kuj402ANx98gYiHuqnNLs20OtnU2zKsTx6NC+d7t7TNl4Fe3eOmmBcGje/bDrfQobMQu+hhCuEWFNZVgpUTQj694JRR0xXzTXiBWa94133YEOZ8g2v3oST/dRLVc0wGk3P/Dq1qtwgk5C4aE7AeJ85mB0WZkuVNaoCSNcAokS5qtjChLI0IPv5C2wYKYYYiZQFBMOz8jcE3cRmwlBMmCxvemqCNKqnNiB0ZXuYAY7mJSyAsccSuDpEenPwY148TvIb0r+J1+Nh5z7/EsX5DjAnOXk53zfdiCdHdy4okUClpOHQZYjyNeQDAbMAYj7DzVcPVh/oW95zAe/qHfXg71Icy35j3ZZl6EozfaAnSSPk58/YSdeJo5P0R0diuoJig8c8KlBsGEKNNUBk1AXZg+NKMpT544MVFItVHHGTCeyCISgu3UrSkxgWBAWgGzZRrBy6oWFkKR3078RIoYB2oKmz4yvJhOZQfHx7Ai8VVBVpooRyclzD4Xbkio0vMA5h+lyy6DlPw95hjdRkoecIx4/32yXClc2HHBGQpQeYS8xOZgzR6b9Nmmm7RingP6d+XxPMTK2+i+X8a86u3VTkGSd9Btms/tBmbqc7tJZD4QHUG/ziucMMeV0QALuDtPj2Bfo1weLkthULQns/b3xTszkWYdCpr7SiNHGgLhiQYzSf4FHNtCoOd6vJWj4WPjBEYkT+Rr9CuUdtAvS8N2xbUXOc6/AC9IHV3IF4mffcqtvrshSTer1EhEsK9bfC+YzDpfHCDXTSeDXIqy+76U68B9QXXsD9AghNe1+MyoYulcg42ntu1cijpoVx1igYRhdXYGtWFas3EO3NewAytz/ZQ6dDs4uoaUnisYqoGspTbUQP2wGfXmebN8jgnqUA4WftVwjw0EIVVq1Vq1Vt/V6xzCtlsj00hU9RI9Xpnc6wV2rmUc9ct7vge2d7Pa8T4dZvJz7ROTlfokrXjjF2VvYgwQ5Z4o6y9bgeMVHJhbbgGNXj5gWN9FeJHy+2lvfhnrQ+R74/HhjGd7qeKkMSoIbgmLXjmJxBITn06HgmG5GD5pOFwsykRAO0K1XsR7ieaQxuiGi0RxTi8o9oNIsKjtGtHUcjb6JZ4ejDU9fh31Si+e/6iafqQRveddM+n0RRWJKwxcCLHJ8gXuIdK8typ0irQ1nLQMdUM2WwbuehNVZTPS1+1k7M0nH0cI61v3uczwg1fzOmnipATlkET+cFAkW3NIF4NvCophKNliuYvw9Fv+b4MU7N54i5ossf6MSeZV3cjCVlBbKJOBvWA7H25HjdPBbKkKDfhJiWeKM5/wrS5zFnFKTo4AcYXYH/OPAHoSBQVVDX3Tw7c/wREG1W8yF45ZRQbm+i95nnWVo4CiM8dBEcP/nhUAusB6Ay5eHL3U8LzEFApKd4wclOln8LzAZAMuPoKocMXxvA0MWmYK4AerUihX68tt1RUQhNduTIqo/0KYKE3GBQOcsgRK44Kbji8fn3D78asKctf4Dn52GZMFqb1cVUs9l6/MqUM5ohSxJcOGHxomvGnomRokmAUpuK1ekAED) format("woff2");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}.olevel-view{display:flex;flex-direction:column;gap:24px;padding:24px;max-width:1400px;margin:0 auto}.media-panel{flex:2;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:12px;overflow-y:auto;border-right:1px solid #e5e7eb}.media-prompt-question{width:100%;max-width:800px;background:#f0f9ff;border-left:4px solid #3b82f6;padding:8px 16px;margin:8px 0 12px;border-radius:8px;box-shadow:0 2px 8px #3b82f61a}.prompt-question-text{font-size:1.15rem;font-weight:600;color:#1e40af;margin:0;line-height:1.6}.media-avatar{text-align:center;margin-bottom:12px;margin-top:8px;display:flex;justify-content:center;align-items:center}.avatar-image{width:120px;height:120px;border-radius:50%;border:4px solid #3b82f6;background:#fff;padding:8px;box-shadow:0 4px 12px #3b82f633}.media-content{width:100%;max-width:800px}.media-image-container,.media-carousel,.media-video-container,.media-audio-container{margin:8px 0}.media-audio-player{width:100%;margin-bottom:8px;border-radius:8px}.audio-description,.video-description{margin:12px 0;padding:12px;background:#f9fafb;border-left:4px solid #3b82f6;border-radius:4px;font-size:.95rem;color:#374151}.audio-transcript,.video-transcript{margin-top:12px;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.audio-transcript summary,.video-transcript summary{padding:12px 16px;background:#f9fafb;cursor:pointer;font-weight:600;color:#3b82f6;-webkit-user-select:none;user-select:none}.audio-transcript summary:hover,.video-transcript summary:hover{background:#f3f4f6}.media-image,.carousel-image{width:100%;max-width:600px;max-height:350px;object-fit:contain;border-radius:8px;margin:0 auto;display:block}.media-caption,.carousel-caption{margin-top:12px;text-align:center;font-style:italic;color:#64748b;font-size:.95rem}.carousel-counter{text-align:center;margin-top:8px;font-size:.9rem;color:#64748b}.media-carousel .slick-prev,.media-carousel .slick-next{width:36px;height:36px;z-index:10;background:#3b82f6;border-radius:6px;opacity:.6;transition:opacity .2s ease,background .2s ease}.media-carousel .slick-prev:hover,.media-carousel .slick-next:hover{background:#2563eb;opacity:1}.media-carousel .slick-prev:before,.media-carousel .slick-next:before{font-size:20px;color:#fff;opacity:1}.media-carousel .slick-prev{left:10px}.media-carousel .slick-next{right:10px}.media-carousel .slick-disabled{opacity:.4;cursor:not-allowed}.video-transcript,.audio-transcript{margin-top:16px;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.video-transcript summary,.audio-transcript summary{cursor:pointer;font-weight:600;color:#3b82f6;padding:8px;-webkit-user-select:none;user-select:none}.transcript-content{margin-top:12px;padding:12px;background:#f9fafb;border-radius:6px;line-height:1.6;max-height:300px;overflow-y:auto}.audio-player{width:100%;margin:16px 0}.media-instructions{margin-top:8px;padding:8px;background:#eff6ff;border-left:4px solid #3b82f6;border-radius:8px;line-height:1.6}.timer-container{display:flex;flex-direction:column;align-items:center;gap:20px;padding:32px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.timer-display{position:relative}.timer-circle{width:200px;height:200px;position:relative}.timer-svg{width:100%;height:100%;transform:rotate(-90deg)}.timer-track{stroke:#e5e7eb}.timer-progress{transition:stroke-dashoffset 1s linear}.timer-warning .timer-progress{stroke:#ef4444;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2.5rem;font-weight:700;color:#1e293b}.timer-stop-button{padding:12px 32px;background:#ef4444;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.timer-stop-button:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.timer-status{font-size:1.1rem;font-weight:600}.status-recording{display:flex;align-items:center;gap:8px;color:#ef4444}.recording-dot{width:12px;height:12px;background:#ef4444;border-radius:50%;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.status-ready{color:#10b981}.question-list{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000001a}.question-progress{text-align:center;font-size:1.1rem;font-weight:600;color:#64748b;margin-bottom:24px}.questions-container{list-style:none;padding:0;margin:0}.question-item{display:flex;gap:16px;padding:20px;margin-bottom:16px;border-radius:8px;border:2px solid #e5e7eb;transition:all .3s ease}.question-item.active{border-color:#3b82f6;background:#eff6ff;box-shadow:0 4px 12px #3b82f61a}.question-item.completed{border-color:#10b981;background:#f0fdf4}.question-item.pending{opacity:.6}.question-number{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#3b82f6;color:#fff;border-radius:50%;font-weight:700;font-size:1.1rem}.question-item.completed .question-number{background:#10b981}.question-item.pending .question-number{background:#94a3b8}.check-icon{font-size:1.2rem}.question-content{flex:1}.question-text{font-size:1.05rem;margin-bottom:16px;line-height:1.6;color:#1e293b}.question-answer-section{margin-top:16px}.record-button,.stop-button{padding:10px 24px;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.record-button{background:#3b82f6;color:#fff}.record-button:hover{background:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f64d}.stop-button{background:#ef4444;color:#fff}.stop-button:hover{background:#dc2626;transform:translateY(-2px);box-shadow:0 4px 12px #ef44444d}.live-transcript{margin-top:16px;padding:16px;background:#f8fafc;border-radius:8px;border-left:4px solid #3b82f6}.transcript-label{font-size:.85rem;color:#64748b;margin-bottom:8px;font-weight:600}.transcript-text{font-size:1rem;line-height:1.6;color:#1e293b}.completion-message{text-align:center;padding:32px;background:#f0fdf4;border-radius:12px;border:2px solid #10b981}.completion-icon{display:block;font-size:3rem;margin-bottom:16px}.stimulus-editor{background:#fff;border-radius:12px}.stimulus-editor h3{margin-bottom:24px;color:#1e293b;font-size:1.3rem}.image-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.image-item{display:flex;gap:12px;padding:16px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px;align-items:flex-start}.drag-handle{cursor:grab;color:#94a3b8;font-size:1.2rem;padding:4px}.drag-handle:active{cursor:grabbing}.image-fields{flex:1;display:flex;flex-direction:column;gap:8px}.image-fields input,.image-fields textarea{width:100%;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem}.image-fields textarea{resize:vertical;min-height:60px}.remove-button{flex:0 0 32px;width:32px;height:32px;padding:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:1rem;line-height:1;cursor:pointer;transition:background .2s ease,transform .2s ease}.remove-button .fa-solid,.remove-button .fa-regular{display:block;line-height:1}.remove-button:hover{background:#dc2626;transform:scale(1.05)}.add-image-button{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-image-button:hover{background:#2563eb;transform:translateY(-2px)}.youtube-input-group{display:flex;gap:8px;margin-bottom:12px}.youtube-input-group input{flex:1}.fetch-transcript-button{padding:8px 16px;background:#10b981;color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.fetch-transcript-button:hover:not(:disabled){background:#059669}.fetch-transcript-button:disabled{opacity:.6;cursor:not-allowed}.rich-text-area{font-family:inherit;line-height:1.6}.olevel-prompt-section{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000001a;text-align:center}.prompt-card{margin-bottom:32px;padding:24px;background:#eff6ff;border-radius:12px;border-left:4px solid #3b82f6}.prompt-title{font-size:1.4rem;color:#1e293b;margin-bottom:16px}.prompt-question{font-size:1.1rem;line-height:1.6;color:#475569}.start-button{padding:16px 48px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #3b82f64d;display:inline-flex;align-items:center;gap:12px}.start-button:hover{transform:translateY(-3px);box-shadow:0 6px 20px #3b82f666}.button-icon{font-size:1.3rem}.preview-info{margin-top:24px;color:#64748b;font-size:.95rem}.preview-info p{margin:8px 0}.olevel-recording-section{background:#fff;border-radius:12px;padding:32px;box-shadow:0 2px 8px #0000001a}.live-transcript-box{margin-top:24px;padding:20px;background:#f8fafc;border-radius:12px;border-left:4px solid #3b82f6;max-height:200px;overflow-y:auto}.recording-hint{text-align:center;margin-top:24px;font-size:1.1rem;color:#64748b;font-style:italic}.olevel-complete-section{background:#fff;border-radius:12px;padding:48px;box-shadow:0 2px 8px #0000001a;text-align:center}.completion-card{max-width:600px;margin:0 auto}.completion-card .completion-icon{font-size:4rem;color:#10b981;margin-bottom:24px}.completion-card h2{font-size:1.8rem;color:#1e293b;margin-bottom:16px}.completion-card p{font-size:1.1rem;color:#64748b}@media (max-width: 768px){.olevel-view{padding:16px;gap:16px}.media-panel,.question-list,.olevel-prompt-section,.olevel-recording-section{padding:20px}.timer-circle{width:150px;height:150px}.timer-text{font-size:2rem}.start-button{padding:14px 32px;font-size:1rem}.question-item{flex-direction:column;gap:12px}}.file-upload-wrapper{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.file-input{display:none}.file-upload-button{display:inline-block;padding:12px 24px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center;border:none}.file-upload-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}.file-upload-button:active{transform:translateY(0)}.file-preview{margin-top:12px;padding:12px;background:#f9fafb;border:2px solid #e5e7eb;border-radius:8px}.image-thumbnail{max-width:100%;max-height:200px;border-radius:6px;display:block;margin:0 auto}.audio-player{width:100%;height:40px}.olevel-recording-view{display:flex;width:100%;height:100vh;overflow:hidden}.olevel-left-panel{flex:2;overflow-y:auto;border-right:2px solid #e5e7eb}.olevel-right-panel{flex:3;overflow-y:auto;padding:32px;background:#f9fafb}.phase-header{text-align:center;margin-bottom:32px}.phase-header h2{font-size:1.8rem;color:#1e3a8a;margin:0 0 8px}.preparation-panel{max-width:700px;margin:0 auto}.prompt-question-display{background:#fff;border:2px solid #3b82f6;border-radius:12px;padding:24px;margin:24px 0;box-shadow:0 4px 12px #3b82f61a}.prompt-question{font-size:1.3rem;color:#1e3a8a;font-weight:600;line-height:1.6;margin:0}.instructions-box{background:#eff6ff;border-left:4px solid #3b82f6;border-radius:8px;padding:20px;margin:24px 0}.start-recording-button{width:100%;padding:20px 32px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:12px;font-size:1.3rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 20px #ef444466}.start-recording-button:hover{transform:translateY(-3px);box-shadow:0 10px 30px #ef444480}.recording-indicator{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;font-size:1.1rem;color:#ef4444;font-weight:600}.recording-dot{width:12px;height:12px;background:#ef4444;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.timer-display{text-align:center;margin:32px 0}.timer-value{font-size:5rem;font-weight:700;color:#1e3a8a;font-family:Courier New,monospace;line-height:1}.timer-label{font-size:1rem;color:#6b7280;margin-top:8px;text-transform:uppercase;letter-spacing:1px}.transcript-preview{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:20px;margin:24px 0;min-height:200px;max-height:400px;overflow-y:auto}.transcript-text{font-size:1.05rem;color:#374151;line-height:1.8;white-space:pre-wrap}.stop-recording-button{width:100%;padding:16px 32px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:12px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .3s ease}.recording-tip{text-align:center;color:#6b7280;font-size:.95rem;margin-top:16px;font-style:italic}.loading-feedback{text-align:center;padding:60px 20px}.spinner{width:60px;height:60px;border:6px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(360deg)}}.olevel-feedback-display{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 20px #00000014}.feedback-header{text-align:center;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #e5e7eb}.total-score-card{display:flex;align-items:center;justify-content:center;gap:32px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px solid #3b82f6;border-radius:16px;padding:32px;margin-bottom:32px}.score-value{color:#1e3a8a}.grade-letter{padding:12px 24px;color:#fff;border-radius:8px;font-size:1.5rem;font-weight:700;text-align:center}.score-breakdown{margin-bottom:32px}.score-component{background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;padding:20px;margin-bottom:20px}.band-badge{display:inline-block;padding:6px 16px;color:#fff;border-radius:20px;font-size:.9rem;font-weight:600;margin-bottom:12px}.score-bar{width:100%;height:12px;background:#e5e7eb;border-radius:6px;overflow:hidden;margin-bottom:12px}.score-bar-fill{height:100%;transition:width .8s ease;border-radius:6px}.feedback-section{margin-bottom:32px;padding:24px;border-radius:12px}.strengths{background:#f0fdf4;border:2px solid #10b981}.improvements{background:#fffbeb;border:2px solid #f59e0b}.overall-comment{background:#eff6ff;border:2px solid #3b82f6}.feedback-actions{display:flex;gap:16px;margin-top:32px}.try-again-button,.print-button{flex:1;padding:16px 32px;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.try-again-button{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.print-button{background:#fff;color:#374151;border:2px solid #e5e7eb}
