*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#faf9f7;overflow:hidden;color:#1a1a1a;-webkit-font-smoothing:antialiased}.container,body{height:100vh;width:100vw}.container,.orb-area{display:flex}.orb-area{flex:1;align-items:center;justify-content:center;transition:all .5s cubic-bezier(.4,0,.2,1);padding-right:0;position:relative}.orb-area.shifted{padding-right:380px}.orb{width:160px;height:160px;border-radius:50%;background:#ff6b00;cursor:pointer;will-change:transform,box-shadow;border:none;outline:none}.orb.processing{animation:breathe 1.6s ease-in-out infinite}@keyframes breathe{0%,to{opacity:1}50%{opacity:.6}}.status{text-align:center;margin-top:24px;font-size:13px;color:#aaa;font-weight:400;letter-spacing:.3px}.mute-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:16px auto 0;background:none;border:none;color:#bbb;cursor:pointer;border-radius:50%;transition:all .15s ease}.mute-btn:hover{color:#1a1a1a;background:#f0eeea}.mute-btn.active{color:#ff6b00}.sign-out-btn{position:fixed;top:20px;left:20px;z-index:25;padding:8px 14px;font-size:14px;font-weight:500;color:#666;background:#fff;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.06)}.sign-out-btn:hover{color:#1a1a1a;border-color:#ccc;box-shadow:0 2px 8px rgba(0,0,0,.1)}.toggle-btn{position:fixed;top:20px;right:20px;z-index:20;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#faf9f7;border:none;border-radius:50%;color:#999;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 4px rgba(0,0,0,.06)}.toggle-btn:hover{color:#1a1a1a;box-shadow:0 2px 8px rgba(0,0,0,.1)}.sidebar{position:fixed;top:0;right:0;width:0;height:100vh;background:#faf9f7;overflow:hidden;transition:width .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;z-index:10;border-left:1px solid transparent}.sidebar.open{width:380px;border-left-color:#ece9e4}.sidebar-head{padding:16px 20px;gap:12px}.sidebar-head,.sidebar-head .close-btn{display:flex;align-items:center;flex-shrink:0}.sidebar-head .close-btn{width:28px;height:28px;justify-content:center;background:none;border:none;color:#bbb;cursor:pointer;border-radius:50%;transition:all .15s ease}.sidebar-head .close-btn:hover{color:#1a1a1a;background:#f0eeea}.sidebar-head h2{font-size:12px;color:#bbb;letter-spacing:1.2px;flex:1}.reset-btn,.sidebar-head h2{font-weight:500;text-transform:uppercase}.reset-btn{padding:6px 14px;background:none;border:none;font-size:11px;color:#ccc;cursor:pointer;transition:color .15s ease;letter-spacing:.3px}.reset-btn:hover{color:#1a1a1a}.messages{flex:1;overflow-y:auto;padding:8px 20px 20px;display:flex;flex-direction:column;gap:14px}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-thumb{background:#d9d4cd;border-radius:4px}.msg{max-width:88%;font-size:14px;line-height:1.6;animation:fadeUp .25s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg.user{align-self:flex-end;background:#ff6b00;color:#fff;padding:10px 16px;border-radius:18px 18px 4px 18px}.msg.assistant{align-self:flex-start;color:#1a1a1a;padding:4px 0}.input-area{padding:12px 20px 20px;flex-shrink:0}.input-row{display:flex;align-items:center;background:#f0eeea;border-radius:24px;padding:12px 18px}.input-row textarea{flex:1;padding:0;border:none;background:none;font-size:14px;resize:none;outline:none;font-family:inherit;max-height:80px;color:#1a1a1a;line-height:1.4}.input-row textarea::placeholder{color:#bbb}.game-container{background:#faf9f7;color:#1a1a1a;border:1px solid #ece9e4;border-radius:14px;padding:1.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6;max-width:800px;margin:0 auto}.game-title{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 4px}.game-subtitle{font-size:13px;color:#999;margin:0 0 1rem}.round-indicator{font-size:11px;font-weight:500;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:1rem}.round-indicator span{color:#ff6b00;font-weight:700}.game-stats{display:flex;gap:16px;margin-bottom:1.25rem}.stat{text-align:center;min-width:48px}.stat-value{font-size:18px;font-weight:700;color:#1a1a1a}.stat-label{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.3px}.game-actions{display:flex;gap:10px;align-items:center;margin-top:1.25rem}.btn-primary{background:#1a1a1a;color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease}.btn-primary:hover{background:#333}.btn-primary:disabled{background:#d9d4cd;cursor:not-allowed}.btn-secondary{background:#f0eeea;color:#1a1a1a;border:none;border-radius:10px;padding:10px 20px;font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s ease}.btn-secondary:hover{background:#ece9e4}.prediction-scenario{background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:1rem;font-size:14px;line-height:1.7;margin-bottom:1rem;white-space:pre-wrap}.prediction-options{display:flex;flex-direction:column;gap:8px;margin-bottom:1rem}.prediction-option{background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:10px 14px;font-size:13px;cursor:pointer;transition:all .15s ease}.prediction-option:hover{background:#ece9e4;border-color:#d9d4cd}.prediction-option.selected{background:#fff5eb;border-color:#ff6b00;color:#1a1a1a}.prediction-option.correct{background:#ecfdf5;border-color:#00c864}.prediction-option.incorrect{background:#ffebee;border-color:#f44336}.prediction-result{border-radius:10px;padding:1rem;font-size:13px;line-height:1.6;margin-top:1rem}.prediction-result.correct{background:#ecfdf5;border:1px solid #00c864;color:#1a1a1a}.prediction-result.incorrect{background:#ffebee;border:1px solid #f44336;color:#1a1a1a}.confidence-bar{display:flex;gap:8px;justify-content:center;margin-bottom:1rem}.confidence-btn{width:40px;height:40px;border-radius:10px;border:1px solid #ece9e4;background:#f5f3f0;color:#1a1a1a;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.confidence-btn:hover{background:#ece9e4;border-color:#d9d4cd}.confidence-btn.selected{background:#ff6b00;border-color:#ff6b00;color:#fff}.sort-items{display:flex;flex-wrap:wrap;gap:8px}.sort-item{background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:8px 14px;font-size:13px;cursor:grab;transition:all .15s ease;user-select:none}.sort-item:hover{background:#ece9e4}.sort-item.dragging{opacity:.5;border-color:#ff6b00}.sort-item.in-bucket{cursor:default}.sort-item.correct{background:#ecfdf5;border-color:#00c864}.sort-item.incorrect{background:#ffebee;border-color:#f44336}.sort-battle-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:1rem}.sort-bucket{background:#f5f3f0;border:2px dashed #ece9e4;border-radius:12px;padding:12px;min-height:80px;transition:all .15s ease}.sort-bucket h4{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.sort-bucket.drag-over{border-color:#ff6b00;background:#fff5eb}.streak-indicator{color:#ff6b00}.error-segments{display:flex;flex-direction:column;gap:6px;margin-bottom:1rem}.error-segment{background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:10px 14px;font-size:13px;cursor:pointer;transition:all .15s ease}.error-segment:hover{background:#ece9e4}.error-segment.selected-error{background:#ffebee;border-color:#f44336}.error-segment.revealed-correct{background:#ecfdf5;border-color:#00c864}.error-segment.revealed-missed{background:#fff5eb;border-color:#ff9800}.error-explanation{margin-top:6px;font-size:12px;color:#999;font-style:italic}.claim-evidence-layout{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:1rem}.claims-column h4,.evidence-column h4{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.claims-column,.evidence-column{display:flex;flex-direction:column;gap:8px}.claim-card,.evidence-card{background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:10px 14px;font-size:13px;cursor:pointer;transition:all .15s ease}.claim-card:hover,.evidence-card:hover{background:#ece9e4}.claim-card.selected{background:#fff5eb;border-color:#ff6b00}.claim-card.matched,.evidence-card.matched{background:#ecfdf5;border-color:#00c864}.evidence-card.distractor-revealed{background:#fff5eb;border-color:#ff9800}.match-indicator{font-size:11px;font-weight:600;color:#00c864;margin-top:4px}.teach-bot-chat{display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto;margin-bottom:1rem;padding:12px;background:#f5f3f0;border-radius:12px;border:1px solid #ece9e4}.teach-bot-chat::-webkit-scrollbar{width:4px}.teach-bot-chat::-webkit-scrollbar-thumb{background:#d9d4cd;border-radius:4px}.bot-message{background:#fff;border:1px solid #ece9e4;border-radius:10px;padding:10px 14px;font-size:13px;align-self:flex-start;max-width:85%}.bot-label{font-size:11px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px}.user-response{background:#1a1a1a;color:#fff;border-radius:10px;padding:10px 14px;font-size:13px;align-self:flex-end;max-width:85%}.teach-input-area{display:flex;gap:8px;margin-bottom:1rem}.teach-input{flex:1;background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:10px 14px;font-size:13px;font-family:inherit;color:#1a1a1a;outline:none;transition:border-color .15s ease}.teach-input:focus{border-color:#d9d4cd}.teach-input::placeholder{color:#bbb}.teach-submit{background:#1a1a1a;color:#fff;border:none;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease}.teach-submit:hover{background:#333}.teach-submit:disabled{background:#d9d4cd;cursor:not-allowed}.diagram-svg{width:100%;display:block;margin-bottom:1rem}.diagram-feedback{border-radius:10px;padding:.75rem 1rem;font-size:13px;margin-top:.75rem}.diagram-feedback.correct{background:#ecfdf5;border:1px solid #00c864}.diagram-feedback.incorrect{background:#ffebee;border:1px solid #f44336}.diagram-feedback.info{background:#fff5eb;border:1px solid #ff9800}.diagram-input-area{display:flex;gap:8px;margin-top:.75rem}.timeline-card-pool{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem;padding:12px;background:#f5f3f0;border-radius:12px;border:1px solid #ece9e4;min-height:48px}.timeline-card{background:#fff;border:1px solid #ece9e4;border-radius:10px;padding:8px 12px;font-size:12px;cursor:grab;transition:all .15s ease;user-select:none}.timeline-card:hover{background:#ece9e4}.timeline-card.dragging{opacity:.5;border-color:#ff6b00}.timeline-card-date{font-size:11px;font-weight:600;color:#999}.timeline-slots{display:flex;gap:8px;margin-bottom:1rem}.timeline-slot{flex:1;background:#f5f3f0;border:2px dashed #ece9e4;border-radius:10px;padding:8px;min-height:60px;text-align:center;font-size:12px;color:#999;transition:all .15s ease}.timeline-slot.hint{background:#ece9e4}.timeline-slot.filled,.timeline-slot.hint{border-style:solid;border-color:#d9d4cd;color:#1a1a1a}.timeline-slot.drag-over{border-color:#ff6b00;background:#fff5eb}.timeline-slot.correct{background:#ecfdf5;border-color:#00c864;border-style:solid}.timeline-slot.incorrect{background:#ffebee;border-color:#f44336;border-style:solid}.timeline-slot.revealed{border-style:solid}.flow-step-panel{background:#f5f3f0;border:1px solid #ece9e4;border-radius:12px;padding:1rem;margin-top:.75rem}.flow-step-prompt{font-size:14px;font-weight:500;color:#1a1a1a;margin-bottom:.75rem}.flow-step-options{display:flex;flex-direction:column;gap:8px}.flow-step-option{background:#fff;border:1px solid #ece9e4;border-radius:10px;padding:10px 14px;font-size:13px;cursor:pointer;transition:all .15s ease;text-align:left}.flow-step-option:hover{background:#ece9e4}.flow-step-option.selected{background:#fff5eb;border-color:#ff6b00}.flow-step-option.correct{background:#ecfdf5;border-color:#00c864}.flow-step-option.incorrect{background:#ffebee;border-color:#f44336}.flow-step-input{display:flex;gap:8px;margin-top:.5rem}.flow-step-explanation{margin-top:.75rem;font-size:13px;color:#999;line-height:1.6}.phase-indicator{font-size:12px;font-weight:600;color:#ff6b00;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.spatial-unit-pool{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:1rem;padding:12px;background:#f5f3f0;border-radius:12px;border:1px solid #ece9e4}.spatial-unit{background:#fff;border:1px solid #ece9e4;border-radius:10px;padding:8px 12px;font-size:12px;cursor:pointer;transition:all .15s ease}.spatial-unit:hover{background:#ece9e4}.spatial-unit.selected{background:#fff5eb;border-color:#ff6b00}.generate-ui{padding:1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.generate-section{margin-bottom:1.25rem}.generate-section-title{font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.75rem}.profile-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.profile-card{background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:10px 12px;cursor:pointer;transition:all .15s ease}.profile-card:hover{background:#ece9e4}.profile-card.selected{background:#fff5eb;border-color:#ff6b00}.profile-name{font-size:13px;font-weight:600;color:#1a1a1a}.profile-subject{font-size:12px;color:#999}.profile-level{font-size:11px;color:#bbb;margin-top:2px}.profile-summary{background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:12px}.profile-detail{display:flex;gap:6px;font-size:12px;line-height:1.8}.detail-label{font-weight:600;color:#999;white-space:nowrap}.detail-value{color:#1a1a1a}.input-group label{display:block;font-size:12px;font-weight:500;color:#999;margin-bottom:6px}.generate-input{width:100%;background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:10px 14px;font-size:13px;font-family:inherit;color:#1a1a1a;outline:none;transition:border-color .15s ease}.generate-input:focus{border-color:#d9d4cd}.generate-input::placeholder{color:#bbb}.mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mode-option{display:flex;flex-direction:column;align-items:center;gap:4px;background:#f5f3f0;border:1px solid #ece9e4;border-radius:10px;padding:12px;cursor:pointer;transition:all .15s ease;font-family:inherit}.mode-option:hover{background:#ece9e4}.mode-option.active{background:#fff5eb;border-color:#ff6b00}.mode-icon{font-size:18px}.mode-label{font-size:13px;font-weight:600;color:#1a1a1a}.mode-desc{font-size:11px;color:#999;text-align:center}.btn-generate{background:#ff6b00;color:#fff;border:none;border-radius:10px;padding:12px 28px;font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease}.btn-generate:hover{background:#e55a00}.btn-cancel{background:#f5f3f0;color:#999;border:1px solid #ece9e4;border-radius:10px;padding:12px 28px;font-size:14px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.btn-cancel:hover{color:#1a1a1a;border-color:#d9d4cd}.generate-progress{display:flex;flex-direction:column;gap:8px;margin-top:1rem}.progress-step{display:flex;align-items:center;gap:10px;font-size:13px;color:#999}.progress-step.active{color:#1a1a1a}.progress-step.done{color:#00c864}.progress-step.error{color:#f44336}.progress-dot{width:8px;height:8px;border-radius:50%;background:#d9d4cd;flex-shrink:0}.progress-step.active .progress-dot{background:#ff6b00;animation:pulse-dot 1.2s ease-in-out infinite}.progress-step.done .progress-dot{background:#00c864}.progress-step.error .progress-dot{background:#f44336}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.progress-message{line-height:1.4}.generate-error{background:#ffebee;border:1px solid #f44336;border-radius:10px;padding:.75rem 1rem;font-size:13px;color:#f44336;margin-top:1rem}