@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap";:root{--primary:#0d9488;--primary-hover:#0f766e;--primary-light:#ccfbf1;--secondary:#2563eb;--secondary-hover:#1d4ed8;--secondary-light:#dbeafe;--accent:#06b6d4;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--bg-main:#f8fafc;--bg-card:#fff;--bg-nav:#fff;--border:#e2e8f0;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--radius-sm:.375rem;--radius-md:.75rem;--radius-lg:1.25rem;--radius-full:9999px;--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-body:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}body.dark{--bg-main:#0f172a;--bg-card:#1e293b;--bg-nav:#1e293b;--border:#334155;--text-primary:#f8fafc;--text-secondary:#cbd5e1;--text-muted:#64748b;--primary-light:#0d948833;--secondary-light:#2563eb33;--shadow-sm:0 1px 2px 0 #00000080;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0006}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .25s,border-color .25s}body{font-family:var(--font-body);background-color:var(--bg-main);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:600;line-height:1.25}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 1.5rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));display:grid}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}@media (width<=1024px){.grid-cols-4{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.grid-cols-3,.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-2{grid-template-columns:1fr}}@media (width<=480px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-main)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.nav-link{border-radius:var(--radius-md);color:var(--text-secondary);align-items:center;gap:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s;display:inline-flex}.nav-link:hover,.nav-link.active{color:var(--primary);background-color:var(--primary-light);text-decoration:none}.flashcard-perspective{perspective:1000px;width:100%;height:350px}.flashcard-inner{text-align:center;width:100%;height:100%;transform-style:preserve-3d;cursor:pointer;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.flashcard-inner.is-flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{backface-visibility:hidden;border-radius:var(--radius-lg);border:1px solid var(--border);width:100%;height:100%;box-shadow:var(--shadow-lg);flex-direction:column;justify-content:center;align-items:center;padding:2.5rem;display:flex;position:absolute}.flashcard-front{background-color:var(--bg-card);color:var(--text-primary)}.flashcard-back{background-color:var(--bg-card);color:var(--text-primary);text-align:left;justify-content:flex-start;align-items:flex-start;overflow-y:auto;transform:rotateY(180deg)}.progress-bar-fill{transition:width .4s ease-out}.option-btn{text-align:left;border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-card);width:100%;color:var(--text-primary);cursor:pointer;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-weight:500;transition:all .2s;display:flex}.option-btn:hover{background-color:var(--bg-main);border-color:var(--text-muted)}.option-btn.correct{color:#065f46;background-color:#d1fae5;border-color:#34d399}body.dark .option-btn.correct{color:#a7f3d0;background-color:#10b98133;border-color:#10b981}.option-btn.incorrect{color:#991b1b;background-color:#fee2e2;border-color:#f87171}body.dark .option-btn.incorrect{color:#fca5a5;background-color:#ef444433;border-color:#ef4444}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-weight:500;display:block}.form-input,.form-select,.form-textarea{border:1px solid var(--border);border-radius:var(--radius-md);background-color:var(--bg-card);width:100%;color:var(--text-primary);outline:none;padding:.75rem 1rem;transition:border-color .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover)}.btn-secondary{background-color:var(--secondary);color:#fff}.btn-secondary:hover{background-color:var(--secondary-hover)}.btn-outline{border-color:var(--border);color:var(--text-secondary);background-color:#0000}.btn-outline:hover{background-color:var(--bg-main);color:var(--text-primary);border-color:var(--text-muted)}.btn-text{color:var(--primary);background-color:#0000;padding:.5rem}.btn-text:hover{background-color:var(--primary-light);border-radius:var(--radius-sm)}.badge{border-radius:var(--radius-full);align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-primary{background-color:var(--primary-light);color:var(--primary-hover)}.badge-secondary{background-color:var(--secondary-light);color:var(--secondary-hover)}.badge-outline{border:1px solid var(--border);color:var(--text-secondary);background-color:#0000}.hero-glow{z-index:0;pointer-events:none;background:radial-gradient(circle,#0d948814 0%,#2563eb0d 50%,#0000 100%);width:80%;height:300px;position:absolute;top:-10%;left:50%;transform:translate(-50%)}
