.scenario-quiz{max-width:700px;width:100%;padding:2rem}.pause-badge{display:inline-block;background:var(--accent);color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:1.5rem}.scenario-context{background:var(--surface);border-radius:12px;padding:1.5rem;margin-bottom:2rem}.context-item{margin-bottom:1rem}.context-item:last-child{margin-bottom:0}.context-item .label{display:block;font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.context-item.situation span:last-child{font-size:1.1rem;line-height:1.5}.context-item.stakes span:last-child{color:var(--accent)}.question{font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;line-height:1.3}.options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.option{position:relative;overflow:hidden;display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;background:var(--surface);border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .12s ease,box-shadow .2s ease;text-align:left;width:100%}.option.reveal{opacity:0;animation:option-reveal .42s cubic-bezier(.22,1,.36,1) forwards;animation-delay:calc(var(--reveal-index, 0) * 90ms + 60ms)}@keyframes option-reveal{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.option:hover:not(:disabled){border-color:var(--text-dim);background:var(--surface-2);transform:translateY(-1px)}.option:active:not(:disabled){transform:translateY(0) scale(.995)}.ripple{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#ff6b3559;transform:scale(0);animation:ripple-expand .6s ease-out forwards;pointer-events:none}@keyframes ripple-expand{to{transform:scale(28);opacity:0}}@media (prefers-reduced-motion: reduce){.option.reveal{animation:none;opacity:1}.ripple{display:none}}.option.selected{border-color:var(--accent);background:#ff6b351a}.option.strong{border-color:var(--success);background:#4caf501a}.option.partial{border-color:var(--warning);background:#ffc1071a}.option.insufficient{border-color:var(--danger);background:#f443361a}.option:disabled{cursor:default}.option-letter{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--border);border-radius:50%;font-weight:700;flex-shrink:0}.option.selected .option-letter{background:var(--accent)}.option-text{flex:1;font-size:1rem;line-height:1.5;color:var(--text-soft)}.quality-badge{padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;white-space:nowrap}.quality-badge.strong{background:var(--success);color:#fff}.quality-badge.partial{background:var(--warning);color:var(--border)}.quality-badge.insufficient{background:var(--danger);color:#fff}.feedback{padding:1.5rem;border-radius:10px;margin-bottom:1.5rem}.feedback.strong{background:#4caf5026;border:1px solid var(--success)}.feedback.partial{background:#ffc10726;border:1px solid var(--warning)}.feedback.insufficient{background:#f4433626;border:1px solid var(--danger)}.feedback h3{margin-bottom:.5rem;font-size:1.1rem}.feedback p{color:var(--text-soft);line-height:1.6}.actions{display:flex;justify-content:center}.submit-btn,.continue-btn{padding:1rem 2rem;background:var(--accent);border:none;border-radius:8px;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.submit-btn:hover:not(:disabled),.continue-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b354d}.submit-btn:active:not(:disabled),.continue-btn:active{transform:translateY(0) scale(.98);box-shadow:0 2px 6px #ff6b3540}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.debrief{background:linear-gradient(135deg,var(--surface) 0%,var(--bg) 100%);border:1px solid var(--accent);border-radius:12px;padding:2rem;text-align:center}.debrief h3{font-size:1.25rem;margin-bottom:1rem;color:var(--accent)}.debrief p{font-size:1.1rem;line-height:1.7;color:var(--text-soft);margin-bottom:2rem}.scenario-quiz.reflection{text-align:center}.reflection h2{font-size:1.75rem;margin-bottom:1rem}.reflection-prompt{color:var(--text-muted);margin-bottom:2rem}.supplementary-panel{position:fixed;top:0;right:0;width:400px;height:100vh;background:var(--panel-bg);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:100;animation:slideIn .3s ease-out}.supplementary-panel.closing{animation:slideOut .26s cubic-bezier(.4,0,1,1) forwards}@media (prefers-reduced-motion: reduce){.supplementary-panel{animation:none}.supplementary-panel.closing{animation:panel-fade-out .2s ease forwards}@keyframes panel-fade-out{0%{opacity:1}to{opacity:0}}}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.panel-header h2{font-size:1.1rem;font-weight:600}.panel-tabs{display:flex;padding:.5rem;background:var(--surface);gap:.25rem}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;background:transparent;border:none;border-radius:6px;color:var(--text-faint);cursor:pointer;transition:all .2s}.tab-btn:hover{background:var(--border);color:var(--text-muted)}.tab-btn.active{background:var(--accent);color:#fff}.tab-icon{font-size:1.25rem}.tab-label{font-size:.7rem;font-weight:500}.panel-body{flex:1;overflow-y:auto;padding:1.5rem}.tab-content h3{font-size:1rem;color:var(--accent);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.tab-intro{color:var(--text-muted);font-size:.9rem;margin-bottom:1rem}.resource-card,.learning-card{display:block;background:var(--surface);border-radius:8px;padding:1rem;margin-bottom:.75rem;text-decoration:none;color:inherit;transition:all .2s;border:1px solid transparent}.resource-card:hover,.learning-card:hover{border-color:var(--accent);transform:translateY(-2px)}.resource-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.resource-title,.learning-title{font-weight:600;font-size:.95rem;color:var(--text)}.reading-time{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.resource-desc,.learning-desc{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-bottom:.5rem}.resource-link{font-size:.8rem;color:var(--accent)}.download-badge{display:inline-block;font-size:.8rem;color:var(--success)}.learning-type{font-size:.75rem;color:var(--text-faint)}.template-card{background:var(--surface);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.template-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.template-title{font-weight:600;color:var(--text)}.format-badge{padding:.2rem .5rem;background:var(--border);border-radius:4px;font-size:.7rem;color:var(--text-muted)}.template-desc{font-size:.85rem;color:var(--text-muted);line-height:1.5;margin-bottom:1rem}.template-sections{margin-bottom:1rem}.sections-label{font-size:.75rem;color:var(--text-faint);display:block;margin-bottom:.5rem}.template-sections ul{list-style:none;padding:0;margin:0}.template-sections li{font-size:.8rem;color:var(--text-muted);padding:.25rem 0 .25rem 1rem;position:relative}.template-sections li:before{content:"→";position:absolute;left:0;color:var(--accent)}.template-sections li.more{color:var(--text-faint);font-style:italic}.download-btn{width:100%;padding:.75rem;background:var(--border);border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-size:.9rem;cursor:pointer;transition:all .2s}.download-btn:hover{background:var(--border-strong);border-color:var(--accent)}.case-card{background:var(--surface);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.case-card h4{font-size:1rem;margin-bottom:.75rem;color:var(--text)}.case-summary{font-size:.9rem;color:var(--text-muted);line-height:1.5;margin-bottom:1rem}.lessons-label{font-size:.75rem;color:var(--accent);display:block;margin-bottom:.5rem}.case-lessons ul{list-style:none;padding:0;margin:0}.case-lessons li{font-size:.85rem;color:var(--text-soft);padding:.4rem 0 .4rem 1.25rem;position:relative}.case-lessons li:before{content:"•";position:absolute;left:0;color:var(--accent)}@media (max-width: 768px){.supplementary-panel{width:100vw;border-left:none}}.tutor-chat{position:fixed;top:0;right:0;width:400px;height:100vh;background:var(--panel-bg);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:100;animation:slideIn .3s ease-out}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.tutor-chat.closing{animation:slideOut .26s cubic-bezier(.4,0,1,1) forwards}@keyframes slideOut{0%{transform:translate(0)}to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.tutor-chat{animation:none}.tutor-chat.closing{animation:tutor-fade-out .2s ease forwards}@keyframes tutor-fade-out{0%{opacity:1}to{opacity:0}}}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.header-content{display:flex;align-items:center;gap:.75rem}.tutor-avatar{font-size:2rem}.chat-header h2{font-size:1rem;margin:0}.tutor-status{font-size:.75rem;color:var(--success)}.close-btn{width:32px;height:32px;background:var(--border);border:none;border-radius:6px;color:var(--text-muted);font-size:1.25rem;cursor:pointer;transition:all .2s}.close-btn:hover{background:var(--border-strong);color:var(--text)}.chat-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.message{display:flex;gap:.75rem;max-width:90%}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.system{align-self:center;max-width:100%}.avatar{font-size:1.5rem;flex-shrink:0}.message-content{background:var(--surface);border-radius:12px;padding:.75rem 1rem;font-size:.9rem;line-height:1.5}.message.user .message-content{background:var(--accent)}.message.system .message-content{background:transparent;border:1px dashed var(--border-strong);text-align:center;color:var(--text-muted)}.message-content p{margin:0 0 .5rem}.message-content p:last-child{margin-bottom:0}.message-content strong{color:var(--accent)}.message.user .message-content strong{color:#fff}.typing-indicator{display:flex;gap:4px;padding:.5rem 0}.typing-indicator span{width:8px;height:8px;background:var(--text-faint);border-radius:50%;animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.suggestions{padding:.75rem 1rem;background:var(--surface);border-top:1px solid var(--border)}.suggestions-label{font-size:.75rem;color:var(--text-faint);display:block;margin-bottom:.5rem}.suggestion-chips{display:flex;flex-wrap:wrap;gap:.5rem}.suggestion-chip{padding:.4rem .75rem;background:var(--border);border:1px solid var(--border-strong);border-radius:16px;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:all .2s}.suggestion-chip:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.suggestion-chip:active{transform:translateY(0) scale(.96)}.chat-input{display:flex;gap:.5rem;padding:1rem;background:var(--surface);border-top:1px solid var(--border)}.chat-input input{flex:1;padding:.75rem 1rem;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem}.chat-input input:focus{outline:none;border-color:var(--accent)}.chat-input input::placeholder{color:var(--text-dim)}.chat-input button{padding:.75rem 1.25rem;background:var(--accent);border:none;border-radius:8px;color:#fff;font-weight:600;cursor:pointer;transition:all .2s}.chat-input button:hover:not(:disabled){background:var(--accent-hover)}.chat-input button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.tutor-chat{width:100vw;border-left:none}}.progress-bar-container{display:flex;align-items:center;gap:1rem}.slide-counter{font-size:.85rem;color:var(--text-muted);white-space:nowrap;min-width:100px}.progress-track{flex:1;height:6px;background:var(--border);border-radius:3px;position:relative;overflow:hidden}.progress-overall{position:absolute;top:0;left:0;height:100%;background:var(--success);border-radius:3px;transition:width .5s cubic-bezier(.22,1,.36,1)}.progress-overall.pulse{animation:progress-pulse .7s ease-out}@keyframes progress-pulse{0%{box-shadow:0 0 #4caf508c}70%{box-shadow:0 0 0 8px #4caf5000}to{box-shadow:0 0 #4caf5000}}.progress-slide{position:absolute;top:0;height:100%;background:var(--accent);border-radius:3px;transition:width .1s linear;overflow:hidden}.progress-slide:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#fff0,#ffffff59,#fff0);transform:translate(-100%);animation:progress-shimmer 1.8s ease-in-out infinite}@keyframes progress-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion: reduce){.progress-overall.pulse{animation:none}.progress-slide:after{animation:none;display:none}}.progress-percent{font-size:.85rem;color:var(--text-muted);white-space:nowrap;min-width:100px;text-align:right}.celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;pointer-events:none;display:flex;align-items:center;justify-content:center}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.confetti-piece{position:absolute;top:-20px;border-radius:2px;opacity:0;will-change:transform,opacity;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.2,.6,.3,1);animation-fill-mode:forwards}.confetti-piece.round{border-radius:50%}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-10vh,0) rotate(0)}10%{opacity:1}to{opacity:0;transform:translate3d(var(--drift, 0),105vh,0) rotate(var(--rot, 360deg))}}.celebration-badge{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.75rem 2.5rem;background:#252838eb;border:1px solid var(--success);border-radius:18px;box-shadow:0 12px 48px #00000073,0 0 0 6px #4caf501f;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:badge-pop .5s cubic-bezier(.18,1.25,.4,1) both}.celebration-check{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--success);color:#fff;font-size:2rem;font-weight:700;animation:check-pop .6s cubic-bezier(.18,1.4,.4,1) .1s both}.celebration-label{font-size:1.15rem;font-weight:600;color:#fff;letter-spacing:.3px}@keyframes badge-pop{0%{opacity:0;transform:scale(.8) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes check-pop{0%{transform:scale(0)}60%{transform:scale(1.15)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.celebration-badge{animation:badge-fade .3s ease-out both}.celebration-check{animation:none}@keyframes badge-fade{0%{opacity:0}to{opacity:1}}}.subtitle-overlay{position:absolute;left:50%;bottom:1.5rem;transform:translate(-50%);max-width:min(90%,900px);width:max-content;padding:.75rem 1.25rem;border-radius:10px;text-align:center;line-height:1.5;color:#fff;pointer-events:none;z-index:5;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.subtitle-line{margin:.25rem 0;text-shadow:0 1px 2px rgba(0,0,0,.6)}.subtitle-overlay.teleprompter .word{opacity:.25;transition:opacity .2s ease-out}.subtitle-overlay.teleprompter .word.revealed{opacity:1}.subtitle-settings{position:absolute;bottom:100%;right:0;margin-bottom:.5rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:1rem;width:220px;display:flex;flex-direction:column;gap:.85rem;z-index:20;box-shadow:0 8px 24px #0006}.subtitle-settings label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--text-soft)}.subtitle-settings input[type=range]{width:100%;accent-color:var(--accent)}.subtitle-mode-toggle{display:flex;gap:.5rem}.subtitle-mode-toggle button{flex:1;padding:.4rem;background:transparent;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:.8rem;transition:all .2s}.subtitle-mode-toggle button.active{background:var(--border);border-color:var(--accent);color:var(--accent)}.subtitle-cc-wrap{position:relative}.slide-player{display:flex;min-height:100vh;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.slide-main{flex:1;display:flex;flex-direction:column;transition:margin-right .3s}.slide-main.with-panel{margin-right:400px}.module-nav{display:flex;gap:.5rem;padding:1rem 2rem;background:var(--surface);border-bottom:1px solid var(--border);align-items:center}.module-tabs{display:flex;gap:.5rem;flex:1;flex-wrap:wrap;min-width:0}.module-tab{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;background:transparent;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-muted);cursor:pointer;transition:all .2s}.module-tab:hover{border-color:var(--text-faint);color:var(--text)}.module-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.module-tab.completed{border-color:var(--success)}.module-tab.completed .check{color:var(--success)}.module-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:#ffffff1a;border-radius:50%;font-weight:600;font-size:.9rem}.module-tab.active .module-number{background:#0003}.module-title{font-size:.9rem}.slide-container{position:relative;flex:1;display:flex;align-items:center;justify-content:center;padding:3rem;overflow-y:auto}.slide-content{max-width:800px;width:100%}.slide-content.slide-enter{animation:slide-enter .45s cubic-bezier(.22,1,.36,1) both}@keyframes slide-enter{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion: reduce){.slide-content.slide-enter{animation:slide-enter-reduced .3s ease both}@keyframes slide-enter-reduced{0%{opacity:0}to{opacity:1}}}.slide-header{margin-bottom:2rem}.slide-badge{display:inline-block;background:var(--accent);color:#fff;padding:.25rem .75rem;border-radius:4px;font-size:.8rem;font-weight:600;margin-bottom:1rem}.slide-header h1{font-size:2.5rem;font-weight:700;line-height:1.2}.slide-visual{margin:2rem 0}.visual-placeholder{background:var(--surface);border:2px dashed var(--border-strong);border-radius:12px;padding:3rem;text-align:center;color:var(--text-muted);font-size:1.1rem}.slide-body p{font-size:1.25rem;line-height:1.7;color:var(--text-soft);margin-bottom:1.5rem}.slide-body p.fade-in{animation:fadeIn .5s ease-out forwards;opacity:0}.slide-body p.delay-0{animation-delay:0s}.slide-body p.delay-1{animation-delay:.3s}.slide-body p.delay-2{animation-delay:.6s}.slide-body p.delay-3{animation-delay:.9s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.slide-controls{padding:1.5rem 2rem;background:var(--surface);border-top:1px solid var(--border)}.progress-section{margin-bottom:1rem}.time-remaining{margin-top:.5rem;text-align:center;font-size:.8rem;color:var(--text-muted)}.control-buttons{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.control-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.control-btn.prev,.control-btn.next{background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong)}.control-btn.prev:hover:not(:disabled),.control-btn.next:hover:not(:disabled){background:var(--surface);border-color:var(--border-hover);transform:translateY(-1px)}.control-btn.play{background:var(--accent);color:#fff;min-width:120px}.control-btn.play:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 14px #ff6b3559}.control-btn.play.playing{background:var(--text-dim)}.control-btn.play.playing:hover:not(:disabled){background:var(--text-faint);box-shadow:none}.control-btn:active:not(:disabled){transform:translateY(0) scale(.97)}.control-btn:disabled{opacity:.5;cursor:not-allowed}.feature-buttons{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.feature-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s}.feature-btn:hover{border-color:var(--text-faint);color:var(--text);transform:translateY(-1px)}.feature-btn:active{transform:translateY(0) scale(.96)}.feature-btn.active{background:var(--surface-2);border-color:var(--accent);color:var(--accent)}.module-tab:active,.nav-tool:active,.bookmark-btn:active{transform:scale(.97)}.keyboard-hints{position:fixed;bottom:1rem;left:1rem;display:flex;gap:1.5rem;font-size:.8rem;color:var(--text-muted)}.keyboard-hints kbd{display:inline-block;padding:.15rem .4rem;background:var(--border);border-radius:3px;font-family:monospace;margin-right:.25rem}.nav-tools{margin-left:auto;display:flex;gap:.5rem;align-items:center}.nav-tool{padding:.5rem .9rem;background:transparent;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-soft);cursor:pointer;font-size:.85rem;transition:all .2s}.nav-tool:hover{border-color:var(--accent);color:var(--accent)}.bookmark-btn{float:right;padding:.4rem .85rem;background:transparent;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:.85rem;transition:all .2s}.bookmark-btn:hover{border-color:#ffc857;color:#ffc857}.bookmark-btn.active{border-color:#ffc857;background:#ffc8571f;color:#ffc857}.feature-btn.ask-about{border-color:var(--accent);color:var(--accent)}.side-panel{position:fixed;top:0;right:0;width:400px;height:100vh;background:var(--input-bg);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:40;animation:panelSlideIn .3s ease-out}@keyframes panelSlideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}.panel-header h2{font-size:1.2rem}.panel-header .close-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.6rem;cursor:pointer;line-height:1}.panel-header .close-btn:hover{color:#fff}.notes-panel{padding-bottom:1rem}.notes-slide-label{padding:1rem 1.5rem .5rem;color:var(--text-muted);font-size:.85rem}.notes-slide-label strong{color:var(--text)}.notes-textarea{margin:0 1.5rem;min-height:140px;resize:vertical;background:var(--input-bg);border:1px solid var(--border-strong);border-radius:8px;color:var(--text);padding:.85rem;font-family:inherit;font-size:.95rem;line-height:1.5}.notes-textarea:focus{outline:none;border-color:var(--accent)}.notes-all{margin-top:1.25rem;padding:0 1.5rem;overflow-y:auto;flex:1}.notes-all h3{font-size:.9rem;color:var(--text-muted);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.note-item{background:var(--bg);border:1px solid var(--surface-2);border-radius:8px;padding:.75rem .9rem;margin-bottom:.75rem}.note-item strong{color:var(--accent);font-size:.85rem}.note-item p{margin-top:.35rem;color:var(--text-soft);font-size:.9rem;white-space:pre-wrap}.empty-hint{color:var(--text-faint);font-size:.9rem;font-style:italic}.outline-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:60;display:flex;justify-content:center;align-items:flex-start;padding:4rem 1rem;animation:fadeIn .2s ease-out forwards;opacity:0}.outline-panel{background:var(--input-bg);border:1px solid var(--border);border-radius:12px;width:100%;max-width:640px;max-height:80vh;display:flex;flex-direction:column}.outline-body{overflow-y:auto;padding:1rem 1.5rem 1.5rem}.outline-module{margin-bottom:1.5rem}.outline-module h3{font-size:1rem;color:var(--text);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.outline-module h3.done{color:var(--success)}.outline-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#ffffff1a;border-radius:50%;font-size:.8rem}.outline-module ul{list-style:none;padding-left:.5rem}.outline-slide{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;border-radius:6px;cursor:pointer;color:var(--text-soft);font-size:.9rem;transition:background .15s}.outline-slide:hover{background:var(--surface-2);color:#fff}.outline-slide.current{background:#ff6b3526;color:var(--accent)}.outline-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim);flex-shrink:0}.outline-slide.current .outline-dot{background:var(--accent)}.outline-slide-title{flex:1}.outline-bm{color:#ffc857}.outline-quality{width:10px;height:10px;border-radius:50%;flex-shrink:0}.outline-quality.strong{background:var(--success)}.outline-quality.partial{background:#ffc857}.outline-quality.insufficient{background:var(--danger)}.share-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--surface-2);border:1px solid var(--accent);color:#fff;padding:.75rem 1.25rem;border-radius:8px;z-index:80;box-shadow:0 6px 20px #0006;animation:fadeIn .2s ease-out forwards}.print-summary{display:none}@media print{.slide-main,.side-panel,.outline-overlay,.tutor-chat,.supplementary-panel,.keyboard-hints,.share-toast{display:none!important}.slide-player{display:block;background:#fff;color:#000}.print-summary{display:block;padding:1.5rem;max-width:800px;color:#000}.print-summary h1{font-size:1.8rem;margin-bottom:.25rem}.print-meta{color:#555;font-size:.85rem}.print-stats{margin:.75rem 0 1.5rem;padding:.5rem .75rem;background:#f2f2f2;border-radius:6px;font-size:.9rem}.print-module{margin-bottom:1.5rem;break-inside:avoid}.print-module h2{font-size:1.2rem;border-bottom:2px solid #FF6B35;padding-bottom:.25rem;margin-bottom:.75rem}.print-slide{margin-bottom:1rem;padding-left:.5rem;border-left:3px solid #ddd;break-inside:avoid}.print-slide h3{font-size:1rem;margin-bottom:.35rem}.print-answer{font-size:.9rem;margin-bottom:.35rem}.print-note-label{font-weight:700;font-size:.85rem;color:#555}.print-note p{font-size:.9rem;white-space:pre-wrap}}@media (max-width: 900px){.module-nav{padding:.75rem 1rem}.module-tab{padding:.5rem .85rem}.module-title{font-size:.82rem}.slide-container{padding:1.75rem 1.25rem}.slide-header h1{font-size:2rem}.slide-body p{font-size:1.1rem}.slide-main.with-panel{margin-right:0}}@media (max-width: 600px){.module-nav{flex-direction:column;align-items:stretch;gap:.5rem}.module-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;min-width:0;max-width:100%}.module-tab{flex-shrink:0}.nav-tools{margin-left:0;justify-content:flex-end}.slide-container{padding:1.25rem 1rem}.slide-header h1{font-size:1.6rem}.slide-body p{font-size:1rem;line-height:1.6}.bookmark-btn{float:none;display:inline-block;margin-bottom:.75rem}.slide-controls{padding:1rem}.control-buttons{gap:.5rem}.control-btn{flex:1;padding:.75rem .5rem;font-size:.9rem;min-width:0}.control-btn.play{min-width:0}.feature-btn{font-size:.8rem;padding:.45rem .75rem}.keyboard-hints{display:none}}:root,:root[data-theme=dark]{--bg: #1a1d2e;--bg-gradient: linear-gradient(135deg, #1a1d2e 0%, #252838 50%, #1a1d2e 100%);--surface: #252838;--surface-2: #2a2d3e;--panel-bg: #1e2130;--input-bg: #1a1d2e;--border: #333;--border-strong: #444;--border-hover: #666;--text: #ffffff;--text-soft: #ccc;--text-muted: #888;--text-faint: #666;--text-dim: #555;--accent: #FF6B35;--accent-hover: #e55a2b;--accent-soft: rgba(255, 107, 53, .1);--success: #4CAF50;--warning: #FFC107;--danger: #f44336;--chip-bg: #333;--focus-ring: #ffb38a}:root[data-theme=light]{--bg: #f4f5f9;--bg-gradient: linear-gradient(135deg, #eef0f6 0%, #f7f8fc 50%, #eef0f6 100%);--surface: #ffffff;--surface-2: #f0f1f6;--panel-bg: #ffffff;--input-bg: #ffffff;--border: #dcdfe8;--border-strong: #c4c9d6;--border-hover: #9aa2b5;--text: #1a1d2e;--text-soft: #3a3f52;--text-muted: #5f6678;--text-faint: #838a9c;--text-dim: #9aa2b5;--accent: #c0410f;--accent-hover: #a83309;--accent-soft: rgba(192, 65, 15, .12);--success: #2e9e46;--warning: #c99400;--danger: #d32f2f;--chip-bg: #eceef4;--focus-ring: #c0410f}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;transition:background-color .3s,color .3s}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.theme-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;color:var(--text-soft);font-size:.85rem;cursor:pointer;transition:all .2s}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.landing{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-gradient);padding:2rem;position:relative}.landing-topbar{position:absolute;top:1.25rem;right:1.25rem}.landing-content{max-width:600px;text-align:center}.landing-badge{display:inline-block;background:var(--accent);color:#fff;padding:.5rem 1.5rem;border-radius:20px;font-size:.9rem;font-weight:600;margin-bottom:1.5rem}.landing h1{font-size:3rem;font-weight:700;margin-bottom:1rem;line-height:1.1}.landing-subtitle{font-size:1.25rem;color:var(--text-muted);margin-bottom:3rem}.landing-features{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-bottom:3rem;text-align:left}.feature{display:flex;gap:1rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:12px}.feature-icon{font-size:2rem}.feature strong{display:block;color:var(--text);margin-bottom:.25rem}.feature span{font-size:.85rem;color:var(--text-muted)}.start-btn{display:inline-block;padding:1.25rem 3rem;background:var(--accent);border:none;border-radius:12px;color:#fff;font-size:1.25rem;font-weight:600;cursor:pointer;transition:all .2s}.start-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ff6b354d}.landing-actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.resume-btn{padding:.75rem 2rem;background:transparent;border:1px solid var(--accent);border-radius:10px;color:var(--accent);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.resume-btn:hover{background:var(--accent-soft)}.landing-hint{margin-top:2rem;font-size:.85rem;color:var(--text-dim)}.landing-hint kbd{display:inline-block;padding:.2rem .5rem;background:var(--chip-bg);border-radius:4px;font-family:monospace;margin:0 .15rem}.completion{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-gradient);padding:2rem}.completion-content{max-width:700px;text-align:center}.completion-badge{font-size:4rem;margin-bottom:1.5rem}.completion h1{font-size:2.5rem;margin-bottom:.5rem}.completion>p{color:var(--text-muted);margin-bottom:3rem}.completion-cert{display:flex;align-items:center;gap:2rem;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem;margin-bottom:2rem;text-align:left}.completion-cert img{width:120px;height:120px}.completion-cert h3{font-size:1.25rem;margin-bottom:.5rem}.completion-cert p{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.cert-link{color:var(--accent);text-decoration:none;font-weight:600}.cert-link:hover{text-decoration:underline}.completion-resources{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:2rem}.completion-resources h3{font-size:1rem;margin-bottom:1rem;color:var(--text-muted)}.resource-links{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.resource-links a{padding:.75rem 1.25rem;background:var(--chip-bg);border-radius:8px;color:var(--text);text-decoration:none;font-size:.9rem;transition:all .2s}.resource-links a:hover{background:var(--border-strong)}.restart-btn{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-muted);font-size:.9rem;cursor:pointer;transition:all .2s}.restart-btn:hover{border-color:var(--border-hover);color:var(--text)}@media (max-width: 900px){.landing h1{font-size:2.25rem}.landing-subtitle{font-size:1.1rem;margin-bottom:2rem}.completion-cert{flex-direction:column;text-align:center}}@media (max-width: 600px){.landing,.completion{padding:1.25rem}.landing h1{font-size:1.85rem}.landing-features{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.start-btn{width:100%;padding:1rem 1.5rem;font-size:1.1rem}.completion h1{font-size:1.85rem}.resource-links{flex-direction:column}.resource-links a{text-align:center}}.error-boundary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text);padding:2rem}.error-content{max-width:480px;text-align:center}.error-icon{font-size:3rem;margin-bottom:1rem}.error-content h1{font-size:1.75rem;margin-bottom:.75rem}.error-content p{color:var(--text-muted);margin-bottom:1.5rem}.error-detail{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;text-align:left;font-size:.8rem;color:var(--text-muted);overflow-x:auto;margin-bottom:1.5rem;white-space:pre-wrap;word-break:break-word}.error-reload-btn{padding:.9rem 2rem;background:var(--accent);border:none;border-radius:10px;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}.error-reload-btn:hover{transform:translateY(-2px)}.error-reload-btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
