:root{--primary: #c1a87c;--primary-dark: #a68c5d;--secondary: #0f172a;--accent: #d4af37;--text-main: #f8fafc;--text-muted: #94a3b8;--glass: rgba(15, 23, 42, .95);--glass-border: rgba(255, 255, 255, .15);--shadow-premium: 0 30px 60px -15px rgba(0, 0, 0, .7);--font-main: "Outfit", sans-serif;--correct: #22c55e;--incorrect: #ef4444}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background:#0f172a;background-image:radial-gradient(at 0% 0%,rgba(30,41,59,.5) 0,transparent 50%),radial-gradient(at 50% 0%,rgba(193,168,124,.1) 0,transparent 50%);color:var(--text-main);min-height:100vh;line-height:1.6}.app-container{max-width:900px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:2.5rem}header{text-align:center}header h1{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.5rem;background:linear-gradient(135deg,#fff 0%,var(--primary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}header p{color:var(--text-muted);font-size:.95rem}header p span{color:var(--primary);font-weight:600;background:#c1a87c1a;padding:.1rem .4rem;border-radius:.3rem}.view-switcher-container{display:flex;justify-content:center}.view-switcher-pill{background:#ffffff08;padding:.4rem;border-radius:999px;display:flex;gap:.2rem;border:1px solid var(--glass-border)}.view-btn{background:transparent;border:none;color:var(--text-muted);padding:.5rem 1.25rem;border-radius:999px;cursor:pointer;font-family:inherit;font-weight:600;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:all .3s ease}.view-btn.active{background:var(--primary);color:var(--secondary);box-shadow:0 4px 12px #c1a87c33}.view-btn:not(.active):hover{background:#ffffff0d;color:var(--text-main)}.study-area{display:flex;flex-direction:column;gap:1.5rem}.progress-section{width:100%;max-width:650px;margin:0 auto}.progress-track{height:6px;background:#ffffff0d;border-radius:3px;margin-bottom:.75rem}.progress-fill{height:100%;background:linear-gradient(to right,var(--primary),var(--accent));border-radius:3px;transition:width .4s cubic-bezier(.175,.885,.32,1.275)}.progress-info{display:flex;justify-content:space-between;font-size:.85rem;font-weight:650;letter-spacing:.05em}.count-tag{color:var(--text-main)}.percent-tag{color:var(--primary)}.flashcard-wrapper{perspective:2000px;width:100%;max-width:650px;height:520px;margin:0 auto}.flashcard{width:100%;height:100%;position:relative;transition:transform .8s cubic-bezier(.34,1.56,.64,1);transform-style:preserve-3d;cursor:pointer}.flashcard.flipped{transform:rotateY(180deg)}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:2rem;padding:2.5rem;display:flex;flex-direction:column;background:var(--glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow-premium)}.card-front{justify-content:center;align-items:center;text-align:center}.card-back{transform:rotateY(180deg);text-align:left;overflow-y:auto;gap:1.5rem}.card-back::-webkit-scrollbar{width:8px}.card-back::-webkit-scrollbar-track{background:transparent}.card-back::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.card-back::-webkit-scrollbar-thumb:hover{background:var(--primary)}.card-back-header h3{font-size:1.75rem;color:var(--primary);border-bottom:2px solid var(--glass-border);padding-bottom:.75rem;margin-bottom:1rem;font-weight:700}.card-back-grid{display:flex;flex-direction:column;gap:1.5rem}.card-back-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.card-info-item.highlight{background:#c1a87c0d;padding:1.25rem;border-radius:1.25rem;border-left:4px solid var(--primary)}.card-label{font-weight:800;color:var(--accent);text-transform:uppercase;font-size:.75rem;letter-spacing:.1em;margin-bottom:.25rem;display:block}.card-value{font-size:1rem;color:var(--text-main)}.mastery-summary{display:flex;justify-content:center;gap:2rem;padding:.5rem 0}.mastery-chip{display:flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:999px;font-size:.9rem;font-weight:700}.action-controls{display:flex;flex-direction:column;align-items:center;gap:2rem;padding-bottom:2rem}.nav-group{display:flex;align-items:center;gap:2rem}.rating-group{display:flex;gap:1rem}.icon-btn{background:#ffffff08;border:1px solid var(--glass-border);color:var(--text-main);width:4rem;height:4rem;border-radius:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.rate-btn{background:#ffffff05;border:1px solid var(--glass-border);color:var(--text-muted);padding:.8rem 1.75rem;border-radius:1.25rem;display:flex;align-items:center;gap:.75rem;font-weight:700;cursor:pointer}.rate-btn.active.correct{background:var(--correct);color:#fff;border-color:var(--correct)}.rate-btn.active.incorrect{background:var(--incorrect);color:#fff;border-color:var(--incorrect)}.utility-group{display:flex;gap:1rem;margin-top:1rem}.util-btn{background:#ffffff08;border:1px solid var(--glass-border);color:var(--text-muted);padding:.6rem 1.25rem;border-radius:1rem;font-weight:700;font-size:.85rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.util-btn:hover{background:#ffffff14;color:var(--text-main);border-color:var(--primary);transform:translateY(-2px)}.util-btn:active{transform:translateY(0)}.util-btn.reset:hover{border-color:var(--incorrect);color:var(--incorrect)}.toast-container{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(100px);background:var(--primary);color:var(--secondary);padding:.75rem 1.5rem;border-radius:1rem;font-weight:800;font-size:.9rem;display:flex;align-items:center;gap:.5rem;box-shadow:0 10px 30px #00000080;z-index:1000;opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.toast-container.visible{transform:translate(-50%) translateY(0);opacity:1}.toast-container.reset{background:var(--incorrect);color:#fff}.grid-view{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.grid-item{background:#ffffff08;border:1px solid var(--glass-border);border-radius:1.5rem;padding:2rem;display:flex;flex-direction:column;gap:1rem}@media(max-width:650px){.card-back-row{grid-template-columns:1fr;gap:1.25rem}.flashcard-wrapper{height:580px}}
