:root{--color-bg-primary:#fcfbf9;--color-bg-secondary:#fff;--color-bg-card:#ffffffb3;--color-bg-glass:#fff9;--color-bg-glass-hover:#fff;--color-border-default:#e7e5e4;--color-border-hover:#d6d3d1;--color-border-accent:#1c1917;--color-text-primary:#1c1917;--color-text-secondary:#78716c;--color-text-muted:#a8a29e;--color-accent-indigo:#4f46e5;--color-accent-indigo-light:#4f46e50d;--color-accent-teal:#0d9488;--color-accent-pink:#db2777;--color-accent-green:#16a34a;--color-accent-green-light:#16a34a0d;--color-accent-red:#dc2626;--color-accent-red-light:#dc26260d;--font-family-sans:"Inter", system-ui, -apple-system, sans-serif;--font-family-display:"Playfair Display", Georgia, Cambria, serif;--shadow-sm:0 1px 2px 0 #1c191705;--shadow-md:0 4px 12px -2px #1c191708, 0 2px 6px -1px #1c191705;--shadow-lg:0 12px 24px -4px #1c19170a, 0 4px 12px -2px #1c191708}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}body:before{content:"";z-index:-1;background-image:radial-gradient(circle at 30% 10%,#1c191703 0%,#0000 60%),radial-gradient(circle at 80% 80%,#1c191704 0%,#0000 50%);position:fixed;inset:0}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-display);color:var(--color-text-primary);letter-spacing:-.01em;font-weight:500}em,.font-serif-italic{font-family:var(--font-family-display);font-style:italic}a{color:inherit;text-decoration:none}.card{background:var(--color-bg-card);border:1px solid var(--color-border-default);box-shadow:var(--shadow-sm);border-radius:20px;transition:all .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);background:var(--color-bg-secondary)}.glass-card{background:var(--color-bg-glass);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border-default);box-shadow:var(--shadow-md);border-radius:20px;transition:all .25s cubic-bezier(.16,1,.3,1)}.glass-card:hover{border-color:var(--color-border-hover);background:var(--color-bg-glass-hover);box-shadow:var(--shadow-lg)}.btn-primary{background:var(--color-text-primary);color:var(--color-bg-secondary);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.6rem;font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary:hover{background:#2e2a28;transform:scale(1.02)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{background:var(--color-text-muted);opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text-primary);border:1px solid var(--color-border-default);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.6rem;font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-secondary:hover{border-color:var(--color-border-hover);background:#f5f5f4}.btn-secondary:active{transform:scale(.98)}.btn-ghost{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-ghost:hover{color:var(--color-text-primary);background:#f5f5f4}.input-field{border:1px solid var(--color-border-default);background:var(--color-bg-secondary);width:100%;color:var(--color-text-primary);box-shadow:var(--shadow-sm);border-radius:9999px;outline:none;padding:.75rem 1.25rem;font-family:inherit;font-size:.875rem;transition:all .2s cubic-bezier(.16,1,.3,1)}.input-field::placeholder{color:var(--color-text-muted)}.input-field:focus{border-color:var(--color-text-primary);box-shadow:0 0 0 2px #1c19170a}textarea.input-field{border-radius:16px}.tab-list{border:1px solid var(--color-border-default);background:#f5f5f4;border-radius:9999px;gap:.25rem;padding:.25rem;display:flex}.tab-trigger{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:.5rem 1.5rem;font-size:.875rem;font-weight:500;transition:all .2s cubic-bezier(.16,1,.3,1)}.tab-trigger:hover{color:var(--color-text-primary)}.tab-trigger[data-active=true]{background:var(--color-bg-secondary);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.4s ease-out fadeIn}.animate-slide-up{animation:.5s cubic-bezier(.16,1,.3,1) slideUp}.animate-slide-down{animation:.3s cubic-bezier(.16,1,.3,1) slideDown}.animate-scale-in{animation:.3s cubic-bezier(.16,1,.3,1) scaleIn}.loading-spinner{align-items:center;gap:.25rem;display:inline-flex}.loading-spinner .dot{background:var(--color-text-primary);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite bounce}.loading-spinner .dot:nth-child(2){animation-delay:.16s}.loading-spinner .dot:nth-child(3){animation-delay:.32s}@keyframes bounce{0%,80%,to{opacity:.3;transform:scale(0)}40%{opacity:.9;transform:scale(1)}}.flashcard-container{perspective:1200px}.flashcard-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.16,1,.3,1);position:relative}.flashcard-inner.flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{backface-visibility:hidden;border-radius:20px;justify-content:center;align-items:center;padding:2.5rem;display:flex;position:absolute;inset:0}.flashcard-back{transform:rotateY(180deg)}.mermaid-container{border:1px solid var(--color-border-default);background:#fbfbfa;border-radius:16px;position:relative;overflow:hidden}.mermaid-container svg{max-width:none!important}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#e7e5e4;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#d6d3d1}
