.confirmation-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirmation-modal{animation:slideIn .2s ease-out;background:#fff;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);max-width:400px;padding:24px;width:90%}.confirmation-modal-title{color:#24292e;font-size:18px;font-weight:600;margin:0 0 12px}.confirmation-modal-message{color:#586069;font-size:14px;line-height:1.5;margin:0 0 24px}.confirmation-modal-actions{display:flex;gap:12px;justify-content:flex-end}.confirmation-modal-cancel,.confirmation-modal-confirm{border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;outline:none;padding:8px 16px;transition:all .2s}.confirmation-modal-cancel{background-color:#f6f8fa;border-color:#d1d9e0;color:#24292e}.confirmation-modal-cancel:hover{background-color:#f3f4f6;border-color:#c9d1d9}.confirmation-modal-confirm{background-color:#d73a49;color:#fff}.confirmation-modal-confirm:hover{background-color:#cb2431}@media (prefers-color-scheme:dark){.confirmation-modal{background:#161b22;box-shadow:0 4px 6px rgba(0,0,0,.4),0 2px 4px rgba(0,0,0,.3)}.confirmation-modal-title{color:#f0f6fc}.confirmation-modal-message{color:#8b949e}.confirmation-modal-cancel{background-color:#21262d;border-color:#30363d;color:#c9d1d9}.confirmation-modal-cancel:hover{background-color:#30363d;border-color:#484f58}}.collection-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;height:100%;min-height:280px;padding:20px;position:relative;transition:all .2s ease}.collection-card:hover{border-color:#2196f3;box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.collection-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.collection-header-right{align-items:center;display:flex;gap:8px;margin-left:12px}.collection-title{color:#1a1a1a;flex:1 1;font-size:18px;font-weight:600;line-height:1.3;margin:0}.collection-type-badge{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px;white-space:nowrap}.collection-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#666;display:-webkit-box;flex:1 1;font-size:14px;line-height:1.5;margin-bottom:16px;overflow:hidden}.collection-progress{display:flex;flex-direction:column;justify-content:center;margin-bottom:12px;min-height:30px}.progress-bar{background:#f0f0f0;border-radius:4px;margin-bottom:6px}.progress-fill{background:linear-gradient(90deg,#4caf50,#81c784);border-radius:4px}.progress-text{color:#666;font-size:13px;font-weight:500}.difficulty-dots{display:flex;font-size:13px;gap:12px;margin-bottom:16px}.difficulty-dots .dot{align-items:center;display:flex;gap:4px}.difficulty-dots .dot.easy{color:#4caf50}.difficulty-dots .dot.medium{color:#ff9800}.difficulty-dots .dot.hard{color:#f44336}.difficulty-dots .dot.total{color:#666;font-weight:600}.star-rating{display:flex;font-size:16px;gap:2px}.star{transition:color .2s}.star.filled{color:gold}.star.empty{color:#ddd}.collection-footer{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;margin-top:auto;min-height:40px;padding-top:12px}.last-practiced{color:#999;font-size:12px}.delete-btn{align-items:center;background:#f6f8fa;border:1px solid #d1d9e0;border-radius:6px;box-shadow:0 1px 2px rgba(27,31,36,.04);color:#656d76;cursor:pointer;display:flex;justify-content:center;margin-left:8px;padding:6px 8px;transition:all .2s}.delete-btn:hover{background:#f3f4f6;border-color:#c9d1d9;box-shadow:0 1px 3px rgba(27,31,36,.08);color:#d73a49}.add-to-collections-btn{align-items:center;background:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;margin-left:auto;padding:6px 12px;transition:all .2s}.add-to-collections-btn:hover{background:#218838;box-shadow:0 2px 4px rgba(0,0,0,.1);transform:translateY(-1px)}.add-to-collections-btn span{white-space:nowrap}.drag-handle{color:#999;font-size:20px;left:8px;line-height:1;padding:4px;position:absolute;top:8px;transition:color .2s}.drag-handle:hover{color:#666}.collection-card-wrapper.dragging .drag-handle{cursor:grabbing}.ccm-backdrop{align-items:center;animation:fadeIn .2s ease;background:rgba(0,0,0,.5);display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.ccm-modal{animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;height:85vh;max-height:700px;max-width:600px;width:90%}.ccm-header{border-bottom:1px solid #e5e7eb;flex-shrink:0;padding:20px 24px 16px}.ccm-title{color:#1f2937;font-size:22px;font-weight:600;margin:0 0 6px}.ccm-subtitle{color:#6b7280;font-size:13px;margin:0}.ccm-body{flex:1 1;overflow-y:auto;padding:20px 24px;position:relative;scrollbar-color:#cbd5e1 #f3f4f6;scrollbar-width:thin}.ccm-body::-webkit-scrollbar{width:8px}.ccm-body::-webkit-scrollbar-track{background:#f3f4f6;border-radius:4px}.ccm-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.ccm-body::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ccm-tabs-container{background:#fff;margin-bottom:8px;padding-bottom:20px;position:sticky;top:-20px;z-index:10}.ccm-tabs{border-bottom:2px solid #e5e7eb;display:flex;gap:4px}.ccm-tab{align-items:center;background:#f6f8fa;border:solid transparent;border-radius:6px 6px 0 0;border-width:1px 1px 3px;color:#57606a;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;margin-bottom:-2px;padding:12px 20px;position:relative;transition:all .2s ease}.ccm-tab:hover{background:#fff;border-color:#d0d7de #d0d7de transparent;box-shadow:0 1px 3px rgba(0,0,0,.05);color:#24292f}.ccm-tab.active{background:#fff;border-color:#d0d7de #d0d7de #7c3aed;box-shadow:0 1px 3px rgba(0,0,0,.1);color:#24292f;font-weight:600}.ccm-tab-icon{font-size:16px;transition:transform .2s ease}.ccm-tab.active .ccm-tab-icon{transform:scale(1.1)}.ccm-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:2px 6px}.ccm-form{animation:fadeIn .3s ease}.ccm-form-group{margin-bottom:18px}.ccm-label{color:#374151;display:block;font-size:13px;font-weight:500;margin-bottom:6px}.ccm-required{color:#ef4444;margin-left:2px}.ccm-optional{background:#e5e7eb;color:#6b7280}.ccm-auto-badge,.ccm-optional{border-radius:4px;font-size:10px;margin-left:4px;padding:2px 6px}.ccm-auto-badge{background:#fbbf24;color:#78350f}.ccm-input,.ccm-select,.ccm-textarea{border:1px solid #d1d5db;border-radius:8px;font-family:inherit;font-size:14px;padding:9px 12px;transition:all .2s ease;width:100%}.ccm-input:focus,.ccm-select:focus,.ccm-textarea:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.1);outline:none}.ccm-textarea{min-height:80px;resize:vertical}.ccm-leetcode-input{font-family:Monaco,Consolas,monospace;font-size:13px}.ccm-help-text{color:#6b7280;font-size:11px;margin-bottom:0;margin-top:4px}.ccm-ai-intro{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:12px;margin-bottom:20px;padding:16px}.ccm-ai-intro-header{align-items:center;display:flex;gap:10px;margin-bottom:8px}.ccm-ai-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;font-size:18px;height:32px;justify-content:center;width:32px}.ccm-ai-intro-title{color:#0c4a6e;font-size:15px;font-weight:600}.ccm-ai-intro-text{color:#075985;font-size:13px;line-height:1.5}.ccm-level-options{display:flex;gap:10px}.ccm-level-option{background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;flex:1 1;padding:10px;text-align:center;transition:all .2s ease}.ccm-level-option:hover{border-color:#a78bfa}.ccm-level-option.selected{background:#f3f0ff;border-color:#7c3aed}.ccm-level-option input{display:none}.ccm-level-label{color:#374151;font-size:13px;font-weight:500;-webkit-user-select:none;user-select:none}.ccm-timeframe-input{align-items:center;display:flex;gap:8px}.ccm-timeframe-input .ccm-input{flex-shrink:0;width:70px}.ccm-timeframe-unit{flex:0 0 auto;width:auto}.ccm-upload-area{background:#fafafa;border:2px dashed #d1d5db;border-radius:8px;cursor:pointer;padding:20px;text-align:center;transition:all .2s ease}.ccm-upload-area:hover{background:#f5f5f5;border-color:#9ca3af}.ccm-upload-label{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:8px}.ccm-upload-icon{font-size:24px}.ccm-upload-text{color:#6b7280;font-size:13px}.ccm-upload-subtext{color:#9ca3af;font-size:11px}.ccm-upload-status{font-size:12px;margin-top:8px}.ccm-upload-status.error{color:#ef4444}.ccm-uploaded-files{margin-top:12px}.ccm-uploaded-file{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:13px;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.ccm-remove-file{background:none;border:none;color:#ef4444;cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.ccm-remove-file:hover{color:#dc2626}.ccm-divider{align-items:center;display:flex;margin:20px 0 16px}.ccm-divider-line{background:#e5e7eb;flex:1 1;height:1px}.ccm-divider-button{background:#fff;border:1px solid #e5e7eb;border-radius:12px;color:#6b7280;cursor:pointer;font-size:11px;font-weight:500;margin:0 12px;padding:4px 12px;transition:all .2s ease}.ccm-divider-button:hover{background:#f9fafb;color:#4b5563}.ccm-divider-text{color:#9ca3af;font-size:12px;font-weight:500;letter-spacing:.5px;padding:0 16px;text-transform:uppercase;white-space:nowrap}.ccm-advanced-section{animation:slideDown .3s ease}.ccm-scroll-hint{align-items:center;animation:pulse 2s infinite;background:#fef3c7;border-radius:6px;color:#78350f;display:flex;font-size:12px;gap:4px;margin:16px 0;padding:4px 8px}.ccm-scroll-icon{font-size:14px}.ccm-scroll-hint-floating{align-items:center;animation:bounce 2s infinite;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(251,191,36,.95);border-radius:20px;bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.15);color:#78350f;cursor:default;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;position:absolute;right:16px;z-index:10}.ccm-scroll-hint-floating .ccm-scroll-icon{animation:bounceArrow 1.5s infinite;font-size:16px}@keyframes bounceArrow{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}.ccm-footer{background:#fff;border-radius:0 0 16px 16px;border-top:1px solid #e5e7eb;box-shadow:0 -4px 12px rgba(0,0,0,.05);flex-shrink:0;justify-content:space-between;padding:16px 24px}.ccm-btn,.ccm-footer{align-items:center;display:flex}.ccm-btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;gap:6px;padding:9px 18px;transition:all .2s ease}.ccm-btn-cancel{background:#fff;border:1px solid #d1d5db;color:#6b7280}.ccm-btn-cancel:hover{background:#f9fafb}.ccm-btn-primary{background:#10b981;color:#fff}.ccm-btn-primary:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px rgba(16,185,129,.3);transform:translateY(-1px)}.ccm-btn-primary:disabled{cursor:not-allowed;opacity:.5}.ccm-btn-ai{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ccm-btn-ai:hover{box-shadow:0 4px 12px rgba(124,58,237,.3);transform:translateY(-1px)}.ccm-checkbox-label{align-items:center;color:#1f2937;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 0}.ccm-checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:18px;width:18px}.ccm-checkbox-label span{line-height:1.4}@media (max-width:640px){.ccm-modal{height:90vh;max-height:none;width:95%}.ccm-level-options,.ccm-tabs{flex-direction:column}.ccm-tab{justify-content:center;width:100%}}:root{--status-active-green:#28a745;--status-warning-yellow:#ffc107;--status-danger-red:#dc3545;--brand-gradient-start:#667eea;--brand-gradient-mid:#764ba2;--brand-gradient-end:#f093fb;--promo-badge-purple:#9333ea;--upgrade-button-blue:#2563eb;--upgrade-button-hover:#1d4ed8;--text-primary:#24292f;--text-secondary:#6c757d;--border-light:#d1d9e0;--bg-card:#fff;--bg-modal-overlay:rgba(0,0,0,.75);--github-border:#d0d7de;--github-blue:#0969da;--github-gray-bg:#f6f8fa;--github-orange:#fb8500;--progress-orange:#ff9500}.paywall-modal-overlay{align-items:center;animation:fadeIn .2s ease-out;background-color:rgba(0,0,0,.75);background-color:var(--bg-modal-overlay);bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:1000}.paywall-modal-container{animation:slideUp .3s ease-out;background-color:#fff;background-color:var(--bg-card);border-radius:16px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);display:flex;flex-direction:column;gap:32px;max-height:90vh;max-width:600px;overflow-y:auto;padding:24px;position:relative;width:95%}.paywall-close-button{background:transparent;border:none;border-radius:8px;cursor:pointer;padding:8px;position:absolute;right:16px;top:16px;transition:background-color .2s ease;z-index:10}.paywall-close-button:hover{background-color:rgba(0,0,0,.05)}.paywall-close-button:focus{outline:2px solid #2563eb;outline:2px solid var(--upgrade-button-blue);outline-offset:2px}.paywall-close-button svg{color:#6c757d;color:var(--text-secondary);height:24px;width:24px}.status-card{background-color:#f6f8fa;background-color:var(--github-gray-bg);border:2px solid #d0d7de;border:2px solid var(--github-border);border-radius:12px;display:flex;flex-direction:column;gap:16px;padding:24px}.status-badge{align-self:flex-start;background-color:#fb8500;background-color:var(--github-orange);border-radius:4px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.status-title{color:#24292f;color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.2;margin:0}.status-description{color:#6c757d;color:var(--text-secondary);font-size:1rem;line-height:1.5;margin:0}.usage-display{border-top:1px solid #d1d9e0;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:8px;padding-top:8px}.usage-label{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.usage-numbers{color:#dc3545;color:var(--status-danger-red);font-size:1.5rem;font-weight:700}.usage-bar{background-color:#f3f4f6;border-radius:999px;height:8px;overflow:hidden;width:100%}.usage-bar-fill{background-color:#ff9500;background-color:var(--progress-orange);border-radius:999px;height:100%;transition:width .3s ease-out,background-color .3s ease-out}.usage-status{color:#6c757d;color:var(--text-secondary);font-size:.875rem}.status-value{color:#24292f;color:var(--text-primary);font-weight:600}.upgrade-section{align-items:center;background:linear-gradient(135deg,#dbeafe,#e9d5ff);border-radius:12px;display:flex;flex-direction:column;gap:24px;padding:32px;text-align:center}.promo-badge{background-color:#9333ea;background-color:var(--promo-badge-purple);border-radius:999px;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:6px 16px;text-transform:uppercase}.upgrade-title{color:#24292f;color:var(--text-primary);font-size:2rem;font-weight:700;line-height:1.2;margin:0}.upgrade-subtitle{color:#6c757d;color:var(--text-secondary);font-size:1rem;line-height:1.5;margin:0}.credits-highlight{align-items:center;background-color:#fff;border-radius:12px;display:flex;flex-direction:column;gap:8px;padding:16px;width:100%}.credits-number{color:#2563eb;color:var(--upgrade-button-blue);font-size:3.5rem;font-weight:700;line-height:1}.credits-label{color:#6c757d;color:var(--text-secondary);font-size:.875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.features-grid{grid-gap:12px 24px;display:grid;gap:12px 24px;grid-template-columns:1fr;text-align:left;width:100%}.feature-item{align-items:center;color:#24292f;color:var(--text-primary);display:flex;font-size:1rem;gap:12px}.feature-icon{color:#16a34a;flex-shrink:0;height:20px;width:20px}.upgrade-button{background-color:#2563eb;background-color:var(--upgrade-button-blue);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:700;padding:16px 32px;transition:all .2s ease-out;width:100%}.upgrade-button:hover{background-color:#1d4ed8;background-color:var(--upgrade-button-hover);box-shadow:0 12px 24px rgba(37,99,235,.3);transform:translateY(-2px)}.upgrade-button:active{transform:translateY(0)}.upgrade-button:focus{outline:3px solid rgba(37,99,235,.5);outline-offset:2px}.pricing-display{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.original-price{color:#6c757d;color:var(--text-secondary);font-size:1.5rem;font-weight:600;text-decoration:line-through}.current-price{color:#24292f;color:var(--text-primary);font-size:2.5rem;font-weight:700}.price-period{color:#6c757d;color:var(--text-secondary);font-size:1rem}.savings-badge{background-color:#16a34a;border-radius:999px;color:#fff;font-size:.875rem;font-weight:700;letter-spacing:.05em;padding:4px 12px;text-transform:uppercase}.faq-section{display:flex;flex-direction:column;gap:16px}.faq-title{color:#24292f;color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0}.faq-list{display:flex;flex-direction:column;gap:12px}.faq-item{background-color:#fff;border:1px solid #d1d9e0;border:1px solid var(--border-light);border-radius:8px;overflow:hidden}.faq-question{align-items:center;background-color:transparent;border:none;color:#24292f;color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:12px;justify-content:space-between;padding:16px;text-align:left;transition:background-color .2s ease;width:100%}.faq-question:hover{background-color:#f9fafb}.faq-question:focus{outline:2px solid #2563eb;outline:2px solid var(--upgrade-button-blue);outline-offset:-2px}.faq-chevron{color:#6c757d;color:var(--text-secondary);flex-shrink:0;height:20px;transition:transform .2s ease;width:20px}.faq-chevron.open{transform:rotate(180deg)}.faq-answer{color:#6c757d;color:var(--text-secondary);font-size:.938rem;line-height:1.6;max-height:0;overflow:hidden;padding:0 16px;transition:max-height .3s ease,padding .3s ease}.faq-answer.open{max-height:500px;padding:0 16px 16px}@media (min-width:768px){.paywall-modal-container{padding:40px}.features-grid{grid-template-columns:1fr 1fr}.status-title{font-size:2rem}.credits-number{font-size:4rem}}@media (min-width:1024px){.paywall-modal-container{max-width:700px}}@media (max-width:480px){.paywall-modal-container{gap:24px;padding:20px}.status-card{padding:20px}.upgrade-section{padding:24px}.status-title,.upgrade-title{font-size:1.5rem}.credits-number{font-size:3rem}.current-price{font-size:2rem}.pricing-display{gap:8px}}.loading-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.loading-modal{animation:slideUp .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.2);min-width:280px;padding:32px;text-align:center}.loading-spinner-container{margin-bottom:20px}.loading-spinner{border:4px solid #e1e4e8;height:48px;margin:0 auto;width:48px}.loading-message{color:#333;font-size:16px;font-weight:500;margin:0}.loading-message-line{margin:0;padding:4px 0}.loading-message-line:first-child{padding-top:0}.loading-message-line:last-child{padding-bottom:0}.collections-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.collections-header h2{color:#1a1a1a;font-size:28px;font-weight:600;margin:0}.create-collection-btn{align-items:center;background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:6px;padding:10px 20px;transition:background .2s}.create-collection-btn:hover{background:#1976d2}.search-container{margin-bottom:24px}.collections-search{max-width:600px;width:100%}.empty-state p{margin-bottom:20px}.create-first-btn{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background .2s}.create-first-btn:hover{background:#45a049}.modal-content{box-shadow:0 4px 20px rgba(0,0,0,.15);display:flex;flex-direction:column;max-width:90vw;width:1125px}.modal-with-scroll{overflow:hidden}.modal-header{border-bottom:1px solid #e5e7eb;color:#1a1a1a;flex-shrink:0;font-size:24px;font-weight:600;margin:0;padding:24px 32px 16px}.modal-body{flex-grow:1;max-height:calc(90vh - 180px);overflow-y:auto;padding:24px 32px;scroll-behavior:smooth}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-body::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:#555}.form-group label{color:#333}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:15px;padding:10px 14px;transition:border-color .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#2196f3;outline:none}.base-collection-select{background:#fff;cursor:pointer}.leetcode-preview{background:#e3f2fd;border-radius:6px;color:#1976d2;font-family:Monaco,Consolas,monospace;font-size:13px;margin-top:8px;padding:8px 12px}.modal-actions{align-items:center;justify-content:space-between;margin-top:28px}.modal-actions-sticky{background:#fff;border-top:1px solid #e5e7eb;bottom:0;flex-shrink:0;justify-content:flex-end;margin:0;padding:20px 32px;position:sticky;z-index:10}.right-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.browse-btn,.cancel-btn,.create-btn,.generate-ai-btn{border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:all .2s;white-space:nowrap}.cancel-btn{background:#fff}.cancel-btn,.cancel-btn:hover{border-color:rgba(27,31,35,.15)}.cancel-btn:hover{background:#f6f8fa}.create-btn{background:#2ea44f;border-color:rgba(27,31,35,.15)}.create-btn:hover:not(:disabled){background:#2c974b}.create-btn:disabled{opacity:.6}.browse-btn{background:#fff;border-color:#0969da;color:#0969da}.browse-btn:hover{background:#f6f8fa;border-color:#0969da}.generate-ai-btn{background:#8250df;border-color:rgba(27,31,35,.15);color:#fff}.generate-ai-btn:hover{background:#6f42c1}.my-collections-tab .collections-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:24px}@media (max-width:768px){.my-collections-tab .collections-grid{gap:16px;grid-template-columns:1fr}}.collection-card-wrapper{cursor:grab;transition:transform .2s ease}.collection-card-wrapper.dragging{cursor:grabbing;opacity:.5}.collection-card-wrapper.drag-over{transform:scale(1.02)}.collection-card-wrapper.drag-over .collection-card{border-color:#2196f3;box-shadow:0 0 0 3px rgba(33,150,243,.2)}.search-note{color:#666;font-size:13px;font-style:italic;margin-top:8px}.collections-search:not(:placeholder-shown)~.collections-grid .collection-card-wrapper{cursor:default}.drop-zone-end{align-items:center;background:#fafafa;border:2px dashed #ddd;border-radius:12px;display:flex;justify-content:center;min-height:280px;transition:all .2s ease}.drop-zone-end.drag-over{background:#e3f2fd;border-color:#2196f3;transform:scale(1.02)}.drop-zone-content{color:#999;font-size:14px;font-weight:500;pointer-events:none;text-align:center}.drop-zone-end.drag-over .drop-zone-content{color:#2196f3}.collections-grid{min-height:300px}.ai-modal .level-selector{display:flex;gap:12px;margin-top:8px}.level-btn{background:#fff;border:2px solid #ddd;border-radius:8px;cursor:pointer;flex:1 1;font-size:15px;font-weight:500;padding:12px 20px;transition:all .2s}.level-btn:hover{border-color:#9c27b0;color:#9c27b0}.level-btn.active{background:#9c27b0;border-color:#9c27b0;color:#fff}.input-with-suffix{align-items:center;display:flex;gap:8px}.input-with-suffix input{flex:1 1;max-width:120px}.suffix{color:#666}.generate-btn,.suffix{font-size:15px;font-weight:500}.generate-btn{background:#9c27b0;border:none;border-radius:8px;color:#fff;cursor:pointer;padding:10px 24px;transition:all .2s}.generate-btn:hover:not(:disabled){background:#7b1fa2}.generate-btn:disabled{cursor:not-allowed;opacity:.5}.ai-section-divider{background:#d1d5db;height:1px;margin:24px 0 20px}.ai-checkbox-wrapper{margin-bottom:20px}.ai-checkbox-label{align-items:center;background:#f6f8fa;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;display:inline-flex;font-weight:500;padding:12px 16px;transition:all .2s}.ai-checkbox-label:hover{background:#f0f4f8;border-color:#2196f3}.ai-checkbox{cursor:pointer;height:16px;margin-right:8px;width:16px}.ai-options-section{animation:slideDown .3s ease;background:#f6f8fa;border:1px solid #d1d5db;border-radius:8px;padding:20px}.ai-form-row{grid-gap:32px;display:grid;gap:32px;grid-template-columns:1.5fr 1fr;margin-bottom:20px}.form-group-inline{margin-bottom:0}.form-group-inline label{color:#333;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.radio-group{gap:20px}.radio-group,.radio-label{align-items:center;display:flex}.radio-label{cursor:pointer;font-size:14px}.radio-label input[type=radio]{cursor:pointer;margin-right:6px}.radio-label span{-webkit-user-select:none;user-select:none}.timeframe-input{border:1px solid #ddd;border-radius:8px;font-size:15px;padding:10px 14px;transition:border-color .2s;width:80px!important}.timeframe-input:focus{border-color:#2196f3;outline:none}.document-upload-area{background:#fafbfc;border:2px dashed #d1d5db;border-radius:8px;padding:24px;text-align:center;transition:all .2s}.document-upload-area:hover{background:#f6f8fa;border-color:#2196f3}.upload-link{color:#0969da;cursor:pointer;font-weight:500;text-decoration:none}.upload-link:hover{text-decoration:underline}.upload-info{color:#666;margin-top:8px}.upload-info,.upload-status{font-size:13px;margin-bottom:0}.upload-status{margin-top:10px}.upload-status.error{color:#dc3545}.upload-status.success{color:#28a745}.uploaded-files{margin-top:15px}.uploaded-files h4{font-size:14px;font-weight:500;margin-bottom:10px}.uploaded-file-item{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.file-info{color:#333;font-size:13px}.remove-file-btn{align-items:center;background:none;border:none;color:#dc3545;cursor:pointer;display:flex;font-size:20px;height:20px;justify-content:center;line-height:1;padding:0;transition:color .2s;width:20px}.remove-file-btn:hover{color:#c82333}.leetcode-input{font-family:Monaco,Consolas,monospace;font-size:14px;min-height:60px!important;resize:vertical}.browse-collections-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.browse-filter-select{background:#fff;border:1px solid #d1d9e0;border-radius:8px;color:#333;cursor:pointer;font-family:inherit;font-size:14px;min-width:160px;padding:10px 16px;transition:all .2s}.browse-filter-select:focus,.browse-filter-select:hover{border-color:#2196f3;box-shadow:0 0 0 3px rgba(33,150,243,.1)}.browse-filter-select:focus{outline:none}.browse-clear-filters-btn{background:transparent;border:1px solid #dc3545;border-radius:8px;color:#dc3545;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s;white-space:nowrap}.browse-clear-filters-btn:hover{background:#dc3545;color:#fff;transform:translateY(-1px)}.browse-clear-filters-btn:active{transform:translateY(0)}@media (max-width:768px){.browse-collections-filters{width:100%}.browse-filter-select{flex:1 1;min-width:140px}}.tab-header{margin-bottom:32px}.tab-header h2{color:#1a1a1a;font-size:28px;font-weight:600;margin:0 0 12px}.tab-description{color:#666;font-size:16px;margin:0}.filters-container{margin-bottom:32px}.browse-search-section{display:flex;justify-content:flex-start;margin-bottom:20px}.collections-search{border:1px solid #ddd;border-radius:8px;font-size:15px;max-width:100%;padding:12px 20px;transition:border-color .2s;width:600px}.collections-search:focus{border-color:#2196f3;box-shadow:0 0 0 3px rgba(33,150,243,.1);outline:none}.empty-state,.loading-state{color:#666;padding:60px 20px;text-align:center}.empty-state p{font-size:16px;margin:0}.browse-collections-tab .collections-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:24px}@media (max-width:768px){.browse-collections-tab{padding:16px}.tab-header h2{font-size:24px}.browse-collections-tab .collections-grid{gap:16px;grid-template-columns:1fr}}.modal-backdrop{animation:fadeIn .2s ease-out;background-color:rgba(0,0,0,.5)}.modal-content{animation:slideIn .2s ease-out;border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1),0 2px 4px rgba(0,0,0,.06);max-width:500px;padding:24px}.modal-content h3{color:#24292e;font-size:20px;font-weight:600;margin:0 0 12px}.modal-description{color:#586069;font-size:14px;line-height:1.5;margin:0 0 20px}.form-group{margin-bottom:20px}.form-group label{color:#24292e;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{border:1px solid #d1d9e0;border-radius:6px;font-size:14px;padding:10px 12px;transition:all .2s;width:100%}.form-group input:focus{border-color:#2196f3;box-shadow:0 0 0 3px rgba(33,150,243,.1);outline:none}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.cancel-btn,.create-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s}.cancel-btn{background:#f6f8fa;border:1px solid #d1d9e0;color:#24292e}.cancel-btn:hover{background:#f3f4f6;border-color:#c9d1d9}.create-btn{background:#28a745;color:#fff}.create-btn:hover:not(:disabled){background:#218838}.create-btn:disabled{cursor:not-allowed;opacity:.5}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.github-chat-backdrop{animation:fadeIn .3s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:rgba(0,0,0,.05);inset:0;position:fixed;transition:opacity .3s cubic-bezier(.4,0,.2,1);z-index:40}.github-chat-side-panel{animation:slideInRight .3s cubic-bezier(.4,0,.2,1);background:#fff;border-left:1px solid #d0d7de;bottom:0;box-shadow:-2px 0 12px rgba(0,0,0,.08);display:flex;flex-direction:column;position:fixed;right:0;top:0;width:450px;z-index:50}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.github-chat-header{background:linear-gradient(180deg,#fff,#f6f8fa);border-bottom:1px solid #d0d7de;box-shadow:0 1px 0 rgba(9,105,218,.05);flex-shrink:0;padding:16px 20px}.github-chat-messages{background:#fff;display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto;padding:16px}.github-chat-messages::-webkit-scrollbar{width:8px}.github-chat-messages::-webkit-scrollbar-track{background:#f6f8fa}.github-chat-messages::-webkit-scrollbar-thumb{background:#d0d7de;border-radius:4px}.github-chat-messages::-webkit-scrollbar-thumb:hover{background:#afb8c1}.github-chat-input{background:linear-gradient(180deg,#f6f8fa,#fff);border-top:1px solid #d0d7de;box-shadow:0 -1px 0 rgba(9,105,218,.05);flex-shrink:0;padding:16px 20px}.github-message-user{align-self:flex-end;background:linear-gradient(135deg,#0969da,#0550ae);border:1px solid hsla(0,0%,100%,.1);border-radius:12px 12px 4px 12px;box-shadow:0 2px 8px rgba(9,105,218,.25);color:#fff}.github-message-assistant,.github-message-user{word-wrap:break-word;font-size:14px;line-height:1.5;max-width:85%;padding:10px 14px}.github-message-assistant{align-self:flex-start;background:#fff;border:1px solid #d0d7de;border-radius:12px 12px 12px 4px;box-shadow:0 1px 3px rgba(0,0,0,.06);color:#1f2328}.github-message-assistant .markdown-content{color:#1f2328}.github-message-assistant .markdown-content p:last-child{margin-bottom:0}.github-message-assistant pre{background:#1f2328;border-radius:6px;color:#e6edf3;font-size:13px;line-height:1.6;margin:8px 0;overflow-x:auto;padding:12px}.github-message-assistant code{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.github-message-assistant pre code{background:transparent;border:none;color:inherit;padding:0}.github-message-assistant :not(pre)>code{background:#eaeef2;border-radius:3px;color:#cf222e;font-size:85%;padding:2px 6px}.github-chat-loading{align-items:center;align-self:flex-start;background:#f6f8fa;border:1px solid #d0d7de;border-radius:12px;color:#656d76;display:flex;font-size:14px;gap:8px;padding:10px 14px}.github-chat-loading-dots{display:inline-flex;gap:4px}.github-chat-loading-dot{animation:bounce 1.4s ease-in-out infinite both;background:#656d76;border-radius:50%;height:6px;width:6px}.github-chat-loading-dot:first-child{animation-delay:-.32s}.github-chat-loading-dot:nth-child(2){animation-delay:-.16s}.github-chat-empty{align-items:center;background:linear-gradient(135deg,rgba(9,105,218,.02),rgba(9,105,218,.06));border-radius:12px;display:flex;flex:1 1;flex-direction:column;justify-content:center;margin:8px;padding:40px 20px;text-align:center}.github-chat-empty-icon{color:#0969da;filter:drop-shadow(0 2px 4px rgba(9,105,218,.1));height:64px;margin-bottom:16px;opacity:.6;width:64px}.github-chat-empty h4{color:#0e1116;font-size:16px;font-weight:600;margin-bottom:8px}.github-chat-empty p{color:#59636e;font-size:14px;line-height:1.5;max-width:320px}.github-chat-empty .github-chat-context-note{color:#8b949e;font-size:12px;font-style:italic;margin-top:12px}@media (max-width:768px){.github-chat-side-panel{border-left:none;width:100%}.github-message-assistant,.github-message-user{max-width:90%}}@media (min-width:1400px){.github-chat-side-panel{width:500px}}@media (max-width:1024px) and (min-width:769px){.github-chat-side-panel{width:400px}}.github-ai-assistant-btn{align-items:center;animation:sparkleGlow 2.5s ease-in-out infinite;background:linear-gradient(135deg,gold,#a78bfa 50%,#06b6d4);border:none;border-radius:14px;box-shadow:0 0 25px rgba(255,215,0,.5),0 0 50px rgba(167,139,250,.3),0 0 75px rgba(6,182,212,.2),0 4px 15px rgba(0,0,0,.2);color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;margin-right:8px;outline:none;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:48px}.github-ai-assistant-btn .ai-icon{animation:sparkleRotate 4s linear infinite}@keyframes sparkleGlow{0%,to{box-shadow:0 0 25px rgba(255,215,0,.5),0 0 50px rgba(167,139,250,.3),0 0 75px rgba(6,182,212,.2),0 4px 15px rgba(0,0,0,.2)}50%{box-shadow:0 0 40px rgba(255,215,0,.7),0 0 70px rgba(167,139,250,.5),0 0 100px rgba(6,182,212,.3),0 6px 20px rgba(0,0,0,.25)}}@keyframes sparkleRotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.github-ai-assistant-btn:hover{background:linear-gradient(135deg,#fde047,#c084fc 50%,#22d3ee);box-shadow:0 0 45px rgba(255,215,0,.8),0 0 85px rgba(167,139,250,.6),0 0 120px rgba(6,182,212,.4),0 8px 25px rgba(0,0,0,.3);transform:scale(1.1)}.github-ai-assistant-btn:hover .ai-icon{animation:sparkleRotate 1.5s linear infinite}.github-ai-assistant-btn:active{box-shadow:0 0 20px rgba(255,215,0,.6),0 0 40px rgba(167,139,250,.4),0 0 60px rgba(6,182,212,.3),0 2px 10px rgba(0,0,0,.25);transform:scale(.95)}.github-ai-assistant-btn:focus-visible{outline:3px solid gold;outline-offset:2px}.github-ai-assistant-btn.discovered{animation:none;box-shadow:0 0 15px rgba(255,215,0,.3),0 0 30px rgba(167,139,250,.2),0 0 45px rgba(6,182,212,.1),0 3px 12px rgba(0,0,0,.15)}.github-ai-assistant-btn.discovered .ai-icon{animation:none}.github-ai-assistant-btn.discovered:hover{background:linear-gradient(135deg,#fde047,#c084fc 50%,#22d3ee);box-shadow:0 0 30px rgba(255,215,0,.5),0 0 55px rgba(167,139,250,.4),0 0 80px rgba(6,182,212,.3),0 6px 20px rgba(0,0,0,.25);transform:scale(1.1)}.github-ai-assistant-btn.discovered:hover .ai-icon{animation:none}.github-ai-assistant-btn .history-indicator{background:#2da44e;border:2px solid #fff;border-radius:50%;box-shadow:0 0 4px rgba(45,164,78,.5);height:8px;position:absolute;right:4px;top:4px;width:8px}.github-ai-assistant-btn.has-history .history-indicator{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}kbd{color:#1f2328;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:11px;font-weight:500}.github-chat-input textarea{color:#1f2328;font-weight:400}.github-chat-input textarea::placeholder{color:#59636e;opacity:1}.github-chat-input textarea:focus::placeholder{color:#8b949e}.github-chat-input .text-xs{color:#59636e;font-weight:400}.github-chat-input button[type=submit]{background:linear-gradient(180deg,#1168e3,#0550ae);box-shadow:0 1px 3px rgba(9,105,218,.25),inset 0 1px 0 hsla(0,0%,100%,.15);font-weight:500;transition:all .15s ease}.github-chat-input button[type=submit]:hover:not(:disabled){background:linear-gradient(180deg,#0969da,#033d8b);box-shadow:0 2px 6px rgba(9,105,218,.35),inset 0 1px 0 hsla(0,0%,100%,.15);transform:translateY(-1px)}.github-chat-input button[type=submit]:active:not(:disabled){background:linear-gradient(180deg,#0550ae,#033d8b);box-shadow:inset 0 2px 4px rgba(0,0,0,.15);transform:translateY(0)}.github-chat-header button:focus-visible,.github-chat-input button:focus-visible{outline:2px solid #0969da;outline-offset:2px}@media print{.github-chat-backdrop,.github-chat-side-panel{display:none}}@media (prefers-reduced-motion:reduce){.github-ai-assistant-btn.has-history .history-indicator,.github-chat-backdrop,.github-chat-loading-dot,.github-chat-side-panel{animation:none;transition:none}.github-chat-side-panel{transform:translateX(0)}}@media (prefers-contrast:high){.github-chat-side-panel{border-left:2px solid #000}.github-message-user{border:2px solid #0969da}.github-message-assistant{border:2px solid #d0d7de}}.home-page{background:#f8f9fa;min-height:100vh}.tabs-container{background:#fff;border-bottom:1px solid #e0e0e0;position:sticky;top:60px;width:100%;z-index:200}.tabs{display:flex;margin:0 auto;max-width:1400px;padding:0 24px}.tab{background:none;border:none;border-bottom:3px solid transparent;color:#666;cursor:pointer;font-size:16px;font-weight:500;margin-bottom:-1px;padding:16px 24px;position:relative;transition:color .2s}.tab.active,.tab:hover{color:#2196f3}.tab.active{border-bottom-color:#2196f3}.tab-content-container{background:#f8f9fa;min-height:calc(100vh - 120px);width:100%}.tab-content{margin:0 auto;max-width:1400px;padding:24px}.collection-filters{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.filter-select{background:#fff;border:1px solid #d1d9e0;border-radius:8px;color:#333;cursor:pointer;font-family:inherit;font-size:14px;min-width:140px;padding:10px 16px;transition:all .2s}.filter-select:focus,.filter-select:hover{border-color:#2196f3;box-shadow:0 0 0 3px rgba(33,150,243,.1)}.filter-select:focus{outline:none}.clear-filters-btn{background:transparent;border:1px solid #dc3545;border-radius:8px;color:#dc3545;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s;white-space:nowrap}.clear-filters-btn:hover{background:#dc3545;color:#fff;transform:translateY(-1px)}.clear-filters-btn:active{transform:translateY(0)}@media (max-width:768px){.collection-filters{width:100%}.filter-select{flex:1 1;min-width:120px}}.modal-backdrop{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.add-problems-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.15);max-width:500px;padding:32px;width:90%}.add-problems-modal .modal-title{color:#1a1a1a;font-size:24px;font-weight:600;margin:0 0 24px}.add-problems-modal .modal-body{margin-bottom:24px}.add-problems-modal .form-label{color:#1a1a1a;display:block;font-size:14px;font-weight:500;margin-bottom:12px}.add-problems-modal .leetcode-input{border:1px solid #e0e0e0;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;font-size:14px;line-height:1.5;padding:12px;resize:vertical;transition:border-color .2s;width:100%}.add-problems-modal .leetcode-input:focus{border-color:#4caf50;outline:none}.add-problems-modal .leetcode-input::placeholder{color:#999;line-height:1.5}.add-problems-modal .leetcode-input:disabled{background:#f5f5f5;cursor:not-allowed}.add-problems-modal .help-text{color:#666;font-size:13px;line-height:1.4;margin-top:8px}.add-problems-modal .error-text{color:#f44336;font-size:13px;line-height:1.4;margin-top:8px}.add-problems-modal .modal-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.add-problems-modal .btn-cancel{background:#fff;border:1px solid #e0e0e0;border-radius:8px;color:#666;cursor:pointer;font-size:15px;font-weight:500;padding:10px 24px;transition:all .2s}.add-problems-modal .btn-cancel:hover:not(:disabled){background:#f5f5f5;border-color:#d0d0d0}.add-problems-modal .btn-cancel:disabled{cursor:not-allowed;opacity:.5}.add-problems-modal .btn-add-collection{align-items:center;background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:8px;padding:10px 24px;transition:all .2s}.add-problems-modal .btn-add-collection:hover:not(:disabled){background:#45a049;box-shadow:0 2px 8px rgba(76,175,80,.3);transform:translateY(-1px)}.add-problems-modal .btn-add-collection:disabled{background:#ccc;cursor:not-allowed;transform:none}.add-problems-modal .btn-add-collection .arrow{font-size:18px;transition:transform .2s}.add-problems-modal .btn-add-collection:hover:not(:disabled) .arrow{transform:translateX(2px)}.add-problems-modal .loading-spinner{animation:spin .8s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.add-problems-modal .generate-missing-option{align-items:center;display:flex;margin-bottom:12px;margin-top:16px}.add-problems-modal .generate-missing-option input[type=checkbox]{cursor:pointer;height:18px;margin-right:8px;width:18px}.add-problems-modal .generate-missing-option label{color:#1a1a1a;cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none}.add-problems-modal .generate-missing-option input[type=checkbox]:disabled,.add-problems-modal .generate-missing-option label:has(+input:disabled){cursor:not-allowed;opacity:.6}.generation-progress-overlay{align-items:center;animation:fadeIn .3s ease-in-out;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.generation-progress-container{animation:slideUp .4s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:500px;padding:40px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ai-brain-container{display:flex;justify-content:center;margin-bottom:30px}.ai-brain{filter:drop-shadow(0 4px 20px rgba(102,126,234,.4))}.brain-outline{animation:pulse 2s ease-in-out infinite}.neurons{animation:rotate 10s linear infinite;transform-origin:100px 100px}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.neuron-dot,.neuron-line{animation:neuronPulse 1.5s ease-in-out infinite}.neuron-0{animation-delay:0s}.neuron-1{animation-delay:.2s}.neuron-2{animation-delay:.4s}.neuron-3{animation-delay:.6s}.neuron-4{animation-delay:.8s}.neuron-5{animation-delay:1s}.neuron-6{animation-delay:1.2s}.neuron-7{animation-delay:1.4s}@keyframes neuronPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.generation-info{color:#fff;text-align:center}.generation-title{font-size:24px;font-weight:600;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.2)}.generation-status{font-size:16px;margin-bottom:20px;opacity:.95}.progress-bar-container{margin-bottom:25px;position:relative}.progress-bar{border-radius:10px;height:8px}.progress-fill{background:linear-gradient(90deg,#f093fb,#f5576c);border-radius:10px;overflow:hidden;position:relative;transition:width .5s ease-out}.progress-fill:after{animation:shimmer 2s infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.4),transparent);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-text{color:hsla(0,0%,100%,.95);font-size:14px;font-weight:600;position:absolute;right:0;top:-25px}.generation-stats{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin-bottom:20px}.stat-item{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border-radius:20px;display:flex;gap:8px;padding:8px 16px}.stat-icon{font-size:18px;font-weight:700}.stat-item.success .stat-icon{color:#4ade80}.stat-item.error .stat-icon{color:#f87171}.stat-item.pending .stat-icon{color:#fbbf24}.stat-label{opacity:.9}.stat-value{font-size:16px;font-weight:600;margin-left:4px}.time-estimate{font-size:14px;font-style:italic;margin-top:15px;opacity:.85}.generation-message{background:hsla(0,0%,100%,.15);border-radius:10px;font-size:15px;line-height:1.5;margin-top:20px;padding:12px 20px}.generation-message.complete{background:rgba(74,222,128,.2);border:1px solid rgba(74,222,128,.4)}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.collection-page{background:#f8f9fa;min-height:100vh;padding:24px}.error-container,.loading-container{align-items:center;color:#666;display:flex;font-size:18px;justify-content:center;min-height:60vh}.collection-header{margin:0 auto 32px;max-width:1200px}.back-button{align-items:center;background:none;border:none;border-radius:6px;color:#2196f3;cursor:pointer;display:inline-flex;font-size:15px;gap:4px;margin-bottom:16px;padding:8px 12px;transition:background .2s}.back-button:hover{background:rgba(33,150,243,.1)}.collection-info{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:24px}.collection-actions{border-top:1px solid #e0e0e0;margin-top:20px;padding-top:20px}.delete-collection-btn{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 20px;transition:background .2s}.delete-collection-btn:hover{background:#c82333}.collection-name{align-items:center;color:#1a1a1a;cursor:pointer;display:inline-flex;font-size:32px;font-weight:600;gap:12px;margin:0 0 12px;transition:color .2s}.collection-name:hover{color:#2196f3}.collection-desc{align-items:center;color:#666;cursor:pointer;display:inline-flex;font-size:16px;gap:12px;margin:0 0 20px;transition:color .2s}.collection-desc:hover{color:#333}.edit-icon{font-size:16px;opacity:0;transition:opacity .2s}.collection-desc:hover .edit-icon,.collection-name:hover .edit-icon{opacity:.6}.edit-desc,.edit-name{margin-bottom:12px}.desc-input,.name-input{border:2px solid #2196f3;border-radius:6px;font-family:inherit;font-size:inherit;outline:none;padding:8px 12px;width:100%}.name-input{font-size:32px;font-weight:600}.desc-input{font-size:16px;resize:vertical}.collection-stats{color:#999;display:flex;font-size:14px;gap:12px;margin-top:16px}.separator{color:#ddd}.action-bar{justify-content:flex-start;margin:24px auto;max-width:1200px}.btn-add-more{align-items:center;background:#5b7fff;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-add-more:hover{background:#4a6fee;box-shadow:0 4px 12px rgba(91,127,255,.3);transform:translateY(-1px)}.btn-add-more .plus-icon{font-size:18px;font-weight:700}.btn-manage-sequence{align-items:center;background:#fff;border:1px solid #5b7fff;border-radius:8px;color:#5b7fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .2s ease}.btn-manage-sequence:hover{background:#f0f4ff;box-shadow:0 4px 12px rgba(91,127,255,.15);transform:translateY(-1px)}.btn-manage-sequence .sequence-icon{font-size:16px;font-weight:700}.search-section{margin:0 auto 24px;max-width:1200px}.search-bar-with-button{align-items:flex-start;display:flex;gap:12px}.search-bar-with-button .collection-search-container{flex:1 1}.add-more-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 2px 8px rgba(102,126,234,.3);color:#fff;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;padding:10px 20px;transition:all .3s ease;white-space:nowrap}.add-more-btn:hover{box-shadow:0 4px 12px rgba(102,126,234,.4);transform:translateY(-1px)}.add-more-btn:active{transform:translateY(0)}.collection-search-container{width:100%}.collection-search-container .search-form{margin-bottom:12px;width:100%}.collection-search-container .search-input-container{align-items:center;background:#fff;border:1px solid #d1d9e0;border-radius:8px;display:flex;padding:8px 12px;position:relative;transition:all .2s}.collection-search-container .search-input-container:focus-within{border-color:#2196f3;box-shadow:0 0 0 3px rgba(33,150,243,.1)}.collection-search-container .search-icon{align-items:center;color:#666;display:flex;margin-right:8px}.collection-search-container .search-input{background:transparent;border:none;color:#333;flex:1 1;font-size:15px;outline:none}.collection-search-container .clear-button{align-items:center;background:none;border:none;color:#999;cursor:pointer;display:flex;margin-right:8px;padding:4px;transition:color .2s}.collection-search-container .clear-button:hover{color:#666}.collection-search-container .search-button{align-items:center;background:#2196f3;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 20px;transition:background .2s}.collection-search-container .search-button:hover:not(:disabled){background:#1976d2}.collection-search-container .search-button:disabled{cursor:not-allowed;opacity:.5}.search-options{align-items:center;display:flex;justify-content:space-between;padding:0 4px}.collection-search-checkbox{align-items:center;border-radius:4px;color:#333;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:4px 8px;transition:background .2s;-webkit-user-select:none;user-select:none}.collection-search-checkbox:hover{background:rgba(33,150,243,.08)}.collection-search-checkbox input[type=checkbox]:checked+span{color:#2196f3;font-weight:500}.collection-search-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.collection-search-checkbox:hover{color:#2196f3}.search-options .search-tips{align-items:center;color:#666;display:flex;font-size:13px;gap:6px}.search-options .tips-icon{font-size:14px}.search-mode-toggle{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05);display:flex;margin-bottom:16px;padding:4px}.mode-btn{background:none;border:none;border-radius:6px;color:#666;cursor:pointer;flex:1 1;font-size:15px;font-weight:500;padding:10px 20px;transition:all .2s}.mode-btn:hover{color:#333}.mode-btn.active{background:#2196f3;color:#fff}.search-notice{background:#e3f2fd;border-radius:8px;color:#1976d2;font-size:14px;margin:-8px auto 16px;max-width:1200px;padding:12px 20px}.problems-section{margin:0 auto;max-width:1200px}.empty-problems{background:#fff;border-radius:12px;color:#666;padding:60px 20px;text-align:center}.empty-problems p{font-size:16px;margin-bottom:20px}.add-first-btn{background:#4caf50;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background .2s}.add-first-btn:hover{background:#45a049}.collection-problem-wrapper{margin-bottom:24px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.collection-problem-wrapper.problem-highlight{animation:highlightProblem 2s ease}@keyframes highlightProblem{0%{box-shadow:0 0 0 0 rgba(33,150,243,.4);transform:scale(1)}50%{box-shadow:0 0 20px 10px rgba(33,150,243,.2);transform:scale(1.02)}to{box-shadow:0 0 0 0 rgba(33,150,243,0);transform:scale(1)}}.collection-add-btn,.collection-remove-btn{align-items:center;background:#f6f8fa;border:1px solid #d1d9e0;border-radius:6px;box-shadow:0 1px 2px rgba(27,31,36,.04);cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.collection-add-btn:hover,.collection-remove-btn:hover{background:#f3f4f6;border-color:#d1d9e0;box-shadow:0 1px 3px rgba(27,31,36,.12)}.collection-add-btn{background:#28a745;border-color:#28a745;color:#fff;font-weight:500;gap:4px;padding:8px 12px}.collection-add-btn:hover{background:#218838;border-color:#1e7e34;transform:translateY(-1px)}.collection-add-btn:active{transform:translateY(0)}.collection-remove-btn{background:#fff;border-color:#d1d9e0}.collection-remove-btn:hover:not(:disabled){background:#ffebe9;border-color:rgba(255,129,130,.4)}.collection-remove-btn:disabled{cursor:not-allowed;opacity:.5}.problem-header-actions{align-items:center;display:flex;gap:8px}.in-collection-indicator{align-items:center;background:#dafbe1;border:1px solid rgba(74,194,107,.4);border-radius:6px;display:flex;justify-content:center;padding:8px}@media (max-width:768px){.collection-add-btn,.collection-remove-btn,.in-collection-indicator{margin:8px 4px;position:static}}.search-expansion{background:#f5f5f5;border-radius:8px;margin-top:24px;padding:20px;text-align:center}.search-expansion p{color:#666;margin-bottom:16px}.expand-hint{color:#1565c0!important;font-size:14px;font-style:italic;margin-bottom:0!important}.expand-search-btn{background:#2196f3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:background .2s}.expand-search-btn:hover{background:#1976d2}.generating-container{background:#fff;border-radius:12px;color:#666;padding:60px 20px;text-align:center}.generating-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#2196f3;height:40px;margin:0 auto 20px;width:40px}.generate-hint{color:#999;font-size:14px;font-style:italic;margin-top:12px}.sequence-page{background:#f5f7fa;margin:0 auto;max-width:1000px;min-height:100vh;padding:24px}.sequence-page .back-link{align-items:center;background:none;border:none;color:#2563eb;cursor:pointer;display:inline-flex;font-family:inherit;font-size:14px;gap:6px;margin-bottom:20px;padding:0;text-decoration:none}.sequence-page .back-link:hover{text-decoration:underline}.sequence-header{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.08);display:flex;justify-content:space-between;margin-bottom:16px;padding:24px}.sequence-header-left{flex:1 1}.sequence-title{color:#1e293b;font-size:24px;font-weight:700;margin:0 0 4px}.sequence-subtitle{color:#64748b;font-size:14px;margin:0}.system-badge{background:#f1f5f9;border-radius:16px;display:inline-flex;font-size:12px;font-weight:500;gap:4px;padding:6px 12px}.sequence-meta,.system-badge{align-items:center;color:#64748b}.sequence-meta{display:flex;flex-wrap:wrap;font-size:13px;gap:12px;margin-bottom:16px}.sequence-meta .separator{color:#cbd5e1}.completion-summary{align-items:center;display:flex;gap:8px}.completion-bar{background:#e2e8f0;border-radius:3px;height:6px;overflow:hidden;width:100px}.completion-fill{background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:3px;height:100%;transition:width .3s ease}.info-box{align-items:flex-start;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:16px 20px}.info-icon{flex-shrink:0;font-size:18px}.info-content{color:#1e40af;font-size:14px;line-height:1.5}.info-content strong{font-weight:600}.quick-reorder{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding:12px 16px}.quick-reorder-label{color:#64748b;font-size:13px;font-weight:500}.quick-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;padding:6px 12px;transition:all .2s}.quick-btn:hover{background:#f9fafb;border-color:#9ca3af}.action-bar{flex-wrap:wrap;justify-content:space-between;margin-bottom:16px}.action-bar,.action-left,.action-right{align-items:center;display:flex;gap:12px}.btn{border-radius:8px;font-weight:500;gap:6px;padding:10px 20px;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:#2563eb}.btn-primary:hover:not(:disabled){background:#1d4ed8}.btn-ghost{background:transparent;border:1px solid #e2e8f0;color:#64748b}.btn-ghost:hover:not(:disabled){background:#f1f5f9;color:#374151}.drag-mode-toggle{align-items:center;color:#64748b;display:flex;font-size:14px;gap:8px}.toggle-switch{background:#d1d5db;border-radius:12px;cursor:pointer;height:24px;position:relative;transition:background .2s;width:44px}.toggle-switch.active{background:#2563eb}.toggle-switch:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.15);content:"";height:20px;left:2px;position:absolute;top:2px;transition:transform .2s;width:20px}.toggle-switch.active:after{transform:translateX(20px)}.problem-list{background:#fff;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.08);margin-bottom:100px;overflow:hidden}.list-header{grid-gap:12px;color:#64748b;display:grid;font-size:12px;gap:12px;grid-template-columns:70px 60px 1fr 100px 100px 70px;letter-spacing:.05em;padding:14px 20px;text-transform:uppercase}.list-header,.section-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;font-weight:600}.section-header{color:#475569;font-size:13px;padding:12px 20px}.section-header.pinned-section{background:#fef3c7;color:#92400e}.section-header.unpinned-section{background:#f1f5f9;margin-top:8px}.pin-icon{font-size:14px}.problem-item{grid-gap:12px;align-items:center;border-bottom:1px solid #f1f5f9;display:grid;gap:12px;grid-template-columns:70px 60px 1fr 100px 100px 70px;padding:16px 20px;transition:background .2s}.problem-item:last-child{border-bottom:none}.problem-item:hover{background:#f8fafc}.problem-item.dragging{background:#dbeafe!important;border:2px dashed #3b82f6;box-shadow:0 4px 12px rgba(37,99,235,.2);opacity:.6}.problem-item{-webkit-user-drag:element;isolation:isolate;-webkit-user-select:none;user-select:none}.problem-item.drag-over{border-top:3px solid #2563eb;margin-top:-1px}.seq-number{align-items:center;display:flex;gap:8px}.drag-handle{border-radius:4px;color:#94a3b8;cursor:grab;font-size:16px;padding:4px 2px;transition:all .15s ease;-webkit-user-select:none;user-select:none}.drag-handle:hover{background:#f1f5f9;color:#64748b}.drag-handle:active{background:#e2e8f0;color:#475569;cursor:grabbing}.drag-handle.disabled{color:#d1d5db;cursor:default;pointer-events:none}body.is-dragging,body.is-dragging *{cursor:grabbing!important}.seq-display{color:#374151;font-size:14px;font-weight:500;min-width:24px;text-align:center}.checkbox,.checkbox-wrapper{display:flex;justify-content:center}.checkbox{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:4px;height:20px;transition:all .2s;width:20px}.checkbox.checked{background:#22c55e;border-color:#22c55e}.checkbox.checked:after{color:#fff;content:"\2713";font-size:12px;font-weight:700}.problem-title{align-items:flex-start;flex-direction:column;gap:2px;min-width:0}.title-text{color:#1e293b;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leetcode-num{color:#64748b;font-size:13px}.tags{gap:6px}.tag{border-radius:12px;font-size:11px;padding:4px 10px}.tag-easy{background:#dcfce7;color:#166534}.tag-medium{background:#fef3c7;color:#92400e}.tag-hard{background:#fee2e2;color:#991b1b}.move-buttons{flex-direction:column;gap:2px}.move-btn,.move-buttons{align-items:center;display:flex}.move-btn{background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;font-size:10px;height:20px;justify-content:center;transition:all .2s;width:28px}.move-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.move-btn:disabled{cursor:not-allowed;opacity:.3}.unsaved-banner{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;bottom:24px;box-shadow:0 4px 20px rgba(0,0,0,.15);display:flex;gap:16px;left:50%;padding:16px 24px;position:fixed;transform:translateX(-50%);z-index:100}.unsaved-text{color:#374151;font-size:14px}.unsaved-text strong{color:#dc2626}.error-container{align-items:center;color:#64748b;display:flex;font-size:18px;justify-content:center;min-height:50vh}@media (max-width:768px){.sequence-page{padding:16px}.list-header,.problem-item{gap:8px;grid-template-columns:50px 40px 1fr 60px;padding:12px 16px}.list-header span:nth-child(5),.list-header span:nth-child(6),.problem-item .move-buttons,.problem-item .tags{display:none}.quick-reorder{align-items:flex-start;flex-direction:column}.action-bar{align-items:stretch;flex-direction:column}.action-left,.action-right{justify-content:space-between}}.payment-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.payment-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:600px;padding:48px 40px;text-align:center;width:100%}.icon-container{display:flex;justify-content:center;margin-bottom:24px}.canceled-icon,.success-icon{animation:scaleIn .5s ease-out;height:80px;width:80px}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.payment-title{color:#1f2937;font-size:32px;font-weight:700;margin-bottom:16px}.payment-message{color:#6b7280;font-size:16px;line-height:1.6;margin-bottom:32px}.features-list{list-style:none;margin:24px 0;padding:0;text-align:left}.features-list li{background:#f9fafb;border-radius:8px;color:#374151;font-size:15px;margin:8px 0;padding:12px 16px 12px 40px;position:relative}.features-list li:before{color:#10b981;content:"✓";font-size:18px;font-weight:700;left:16px;position:absolute}.payment-details{background:#f9fafb;border-radius:12px;margin:24px 0;padding:24px;text-align:left}.detail-item{color:#374151;font-size:15px;margin:12px 0}.detail-item strong{color:#1f2937;font-weight:600;margin-right:8px}.continue-button,.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin:24px 0 16px;padding:16px 48px;transition:transform .2s,box-shadow .2s;width:100%}.continue-button:hover,.retry-button:hover{box-shadow:0 10px 20px rgba(102,126,234,.3);transform:translateY(-2px)}.continue-button:active,.retry-button:active{transform:translateY(0)}.continue-free-button{background:transparent;border:2px solid #e5e7eb;border-radius:12px;color:#6b7280;cursor:pointer;font-size:16px;font-weight:600;margin:8px 0;padding:14px 48px;transition:all .2s;width:100%}.continue-free-button:hover{border-color:#9ca3af;color:#374151}.support-text{color:#9ca3af;font-size:14px;margin-top:24px}.benefits-reminder{background:#fffbeb;border:2px solid #fbbf24;border-radius:12px;margin:24px 0;padding:24px}.benefits-title{color:#92400e;font-size:18px;font-weight:600;margin-bottom:16px}.benefits-reminder .features-list{margin:16px 0}.benefits-reminder .features-list li{background:#fff}.promo-reminder{background:#fff;border-radius:8px;color:#92400e;font-size:15px;margin-top:16px;padding:16px}.promo-reminder strong{color:#dc2626}.action-buttons{display:flex;flex-direction:column;gap:12px;margin:24px 0}@media (max-width:640px){.payment-card{padding:32px 24px}.payment-title{font-size:24px}.payment-message{font-size:14px}.features-list li{font-size:14px;padding:10px 14px 10px 36px}.continue-button,.continue-free-button,.retry-button{font-size:15px;padding:14px 32px}}*{box-sizing:border-box}*,body{margin:0;padding:0}body{background:#f6f8fa;color:#24292f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;min-height:100vh;overflow-x:hidden}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.1);box-sizing:border-box;max-width:1400px;min-height:calc(100vh - 40px);padding:30px;width:100%}.header{-webkit-text-fill-color:transparent;background:linear-gradient(45deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;background-clip:text;margin-bottom:40px;text-align:center}.header h1{font-size:2.5rem;font-weight:700;margin-bottom:10px}.header p{color:#666;font-size:1.2rem;margin-top:10px}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.space-y-1>*+*{margin-top:.25rem}.space-y-2>*+*{margin-top:.5rem}.space-y-3>*+*{margin-top:.75rem}.space-y-4>*+*{margin-top:1rem}.space-y-6>*+*{margin-top:1.5rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.w-full{width:100%}.w-5{width:1.25rem}.w-4{width:1rem}.w-8{width:2rem}.w-12{width:3rem}.w-16{width:4rem}.w-24{width:6rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-12{height:3rem}.h-16{height:4rem}.h-24{height:6rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-12{margin-top:3rem}.mt-20{margin-top:5rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-8{padding-bottom:2rem;padding-top:2rem}.py-20{padding-bottom:5rem;padding-top:5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-6xl{font-size:3.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.leading-relaxed{line-height:1.625}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.transition-colors{transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}.rounded{border-radius:.25rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-l-4{border-left-width:4px}.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.animate-spin{animation:spin 1s linear infinite}.text-gray-400{color:#9ca3af}.text-gray-500{color:#6b7280}.text-gray-600{color:#4b5563}.text-gray-700{color:#374151}.text-gray-800{color:#1f2937}.text-gray-900{color:#111827}.text-blue-600{color:#2563eb}.text-blue-700{color:#1d4ed8}.text-blue-800{color:#1e40af}.text-green-600{color:#16a34a}.text-green-700{color:#15803d}.text-green-800{color:#166534}.text-yellow-600{color:#ca8a04}.text-yellow-700{color:#a16207}.text-yellow-800{color:#854d0e}.text-red-500{color:#ef4444}.text-red-600{color:#dc2626}.text-red-700{color:#b91c1c}.text-red-800{color:#991b1b}.text-white{color:#fff}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}.bg-gray-300{background-color:#d1d5db}.bg-gray-600{background-color:#4b5563}.bg-gray-700{background-color:#374151}.bg-gray-800{background-color:#1f2937}.bg-blue-50{background-color:#eff6ff}.bg-blue-100{background-color:#dbeafe}.bg-blue-500{background-color:#3b82f6}.bg-blue-600{background-color:#2563eb}.bg-blue-700{background-color:#1d4ed8}.bg-green-100{background-color:#dcfce7}.bg-yellow-100{background-color:#fef3c7}.bg-red-50{background-color:#fef2f2}.bg-red-100{background-color:#fee2e2}.border-gray-200{border-color:#e5e7eb}.border-gray-300{border-color:#d1d5db}.border-blue-500{border-color:#3b82f6}.border-green-200{border-color:#bbf7d0}.border-green-500{border-color:#22c55e}.border-yellow-500{border-color:#eab308}.border-red-200{border-color:#fecaca}.border-red-500{border-color:#ef4444}.hover\:bg-gray-50:hover{background-color:#f9fafb}.hover\:bg-gray-200:hover{background-color:#e5e7eb}.hover\:bg-gray-600:hover{background-color:#4b5563}.hover\:bg-gray-700:hover{background-color:#374151}.hover\:bg-blue-700:hover{background-color:#1d4ed8}.hover\:text-gray-600:hover{color:#4b5563}.hover\:text-gray-700:hover{color:#374151}.hover\:text-gray-800:hover{color:#1f2937}.hover\:text-red-800:hover{color:#991b1b}.focus\:border-blue-500:focus{border-color:#3b82f6}.focus\:outline-none:focus{outline:none}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:768px){.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:768px){.app-wrapper{padding:10px}.container{border-radius:15px;min-height:calc(100vh - 20px);padding:20px}.header h1{font-size:2rem}.header p{font-size:1rem}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}@media (min-width:640px){.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.list-inside{list-style-position:inside}.fixed{position:fixed}.inset-0{bottom:0;left:0;right:0;top:0}.z-50{z-index:50}.bg-black{background-color:#000}.bg-opacity-50{background-color:rgba(0,0,0,.5)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}.max-w-md{max-width:28rem}.mx-4{margin-right:1rem}.ml-4,.mx-4{margin-left:1rem}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.pt-4{padding-top:1rem}.border-t{border-top-width:1px}.opacity-75{opacity:.75}.flex-1{flex:1 1}.items-start{align-items:flex-start}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.text-purple-600{color:#9333ea}.text-purple-500{color:#a855f7}.text-purple-800{color:#6b21a8}.bg-purple-50{background-color:#faf5ff}.bg-purple-200{background-color:#e9d5ff}.bg-purple-600{background-color:#9333ea}.border-purple-200{border-color:#e9d5ff}.border-blue-200{border-color:#dbeafe}.border-t-blue-600{border-top-color:#2563eb}.border-t-transparent{border-top-color:transparent}.border-4{border-width:4px}.hidden-for-v1{display:none!important}.problem-card{word-wrap:break-word;background:#fff;border:1px solid #d1d9e0;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);box-sizing:border-box;margin-bottom:30px;max-width:100%;overflow:hidden;padding:0;transition:all .3s ease;word-break:break-word}.problem-card:hover{box-shadow:0 12px 35px rgba(0,0,0,.15);transform:translateY(-2px)}.problem-header{align-items:center;border-bottom:1px solid #d1d9e0;gap:10px;margin-bottom:0;padding:20px}.header-btn{align-items:center;background:#f6f8fa;border:1px solid #d1d9e0;border-radius:8px;color:#24292f;cursor:pointer;display:flex;height:40px;justify-content:center;transition:all .2s;width:40px}.header-btn:hover{background:#f3f4f6}.header-btn.robot{background:#28a745;border-color:#28a745;color:#fff}.header-btn.tag{background:#fd7e14;border-color:#fd7e14;color:#fff}.completion-checkmark{align-items:center;background:#28a745;border-radius:6px;color:#fff;display:flex;font-weight:700;height:32px;justify-content:center;margin-right:8px;width:32px}.problem-title{align-items:center;color:#24292f;display:flex;font-size:24px;font-weight:600;gap:12px;min-width:250px}.completion-checkmark{font-size:1.1em;margin-right:5px}.problem-id{color:#6c757d;font-size:.85em;font-weight:400}.leetcode-number{color:#718096;font-size:.85em;font-weight:500}.pattern-section{background:#f6f8fa;border:1px solid #d1d9e0;border-radius:12px;isolation:isolate;margin:20px 10px;padding:20px;position:relative}.pattern-header{align-items:center;color:#24292f;display:flex;font-size:18px;font-weight:600;height:auto;justify-content:space-between;letter-spacing:0;margin-bottom:0;padding:0}.clickable-section{cursor:pointer;transition:background-color .2s ease,box-shadow .2s ease}.clickable-section:hover{background:#f3f4f6}.clickable-section:focus{box-shadow:0 0 0 3px rgba(9,105,218,.3);outline:none}.clickable-section .pattern-header{pointer-events:none}.clickable-section .pattern-header .btn-icon{pointer-events:auto}.pattern-header span{align-items:center;display:flex;gap:6px;height:100%}.pattern-header .btn-icon{flex-shrink:0;margin:0}.pattern-text{color:#2c3e50;font-size:1.1em;line-height:1.6;margin-bottom:15px}.key-points{margin-top:12px;padding-left:20px}.key-points li{color:#424242;margin-bottom:8px}.drawing-canvas-container{background:#1a1a1a;border:1px solid #404040;border-radius:12px;height:600px;margin:20px 0;overflow:hidden;width:100%}.drawing-toolbar{background:#2a2a2a;border-bottom:1px solid #404040;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:12px 16px}.drawing-toolbar,.tool-group{align-items:center;display:flex}.tool-group{gap:8px}.main-tools{flex:1 1;justify-content:center}.tool-group{position:relative}.dropdown-menu{background:#333;border:1px solid #555;border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.3);left:0;margin-top:4px;min-width:180px;padding:8px 0;position:absolute;top:100%;z-index:1000}.dropdown-section{padding:8px 12px}.dropdown-label{color:#ccc;display:block;font-size:12px;font-weight:500;margin-bottom:6px}.dropdown-options{display:flex;gap:4px}.dropdown-option{background:#404040;border:1px solid #555;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:12px;padding:6px 8px;transition:all .2s ease}.dropdown-option:hover{background:#505050;border-color:#666}.dropdown-option.active{background:#6366f1;border-color:#6366f1}.dropdown-divider{background:#555;margin:8px 12px}.dropdown-action{background:transparent;border:none;color:#fff;cursor:pointer;font-size:14px;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-action:hover{background:#404040}.lock-btn,.menu-btn,.tool-btn{align-items:center;background:#404040;border:1px solid #555;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.tool-btn:hover{background:#505050;border-color:#666}.tool-btn.active{background:#6366f1;border-color:#6366f1;color:#fff}.color-picker{background:#404040;border:1px solid #555;border-radius:6px;cursor:pointer;height:40px;padding:2px;width:40px}.size-slider{background:#404040;margin:0 8px;width:80px}.canvas-container{background:#2d2d2d;height:500px;overflow:hidden;position:relative}.drawing-canvas{background:#2d2d2d;display:block;height:360px;width:100%}.text-input{background:hsla(0,0%,100%,.1);border:1px dashed hsla(0,0%,100%,.3);border-radius:4px;color:#fff;outline:none;padding:4px}.text-input-container{position:relative}.text-input-instruction{background:rgba(0,0,0,.7);border-radius:4px;color:#fff;font-size:12px;left:0;padding:2px 6px;pointer-events:none;position:absolute;top:-20px;white-space:nowrap}.drawing-bottom-controls{align-items:center;background:#2a2a2a;border-top:1px solid #404040;display:flex;justify-content:space-between;padding:8px 16px}.action-controls,.save-controls,.zoom-controls{align-items:center;display:flex;gap:8px}.action-controls button,.save-controls button,.zoom-controls button{align-items:center;background:#404040;border:1px solid #555;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.action-controls button:hover,.save-controls button:hover,.zoom-controls button:hover{background:#505050}.action-controls button:disabled,.zoom-controls button:disabled{cursor:not-allowed;opacity:.4}.zoom-controls button:nth-child(2){font-size:12px;min-width:60px;padding:0 8px;width:auto}.drawing-section{background:#1a1a1a;border:1px solid #d1d9e0;border-radius:12px;margin:20px 0;min-height:600px;overflow:hidden}.drawing-header{background:#0969da;font-size:.95em;font-weight:700;justify-content:space-between;padding:12px 16px}.close-drawing-btn,.drawing-header{align-items:center;color:#fff;display:flex}.close-drawing-btn{background:none;border:none;border-radius:50%;cursor:pointer;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.close-drawing-btn:hover{background:hsla(0,0%,100%,.2)}.drawing-solution-btn{align-items:center;background:#0969da;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;padding:10px 16px;transition:all .3s ease}.drawing-solution-btn:hover{background:#0550ae;transform:translateY(-1px)}.drawing-solution-btn.active{background:#0550ae}.drawing-icon{font-size:16px}.solution-drawing-canvas{border:none;border-radius:0;margin:0}.button-container{display:flex;flex-wrap:wrap;gap:15px;margin:20px 0}.collapse-expand-icons{align-items:center;display:flex;gap:4px;margin-left:auto}.btn-icon{align-items:center;background:#0969da;border:none;border-radius:50%;box-shadow:none;color:#fff;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.btn-icon:hover:not(:disabled){background:#0550ae}.btn-icon:disabled{background:linear-gradient(135deg,#a0aec0,#718096);box-shadow:0 1px 2px rgba(0,0,0,.1);cursor:not-allowed;opacity:.5;transform:none}.btn{align-items:center;background:#0969da;border:none;border-radius:25px;box-shadow:0 4px 15px rgba(118,75,162,.3);cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;min-height:44px;overflow:hidden;padding:12px 32px 12px 24px;position:relative;transition:all .3s ease}.btn,.btn:hover{color:#fff;text-decoration:none}.btn:hover{box-shadow:0 6px 20px rgba(118,75,162,.4);transform:translateY(-2px)}.sections{gap:16px;margin:20px}.section,.sections{align-items:center;display:flex}.section{border:none;border-radius:12px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;justify-content:space-between;padding:20px;transition:all .2s}.section-content{gap:10px}.section-content,.section-icon{align-items:center;display:flex}.section-icon{font-size:18px;height:20px;justify-content:center;width:20px}.section.problem{background:#0969da}.section.algorithm,.section.problem,.section.problem *{color:#fff!important}.section.algorithm{background:#6c757d}.section.algorithm *,.section.code{color:#fff!important}.section.code{background:#17a2b8}.section.code *{color:#fff!important}.chevron-badge{align-items:center;background:hsla(0,0%,100%,.2);border-radius:6px;display:flex;justify-content:center;min-height:28px;min-width:28px;padding:6px 8px}.down-arrow{height:16px;opacity:.7;width:16px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px}.tag{border-radius:16px;font-size:13px;font-weight:500;padding:6px 14px}.tag.medium{background:#fff3cd;color:#856404}.tag.easy{background:#d1edff;color:#0969da}.tag.hard{background:#ffeaa7;color:#d63031}.tag.other{background:#e2e3e5;color:#495057}.tag.meta{background:#cce5ff;color:#0969da}.tags .badge,.tags span[class*=inline-flex]{border:none!important;border-radius:16px!important;font-size:13px!important;font-weight:500!important;padding:6px 14px!important}.tags .bg-yellow-100{background-color:#fff3cd!important;color:#856404!important}.tags .bg-gray-100{background-color:#e2e3e5!important;color:#495057!important}.tags .bg-blue-100{background-color:#cce5ff!important;color:#0969da!important}.btn-secondary{background:linear-gradient(45deg,#f093fb,#f5576c);box-shadow:0 4px 15px rgba(245,87,108,.3)}.btn-secondary:hover{box-shadow:0 6px 20px rgba(245,87,108,.4)}.btn-tertiary{background:linear-gradient(45deg,#4facfe,#00f2fe);box-shadow:0 4px 15px rgba(79,172,254,.3)}.btn-tertiary:hover{box-shadow:0 6px 20px rgba(79,172,254,.4)}.btn-pattern{background:#0969da;box-shadow:0 4px 15px rgba(9,105,218,.3)}.btn-pattern:hover{box-shadow:0 6px 20px rgba(156,39,176,.4)}.btn.expanded{background:linear-gradient(45deg,#43a047,#66bb6a);box-shadow:0 4px 15px rgba(67,160,71,.4);transform:scale(1.05)}.btn-secondary.expanded{background:linear-gradient(45deg,#e91e63,#ad1457);box-shadow:0 4px 15px rgba(233,30,99,.4)}.btn-tertiary.expanded{background:linear-gradient(45deg,#00bcd4,#0097a7);box-shadow:0 4px 15px rgba(0,188,212,.4)}.btn-pattern.expanded{background:linear-gradient(45deg,#388e3c,#4caf50);box-shadow:0 4px 15px rgba(56,142,60,.4)}.btn:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid;content:"";height:0;opacity:.9;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .3s ease;width:0}.btn.expanded:before{opacity:1;transform:translateY(-50%) rotate(180deg)}.btn.expanded{animation:expandedPulse 2s infinite}@keyframes expandedPulse{0%,to{box-shadow:0 4px 15px rgba(67,160,71,.4)}50%{box-shadow:0 4px 20px rgba(67,160,71,.6)}}.btn-secondary.expanded{animation:expandedPulseSecondary 2s infinite}@keyframes expandedPulseSecondary{0%,to{box-shadow:0 4px 15px rgba(233,30,99,.4)}50%{box-shadow:0 4px 20px rgba(233,30,99,.6)}}.btn-tertiary.expanded{animation:expandedPulseTertiary 2s infinite}@keyframes expandedPulseTertiary{0%,to{box-shadow:0 4px 15px rgba(0,188,212,.4)}50%{box-shadow:0 4px 20px rgba(0,188,212,.6)}}.collapsible-section{word-wrap:break-word;animation:slideDown .3s ease-out;background:#fafafa;border:1px solid #e0e0e0;border-radius:10px;box-sizing:border-box;margin-top:20px;max-width:100%;overflow:hidden;padding:20px;word-break:break-word}.collapsible-section.show{display:block}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:2000px;opacity:1;transform:translateY(0)}}.problem-description{background:#f8f9fa;border-left:4px solid #4285f4}.algorithm-details{background:#f6f8fa;border-left:4px solid #d0d7de}.algorithm-details,.collapsible-section,.problem-description{break-inside:avoid;column-count:1!important;-webkit-column-count:1!important;-moz-column-count:1!important;page-break-inside:avoid}.algorithm-details .section-content{overflow-x:auto}.algorithm-details .section-content,.collapsible-section .section-content,.problem-description .section-content{word-wrap:break-word;column-count:1!important;-webkit-column-count:1!important;-moz-column-count:1!important;display:block;max-width:100%;overflow-wrap:break-word;width:100%}.algorithm-details .section-content>*,.collapsible-section .section-content>*,.problem-description .section-content>*{column-break-inside:avoid;break-inside:avoid;display:block;max-width:100%;page-break-inside:avoid;width:100%}.algorithm-details .section-content ol,.algorithm-details .section-content ul,.problem-description .section-content ol,.problem-description .section-content ul{break-inside:avoid;column-count:1!important;-webkit-column-count:1!important;-moz-column-count:1!important;display:block;page-break-inside:avoid;width:100%}.algorithm-details .section-content li,.problem-description .section-content li{column-break-inside:avoid;break-inside:avoid;display:list-item;max-width:100%;page-break-inside:avoid;width:auto}.algorithm-details .section-content ol,.algorithm-details .section-content ul{margin:0;padding-left:20px}.algorithm-details .section-content div,.algorithm-details .section-content h1,.algorithm-details .section-content h2,.algorithm-details .section-content h3,.algorithm-details .section-content h4,.algorithm-details .section-content h5,.algorithm-details .section-content h6,.algorithm-details .section-content p,.problem-description .section-content div,.problem-description .section-content h1,.problem-description .section-content h2,.problem-description .section-content h3,.problem-description .section-content h4,.problem-description .section-content h5,.problem-description .section-content h6,.problem-description .section-content p{break-inside:avoid;column-span:all;-webkit-column-span:all;display:block;max-width:100%;page-break-inside:avoid;width:100%}.collapsible-section *{column-count:1!important;-webkit-column-count:1!important;-moz-column-count:1!important}.problem-card *{columns:inherit;-webkit-column-count:inherit;-moz-column-count:inherit}.complexity-info,.problem-card .collapsible-section *{column-count:1!important;-webkit-column-count:1!important;-moz-column-count:1!important}.complexity-info{break-inside:avoid;page-break-inside:avoid}.complexity-info *,.pattern-details-section,.pattern-section{column-count:1!important;-webkit-column-count:1!important;-moz-column-count:1!important}.pattern-details-section,.pattern-section{break-inside:avoid;page-break-inside:avoid}.pattern-details-section *,.pattern-section *{column-count:1!important;-webkit-column-count:1!important;-moz-column-count:1!important}.algorithm-details .section-content li{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.6;margin-bottom:8px;max-width:100%;overflow-wrap:break-word;word-break:break-word}.algorithm-details .section-content h4,.algorithm-details .section-content h5{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin-bottom:10px;margin-top:15px;max-width:100%;overflow-wrap:break-word;word-break:break-word}.pattern-details-section{background:#f6f8fa;border-left:4px solid #0969da}.code-section{background:#2d3748;border-left:4px solid #ffd54f;color:#fff}.section-header{word-wrap:break-word;align-items:center;color:#2c3e50;display:flex;font-size:1.1em;font-weight:700;gap:8px;margin-bottom:15px;word-break:break-word}.code-section .section-header{color:#e2e8f0}.section-content{word-wrap:break-word;color:#424242;line-height:1.6;max-width:100%;overflow-wrap:break-word;word-break:break-word}.code-section .section-content{color:#e2e8f0}.code-header{color:#81c784;font-size:14px;font-weight:700;margin-bottom:15px}.language-fallback-note{color:#6c757d;font-size:12px;font-weight:400;margin-left:8px}.code-generation-loading{align-items:center;color:#6c757d;display:flex;gap:12px;justify-content:center;padding:40px 20px}.code-generation-loading .spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;height:20px;width:20px}.no-implementations-message{background:#f8f9fa;border:1px dashed #d1d5db;border-radius:8px;color:#6c757d;padding:20px;text-align:center}.no-implementations-message p{font-style:italic;margin:0}.section.code:disabled{cursor:not-allowed;opacity:.7}.section.code:disabled:hover{transform:none}.python-code{background:#1a202c;border:1px solid #2d3748;border-radius:8px;color:#e2e8f0;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,Source Code Pro,monospace;font-size:13px;line-height:1.5;overflow-x:auto;padding:16px;white-space:pre-wrap}.python-code .keyword{color:#81c784;font-weight:500}.python-code .string{color:#ffcc02}.python-code .comment{color:#7c7c7c;font-style:italic}.python-code .number{color:#ff9800}.python-code .function{color:#42a5f5;font-weight:500}.complexity-info{background:linear-gradient(135deg,#fff3e0,#ffe0b2);border:1px solid #ffb74d;border-radius:8px;margin-top:15px;padding:15px}.complexity-info h4{color:#e65100;font-size:1em;margin:0 0 10px}.complexity-info p{font-size:.9em;margin:5px 0}.summary-section{background:#0969da;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,.2);color:#fff;margin-top:50px;padding:30px;text-align:center}.summary-section h3{font-size:1.5em;margin-bottom:15px}.summary-section p{line-height:1.6;margin:8px 0}@media (max-width:768px){.problem-header{align-items:flex-start;gap:10px}.button-container,.problem-header{flex-direction:column}.btn{justify-content:center;text-align:center;width:100%}.python-code{font-size:12px}.problem-title{font-size:1.1em;min-width:auto}}@media (max-width:480px){.problem-card{padding:20px}.python-code{font-size:11px;padding:12px}.btn{font-size:13px;padding:10px 20px}}.solution-input-section{background:#f6f8fa;border:1px solid #d1d9e0;border-radius:12px;margin:20px 0;padding:20px}.code-editor-container{background:#1e1e1e;border:1px solid #cbd5e0;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin:10px 0;min-height:200px;overflow:hidden}.editor-loading{align-items:center;background:#1e1e1e;color:#fff;display:flex;font-size:14px;height:200px;justify-content:center}.solution-type-selector{align-items:center;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:15px}.solution-type-selector label{align-items:center;color:#24292f;cursor:pointer;display:flex;font-weight:600;gap:8px}.solution-type-selector input[type=radio]{accent-color:#0969da;margin:0}.solution-type-selector .voice-solution-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;justify-content:center;margin-left:10px;min-width:80px;padding:8px 16px;transition:all .2s ease}.solution-type-selector .voice-solution-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.solution-type-selector .voice-solution-btn.recording{animation:pulse 2s infinite;background:linear-gradient(135deg,#ef4444,#dc2626)}.solution-type-selector .voice-solution-btn.recording:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.solution-textarea{background:#fff;border:1px solid #d1d9e0;border-radius:8px;box-sizing:border-box;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:14px;line-height:1.5;min-height:500px;padding:15px;resize:vertical;width:100%}.solution-textarea:focus{border-color:#0969da;box-shadow:0 0 10px rgba(9,105,218,.3);outline:none}.solution-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px}.save-solution-btn,.verify-solution-btn{background:#0969da;border:none;border-radius:25px;box-shadow:0 4px 15px rgba(9,105,218,.3);color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;min-width:140px;padding:12px 24px;transition:all .3s ease}.save-solution-btn{background:linear-gradient(45deg,#4caf50,#388e3c);box-shadow:0 4px 15px rgba(76,175,80,.3)}.verify-solution-btn:hover:not(:disabled){box-shadow:0 6px 20px rgba(156,39,176,.4);transform:translateY(-2px)}.save-solution-btn:hover:not(:disabled){box-shadow:0 6px 20px rgba(76,175,80,.4);transform:translateY(-2px)}.save-solution-btn:disabled,.verify-solution-btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.inline-spinner{animation:spin 1s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;margin-right:8px;vertical-align:middle;width:14px}.verification-status{background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;color:#1565c0;display:flex;flex-direction:column;font-size:14px;gap:4px;margin-top:12px;padding:12px 16px}.verification-status .status-message{font-weight:500}.verification-status .status-time{color:#666;font-size:12px}.save-status{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);border:1px solid #4caf50;border-radius:8px;color:#2e7d32;font-size:13px;font-weight:500;margin-top:10px;padding:8px 12px;text-align:center}.loading-saved-solution{align-items:center;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:1px solid #2196f3;border-radius:8px;color:#1565c0;display:flex;font-size:14px;font-weight:500;gap:10px;margin-bottom:15px;padding:12px 16px}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #e3f2fd;border-radius:50%;border-top-color:#2196f3;height:20px;width:20px}.solution-feedback{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);border:2px solid #4caf50;border-radius:12px;margin:20px 0;padding:20px}.solution-feedback h4{color:#2e7d32;font-size:1.2em;margin-bottom:15px}.feedback-summary{background:hsla(0,0%,100%,.7);border-left:4px solid #4caf50;border-radius:8px;margin-bottom:20px;padding:15px}.feedback-details{grid-gap:15px;display:grid;gap:15px}.feedback-item{background:hsla(0,0%,100%,.8);border-left:4px solid #4caf50;border-radius:8px;padding:15px}.feedback-item h5{color:#2e7d32;font-size:1.1em;margin:0 0 10px}.feedback-item p{line-height:1.5;margin:5px 0}.feedback-item ul{margin:10px 0;padding-left:20px}.feedback-item li{line-height:1.4;margin-bottom:5px}@media (max-width:768px){.solution-type-selector{flex-direction:column;gap:10px}.solution-textarea{font-size:13px}.feedback-details{grid-template-columns:1fr}}@media (max-width:480px){.solution-feedback,.solution-input-section{padding:15px}.solution-textarea{font-size:12px;min-height:150px}.code-editor-container{border-radius:6px;margin:5px 0}.btn-icon{font-size:12px;height:28px;width:28px}.collapse-expand-icons{gap:2px}.leetcode-number{font-size:.8em}.solution-buttons{flex-direction:column}.save-solution-btn,.verify-solution-btn{min-width:auto;width:100%}}.signin-button{align-items:center;background:#0969da;border:none;border-radius:20px;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:8px 16px;transition:all .2s ease}.signin-button:hover{background:linear-gradient(45deg,#5a6fd8,#6a4190);box-shadow:0 4px 8px rgba(102,126,234,.3);transform:translateY(-1px)}.signin-text{font-size:13px}.user-profile{position:relative}.profile-button{background:none;border:none;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);cursor:pointer;padding:4px;transition:all .2s ease}.profile-button:hover{box-shadow:0 4px 8px rgba(0,0,0,.15);transform:scale(1.05)}.profile-picture{border:2px solid #667eea;border-radius:50%;height:36px;object-fit:cover;width:36px}.profile-dropdown{background:#fff;border:1px solid #e0e0e0;border-radius:12px;box-shadow:0 8px 25px rgba(0,0,0,.15);left:0;margin-top:8px;max-width:min(320px,calc(100vw - 40px));min-width:240px;overflow:visible;position:absolute;right:auto;top:100%;transition:transform .2s ease;z-index:1000}.profile-info{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;gap:12px;padding:16px}.dropdown-picture{border:2px solid #667eea;border-radius:50%;height:48px;object-fit:cover;width:48px}.profile-details{flex:1 1;min-width:0}.profile-name{color:#2c3e50;font-size:14px;font-weight:600;margin-bottom:2px}.profile-email,.profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email{color:#718096;font-size:12px}.dropdown-divider{background:#e0e0e0;height:1px;margin:8px 0}.dropdown-item{align-items:center;background:none;border:none;color:#4a5568;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 16px;text-align:left;transition:all .2s ease;width:100%}.dropdown-item:hover{background:#f7fafc;color:#2d3748}.language-preferences{padding:12px 0}.dropdown-section-title{align-items:center;color:#6c757d;display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.5px;padding:0 16px 8px;text-transform:uppercase}.language-options{display:flex;flex-direction:column;gap:2px}.language-option{align-items:center;background:none;border:none;color:#4a5568;cursor:pointer;display:flex;font-size:14px;justify-content:space-between;padding:8px 16px 8px 28px;text-align:left;transition:all .2s ease;width:100%}.language-option:hover{background:#f7fafc;color:#2d3748}.language-option.active{background:#e3f2fd;color:#1976d2;font-weight:500}.language-option:disabled{cursor:not-allowed;opacity:.6}.language-updating{align-items:center;color:#6c757d;display:flex;font-size:12px;gap:8px;padding:8px 16px}.language-updating .spinner{animation:spin 1s linear infinite;border:2px solid #e9ecef;border-radius:50%;border-top-color:#0969da;height:16px;width:16px}.code-generation-status{align-items:center;background:#e3f2fd;border:1px solid #90caf9;border-radius:8px;color:#1565c0;display:flex;font-size:14px;font-weight:500;gap:12px;margin:16px 0;padding:12px 16px}.code-generation-status .spinner{animation:spin 1s linear infinite;border:2px solid #bbdefb;border-radius:50%;border-top-color:#1976d2;height:20px;width:20px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.2);max-height:90vh;max-width:480px;overflow-y:auto;position:relative;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.modal-header h2{color:#2c3e50;font-size:1.5em;font-weight:600;margin:0}.modal-close{background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;font-size:24px;padding:4px;transition:all .2s ease}.modal-close:hover{background:#f7fafc;color:#4a5568}.modal-body{padding:0 24px 24px}.modal-message{color:#4a5568;line-height:1.6;margin-bottom:24px;text-align:center}.modal-signin{margin-bottom:24px}.google-signin-container,.modal-signin{display:flex;justify-content:center}.modal-benefits{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #e0e0e0;border-radius:12px;padding:20px}.modal-benefits h4{color:#2c3e50;font-size:1.1em;font-weight:600;margin:0 0 12px}.modal-benefits ul{list-style:none;margin:0;padding:0}.modal-benefits li{align-items:center;color:#4a5568;display:flex;font-size:14px;gap:8px;margin-bottom:8px}@media (max-width:768px){.modal-content{margin:20px;max-width:none;width:calc(100% - 40px)}.modal-header{padding:20px 20px 0}.modal-body{padding:0 20px 20px}.signin-text{display:none}.profile-dropdown{min-width:200px}}@media (max-width:480px){.profile-picture{height:32px;width:32px}.dropdown-picture{height:40px;width:40px}.profile-name{font-size:13px}.profile-email{font-size:11px}}.auth-required-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:90vh;max-width:440px;overflow-y:auto;position:relative;width:90%}.auth-required-modal .modal-header{align-items:center;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:24px 24px 16px}.auth-required-modal .modal-header h2{color:#1a1a1a;font-size:20px;font-weight:600;margin:0}.auth-required-modal .close-button{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.auth-required-modal .close-button:hover{background:#f5f5f5;color:#333}.auth-required-modal .modal-body{padding:32px 24px;text-align:center}.auth-required-icon{animation:pulse 2s infinite;font-size:56px;margin-bottom:20px}.auth-required-message{color:#333;font-size:16px;font-weight:500;line-height:1.5;margin-bottom:12px}.auth-required-submessage{color:#666;font-size:14px;line-height:1.6;margin-bottom:0}.auth-required-modal .modal-footer{display:flex;justify-content:center;padding:16px 24px 24px}.auth-required-modal .btn-ok{background:linear-gradient(45deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;min-width:120px;padding:12px 48px;transition:all .2s}.auth-required-modal .btn-ok:hover{box-shadow:0 4px 12px rgba(102,126,234,.4);transform:translateY(-1px)}.auth-required-modal .btn-ok:active{transform:translateY(0)}@media (max-width:480px){.auth-required-modal{width:95%}.auth-required-modal .btn-ok{padding:12px 24px;width:100%}}.app-header{background:#0969da;box-shadow:0 2px 8px rgba(0,0,0,.1);color:#fff;padding:12px 0;position:sticky;top:0;z-index:300}.header-content{margin:0 auto;max-width:1400px;padding:0 24px}.app-brand{align-items:flex-start;display:flex;flex-direction:column;gap:8px}.app-title{color:#fff;font-size:1.5em;font-weight:700;margin:0}.app-logo-link{align-items:center;border-radius:8px;color:#fff;cursor:pointer;display:flex;gap:8px;padding:4px 8px;text-decoration:none;transition:all .2s ease}.app-logo-link:hover{background:hsla(0,0%,100%,.15);transform:translateY(-1px)}.app-logo-link:active{background:hsla(0,0%,100%,.1);transform:translateY(0)}.home-icon{stroke:#fff;height:24px;transition:transform .2s ease;width:24px}.app-logo-link:hover .home-icon{transform:scale(1.1)}.pin-button{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:inline-flex;justify-content:center;padding:4px;transition:all .2s ease}.pin-button:hover{background:rgba(0,0,0,.05);transform:scale(1.1)}.pin-button:active{transform:scale(.95)}.pin-button.pinned{color:#0969da}.pin-button.pinned:hover{background:rgba(9,105,218,.1)}.pin-button:disabled{cursor:not-allowed;opacity:.5}.pin-button:disabled:hover{background:none;transform:none}.App{flex:1 1;width:100%}@media (max-width:768px){.app-title{font-size:1.3em}.header-content{padding:0 15px}.app-brand{gap:6px}}.refresh-button{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;justify-content:center;padding:4px;position:absolute;right:10px;top:10px;transition:all .2s}.refresh-button:hover{background:rgba(0,123,255,.1);color:#007bff}.refresh-button:disabled{cursor:not-allowed;opacity:.6}.refresh-icon{transition:transform .2s}.refresh-icon.spinning{animation:spin 1s linear infinite}.refresh-modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.refresh-modal{background:#fff;border-radius:8px;box-shadow:0 10px 30px rgba(0,0,0,.3);max-height:90vh;max-width:600px;overflow-y:auto;width:90%}.refresh-modal-header{border-bottom:1px solid #e9ecef;padding:20px;position:relative}.refresh-modal-header h2{color:#343a40;font-size:1.5rem;margin:0 0 5px}.refresh-modal-header p{color:#6c757d;font-size:.9rem;margin:0}.refresh-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;position:absolute;right:20px;top:15px;transition:all .2s;width:30px}.refresh-modal-close:hover{background:rgba(0,0,0,.1)}.refresh-modal-body{padding:20px}.refresh-modal-section{margin-bottom:20px}.refresh-modal-section h3{color:#495057;font-size:1.1rem;margin:0 0 10px}.refresh-modal-content-preview{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;max-height:200px;overflow-y:auto;padding:15px}.refresh-modal-content-preview pre{word-wrap:break-word;color:#495057;font-size:.85rem;margin:0;white-space:pre-wrap}.refresh-modal-textarea{border:1px solid #ced4da;border-radius:4px;font-family:inherit;font-size:14px;min-height:100px;padding:12px;resize:vertical;width:100%}.refresh-modal-textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px rgba(0,123,255,.25);outline:none}.refresh-modal-radio-group{display:flex;flex-direction:column;gap:8px}.refresh-modal-radio{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background-color .2s}.refresh-modal-radio:hover{background:#f8f9fa}.refresh-modal-radio input[type=radio]{margin:0}.refresh-modal-checkbox-group{display:flex;flex-direction:column;gap:8px}.refresh-modal-checkbox{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:8px;padding:8px;transition:background-color .2s}.refresh-modal-checkbox:hover{background:#f8f9fa}.refresh-modal-checkbox input[type=checkbox]{margin:0}.refresh-modal-footer{border-top:1px solid #e9ecef;display:flex;gap:10px;justify-content:flex-end;padding:20px}.refresh-modal-button{border:none;border-radius:4px;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s}.refresh-modal-button-secondary{background:#6c757d;color:#fff}.refresh-modal-button-secondary:hover{background:#545b62}.refresh-modal-button-primary{background:#007bff;color:#fff}.refresh-modal-button-primary:hover{background:#0056b3}.refresh-modal-button:disabled{cursor:not-allowed;opacity:.6}.section-header{padding-right:40px;position:relative}.working-status-container{align-items:flex-start;display:flex;flex-direction:column;gap:5px}.working-status-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;min-width:140px;padding:8px 12px;transition:all .2s ease}.working-status-button:hover:not(:disabled){border-color:#4299e1;box-shadow:0 2px 4px rgba(66,153,225,.1);transform:translateY(-1px)}.working-status-button.working{background:linear-gradient(135deg,#f0fff4,#c6f6d5);border-color:#48bb78;color:#2d7738}.working-status-button.working:hover:not(:disabled){border-color:#38a169;box-shadow:0 2px 8px rgba(72,187,120,.2)}.working-status-button.not-working{background:#fff;border-color:#e2e8f0;color:#718096}.working-status-button.not-working:hover:not(:disabled){background:#f7fafc;border-color:#cbd5e0}.working-status-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.working-status-button.loading{cursor:wait}.working-status-icon{align-items:center;display:flex;font-size:16px;justify-content:center;line-height:1;min-width:16px}.working-status-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.working-status-spinner{align-items:center;animation:spin 1s linear infinite;display:flex;font-size:16px;justify-content:center;min-width:16px}.working-status-error{word-wrap:break-word;background:#fed7d7;border:1px solid #feb2b2;border-radius:4px;color:#e53e3e;font-size:12px;max-width:200px;padding:4px 8px}.completion-status-container{align-items:flex-start;display:flex;flex-direction:column;gap:5px}.completion-status-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:14px;font-weight:500;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.completion-status-button:hover:not(:disabled){border-color:#48bb78;box-shadow:0 2px 4px rgba(72,187,120,.1);transform:translateY(-1px)}.completion-status-button.completed{background:linear-gradient(135deg,#f0fff4,#c6f6d5);border-color:#48bb78;color:#2d7738}.completion-status-button.completed:hover:not(:disabled){border-color:#38a169;box-shadow:0 2px 8px rgba(72,187,120,.2)}.completion-status-button.not-completed{background:#fff;border-color:#e2e8f0;color:#718096}.completion-status-button.not-completed:hover:not(:disabled){background:#f7fafc;border-color:#48bb78;color:#4a5568}.completion-status-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.completion-status-button.loading{cursor:wait}.completion-status-icon{line-height:1}.completion-status-icon,.completion-status-spinner{align-items:center;display:flex;font-size:16px;justify-content:center;min-width:16px}.completion-status-spinner{animation:spin 1s linear infinite}.completion-status-error{word-wrap:break-word;background:#fed7d7;border:1px solid #feb2b2;border-radius:4px;color:#e53e3e;font-size:12px;max-width:200px;padding:4px 8px}.chatbot-icon{align-items:center;background:#0969da;border:none;border-radius:50px;bottom:20px;box-shadow:0 4px 15px rgba(0,0,0,.2);color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;gap:8px;outline:none;padding:15px 20px;position:fixed;right:20px;transition:all .3s ease;-webkit-user-select:none;user-select:none;will-change:transform,box-shadow;z-index:1000}.chatbot-icon:hover{box-shadow:0 8px 25px rgba(0,0,0,.3);transform:translateY(-2px)}.chatbot-icon:active{box-shadow:0 4px 15px rgba(0,0,0,.2);transform:translateY(0)}.chatbot-icon:focus{box-shadow:0 4px 15px rgba(0,0,0,.2),0 0 0 3px rgba(102,126,234,.3);outline:none}.chatbot-icon-emoji{font-size:20px}.chatbot-icon-text{font-size:14px}.chat-modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.chat-modal{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:85vh;max-width:800px;overflow:hidden;width:90%}.chat-modal-header{align-items:center;background:#0969da;color:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:20px}.chat-modal-header h3{font-size:18px;margin:0}.chat-modal-problem-info{font-size:16px;font-weight:600;margin-top:4px;opacity:.9}.chat-modal-close-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background .2s ease;width:30px}.chat-modal-close-button:hover{background:hsla(0,0%,100%,.2)}.chat-modal-messages{display:flex;flex:1 1;flex-direction:column;gap:15px;max-height:60vh;min-height:400px;overflow-y:auto;padding:20px}.chat-message.assistant .chat-message-content{word-wrap:break-word;display:block!important;line-height:1.6;overflow-wrap:break-word;text-align:left;white-space:normal}.markdown-content{line-height:1.6;white-space:normal}.markdown-content,.markdown-content>*{display:block;text-align:left;width:100%}.chat-message.assistant .chat-message-content pre{word-wrap:break-word;font-family:Courier New,monospace;white-space:pre-wrap}.chat-message.assistant .chat-message-content code{font-family:Courier New,monospace;font-size:.9em}.chat-message.assistant .chat-message-content blockquote{margin:1em 0}.chat-message.assistant .chat-message-content ol,.chat-message.assistant .chat-message-content ul{margin:.5em 0}.chat-message.assistant .chat-message-content table{font-size:.9em;margin:1em 0}.chat-message.assistant .chat-message-content h1,.chat-message.assistant .chat-message-content h2,.chat-message.assistant .chat-message-content h3{margin-bottom:.5em;margin-top:1.5em}.chat-message.assistant .chat-message-content h1:first-child,.chat-message.assistant .chat-message-content h2:first-child,.chat-message.assistant .chat-message-content h3:first-child{margin-top:0}.chat-auth-message{color:#666;font-style:italic;padding:40px 20px;text-align:center}.chat-loading{align-items:center;color:#666;display:flex;font-style:italic;gap:10px;justify-content:center;padding:20px}.chat-welcome-message{color:#555;line-height:1.6}.chat-welcome-message ul{margin:15px 0;padding-left:20px}.chat-welcome-message li{margin:5px 0}.chat-message{display:flex;flex-direction:column;margin-bottom:15px}.chat-message.user{align-items:flex-end}.chat-message.assistant{align-items:flex-start}.chat-message-content{word-wrap:break-word;border-radius:18px;line-height:1.4;max-width:80%;padding:12px 16px}.chat-message.user .chat-message-content{background:#0969da;border-bottom-right-radius:4px;color:#fff}.chat-message.assistant .chat-message-content{background:#f1f3f4;border-bottom-left-radius:4px;color:#333;display:block;max-width:100%;width:100%}.chat-message-timestamp{color:#888;font-size:11px;margin-top:4px;padding:0 8px}.chat-error-message{align-items:center;background:#fee;border-radius:8px;color:#c33;display:flex;flex-shrink:0;justify-content:space-between;margin:10px 20px;padding:10px 15px}.chat-error-message button{align-items:center;background:none;border:none;color:#c33;cursor:pointer;display:flex;font-size:16px;height:20px;justify-content:center;padding:0;width:20px}.chat-modal-input{border-top:1px solid #eee;display:flex;flex-shrink:0;gap:10px;padding:20px}.chat-input-field{border:2px solid #ddd;border-radius:25px;flex:1 1;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s ease}.chat-input-field:focus{border-color:#667eea}.chat-input-field:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.chat-send-button{align-items:center;background:#000;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:44px;justify-content:center;transition:all .2s ease;width:44px}.chat-send-button:hover:not(:disabled){transform:scale(1.05)}.chat-send-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.arrow-up{display:inline-block;height:16px;position:relative;width:16px}.arrow-up:before{background:#fff;content:"";height:12px;left:6px;position:absolute;top:4px;width:4px}.arrow-up:after{border-bottom:8px solid #fff;border-left:6px solid transparent;border-right:6px solid transparent;content:"";height:0;left:8px;position:absolute;top:0;transform:translateX(-50%);width:0}.chat-unsaved-indicator{background:#fff3cd;border-top:1px solid #ffeaa7;color:#856404;flex-shrink:0;font-size:12px;padding:8px 20px;text-align:center}.message-header{display:flex;justify-content:flex-end;margin-bottom:8px}.copy-message-button{background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;font-size:12px;padding:4px 8px;transition:all .2s ease}.copy-message-button:hover{background:#e5e7eb;border-color:#9ca3af}.code-block-container{margin:8px 0;position:relative}.code-block-header{align-items:center;background:#374151;border-radius:6px 6px 0 0;color:#fff;display:flex;font-size:12px;justify-content:space-between;padding:8px 12px}.code-language{color:#9ca3af;font-weight:600;text-transform:uppercase}.copy-code-button{background:#4b5563;border:1px solid #6b7280;border-radius:4px;color:#fff;cursor:pointer;font-size:10px;padding:2px 6px;transition:all .2s ease}.copy-code-button:hover{background:#6b7280;border-color:#9ca3af}.code-block-container pre{border-radius:0 0 6px 6px;margin:0}.copy-icon{display:inline-block;height:12px;position:relative;width:12px}.copy-icon:before{background:transparent;left:2px;top:0}.copy-icon:after,.copy-icon:before{border:1.5px solid;border-radius:2px;content:"";height:8px;position:absolute;width:8px}.copy-icon:after{background:#fff;left:0;top:2px}.copy-success{color:#10b981;font-weight:700}.voice-solution-btn{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:10px 16px;transition:all .2s ease}.voice-solution-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px)}.voice-solution-btn.recording{animation:pulse 2s infinite;background:linear-gradient(135deg,#ef4444,#dc2626)}.voice-solution-btn.recording:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.microphone-icon,.recording-icon{font-size:16px}.voice-recording-status{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:12px;padding:12px}.recording-indicator{align-items:center;color:#dc2626;display:flex;font-weight:600;gap:8px}.recording-dot{animation:blink 1s infinite;background:#dc2626;border-radius:50%;height:8px;width:8px}.voice-recorder-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.voice-recording-indicator{align-items:center;animation:slideInFromLeft .3s ease-out;background:#dc2626;border-radius:6px;box-shadow:0 2px 8px rgba(220,38,38,.3);color:#fff;display:inline-flex;font-size:11px;font-weight:500;gap:6px;padding:6px 10px}.recording-pulse{animation:pulse 1s infinite;background:#fff;border-radius:50%;height:8px;width:8px}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.transcript-section{border:1px solid #e5e7eb;border-radius:8px;margin-top:16px;overflow:hidden}.transcript-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#374151;display:flex;font-weight:600;justify-content:space-between;padding:12px 16px}.save-voice-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s ease}.save-voice-btn:hover{background:#2563eb}.save-voice-btn:disabled{background:#9ca3af;cursor:not-allowed}.transcript-content{background:#fff;color:#374151;line-height:1.6;max-height:200px;overflow-y:auto;padding:16px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.chat-save-prompt-overlay{align-items:center;background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2100}.chat-save-prompt{background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.3);max-width:400px;padding:30px;text-align:center;width:90%}.chat-save-prompt h4{color:#333;font-size:18px;margin:0 0 15px}.chat-save-prompt p{color:#666;line-height:1.5;margin:0 0 25px}.chat-save-prompt-buttons{display:flex;gap:15px;justify-content:center}.chat-save-button{align-items:center;background:#0969da;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 20px;transition:all .2s ease}.chat-save-button:hover{box-shadow:0 4px 12px rgba(0,0,0,.2);transform:translateY(-1px)}.chat-discard-button{align-items:center;background:#6c757d;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:12px 20px;transition:all .2s ease}.chat-discard-button:hover{background:#5a6268;box-shadow:0 4px 12px rgba(0,0,0,.2);transform:translateY(-1px)}@media (max-width:768px){.chat-modal{max-height:90vh;max-width:95vw;width:95%}.chat-modal-messages{max-height:65vh;min-height:250px}.chatbot-icon{bottom:15px;padding:12px 16px;right:15px}.chatbot-icon-text{display:none}.chat-modal-messages{max-height:50vh}}.ai-assistant-button{align-items:center;background:#0969da;border:none;border-radius:8px;box-shadow:0 2px 4px rgba(102,126,234,.2);color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:500;height:36px;justify-content:center;margin-right:8px;padding:8px;transition:all .2s ease;width:36px}.ai-assistant-button:hover{background:#0550ae;box-shadow:0 4px 8px rgba(102,126,234,.3);transform:translateY(-1px)}.ai-assistant-button:active{box-shadow:0 2px 4px rgba(102,126,234,.2);transform:translateY(0)}.ai-assistant-button:disabled{box-shadow:0 2px 4px rgba(102,126,234,.1);cursor:not-allowed;opacity:.6;transform:none}.ai-assistant-icon{font-size:16px;transition:transform .2s ease}.ai-assistant-button:hover .ai-assistant-icon{transform:scale(1.1)}.ai-assistant-button.has-history{background:linear-gradient(135deg,#48bb78,#38a169);box-shadow:0 2px 4px rgba(72,187,120,.2)}.ai-assistant-button.has-history:hover{background:linear-gradient(135deg,#38a169,#2f855a);box-shadow:0 4px 8px rgba(72,187,120,.3)}.ai-assistant-loading{animation:spin 1s linear infinite;font-size:14px}.tag-toggle-button{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;padding:8px;transition:all .2s ease;width:36px}.tag-toggle-button:hover{background:#f7fafc;border-color:#a0aec0;box-shadow:0 2px 4px rgba(0,0,0,.1);transform:translateY(-1px)}.tag-toggle-button:active{box-shadow:0 1px 2px rgba(0,0,0,.1);transform:translateY(0)}.problem-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.fullscreen-code-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.8);justify-content:center;left:0;position:fixed;top:0;-webkit-user-select:none;user-select:none;z-index:2147483647}.fullscreen-code-modal,.fullscreen-code-modal-backdrop{display:flex;height:100vh;pointer-events:auto;transform:translateZ(0);width:100vw;will-change:auto}.fullscreen-code-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:0;box-shadow:none;contain:layout style paint;flex-direction:column;overflow:hidden;position:relative;-webkit-user-select:auto;user-select:auto}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(-50px)}to{opacity:1;transform:scale(1) translateY(0)}}.fullscreen-code-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;min-height:60px;padding:16px 24px}.fullscreen-code-title{align-items:center;color:#2c3e50;display:flex;font-size:18px;font-weight:600;gap:12px}.fullscreen-code-icon{font-size:20px}.fullscreen-code-close{align-items:center;background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.fullscreen-code-close:hover{background:#e9ecef;color:#dc3545;transform:scale(1.1)}.fullscreen-code-content{flex:1 1;overflow:hidden;padding:0;position:relative}.fullscreen-code-content .monaco-editor,.fullscreen-code-content textarea{height:100%}.fullscreen-algorithm-textarea{background:#f8f9fa;border:none;color:#2c3e50;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:16px;height:100%;line-height:1.6;outline:none;padding:24px;resize:none;width:100%}.fullscreen-algorithm-textarea:focus{background:#fff;box-shadow:inset 0 0 0 2px #007bff}.fullscreen-editor-loading{align-items:center;color:#6c757d;display:flex;font-size:16px;height:200px;justify-content:center}.fullscreen-code-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;min-height:60px;padding:16px 24px}.fullscreen-code-tips{color:#6c757d;font-size:14px}.fullscreen-code-tips .tip{align-items:center;display:flex;gap:8px}.fullscreen-code-tips kbd{background:#e9ecef;border:1px solid #adb5bd;border-radius:3px;font-family:inherit;font-size:12px;padding:2px 6px}.fullscreen-code-done{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:10px 24px;transition:all .2s ease}.fullscreen-code-done:hover{background:#0056b3;box-shadow:0 4px 12px rgba(0,123,255,.3);transform:translateY(-1px)}.code-editor-container{position:relative}.algorithm-editor-header,.code-editor-header,.notes-editor-header{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-bottom:none;border-radius:6px 6px 0 0;display:flex;justify-content:space-between;padding:8px 12px}.algorithm-editor-label,.code-editor-label,.notes-editor-label{color:#495057;font-size:14px;font-weight:500}.algorithm-editor-container{position:relative}.algorithm-editor-container .solution-textarea{border-radius:0 0 6px 6px;border-top:none}.fullscreen-toggle-btn{align-items:center;background:none;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;min-width:28px;padding:4px 8px;transition:all .2s ease}.fullscreen-toggle-btn:hover{background:#e9ecef;transform:scale(1.1)}.fullscreen-toggle-btn:active{transform:scale(.95)}body.fullscreen-modal-open .chatbot-icon{display:none!important}body.fullscreen-modal-open :not(.fullscreen-code-modal-backdrop):not(.fullscreen-code-modal):not(.fullscreen-code-modal *){z-index:1!important}.fullscreen-code-modal-backdrop{position:fixed!important;z-index:2147483647!important}@media (max-width:768px){.fullscreen-code-modal{border-radius:0;height:100vh;width:100vw}.fullscreen-code-footer,.fullscreen-code-header{padding:12px 16px}.fullscreen-code-title{font-size:16px}.fullscreen-algorithm-textarea{font-size:14px;padding:16px}.fullscreen-code-tips{display:none}}.frequency{align-items:center;display:flex;gap:4px}.drawing-canvas-container.light-theme .drawing-toolbar{background:#f8f9fa;border-color:#e9ecef}.drawing-canvas-container.light-theme .menu-btn,.drawing-canvas-container.light-theme .tool-btn{background:#fff;border-color:#dee2e6;color:#495057}.drawing-canvas-container.light-theme .menu-btn:hover,.drawing-canvas-container.light-theme .tool-btn:hover{background:#e9ecef;border-color:#adb5bd}.drawing-canvas-container.light-theme .tool-btn.active{background:#007bff;border-color:#007bff;color:#fff}.drawing-canvas-container.light-theme .dropdown-menu{background:#fff;border-color:#dee2e6;box-shadow:0 4px 12px rgba(0,0,0,.15)}.drawing-canvas-container.light-theme .dropdown-option{background:#f8f9fa;border-color:#dee2e6;color:#495057}.drawing-canvas-container.light-theme .dropdown-option:hover{background:#e9ecef;border-color:#adb5bd}.drawing-canvas-container.light-theme .dropdown-option.active{background:#007bff;border-color:#007bff;color:#fff}.drawing-canvas-container.light-theme .dropdown-action{color:#495057}.drawing-canvas-container.light-theme .dropdown-action:hover{background:#f8f9fa}.drawing-canvas-container.light-theme .dropdown-label{color:#6c757d}.drawing-canvas-container.light-theme .drawing-bottom-controls{background:#f8f9fa;border-color:#e9ecef}.drawing-canvas-container.light-theme .action-btn{background:#fff;border-color:#dee2e6;color:#495057}.drawing-canvas-container.light-theme .action-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.tool-btn{align-items:center;display:flex;height:48px;justify-content:center;min-width:48px;padding:8px;position:relative}.tool-icon{font-size:16px;line-height:1}.tool-number{background:rgba(0,0,0,.1);border-radius:8px;bottom:2px;color:#999;font-size:10px;font-weight:700;min-width:12px;padding:1px 3px;position:absolute;right:2px;text-align:center}.tool-btn.active .tool-number{background:hsla(0,0%,100%,.2);color:#fff}.lock-btn{align-items:center;background:#404040;border:1px solid #555;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.lock-btn:hover{background:#505050;border-color:#666}.lock-btn.locked{background:#4ade80;border-color:#22c55e;color:#fff}.lock-btn.locked:hover{background:#22c55e;border-color:#16a34a}.lock-btn.unlocked{background:#404040;border-color:#555;color:#fff}.lock-btn.unlocked:hover{background:#505050;border-color:#666}.drawing-canvas-container.light-theme .lock-btn{background:#fff;border-color:#dee2e6;color:#495057}.drawing-canvas-container.light-theme .lock-btn:hover{background:#e9ecef;border-color:#adb5bd}.drawing-canvas-container.light-theme .lock-btn.locked{background:#22c55e;border-color:#16a34a;color:#fff}.drawing-canvas-container.light-theme .lock-btn.locked:hover{background:#16a34a;border-color:#15803d}.drawing-canvas-container.light-theme .lock-btn.unlocked{background:#fff;border-color:#dee2e6;color:#495057}.drawing-canvas-container.light-theme .lock-btn.unlocked:hover{background:#e9ecef;border-color:#adb5bd}.drawing-canvas-container.light-theme .tool-number{background:rgba(0,0,0,.05);color:#666}.drawing-canvas-container.light-theme .tool-btn.active .tool-number{background:hsla(0,0%,100%,.3);color:#fff}.drawing-editor-container{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;height:550px;overflow:hidden;position:relative}.drawing-editor-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 12px}.drawing-editor-label{color:#495057;font-size:14px;font-weight:500}.embedded-drawing-canvas{height:calc(100% - 90px);width:100%}.solution-drawing-canvas{display:flex!important;flex-direction:column!important;height:100%!important;width:100%!important}.solution-drawing-canvas .canvas-container{flex:1 1!important;min-height:300px!important}.solution-drawing-canvas .drawing-canvas{height:100%!important;width:100%!important}.solution-drawing-canvas .drawing-toolbar{height:50px;min-height:50px}.solution-drawing-canvas .lock-btn,.solution-drawing-canvas .menu-btn,.solution-drawing-canvas .tool-btn{font-size:14px;height:36px;width:36px}.solution-drawing-canvas .drawing-bottom-controls{height:40px;min-height:40px}.solution-drawing-canvas .drawing-bottom-controls button{font-size:12px;padding:6px 12px}.fullscreen-drawing-modal-backdrop{position:fixed!important;z-index:2147483647!important}.fullscreen-drawing-modal{background:#fff;border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}.fullscreen-drawing-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;min-height:60px;padding:16px 24px}.fullscreen-drawing-title{align-items:center;color:#2c3e50;display:flex;font-size:18px;font-weight:600;gap:12px}.fullscreen-drawing-icon{font-size:20px}.fullscreen-drawing-close{align-items:center;background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.fullscreen-drawing-close:hover{background:#e9ecef;color:#dc3545;transform:scale(1.1)}.fullscreen-drawing-content{flex:1 1;overflow:hidden;padding:0;position:relative}.fullscreen-drawing-canvas{height:100%!important;width:100%!important}@media (max-width:768px){.fullscreen-drawing-modal{border-radius:0;height:100vh;width:100vw}.fullscreen-drawing-header{padding:12px 16px}.fullscreen-drawing-title{font-size:16px}}.header-buttons{align-items:center;display:flex;gap:8px}.voice-play-btn,.voice-transcript-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:16px;height:28px;justify-content:center;min-width:28px;padding:4px 8px;transition:all .2s ease}.clear-transcriptions-btn{background:#6c757d;border-radius:6px;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.clear-transcriptions-btn:hover{background:#5a6268}.clear-transcriptions-btn:disabled{opacity:.6}.voice-play-btn:hover,.voice-transcript-btn:hover{background:#e9ecef;color:#495057;transform:scale(1.1)}.voice-play-btn:disabled,.voice-transcript-btn:disabled{cursor:not-allowed;opacity:.4;transform:none}.voice-play-btn:disabled:hover,.voice-transcript-btn:disabled:hover{background:none;color:#6c757d;transform:none}.voice-play-btn:active,.voice-transcript-btn:active{transform:scale(.95)}.transcription-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.transcription-header .transcription-number{color:#495057;font-weight:600;min-width:20px}.transcription-header .voice-play-btn{font-size:12px;height:24px;min-width:32px;padding:4px 8px}.voice-transcript-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.7);display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2000}.voice-transcript-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 25px 50px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:90%}.voice-transcript-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;min-height:60px;padding:16px 24px}.voice-transcript-title{align-items:center;color:#2c3e50;display:flex;font-size:18px;font-weight:600;gap:12px}.voice-transcript-close{align-items:center;background:none;border:none;border-radius:6px;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;padding:8px;transition:all .2s ease;width:40px}.voice-transcript-close:hover{background:#e9ecef;color:#dc3545;transform:scale(1.1)}.voice-transcript-content{word-wrap:break-word;background:#fff;color:#374151;flex:1 1;line-height:1.6;overflow-y:auto;padding:24px;white-space:pre-wrap}.voice-transcript-footer{align-items:center;background:#f8f9fa;border-top:1px solid #e9ecef;display:flex;justify-content:space-between;min-height:60px;padding:16px 24px}.voice-transcript-timestamp{color:#6c757d;font-size:14px;font-style:italic}.voice-transcript-done{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:500;padding:10px 24px;transition:all .2s ease}.voice-transcript-done:hover{background:#0056b3;box-shadow:0 4px 12px rgba(0,123,255,.3);transform:translateY(-1px)}@media (max-width:768px){.voice-transcript-modal{max-height:90vh;width:95%}.voice-transcript-footer,.voice-transcript-header{padding:12px 16px}.voice-transcript-title{font-size:16px}.voice-transcript-content{padding:16px}}.unified-search-container{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 8px 25px rgba(0,0,0,.1);margin-bottom:20px;padding:24px}.search-form{margin-bottom:16px}.search-input-container{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.05);display:flex;padding:4px;position:relative;transition:all .3s ease}.search-input-container:focus-within{background:#fff;border-color:#667eea;box-shadow:0 4px 12px rgba(102,126,234,.15)}.search-icon{align-items:center;color:#6b7280;display:flex;padding:12px 16px}.search-input{background:transparent;border:none;color:#1f2937;flex:1 1;font-size:16px;font-weight:500;outline:none;padding:12px 8px}.search-input::placeholder{color:#9ca3af;font-weight:400}.search-input:disabled{cursor:not-allowed;opacity:.6}.clear-button{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;margin-right:8px;padding:8px;transition:all .2s ease}.clear-button:hover:not(:disabled){background:#f3f4f6;color:#374151}.clear-button:disabled{cursor:not-allowed;opacity:.4}.difficulty-selector{margin-right:8px;position:relative}.difficulty-select{appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:14px;font-weight:500;outline:none;padding:10px 32px 10px 12px;transition:all .2s ease}.difficulty-select:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.difficulty-select:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1)}.difficulty-select:disabled{cursor:not-allowed;opacity:.6}.search-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;box-shadow:0 4px 12px rgba(102,126,234,.3);color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;justify-content:center;min-width:100px;padding:12px 24px;transition:all .3s ease}.search-button:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 6px 16px rgba(102,126,234,.4);transform:translateY(-2px)}.search-button:active{transform:translateY(0)}.search-button:disabled{box-shadow:0 2px 4px rgba(102,126,234,.2);cursor:not-allowed;opacity:.6;transform:none}.loading-spinner{align-items:center;display:flex;justify-content:center}.quick-actions{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.meta-filter-button{align-items:center;background:#e3f2fd;border:1px solid #0866ff;border-radius:8px;box-shadow:0 1px 3px rgba(8,102,255,.1);color:#0866ff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:8px 16px;transition:all .15s ease}.meta-filter-button:hover:not(:disabled){background:#0866ff;border-color:#0866ff;box-shadow:0 2px 8px rgba(8,102,255,.25);color:#fff}.meta-filter-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.meta-icon{font-size:16px}.search-tips{align-items:center;color:#6b7280;display:flex;font-size:14px;font-style:italic;gap:8px}.tips-icon{font-size:16px}.tips-text{line-height:1.4}@media (max-width:768px){.unified-search-container{border-radius:12px;padding:20px}.search-input-container{flex-wrap:wrap;gap:8px}.search-input{flex:1 1 100%;margin-bottom:8px;min-width:0}.difficulty-selector{flex:1 1;margin-right:0}.difficulty-select{width:100%}.search-button{flex:1 1;min-width:120px}.quick-actions{align-items:stretch;flex-direction:column;gap:12px}.meta-filter-button,.search-tips{justify-content:center}.search-tips{text-align:center}.tips-text{font-size:13px}}@media (max-width:480px){.unified-search-container{padding:16px}.search-input{font-size:14px}.search-input::placeholder{font-size:14px}.difficulty-select{font-size:13px;padding:8px 28px 8px 10px}.search-button{font-size:13px;padding:10px 20px}.meta-filter-button{font-size:13px;padding:8px 16px}.search-tips{display:none}}.clear-button:focus,.meta-filter-button:focus,.search-button:focus{outline:2px solid #667eea;outline-offset:2px}.meta-filter-button,.search-button,.search-input-container{transition:all .3s cubic-bezier(.4,0,.2,1)}.search-button.loading{pointer-events:none}.search-button.loading .loading-spinner{animation:spin 1s linear infinite}.search-input-container:hover:not(:focus-within){border-color:#d1d5db;box-shadow:0 4px 8px rgba(0,0,0,.08)}.search-input-container.success{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border-color:#10b981}.search-input-container.success .search-icon{color:#10b981}.usage-indicator{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin:8px 0;padding:12px 16px;transition:all .3s ease}.usage-indicator:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}.usage-indicator__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.usage-indicator__label{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.usage-indicator__status{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:11px;font-weight:500;padding:2px 8px}.usage-indicator__credits{align-items:baseline;display:flex;margin-bottom:8px}.usage-indicator__credits-current{font-size:24px;font-weight:700;line-height:1}.usage-indicator__credits-separator{color:#9ca3af;font-size:16px;margin:0 4px}.usage-indicator__credits-total{color:#6b7280;font-size:16px;font-weight:500}.usage-indicator__progress-container{background:#f3f4f6;border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden;width:100%}.usage-indicator__progress-bar{border-radius:3px;height:100%;transition:width .4s ease,background-color .3s ease}.usage-indicator__percentage{color:#9ca3af;font-size:11px;font-weight:500;text-align:right}.usage-indicator--healthy .usage-indicator__credits-current{color:#10b981}.usage-indicator--healthy .usage-indicator__progress-bar{background:linear-gradient(90deg,#10b981,#34d399)}.usage-indicator--healthy .usage-indicator__percentage{color:#10b981}.usage-indicator--warning .usage-indicator__credits-current{color:#f59e0b}.usage-indicator--warning .usage-indicator__progress-bar{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.usage-indicator--warning .usage-indicator__percentage{color:#f59e0b}.usage-indicator--warning{background:linear-gradient(135deg,#fffbeb,#fefce8);border-color:#fef3c7}.usage-indicator--critical .usage-indicator__credits-current{color:#ef4444}.usage-indicator--critical .usage-indicator__progress-bar{background:linear-gradient(90deg,#ef4444,#f87171)}.usage-indicator--critical .usage-indicator__percentage{color:#ef4444}.usage-indicator--critical{background:linear-gradient(135deg,#fef2f2,#fef2f2);border-color:#fee2e2}.usage-indicator__loading{color:#9ca3af;font-size:13px;padding:8px 0;text-align:center}.usage-indicator__error{background:#fef2f2;border-radius:4px;color:#ef4444;font-size:13px;padding:8px 0;text-align:center}@media (max-width:768px){.usage-indicator{padding:10px 12px}.usage-indicator__credits-current{font-size:20px}.usage-indicator__credits-separator,.usage-indicator__credits-total{font-size:14px}}.usage-indicator:focus-within{outline:2px solid #667eea;outline-offset:2px}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.8}}.usage-indicator--critical .usage-indicator__progress-bar{animation:progressPulse 2s ease-in-out infinite}.microphone-icon,.recording-icon,.recording-pulse,.voice-play-btn,.voice-recording-indicator,.voice-solution-btn{display:none!important}.login-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(13,17,23,.45);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2200}.login-modal-card{animation:login-modal-fade .18s ease-out;background:#fff;border:1px solid #d0d7de;border-radius:12px;box-shadow:0 16px 48px rgba(31,35,40,.2);max-width:420px;overflow:hidden;position:relative;width:100%}@keyframes login-modal-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.login-modal-close{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:#57606a;cursor:pointer;display:flex;font-size:28px;font-weight:300;height:32px;justify-content:center;line-height:1;position:absolute;right:12px;top:12px;transition:background .15s ease,color .15s ease;width:32px}.login-modal-close:hover{background:#f3f4f6;color:#24292f}.login-modal-header{padding:32px 32px 16px;text-align:center}.login-modal-header h2{color:#24292f;font-size:20px;font-weight:600;margin:0}.login-modal-header p{color:#57606a;font-size:14px;margin:12px 0 0}.login-modal-body{display:flex;flex-direction:column;gap:12px;padding:0 32px 32px}.login-quick-auth{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px 16px;position:relative;transition:all .2s ease;width:100%}.login-quick-auth:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;box-shadow:0 1px 3px rgba(0,0,0,.1)}.login-quick-auth:disabled{cursor:not-allowed;opacity:.6}.login-quick-auth-icon{align-items:center;display:flex;flex-shrink:0;justify-content:center}.login-quick-auth-details{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:2px;text-align:left}.login-quick-auth-name{color:#111827;font-size:14px;font-weight:500}.login-quick-auth-email{color:#6b7280;font-size:12px}.login-quick-auth-remove{align-items:center;background:transparent;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;font-weight:300;height:24px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:24px}.login-quick-auth-remove:hover{background:#e5e7eb;color:#6b7280}.login-divider{align-items:center;display:flex;gap:12px;margin:4px 0}.login-divider:after,.login-divider:before{background:#e5e7eb;content:"";flex:1 1;height:1px}.login-divider span{color:#6b7280;font-size:13px;font-weight:500}.login-provider{align-items:center;background:#f6f8fa;border:1px solid #d0d7de;border-radius:8px;color:#24292f;cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:12px;justify-content:space-between;padding:12px 16px;transition:background .15s ease,transform .15s ease,box-shadow .15s ease;width:100%}.login-provider:disabled{cursor:not-allowed;opacity:.65}.login-provider:hover:not(:disabled){background:#eaeef2;box-shadow:0 4px 10px rgba(31,35,40,.12);transform:translateY(-1px)}.login-provider--dark{background:#1f2328;border-color:#1f2328;color:#f6f8fa}.login-provider--dark:hover:not(:disabled){background:#2b3138}.login-provider-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.login-provider-details{align-items:flex-start;display:flex;flex:1 1;flex-direction:column}.login-provider-label{font-size:15px;font-weight:600}.login-provider-helper{color:inherit;font-size:12px;margin-top:2px;opacity:.8}.login-provider-arrow{font-size:16px;opacity:.5}.login-modal-error{color:#cf222e;font-size:13px;margin-top:4px;text-align:center}.login-modal-loading{align-items:center;background:#ddf4ff;border:1px solid #54aeff;border-radius:8px;color:#0969da;display:flex;font-size:14px;font-weight:500;gap:12px;justify-content:center;margin-top:12px;padding:16px}.login-modal-loading-spinner{animation:spin .8s linear infinite;border:2px solid #0969da;border-radius:50%;border-top-color:transparent;height:16px;width:16px}.login-modal-footnote{color:#57606a;font-size:12px;line-height:1.6;margin-top:16px;text-align:center}@media (max-width:520px){.login-modal-card{margin:0;max-width:360px}.login-modal-body,.login-modal-header{padding-left:24px;padding-right:24px}}.review-page{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;margin:0;min-height:100vh;padding:0}.review-page-error,.review-page-loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;text-align:center}.review-page-loading .loading-spinner{animation:spin 1s linear infinite;border:4px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:40px;margin-bottom:20px;width:40px}.review-header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.2);display:flex;justify-content:space-between;padding:20px 30px}.session-info{display:flex;gap:30px}.problem-timer,.session-timer{color:gold;font-size:18px;font-weight:600}.progress-info{align-items:center;display:flex;gap:30px}.current-problem{font-size:18px;font-weight:600}.needs-review{color:#ff6b6b;font-weight:600}.progress-bar{background:hsla(0,0%,100%,.2);height:4px;overflow:hidden;position:relative}.progress-fill{background:linear-gradient(90deg,#4ecdc4,#44a08d);height:100%;transition:width .3s ease}.review-problem-card{background:#fff;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.1);margin:30px;min-height:500px;overflow:hidden}.notes-view,.problem-view{color:#2c3e50;padding:40px}.problem-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin-bottom:30px}.problem-title{color:#2c3e50;flex:1 1;font-size:28px;font-weight:700;margin:0;min-width:300px}.problem-meta{align-items:center;display:flex;flex-wrap:wrap;gap:15px}.difficulty-badge{border-radius:20px;font-size:14px;font-weight:600;padding:8px 16px;text-transform:uppercase}.difficulty-easy{background:#d4edda;color:#155724}.difficulty-medium{background:#fff3cd;color:#856404}.difficulty-hard{background:#f8d7da;color:#721c24}.leetcode-number{background:#f0f0f0;border-radius:20px;color:#666;font-size:14px;font-weight:600;padding:8px 16px}.problem-content{line-height:1.6;margin-bottom:40px}.problem-description{font-size:16px;margin-bottom:30px}.problem-examples{margin-bottom:30px}.problem-examples h4{color:#2c3e50;font-size:18px;margin-bottom:15px}.example{background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;margin-bottom:15px;padding:20px}.example-input,.example-output{margin-bottom:10px}.example-input code,.example-output code{background:#e9ecef;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;padding:4px 8px}.example-explanation{color:#666;font-size:14px;margin-top:10px}.problem-constraints{margin-bottom:30px}.problem-constraints h4{color:#2c3e50;font-size:18px;margin-bottom:15px}.problem-constraints ul{list-style:none;padding:0}.problem-constraints li{background:#f8f9fa;border-left:3px solid #667eea;border-radius:6px;margin-bottom:8px;padding:10px 15px}.problem-actions{display:flex;gap:20px;justify-content:center;margin-top:40px}.problem-actions .btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:10px;padding:15px 30px;transition:all .3s ease}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}.user-solution-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border-radius:12px;margin-bottom:20px;padding:20px}.user-solution-section h3{color:gold;font-size:18px;margin:0 0 15px}.solution-type-badge{background:rgba(255,215,0,.2);border-radius:20px;color:gold;display:inline-block;font-size:12px;font-weight:600;margin-bottom:15px;padding:4px 12px}.solution-content{background:rgba(0,0,0,.3);border-radius:8px;max-height:300px;overflow-y:auto;padding:15px}.solution-code{color:#e6e6e6;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.4;margin:0;white-space:pre-wrap}.no-solution-message{background:hsla(0,0%,100%,.05);border:2px dashed hsla(0,0%,100%,.2);border-radius:8px;color:hsla(0,0%,100%,.8);padding:20px;text-align:center}.no-solution-message p{margin:0 0 10px}.no-solution-message .hint{color:hsla(0,0%,100%,.6);font-size:14px;font-style:italic}.user-notes-section{margin-bottom:40px}.user-notes-section h3{color:#2c3e50;font-size:20px;margin-bottom:15px}.user-notes-input{border:2px solid #e9ecef;border-radius:10px;font-family:inherit;font-size:16px;min-height:100px;padding:15px;resize:vertical;width:100%}.user-notes-input:focus{border-color:#667eea;outline:none}.pattern-section{margin-bottom:40px}.pattern-section h3{color:#2c3e50;font-size:20px;margin-bottom:15px}.pattern-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.pattern-tag{background:#667eea;border-radius:15px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px}.pattern-details h4{color:#2c3e50;font-size:18px;margin-bottom:10px}.pattern-details p{color:#666;line-height:1.6}.review-actions{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:40px}.review-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-size:16px;font-weight:600;gap:5px;min-width:150px;padding:15px 25px;transition:all .3s ease}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838;transform:translateY(-2px)}.btn-warning{background:#ffc107;color:#212529}.btn-warning:hover{background:#e0a800;transform:translateY(-2px)}.btn-primary:hover{background:#0056b3;transform:translateY(-2px)}.btn-primary:disabled{background:#6c757d;cursor:not-allowed;transform:none}.shortcut{font-size:12px;font-weight:400;opacity:.7}.review-navigation{background:rgba(0,0,0,.1);display:flex;justify-content:space-between;padding:20px 30px}.nav-btn{background:hsla(0,0%,100%,.2);border:none;border-radius:25px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .3s ease}.nav-btn:hover:not(:disabled){background:hsla(0,0%,100%,.3);transform:translateY(-2px)}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.review-results-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.results-container{background:#fff;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.1);margin:0 auto;max-width:800px;padding:40px}.results-header{margin-bottom:40px;text-align:center}.results-header h1{color:#2c3e50;font-size:32px;margin-bottom:10px}.round-info{color:#666;font-size:18px;font-weight:600}.results-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:40px}.stat-card{background:#f8f9fa;border-left:4px solid;border-radius:15px;padding:30px 20px;text-align:center}.stat-card.total{border-left-color:#667eea}.stat-card.remembered{border-left-color:#28a745}.stat-card.need-review{border-left-color:#ffc107}.stat-card.accuracy{border-left-color:#17a2b8}.stat-number{color:#2c3e50;font-size:36px;font-weight:700;margin-bottom:5px}.stat-label{color:#666;font-size:14px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.results-chart{margin-bottom:40px}.chart-container{background:#f8f9fa;border-radius:15px;padding:30px}.chart-bar{background:#e9ecef;border-radius:10px;display:flex;height:20px;margin-bottom:15px;overflow:hidden}.chart-fill{height:100%;transition:width .3s ease}.remembered-fill{background:#28a745}.need-review-fill{background:#ffc107}.chart-labels{display:flex;gap:20px;justify-content:space-around}.label{align-items:center;display:flex;font-size:14px;font-weight:600;gap:8px}.label:before{border-radius:50%;content:"";height:12px;width:12px}.remembered-label:before{background:#28a745}.need-review-label:before{background:#ffc107}.results-message{margin-bottom:40px}.good-message,.improvement-message,.success-message{align-items:center;background:#f8f9fa;border-left:4px solid;border-radius:15px;display:flex;gap:20px;padding:25px}.success-message{border-left-color:#28a745}.good-message{border-left-color:#ffc107}.improvement-message{border-left-color:#17a2b8}.message-icon{flex-shrink:0;font-size:48px}.message-text h3{color:#2c3e50;font-size:24px;margin-bottom:10px}.message-text p{color:#666;font-size:16px;line-height:1.6;margin:0}.results-actions{gap:15px;margin-bottom:40px}.action-btn,.results-actions{display:flex;flex-direction:column}.action-btn{align-items:center;border:none;border-radius:15px;cursor:pointer;font-size:16px;font-weight:600;gap:5px;padding:20px 30px;text-align:center;transition:all .3s ease}.btn-primary{background:#007bff;color:#fff}.btn-secondary{background:#6c757d;color:#fff}.btn-outline{background:transparent;border:2px solid #667eea;color:#667eea}.action-btn:hover{box-shadow:0 5px 15px rgba(0,0,0,.1);transform:translateY(-2px)}.btn-subtitle{font-size:14px;font-weight:400;opacity:.8}.review-tips{background:#f8f9fa;border-left:4px solid #667eea;border-radius:15px;padding:25px}.review-tips h3{color:#2c3e50;font-size:20px;margin-bottom:15px}.review-tips ul{list-style:none;padding:0}.review-tips li{border-bottom:1px solid #e9ecef;color:#666;line-height:1.6;padding:8px 0}.review-tips li:last-child{border-bottom:none}@media (max-width:768px){.review-header{flex-direction:column;gap:20px;text-align:center}.progress-info,.session-info{justify-content:center}.review-problem-card{margin:20px 15px}.notes-view,.problem-view{padding:20px}.problem-title{font-size:24px}.review-actions{align-items:center;flex-direction:column}.review-btn{max-width:300px;width:100%}.results-stats{grid-template-columns:repeat(2,1fr)}.stat-number{font-size:28px}.chart-labels{align-items:center;flex-direction:column}.good-message,.improvement-message,.success-message{flex-direction:column;text-align:center}.message-icon{font-size:36px}}.voice-text-input{margin-bottom:20px}.input-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:10px}.input-controls,.input-header{align-items:center;display:flex;gap:10px}.clear-transcriptions-btn{align-items:center;background:#dc3545;border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:6px;padding:8px 16px;transition:all .3s ease}.clear-transcriptions-btn:hover{background:#c82333;transform:translateY(-1px)}.clear-transcriptions-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.transcription-count{color:#666;font-size:12px;font-weight:600}.text-input{border:2px solid #e9ecef;border-radius:10px;font-family:inherit;font-size:16px;line-height:1.6;min-height:120px;padding:15px;resize:vertical;width:100%}.text-input:focus{border-color:#667eea;box-shadow:0 0 0 3px rgba(102,126,234,.1);outline:none}.voice-input-section{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:10px;margin-top:15px;padding:20px}.voice-recorder{align-items:center;display:flex;flex-direction:column;gap:15px}.voice-record-btn{align-items:center;background:#28a745;border:none;border-radius:20px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:140px;padding:10px 20px;transition:all .3s ease}.voice-record-btn:hover:not(:disabled){background:#218838;box-shadow:0 5px 15px rgba(40,167,69,.3);transform:translateY(-2px)}.voice-record-btn.recording{animation:pulse-red 2s infinite;background:#dc3545}.voice-record-btn.processing{background:#ffc107;color:#212529;cursor:not-allowed}.voice-record-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.recording-indicator{animation:blink 1s infinite;background:#fff;border-radius:50%;height:12px;width:12px}.spinner{animation:spin 1s linear infinite;border:2px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:#212529;height:16px;width:16px}.recording-status{align-items:center;color:#dc3545;display:flex;font-weight:600;gap:15px}.recording-animation{height:30px;position:relative;width:30px}.pulse{animation:pulse-ring 1.5s infinite;border:2px solid #dc3545;height:100%;width:100%}.pulse,.pulse:before{border-radius:50%;position:absolute}.pulse:before{background:#dc3545;content:"";height:12px;left:50%;top:50%;transform:translate(-50%,-50%);width:12px}.voice-error{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;font-size:14px;margin-top:10px;padding:10px 15px}.transcriptions-preview{background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px;margin-top:15px;padding:15px}.transcriptions-header{color:#1976d2;font-size:14px;margin-bottom:10px}.transcriptions-list{max-height:150px;overflow-y:auto}.transcription-item{display:flex;font-size:14px;gap:10px;line-height:1.4;margin-bottom:8px}.transcription-number{color:#1976d2;font-weight:600;min-width:20px}.transcription-text{color:#333;flex:1 1}.review-verification-overlay{align-items:center;background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.review-verification-modal{background:#fff;border-radius:20px;box-shadow:0 20px 40px rgba(0,0,0,.3);max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.verification-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #f8f9fa;border-radius:20px 20px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px 30px}.verification-header h3{font-size:24px;margin:0}.close-btn{background:hsla(0,0%,100%,.2);border:none;border-radius:50%;color:#fff;cursor:pointer;font-size:18px;font-weight:700;height:35px;transition:all .3s ease;width:35px}.close-btn:hover{background:hsla(0,0%,100%,.3);transform:scale(1.1)}.verification-content{padding:30px}.overall-score{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:15px;margin-bottom:30px;padding:30px;text-align:center}.overall-score.excellent{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724}.overall-score.good{background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404}.overall-score.fair{background:linear-gradient(135deg,#ffecd1,#fcb69f);color:#856404}.overall-score.poor{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24}.score-display{align-items:center;display:flex;gap:15px;justify-content:center;margin-bottom:10px}.score-emoji,.score-number{font-size:48px}.score-number{font-weight:700}.score-label{font-size:16px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.verification-section{background:#f8f9fa;border-radius:12px;margin-bottom:25px;padding:20px;position:relative}.verification-section h4{align-items:center;color:#2c3e50;display:flex;font-size:18px;justify-content:space-between;margin:0 0 15px}.section-score{background:#fff;border:2px solid;border-radius:20px;font-size:14px;font-weight:700;min-width:60px;padding:8px 16px;text-align:center}.section-score.excellent{background:#d4edda;border-color:#c3e6cb;color:#155724}.section-score.good{background:#fff3cd;border-color:#ffeaa7;color:#856404}.section-score.fair{background:#ffecd1;border-color:#fcb69f;color:#856404}.section-score.poor{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.additional-insights,.covered-points,.missing-points{margin-bottom:15px}.additional-insights strong,.covered-points strong,.missing-points strong{color:#2c3e50;display:block;margin-bottom:8px}.additional-insights ul,.covered-points ul,.missing-points ul,.recommendations-list{list-style:none;margin:0;padding:0}.additional-insight,.covered-point,.missing-point,.recommendation-item{border-radius:6px;font-size:14px;line-height:1.4;margin-bottom:6px;padding:8px 12px}.covered-point{background:#d4edda;border-left:3px solid #28a745;color:#155724}.missing-point{background:#f8d7da;border-left:3px solid #dc3545;color:#721c24}.additional-insight{background:#e3f2fd;border-left:3px solid #2196f3;color:#1565c0}.recommendation-item{background:#fff3e0;border-left:3px solid #ff9800;color:#f57c00}.feedback-text{background:#fff;border-left:4px solid #667eea;border-radius:8px;color:#2c3e50;line-height:1.6;padding:15px}.verification-actions{background:#f8f9fa;border-radius:0 0 20px 20px;padding:20px 30px;text-align:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}@keyframes pulse-red{0%{background:#dc3545}50%{background:#c82333}to{background:#dc3545}}@keyframes pulse-ring{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(1.4)}}.verify-understanding-btn{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:16px;font-weight:600;gap:5px;min-width:200px;padding:15px 25px;transition:all .3s ease}.verify-understanding-btn:hover:not(:disabled){box-shadow:0 8px 25px rgba(102,126,234,.3);transform:translateY(-2px)}.verify-understanding-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none}.explanation-section{background:#f8f9fa;border-left:4px solid #667eea;border-radius:12px;margin-bottom:30px;padding:25px}.notes-view .explanation-section h3,.problem-view .explanation-section h3{color:#2c3e50;font-size:20px;margin-bottom:10px}.explanation-section p{color:#666;line-height:1.6;margin-bottom:15px}.explanation-input{margin-bottom:10px}.verification-error{background:#f8d7da;border:1px solid #f5c6cb;border-left:4px solid #dc3545;border-radius:8px;color:#721c24;font-size:14px;margin-top:10px;padding:12px 16px}
/*# sourceMappingURL=main.2339ece5.css.map*/