.teaching-card{border:1px solid rgba(56,189,248,.3)!important;background:linear-gradient(135deg,#1e293bd9,#0f172ae6)!important;box-shadow:0 8px 32px #0000005e;margin-bottom:1.5rem}.teaching-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.75rem;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.teaching-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.teaching-badge{background:linear-gradient(135deg,#38bdf8,#818cf8);color:#0f172a;font-size:.75rem;font-weight:800;padding:.25rem .6rem;border-radius:9999px;letter-spacing:.05em}.teaching-header h3{font-size:1.15rem;color:var(--text-primary);font-weight:700;margin:0}.level-indicator{display:flex;gap:.35rem}.level-dot{font-size:.7rem;font-weight:700;padding:.15rem .45rem;border-radius:6px;background:#ffffff14;color:var(--text-secondary);border:1px solid rgba(255,255,255,.1)}.level-dot.active{background:var(--accent-color);color:#0f172a;border-color:var(--accent-color);box-shadow:0 0 10px #38bdf880}.level-dot.passed{background:#4ade8033;color:var(--highlight-3);border-color:var(--highlight-3)}.teaching-controls{display:flex;align-items:center;gap:.5rem}.btn-text{background:#38bdf81f;color:var(--accent-color);border:1px solid rgba(56,189,248,.3);padding:.35rem .75rem;border-radius:8px;font-size:.8rem;cursor:pointer;transition:all .2s}.btn-text:hover{background:#38bdf840}.btn-icon{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);width:28px;height:28px;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.teaching-collapsed-bar{background:var(--card-bg);border:1px solid rgba(56,189,248,.3);border-radius:1rem;padding:.75rem 1.25rem;display:flex;align-items:center;justify-content:space-between;cursor:pointer;margin-bottom:1.5rem;transition:all .2s}.teaching-collapsed-bar:hover{border-color:var(--accent-color);box-shadow:0 0 15px #38bdf833}.teaching-expand-btn{background:transparent;border:none;color:var(--accent-color);font-size:.85rem;font-weight:600;cursor:pointer}.teaching-icon{font-size:1.25rem;margin-right:.5rem}.teaching-title{font-size:.95rem;font-weight:600;color:var(--text-primary);flex-grow:1}.story-box{background:#ffffff08;border-left:3px solid var(--accent-color);padding:.75rem 1rem;border-radius:0 8px 8px 0;margin-bottom:1rem}.story-text{font-size:.95rem;line-height:1.6;color:#e2e8f0}.question-box{margin-bottom:1rem}.question-text{font-size:1rem;color:#fff;margin-bottom:.75rem}.quiz-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.quiz-opt-btn{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;border-radius:10px;background:#33415599;border:1px solid rgba(255,255,255,.1);color:var(--text-primary);cursor:pointer;font-size:.95rem;font-family:inherit;font-weight:500;transition:all .2s;text-align:left}.quiz-opt-btn:hover:not(:disabled){background:#475569cc;border-color:var(--accent-color);transform:translateY(-1px)}.opt-id{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:#ffffff1a;font-weight:700;font-size:.8rem}.quiz-opt-btn.opt-correct{background:#22c55e40!important;border-color:#22c55e!important;color:#86efac!important}.quiz-opt-btn.opt-wrong{background:#ef444440!important;border-color:#ef4444!important;color:#fca5a5!important}.quiz-feedback{border-radius:12px;padding:1rem 1.25rem;margin-top:1rem}.feedback-wrong{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.feedback-correct{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.feedback-header{display:flex;align-items:center;gap:.5rem;font-size:1.05rem;margin-bottom:.5rem}.feedback-hint,.feedback-exp{font-size:.92rem;line-height:1.6;color:#cbd5e1;margin-bottom:.75rem}.feedback-takeaway{background:#38bdf826;border-left:3px solid var(--accent-color);padding:.5rem .75rem;border-radius:0 6px 6px 0;font-size:.85rem;color:#7dd3fc;font-weight:600;margin-bottom:1rem}.feedback-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.btn-action{padding:.6rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;border:none;transition:all .2s;font-family:inherit}.btn-retry{background:#475569;color:#fff}.btn-reveal{background:#38bdf833;color:var(--accent-color);border:1px solid var(--accent-color)}.btn-next,.btn-finish{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 4px 12px #22c55e4d}.btn-next:hover,.btn-finish:hover{transform:translateY(-2px);box-shadow:0 6px 16px #22c55e66}.enum-preview-section{background:#00000040;border-radius:10px;padding:.75rem;margin-top:.75rem;border:1px solid rgba(255,255,255,.06)}.enum-preview-title{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem;flex-wrap:wrap;gap:.5rem}.btn-sync-params{background:#38bdf826;border:1px solid rgba(56,189,248,.3);color:var(--accent-color);padding:.25rem .5rem;border-radius:6px;font-size:.75rem;cursor:pointer}.btn-sync-params:hover{background:#38bdf84d}.enum-cards-scroll{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem;max-height:200px;overflow-y:auto;padding-right:4px}.enum-chip{background:#1e293be6;border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:.4rem .5rem;font-size:.75rem;display:flex;flex-direction:column;gap:.25rem}.enum-chip-idx{font-size:.65rem;color:var(--text-secondary);font-weight:700}.mini-box{display:inline-flex;align-items:center;gap:2px;background:#0000004d;padding:2px 4px;border-radius:4px;margin-right:3px;margin-bottom:2px}.mini-box small{color:#94a3b8;font-size:.65rem;margin-right:2px}.mini-ball{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;font-size:.6rem;font-weight:700;color:#fff}.ball-c1{background:#ef4444}.ball-c2{background:#10b981}.ball-c3{background:#3b82f6}.ball-c4{background:#f59e0b}.ball-c5{background:#8b5cf6}.ident-ball{color:#38bdf8;font-size:.75rem}.mini-group{background:#ffffff14;padding:2px 4px;border-radius:4px}.badge-num{background:var(--accent-color);color:#0f172a;font-weight:800;padding:1px 6px;border-radius:4px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:999;padding:1.5rem}.modal-card{background:#1e293b;border:1px solid rgba(255,255,255,.15);border-radius:1.25rem;max-width:750px;width:100%;max-height:85vh;overflow-y:auto;padding:1.5rem 2rem;box-shadow:0 25px 50px -12px #00000080}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.75rem}.modal-header h4{font-size:1.25rem;color:var(--accent-color)}.btn-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.concept-block h5,.benchmark-summary h5{font-size:.95rem;color:var(--highlight-1);margin-bottom:.75rem}.concept-item{background:#00000040;padding:.75rem;border-radius:8px;margin-bottom:.75rem;font-size:.85rem;line-height:1.5}.concept-badge{font-weight:700;color:#fff;margin-bottom:.25rem}.benchmark-summary{background:#0000004d;padding:1rem;border-radius:10px}.benchmark-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.bm-card{padding:.6rem;border-radius:8px;text-align:center;font-size:.8rem;border:1px solid rgba(255,255,255,.1)}.bm-card.dd{background:#4ade8026;border-color:#4ade80}.bm-card.id{background:#38bdf826;border-color:#38bdf8}.bm-card.di{background:#fbbf2426;border-color:#fbbf24}.bm-card.ii{background:#f8717126;border-color:#f87171}.comparison-toast{position:fixed;bottom:2rem;right:2rem;max-width:380px;background:#1e293bf2;border:1px solid var(--accent-color);border-radius:12px;padding:1rem 1.25rem;box-shadow:0 10px 25px #00000080;z-index:900;transition:all .3s cubic-bezier(.4,0,.2,1)}.comparison-toast.hidden{opacity:0;transform:translateY(20px);pointer-events:none}.comparison-toast.visible{opacity:1;transform:translateY(0)}.toast-title{font-size:.95rem;font-weight:700;color:var(--accent-color);margin-bottom:.4rem}.toast-desc{font-size:.85rem;color:#fff;margin-bottom:.4rem}.toast-reason{font-size:.8rem;color:#94a3b8;line-height:1.4;margin-bottom:.75rem}.toast-btn-close{background:var(--accent-color);color:#0f172a;border:none;padding:.35rem .75rem;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer}.animate-pop{animation:popIn .25s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 640px){.quiz-options-grid,.concept-grid{grid-template-columns:1fr}.benchmark-grid{grid-template-columns:1fr 1fr}.comparison-toast{left:1rem;right:1rem;bottom:1rem}}:root{--bg-color: #0f172a;--card-bg: rgba(30, 41, 59, .7);--accent-color: #38bdf8;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--matrix-cell-bg: rgba(51, 65, 85, .5);--highlight-1: #fbbf24;--highlight-2: #f87171;--highlight-3: #4ade80;--font-family: "Outfit", "Inter", -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-family);min-height:100vh;padding:2rem;background-image:radial-gradient(at 0% 0%,hsla(215,98%,61%,.15) 0px,transparent 50%),radial-gradient(at 100% 0%,hsla(125,98%,72%,.1) 0px,transparent 50%)}header{text-align:center;margin-bottom:2rem}h1{font-size:2.5rem;font-weight:800;letter-spacing:-.025em;background:linear-gradient(to bottom right,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.header-links{margin-top:1rem}.math-link{color:var(--accent-color);text-decoration:none;font-size:.9rem;padding:.5rem 1rem;border-radius:9999px;background:#38bdf81a;border:1px solid rgba(56,189,248,.2);transition:all .3s}.math-link:hover{background:#38bdf833;box-shadow:0 0 15px #38bdf84d}.subtitle{font-size:1.2rem;font-weight:300;display:block;color:var(--text-secondary);margin-top:.5rem}#mode-selector{display:flex;justify-content:center;gap:1rem;margin-top:2rem;flex-wrap:wrap}.mode-btn{padding:.75rem 1.5rem;border-radius:9999px;border:1px solid rgba(255,255,255,.1);background:var(--card-bg);color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:600;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mode-btn:hover{border-color:var(--accent-color);color:var(--text-primary)}.mode-btn.active{background:var(--accent-color);color:#000;border-color:var(--accent-color)}main{max-width:1400px;margin:0 auto}.controls{display:flex;justify-content:center;gap:3rem;margin-bottom:2rem;background:var(--card-bg);padding:1.5rem;border-radius:1rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.control-group{display:flex;align-items:center;gap:1rem}input[type=range]{width:200px;accent-color:var(--accent-color)}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.card{background:var(--card-bg);border-radius:1.5rem;padding:2rem;border:1px solid rgba(255,255,255,.05);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}h2{font-size:1.25rem;color:var(--text-secondary);margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.05em;border-left:4px solid var(--accent-color);padding-left:1rem}.matrix-container{overflow-x:auto;padding:1rem}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}th,td{padding:12px;text-align:center;border:1px solid rgba(255,255,255,.05);min-width:45px;transition:all .2s}th{color:var(--text-secondary);font-weight:400;font-size:.8rem}td{cursor:pointer;border-radius:4px;position:relative}.cell-label{position:absolute;top:2px;left:2px;font-size:.6rem;color:#000;font-weight:700;opacity:.7;z-index:2}.cell-corner{position:absolute;top:2px;right:2px;font-size:.65rem;color:var(--accent-color);font-style:italic;opacity:.8;z-index:1}.cell-active .cell-corner,.cell-source-1 .cell-corner,.cell-source-2 .cell-corner,.cell-source-3 .cell-corner{color:#0009}td:hover{background:#ffffff1a}.cell-active{background:var(--accent-color)!important;color:#000;font-weight:700}.cell-source-1{background:var(--highlight-1)!important;color:#000}.cell-source-2{background:var(--highlight-2)!important;color:#000}.cell-source-3{background:var(--highlight-3)!important;color:#000}.cell-source-group{background:#4ade804d;border:2px solid var(--highlight-3)}.details-section{display:flex;flex-direction:column;gap:2rem}.latex-box{font-family:Times New Roman,serif;font-size:1.5rem;padding:1rem;text-align:center;background:#0003;border-radius:.5rem;margin-bottom:1rem}.latex-box.highlight{color:var(--accent-color)}.active-formula{background:#38bdf833;border-radius:8px;padding:8px 12px;color:var(--accent-color);font-weight:700;border:1px solid var(--accent-color);margin:4px 0;transition:all .2s}.matrix-tabs{display:flex;gap:.5rem}.matrix-tab-btn{background:#0003;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;transition:all .2s}.matrix-tab-btn:hover{background:#ffffff1a}.matrix-tab-btn.active{background:#38bdf833;color:var(--accent-color);border-color:var(--accent-color);font-weight:700}.result-highlight{display:inline-block;margin-top:1rem;color:var(--highlight-3);font-size:1.8rem;font-weight:800}.cell-source-overlap{box-shadow:inset 0 0 0 4px var(--highlight-3)}#recurrence-formula div{padding:8px;border-radius:8px;transition:all .2s}#recurrence-formula div:hover{background:#ffffff0d}#visual-demo-container{height:300px;width:100%;display:flex;justify-content:center;align-items:center}canvas{max-width:100%;max-height:100%}.lang-box{margin-top:1rem;line-height:1.6}.lang-box.en{color:var(--text-secondary);font-style:italic;border-top:1px solid rgba(255,255,255,.1);padding-top:1rem}@media (max-width: 1024px){body{padding:1rem}h1{font-size:1.8rem}.content-grid{grid-template-columns:1fr}.controls{flex-direction:column;gap:1.5rem;align-items:stretch}.control-group{justify-content:space-between}input[type=range]{width:60%}.card{padding:1.25rem}.latex-box{font-size:1.1rem}.result-highlight{font-size:1.4rem}#visual-demo-container{height:250px}}@media (max-width: 640px){#mode-selector{gap:.5rem}.mode-btn{padding:.5rem 1rem;font-size:.85rem}h2{font-size:1.1rem}th,td{padding:8px;font-size:.85rem;min-width:40px}.cell-label,.cell-corner{font-size:.5rem}}
