:root{--bg-primary: #0f0f0f;--bg-secondary: #161616;--bg-tertiary: #1a1a1a;--bg-hover: #2a2a2a;--text-primary: #ffffff;--text-secondary: #a0aec0;--text-muted: #9ca3af;--accent-color: #a8e6cf;--accent-hover: #88ddb3;--accent-color-rgb: 168, 230, 207;--border-color: #2a2a2a;--border-light: #4a5568;--error-color: #ef4444;--shadow-color: rgba(0, 0, 0, .3);--overlay-color: rgba(0, 0, 0, .8);--purple-color: #a78bfa;--purple-hover: #c3b0f7;--purple-color-rgb: 109, 40, 217;--green-color: #88ddb3;--green-hover: #68d391;--red-color: #ef4444;--red-hover: #fc8181;--color-primary: #a8e6cf;--color-primary-dark: #88ddb3;--color-primary-light: rgba(168, 230, 207, .3);--color-primary-rgb: 168, 230, 207;--color-background: #0f0f0f;--color-background-secondary: #161616;--color-background-tertiary: #1a1a1a;--color-text: #ffffff;--color-text-secondary: #a0aec0;--color-border: #2a2a2a}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f5f4f1;--bg-tertiary: #eeede8;--bg-hover: #e8e6e0;--text-primary: #2d2a26;--text-secondary: #5a5550;--text-muted: #7a7269;--accent-color: #2d8a5b;--accent-hover: #236b47;--accent-color-rgb: 45, 138, 91;--border-color: #d9d6cf;--border-light: #c4c0b8;--error-color: #dc2626;--shadow-color: rgba(0, 0, 0, .08);--overlay-color: rgba(0, 0, 0, .4);--purple-color: #6d28d9;--purple-hover: #7c3aed;--purple-color-rgb: 167, 139, 250;--green-color: #16a34a;--green-hover: #22c55e;--red-color: #dc2626;--red-hover: #ef4444;--color-primary: #2d8a5b;--color-primary-dark: #236b47;--color-primary-light: rgba(45, 138, 91, .3);--color-primary-rgb: 45, 138, 91;--color-background: #ffffff;--color-background-secondary: #f5f4f1;--color-background-tertiary: #eeede8;--color-text: #2d2a26;--color-text-secondary: #5a5550;--color-border: #d9d6cf}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Geist,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color .3s ease,color .3s ease}.app{min-height:100vh;background-color:var(--bg-primary);padding:1.5rem;transition:background-color .3s ease}@media (max-width: 768px){.app{padding:1rem}}@media (max-width: 480px){.app{padding:.75rem}}.main-container{max-width:1200px;margin:0 auto}@media (max-width: 1200px){.main-container{max-width:100%;padding:0 1rem}}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;padding:2rem 0;border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}@media (max-width: 768px){.app-header{margin-bottom:2rem;padding:1.5rem 0;flex-direction:column;text-align:center}}.app-header h1{font-size:3rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;display:flex;align-items:center;gap:1rem;transition:color .3s ease}@media (max-width: 768px){.app-header h1{font-size:2.25rem;justify-content:center}}@media (max-width: 480px){.app-header h1{font-size:1.875rem;flex-direction:column;gap:.5rem}}.app-icon{width:48px;height:48px;fill:var(--accent-color);transition:fill .3s ease}@media (max-width: 480px){.app-icon{width:40px;height:40px}}.daily-stats{display:flex;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}@media (max-width: 768px){.daily-stats{gap:1rem;justify-content:center}}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1.25rem;min-width:140px;text-align:center;transition:all .3s ease;flex:1;min-width:120px}@media (max-width: 768px){.stat-card{padding:1rem;min-width:100px}}.stat-card:hover{background:var(--bg-hover);transform:translateY(-2px)}.stat-number{font-size:2rem;font-weight:700;color:var(--accent-color);margin-bottom:.25rem;transition:color .3s ease}@media (max-width: 768px){.stat-number{font-size:1.5rem}}.stat-label{color:#9ca3af;font-size:.9rem;font-weight:500}.folders-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}.add-btn:hover{background:var(--accent-hover);transform:translateY(-2px)}.back-btn{background:var(--bg-tertiary);color:var(--text-primary);border:none;padding:12px 20px;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s ease;min-width:120px}.back-btn:hover{background:var(--bg-hover)}.add-btn{background:var(--accent-color);color:var(--bg-primary);border:none;padding:12px 20px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease;letter-spacing:.01em;min-width:120px}.folder-view{max-width:900px;margin:0 auto}.folder-header{display:flex;justify-content:space-between;align-items:center;gap:2rem;margin-bottom:40px;padding:16px 0;border-bottom:1px solid var(--border-color)}.folder-header h2{color:var(--green-color);font-size:2.25rem;font-weight:700;letter-spacing:-.02em;flex:1}.folder-header-buttons{display:flex;gap:1rem;align-items:center}.cards-stats{background:var(--bg-secondary);padding:24px;margin-bottom:24px;border:1px solid var(--border-color);border-left:4px solid var(--purple-color)}.cards-stats p{margin-bottom:8px;color:var(--text-secondary);font-size:.95rem}.next-review{color:var(--purple-color);font-weight:600;font-size:.85rem;margin-top:4px}.study-btn{background:var(--purple-color);color:#fff;border:none;padding:20px 32px;cursor:pointer;font-weight:600;font-size:1.1rem;transition:all .2s ease;margin-bottom:40px;width:100%;letter-spacing:.01em}.study-btn:hover:not(:disabled){background:var(--purple-hover);transform:translateY(-2px)}.study-btn:disabled{background:#404040;color:#666;cursor:not-allowed;opacity:.6}.cards-list{display:flex;flex-direction:column;gap:16px}.card-item{background:var(--bg-secondary);border:1px solid var(--border-color);padding:20px;transition:all .2s ease;position:relative;margin-bottom:12px;cursor:pointer}.card-item.expanded{border-color:var(--accent-color);background:rgba(var(--accent-color-rgb),.03)}.card-item:hover{background:var(--bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.card-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bg-hover);transition:background .2s ease}.card-item.easy:before{background:#a8e6cf}.card-item.medium:before{background:#ffd93d}.card-item.hard:before{background:#ffb3b3}.card-item.due:before{background:var(--purple-color)}.card-item.due{border-color:var(--purple-color);background:rgba(var(--purple-color-rgb),.1)}.card-preview{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.card-content-section{flex:1}.card-question strong{color:var(--text-primary);font-weight:600;display:block}.card-answer{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color);animation:expandAnswer .2s ease-out}@keyframes expandAnswer{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.answer-text{color:var(--text-secondary);font-weight:400;line-height:1.5;font-style:italic}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:16px}.click-hint{font-size:.75rem;color:var(--text-muted);font-style:italic;opacity:.7;transition:opacity .2s ease}.card-item:hover .click-hint{opacity:1}.difficulty{padding:6px 12px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.difficulty.easy{background:#a8e6cf;color:#0f0f0f}.difficulty.medium{background:#ffd93d;color:#0f0f0f}.difficulty.hard{background:#ffb3b3;color:#0f0f0f}.study-container{max-width:700px;margin:0 auto;padding-top:0}.study-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.study-header h2{color:var(--green-color);font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.flashcard{background:var(--bg-secondary);border:2px solid var(--purple-color);padding:48px 40px;margin-bottom:40px;min-height:320px;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden}.flashcard:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--purple-color)}.card-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:500px;margin:0 auto;border:none!important;box-shadow:none!important;background:none!important}.card-content h3{color:var(--purple-color);margin-bottom:24px;font-size:1.2rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;text-align:center}.card-content p{font-size:1.6rem;line-height:1.4;color:var(--text-primary);font-weight:500;text-align:center;max-width:100%}.review-timing{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:var(--text-muted);font-size:.9rem;text-align:center}.progress-indicators{display:flex;justify-content:center;gap:8px;margin-top:24px;margin-bottom:16px}.progress-dot{width:8px;height:8px;background:var(--bg-tertiary);transition:all .2s ease}.progress-dot.easy{background:#a8e6cf}.progress-dot.medium{background:#ffd93d}.progress-dot.hard{background:#ffb3b3}.progress-dot.current{width:12px;height:12px;background:var(--purple-color)}.show-answer-btn{background:var(--purple-color);color:#fff;border:none;padding:20px 32px;cursor:pointer;font-weight:600;font-size:1.1rem;transition:all .2s ease;width:100%;letter-spacing:.01em}.show-answer-btn:hover{background:var(--purple-hover);transform:translateY(-2px)}.difficulty-buttons{text-align:center}.difficulty-buttons h4{margin-bottom:32px;color:var(--text-secondary);font-size:1.1rem;font-weight:500}.difficulty-buttons-row{display:flex;gap:16px;justify-content:center}.diff-btn{border:none;padding:18px 32px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .2s ease;min-width:120px;letter-spacing:.01em;display:flex;flex-direction:column;align-items:center;gap:4px}.diff-btn:hover{transform:translateY(-2px)}.diff-label{font-size:1rem;font-weight:600}.diff-time{font-size:.8rem;opacity:.8;font-weight:400}.diff-btn.easy{background:#a8e6cf;color:#0f0f0f}.diff-btn.easy:hover{background:#88ddb3}.diff-btn.medium{background:#ffd93d;color:#0f0f0f}.diff-btn.medium:hover{background:#ffd11a}.diff-btn.hard{background:#ffb3b3;color:#0f0f0f}.diff-btn.hard:hover{background:#f99}.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-weight:500;font-size:.95rem}.input-group input,.input-group textarea{width:100%;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:1rem;font-family:Geist,sans-serif;resize:vertical;transition:border-color .2s ease}.input-group input:focus,.input-group textarea:focus{outline:none;border-color:var(--accent-color)}.input-group input::placeholder,.input-group textarea::placeholder{color:var(--text-muted)}.dialog-btn.save{background:var(--accent-color);color:#0f0f0f}@media (max-width: 768px){.app{padding:16px}.app-header{flex-direction:column;gap:24px;text-align:center;margin-bottom:32px;padding:24px 0}.app-header h1{font-size:2.5rem;justify-content:center}.app-icon{width:40px;height:40px}.daily-stats{justify-content:center;gap:16px;margin-bottom:24px}.stat-card{min-width:120px;padding:16px}.stat-number{font-size:1.8rem}.folders-grid{grid-template-columns:1fr;gap:20px}.folder-card{padding:24px}.folder-header{flex-direction:column;gap:1rem;text-align:center;margin-bottom:32px;padding-top:0;padding-bottom:24px}.folder-header h2{font-size:2rem}.folder-header-buttons{width:100%;gap:.75rem;justify-content:center}.folder-header .back-btn{display:none}.folder-header .add-btn{flex:none;width:100%;min-width:auto}.study-header{flex-direction:column;gap:0;text-align:center;margin-bottom:20px}.study-header h2{font-size:1.25rem}.study-header .back-btn{display:none}.progress-indicators{margin:16px 0}.difficulty-buttons-row{flex-direction:column;gap:12px}.diff-btn{width:100%;margin:0;min-width:auto}.dialog-overlay{padding:16px}.dialog-box{max-width:none}.dialog-header,.dialog-content,.dialog-actions{padding:20px}.dialog-actions{flex-direction:column}.dialog-btn{width:100%}.flashcard{padding:32px 24px;min-height:280px}.card-content p{font-size:1.4rem}.card-content h3{font-size:1.1rem}.study-container{padding-top:0}}@media (max-width: 480px){.app{padding:12px}.app-header h1{font-size:2.25rem}.app-icon{width:36px;height:36px}.daily-stats{gap:12px;margin-bottom:20px}.stat-card{min-width:100px;padding:12px}.stat-number{font-size:1.5rem}.folder-header h2{font-size:1.75rem}.study-header h2{font-size:1.125rem}.flashcard{padding:24px 20px;min-height:240px}.card-content p{font-size:1.25rem}.card-preview{flex-direction:column;align-items:flex-start;gap:12px}.card-content-section{width:100%}.card-question strong{word-break:break-word}.card-footer{flex-direction:column;align-items:flex-start;gap:8px}.click-hint{font-size:.7rem}.next-review{font-size:.8rem}.dialog-header,.dialog-content,.dialog-actions{padding:16px}}.theme-toggle{position:fixed;bottom:1rem;right:1rem;z-index:1000;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:all .3s ease;box-shadow:0 2px 8px var(--shadow-color)}.theme-toggle:hover{background:var(--bg-hover);transform:scale(1.1);box-shadow:0 4px 12px var(--shadow-color)}.theme-toggle:active{transform:scale(.95)}.theme-toggle svg{transition:transform .3s ease}.theme-toggle:hover svg{transform:rotate(15deg)}@media (max-width: 768px){.theme-toggle{bottom:.75rem;right:.75rem;width:44px;height:44px}}.auth-container{min-height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--bg-primary);padding:1.5rem;transition:background-color .3s ease}.auth-layout{display:flex;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:0;overflow:hidden;max-width:64rem;width:100%;box-shadow:0 20px 25px -5px var(--shadow-color),0 10px 10px -5px var(--shadow-color);transition:all .3s ease}.auth-image{flex:1;display:none;background:var(--bg-tertiary)}@media (min-width: 768px){.auth-image{display:block}}.auth-image img{width:100%;height:100%;object-fit:cover}.auth-form-container{flex:1;padding:2.5rem;display:flex;flex-direction:column;justify-content:center;background-color:var(--bg-secondary);transition:background-color .3s ease}.auth-card{width:100%;max-width:none;min-height:600px;display:flex;flex-direction:column}.auth-header{text-align:center;margin-bottom:2rem}.auth-title{font-size:2.25rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem;transition:color .3s ease}.auth-subtitle{color:var(--text-secondary);font-size:1rem;transition:color .3s ease}.auth-form{display:flex;flex-direction:column;gap:1rem;min-height:320px}.auth-form-content{flex:1;display:flex;flex-direction:column;gap:1rem}.input-group{margin-bottom:1rem;transition:all .3s ease;overflow:hidden}.input-group.hidden{opacity:0;height:0;margin-bottom:0;padding:0}.input-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary);transition:color .3s ease}.auth-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-primary);border-radius:0!important;font-size:1rem;box-sizing:border-box;transition:all .3s ease}.auth-form input,.auth-form textarea,.auth-form select{border-radius:0!important;box-sizing:border-box}.auth-error{color:var(--error-color);font-size:.875rem;margin-top:.5rem;text-align:center;transition:color .3s ease}.auth-btn{width:100%;padding:.75rem 1rem;background-color:var(--accent-color);color:var(--bg-primary);font-weight:600;border:none;border-radius:0;cursor:pointer;transition:all .3s ease}.auth-btn:hover{background-color:var(--accent-hover);transform:translateY(-1px)}.auth-divider{display:flex;align-items:center;text-align:center;margin:1.5rem 0;color:var(--text-secondary);transition:color .3s ease}.auth-divider:before,.auth-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-light)}.auth-divider:not(:empty):before{margin-right:.75rem}.auth-divider:not(:empty):after{margin-left:.75rem}.google-btn{width:100%;padding:.75rem 1rem;background-color:var(--bg-primary);color:var(--text-primary);font-weight:600;border:1px solid var(--border-color);border-radius:0;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .3s ease}.google-btn:hover{background-color:var(--bg-hover);border-color:var(--border-light)}.google-btn:disabled{opacity:.6;cursor:not-allowed}.spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top:2px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auth-input:disabled,.auth-btn:disabled,.auth-link:disabled{opacity:.6;cursor:not-allowed}.auth-link:disabled:hover{color:var(--accent-color);text-decoration:underline}.auth-footer{text-align:center;margin-top:1.5rem;color:var(--text-secondary);font-size:.875rem;padding:1rem 0;border-top:1px solid var(--border-color);transition:all .3s ease}.auth-link{color:var(--accent-color);background:none;border:none;cursor:pointer;text-decoration:underline;font-size:.875rem;padding:0;margin:0;transition:color .3s ease}.auth-link:hover{color:var(--accent-hover);text-decoration:none}@media (max-width: 768px){.auth-container{padding:1rem}.auth-layout{border-width:1px}.auth-form-container{padding:1.5rem}.auth-title{font-size:1.875rem}.auth-card{min-height:500px}.auth-form{min-height:280px}}.auth-callback-container{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#0a0a0a;padding:1.5rem}.auth-callback-title{font-size:1.5rem;font-weight:600;color:#fff;margin-bottom:1rem}.auth-callback-message{color:#a0aec0}.landing-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-primary);color:var(--text-primary);text-align:center;padding:2rem;transition:all .3s ease}@media (max-width: 768px){.landing-container{padding:1.5rem}}@media (max-width: 480px){.landing-container{padding:1rem}}.landing-header{display:flex;align-items:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap;justify-content:center}@media (max-width: 768px){.landing-header{margin-bottom:2rem;flex-direction:column;gap:.75rem}}.app-icon{width:4rem;height:4rem;fill:var(--accent-color);transition:fill .3s ease}@media (max-width: 768px){.app-icon{width:3rem;height:3rem}}.landing-title{font-size:4rem;font-weight:700;letter-spacing:-.025em;color:var(--text-primary);transition:color .3s ease}@media (max-width: 768px){.landing-title{font-size:2.5rem}}@media (max-width: 480px){.landing-title{font-size:2rem}}.landing-content{max-width:56rem;width:100%}@media (max-width: 768px){.landing-content{max-width:100%}}.landing-subtitle{font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;line-height:1.2;color:var(--accent-color);transition:color .3s ease}@media (max-width: 768px){.landing-subtitle{font-size:1.875rem}}@media (max-width: 480px){.landing-subtitle{font-size:1.5rem}}.landing-description{font-size:1.25rem;color:var(--text-muted);margin-bottom:3rem;line-height:1.6;transition:color .3s ease}@media (max-width: 768px){.landing-description{font-size:1.1rem;margin-bottom:2rem}}@media (max-width: 480px){.landing-description{font-size:1rem}}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:3rem;margin-top:3rem;max-width:60rem;margin-left:auto;margin-right:auto}@media (max-width: 768px){.features-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem;margin-top:2rem;max-width:100%}}@media (min-width: 769px) and (max-width: 1024px){.features-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:50rem}}.feature-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);padding:2rem;border-radius:0;transition:all .3s ease}@media (max-width: 768px){.feature-card{padding:1.5rem}}@media (min-width: 769px) and (max-width: 1024px){.feature-card{padding:1.5rem}}.feature-card:hover{transform:translateY(-4px);border-color:var(--accent-color);box-shadow:0 8px 25px #a8e6cf1a}.feature-icon{font-size:3rem;margin-bottom:1rem;display:block}.feature-card h3{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;color:var(--text-primary);transition:color .3s ease}@media (min-width: 769px) and (max-width: 1024px){.feature-card h3{font-size:1.1rem}}.feature-card p{color:var(--text-muted);font-size:.95rem;line-height:1.5;transition:color .3s ease}@media (min-width: 769px) and (max-width: 1024px){.feature-card p{font-size:.9rem}}.get-started-btn{display:inline-block;background-color:var(--accent-color);color:var(--bg-primary);font-weight:600;padding:1.25rem 2.5rem;border-radius:0;text-decoration:none;font-size:1.125rem;transition:all .3s ease;letter-spacing:.01em;margin-bottom:1rem}@media (max-width: 768px){.get-started-btn{padding:1rem 2rem;font-size:1rem}}.get-started-btn:hover{background-color:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 25px #a8e6cf33}@media (max-width: 768px){.landing-header{flex-direction:column;gap:1rem;margin-bottom:2rem}.landing-title{font-size:2.5rem}.landing-subtitle{font-size:1.875rem}.features-grid{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem;margin-top:2rem}.feature-card{padding:1.5rem}.app-icon{width:3rem;height:3rem}}@media (min-width: 769px) and (max-width: 1024px){.features-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:50rem}.feature-card{padding:1.5rem}.feature-card h3{font-size:1.1rem}.feature-card p{font-size:.9rem}}.app-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px;padding:32px 0;border-bottom:1px solid var(--border-color)}.app-header-folder-open{flex-direction:column;gap:16px;margin-bottom:24px;padding:16px 0}.app-header-folder-open .app-title{font-size:1.75rem}.app-header-folder-open .app-icon{width:32px;height:32px}@media (min-width: 768px){.app-header-folder-open{flex-direction:row}}.app-header-left{display:flex;align-items:center;gap:16px}.app-title{font-size:3rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;display:flex;align-items:center;gap:16px;margin:0}.app-icon{width:48px;height:48px;fill:var(--accent-color)}.app-header-right{display:flex;align-items:center;gap:16px}.mobile-menu{display:none}.user-info{color:var(--text-secondary);font-size:1rem;font-weight:500;margin-right:8px}.logout-button{background:#ffb3b3;color:#0f0f0f;border:none;padding:12px 20px;cursor:pointer;font-weight:500;font-size:.9rem;transition:all .2s ease;font-family:Geist,sans-serif}.logout-button:hover{background:#f99}@media (max-width: 768px){.app-header{flex-direction:row;gap:16px;text-align:left;margin-bottom:24px;padding:16px 0}.app-title{font-size:1.25rem;justify-content:flex-start}.app-icon{width:24px;height:24px}.app-title-text,.desktop-menu{display:none}.mobile-menu{display:flex;position:relative}}@media (min-width: 769px){.mobile-menu{display:none}.desktop-menu{display:flex}}.mobile-menu-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px;border-radius:4px;transition:background-color .2s ease}.mobile-menu-button:hover{background-color:var(--bg-hover)}.mobile-menu-icon{width:24px;height:24px}.mobile-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:200px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:0;box-shadow:0 4px 12px var(--shadow-color);z-index:1000}.mobile-dropdown-content{padding:8px 0}.user-info-mobile{padding:12px 16px;color:var(--text-secondary);font-size:.9rem;border-bottom:1px solid var(--border-color);margin-bottom:8px}.mobile-dropdown-item{display:block;width:100%;text-align:left;background:none;border:none;color:var(--text-primary);padding:12px 16px;cursor:pointer;font-size:.9rem;transition:background-color .2s ease}.mobile-dropdown-item:hover{background-color:var(--bg-hover)}.folder-card{position:relative;background:var(--bg-secondary);border:1px solid var(--border-color);padding:32px;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;overflow:hidden}.folder-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-color);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.folder-card:hover:before{transform:scaleX(1)}.folder-card:hover{transform:translateY(-8px);border-color:var(--accent-color);box-shadow:0 16px 40px rgba(var(--accent-color-rgb),.1)}.folder-card-content h3{font-size:1.5rem;font-weight:600;margin-bottom:16px;color:var(--text-primary);letter-spacing:-.01em}.folder-card-content p{color:var(--text-secondary);margin-bottom:8px;font-size:.95rem}.folder-card-content p.due-count{color:#f6ad55;font-weight:600}.shared-by-indicator{color:var(--accent-color)!important;font-size:.85rem!important;font-weight:500!important;margin-top:12px!important;font-style:italic}.folder-card-actions{position:absolute;top:16px;right:16px;display:flex;gap:8px;opacity:0;transition:opacity .2s ease}.folder-card:hover .folder-card-actions{opacity:1}.folder-card-share-button,.folder-card-delete-button{background:none;border:none;cursor:pointer;transition:all .2s ease;padding:8px;display:flex;align-items:center;justify-content:center}.folder-card-share-button{color:var(--text-muted)}.folder-card-share-button.shared{color:var(--accent-color)}.folder-card-share-button:hover{background:rgba(var(--accent-color-rgb),.1);color:var(--accent-color)}.folder-card-share-button.shared:hover{background:rgba(var(--accent-color-rgb),.15)}.folder-card-delete-button{color:var(--text-muted)}.folder-card-delete-button:hover{background:#ef44441a;color:var(--error-color)}@media (max-width: 768px){.folder-card{padding:24px}.folder-card-actions{opacity:1}}@media (max-width: 480px){.folder-card{padding:20px}}.dialog-overlay{position:fixed;inset:0;background:var(--overlay-color);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.dialog-box{background:var(--bg-primary);border:1px solid var(--border-color);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px var(--shadow-color)}.dialog-header{padding:24px;border-bottom:1px solid var(--border-color)}.dialog-header h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.dialog-content{padding:24px}.dialog-actions{padding:24px;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end}.dialog-btn{padding:12px 24px;border:none;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s ease;font-family:Geist,sans-serif}.dialog-btn.cancel{background:var(--bg-tertiary);color:var(--text-primary)}.dialog-btn.cancel:hover{background:var(--bg-hover)}.dialog-btn.save{background:var(--accent-color);color:var(--bg-primary)}.dialog-btn.save:hover:not(:disabled){background:var(--accent-hover)}.dialog-btn.save:disabled{background:var(--bg-hover);color:var(--text-muted);cursor:not-allowed}@media (max-width: 768px){.dialog-overlay{padding:16px}.dialog-box{max-width:none}.dialog-header,.dialog-content,.dialog-actions{padding:20px}.dialog-actions{flex-direction:column}.dialog-btn{width:100%}}@media (max-width: 480px){.dialog-header,.dialog-content,.dialog-actions{padding:16px}}.share-dialog-overlay{position:fixed;inset:0;background-color:var(--overlay-color);display:flex;align-items:center;justify-content:center;z-index:1000}.share-dialog{background:var(--bg-primary);width:90%;max-width:500px;max-height:90vh;overflow:hidden;border:1px solid var(--border-color)}.share-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.share-dialog-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.share-dialog-close{background:none;border:none;font-size:24px;color:var(--color-text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.share-dialog-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.share-dialog-content{padding:24px}.share-status-private,.share-status-public{text-align:center}.share-icon{font-size:48px;margin-bottom:16px}.share-dialog-content p{margin:8px 0;color:var(--text-secondary);line-height:1.5}.share-description{font-size:14px;margin-bottom:24px!important}.share-button{background:var(--green-color);color:#fff;border:none;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:16px}.share-button:hover:not(:disabled){background:var(--green-hover);transform:translateY(-1px)}.share-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.share-button-enable{background:var(--green-color)}.share-button-enable:hover:not(:disabled){background:var(--green-hover)}.share-button-disable{background:#ef4444}.share-button-disable:hover:not(:disabled){background:#dc2626}.share-link-container{margin:20px 0;text-align:left}.share-link-container label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text);font-size:14px}.share-link-input-group{display:flex;gap:8px;align-items:center}.share-link-input{flex:1;padding:12px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);font-family:monospace;font-size:13px}.share-link-input:focus{outline:none;border-color:var(--green-color);box-shadow:0 0 0 3px #22c55e33}.copy-button{background:var(--green-color);color:#fff;border:none;padding:12px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:70px}.copy-button:hover{background:var(--green-hover)}.share-warning{background:#fef3c7;color:#92400e;padding:12px;font-size:13px;margin:16px 0!important;border:1px solid #fde68a}[data-theme=dark] .share-warning{background:#fbbf241a;color:#fbbf24;border-color:#fbbf2433}@media (max-width: 768px){.share-dialog{width:95%;margin:20px}.share-dialog-header{padding:16px}.share-dialog-content{padding:20px}.share-link-input-group{flex-direction:column;align-items:stretch}.copy-button{margin-top:8px}}.react-calendar-heatmap text{font-size:10px;fill:#aaa}.react-calendar-heatmap .react-calendar-heatmap-small-text{font-size:5px}.react-calendar-heatmap rect:hover{stroke:#555;stroke-width:1px}.react-calendar-heatmap .color-empty{fill:#eee}.react-calendar-heatmap .color-filled{fill:#8cc665}.react-calendar-heatmap .color-github-0{fill:#eee}.react-calendar-heatmap .color-github-1{fill:#d6e685}.react-calendar-heatmap .color-github-2{fill:#8cc665}.react-calendar-heatmap .color-github-3{fill:#44a340}.react-calendar-heatmap .color-github-4{fill:#1e6823}.react-calendar-heatmap .color-gitlab-0{fill:#ededed}.react-calendar-heatmap .color-gitlab-1{fill:#acd5f2}.react-calendar-heatmap .color-gitlab-2{fill:#7fa8d1}.react-calendar-heatmap .color-gitlab-3{fill:#49729b}.react-calendar-heatmap .color-gitlab-4{fill:#254e77}.heatmap-container{margin:20px 0}.react-calendar-heatmap .color-empty{fill:var(--bg-secondary)}.react-calendar-heatmap .color-scale-1{fill:#d6e685}.react-calendar-heatmap .color-scale-2{fill:#8cc665}.react-calendar-heatmap .color-scale-3{fill:#44a340}.react-calendar-heatmap .color-scale-4{fill:#1e6823}@media (max-width: 768px){.heatmap-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.react-calendar-heatmap{width:1000px}}.study-container{max-width:48rem;margin-left:auto;margin-right:auto}.study-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:1px solid #2d3748}@media (max-width: 768px){.study-header{display:none}}.study-back-button{color:var(--text-primary);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:.5rem}.study-back-button:hover{background-color:var(--bg-hover)}.study-back-icon{height:1.25rem;width:1.25rem;margin-right:.5rem}.study-folder-name{font-size:1.875rem;font-weight:700;color:var(--accent-color);letter-spacing:-.025em}.study-progress-indicators{display:flex;justify-content:center;gap:.5rem;margin-bottom:1rem}.study-progress-dot{width:.5rem;height:.5rem;border-radius:50%;transition:background-color .2s ease-in-out}.study-progress-dot-green{background-color:var(--green-color)}.study-progress-dot-red{background-color:var(--red-color)}.study-progress-dot-current{width:.75rem;height:.75rem;background-color:var(--purple-color)}.study-progress-dot-remaining{background-color:#4a5568}.study-progress-bar-container{width:100%;height:.5rem;background-color:#4a5568;margin-bottom:2.5rem;border-radius:.25rem}.study-progress-bar-fill{height:100%;background-color:var(--purple-color);border-radius:.25rem}.study-card-display{background-color:var(--bg-primary);border:2px solid var(--purple-color);border-radius:0;padding:3rem;text-align:center;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden}.study-card-border-top{position:absolute;top:0;left:0;right:0;height:.25rem;background-color:var(--purple-color)}.study-card-type{font-size:1.125rem;font-weight:600;color:var(--purple-color);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.5rem}.study-card-text{font-size:1.875rem;line-height:1.625;color:var(--text-primary);font-weight:500;max-width:32rem;margin-left:auto;margin-right:auto}.study-next-review{margin-top:1rem;color:var(--text-secondary);font-size:.875rem;text-align:center}.study-show-answer-button{width:100%;background-color:var(--purple-color);color:var(--bg-primary);font-weight:700;font-size:1.25rem;padding-top:1.25rem;padding-bottom:1.25rem;margin-top:2.5rem;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease-in-out}.study-show-answer-button:hover{background-color:var(--purple-hover)}.study-difficulty-section{text-align:center;margin-top:2.5rem}.study-difficulty-prompt{margin-bottom:2rem;color:var(--text-secondary);font-size:1.125rem;font-weight:500}.study-difficulty-options{display:flex;gap:1rem;justify-content:center}.study-difficulty-button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem 2rem;font-weight:600;font-size:1rem;min-width:120px;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease-in-out}.study-difficulty-button-green{background-color:var(--green-color);color:var(--bg-primary)}.study-difficulty-button-green:hover{background-color:var(--green-hover)}.study-difficulty-button-red{background-color:var(--red-color);color:var(--bg-primary)}.study-difficulty-button-red:hover{background-color:var(--red-hover)}.study-difficulty-quality{font-size:1.125rem;font-weight:700}.study-difficulty-label{font-size:.75rem;opacity:.8;font-weight:400}.cards-view-container{max-width:64rem;margin-left:auto;margin-right:auto}.cards-view-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid #2d3748}.cards-view-back-button{color:var(--text-primary);background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:.5rem}.cards-view-back-button:hover{background-color:var(--bg-hover)}.cards-view-back-icon{height:1.25rem;width:1.25rem;margin-right:.5rem}.cards-view-folder-name{font-size:1.875rem;font-weight:700;color:var(--accent-color);letter-spacing:-.025em}.cards-view-add-card-button{background-color:var(--accent-color);color:var(--bg-primary);font-weight:600;font-size:1rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease-in-out}.cards-view-add-card-button:hover{background-color:var(--accent-hover)}.cards-view-summary{background-color:var(--bg-secondary);border:1px solid var(--border-color);padding:1.5rem;margin-bottom:1.5rem;border-left:4px solid var(--purple-color);border-radius:.5rem}.cards-view-summary-text{margin-bottom:.5rem;color:var(--text-secondary)}.cards-view-summary-value{font-weight:600;color:var(--text-primary)}.cards-view-summary-value-due{font-weight:600;color:#f6ad55}.cards-view-start-study-button{width:100%;background-color:var(--purple-color);color:var(--bg-primary);font-weight:700;font-size:1.25rem;padding:1rem;margin-bottom:2.5rem;border:none;border-radius:.5rem;cursor:pointer;transition:background-color .2s ease-in-out}.cards-view-start-study-button:hover{background-color:var(--purple-hover)}.cards-list{display:flex;flex-direction:column;gap:1rem}.card-item{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:0;padding:1.25rem;position:relative;transition:background-color .2s ease-in-out,border-color .2s ease-in-out}.card-item-due{border-color:#f6ad55;background-color:#f6ad5533}.card-item-indicator{position:absolute;left:0;top:0;bottom:0;width:.25rem;background-color:var(--border-light);transition:background-color .2s ease-in-out}.card-item-indicator-due{background-color:#f6ad55}.card-item-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-left:.75rem}.card-item-front{color:var(--text-primary);font-weight:600;flex:1}.card-item-easiness{padding:.25rem .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;border-radius:.25rem}.card-item-easiness-green{background-color:var(--green-color);color:var(--bg-primary)}.card-item-easiness-red{background-color:var(--red-color);color:var(--bg-primary)}.card-item-easiness-yellow{background-color:#ecc94b;color:var(--bg-primary)}.card-item-next-review{color:var(--text-secondary);font-weight:600;font-size:.75rem;margin-top:.25rem;padding-left:.75rem}.folders-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.input-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-secondary)}.auth-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-primary);border-radius:.375rem;font-size:1rem}.auth-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-color-rgb),.5)}.grid-gap-4{display:grid;gap:1rem}.mt-4{margin-top:1rem}.shared-folder-container{min-height:100vh;background:var(--bg-primary);padding:20px}.loading-spinner,.error-message{display:flex;align-items:center;justify-content:center;height:50vh;font-size:18px;color:var(--text-secondary)}.shared-folder-header{max-width:1000px;margin:0 auto 40px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.back-button-container{flex-shrink:0}.back-button{background:var(--bg-secondary);border:1px solid var(--border-color);padding:12px 20px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:8px}.back-button:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.shared-folder-info{flex:1;text-align:center}.shared-folder-info h1{margin:0 0 8px;font-size:2rem;font-weight:700;color:var(--text-primary)}.shared-by{margin:0 0 8px;color:var(--text-secondary);font-size:16px}.shared-by strong{color:var(--green-color);font-weight:600}.card-count{margin:0;color:var(--text-secondary);font-size:14px}.copy-folder-button{background:var(--green-color);color:#fff;border:none;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0}.copy-folder-button:hover:not(:disabled){background:var(--green-hover);transform:translateY(-1px)}.copy-folder-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.card-preview-section{max-width:1000px;margin:0 auto}.card-navigation{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:20px}.nav-button{background:var(--green-color);color:#fff;border:none;padding:10px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-button:hover:not(:disabled){background:var(--green-hover)}.nav-button:disabled{background:var(--bg-secondary);color:var(--text-secondary);cursor:not-allowed}.card-counter{font-weight:600;color:var(--text-primary);padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--border-color)}.card-preview{background:var(--bg-primary);border:2px solid var(--border-color);padding:30px;display:flex;gap:30px;align-items:stretch;margin-bottom:20px}.card-side{flex:1}.card-side h3{margin:0 0 16px;font-size:1.1rem;font-weight:600;color:var(--green-color);text-transform:uppercase;letter-spacing:.5px}.card-content{background:var(--bg-secondary);border:1px solid var(--border-color);padding:20px;min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-primary);font-size:16px;line-height:1.5;white-space:pre-wrap}.card-divider{width:2px;background:var(--border-color)}.preview-notice{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid var(--green-color);color:var(--text-primary);padding:20px;text-align:center;margin-top:30px}.preview-notice p{margin:0;font-size:16px;font-weight:500}.empty-folder{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-folder p{margin:0;font-size:18px}@media (max-width: 768px){.shared-folder-container{padding:15px}.shared-folder-header{flex-direction:column;align-items:center;text-align:center;gap:15px}.shared-folder-info h1{font-size:1.5rem}.card-navigation{gap:15px;flex-wrap:wrap}.nav-button{padding:8px 12px;font-size:13px}.card-counter{padding:8px 12px;font-size:14px}.card-preview{flex-direction:column;gap:20px;padding:20px}.card-divider{width:100%;height:2px}.card-content{min-height:100px;font-size:15px}.preview-notice{padding:15px}.preview-notice p{font-size:14px}}
