:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:#e8e8ff;background-color:#1a1a2e;--gradient-blue-teal: linear-gradient(135deg, #0984e3, #38b2ac);--gradient-darker-blue: linear-gradient(135deg, #0a417a, #1e4976);--gradient-blue-green: linear-gradient(135deg, #0984e3, #34c0a2);--gradient-teal-green: linear-gradient(135deg, #0d9488, #2dd4bf);--gradient-green-blue: linear-gradient(135deg, #00b894, #0984e3);--gradient-dark-blue: linear-gradient(135deg, #1e3a8a, #164e63);--gradient-blue-dark: linear-gradient(180deg, #1e3a8a, #1e272e);--vscode-bg: #1a1a2e;--vscode-editor-bg: #16213e;--vscode-foreground: #e8e8ff;--vscode-string: #ff9d7a;--vscode-keyword: #7e9eff;--vscode-function: #ffca80;--vscode-variable: #a9e4ff;--vscode-number: #c2e59c;--vscode-comment: #7be495;--vscode-class: #65edda;--vscode-bracket: #ffffff80;--vscode-border: #363852;--vscode-titlebar: #0f3460;--vscode-activitybar: #16213e;--vscode-sidebar: #0f3460;--vscode-panel: #1a1a2e;--vscode-statusbar: #0284c7;--vscode-button-bg: #0984e3;--vscode-button-hover: #0ea5e9;--vscode-dropdown-bg: #1a1a2e;--vscode-selected-bg: #073b63;--gradient-primary: linear-gradient(135deg, #2c3e50, #4a5568);--gradient-secondary: linear-gradient(135deg, #2d3748, #1a202c);--shadow-md: 0 4px 6px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .6);--border-radius-md: 8px;--border-radius-lg: 12px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#4ec9b0;text-decoration:inherit}a:hover{color:#569cd6}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--vscode-bg);color:var(--vscode-foreground);overflow-x:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--vscode-editor-bg)}::-webkit-scrollbar-thumb{background:#555;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#666}.vscode-panel{background-color:var(--vscode-editor-bg);border:1px solid var(--vscode-border);border-radius:var(--border-radius-md);margin-bottom:1rem;padding:1rem}.vscode-button{background-color:var(--vscode-button-bg);color:#fff;border:none;padding:.5rem 1rem;border-radius:2px;cursor:pointer;font-size:.9rem;transition:all .2s ease}.vscode-button:hover{background-color:var(--vscode-button-hover)}code{font-family:Consolas,Monaco,Courier New,monospace;background-color:#0003;padding:.2em .4em;border-radius:3px}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.flashcard{width:150%;height:600px;perspective:1000px;cursor:pointer;margin:2rem auto 3.5rem;display:flex;justify-content:center}.flashcard-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .8s cubic-bezier(.4,0,.2,1),box-shadow .4s ease;transform-style:preserve-3d;box-shadow:0 20px 45px #000c,0 5px 15px #0009;border-radius:16px;background:#000;border:1px solid rgba(255,255,255,.05);display:flex;justify-content:center;align-items:center}.flashcard.flipped .flashcard-inner{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;flex-direction:column;justify-content:flex-start;padding:4.5rem 3.5rem 3.5rem;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);overflow:auto}.flashcard-front{background:#000;color:#fff;border:none;border-radius:16px;padding:3.5rem;box-shadow:inset 0 1px 1px #ffffff0d,0 0 30px #000000e6}.flashcard-back{background:#0a0a0a;color:var(--vscode-foreground);transform:rotateY(180deg);border:none;border-radius:16px;text-align:left;padding:3.5rem;overflow-y:auto;box-shadow:inset 0 1px 1px #ffffff0d,0 0 30px #000000e6}.answer-content{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:1.3rem;line-height:1.8;letter-spacing:.3px;margin-top:2rem}.answer-content p{margin-bottom:1.5rem;color:#eaf0fb;text-shadow:0 1px 2px rgba(0,0,0,.2)}.answer-content .list-item{margin-left:2rem;margin-bottom:.9rem;position:relative;padding-left:.5rem;line-height:1.6}.answer-content .list-item:before{content:"•";position:absolute;left:-1.3rem;color:#a9e4ff;font-size:1.5rem;line-height:1;text-shadow:0 0 8px rgba(169,228,255,.5)}.flashcard h2{margin-top:2rem;font-weight:700;margin-bottom:2.2rem;font-size:2.2rem;text-shadow:0 2px 6px rgba(0,0,0,.8);letter-spacing:.6px;color:#fff}.flashcard p{font-size:1.5rem;line-height:1.7;letter-spacing:.3px}.flip-instruction{position:absolute;bottom:1.5rem;width:100%;text-align:center;font-size:1.1rem;left:0;background-color:#000000e6;padding:.85rem;color:#a9e4ff;box-shadow:0 -2px 10px #000c;animation:pulse 2s infinite;letter-spacing:.5px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-top:1px solid rgba(255,255,255,.1);text-shadow:0 1px 3px rgba(0,0,0,.9)}@keyframes pulse{0%{opacity:.75;color:#a9e4ff}50%{opacity:1;color:#c2f0ff;text-shadow:0 0 10px rgba(169,228,255,.7)}to{opacity:.75;color:#a9e4ff}}.flashcard:hover .flashcard-inner{box-shadow:var(--shadow-lg)}@media (max-width: 768px){.flashcard{height:350px;margin:1rem auto}.flashcard h2{font-size:1.25rem;margin-bottom:1rem}.flashcard p{font-size:1rem}}@media (max-width: 480px){.flashcard{height:320px;margin:.5rem auto}.flashcard-front,.flashcard-back{padding:3.5rem 2.5rem 2.5rem}}.code-container{background-color:#0e142ce6;border-radius:12px;padding:1.5rem;overflow-x:auto;font-family:Fira Code,Consolas,Monaco,Courier New,monospace;font-size:1.2rem;line-height:1.7;margin:1.8rem 0;border:1px solid #364176;box-shadow:0 8px 20px #0000004d,inset 0 1px #ffffff1a;position:relative;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.code-line{display:block;white-space:pre-wrap}.keyword{color:#c792ea;font-weight:700;text-shadow:0 0 8px rgba(199,146,234,.4)}.string{color:#ff9d7a;text-shadow:0 0 8px rgba(255,157,122,.4)}.function{color:#ffcb6b;font-weight:500;text-shadow:0 0 8px rgba(255,203,107,.4)}.variable{color:#82aaff;text-shadow:0 0 8px rgba(130,170,255,.4)}.number{color:#c3e88d;text-shadow:0 0 8px rgba(195,232,141,.4)}.comment{color:#7be495;font-style:italic;opacity:.9;text-shadow:0 0 8px rgba(123,228,149,.3)}.class{color:#89ddff;font-weight:500}.builtin{color:#82b1ff}.bracket{color:var(--vscode-bracket)}.variable{color:#9cdcfe;text-shadow:0 0 8px rgba(156,220,254,.4)}.tag{color:#ff6b6b;font-weight:700;text-shadow:0 0 8px rgba(255,107,107,.4)}.decorator{color:#f39c12;font-weight:500;text-shadow:0 0 8px rgba(243,156,18,.4)}.attribute{color:#9cdcfe;font-style:italic}.property{color:#9cdcfe;font-weight:500}.value{color:#ce9178}.code-line{counter-increment:line;position:relative;padding-left:1.5em}.code-line:before{content:counter(line);position:absolute;left:0;color:#858585;font-size:.8em;width:1em;text-align:right}.code-container{counter-reset:line;position:relative}table{border-collapse:separate;border-spacing:0;width:100%;margin:1.5rem 0;background-color:var(--vscode-editor-bg);border-radius:12px;overflow:hidden;box-shadow:0 5px 15px #00000040;border:1px solid var(--vscode-border)}th,td{padding:1rem;text-align:left;border-bottom:1px solid var(--vscode-border)}th{background-image:var(--gradient-blue-dark);color:var(--vscode-foreground);font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.3);letter-spacing:.5px}tr:last-child td{border-bottom:none}tr:hover{background-color:#53348326;transition:background-color .2s ease}ul,ol{margin-left:1.5rem;padding-left:.5rem}li{margin-bottom:.5rem}.flashcard-list-container{display:flex;flex-direction:column;align-items:center;max-width:1200px;width:100%;margin:0 auto;padding:0}.progress-bar{width:100%;max-width:1200px;height:12px;background-color:#14143299;border-radius:8px;margin-bottom:2rem;overflow:hidden;box-shadow:inset 0 2px 5px #0000004d,0 1px 1px #ffffff0d;border:1px solid rgba(0,0,0,.2)}.progress{height:100%;background-image:linear-gradient(90deg,#0984e3,#38b2ac,#2dd4bf);background-size:200% auto;animation:gradientShift 3s ease infinite;transition:width .5s ease;box-shadow:0 0 15px #0984e399}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.counter{text-align:right;width:100%;max-width:1200px;margin-bottom:1rem;font-size:1rem;color:var(--vscode-foreground)}.flashcard-container{position:relative;width:100%;display:flex;align-items:center;justify-content:center;margin-top:2rem}.button-group{display:flex;justify-content:center;width:100%;margin-top:2rem;max-width:1200px}.nav-button,.random-button{padding:1rem 2rem;border:none;border-radius:8px;font-weight:600;font-size:1.1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 10px #0000004d;letter-spacing:.5px}.nav-button-prev,.nav-button-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:70px;height:70px;border-radius:50%;display:flex;align-items:center;justify-content:center;background-color:#0984e34d;color:#fff;font-size:2.2rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 10px #0003;border:1px solid rgba(255,255,255,.2);padding:0;opacity:0;pointer-events:none}.nav-button-prev{left:-100px}.nav-button-next{right:-100px}.flashcard-container:hover .nav-button-prev,.flashcard-container:hover .nav-button-next{opacity:1;pointer-events:all}.nav-button-prev:hover,.nav-button-next:hover{transform:translateY(-50%) scale(1.1);background-color:#0984e380;box-shadow:0 8px 15px #0006}.nav-button-prev:active,.nav-button-next:active{transform:translateY(-50%) scale(.95)}.nav-button-prev:disabled,.nav-button-next:disabled{opacity:0;cursor:default;pointer-events:none}.nav-button{background-image:var(--gradient-blue-green);color:#fff;min-width:150px;border:none;position:relative;overflow:hidden;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 6px 12px #3554e866,inset 0 1px #fff3}.random-button{background:#5422ab!important;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 6px 12px #5422ab66,inset 0 1px #fff3;padding:1.2rem 2.5rem;font-size:1.2rem;min-width:200px}.nav-button:hover,.random-button:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0006,inset 0 1px #ffffff4d;filter:brightness(1.1)}.nav-button:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.nav-button:hover:after{left:100%}.nav-button:disabled{background:#1e1e1e;border-color:#333;color:#666;cursor:not-allowed;transform:none;box-shadow:none}.flashcard-loading{display:flex;align-items:center;justify-content:center;height:400px;width:100%;font-size:1.25rem;color:#569cd6;background:var(--vscode-editor-bg);border-radius:var(--border-radius-md);border:1px solid var(--vscode-border)}.card-and-counter-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;max-width:1200px}.memory-counter-container{width:100%;margin-top:2rem;padding:1.5rem;background-color:var(--vscode-editor-bg);border-radius:12px;box-shadow:0 5px 15px #0003;border:1px solid var(--vscode-border);position:relative;z-index:5;display:flex;justify-content:center;align-items:center}@media (max-width: 1200px){.flashcard{width:120%}}@media (max-width: 992px){.flashcard{width:100%}}@media (max-width: 768px){.flashcard-list-container{padding:0 10px}.button-group{flex-wrap:wrap;gap:10px}.random-button{padding:.8rem 1.5rem;font-size:1rem;width:100%;max-width:250px}.nav-button-prev{left:-60px;width:60px;height:60px}.nav-button-next{right:-60px;width:60px;height:60px}}@media (max-width: 480px){.flashcard-list-container{padding:0 5px}.card-and-counter-wrapper{width:100%}.flashcard-container{margin:0}.nav-button-prev,.nav-button-next{width:40px;height:40px;font-size:1.2rem}.nav-button-prev{left:-45px}.nav-button-next{right:-45px}.random-button{padding:1rem 1.5rem;font-size:1rem;min-width:180px}}.memory-counter{margin:0 auto;padding-top:1rem;display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:1000px}.memory-stats{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:2rem;margin:0 auto;width:100%;max-width:900px}.memory-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;background:#000;border:1px solid rgba(255,255,255,.1);flex:1;min-width:100px}.memory-total{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.5rem 1rem;border-radius:8px;background:#000;border:1px solid rgba(255,255,255,.1);flex:1;min-width:120px;box-shadow:0 3px 6px #0003}.memory-label{font-size:1rem;font-weight:500;margin-bottom:.25rem;opacity:.85}.memory-value{font-size:1.75rem;font-weight:700}.memory-buttons{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;align-items:center;margin:.5rem auto 0;width:100%;max-width:900px}.memory-button{padding:.85rem 1.5rem;border-radius:8px;border:none;font-weight:600;font-size:1rem;cursor:pointer;flex:1;min-width:160px;box-shadow:0 4px 8px #00000040;text-align:center;display:flex;align-items:center;justify-content:center;letter-spacing:.5px}.memory-yes{background:#059669;color:#fff;transition:all .3s ease;opacity:.9}.memory-yes:hover{background:#047857;transform:translateY(-2px);box-shadow:0 6px 12px #05966933;opacity:1}.memory-no{background:#dc2626;color:#fff;transition:all .3s ease;opacity:.9}.memory-no:hover{background:#b91c1c;transform:translateY(-2px);box-shadow:0 6px 12px #dc262633;opacity:1}.memory-button.memory-reset{background:#5422ab!important;color:#e8e8ff!important;transition:all .3s ease;opacity:.9}.memory-button.memory-reset:hover{background:#6d28d9!important;transform:translateY(-2px);box-shadow:0 6px 12px #7c3aed33;opacity:1}.memory-delete{background-image:linear-gradient(to right,#a1260d,#cc3a3a);color:#fff;transition:all .3s ease}.memory-delete:hover{background-image:linear-gradient(to right,#b32e11,#dd4747);transform:translateY(-3px);box-shadow:0 6px 12px #00000059}@media (max-width: 768px){.memory-stats{flex-direction:row;justify-content:center;gap:1rem;flex-wrap:wrap}.memory-stat,.memory-total{min-width:110px;flex:0 1 auto}.memory-buttons{flex-direction:row;justify-content:center;gap:1rem;flex-wrap:wrap}.memory-button{flex:0 1 auto;min-width:140px}}@media (max-width: 480px){.memory-stats{flex-direction:column;align-items:center;gap:.75rem}.memory-stat,.memory-total{width:100%;max-width:250px}.memory-buttons{flex-direction:column;gap:.75rem;align-items:center}.memory-button{width:100%;max-width:250px}}.flashcard-form-container{width:100%;max-width:1400px;margin:0 auto;background-color:#1a1c24;border-radius:12px;padding:1.5rem;box-shadow:0 10px 20px #0006;box-sizing:border-box}.flashcard-form-container h2{margin-top:0;margin-bottom:1.5rem;color:#7eb6ff;text-align:center;font-size:1.8rem;text-shadow:0px 1px 2px rgba(0,0,0,.5)}.flashcard-form{display:flex;flex-direction:column}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#a5c2e7;font-size:1.1rem;letter-spacing:.02em}.form-group textarea{width:100%;padding:1.2rem;background-color:#222530;color:#f0f3f8;border:1px solid #2e3342;border-radius:8px;font-size:1.05rem;transition:all .3s ease;resize:vertical;font-family:Consolas,Monaco,Courier New,monospace;line-height:1.4;white-space:pre-wrap;word-wrap:break-word}.form-group textarea.error{border-color:#f14c4c}.form-group textarea:focus{border-color:#7eb6ff;outline:none;box-shadow:0 0 0 3px #7eb6ff40;background-color:#2d3242}.form-control{width:100%;padding:.75rem;background-color:#222530;color:#e0e4f0;border:1px solid #2e3342;border-radius:8px;font-size:1rem;cursor:pointer;margin-bottom:.5rem}.form-control::-webkit-file-upload-button{background-color:#3d4b61;color:#e0e4f0;padding:.6rem 1.2rem;border:none;border-radius:6px;margin-right:10px;cursor:pointer;transition:all .2s ease}.form-control::-webkit-file-upload-button:hover{background-color:#4d5b71}.image-preview-container{margin-top:1rem;display:flex;flex-direction:column;align-items:center;background-color:#2a2f3d;padding:1.2rem;border-radius:8px;border:1px solid #3a3f4d;box-shadow:0 3px 8px #00000026;width:100%;box-sizing:border-box;overflow:hidden}.image-preview{max-width:100%;max-height:200px;object-fit:contain;border-radius:4px;margin-bottom:.5rem}.remove-image-btn{background-color:#9c4456;color:#fff;border:none;border-radius:6px;padding:.5rem 1.2rem;cursor:pointer;font-weight:500;transition:all .2s ease;margin-top:.5rem}.remove-image-btn:hover{background-color:#b44e61}.error-message{color:#f14c4c;font-size:.85rem;margin-top:.25rem}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.submit-button,.cancel-button{padding:.75rem 1.5rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-left:.5rem}.submit-button{background-color:#4d7ead;color:#fff}.cancel-button{background-color:#3a3f4d;color:#e0e0e0;border:1px solid #4a4f5d}.submit-button:hover{background-color:#5d8ebd;transform:translateY(-2px);box-shadow:0 4px 12px #4d7ead4d}.cancel-button:hover{background-color:#4a4f5d}@media (max-width: 768px){.flashcard-form-container{width:95%;padding:1.5rem}.form-actions{flex-direction:column-reverse}.submit-button,.cancel-button{width:100%;padding:.6rem 1rem}}.flashcard-form{max-width:100%;overflow-x:hidden}.flashcard-manager{max-width:1200px;margin:0 auto;padding:1rem}.flashcard-manager h2{margin-top:0;margin-bottom:1.5rem;color:var(--color-primary);text-align:center}.search-container{margin-bottom:0;flex-grow:1}.search-input{width:100%;padding:.9rem 1.2rem;border:1px solid var(--vscode-border);border-radius:12px;font-size:1.1rem;transition:all .3s ease;background-color:var(--vscode-editor-bg);color:var(--vscode-foreground);box-shadow:inset 0 1px 3px #0003;letter-spacing:.3px}.search-input:focus{border-color:#7e54ce;outline:none;box-shadow:0 0 0 3px #7e54ce40,inset 0 1px 3px #0000001a;background-color:#16213ee6}.flashcards-table-container{overflow-x:auto;border-radius:var(--border-radius-md);border:1px solid var(--vscode-border)}.flashcards-table{width:100%;border-collapse:collapse;border:none;background:var(--vscode-editor-bg)}.flashcards-table th,.flashcards-table td{padding:1rem;text-align:left;border-bottom:1px solid var(--vscode-border)}.flashcards-table th{background:#333;color:var(--vscode-foreground);font-weight:600}.flashcards-table th:first-child{border-top-left-radius:var(--border-radius-md)}.flashcards-table th:last-child{border-top-right-radius:var(--border-radius-md)}.flashcards-table tr:last-child td{border-bottom:none}.flashcards-table tbody tr:hover{background-color:#2d2d2d}.actions{display:flex;gap:.5rem}.edit-button,.delete-button{padding:.5rem .75rem;border:none;border-radius:var(--border-radius-md);font-weight:500;cursor:pointer;font-size:.85rem;transition:all .2s ease}.edit-button{background-color:#0e639c;color:#fff}.delete-button{background-color:#a1260d;color:#fff}.edit-button:hover,.delete-button:hover{transform:translateY(-2px);opacity:.9}.manager-actions{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.new-card-button{padding:.9rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:12px;background-image:var(--gradient-blue-green);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0003;min-width:120px;text-align:center}.new-card-button:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.new-card-button:active{transform:translateY(0)}.new-card-form-container{background-color:var(--vscode-editor-bg);border-radius:12px;border:1px solid var(--vscode-border);padding:1.5rem;margin-bottom:2rem;box-shadow:0 6px 15px #0003}.new-card-form-container h3{margin-top:0;margin-bottom:1.5rem;color:var(--vscode-foreground);font-size:1.3rem}.flashcard-tabs{display:flex;margin-bottom:1.5rem;border-bottom:1px solid var(--vscode-border)}.tab-button{padding:.8rem 1.5rem;background-color:transparent;border:none;border-bottom:3px solid transparent;color:var(--vscode-foreground);font-weight:500;cursor:pointer;transition:all .3s ease;font-size:1rem;position:relative}.tab-button.active{color:#7e54ce;border-bottom:3px solid #7e54ce}.tab-button:hover{background-color:#7e54ce1a}.badge{display:inline-flex;align-items:center;justify-content:center;background-color:#7e54ce;color:#fff;font-size:.8rem;border-radius:50%;width:20px;height:20px;margin-left:8px}.no-cards-message{padding:2rem;text-align:center;color:var(--vscode-foreground);font-style:italic;background-color:#0003;border-radius:8px;margin:1rem 0}.reset-stats-button{padding:.9rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:12px;background-color:#9c4456;color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 8px #0003;min-width:120px;text-align:center}.reset-stats-button:hover{background-color:#b44e61;transform:translateY(-2px);box-shadow:0 6px 12px #0000004d}.reset-stats-button:active{transform:translateY(0)}@media (max-width: 768px){.flashcard-tabs{flex-direction:row;overflow-x:auto}.tab-button{padding:.6rem 1rem;font-size:.9rem;white-space:nowrap}}@media (max-width: 768px){.flashcards-table th,.flashcards-table td{padding:.75rem;font-size:.9rem}.actions{flex-direction:column;gap:.25rem}.edit-button,.delete-button{padding:.4rem .6rem;font-size:.8rem}.manager-actions{flex-direction:column;align-items:stretch}.new-card-button{margin-bottom:1rem}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:var(--vscode-bg);border-radius:var(--border-radius-md);padding:2rem;width:90%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 5px 15px #00000080;border:1px solid var(--vscode-border)}.modal-content::-webkit-scrollbar{width:10px}.modal-content::-webkit-scrollbar-track{background:#252526}.modal-content::-webkit-scrollbar-thumb{background:#555;border-radius:5px}.modal-content::-webkit-scrollbar-thumb:hover{background:#666}.subject-selector{background:linear-gradient(135deg,#1a202c,#2d3748);padding:1.5rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 8px 16px #0003;border:1px solid rgba(255,255,255,.1)}.subject-selector h3{color:#fff;margin:0 0 1rem;font-size:1.2rem;text-align:center}.subject-buttons{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center}.subject-button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.875rem 1.5rem;border:3px solid var(--subject-color);border-radius:12px;background-color:#ffffff08;color:#ffffffe6;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:160px;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:.025em;position:relative;overflow:hidden}.subject-button:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--subject-color);opacity:0;transition:opacity .3s ease;z-index:-1}.subject-button:hover:before{opacity:.1}.subject-button:hover{transform:translateY(-3px);box-shadow:0 8px 16px #0006;border-width:3px}.subject-button.active{background:#1e40af;border:4px solid #1e40af;color:#fff;font-weight:600;box-shadow:0 8px 16px #0000004d;position:relative}@keyframes backgroundFlow{0%{background-position:0% 50%}25%{background-position:50% 100%}50%{background-position:100% 50%}75%{background-position:50% 0%}to{background-position:0% 50%}}@keyframes holographicFlow{0%{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:scale(1.05)}25%{background:linear-gradient(135deg,#10b981,#06b6d4);transform:scale(1.06)}50%{background:linear-gradient(135deg,#3b82f6,#8b5cf6);transform:scale(1.07)}75%{background:linear-gradient(135deg,#ec4899,#ef4444);transform:scale(1.06)}to{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:scale(1.05)}}@keyframes rotateStars{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@keyframes floatStars{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-10px) translate(5px)}50%{transform:translateY(0) translate(-5px)}75%{transform:translateY(10px) translate(5px)}}@keyframes changeStarColor{0%{color:#fbbf24;filter:drop-shadow(0 0 8px #fbbf24)}33%{color:#10b981;filter:drop-shadow(0 0 8px #10b981)}66%{color:#3b82f6;filter:drop-shadow(0 0 8px #3b82f6)}to{color:#ef4444;filter:drop-shadow(0 0 8px #ef4444)}}@keyframes changeStarColor2{0%{color:#3b82f6;filter:drop-shadow(0 0 8px #3b82f6)}33%{color:#ef4444;filter:drop-shadow(0 0 8px #ef4444)}66%{color:#fbbf24;filter:drop-shadow(0 0 8px #fbbf24)}to{color:#10b981;filter:drop-shadow(0 0 8px #10b981)}}@keyframes rotateBorder{0%{--angle: 0deg;transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.02)}to{--angle: 360deg;transform:rotate(360deg) scale(1)}}@property --angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}.subject-button:disabled{opacity:.6;cursor:not-allowed}.subject-name{font-size:.9rem;text-align:center;line-height:1.3}.subject-code{font-size:.75rem;font-weight:700;opacity:.7;letter-spacing:.05em}.subject-button.active .subject-code{opacity:1;color:#fffffff2}.loading{text-align:center;color:#fff;margin-top:1rem;font-style:italic;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.subject-buttons{flex-direction:column}.subject-button{width:100%}}.subject-progress{background:linear-gradient(135deg,#1e2a3a,#2c3e50);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 4px 20px #0000004d;border:1px solid rgba(255,255,255,.1)}.subject-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.subject-progress-header h3{margin:0;font-size:1.2rem;color:#ecf0f1;text-shadow:0 2px 4px rgba(0,0,0,.3)}.subject-hours{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.9rem;font-weight:600;box-shadow:0 2px 8px #667eea4d}.progress-bar-container{width:100%;height:30px;background:#ffffff0d;border-radius:15px;overflow:hidden;margin-bottom:1rem;position:relative;border:1px solid rgba(255,255,255,.1)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:15px;transition:width .3s ease;display:flex;align-items:center;justify-content:center;min-width:30px}.progress-percentage{color:#fff;font-weight:700;font-size:.85rem}.progress-visualization{display:flex;gap:2rem;align-items:center;margin-top:1.5rem}.progress-chart-container{flex-shrink:0;width:200px;height:200px}.progress-chart{width:100%;height:100%;filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.progress-chart circle{transition:stroke-dasharray .5s ease,stroke-dashoffset .5s ease}.progress-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;flex:1}.progress-stat{background:#ffffff0d;padding:.75rem;border-radius:8px;text-align:center;border-left:4px solid #95a5a6;border:1px solid rgba(255,255,255,.1)}.progress-stat.remembered{border-left:4px solid #10b981;background:#10b9811a}.progress-stat.learning{border-left:4px solid #ef4444;background:#ef44441a}.progress-stat.not-started{border-left:4px solid #64748b;background:#64748b1a}.progress-stat .stat-label{display:block;font-size:.85rem;color:#bdc3c7;margin-bottom:.25rem}.progress-stat .stat-value{display:block;font-size:1.5rem;font-weight:700;color:#ecf0f1}.progress-summary{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#bdc3c7}.progress-summary strong{color:#ecf0f1}.progress-bar-chart{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1)}.bar-chart-title{color:#ecf0f1;font-size:1.1rem;margin:0 0 1.5rem;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3)}.bar-chart-container{display:flex;flex-direction:column;gap:1.25rem}.bar-item{display:flex;align-items:center;gap:1rem}.bar-label{min-width:140px;display:flex;align-items:center;gap:.5rem;color:#ecf0f1;font-size:.95rem;font-weight:500}.bar-icon{font-size:1.2rem}.bar-background{flex:1;height:40px;background:#ffffff0d;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1);position:relative}.bar-fill{height:100%;display:flex;align-items:center;justify-content:center;transition:width .6s cubic-bezier(.4,0,.2,1);border-radius:8px;min-width:50px}.bar-value{color:#fff;font-weight:700;font-size:.95rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.remembered-bar{background:linear-gradient(90deg,#059669,#10b981);box-shadow:0 2px 8px #10b98166}.learning-bar{background:linear-gradient(90deg,#dc2626,#ef4444);box-shadow:0 2px 8px #ef444466}.not-started-bar{background:linear-gradient(90deg,#475569,#64748b);box-shadow:0 2px 8px #64748b66}@media (max-width: 768px){.progress-visualization{flex-direction:column;gap:1.5rem}.progress-chart-container{width:180px;height:180px}.progress-stats-grid{width:100%;grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.progress-stats-grid{grid-template-columns:repeat(2,1fr)}.subject-progress-header,.bar-item{flex-direction:column;align-items:flex-start;gap:.5rem}.bar-label{min-width:auto;width:100%}.bar-background{width:100%}}.exam-mode{max-width:900px;margin:0 auto;padding:2rem}.exam-config,.exam-results{background:linear-gradient(135deg,#1e2a3a,#2c3e50);border-radius:12px;padding:2rem;box-shadow:0 4px 20px #0000004d;border:1px solid rgba(255,255,255,.1)}.exam-config h2,.exam-results h2{text-align:center;color:#ecf0f1;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.exam-config p{text-align:center;color:#bdc3c7;margin-bottom:2rem}.exam-settings{display:grid;gap:1.5rem;margin-bottom:2rem}.setting-group{display:flex;flex-direction:column;gap:.5rem}.setting-group label{font-weight:600;color:#ecf0f1}.setting-group input{padding:.75rem;border:2px solid rgba(255,255,255,.2);border-radius:8px;font-size:1rem;transition:all .3s;background:#ffffff0d;color:#ecf0f1}.setting-group input:focus{outline:none;border-color:#667eea;background:#ffffff1a;box-shadow:0 0 0 3px #667eea33}.setting-group input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:16px;background:#ffffff1a;border-radius:8px;outline:none;padding:0}.setting-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;background:#1e40af;cursor:pointer;border-radius:50%;border:3px solid #fde047;box-shadow:0 2px 8px #1e40af66;transition:all .3s;margin-top:-4px}.setting-group input[type=range]::-webkit-slider-thumb:hover{background:#1e3a8a;border-color:#fbbf24;transform:scale(1.1);box-shadow:0 4px 12px #1e40af99}.setting-group input[type=range]::-moz-range-thumb{width:24px;height:24px;background:#1e40af;cursor:pointer;border-radius:50%;border:3px solid #fde047;box-shadow:0 2px 8px #1e40af66;transition:all .3s}.setting-group input[type=range]::-moz-range-thumb:hover{background:#1e3a8a;border-color:#fbbf24;transform:scale(1.1);box-shadow:0 4px 12px #1e40af99}.setting-group input[type=range]::-webkit-slider-runnable-track{height:16px;background:#fff3;border-radius:8px}.setting-group input[type=range]::-moz-range-track{height:16px;background:#fff3;border-radius:8px}.exam-actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.btn-start-exam,.btn-retry,.btn-exit,.btn-cancel{padding:1rem 2rem;font-size:1rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s}.btn-start-exam{background:#10b981;color:#fff}.btn-start-exam:hover{background:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b98166}.btn-cancel,.btn-exit{background:#ef4444;color:#fff}.btn-cancel:hover,.btn-exit:hover{background:#dc2626}.btn-retry{background:#3498db;color:#fff}.btn-retry:hover{background:#2980b9}.exam-header{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:1rem 1.5rem;border-radius:12px;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a}.exam-progress{font-weight:600;color:#2c3e50}.exam-timer{font-size:1.2rem;font-weight:700;color:#3498db;padding:.5rem 1rem;background:#ecf0f1;border-radius:8px}.exam-timer.warning{color:#e74c3c;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.exam-question-card{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a;margin-bottom:1.5rem}.question-number{font-size:.9rem;color:#3498db;font-weight:600;margin-bottom:1rem}.question-text{font-size:1.2rem;color:#2c3e50;line-height:1.6;margin-bottom:1.5rem;white-space:pre-wrap}.btn-show-answer{width:100%;padding:1rem;background:#3498db;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-show-answer:hover{background:#2980b9;transform:translateY(-2px)}.answer-section{animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.answer-text{background:#f8f9fa;padding:1.5rem;border-radius:8px;border-left:4px solid #3498db;margin-bottom:1.5rem;white-space:pre-wrap;line-height:1.6;color:#2c3e50}.answer-buttons{text-align:center}.answer-buttons p{margin-bottom:1rem;color:#7f8c8d;font-weight:600}.btn-correct,.btn-incorrect{padding:.75rem 2rem;margin:0 .5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-correct{background:#2ecc71;color:#fff}.btn-correct:hover{background:#27ae60;transform:translateY(-2px)}.btn-incorrect{background:#e74c3c;color:#fff}.btn-incorrect:hover{background:#c0392b;transform:translateY(-2px)}.exam-footer{text-align:center}.btn-finish-early{padding:.75rem 1.5rem;background:#95a5a6;color:#fff;border:none;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s}.btn-finish-early:hover{background:#7f8c8d}.result-card{text-align:center;padding:2rem;border-radius:12px;margin-bottom:2rem}.result-card.passed{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.result-card.failed{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.result-score{margin-bottom:1.5rem}.score-number{display:block;font-size:4rem;font-weight:700;margin-bottom:.5rem}.score-label{display:block;font-size:1.5rem;font-weight:600}.result-details{background:#fff3;padding:1rem;border-radius:8px}.result-details p{margin:.5rem 0;font-size:1.1rem}@media (max-width: 600px){.exam-mode{padding:1rem}.exam-header{flex-direction:column;gap:.5rem}.question-text{font-size:1rem}.score-number{font-size:3rem}.btn-correct,.btn-incorrect{display:block;width:100%;margin:.5rem 0}}#root{width:100%;margin:0 auto;padding:2rem;text-align:center;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:var(--vscode-foreground);background-color:var(--vscode-bg);display:flex;justify-content:center}.app-container{display:flex;flex-direction:column;align-items:center;min-height:100vh;width:100%;max-width:1280px}.main-content{flex:1;padding:1rem 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;width:100%}.view-toggle{display:flex;justify-content:center;margin:1rem 0;gap:0;background-color:var(--vscode-editor-bg);border-bottom:1px solid var(--vscode-border);border-top:1px solid var(--vscode-border);width:100%;max-width:1200px}.view-button{padding:.75rem 1.5rem;border:none;border-bottom:2px solid transparent;border-radius:0;font-weight:600;cursor:pointer;transition:all .2s ease;background-color:transparent;color:var(--vscode-foreground)}.view-button.active{background-color:var(--vscode-editor-bg);border-bottom:2px solid var(--vscode-button-bg);color:#fff}.view-button:hover{background-color:var(--vscode-editor-bg)}.welcome-message{text-align:center;padding:3rem 2rem;max-width:1000px;margin:0 auto}.welcome-message h2{color:#2c3e50;font-size:2.5rem;margin-bottom:1rem}.welcome-message>p{color:#7f8c8d;font-size:1.2rem;margin-bottom:3rem}.welcome-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.feature{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 12px #0000001a;transition:transform .3s,box-shadow .3s}.feature:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000026}.feature-icon{font-size:3rem;display:block;margin-bottom:1rem}.feature h3{color:#2c3e50;margin-bottom:.5rem}.feature p{color:#7f8c8d;font-size:.95rem}.app-footer{margin-top:2rem;padding:.5rem 1rem;background-color:var(--vscode-statusbar);color:#fff;text-align:center;font-size:.85rem;display:flex;justify-content:space-between}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{--gradient-primary: linear-gradient(135deg, #4776e6 0%, #8e54e9 100%);--gradient-secondary: linear-gradient(135deg, #5f2c82 0%, #49a09d 100%);--gradient-accent: linear-gradient(135deg, #ff9966 0%, #ff5e62 100%);--gradient-dark: linear-gradient(135deg, #232526 0%, #414345 100%);--gradient-light: linear-gradient(135deg, #e0eafc 0%, #cfdef3 100%);--color-primary: #5f2c82;--color-secondary: #49a09d;--color-accent: #ff5e62;--color-dark: #333;--color-light: #f9f9f9;--color-white: #ffffff;--color-error: #ff4d4f;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .15);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 16px;--transition-default: all .3s ease;--transition-fast: all .15s ease;--transition-slow: all .5s ease}.app-wrapper{max-width:1200px;margin:0 auto;padding:1rem;min-height:100vh}.btn{padding:.75rem 1.25rem;border:none;border-radius:var(--border-radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:var(--transition-default);display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--gradient-primary);color:var(--color-white)}.btn-primary:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{background:var(--gradient-secondary);color:var(--color-white)}.btn-accent{background:var(--gradient-accent);color:var(--color-white)}.card{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-md);padding:1.5rem;margin:1rem 0}.form-group{margin-bottom:1.5rem}.form-control{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:var(--border-radius-sm);font-size:1rem;transition:var(--transition-fast)}.form-control:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #5f2c8233}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--color-white);padding:2rem;border-radius:var(--border-radius-lg);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg)}@media (max-width: 768px){.app-wrapper{padding:.5rem}.btn{padding:.6rem 1rem;font-size:.9rem}.modal-content{width:95%;padding:1.5rem}}
