.strategy-library-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease;overflow-y:auto}.strategy-library{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d;animation:slideUp .3s ease}.strategy-library-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:2px solid #eee;position:relative}.header-content h2{margin:0 0 4px;font-size:24px;color:#333}.header-content .subtitle{margin:0;font-size:14px;color:#666}.progress-badge{display:flex;flex-direction:column;align-items:center;padding:8px 16px;background:#f0f0f0;border-radius:8px;min-width:60px}.progress-badge .badge-count{font-size:24px;font-weight:700;color:#2196f3}.progress-badge .badge-label{font-size:11px;color:#666;text-transform:uppercase;letter-spacing:.5px}.close-button{position:absolute;top:20px;right:20px;background:none;border:none;font-size:36px;color:#999;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button:focus{outline:2px solid #2196f3;outline-offset:2px}.strategy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;padding:24px;overflow-y:auto;flex:1}.strategy-card{background:#fff;border:2px solid #ddd;border-radius:12px;overflow:hidden;transition:all .3s ease;--accent-color: #2196f3}.strategy-card.unlocked{border-color:var(--accent-color);box-shadow:0 2px 8px #0000001a}.strategy-card.locked{opacity:.7}.strategy-card.expanded{grid-column:1 / -1}.strategy-card-header{width:100%;display:grid;grid-template-columns:auto 1fr auto auto;gap:12px;align-items:center;padding:16px;background:none;border:none;cursor:pointer;text-align:left;min-height:44px;transition:background .2s}.strategy-card-header:hover{background:#f9f9f9}.strategy-card-header:focus{outline:2px solid #2196f3;outline-offset:-2px}.strategy-icon{font-size:32px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--accent-color);border-radius:12px;background:linear-gradient(135deg,var(--accent-color),var(--accent-color)dd);box-shadow:0 2px 6px #00000026}.strategy-title{display:flex;flex-direction:column;gap:4px}.strategy-title h3{margin:0;font-size:16px;font-weight:600;color:#333}.strong-badge{font-size:12px;color:#ff9800;font-weight:500}.strategy-status{display:flex;flex-direction:column;align-items:flex-end}.usage-badge{font-size:13px;padding:4px 10px;background:var(--accent-color);color:#fff;border-radius:12px;font-weight:500}.locked-badge{font-size:13px;padding:4px 10px;background:#e0e0e0;color:#666;border-radius:12px}.expand-icon{font-size:12px;color:#666;transition:transform .3s ease;width:24px;text-align:center}.strategy-content{padding:20px;border-top:1px solid #eee;animation:slideDown .3s ease}.strategy-description,.strategy-when,.strategy-good-for,.strategy-example{margin-bottom:20px}.strategy-content h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--accent-color);text-transform:uppercase;letter-spacing:.5px}.strategy-content p{margin:0;line-height:1.6;color:#555;font-size:14px}.topic-tags{display:flex;flex-wrap:wrap;gap:8px}.topic-tag{padding:6px 12px;background:#f5f5f5;border-radius:16px;font-size:13px;color:#666;border:1px solid #e0e0e0}.strategy-stats{display:flex;gap:24px;padding:16px;background:#f9f9f9;border-radius:8px;margin-bottom:20px}.stat{display:flex;flex-direction:column;gap:4px}.stat-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:20px;font-weight:700;color:var(--accent-color)}.loading-example{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px}.spinner{width:32px;height:32px;border:3px solid #f3f3f3;border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.example-content{background:#f9f9f9;padding:16px;border-radius:8px;border-left:4px solid var(--accent-color)}.example-problem{margin-bottom:16px;padding:12px;background:#fff;border-radius:6px;font-size:14px;line-height:1.5}.example-step{display:flex;gap:12px;margin-bottom:16px}.step-number{flex-shrink:0;width:28px;height:28px;background:var(--accent-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.step-content{flex:1}.step-description{margin:0 0 6px;font-size:14px;line-height:1.5;color:#333}.step-thinking{margin:0;font-size:13px;color:#666;padding-left:8px;border-left:2px solid #e0e0e0}.example-insight{margin-top:16px;padding:12px;background:#fff9e6;border-radius:6px;border-left:3px solid #ffc107;font-size:14px;line-height:1.5}.strategy-actions{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.action-button{width:100%;min-height:44px;padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.action-button.primary{background:var(--accent-color);color:#fff}.action-button.primary:hover{filter:brightness(.9);transform:translateY(-1px);box-shadow:0 2px 8px #0003}.action-button.primary:active{transform:translateY(0)}.action-button:focus{outline:2px solid #2196f3;outline-offset:2px}.unlock-hint{margin:0;padding:12px;background:#e3f2fd;border-radius:6px;font-size:14px;color:#1976d2;text-align:center}.strategy-library-footer{padding:20px 24px;border-top:2px solid #eee;background:#f9f9f9}.completion-message,.progress-message{margin:0;text-align:center;font-size:14px;color:#555}.completion-message{color:#4caf50;font-weight:500}@media (max-width: 768px){.strategy-library-overlay{padding:0;align-items:flex-start}.strategy-library{border-radius:0;max-height:100vh;height:100vh}.strategy-library-header{padding:16px;flex-wrap:wrap}.header-content{flex:1;min-width:200px}.header-content h2{font-size:20px}.header-content .subtitle{font-size:13px}.close-button{top:12px;right:12px}.strategy-grid{grid-template-columns:1fr;padding:16px}.strategy-card.expanded{grid-column:1}.strategy-icon{font-size:28px;width:44px;height:44px}.strategy-title h3{font-size:15px}.strategy-content{padding:16px}.strategy-stats{flex-direction:column;gap:12px}.example-step{flex-direction:column;gap:8px}}@media (prefers-reduced-motion: reduce){.strategy-library-overlay,.strategy-library,.strategy-content,.expand-icon,.action-button{animation:none;transition:none}}@media (prefers-contrast: high){.strategy-card{border-width:3px}.topic-tag{border-width:2px}}.enhanced-feedback-display{max-width:700px;margin:0 auto;padding:20px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.correctness-indicator{display:flex;align-items:center;gap:16px;padding:20px;border-radius:8px;margin-bottom:24px;font-size:18px;font-weight:600}.correctness-indicator.correct{background:#e8f5e9;color:#2e7d32;border:2px solid #4caf50}.correctness-indicator.incorrect{background:#fff3e0;color:#e65100;border:2px solid #ff9800}.correctness-indicator .icon{font-size:32px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fffc}.feedback-section{margin-bottom:20px;padding:16px;background:#f5f5f5;border-radius:8px}.feedback-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#333}.feedback-section p{margin:0;line-height:1.6;color:#555}.what-went-well{background:#e8f5e9;border-left:4px solid #4caf50}.what-went-well ul{list-style:none;padding:0;margin:0}.what-went-well .positive-point{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:15px;line-height:1.5}.what-went-well .check-icon{color:#4caf50;font-weight:700;flex-shrink:0}.deviation-point{background:#fff3e0;border-left:4px solid #ff9800}.area-for-growth{background:#e3f2fd;border-left:4px solid #2196f3}.next-milestone{background:#f3e5f5;border-left:4px solid #9c27b0}.strategy-section{background:#fff;border:1px solid #ddd;padding:0}.expandable-header{width:100%;display:flex;justify-content:space-between;align-items:center;padding:16px;background:none;border:none;cursor:pointer;font-size:16px;font-weight:600;color:#333;text-align:left;min-height:44px;transition:background .2s}.expandable-header:hover{background:#f5f5f5}.expandable-header:active{background:#eee}.expand-icon{transition:transform .3s ease;font-size:12px;color:#666}.expand-icon.expanded{transform:rotate(180deg)}.strategy-content{padding:16px;border-top:1px solid #eee;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.strategy-identified{margin-bottom:8px;font-size:15px}.strategy-identified strong{color:#1976d2}.strategy-evidence{margin-bottom:12px;font-size:14px;color:#666;font-style:italic}.strategy-suggestion{margin-top:12px;padding:12px;background:#fff9e6;border-radius:6px;border-left:3px solid #ffc107}.strategy-suggestion p{margin:0;font-size:14px;color:#555}.action-buttons{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.action-button{flex:1;min-width:120px;min-height:44px;padding:12px 20px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;text-align:center}.action-button:active{transform:scale(.98)}.action-button.try-again{background:#ff9800;color:#fff}.action-button.try-again:hover{background:#f57c00}.action-button.explore-concept{background:#2196f3;color:#fff}.action-button.explore-concept:hover{background:#1976d2}.action-button.explore-concept:disabled{background:#ccc;cursor:not-allowed}.action-button.continue{background:#4caf50;color:#fff}.action-button.continue:hover{background:#388e3c}.action-button.primary{flex:2}.concept-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.concept-modal{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal-header h2{margin:0;font-size:20px;color:#333}.close-button{background:none;border:none;font-size:32px;color:#999;cursor:pointer;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-button:hover{background:#f5f5f5;color:#333}.modal-content{flex:1;overflow-y:auto;padding:20px}.concept-explanation p{margin-bottom:16px;line-height:1.6;color:#555}.modal-footer{padding:20px;border-top:1px solid #eee;display:flex;justify-content:center}@media (max-width: 768px){.enhanced-feedback-display{padding:16px;border-radius:0}.correctness-indicator{font-size:16px;padding:16px}.correctness-indicator .icon{font-size:24px;width:40px;height:40px}.feedback-section{padding:14px}.feedback-section h3{font-size:15px}.action-buttons{flex-direction:column}.action-button{width:100%;min-width:unset}.action-button.primary{flex:1}.concept-modal{max-height:90vh;margin:0}.modal-header{padding:16px}.modal-header h2{font-size:18px}.modal-content{padding:16px}}.action-button:focus,.expandable-header:focus,.close-button:focus{outline:2px solid #2196f3;outline-offset:2px}@media (prefers-contrast: high){.correctness-indicator{border-width:3px}.feedback-section{border:1px solid #333}}@media (prefers-reduced-motion: reduce){.expand-icon,.strategy-content,.concept-modal-overlay,.concept-modal,.action-button{animation:none;transition:none}}
