:root{--primary: #007aff;--primary-hover: #0063cf;--bg-dark: #030305;--bg-card: rgba(255, 255, 255, .02);--text-main: #f5f5f7;--text-muted: #a1a1a6;--accent: #007aff;--danger: #ff3b30;--glass-border: rgba(255, 255, 255, .08);--nav-active: var(--primary);--transition-speed: .4s;--input-bg: rgba(255, 255, 255, .03);--input-text: #ffffff;--font-heading: "Outfit", sans-serif}[data-theme=light]{--bg-dark: #fbfbfd;--bg-card: rgba(0, 0, 0, .02);--text-main: #1d1d1f;--text-muted: #86868b;--glass-border: rgba(0, 0, 0, .08);--primary: #007aff;--input-bg: rgba(0, 0, 0, .03);--input-text: #1d1d1f}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,sans-serif;background-color:var(--bg-dark);color:var(--text-main);min-height:100vh;-webkit-font-smoothing:antialiased;transition:background var(--transition-speed) ease,color var(--transition-speed) ease;overflow-x:hidden}.ambient-glow{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:-1;background:radial-gradient(circle at 0% 0%,rgba(0,122,255,.08) 0%,transparent 40%),radial-gradient(circle at 100% 100%,rgba(0,122,255,.05) 0%,transparent 40%),radial-gradient(circle at 50% 50%,#000,#030305)}[data-theme=light] .ambient-glow{background:radial-gradient(circle at 0% 0%,rgba(0,122,255,.05) 0%,transparent 40%),radial-gradient(circle at 100% 100%,#fff,#fbfbfd)}[data-theme=light] body{background-color:var(--bg-dark)}#root{width:100%}.app-logo{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;border-radius:14px;box-shadow:0 8px 20px #0006}[data-theme=light] .app-logo{background:#000}[data-theme=light] .app-logo svg rect{fill:#000}[data-theme=light] .app-logo svg path{stroke:#fff}.container{max-width:1000px;margin:0 auto;padding:2rem}.glass-card{background:var(--bg-card);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid var(--glass-border);border-radius:24px;padding:1.5rem;box-shadow:0 8px 32px #0000004d;transition:all .4s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;cursor:pointer}.glass-card:hover{transform:translateY(-5px);border-color:var(--accent);background:#ffffff0a;box-shadow:0 12px 40px #00000080}.glass-card:hover:before{left:100%}[data-theme=light] .glass-card:hover{box-shadow:0 20px 40px #6366f126}.glass-card:active{transform:translateY(-4px) scale(.98)}h1{font-family:var(--font-heading);font-size:2.5rem;font-weight:800;color:#fff;letter-spacing:-.02em;margin-bottom:1rem}[data-theme=light] h1{color:#1d1d1f}h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.btn{padding:.75rem 1.5rem;border-radius:8px;border:none;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 14px 0 var(--accent-glow)}.btn-primary:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #007aff4d}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--glass-border)}.btn-ghost:hover{background:#ffffff0d;color:var(--text-main)}.input-group{margin-bottom:1.5rem}.input-label{display:block;margin-bottom:.5rem;color:var(--text-muted);font-size:.875rem}input,textarea,select{width:100%;padding:.875rem;background:var(--input-bg);border:1px solid var(--glass-border);border-radius:12px;color:var(--input-text);font-size:1rem;transition:all .2s ease;box-shadow:inset 0 2px 4px #0000000d}input::placeholder,textarea::placeholder{color:var(--text-muted);opacity:.6}input:focus,textarea:focus{outline:none;border-color:var(--primary);background:var(--bg-card);box-shadow:0 0 0 4px #6366f126}nav{display:flex;gap:2rem;margin-bottom:3rem;border-bottom:1px solid var(--glass-border);padding-bottom:1rem}nav button{background:none;border:none;color:var(--text-muted);font-size:1rem;font-weight:600;cursor:pointer;position:relative;padding:.5rem 0}nav button.active{color:var(--primary)}nav button.active:after{content:"";position:absolute;bottom:-1rem;left:0;right:0;height:2px;background:var(--primary)}.flashcard{perspective:2000px;width:100%;max-width:650px;height:420px;margin:2rem auto;cursor:pointer;position:relative;--rx: 0deg;--ry: 0deg;--mx: 50%;--my: 50%}.flashcard-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .8s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry))}.flashcard.flipped .flashcard-inner{transform:rotateX(var(--rx)) rotateY(calc(180deg + var(--ry)))}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:24px;padding:2.5rem;background:var(--bg-card);border:1px solid var(--glass-border);box-shadow:0 20px 50px #0000004d;overflow:hidden}.flashcard-front:after,.flashcard-back:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.08) 0%,transparent 60%);pointer-events:none;z-index:10}.flashcard-back{transform:rotateY(180deg);text-align:left;align-items:flex-start;overflow-y:auto}.flashcard:active .flashcard-inner{transform:scale(.96) rotateX(var(--rx)) rotateY(var(--ry))}.flashcard.flipped:active .flashcard-inner{transform:scale(.96) rotateX(var(--rx)) rotateY(calc(180deg + var(--ry)))}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.glass-card h3{color:var(--text-main);font-size:1.25rem}.glass-card p{color:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .6s cubic-bezier(.23,1,.32,1) forwards}.strength-meter{display:inline-flex;gap:2px;transition:transform .3s ease}.glass-card:hover .strength-meter{transform:scale(1.15) translate(5px)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{padding:1.5rem;text-align:center}.stat-value{font-size:2rem;font-weight:800;color:var(--primary);margin-bottom:.5rem}.stat-label{color:var(--text-muted);font-size:.875rem}.chart-section{margin-top:2rem}.bar-chart-container{display:flex;align-items:flex-end;gap:.5rem;height:200px;padding-bottom:1.5rem;border-bottom:1px solid var(--glass-border);margin-bottom:2rem}.bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.bar{width:100%;background:linear-gradient(to top,var(--primary),#c084fc);border-radius:6px 6px 0 0;transition:height .6s cubic-bezier(.23,1,.32,1);min-height:4px;position:relative}.bar:hover{filter:brightness(1.2)}.bar:after{content:attr(data-value);position:absolute;top:-20px;left:50%;transform:translate(-50%);font-size:.75rem;color:var(--text-muted)}.bar-label{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.legend{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-muted)}.curve-chart-svg{width:100%;height:250px;overflow:visible;filter:drop-shadow(0 0 8px rgba(99,102,241,.2))}.chart-axis{stroke:var(--glass-border);stroke-width:1}.chart-grid{stroke:var(--glass-border);stroke-width:.5;stroke-dasharray:4 4;opacity:.5}.chart-curve{fill:none;stroke:var(--primary);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px rgba(99,102,241,.4));transition:all .3s ease}.chart-area{fill:url(#chart-gradient);opacity:.4;transition:all .3s ease}.chart-point{fill:var(--primary);stroke:#fff;stroke-width:2;transition:all .3s ease;cursor:crosshair}.chart-point:hover{r:6;filter:brightness(1.2)}.chart-label-x{font-size:10px;fill:var(--text-muted);text-anchor:middle}.chart-label-y{font-size:10px;fill:var(--text-muted);text-anchor:end}
